1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146
|
#!/usr/bin/make -f
###
### Configuration, decide what to build
###
# Some variables:
DEB_HOST_ARCH ?= $(shell dpkg-architecture -qDEB_HOST_ARCH)
DEB_HOST_ARCH_OS ?= $(shell dpkg-architecture -qDEB_HOST_ARCH_OS)
DEB_HOST_ARCH_CPU ?= $(shell dpkg-architecture -qDEB_HOST_ARCH_CPU)
confflags = \
--auto-features=disabled \
-Ddefault_library=both \
-Dman-pages=enabled \
-Dradeon=enabled \
-Damdgpu=enabled \
-Dinstall-test-programs=true \
-Dvalgrind=disabled \
$()
# Linux vs. the rest:
ifeq (linux, $(DEB_HOST_ARCH_OS))
confflags += -Dudev=true
confflags += -Dvmwgfx=enabled
confflags += -Dnouveau=enabled
NOUVEAU = yes
else
confflags += -Dudev=false
confflags += -Dvmwgfx=disabled
confflags += -Dnouveau=disabled
NOUVEAU = no
endif
# Intel is only on x86:
ifneq (,$(filter amd64 i386,$(DEB_HOST_ARCH_CPU)))
ifneq (,$(filter linux kfreebsd hurd,$(DEB_HOST_ARCH_OS)))
INTEL = yes
endif
endif
ifeq ($(INTEL), yes)
confflags += -Dintel=enabled
else
confflags += -Dintel=disabled
endif
# Exynos/Omap/Tegra are only on arm
ifneq (,$(filter arm,$(DEB_HOST_ARCH_CPU)))
ARM = yes
endif
ifeq ($(ARM), yes)
confflags += -Dexynos=enabled
confflags += -Domap=enabled
else
confflags += -Dexynos=disabled
confflags += -Domap=disabled
endif
# Etnaviv is on armhf and arm64
ifneq (,$(filter armhf arm64,$(DEB_HOST_ARCH)))
ETNAVIV = yes
endif
ifeq ($(ETNAVIV), yes)
confflags += -Detnaviv=enabled
else
confflags += -Detnaviv=disabled
endif
# Tegra is on arm and arm64
ifneq (,$(filter arm arm64,$(DEB_HOST_ARCH_CPU)))
TEGRA = yes
endif
ifeq ($(TEGRA), yes)
confflags += -Dtegra=enabled
else
confflags += -Dtegra=disabled
endif
# Freedreno is on arm and arm64
ifneq (,$(filter arm arm64,$(DEB_HOST_ARCH_CPU)))
FREEDRENO = yes
endif
ifeq ($(FREEDRENO), yes)
confflags += -Dfreedreno=enabled -Dfreedreno-kgsl=true
else
confflags += -Dfreedreno=disabled
endif
###
### Actual build
###
override_dh_auto_configure:
dh_auto_configure -- $(confflags)
override_dh_auto_test:
dh_auto_test || echo "Test suite failure, but keeping on anyway"
override_dh_install:
find debian/tmp -name '*.la' -delete
dh_install
ifneq (,$(filter $(DEB_HOST_ARCH_CPU),arm))
for file in debian/tmp/usr/bin/exynos_*; do \
mv $$file debian/libdrm-tests/usr/bin; \
done
endif
ifneq (,$(filter $(DEB_HOST_ARCH_CPU),arm arm64))
for file in debian/tmp/usr/bin/tegra-*; do \
mv $$file debian/libdrm-tests/usr/bin; \
done
endif
ifneq (,$(filter $(DEB_HOST_ARCH),armhf arm64))
for file in debian/tmp/usr/bin/etnaviv*; do \
mv $$file debian/libdrm-tests/usr/bin; \
done
endif
override_dh_makeshlibs:
dh_makeshlibs -plibdrm2 -V'libdrm2 (>= 2.4.89)' --add-udeb=libdrm2-udeb -- -c4
ifeq ($(INTEL), yes)
dh_makeshlibs -plibdrm-intel1 -V'libdrm-intel1 (>= 2.4.75)' -- -c4
endif
ifeq ($(NOUVEAU), yes)
dh_makeshlibs -plibdrm-nouveau2 -V'libdrm-nouveau2 (>= 2.4.66)' -- -c4
endif
dh_makeshlibs -plibdrm-radeon1 -V'libdrm-radeon1 (>= 2.4.39)' -- -c4
dh_makeshlibs -plibdrm-amdgpu1 -V'libdrm-amdgpu1 (>= 2.4.97)' -- -c4
ifeq ($(ARM), yes)
dh_makeshlibs -plibdrm-omap1 -V'libdrm-omap1 (>= 2.4.38)' -- -c4
dh_makeshlibs -plibdrm-exynos1 -V'libdrm-exynos1 (>= 2.4.66)' -- -c4
endif
ifeq ($(ETNAVIV), yes)
dh_makeshlibs -plibdrm-etnaviv1 -V'libdrm-etnaviv1 (>= 2.4.89)' -- -c4
endif
ifeq ($(TEGRA), yes)
dh_makeshlibs -plibdrm-tegra0 -V'libdrm-tegra0' -- -c4
endif
ifeq ($(FREEDRENO), yes)
dh_makeshlibs -plibdrm-freedreno1 -V'libdrm-freedreno1 (>= 2.4.97)' -- -c4
endif
%:
dh $@ --with quilt \
--builddirectory=build/ \
--buildsystem=meson
|