Commit f057dc91 authored by Eric Engestrom's avatar Eric Engestrom 💤 Committed by Eric Engestrom
Browse files

libdrm: remove autotools support


Signed-off-by: Eric Engestrom's avatarEric Engestrom <eric.engestrom@intel.com>
Reviewed-by: Dylan Baker's avatarDylan Baker <dylan@pnwbakers.com>
parent e4f090f3
Pipeline #78435 passed with stage
in 2 minutes and 37 seconds
*.1
*.3
*.5
*.7
*.flags
*.ko
*.ko.cmd
*.la
*.lo
*.log
*.mod.c
*.mod.o
*.o
*.o.cmd
*.sw?
*.trs
*~
.*check*
.*install*
.depend
.deps
.libs
.tmp_versions
/_build*
/build*
Makefile
Makefile.in
TAGS
aclocal.m4
autom4te.cache
bsd-core/*/@
bsd-core/*/machine
build-aux
bus_if.h
compile
config.guess
config.h
config.h.in
config.log
config.status
config.sub
configure
configure.lineno
cscope.*
depcomp
device_if.h
drm.kld
drm_pciids.h
export_syms
i915.kld
install-sh
libdrm.pc
libdrm/config.h.in
libdrm_amdgpu.pc
libdrm_etnaviv.pc
libdrm_exynos.pc
libdrm_freedreno.pc
libdrm_intel.pc
libdrm_nouveau.pc
libdrm_omap.pc
libdrm_radeon.pc
libdrm_vc4.pc
libkms.pc
libtool
ltmain.sh
mach64.kld
man/*.3
man/.man_fixup
mga.kld
missing
mkinstalldirs
opt_drm.h
pci_if.h
r128.kld
radeon.kld
savage.kld
sis.kld
stamp-h1
tdfx.kld
tests/amdgpu/amdgpu_test
tests/auth
tests/dristat
tests/drmdevice
tests/drmsl
tests/drmstat
tests/etnaviv/etnaviv_2d_test
tests/etnaviv/etnaviv_bo_cache_test
tests/etnaviv/etnaviv_cmd_stream_test
tests/exynos/exynos_fimg2d_event
tests/exynos/exynos_fimg2d_perf
tests/exynos/exynos_fimg2d_test
tests/getclient
tests/getstats
tests/getversion
tests/hash
tests/kms/kms-steal-crtc
tests/kms/kms-universal-planes
tests/kmstest/kmstest
tests/lock
tests/modeprint/modeprint
tests/modetest/modetest
tests/name_from_fd
tests/openclose
tests/proptest/proptest
tests/radeon/radeon_ttm
tests/random
tests/setversion
tests/updatedraw
tests/vbltest/vbltest
via.kld
......@@ -3,13 +3,6 @@
paths:
- _build/meson-logs
.artifacts-autotools: &artifacts-autotools
when: always
paths:
- _build/*.log
- _build/*/*.log
- _build/*/*/*.log
.meson-build: &meson-build
- meson _build
-D amdgpu=true
......@@ -32,27 +25,6 @@
- ninja -C _build
- ninja -C _build test
.autotools-build: &autotools-build
- mkdir _build
- cd _build
- ../autogen.sh
--enable-udev
--enable-libkms
--enable-intel
--enable-radeon
--enable-amdgpu
--enable-nouveau
--enable-vmwgfx
--enable-omap-experimental-api
--enable-exynos-experimental-api
--enable-freedreno
--enable-freedreno-kgsl
--enable-tegra-experimental-api
--enable-vc4
--enable-etnaviv-experimental-api
- make
- make check
latest-meson:
stage: build
image: archlinux/base:latest
......@@ -67,22 +39,6 @@ latest-meson:
cairo cunit
script: *meson-build
latest-autotools:
stage: build
image: archlinux/base:latest
artifacts: *artifacts-autotools
before_script:
- pacman -Syu --noconfirm --needed
base-devel
libpciaccess
libxslt docbook-xsl
valgrind
libatomic_ops
cairo cunit
xorg-util-macros
git # autogen.sh depends on git
script: *autotools-build
oldest-meson:
stage: build
image: debian:stable
......@@ -119,41 +75,3 @@ oldest-meson:
- export PKG_CONFIG_PATH=$HOME/prefix/lib/pkgconfig:$HOME/prefix/share/pkgconfig
- export LD_LIBRARY_PATH="$HOME/prefix/lib:$LD_LIBRARY_PATH"
script: *meson-build
oldest-autotools:
stage: build
image: debian:stable
artifacts: *artifacts-autotools
before_script:
- printf > /etc/dpkg/dpkg.cfg.d/99-exclude-cruft "%s\n"
'path-exclude=/usr/share/doc/*'
'path-exclude=/usr/share/man/*'
- printf > /usr/sbin/policy-rc.d "%s\n"
'#!/bin/sh'
'exit 101'
- chmod +x /usr/sbin/policy-rc.d
- apt-get update
- apt-get -y --no-install-recommends install
build-essential
automake
autoconf
libtool
pkg-config
xsltproc
libxslt1-dev docbook-xsl
valgrind
libatomic-ops-dev
libcairo2-dev libcunit1-dev
wget
xutils-dev
git # autogen.sh depends on git
# We need `--no-check-certificate` here because Debian's CA list is
# too old to know about LetsEncrypt's CA, so it refuses to connect
# to FreeDesktop.org
- LIBPCIACCESS_VERSION=libpciaccess-0.10 &&
wget --no-check-certificate https://xorg.freedesktop.org/releases/individual/lib/$LIBPCIACCESS_VERSION.tar.bz2 &&
tar -jxvf $LIBPCIACCESS_VERSION.tar.bz2 &&
(cd $LIBPCIACCESS_VERSION && ./configure --prefix=$HOME/prefix && make install)
- export PKG_CONFIG_PATH=$HOME/prefix/lib/pkgconfig:$HOME/prefix/share/pkgconfig
- export LD_LIBRARY_PATH="$HOME/prefix/lib:$LD_LIBRARY_PATH"
script: *autotools-build
# Copyright 2005 Adam Jackson.
#
# Permission is hereby granted, free of charge, to any person obtaining a
# copy of this software and associated documentation files (the "Software"),
# to deal in the Software without restriction, including without limitation
# on the rights to use, copy, modify, merge, publish, distribute, sub
# license, and/or sell copies of the Software, and to permit persons to whom
# the Software is furnished to do so, subject to the following conditions:
#
# The above copyright notice and this permission notice (including the next
# paragraph) shall be included in all copies or substantial portions of the
# Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL
# ADAM JACKSON BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
# IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
include Makefile.sources
ACLOCAL_AMFLAGS = -I m4 ${ACLOCAL_FLAGS}
AM_MAKEFLAGS = -s
AM_DISTCHECK_CONFIGURE_FLAGS = \
--enable-udev \
--enable-libkms \
--enable-intel \
--enable-radeon \
--enable-amdgpu \
--enable-nouveau \
--enable-vc4 \
--enable-vmwgfx \
--enable-omap-experimental-api \
--enable-exynos-experimental-api \
--enable-freedreno \
--enable-freedreno-kgsl\
--enable-tegra-experimental-api \
--enable-etnaviv-experimental-api \
--enable-install-test-programs \
--enable-cairo-tests \
--enable-manpages \
--enable-valgrind
pkgconfigdir = @pkgconfigdir@
pkgconfig_DATA = libdrm.pc
if HAVE_LIBKMS
LIBKMS_SUBDIR = libkms
endif
if HAVE_INTEL
INTEL_SUBDIR = intel
endif
if HAVE_NOUVEAU
NOUVEAU_SUBDIR = nouveau
endif
if HAVE_RADEON
RADEON_SUBDIR = radeon
endif
if HAVE_AMDGPU
AMDGPU_SUBDIR = amdgpu
endif
if HAVE_OMAP
OMAP_SUBDIR = omap
endif
if HAVE_EXYNOS
EXYNOS_SUBDIR = exynos
endif
if HAVE_FREEDRENO
FREEDRENO_SUBDIR = freedreno
endif
if HAVE_TEGRA
TEGRA_SUBDIR = tegra
endif
if HAVE_VC4
VC4_SUBDIR = vc4
endif
if HAVE_ETNAVIV
ETNAVIV_SUBDIR = etnaviv
endif
if BUILD_MANPAGES
if HAVE_MANPAGES_STYLESHEET
MAN_SUBDIR = man
endif
endif
SUBDIRS = \
. \
$(LIBKMS_SUBDIR) \
$(INTEL_SUBDIR) \
$(NOUVEAU_SUBDIR) \
$(RADEON_SUBDIR) \
$(AMDGPU_SUBDIR) \
$(OMAP_SUBDIR) \
$(EXYNOS_SUBDIR) \
$(FREEDRENO_SUBDIR) \
$(TEGRA_SUBDIR) \
$(VC4_SUBDIR) \
$(ETNAVIV_SUBDIR) \
data \
tests \
$(MAN_SUBDIR)
libdrm_la_LTLIBRARIES = libdrm.la
libdrm_ladir = $(libdir)
libdrm_la_LDFLAGS = -version-number 2:4:0 -no-undefined
libdrm_la_LIBADD = @CLOCK_LIB@ -lm
libdrm_la_CPPFLAGS = -I$(top_srcdir)/include/drm
AM_CFLAGS = \
$(WARN_CFLAGS) \
-fvisibility=hidden \
$(VALGRIND_CFLAGS)
libdrm_la_SOURCES = $(LIBDRM_FILES)
libdrmincludedir = ${includedir}
libdrminclude_HEADERS = $(LIBDRM_H_FILES)
klibdrmincludedir = ${includedir}/libdrm
klibdrminclude_HEADERS = $(LIBDRM_INCLUDE_H_FILES)
if HAVE_VMWGFX
klibdrminclude_HEADERS += $(LIBDRM_INCLUDE_VMWGFX_H_FILES)
endif
EXTRA_DIST = \
include/drm/README \
amdgpu/meson.build \
data/meson.build \
etnaviv/meson.build \
exynos/meson.build \
freedreno/meson.build \
intel/meson.build \
libkms/meson.build \
man/meson.build \
nouveau/meson.build \
omap/meson.build \
radeon/meson.build \
tegra/meson.build \
tests/amdgpu/meson.build \
tests/etnaviv/meson.build \
tests/exynos/meson.build \
tests/kms/meson.build \
tests/kmstest/meson.build \
tests/meson.build \
tests/modeprint/meson.build \
tests/modetest/meson.build \
tests/nouveau/meson.build \
tests/proptest/meson.build \
tests/radeon/meson.build \
tests/tegra/meson.build \
tests/util/meson.build \
tests/vbltest/meson.build \
vc4/meson.build \
meson.build \
meson_options.txt
copy-headers :
cp -r $(kernel_source)/include/uapi/drm/*.h $(top_srcdir)/include/drm/
commit-headers : copy-headers
git add include/drm/*.h
git commit -am "Copy headers from kernel $$(GIT_DIR=$(kernel_source)/.git git describe)"
......@@ -17,11 +17,7 @@ the Mesa drivers, the X drivers, libva and similar projects.
Compiling
---------
libdrm has two build systems, a legacy autotools build system, and a newer
meson build system. The meson build system is much faster, and offers a
slightly different interface, but otherwise provides an equivalent feature set.
To use it:
To set up meson:
meson builddir/
......@@ -35,27 +31,3 @@ Then use ninja to build and install:
If you are installing into a system location you will need to run install
separately, and as root.
Alternatively you can invoke autotools configure:
./configure
By default, libdrm will install into the /usr/local/ prefix. If you
want to install this DRM to replace your system copy, pass
--prefix=/usr and --exec-prefix=/ to configure. If you are building
libdrm from a git checkout, you first need to run the autogen.sh
script. You can pass any options to autogen.sh that you would other
wise pass to configure, or you can just re-run configure with the
options you need once autogen.sh finishes.
Next step is to build libdrm:
make
and once make finishes successfully, install the package using
make install
If you are installing into a system location, you will need to be root
to perform the install step.
# Copyright © 2008 Jérôme Glisse
#
# Permission is hereby granted, free of charge, to any person obtaining a
# copy of this software and associated documentation files (the "Software"),
# to deal in the Software without restriction, including without limitation
# the rights to use, copy, modify, merge, publish, distribute, sublicense,
# and/or sell copies of the Software, and to permit persons to whom the
# Software is furnished to do so, subject to the following conditions:
#
# The above copyright notice and this permission notice (including the next
# paragraph) shall be included in all copies or substantial portions of the
# Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
# IN THE SOFTWARE.
#
# Authors:
# Jérôme Glisse <glisse@freedesktop.org>
include Makefile.sources
AM_CFLAGS = \
$(WARN_CFLAGS) \
-fvisibility=hidden \
-I$(top_srcdir) \
$(PTHREADSTUBS_CFLAGS) \
-I$(top_srcdir)/include/drm
libdrmdatadir = @libdrmdatadir@
AM_CPPFLAGS = -DAMDGPU_ASIC_ID_TABLE=\"${libdrmdatadir}/amdgpu.ids\"
libdrm_amdgpu_la_LTLIBRARIES = libdrm_amdgpu.la
libdrm_amdgpu_ladir = $(libdir)
libdrm_amdgpu_la_LDFLAGS = -version-number 1:0:0 -no-undefined
libdrm_amdgpu_la_LIBADD = ../libdrm.la @PTHREADSTUBS_LIBS@
libdrm_amdgpu_la_SOURCES = $(LIBDRM_AMDGPU_FILES)
amdgpu_asic_id.lo: $(top_srcdir)/data/amdgpu.ids
libdrm_amdgpuincludedir = ${includedir}/libdrm
libdrm_amdgpuinclude_HEADERS = $(LIBDRM_AMDGPU_H_FILES)
pkgconfigdir = @pkgconfigdir@
pkgconfig_DATA = libdrm_amdgpu.pc
AM_TESTS_ENVIRONMENT = NM='$(NM)'
TESTS = amdgpu-symbol-check
EXTRA_DIST = $(TESTS)
#! /bin/sh
srcdir=`dirname "$0"`
test -z "$srcdir" && srcdir=.
ORIGDIR=`pwd`
cd "$srcdir"
git config --local --get format.subjectPrefix >/dev/null ||
git config --local format.subjectPrefix "PATCH libdrm" 2>/dev/null
git config --local --get sendemail.to >/dev/null ||
git config --local sendemail.to "dri-devel@lists.freedesktop.org" 2>/dev/null
autoreconf --force --verbose --install || exit 1
cd "$ORIGDIR" || exit $?
if test -z "$NOCONFIGURE"; then
"$srcdir"/configure "$@"
fi
# Copyright 2005 Adam Jackson.
#
# Permission is hereby granted, free of charge, to any person obtaining a
# copy of this software and associated documentation files (the "Software"),
# to deal in the Software without restriction, including without limitation
# on the rights to use, copy, modify, merge, publish, distribute, sub
# license, and/or sell copies of the Software, and to permit persons to whom
# the Software is furnished to do so, subject to the following conditions:
#
# The above copyright notice and this permission notice (including the next
# paragraph) shall be included in all copies or substantial portions of the
# Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL
# ADAM JACKSON BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
# IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
AC_PREREQ([2.63])
AC_INIT([libdrm],
[2.4.99],
[https://bugs.freedesktop.org/enter_bug.cgi?product=DRI],
[libdrm])
AC_CONFIG_HEADERS([config.h])
AC_CONFIG_SRCDIR([Makefile.am])
AC_CONFIG_MACRO_DIR([m4])
AC_CONFIG_AUX_DIR([build-aux])
PKG_PROG_PKG_CONFIG
# Require xorg-macros minimum of 1.12 for XORG_WITH_XSLTPROC
m4_ifndef([XORG_MACROS_VERSION],
[m4_fatal([must install xorg-macros 1.12 or later before running autoconf/autogen])])
XORG_MACROS_VERSION(1.12)
XORG_WITH_XSLTPROC
XORG_MANPAGE_SECTIONS
AM_INIT_AUTOMAKE([1.10 foreign dist-bzip2])
# Enable quiet compiles on automake 1.11.
m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
# Check for programs
AC_PROG_CC
AC_PROG_CC_C99
AC_PROG_NM
if test "x$ac_cv_prog_cc_c99" = xno; then
AC_MSG_ERROR([Building libdrm requires C99 enabled compiler])
fi
AC_USE_SYSTEM_EXTENSIONS
AC_SYS_LARGEFILE
AC_FUNC_ALLOCA
save_CFLAGS="$CFLAGS"
export CFLAGS="$CFLAGS -Werror"
AC_HEADER_MAJOR
CFLAGS="$save_CFLAGS"
AC_CHECK_HEADERS([sys/sysctl.h sys/select.h])
# Initialize libtool
LT_PREREQ([2.2])
LT_INIT([disable-static])
dnl pthread-stubs is mandatory on some BSD platforms, due to the nature of the
dnl project. Even then there's a notable issue as described in the project README
case "$host_os" in
linux* | cygwin* | darwin* | solaris* | *-gnu* | gnu* | openbsd*)
pthread_stubs_possible="no"
;;
* )
pthread_stubs_possible="yes"
;;
esac
if test "x$pthread_stubs_possible" = xyes; then
PKG_CHECK_MODULES(PTHREADSTUBS, pthread-stubs >= 0.4)
AC_SUBST(PTHREADSTUBS_CFLAGS)
AC_SUBST(PTHREADSTUBS_LIBS)
fi
pkgconfigdir=${libdir}/pkgconfig
AC_SUBST(pkgconfigdir)
libdrmdatadir=${datadir}/libdrm
AC_SUBST(libdrmdatadir)
AC_ARG_ENABLE([udev],
[AS_HELP_STRING([--enable-udev],
[Enable support for using udev instead of mknod (default: disabled)])],
[UDEV=$enableval], [UDEV=no])
AC_ARG_ENABLE(libkms,
AS_HELP_STRING([--disable-libkms],
[Disable KMS mm abstraction library (default: auto, enabled on supported platforms)]),
[LIBKMS=$enableval], [LIBKMS=auto])
AC_ARG_ENABLE(intel,
AS_HELP_STRING([--disable-intel],
[Enable support for intel's KMS API (default: auto, enabled on x86)]),
[INTEL=$enableval], [INTEL=auto])
AC_ARG_ENABLE(radeon,
AS_HELP_STRING([--disable-radeon],
[Enable support for radeon's KMS API (default: auto)]),
[RADEON=$enableval], [RADEON=auto])
AC_ARG_ENABLE(amdgpu,
AS_HELP_STRING([--disable-amdgpu],
[Enable support for amdgpu's KMS API (default: auto)]),
[AMDGPU=$enableval], [AMDGPU=auto])
AC_ARG_ENABLE(nouveau,
AS_HELP_STRING([--disable-nouveau],
[Enable support for nouveau's KMS API (default: auto)]),
[NOUVEAU=$enableval], [NOUVEAU=auto])
AC_ARG_ENABLE(vmwgfx,
AS_HELP_STRING([--disable-vmwgfx],
[Enable support for vmwgfx's KMS API (default: yes)]),
[VMWGFX=$enableval], [VMWGFX=yes])
AC_ARG_ENABLE(omap-experimental-api,
AS_HELP_STRING([--enable-omap-experimental-api],
[Enable support for OMAP's experimental API (default: disabled)]),
[OMAP=$enableval], [OMAP=no])
AC_ARG_ENABLE(exynos-experimental-api,
AS_HELP_STRING([--enable-exynos-experimental-api],
[Enable support for EXYNOS's experimental API (default: disabled)]),
[EXYNOS=$enableval], [EXYNOS=no])
AC_ARG_ENABLE(freedreno,
AS_HELP_STRING([--disable-freedreno],
[Enable support for freedreno's KMS API (default: auto, enabled on arm)]),
[FREEDRENO=$enableval], [FREEDRENO=auto])
AC_ARG_ENABLE(freedreno-kgsl,
AS_HELP_STRING([--enable-freedreno-kgsl],
[Enable support for freedreno's to use downstream android kernel API (default: disabled)]),
[FREEDRENO_KGSL=$enableval], [FREEDRENO_KGSL=no])
AC_ARG_ENABLE(tegra-experimental-api,