All pastes #2646914 Raw Edit

Someone

public unlisted shellscript v1 · immutable
#2646914 ·published 2014-02-26 23:40 UTC
rendered paste body
#!/usr/bin/make -f# debian/rules for the Debian mesa package# Copyright © 2006 Thierry Reding <thierry@gilfi.de># Uncomment this to turn on verbose mode.#export DH_VERBOSE=1CFLAGS = -Wall -gCXXFLAGS = -Wall -gifneq (,$(filter noopt,$(DEB_BUILD_OPTIONS)))	CFLAGS += -O0	CXXFLAGS += -O0else	CFLAGS += -O2	CXXFLAGS += -O2endififneq (,$(filter parallel=%,$(DEB_BUILD_OPTIONS)))	NUMJOBS = $(patsubst parallel=%,%,$(filter parallel=%,$(DEB_BUILD_OPTIONS)))	MAKEFLAGS += -j$(NUMJOBS)endifDEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -qDEB_HOST_MULTIARCH)DEB_HOST_ARCH      ?= $(shell dpkg-architecture -qDEB_HOST_ARCH)DEB_HOST_ARCH_OS   ?= $(shell dpkg-architecture -qDEB_HOST_ARCH_OS)DEB_HOST_GNU_TYPE  ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)DEB_BUILD_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)DEB_HOST_ARCH_CPU  ?= $(shell dpkg-architecture -qDEB_HOST_ARCH_CPU)DEB_BUILD_DIR      ?= $(CURDIR)/buildifeq ($(DEB_BUILD_GNU_TYPE), $(DEB_HOST_GNU_TYPE))	confflags += --build=$(DEB_HOST_GNU_TYPE)else	confflags += --build=$(DEB_BUILD_GNU_TYPE) --host=$(DEB_HOST_GNU_TYPE)endif# keep a list of files we don't install (yet), but since it's a bit# large, use an external file:include debian/not-installed# build the following configurations by defaultCONFIGS = driSTAMP_DIR = debian/stampSTAMP = $(STAMP_DIR)/$(DEB_BUILD_GNU_TYPE)BUILD_STAMPS = $(addprefix $(STAMP)-build-, $(CONFIGS))QUILT_STAMPFN = $(STAMP_DIR)/patchinclude /usr/share/quilt/quilt.makeconfflags-common = \	CFLAGS="$(CFLAGS)" \	CXXFLAGS="$(CXXFLAGS)"DRI_DRIVERS =GALLIUM_DRIVERS =# hurd doesn't do direct renderingifeq ($(DEB_HOST_ARCH_OS), hurd)	confflags_DIRECT_RENDERING = --disable-driglx-direct	confflags_EGL = --disable-egl	confflags_GALLIUM = --with-gallium-drivers=	DRI_DRIVERS += swrastelse	EGL_DISPLAYS = x11  ifeq ($(DEB_HOST_ARCH_OS), linux)# Gallium drivers require libdrm-{nouveau,radeon}, only available on Linux	GALLIUM_DRIVERS += nouveau r600 r300 svga## Although the KMS egl drivers will probably build on kfreebsd & hurd# only linux actually has KMS drivers implemented at this point.	EGL_DISPLAYS += drm# Non-Linux ports also lack *_CLOEXEC and epoll, so wayland isn't ready yet:	#EGL_DISPLAYS += wayland    ifeq (,$(filter $(DEB_HOST_ARCH), s390 s390x))	DRI_DRIVERS += r200 radeon nouveau    endif    ifneq (,$(filter $(DEB_HOST_ARCH_CPU), amd64 i386))	DRI_DRIVERS += i915 i965	# Radeonsi needs LLVM, so only build it on the subset of archs	# where we have LLVM enabled.	#GALLIUM_DRIVERS += radeonsi    #else	#EXTRA_SED="-e/libllvmradeon/ s/^/\#/"    endif  endif# Build the llvmpipe driver only on amd64, i386 and armhf until it's tested# elsewhere  ifeq (,$(filter $(DEB_HOST_ARCH_CPU), amd64 i386))	DRI_DRIVERS += swrast  else	GALLIUM_DRIVERS += swrast  endif  # LLVM is required for r300g and recommended for swrastg on x86:  #ifneq (,$(filter $(DEB_HOST_ARCH),amd64 i386 kfreebsd-amd64 kfreebsd-i386 armhf powerpc))	#confflags_GALLIUM += --enable-gallium-llvm	#confflags_GALLIUM += --with-llvm-shared-libs  #endif	confflags_DIRECT_RENDERING = --enable-driglx-direct	confflags_EGL = --with-egl-platforms="$(EGL_DISPLAYS)"	confflags_GALLIUM += --with-gallium-drivers="$(GALLIUM_DRIVERS)"	confflags_GLES = --enable-gles1 --enable-gles2	confflags_OPENVG = --enable-openvg --enable-gallium-eglendifconfflags-dri = \	--enable-dri \	--with-dri-drivers="$(DRI_DRIVERS)" \	--with-dri-driverdir=/usr/lib/$(DEB_HOST_MULTIARCH)/dri \	--with-dri-searchpath='/usr/lib/$(DEB_HOST_MULTIARCH)/dri:\$$$${ORIGIN}/dri:/usr/lib/dri' \	--enable-osmesa \	--enable-glx-tls \	--enable-shared-dricore \	--enable-shared-glapi \	--enable-texture-float \	--enable-xa \	$(confflags_DIRECT_RENDERING) \	$(confflags_EGL) \	$(confflags_GALLIUM) \	$(confflags_GLES) \	$(confflags_OPENVG) \	$(confflags-common)configure: $(QUILT_STAMPFN) configure.ac	autoreconf -vfi# list the configurations that will builtconfigs:	@echo Building the following configurations: $(CONFIGS)$(STAMP_DIR)/stamp:	dh_testdir	mkdir -p $(STAMP_DIR)	>$@$(QUILT_STAMPFN): $(STAMP_DIR)/stampbuild: build-stampbuild-stamp: $(BUILD_STAMPS)	>$@$(STAMP)-build-%: configure	dh_testdir	mkdir -p $(DEB_BUILD_DIR)/$*	find $(CURDIR)/* -maxdepth 0 -not -path '$(DEB_BUILD_DIR)*' | \		xargs cp -rlf -t $(DEB_BUILD_DIR)/$*	cd $(DEB_BUILD_DIR)/$* && \	../../configure --prefix=/usr --mandir=\$${prefix}/share/man \	             --infodir=\$${prefix}/share/info --sysconfdir=/etc \	             --libdir=\$${prefix}/lib/$(DEB_HOST_MULTIARCH) \	             --localstatedir=/var $(confflags) $(confflags-$*) \	             ac_cv_path_LLVM_CONFIG=llvm-config-2.9	cd $(DEB_BUILD_DIR)/$* && $(MAKE)	# Remove extra po files.  These confuse pkgstriptranslations	# and aren't shipped anyway.	rm $(DEB_BUILD_DIR)/$*/src/mesa/drivers/dri/common/xmlpool/*.po ; \	>$@install: build	# Add here commands to install the package into debian/tmp	dh_testdir	dh_testroot	dh_prep	dh_installdirs	set -e; for config in $(filter-out dri, $(CONFIGS)); do \		$(MAKE) -C $(DEB_BUILD_DIR)/$$config DESTDIR=$(CURDIR)/debian/tmp install; \	done	$(MAKE) -C $(DEB_BUILD_DIR)/dri DESTDIR=$(CURDIR)/debian/tmp/dri install	for file in debian/*.in; \	do \		sed -e"s,\$${DEB_HOST_MULTIARCH},$(DEB_HOST_MULTIARCH),g" \		    $(EXTRA_SED) \			$${file} > $${file%%.in}; \	doneclean: unpatch	dh_testdir	rm -rf .pc	rm -f config.cache config.log config.status	rm -f */config.cache */config.log */config.status	rm -f conftest* */conftest*	rm -rf autom4te.cache */autom4te.cache	rm -rf build	rm -rf configure bin/config.guess bin/config.sub config.h.in	rm -rf $$(find -name Makefile.in)	rm -rf aclocal.m4 bin/missing bin/depcomp install-sh bin/ltmain.sh	rm -f bin/ar-lib bin/compile bin/ylwrap bin/install-sh	rm -rf $(STAMP_DIR)	for file in debian/*.in; do rm -f $${file%%.in}; done	rm -f src/glsl/builtins/tools/texture_builtins.pyc	rm -f src/mapi/glapi/gen/*.pyc	rm -f src/mesa/main/*.pyc	rm -f src/gallium/auxiliary/util/*.pyc	dh_clean# Build architecture-independent files here.binary-indep: installallpkg = $(shell dh_listpackages -s)dbgpkg = $(filter %-dbg, $(allpkg))otherpkg = $(filter-out %-dbg, $(allpkg))havedbgpkg = $(patsubst %-dbg,%,$(dbgpkg))nodbgpkg = $(filter-out $(havedbgpkg),$(otherpkg))# Build architecture-dependent files here.binary-arch: install	dh_testdir	dh_testroot	dh_installchangelogs -s	dh_installchangelogs -pmesa-common-dev	dh_installdocs -s	dh_installexamples -s	# Also get rid of other files which aren't installed. Do not	# use -f to ensure we notice disappearing files:	set -e; for file in $(NOT_INSTALLED); do rm debian/tmp/$$file; done	# No need for these .so, they're just convenience libraries:	rm debian/tmp/dri/usr/lib/${DEB_HOST_MULTIARCH}/libglapi.so	rm debian/tmp/dri/usr/lib/${DEB_HOST_MULTIARCH}/libdricore*.so	rm debian/tmp/dri/usr/lib/${DEB_HOST_MULTIARCH}/libgallium*.so	# purge .la files	find debian/tmp/ -name '*.la' -exec rm '{}' ';'	dh_install -s --fail-missing	# Create an ld.so.conf which says where to find libGL from Mesa	echo "/usr/lib/$(DEB_HOST_MULTIARCH)/mesa" \	> $(CURDIR)/debian/libgl1-mesa-glx/usr/lib/$(DEB_HOST_MULTIARCH)/mesa/ld.so.conf	# Empty directory for the alternative	mkdir -p $(CURDIR)/debian/libgl1-mesa-glx/usr/lib/$(DEB_HOST_MULTIARCH)/xorg/x11-extra-modules	# Create an ld.so.conf which says where to find libEGL, libGLES{1,2} 	# and libOpenVG from Mesa.	echo "/usr/lib/$(DEB_HOST_MULTIARCH)/mesa-egl" \	> $(CURDIR)/debian/libegl1-mesa/usr/lib/$(DEB_HOST_MULTIARCH)/mesa-egl/ld.so.conf	dh_installman -s	dh_lintian -s	dh_link -s	# Install bug control and script:	set -e; for p in $(allpkg); do \		install -d debian/$$p/usr/share/bug/$$p && \		install -m 644 debian/local/control debian/$$p/usr/share/bug/$$p && \		install -m 755 debian/local/script  debian/$$p/usr/share/bug/$$p; \	done	set -e; for p in $(havedbgpkg); do \		dh_strip -p$${p} --dbg-package=$${p}-dbg; \	done	# dh_strip -s --remaining-packages doesn't work with resumed	# builds (see changelog for mesa 7.10-1):	dh_strip $(foreach p,$(nodbgpkg),-p$(p))	dh_compress -s	dh_fixperms -sifeq (,$(filter sparc sparc64,$(DEB_HOST_ARCH)))	# Resolve EGL/GLES/OpenVG symbols in the private library path.	# Because there's no packaging problem so onerous that accomodating	# proprietary alternatives can't make more difficult…	set -e ; for PACKAGE in \		libegl1-mesa libgles1-mesa libgles2-mesa libopenvg1-mesa ; do \			dh_makeshlibs -p$$PACKAGE -- -c4 \			-edebian/$$PACKAGE/usr/lib/$(DEB_HOST_MULTIARCH)/mesa-egl/\* \		; done	dh_makeshlibs -s --remaining-packages -- -c4else	# Temporarily work around FTBFS on sparc, ignore new symbols:	dh_makeshlibs -s -- -c1endif	dh_installdeb -s	dh_shlibdeps -s -l/usr/lib/$(DEB_HOST_MULTIARCH)/mesa:\/usr/lib/$(DEB_HOST_MULTIARCH)/mesa-egl	dh_gencontrol -s	dh_md5sums -s	dh_builddeb -s -- -Zxzbinary: binary-indep binary-arch.PHONY: configs build clean binary-indep binary-arch binary install# For maintainer use only, generate a tarball:gentarball: SOURCE=mesagentarball: UV=$(shell dpkg-parsechangelog|awk '/^Version:/ {print $$2}'|sed 's/-.*$$//')gentarball:	git archive --format=tar upstream-experimental --prefix=$(SOURCE)-$(UV)/ | gzip -9 > ../$(SOURCE)_$(UV).orig.tar.gz