# -*- makefile -*- # rules.conf # - used to build debian/control and debian/rules.parameters # - assumes unpacked sources include debian/rules.defs include debian/rules.sonames # manual ... ifeq ($(DEB_TARGET_GNU_CPU), $(findstring $(DEB_TARGET_GNU_CPU),hppa m68k)) ifeq ($(DEB_TARGET_ARCH),m68k) GCC_SONAME := 2 endif ifeq ($(DEB_TARGET_ARCH),hppa) GCC_SONAME := 4 endif else GCC_SONAME := 1 endif DEB_LIBGCC_SOVERSION := $(DEB_SOEVERSION) DEB_LIBGCC_VERSION := $(DEB_EVERSION) _soname_map = gcc=$(GCC_SONAME) stdc++=$(CXX_SONAME) gomp=$(GOMP_SONAME) \ ssp=$(SSP_SONAME) gfortran=$(FORTRAN_SONAME) \ itm=$(ITM_SONAME) objc=$(OBJC_SONAME) quadmath=$(QUADMATH_SONAME) \ go=$(GO_SONAME) backtrace=$(BTRACE_SONAME) \ atomic=$(ATOMIC_SONAME) asan=$(ASAN_SONAME) lsan=$(LSAN_SONAME) \ tsan=$(TSAN_SONAME) ubsan=$(UBSAN_SONAME) \ vtv=$(VTV_SONAME) cilkrts=$(CILKRTS_SONAME) mpx=$(MPX_SONAME) \ gphobos=$(GPHOBOS_SONAME) _soname = $(patsubst $(1)=%,%,$(filter $(1)=%,$(_soname_map))) rel_on_dev := $(if $(cross_lib_arch),>=,=) # $(call _lib_name,,,) _lib_name = $(subst $(SPACE),, \ lib$(2)$(1) \ $(if $(filter dev,$(3)),,$(call _soname,$(1))) \ $(if $(or $(filter $(3),dev),$(and $(filter $(3),dbg),$(filter $(1),stdc++))),-$(BASE_VERSION)) \ $(if $(3),-$(3))$(LS)$(AQ)) # $(call _lib_vers,,) _lib_vers = ($(if $(filter $(1),dev),$(rel_on_dev),>=) $(2)) # Helper to generate biarch/triarch dependencies. # For example, $(eval $(call gen_multilib_deps,gomp)) will create the # libgompbiarch variable, and make it contains the libgompbiarch{32,64,n32} # variables if biarch{32,64,n32} is set to yes. define gen_multilib_deps lib$1biarch64$2 := $(call _lib_name,$(1),64,$(2)) $(call _lib_vers,$(2),$(3)) lib$1biarch32$2 := $(call _lib_name,$(1),32,$(2)) $(call _lib_vers,$(2),$(3)) lib$1biarchn32$2 := $(call _lib_name,$(1),n32,$(2)) $(call _lib_vers,$(2),$(3)) lib$1biarchx32$2 := $(call _lib_name,$(1),x32,$(2)) $(call _lib_vers,$(2),$(3)) lib$1biarchhf$2 := $(call _lib_name,$(1),hf,$(2)) $(call _lib_vers,$(2),$(3)) lib$1biarchsf$2 := $(call _lib_name,$(1),sf,$(2)) $(call _lib_vers,$(2),$(3)) ifeq ($$(biarch64),yes) lib$1biarch$2 := $$(lib$1biarch64$2) endif ifeq ($$(biarch32),yes) ifeq ($$(biarch64),yes) lib$1biarch$2 := $$(lib$1biarch64$2), $$(lib$1biarch32$2) else lib$1biarch$2 := $$(lib$1biarch32$2) endif endif ifeq ($$(biarchx32),yes) ifeq ($1,mpx) ifeq ($$(biarch64),yes) lib$1biarch$2 := $$(lib$1biarch64$2) else ifeq ($$(biarch32),yes) lib$1biarch$2 := $$(lib$1biarch32$2) else lib$1biarch$2 := endif else ifeq ($$(biarch64),yes) lib$1biarch$2 := $$(lib$1biarch64$2), $$(lib$1biarchx32$2) else ifeq ($$(biarch32),yes) lib$1biarch$2 := $$(lib$1biarch32$2), $$(lib$1biarchx32$2) else lib$1biarch$2 := $$(lib$1biarchx32$2) endif endif ifeq ($$(biarchn32),yes) ifeq ($$(biarch64),yes) lib$1biarch$2 := $$(lib$1biarch64$2), $$(lib$1biarchn32$2) else ifeq ($$(biarch32),yes) lib$1biarch$2 := $$(lib$1biarch32$2), $$(lib$1biarchn32$2) else lib$1biarch$2 := $$(lib$1biarchn32$2) endif endif ifeq ($$(biarchhf),yes) lib$1biarch$2 := $$(lib$1biarchhf$2) | $(call _lib_name,$(1),hf,$(2)) endif ifeq ($$(biarchsf),yes) lib$1biarch$2 := $$(lib$1biarchsf$2) | $(call _lib_name,$(1),sf,$(2)) endif endef ifeq ($(with_shared_libgcc),yes) LIBGCC_DEP := libgcc$(GCC_SONAME)$(LS)$(AQ) (>= $(DEB_LIBGCC_VERSION)) $(eval $(call gen_multilib_deps,gcc,,$(DEB_LIBGCC_VERSION))) endif LIBGCC_DEV_DEP := libgcc-$(BASE_VERSION)-dev$(LS)$(AQ) ($(rel_on_dev) $(DEB_VERSION)) $(foreach x,stdc++ gomp ssp gfortran itm objc atomic asan lsan mpx ubsan quadmath go vtv cilkrts, \ $(eval $(call gen_multilib_deps,$(x),,$$$${gcc:Version}))) $(foreach x,gcc stdc++ gfortran objc go gphobos, \ $(eval $(call gen_multilib_deps,$(x),dev,$$$${gcc:Version}))) $(foreach x,gcc stdc++ gfortran objc go gphobos, \ $(eval $(call gen_multilib_deps,$(x),dbg,$$$${gcc:Version}))) # Helper to generate _no_archs variables. # For example, $(eval $(call gen_no_archs,java)) will create the java_no_archs # variable, using the java_no_cpu and java_no_systems variables. define gen_no_archs $1_no_archs := ifneq (,$$($1_no_cpus)) $1_no_archs += $$(foreach cpu,$$(filter-out i386 amd64 alpha arm,$$($1_no_cpus)),!$$(cpu)) ifneq (,$$(filter i386,$$($1_no_cpus))) $1_no_archs += !i386 !hurd-i386 !kfreebsd-i386 endif ifneq (,$$(filter amd64,$$($1_no_cpus))) $1_no_archs += !amd64 !kfreebsd-amd64 endif ifneq (,$$(filter alpha,$$($1_no_cpus))) $1_no_archs += !alpha !hurd-alpha endif ifneq (,$$(filter arm,$$($1_no_cpus))) $1_no_archs += !arm !armel !armhf endif ifneq (,$$(strip $3)) $1_no_systems_tmp := $$(subst $$(SPACE)gnu$$(SPACE),$$(SPACE)hurd-gnu$$(SPACE),$$(SPACE)$3$$(SPACE)) $1_no_archs += $$(foreach cpu,$$($1_no_cpus),$$(foreach system,$$($1_no_systems_tmp),!$$(subst gnu,$$(cpu),$$(system)))) endif endif ifneq (,$$($1_no_systems)) $1_no_systems_tmp := $$(subst $$(SPACE)gnu$$(SPACE),$$(SPACE)hurd-gnu$$(SPACE),$$(SPACE)$$($1_no_systems)$$(SPACE)) $1_no_archs += $$(foreach system,$$($1_no_systems_tmp),$$(foreach cpu,$2,!$$(subst gnu,$$(cpu),$$(system)))) endif $1_no_archs := $$(strip $$($1_no_archs)) endef base_deb_cpus := amd64 i386 alpha base_deb_systems := $(foreach x,ada java java_plugin fortran libgphobos libgc check locale,$(eval $(call gen_no_archs,$(x),$(base_deb_cpus),$(base_deb_systems)))) linux_no_archs := !hurd-any !kfreebsd-any !illumos-any GCC_VERSION := $(strip $(shell cat $(firstword $(wildcard $(srcdir)/gcc/FULL-VER $(srcdir)/gcc/BASE-VER)))) NEXT_GCC_VERSION := $(shell echo $(GCC_VERSION) | \ awk -F. '{OFS="."; $$2 += 1; $$3=0; print}') GCC_MAJOR_VERSION := $(shell echo $(GCC_VERSION) | sed -r 's/([0-9])\.[0-9]\.[0-9]/\1/') GCC_MINOR_VERSION := $(shell echo $(GCC_VERSION) | sed -r 's/[0-9]\.([0-9])\.[0-9]/\1/') GCC_RELEASE_VERSION := $(shell echo $(GCC_VERSION) | sed -r 's/[0-9]\.[0-9]\.([0-9])/\1/') NEXT_GCC_MAJOR_VERSION := $(shell expr $(echo $(GCC_MAJOR_VERSION)) + 1) NEXT_GCC_MINOR_VERSION := $(shell expr $(echo $(GCC_MINOR_VERSION)) + 1) NEXT_GCC_RELEASE_VERSION := $(shell expr $(echo $(GCC_MAJOR_VERSION)) + 1) ifeq ($(single_package),yes) BASE_VERSION := $(shell echo $(GCC_VERSION) | sed -e 's/\([1-9]*\).*/\1/') endif GCC_SOURCE_VERSION := $(shell echo $(DEB_VERSION) | sed 's/-.*//') NEXT_GCC_SOURCE_VERSION := $(shell echo $(GCC_SOURCE_VERSION) | \ awk -F. '{OFS="."; $$2 += 1; $$3=0; print}') MAINTAINER = Debian GCC Maintainers ifeq ($(distribution),Ubuntu) ifneq (,$(findstring $(PKGSOURCE),gnat gdc)) MAINTAINER = Ubuntu MOTU Developers else MAINTAINER = Ubuntu Core developers endif endif UPLOADERS = Matthias Klose ifneq (,$(findstring $(PKGSOURCE),gnat)) UPLOADERS = Ludovic Brenta endif ifneq (,$(findstring $(PKGSOURCE),gdc)) UPLOADERS = Iain Buclaw , Matthias Klose endif DPKGV = 1.14.15 ifeq ($(with_multiarch_lib),yes) DPKGV = 1.16.0~ubuntu4 endif ifeq ($(multiarch_stage1),yes) DPKGV = 1.16.0~ubuntu4 endif ifeq (,$(filter $(distrelease),lenny etch squeeze wheezy dapper hardy jaunty karmic lucid maverick natty oneiric precise quantal raring saucy trusty utopic)) DPKGV = 1.17.14 endif DPKG_BUILD_DEP = dpkg-dev (>= $(DPKGV)), ifeq ($(DEB_HOST_ARCH),$(DEB_TARGET_ARCH)) TARGET_QUAL = :$(DEB_TARGET_ARCH) endif # The binutils version needed. # The oldest suitable versions for the various platforms can be found in # INSTALL/specific.html ; we take a tighter dependency if possible to be on # the safe side (something like newest( version in stable, versions for the # various platforms in INSTALL/specific.html) ). # We need binutils (>= 2.19.1) for a new dwarf unwind expression opcode. # See http://gcc.gnu.org/ml/gcc-patches/2008-09/msg01713.html ifeq ($(trunk_build),yes) BINUTILSBDV = 2.23 else BINUTILSBDV = 2.22 ifneq (,$(filter $(distrelease),vivid)) BINUTILSBDV = 2.25-3~ else ifneq (,$(filter $(distrelease),jessie)) BINUTILSBDV = 2.25-7~ else ifneq (,$(filter $(distrelease),xenial)) BINUTILSBDV = 2.26.1 else ifneq (,$(filter $(distrelease),sid stretch zesty)) BINUTILSBDV = 2.28-3 endif endif ifeq ($(DEB_CROSS),yes) BINUTILS_BUILD_DEP = binutils$(TS)$(NT) (>= $(BINUTILSBDV)), binutils-multiarch$(NT) (>= $(BINUTILSBDV)) BINUTILSV := $(shell dpkg -l binutils$(TS) \ | awk '/^ii/{print $$3;exit}' | sed 's/-.*//') else BINUTILS_BUILD_DEP = binutils$(NT) (>= $(BINUTILSBDV)) | binutils-multiarch$(NT) (>= $(BINUTILSBDV)) ifneq (,$(findstring cross-build-,$(build_type))) BINUTILSV := $(shell dpkg -l binutils$(TS) \ | awk '/^ii/{print $$3;exit}' | sed 's/-.*//') else BINUTILSV := $(shell dpkg -l binutils binutils-multiarch \ | awk '/^ii/{print $$3;exit}' | sed 's/-.*//') endif endif ifneq (,$(filter $(build_type), build-native cross-build-native)) ifeq (,$(filter gccgo% gcj% gnat%, $(PKGSOURCE))) ifeq ($(hppa64_archs),hppa) BINUTILS_BUILD_DEP += , binutils-hppa64$(NT) (>= $(BINUTILSBDV)) [$(hppa64_archs)] else BINUTILS_BUILD_DEP += , binutils-hppa64-linux-gnu$(NT) (>= $(BINUTILSBDV)) [$(hppa64_archs)] endif endif endif ifeq (,$(BINUTILSV)) BINUTILSV := $(BINUTILSBDV) endif # FIXME; stripping doesn't work with gold #BINUTILS_BUILD_DEP += , binutils-gold (>= $(BINUTILSV)) [$(gold_archs)] # libc-dev dependencies libc_ver := 2.11 libc_dev_ver := $(libc_ver) ifeq ($(with_multiarch_lib),yes) ifeq ($(derivative),Debian) libc_dev_ver := 2.13-5 else libc_dev_ver := 2.13-0ubuntu6 endif ifeq ($(DEB_TARGET_ARCH_OS),illumos) LIBC_DEP = libc1 libc_ver := 4.3+17 libc_dev_ver := 4.3+17 libc_dev := 4.3+17 endif endif # first set LIBC_DEP/LIBC_DEV_DEP for native builds only ifeq ($(DEB_TARGET_ARCH_OS),linux) ifneq (,$(findstring $(DEB_TARGET_ARCH),alpha ia64)) LIBC_DEP = libc6.1 else LIBC_DEP = libc6 endif ifneq (,$(findstring musl-linux-,$(DEB_TARGET_ARCH))) LIBC_DEP = musl libc_ver = 0.9 libc_dev_ver = 0.9 endif else ifeq ($(DEB_TARGET_ARCH_OS),hurd) LIBC_DEP = libc0.3 endif ifeq ($(DEB_TARGET_ARCH_OS),kfreebsd) LIBC_DEP = libc0.1 endif ifeq ($(DEB_TARGET_ARCH),uclibc) LIBC_DEP = libuclibc endif endif LIBC_DEV_DEP := $(LIBC_DEP)-dev # this is about Debian archs name, *NOT* GNU target triplet biarch_deb_map := \ i386=amd64 amd64=i386 \ mips=mips64 mipsel=mips64 \ powerpc=ppc64 ppc64=powerpc \ sparc=sparc64 sparc64=sparc\ s390=s390x s390x=s390 \ kfreebsd-amd64=i386 \ illumos-amd64=illumos-i386 \ armel=armhf \ armhf=armel biarch_deb_arch := $(patsubst $(DEB_TARGET_ARCH)=%,%, \ $(filter $(DEB_TARGET_ARCH)=%,$(biarch_deb_map))) LIBC_BIARCH_DEP := LIBC_BIARCH_DEV_DEP := ifneq (,$(findstring yes,$(biarch64) $(biarch32) $(biarchn32) $(biarchx32)$(biarchhf)$(biarchsf))) LIBC_BIARCH_DEP := $${shlibs:Depends} LIBC_BIARCH_DEV_DEP := $(LIBC_DEV_DEP)-$(biarch_deb_arch)$(LS)$(AQ) (>= $(libc_ver)) # amd64, x32, i386 ifneq (,$(findstring $(DEB_TARGET_ARCH),amd64 x32 i386)) ifeq ($(biarch64)$(biarch32),yesyes) LIBC_BIARCH_DEV_DEP := $(LIBC_DEV_DEP)-amd64$(LS)$(AQ) (>= $(libc_ver)), $(LIBC_DEV_DEP)-i386$(LS)$(AQ) (>= $(libc_ver)) endif ifeq ($(biarch64)$(biarchx32),yesyes) LIBC_BIARCH_DEV_DEP := $(LIBC_DEV_DEP)-amd64$(LS)$(AQ) (>= $(libc_ver)), $(LIBC_DEV_DEP)-x32$(LS)$(AQ) (>= $(libc_ver)) endif ifeq ($(biarch32)$(biarchx32),yesyes) LIBC_BIARCH_DEV_DEP := $(LIBC_DEV_DEP)-i386$(LS)$(AQ) (>= $(libc_ver)), $(LIBC_DEV_DEP)-x32$(LS)$(AQ) (>= $(libc_ver)) endif endif # mips* ifneq (,$(findstring $(DEB_TARGET_ARCH),mips mipsel mipsn32 mipsn32el mips64 mips64el)) ifeq ($(biarchn32)$(biarch32),yesyes) LIBC_BIARCH_DEV_DEP := libc6-dev-mips32$(LS)$(AQ) (>= $(libc_ver)), libc6-dev-mipsn32$(LS)$(AQ) (>= $(libc_ver)) endif ifeq ($(biarch64)$(biarch32),yesyes) triarch := $(COMMA)$(SPACE) LIBC_BIARCH_DEV_DEP := libc6-dev-mips32$(LS)$(AQ) (>= $(libc_ver)), libc6-dev-mips64$(LS)$(AQ) (>= $(libc_ver)) endif ifeq ($(biarchn32)$(biarch64),yesyes) triarch := $(COMMA)$(SPACE) LIBC_BIARCH_DEV_DEP := libc6-dev-mips64$(LS)$(AQ) (>= $(libc_ver)), libc6-dev-mipsn32$(LS)$(AQ) (>= $(libc_ver)) endif endif ifeq ($(biarchhf),yes) LIBC_BIARCH_DEP := $(LIBC_DEP)-$(biarch_deb_arch)$(LS)$(AQ) (>= $(libc_ver)) LIBC_BIARCH_DEP += | $(LIBC_DEP)-$(biarch_deb_arch)$(LS)$(AQ) LIBC_BIARCH_DEV_DEP += | $(LIBC_DEV_DEP)-$(biarch_deb_arch)$(LS)$(AQ) endif ifeq ($(biarchsf),yes) LIBC_BIARCH_DEP := $(LIBC_DEP)-$(biarch_deb_arch)$(LS)$(AQ) (>= $(libc_ver)) LIBC_BIARCH_DEP += | $(LIBC_DEP)-$(biarch_deb_arch)$(LS)$(AQ) LIBC_BIARCH_DEV_DEP += | $(LIBC_DEV_DEP)-$(biarch_deb_arch)$(LS)$(AQ) endif endif # now add the cross suffix and required version LIBC_DEP := $(LIBC_DEP)$(LS)$(AQ) LIBC_DEV_DEP := $(LIBC_DEV_DEP)$(LS)$(AQ) (>= $(libc_dev_ver)) ifneq (,$(filter $(build_type), build-native cross-build-native)) LIBC_DBG_DEP = libc6.1-dbg [alpha ia64] | libc0.3-dbg [hurd-i386] | libc0.1-dbg [kfreebsd-i386 kfreebsd-amd64] | libc6-dbg [!illumos-any], endif # TODO: make this automatic, there must be a better way to define LIBC_DEP. ifneq ($(DEB_CROSS),yes) LIBC_BUILD_DEP = libc6.1-dev (>= $(libc_dev_ver)) [alpha ia64] | libc0.3-dev (>= $(libc_dev_ver)) [hurd-i386] | libc0.1-dev (>= $(libc_dev_ver)) [kfreebsd-i386 kfreebsd-amd64] | libc6-dev (>= $(libc_dev_ver)) LIBC_BUILD_DEP += | libc1-dev (>= $(libc_dev_ver)) [illumos-amd64] ifeq (,$(filter $(distrelease),lenny etch squeeze dapper hardy jaunty karmic lucid maverick natty oneiric)) LIBC_BUILD_DEP += , libc6-dev (>= 2.13-31) [armel armhf] endif LIBC_BIARCH_BUILD_DEP = libc6-dev-amd64 [i386 x32], libc6-dev-sparc64 [sparc], libc6-dev-sparc [sparc64], libc6-dev-s390 [s390x], libc6-dev-s390x [s390], libc6-dev-i386 [amd64 x32], libc6-dev-powerpc [ppc64], libc6-dev-ppc64 [powerpc], libc0.1-dev-i386 [kfreebsd-amd64], lib32gcc1 [amd64 ppc64 kfreebsd-amd64 mipsn32 mipsn32el mips64 mips64el s390x sparc64 x32], libn32gcc1 [mips mipsel mips64 mips64el], lib64gcc1 [i386 mips mipsel mipsn32 mipsn32el powerpc sparc s390 x32], libc6-dev-mips64 [mips mipsel mipsn32 mipsn32el], libc6-dev-mipsn32 [mips mipsel mips64 mips64el], libc6-dev-mips32 [mipsn32 mipsn32el mips64 mips64el], LIBC_BIARCH_BUILD_DEP += libc1-dev-illumos-i386 (>= $(libc_dev_ver)) [illumos-amd64], ifneq (,$(findstring amd64,$(biarchx32archs))) LIBC_BIARCH_BUILD_DEP += libc6-dev-x32 [amd64 i386], libx32gcc1 [amd64 i386], endif ifneq (,$(findstring armel,$(biarchhfarchs))) LIBC_BIARCH_BUILD_DEP += libc6-dev-armhf [armel], libhfgcc1 [armel], endif ifneq (,$(findstring armhf,$(biarchsfarchs))) LIBC_BIARCH_BUILD_DEP += libc6-dev-armel [armhf], libsfgcc1 [armhf], endif else LIBC_BUILD_DEP = $(LIBC_DEV_DEP), ifneq ($(LIBC_BIARCH_DEV_DEP),) LIBC_BIARCH_BUILD_DEP = $(LIBC_BIARCH_DEV_DEP), else LIBC_BIARCH_BUILD_DEP = endif endif # needed for the include/asm symlink to run the testsuite for # non default multilibs ifneq (,$(multilib_archs)) GCC_MULTILIB_BUILD_DEP = g++-multilib [$(multilib_archs)]$(pf_ncross), endif GCC_MULTILIB_BUILD_DEP += g++-6 [arm64]$(pf_ncross), LIBUNWIND_DEV_DEP := libunwind7-dev$(LS)$(AQ) (>= 0.98.5-6) LIBUNWIND_BUILD_DEP := $(LIBUNWIND_DEV_DEP) [ia64], LIBATOMIC_OPS_BUILD_DEP := libatomic-ops-dev$(LS) [ia64], ifneq ($(DEB_TARGET_ARCH),ia64) LIBUNWIND_DEV_DEP := # nothing endif ifneq (,$(filter $(distrelease),lenny etch squeeze dapper hardy jaunty karmic lucid maverick natty)) GMP_BUILD_DEP = libgmp3-dev | libgmp-dev (>= 2:5.0.1~), MPFR_BUILD_DEP = libmpfr-dev, else GMP_BUILD_DEP = libgmp-dev (>= 2:5.0.1~), MPFR_BUILD_DEP = libmpfr-dev (>= 3.0.0-9~), endif ISL_BUILD_DEP = libisl-dev, ifneq (,$(filter $(distrelease),jessie stretch sid experimental)) ISL_BUILD_DEP = libisl-dev (>= 0.14), endif ifneq (,$(filter $(distrelease),lenny etch squeeze wheezy dapper hardy jaunty karmic lucid maverick natty oneiric precise quantal raring)) MPC_BUILD_DEP = libmpc-dev, else MPC_BUILD_DEP = libmpc-dev (>= 1.0), endif SOURCE_BUILD_DEP := ifeq (,$(findstring gcc,$(PKGSOURCE))) SOURCE_BUILD_DEP := gcc-$(BASE_VERSION)-source (>= $(GCC_SOURCE_VERSION)), gcc-$(BASE_VERSION)-source (<< $(NEXT_GCC_SOURCE_VERSION)), endif CHECK_BUILD_DEP := dejagnu [$(check_no_archs)], AUTO_BUILD_DEP := m4, libtool, AUTO_BUILD_DEP += autoconf2.64, ifeq (,$(filter $(distrelease),lenny etch squeeze wheezy dapper hardy jaunty karmic lucid maverick natty oneiric precise quantal raring saucy trusty)) SDT_BUILD_DEP = systemtap-sdt-dev [linux-any kfreebsd-any hurd-any], endif # ensure that the common libs, built from the next GCC version are available ifeq ($(PKGSOURCE),gcc-$(BASE_VERSION)) ifneq ($(with_common_libs),yes) BASE_BUILD_DEP = gcc-6-base, endif endif PHOBOS_BUILD_DEP = lib32z1-dev [amd64 kfreebsd-amd64 illumos-amd64], lib64z1-dev [i386], ifeq ($(derivative),Ubuntu) PHOBOS_BUILD_DEP += libx32z1-dev [amd64 kfreebsd-amd64 i386], endif ifneq ($(DEB_CROSS),yes) # all archs for which to create b-d's any_archs = alpha amd64 armel armhf arm64 i386 mips mipsel mips64 mips64el powerpc ppc64 ppc64el m68k sh4 sparc64 s390x x32 arch_gnutype_map = \ alpha=alpha-linux-gnu \ amd64=x86-64-linux-gnu \ armel=arm-linux-gnueabi \ armhf=arm-linux-gnueabihf \ arm64=aarch64-linux-gnu \ i386=i686-linux-gnu \ mips=mips-linux-gnu \ mipsel=mipsel-linux-gnu \ mips64=mips64-linux-gnuabi64 \ mips64el=mips64el-linux-gnuabi64 \ powerpc=powerpc-linux-gnu \ ppc64=powerpc64-linux-gnu \ ppc64el=powerpc64le-linux-gnu \ m68k=m68k-linux-gnu \ sh4=sh4-linux-gnu \ sparc64=sparc64-linux-gnu \ s390x=s390x-linux-gnu \ x32=x86-64-linux-gnux32 _element = $(filter $1=%,$(arch_gnutype_map)) _gnu_type = $(subst $1=,,$(filter $1=%,$(arch_gnutype_map))) ifneq (,$(filter $(distrelease),lenny etch squeeze wheezy wheezy dapper hardy jaunty karmic lucid maverick natty oneiric precise quantal raring saucy trusty utopic vivid)) DEBHELPER_BUILD_DEP = debhelper (>= 9), TARGET_TOOL_BUILD_DEP = bash, # non-empty line pf_cross = pf_ncross = else DEBHELPER_BUILD_DEP = debhelper (>= 9.20141010), TARGET_TOOL_BUILD_DEP = \ $(foreach a, $(any_archs), \ g++-$(BASE_VERSION)-$(call _gnu_type,$(a)) [$(a)] , \ $(if $(filter $(a), avr),, \ gobjc-$(BASE_VERSION)-$(call _gnu_type,$(a)) [$(a)] ,) \ gfortran-$(BASE_VERSION)-$(call _gnu_type,$(a)) [$(a)] , \ $(if $(filter $(a), avr),, \ gcj-$(BASE_VERSION)-$(call _gnu_type,$(a)) [$(a)] ,) \ $(if $(filter $(a), s390 sh4),, \ gdc-$(BASE_VERSION)-$(call _gnu_type,$(a)) [$(a)] ,) \ $(if $(filter $(a), hppa m68k sh4),, \ gccgo-$(BASE_VERSION)-$(call _gnu_type,$(a)) [$(a)] ,) \ $(if $(filter $(a), m68k mips64 powerpcspe sh4 sparc64 x32),, \ gnat-$(BASE_VERSION)-$(call _gnu_type,$(a)) [$(a)] ,) \ ) pf_cross = $(SPACE) pf_ncross = $(SPACE) NT = :native endif JAVA_BUILD_DEP := zlib1g-dev, libantlr-java, python$(NT), libffi-dev, ifeq ($(PKGSOURCE),gcj-$(BASE_VERSION)) bd_java_archs = else ifeq ($(single_package)-$(with_java),yes-yes) bd_java_archs = else bd_java_archs = $(if $(java_no_archs),$(EMPTY) [$(java_no_archs)]) endif ifneq (,$(java_awt_peers)) JAVA_BUILD_DEP += fastjar$(bd_java_archs), libmagic-dev$(bd_java_archs), JAVA_BUILD_DEP += libecj-java (>= 3.3.0-2)$(bd_java_archs), zip$(bd_java_archs), ifeq ($(with_java_maintainer_mode),yes) # gcj-6 needed for gjavah-6. JAVA_BUILD_DEP += gcj-6$(bd_java_archs), ecj (>= 3.3.0-2)$(bd_java_archs), endif JAVA_BUILD_DEP += libasound2-dev [$(java_no_archs) $(linux_no_archs)], ifneq (,$(findstring gtk,$(java_awt_peers))) JAVA_BUILD_DEP += libxtst-dev$(bd_java_archs), libxt-dev$(bd_java_archs), libgtk2.0-dev (>= 2.4.4-2)$(bd_java_archs), libart-2.0-dev$(bd_java_archs), libcairo2-dev$(bd_java_archs), endif ifneq (,$(findstring qt,$(java_awt_peers))) JAVA_BUILD_DEP += libqt4-dev (>= 4.1.0)$(bd_java_archs), endif # gconf peer, disabled by default #JAVA_BUILD_DEP += libgconf2-dev$(bd_java_archs), # gstreamer peer #JAVA_BUILD_DEP += libgstreamer-plugins-base0.10-dev$(bd_java_archs), endif ifneq ($(with_standalone_gcj),yes) ifeq ($(PKGSOURCE),gcj-$(BASE_VERSION)) JAVA_BUILD_DEP += $(SOURCE_BUILD_DEP) endif endif #JAVA_BUILD_INDEP := gcj-$(BASE_VERSION)-jdk ifeq ($(single_package),yes) LIBSTDCXX_BUILD_INDEP = doxygen (>= 1.7.2), graphviz (>= 2.2), ghostscript, texlive-latex-base LIBSTDCXX_BUILD_INDEP +=, xsltproc, libxml2-utils, docbook-xsl-ns JAVA_BUILD_INDEP := endif ifeq ($(with_separate_libgcj),yes) ifeq ($(PKGSOURCE),gcc-$(BASE_VERSION)) JAVA_BUILD_DEP := JAVA_BUILD_INDEP := endif endif ifeq ($(with_ecj),yes) ifneq (./,$(dir $(ecj_jar))) ECJ_DEP = libecj-java (>= 3.5.1) endif else ECJ_DEP = ecj, libecj-java (>= 3.5.1) ECJ_DEP = ecj-gcj, libecj-java-gcj (>= 3.5.1) ifeq ($(with_external_ecj1),yes) ECJ_DEP +=, ecj1 endif endif ifeq ($(PKGSOURCE),gcc-$(BASE_VERSION)) LIBSTDCXX_BUILD_INDEP = doxygen (>= 1.7.2), graphviz (>= 2.2), ghostscript, texlive-latex-base ifeq (,$(filter $(distrelease),lenny etch dapper hardy jaunty karmic lucid maverick natty oneiric)) LIBSTDCXX_BUILD_INDEP +=, xsltproc, libxml2-utils, docbook-xsl-ns endif JAVA_BUILD_INDEP :=, $(JAVA_BUILD_INDEP) endif GO_BUILD_DEP := netbase, # try to build with itself, or with the last version ifneq (,$(filter $(distrelease), jessie)) gnat_build_dep := gnat-4.9$(NT) [$(ada_no_archs)], g++-4.9$(NT) else ifneq (,$(filter $(distrelease), wheezy precise trusty wily xenial)) gnat_build_dep := gnat-5$(NT) [$(ada_no_archs)], g++-5$(NT) else ifneq (,$(filter $(distrelease), stretch sid yakkety zesty)) gnat_build_dep := gnat-6$(NT) [$(ada_no_archs)], g++-6$(NT) else ifneq (,$(filter $(distrelease), squeeze lucid)) gnat_build_dep := else gnat_build_dep := gnat$(NT) [$(ada_no_archs)] endif ifeq ($(PKGSOURCE),gcc-$(BASE_VERSION)) ifneq ($(with_separate_gnat),yes) # Build gnat as part of the combined gcc-x.y source package. Do not fail # if gnat is not present on unsupported architectures; the build scripts # will not use gnat anyway. GNAT_BUILD_DEP := $(gnat_build_dep), endif else ifeq ($(single_package),yes) # Ditto, as part of the gcc-snapshot package. GNAT_BUILD_DEP := $(gnat_build_dep), else ifeq ($(PKGSOURCE),gnat-$(BASE_VERSION)) # Special source package just for gnat. Fail early if gnat is not present, # rather than waste CPU cycles and fail later. # Bootstrap step needs a gnatgcc symbolic link. GNAT_BUILD_DEP := $(gnat_build_dep), GNAT_BUILD_DEP += $(SOURCE_BUILD_DEP) JAVA_BUILD_DEP := JAVA_BUILD_INDEP := GDC_BUILD_DEP := GO_BUILD_DEP := else ifeq ($(PKGSOURCE),gcj-$(BASE_VERSION)) # Special source package just for gcj. GNAT_BUILD_DEP := GDC_BUILD_DEP := GO_BUILD_DEP := else ifeq ($(PKGSOURCE),gdc-$(BASE_VERSION)) # Special source package just for gdc. GNAT_BUILD_DEP := JAVA_BUILD_DEP := JAVA_BUILD_INDEP := GDC_BUILD_DEP := $(SOURCE_BUILD_DEP) GO_BUILD_DEP := else ifeq ($(PKGSOURCE),gccgo-$(BASE_VERSION)) # Special source package just for gccgo. GNAT_BUILD_DEP := JAVA_BUILD_DEP := JAVA_BUILD_INDEP := GDC_BUILD_DEP := $(SOURCE_BUILD_DEP) endif else # build cross compiler CROSS_BUILD_DEP := libc6-dev$(cross_lib_arch), ifneq (,$(findstring cross-build-,$(build_type))) CROSS_BUILD_DEP += zlib1g-dev$(cross_lib_arch), libmpfr-dev$(cross_lib_arch), endif SOURCE_BUILD_DEP := ifeq (,$(findstring gcc,$(PKGSOURCE))) SOURCE_BUILD_DEP := gcc-$(BASE_VERSION)-source (>= $(GCC_SOURCE_VERSION)), gcc-$(BASE_VERSION)-source (<< $(NEXT_GCC_SOURCE_VERSION)), endif ifeq ($(with_java),yes) JAVA_BUILD_DEP := zlib1g-dev, lib64z1-dev [i386 powerpc sparc s390], lib32z1-dev [amd64 ppc64 kfreebsd-amd64 s390x], endif JAVA_BUILD_INDEP := GNAT_BUILD_DEP := endif # cross compiler BASE_BREAKS := gcc-4.4-base (<< 4.4.7), gcc-4.7-base (<< 4.7.3), gcj-4.4-base (<< 4.4.6-9~), gnat-4.4-base (<< 4.4.6-3~), gcj-4.6-base (<< 4.6.1-4~), gnat-4.6 (<< 4.6.1-5~) # these would need proper updates, and are only needed for upgrades ifneq (,$(filter $(distrelease),squeeze wheezy lucid precise trusty)) BASE_BREAKS := endif # The numeric part of the gcc version number (x.yy.zz) NEXT_GCC_VERSION := $(shell echo $(GCC_VERSION) | \ awk -F. '{OFS="."; if (NF==2) $$3=1; else $$NF += 1; print}') # first version with a new path component in gcc_lib_dir (i.e. GCC_VERSION # or TARGET_ALIAS changes), or last version available for all architectures DEB_GCC_SOFT_VERSION := 6.3.0-1 DEB_GCJ_SOFT_VERSION := 6.3.0-1 DEB_GNAT_SOFT_VERSION := 6.3.0-1 ifeq ($(with_d),yes) GDC_VERSION := $(BASE_VERSION) DEB_GDC_VERSION := $(DEB_VERSION) endif # semiautomatic ... DEB_SOVERSION := $(DEB_VERSION) DEB_SOVERSION := 5 DEB_SOEVERSION := $(EPOCH):5 DEB_STDCXX_SOVERSION := 5 DEB_GCJ_SOVERSION := 5 DEB_GOMP_SOVERSION := $(DEB_SOVERSION) DEB_GCC_VERSION := $(DEB_VERSION) DEB_GCJ_VERSION := $(DEB_VERSION) ifeq ($(with_separate_libgcj),yes) ifeq ($(PKGSOURCE),gcj-$(BASE_VERSION)) DEB_GCC_VERSION := $(DEB_GCC_SOFT_VERSION) endif endif DEB_GNAT_VERSION := $(DEB_VERSION) ifeq ($(with_separate_gnat),yes) ifeq ($(PKGSOURCE),gnat-$(BASE_VERSION)) DEB_GCC_VERSION := $(DEB_GCC_SOFT_VERSION) endif endif GNAT_VERSION := $(BASE_VERSION) LIBGNAT_DEP := ifeq ($(with_libgnat),yes) LIBGNAT_DEP := libgnat-$(GNAT_VERSION)$(LS)$(AQ) (>= $${gcc:Version}) endif pkg_ver := -$(BASE_VERSION) PKG_GCJ_EXT = $(GCJ_SONAME1) PKG_LIBGCJ_EXT = $(GCJ_SONAME1)$(if $(GCJ_SONAME2),-$(GCJ_SONAME2)) ctrl_flags = \ -DBINUTILSV=$(BINUTILSV) \ -DBINUTILSBDV=$(BINUTILSBDV) \ -DSRCNAME=$(PKGSOURCE) \ -D__$(DEB_TARGET_GNU_CPU)__ \ -DARCH=$(DEB_TARGET_ARCH) \ -DDIST=$(distribution) ctrl_flags += \ -DLIBC_DEV_DEP="$(LIBC_DEV_DEP)" \ -DLIBC_BIARCH_BUILD_DEP="$(LIBC_BIARCH_BUILD_DEP)" \ -DLIBC_DBG_DEP="$(LIBC_DBG_DEP)" \ -DBASE_BUILD_DEP="$(BASE_BUILD_DEP)" \ -DFORTRAN_BUILD_DEP="$(FORTRAN_BUILD_DEP)" \ -DGNAT_BUILD_DEP="$(GNAT_BUILD_DEP)" \ -DJAVA_BUILD_DEP="$(JAVA_BUILD_DEP)" \ -DGO_BUILD_DEP="$(GO_BUILD_DEP)" \ -DJAVA_BUILD_INDEP="$(JAVA_BUILD_INDEP)" \ -DLIBSTDCXX_BUILD_INDEP="$(LIBSTDCXX_BUILD_INDEP)" \ -DGDC_BUILD_DEP="$(GDC_BUILD_DEP)" \ -DBINUTILS_BUILD_DEP="$(BINUTILS_BUILD_DEP)" \ -DLIBC_BUILD_DEP="$(LIBC_BUILD_DEP)" \ -DCHECK_BUILD_DEP="$(CHECK_BUILD_DEP)" \ -DAUTO_BUILD_DEP="$(AUTO_BUILD_DEP)" \ -DSDT_BUILD_DEP="$(SDT_BUILD_DEP)" \ -DISL_BUILD_DEP="$(ISL_BUILD_DEP)" \ -DGMP_BUILD_DEP="$(GMP_BUILD_DEP)" \ -DMPFR_BUILD_DEP="$(MPFR_BUILD_DEP)" \ -DMPC_BUILD_DEP="$(MPC_BUILD_DEP)" \ -DDEBHELPER_BUILD_DEP="$(DEBHELPER_BUILD_DEP)" \ -DDPKG_BUILD_DEP="$(DPKG_BUILD_DEP)" \ -DSOURCE_BUILD_DEP="$(SOURCE_BUILD_DEP)" \ -DCROSS_BUILD_DEP="$(CROSS_BUILD_DEP)" \ -DGCC_MULTILIB_BUILD_DEP='$(GCC_MULTILIB_BUILD_DEP)' \ -DTARGET_TOOL_BUILD_DEP='$(TARGET_TOOL_BUILD_DEP)' \ -DPHOBOS_BUILD_DEP="$(PHOBOS_BUILD_DEP)" \ -DMULTILIB_ARCHS="$(multilib_archs)" \ -DNEON_ARCHS="$(neon_archs)" \ -DTP=$(TP) \ -DTS=$(TS) \ -DLS=$(LS) \ -DAQ=$(AQ) \ -DNT=$(NT) ifeq ($(DEB_CROSS),yes) ctrl_flags += \ -DTARGET=$(DEB_TARGET_ARCH) \ -DLIBUNWIND_BUILD_DEP="$(LIBUNWIND_BUILD_DEP)" \ -DLIBATOMIC_OPS_BUILD_DEP="$(LIBATOMIC_OPS_BUILD_DEP)" ifeq ($(DEB_STAGE),rtlibs) ctrl_flags += -DCROSS_ARCH=$(DEB_TARGET_ARCH) endif else # add '-DPRI=optional' to ctrl_flags if this is not the default compiler # ctrl_flags += \ # -DPRI=optional endif ifeq ($(with_base_only),yes) ctrl_flags += \ -DBASE_ONLY=yes endif ifeq ($(with_multiarch_lib),yes) ctrl_flags += \ -DMULTIARCH=yes endif control: control-file readme-bugs-file parameters-file symbols-files copyright-file substvars-file versioned-files check-versions # stage1 and stage2 compilers are only C ifneq (,$(filter $(DEB_STAGE),stage1 stage2)) languages = c addons = gccbase cdev plugindev ifeq ($(with_gcclbase),yes) addons += gcclbase endif ifeq ($(multilib),yes) addons += multilib endif addons += $(if $(findstring armel,$(biarchhfarchs)),armml) addons += $(if $(findstring armhf,$(biarchsfarchs)),armml) addons += $(if $(findstring amd64,$(biarchx32archs)),x32dev) ifeq ($(DEB_STAGE),stage2) addons += libgcc ifeq ($(multilib),yes) addons += lib32gcc lib64gcc libn32gcc addons += $(if $(findstring amd64,$(biarchx32archs)),libx32gcc) addons += $(if $(findstring armel,$(biarchhfarchs)),libhfgcc) addons += $(if $(findstring armhf,$(biarchsfarchs)),libsfgcc) endif else LIBC_BIARCH_DEV_DEP := endif else languages = c c++ fortran objc objpp ifeq ($(DEB_STAGE),rtlibs) ifeq (,$(filter libgfortran, $(with_rtlibs))) languages := $(filter-out fortran, $(languages)) endif ifeq (,$(filter libobjc, $(with_rtlibs))) languages := $(filter-out objc objpp, $(languages)) endif endif ifeq ($(with_gccbase),yes) addons += gccbase endif ifeq ($(with_gcclbase),yes) addons += gcclbase endif ifneq ($(DEB_STAGE),rtlibs) addons += cdev c++dev source multilib ifeq ($(build_type),build-native) addons += testresults endif ifneq (,$(filter fortran, $(languages))) addons += fdev endif ifneq (,$(filter objc, $(languages))) addons += objcdev endif ifneq (,$(filter objpp, $(languages))) addons += objppdev endif addons += plugindev endif addons += $(if $(findstring armel,$(biarchhfarchs)),armml) addons += $(if $(findstring armhf,$(biarchsfarchs)),armml) addons += $(if $(findstring amd64,$(biarchx32archs)),x32dev) ifeq ($(with_libgcc),yes) addons += libgcc lib4gcc lib32gcc lib64gcc libn32gcc addons += $(if $(findstring amd64,$(biarchx32archs)),libx32gcc) addons += $(if $(findstring armel,$(biarchhfarchs)),libhfgcc) addons += $(if $(findstring armhf,$(biarchsfarchs)),libsfgcc) endif ifeq ($(with_libcxx),yes) addons += libcxx lib32cxx lib64cxx libn32cxx addons += $(if $(findstring amd64,$(biarchx32archs)),libx32cxx) addons += $(if $(findstring armel,$(biarchhfarchs)),libhfcxx) addons += $(if $(findstring armhf,$(biarchsfarchs)),libsfcxx) endif addons += $(if $(findstring amd64,$(biarchx32archs)),libx32dbgcxx) addons += $(if $(findstring armel,$(biarchhfarchs)),libhfdbgcxx) addons += $(if $(findstring armhf,$(biarchsfarchs)),libsfdbgcxx) ifeq ($(with_libgfortran),yes) addons += libgfortran lib32gfortran lib64gfortran libn32gfortran addons += $(if $(findstring amd64,$(biarchx32archs)),libx32gfortran) addons += $(if $(findstring armel,$(biarchhfarchs)),libhfgfortran) addons += $(if $(findstring armhf,$(biarchsfarchs)),libsfgfortran) endif ifeq ($(with_libobjc),yes) addons += libobjc lib32objc lib64objc libn32objc addons += $(if $(findstring amd64,$(biarchx32archs)),libx32objc) addons += $(if $(findstring armel,$(biarchhfarchs)),libhfobjc) addons += $(if $(findstring armhf,$(biarchsfarchs)),libsfobjc) endif ifeq ($(with_libgomp),yes) addons += libgomp lib32gomp lib64gomp libn32gomp addons += $(if $(findstring amd64,$(biarchx32archs)),libx32gomp) addons += $(if $(findstring armel,$(biarchhfarchs)),libhfgomp) addons += $(if $(findstring armhf,$(biarchsfarchs)),libsfgomp) endif ifeq ($(with_ssp),yes) addons += libssp lib32ssp lib64ssp endif ifeq ($(with_libitm),yes) addons += libitm lib32itm lib64itm libn32itm addons += $(if $(findstring amd64,$(biarchx32archs)),libx32itm) addons += $(if $(findstring armel,$(biarchhfarchs)),libhfitm) addons += $(if $(findstring armhf,$(biarchsfarchs)),libsfitm) endif ifeq ($(with_libatomic),yes) addons += libatomic lib32atomic lib64atomic libn32atomic addons += $(if $(findstring amd64,$(biarchx32archs)),libx32atomic) addons += $(if $(findstring armel,$(biarchhfarchs)),libhfatomic) addons += $(if $(findstring armhf,$(biarchsfarchs)),libsfatomic) endif ifeq ($(with_libbacktrace),yes) addons += libbtrace lib32btrace lib64btrace libn32btrace addons += $(if $(findstring amd64,$(biarchx32archs)),libx32btrace) addons += $(if $(findstring armel,$(biarchhfarchs)),libhfbtrace) addons += $(if $(findstring armhf,$(biarchsfarchs)),libsfbtrace) endif ifeq ($(with_libasan),yes) addons += libasan lib32asan lib64asan libn32asan addons += $(if $(findstring amd64,$(biarchx32archs)),libx32asan) addons += $(if $(findstring armel,$(biarchhfarchs)),libhfasan) addons += $(if $(findstring armhf,$(biarchsfarchs)),libsfasan) endif ifeq ($(with_liblsan),yes) addons += liblsan lib32lsan lib64lsan libn32lsan addons += $(if $(findstring amd64,$(biarchx32archs)),libx32lsan) #addons += $(if $(findstring armel,$(biarchhfarchs)),libhflsan) #addons += $(if $(findstring armhf,$(biarchsfarchs)),libsflsan) endif ifeq ($(with_libtsan),yes) addons += libtsan addons += libtsan #lib32tsan lib64tsan libn32tsan #addons += $(if $(findstring amd64,$(biarchx32archs)),libx32tsan) #addons += $(if $(findstring armel,$(biarchhfarchs)),libhftsan) #addons += $(if $(findstring armhf,$(biarchsfarchs)),libsftsan) endif ifeq ($(with_libubsan),yes) addons += libubsan lib32ubsan lib64ubsan libn32ubsan addons += $(if $(findstring amd64,$(biarchx32archs)),libx32ubsan) addons += $(if $(findstring armel,$(biarchhfarchs)),libhfubsan) addons += $(if $(findstring armhf,$(biarchsfarchs)),libsfubsan) endif ifeq ($(with_vtv),yes) addons += libvtv lib32vtv lib64vtv #libn32vtv addons += $(if $(findstring amd64,$(biarchx32archs)),libx32vtv) #addons += $(if $(findstring armel,$(biarchhfarchs)),libhfvtv) #addons += $(if $(findstring armhf,$(biarchsfarchs)),libsfvtv) endif ifeq ($(with_libcilkrts),yes) addons += libcilkrts addons += libcilkrts lib32cilkrts lib64cilkrts #libn32cilkrts addons += $(if $(findstring amd64,$(biarchx32archs)),libx32cilkrts) #addons += $(if $(findstring armel,$(biarchhfarchs)),libhfcilkrts) #addons += $(if $(findstring armhf,$(biarchsfarchs)),libsfcilkrts) endif ifeq ($(with_mpx),yes) addons += libmpx lib32mpx lib64mpx endif ifeq ($(with_libqmath),yes) addons += libqmath lib32qmath lib64qmath libn32qmath addons += $(if $(findstring amd64,$(biarchx32archs)),libx32qmath) addons += $(if $(findstring armel,$(biarchhfarchs)),libhfqmath) addons += $(if $(findstring armhf,$(biarchsfarchs)),libsfqmath) endif ifeq ($(with_jit),yes) addons += jit endif ifeq ($(with_libgccjit),yes) addons += libjit endif ifeq ($(with_libcc1),yes) addons += libcc1 endif ifeq ($(with_d),yes) languages += d ifeq ($(with_libphobos),yes) addons += libphobos addons += $(if $(findstring amd64,$(biarchx32archs)),libx32phobos) endif endif ifeq ($(with_go),yes) addons += ggo godev ifeq ($(with_libgo),yes) addons += libggo lib32ggo lib64ggo libn32ggo addons += $(if $(findstring amd64,$(biarchx32archs)),libx32ggo) endif endif ifeq ($(with_ada),yes) languages += ada addons += libgnat libs # libgmath libnof lib64gnat ssp ifeq ($(with_gnatsjlj),yes) addons += adasjlj endif endif ifeq ($(with_java),yes) languages += java addons += gcj ifneq ($(DEB_CROSS),yes) addons += libgcj libgcjdev gcjdoc gcjsrc endif endif ifneq ($(DEB_CROSS),yes) ifneq (,$(neon_archs)) addons += libneongcc libneongomp libneonitm libneonobjc libneongfortran libneoncxx endif ifeq ($(with_fixincl),yes) addons += $(if $(DEB_STAGE),,fixincl) endif ifeq ($(with_libgcj_doc),yes) addons += gcjdoc endif endif # DEB_CROSS # ifneq (,$(findstring gtk, $(java_awt_peers))) # addons += gtkpeer # endif # ifneq (,$(findstring qt, $(java_awt_peers))) # addons += qtpeer # endif ifeq ($(with_separate_libgcj),yes) ifeq ($(PKGSOURCE),gcc-$(BASE_VERSION)) languages := $(filter-out java,$(languages)) addons := $(filter-out gcj libgcj libgcjdev gcjdoc gcjsrc gtkpeer qtpeer,$(addons)) endif ifeq ($(PKGSOURCE),gcj-$(BASE_VERSION)) languages = java addons = gcj libgcj libgcjdev gcjsrc addons += $(if $(filter yes,$(with_gcjbase)),gcjbase) addons += $(if $(filter yes,$(with_gcjxbase)),gcjxbase) ifeq ($(with_libgcj_doc),yes) addons += gcjdoc endif # ifneq (,$(findstring gtk, $(java_awt_peers))) # addons += gtkpeer # endif # ifneq (,$(findstring qt, $(java_awt_peers))) # addons += qtpeer # endif ifeq ($(with_standalone_gcj),yes) addons += libgcc lib4gcc lib64gcc lib32gcc libn32gcc libx32gcc endif endif endif ifeq ($(DEB_CROSS),yes) addons := $(filter-out gcjdoc gcjsrc,$(addons)) endif ifeq ($(with_standalone_gcj),yes) ifeq ($(PKGSOURCE),gcj-$(BASE_VERSION)) ctrl_flags += -DSTANDALONEJAVA endif endif ifeq ($(with_separate_libgo),yes) ifeq ($(PKGSOURCE),gcc-$(BASE_VERSION)) languages := $(filter-out go,$(languages)) addons := $(filter-out ggo godev libggo lib64ggo lib32ggo libn32ggo libx32ggo,$(addons)) endif ifeq ($(PKGSOURCE),gccgo-$(BASE_VERSION)) languages = go addons = ggo godev libggo lib64ggo lib32ggo libn32ggo gccbase multilib addons += $(if $(findstring amd64,$(biarchx32archs)),libx32ggo) ifeq ($(with_standalone_go),yes) addons += libgcc lib4gcc lib32gcc lib64gcc libn32gcc addons += $(if $(findstring amd64,$(biarchx32archs)),libx32gcc) addons += $(if $(findstring armel,$(biarchhfarchs)),libhfgcc) addons += $(if $(findstring armhf,$(biarchsfarchs)),libsfgcc) ifeq ($(with_libcc1),yes) addons += libcc1 endif endif endif endif ifeq ($(with_standalone_go),yes) ifeq ($(PKGSOURCE),gccgo-$(BASE_VERSION)) ctrl_flags += -DSTANDALONEGO endif endif ifeq ($(with_separate_gnat),yes) ifeq ($(PKGSOURCE),gcc-$(BASE_VERSION)) languages := $(filter-out ada,$(languages)) addons := $(filter-out libgnat adasjlj,$(addons)) endif ifeq ($(PKGSOURCE),gnat-$(BASE_VERSION)) languages = ada addons = gnatbase libgnat endif endif ifeq ($(with_separate_gdc),yes) ifeq ($(PKGSOURCE),gcc-$(BASE_VERSION)) languages := $(filter-out d,$(languages)) endif ifeq ($(PKGSOURCE),gdc-$(BASE_VERSION)) languages = d addons = ifeq ($(with_libphobos),yes) addons += libphobos endif endif endif ifneq ($(DEB_CROSS),yes) # no docs for cross compilers ifneq ($(GFDL_INVARIANT_FREE),yes) addons += gfdldoc endif endif endif # not stage control-file: echo "addons: $(addons)"; \ m4 $(ctrl_flags) \ -DPV=$(pkg_ver) \ -DCXX_SO=$(CXX_SONAME) \ -DGCC_SO=$(GCC_SONAME) \ -DOBJC_SO=$(OBJC_SONAME) \ -DFORTRAN_SO=$(FORTRAN_SONAME) \ -DGCJ_SO=$(PKG_GCJ_EXT) \ -DLIBGCJ_EXT=$(PKG_LIBGCJ_EXT) \ -DGNAT_SO=$(GNAT_SONAME) \ -DGNAT_V=$(GNAT_VERSION) \ -DPHOBOS_V=$(GPHOBOS_SONAME) \ -DGDRUNTIME_V=$(GDRUNTIME_SONAME) \ -DGOMP_SO=$(GOMP_SONAME) \ -DITM_SO=$(ITM_SONAME) \ -DATOMIC_SO=$(ATOMIC_SONAME) \ -DBTRACE_SO=$(BTRACE_SONAME) \ -DASAN_SO=$(ASAN_SONAME) \ -DLSAN_SO=$(LSAN_SONAME) \ -DTSAN_SO=$(TSAN_SONAME) \ -DUBSAN_SO=$(UBSAN_SONAME) \ -DVTV_SO=$(VTV_SONAME) \ -DCILKRTS_SO=$(CILKRTS_SONAME) \ -DMPX_SO=$(MPX_SONAME) \ -DQMATH_SO=$(QUADMATH_SONAME) \ -DSSP_SO=$(SSP_SONAME) \ -DGO_SO=$(GO_SONAME) \ -DCC1_SO=$(CC1_SONAME) \ -DGCCJIT_SO=$(GCCJIT_SONAME) \ -Denabled_languages="$(languages) $(addons)" \ -Dada_no_archs="$(ada_no_archs)" \ -Djava_no_archs="$(java_no_archs)" \ -Dfortran_no_archs="$(fortran_no_archs)" \ -Dlibgc_no_archs="$(libgc_no_archs)" \ -Dlibphobos_archs="$(libphobos_archs)" \ -Dlibphobos_no_archs="$(libphobos_no_archs)" \ -Dcheck_no_archs="$(check_no_archs)" \ -Dlocale_no_archs="$(locale_no_archs)" \ -Dlinux_gnu_archs="$(linux_gnu_archs)" \ -Dbiarch32_archs="$(strip $(subst /, ,$(biarch32archs)))" \ -Dbiarch64_archs="$(strip $(subst /, ,$(biarch64archs)))" \ -Dbiarchn32_archs="$(strip $(subst /, ,$(biarchn32archs)))" \ -Dbiarchx32_archs="$(strip $(subst /, ,$(biarchx32archs)))" \ -Dbiarchhf_archs="$(strip $(subst /, ,$(biarchhfarchs)))" \ -Dbiarchsf_archs="$(strip $(subst /, ,$(biarchsfarchs)))" \ -Dadd_built_using=$(add_built_using) \ -DGCC_PORTS_BUILD=$(GCC_PORTS_BUILD) \ -DPR66145BREAKS="$(if $(findstring build-native,$(build_type)),$(if $(filter new,$(libstdcxx_abi)),$$(tr '\n' ' ' < debian/libstdc++-breaks.$(derivative))))" \ debian/control.m4 > debian/control.tmp2 uniq debian/control.tmp2 | sed '/^Build/s/ *, */, /g;/^ /s/ *, */, /g' \ $(if $(filter yes, $(with_base_only)), | awk '/^$$/ {if (p) exit; else p=1; } {print}') \ > debian/control.tmp rm -f debian/control.tmp2 [ -e debian/control ] \ && cmp -s debian/control debian/control.tmp \ && rm -f debian/control.tmp && exit 0; \ mv debian/control.tmp debian/control; touch $(control_stamp) readme-bugs-file: m4 -DDIST=$(distribution) -DSRCNAME=$(PKGSOURCE) \ debian/README.Bugs.m4 > debian/README.Bugs copyright-file: rm -f debian/copyright if echo $(SOURCE_VERSION) | grep -E ^'[0-9]\.[0-9]-[0-9]{8}' ; \ then SVN_BRANCH="trunk" ; \ else \ SVN_BRANCH="gcc-$(subst .,_,$(BASE_VERSION))-branch" ; \ fi ; \ sed debian/copyright.in \ -e "s/@BV@/$(BASE_VERSION)/g" \ -e "s/@SVN_BRANCH@/$$SVN_BRANCH/g" \ > debian/copyright substvars-file: control-file rm -f debian/substvars.local.tmp ( \ echo 'libgcc:Version=$(DEB_LIBGCC_VERSION)'; \ echo 'gcc:Version=$(DEB_GCC_VERSION)'; \ echo 'gcc:EpochVersion=$(DEB_EVERSION)'; \ echo 'gcc:SoftVersion=$(DEB_GCC_SOFT_VERSION)'; \ echo 'gdc:Version=$(DEB_GDC_VERSION)'; \ echo 'gcj:Version=$(DEB_GCJ_VERSION)'; \ echo 'gcj:SoftVersion=$(DEB_GCJ_SOFT_VERSION)'; \ echo 'gcj:BaseVersion=$(BASE_VERSION)'; \ echo 'gnat:Version=$(DEB_GNAT_VERSION)'; \ echo 'gnat:SoftVersion=$(DEB_GNAT_SOFT_VERSION)'; \ echo 'binutils:Version=$(BINUTILSV)'; \ echo 'dep:libgcc=$(LIBGCC_DEP)'; \ echo 'dep:libgccdev=$(LIBGCC_DEV_DEP)'; \ echo 'dep:libgccbiarch=$(libgccbiarch)'; \ echo 'dep:libgccbiarchdev=$(libgccbiarchdev)'; \ echo 'dep:libc=$(LIBC_DEP) (>= $(libc_ver))'; \ echo 'dep:libcdev=$(LIBC_DEV_DEP)'; \ echo 'dep:libcbiarch=$(LIBC_BIARCH_DEP)'; \ echo 'dep:libcbiarchdev=$(LIBC_BIARCH_DEV_DEP)'; \ echo 'dep:libunwinddev=$(LIBUNWIND_DEV_DEP)'; \ echo 'dep:libcxxbiarchdev=$(libstdc++biarchdev)'; \ echo 'dep:libcxxbiarchdbg=$(libstdc++biarchdbg)'; \ echo 'dep:libgnat=$(LIBGNAT_DEP)'; \ echo 'dep:ecj=$(ECJ_DEP)'; \ echo 'base:Breaks=$(BASE_BREAKS)'; \ ) > debian/substvars.local.tmp ifneq (,$(filter $(DEB_TARGET_ARCH), $(multilib_archs))) ( \ echo 'gcc:multilib=gcc-$(BASE_VERSION)-multilib$(TS)'; \ echo 'gxx:multilib=g++-$(BASE_VERSION)-multilib$(TS)'; \ echo 'gobjc:multilib=gobjc-$(BASE_VERSION)-multilib$(TS)'; \ echo 'gobjcxx:multilib=gobjc++-$(BASE_VERSION)-multilib$(TS)'; \ echo 'gfortran:multilib=gfortran-$(BASE_VERSION)-multilib$(TS)'; \ ) >> debian/substvars.local.tmp endif ifeq ($(with_gold),yes) echo 'dep:gold=binutils-gold (>= $(BINUTILSV))' \ >> debian/substvars.local.tmp endif ifeq ($(with_libssp),yes) echo 'dep:libssp=libssp$(SSP_SONAME)$(LS)$(AQ) (>= $${gcc:Version})' \ >> debian/substvars.local.tmp endif ifeq ($(with_gomp),yes) echo 'dep:libgomp=libgomp$(GOMP_SONAME)$(LS)$(AQ) (>= $${gcc:Version})' \ >> debian/substvars.local.tmp endif ifeq ($(with_itm),yes) echo 'dep:libitm=libitm$(ITM_SONAME)$(LS)$(AQ) (>= $${gcc:Version})' \ >> debian/substvars.local.tmp endif ifeq ($(with_atomic),yes) echo 'dep:libatomic=libatomic$(ATOMIC_SONAME)$(LS)$(AQ) (>= $${gcc:Version})' \ >> debian/substvars.local.tmp endif ifeq ($(with_libbacktrace),yes) echo 'dep:libbacktrace=libbtrace$(BTRACE_SONAME)$(LS)$(AQ) (>= $${gcc:Version})' \ >> debian/substvars.local.tmp endif ifeq ($(with_asan),yes) echo 'dep:libasan=libasan$(ASAN_SONAME)$(LS)$(AQ) (>= $${gcc:Version})' \ >> debian/substvars.local.tmp endif ifeq ($(with_lsan),yes) echo 'dep:liblsan=liblsan$(LSAN_SONAME)$(LS)$(AQ) (>= $${gcc:Version})' \ >> debian/substvars.local.tmp endif ifeq ($(with_tsan),yes) echo 'dep:libtsan=libtsan$(TSAN_SONAME)$(LS)$(AQ) (>= $${gcc:Version})' \ >> debian/substvars.local.tmp endif ifeq ($(with_ubsan),yes) echo 'dep:libubsan=libubsan$(UBSAN_SONAME)$(LS)$(AQ) (>= $${gcc:Version})' \ >> debian/substvars.local.tmp endif ifeq ($(with_vtv),yes) echo 'dep:libvtv=libvtv$(VTV_SONAME)$(LS)$(AQ) (>= $${gcc:Version})' \ >> debian/substvars.local.tmp endif ifeq ($(with_cilkrts),yes) echo 'dep:libcilkrts=libcilkrts$(CILKRTS_SONAME)$(LS)$(AQ) (>= $${gcc:Version})' \ >> debian/substvars.local.tmp endif ifeq ($(with_mpx),yes) echo 'dep:libmpx=libmpx$(MPX_SONAME)$(LS)$(AQ) (>= $${gcc:Version})' \ >> debian/substvars.local.tmp endif ifeq ($(with_qmath),yes) echo 'dep:libqmath=libquadmath$(QUADMATH_SONAME)$(LS)$(AQ) (>= $${gcc:Version})' \ >> debian/substvars.local.tmp endif ifeq ($(distribution),Debian) echo 'dep:libx32z=$(if $(filter $(distribution), Debian),,libx32z1-dev)' \ >> debian/substvars.local.tmp endif ifeq ($(multilib),yes) echo 'dep:libgfortranbiarchdev=$(libgfortranbiarchdev)' \ >> debian/substvars.local.tmp echo 'dep:libobjcbiarchdev=$(libobjcbiarchdev)' \ >> debian/substvars.local.tmp ifeq ($(with_libphobos),yes) echo 'dep:libphobosbiarchdev=$(libgphobosbiarchdev)' \ >> debian/substvars.local.tmp endif ifeq ($(with_libssp),yes) echo 'dep:libsspbiarch=$(libsspbiarch)' \ >> debian/substvars.local.tmp endif ifeq ($(with_gomp),yes) echo 'dep:libgompbiarch=$(libgompbiarch)' \ >> debian/substvars.local.tmp endif ifeq ($(with_itm),yes) echo 'dep:libitmbiarch=$(libitmbiarch)' \ >> debian/substvars.local.tmp endif ifeq ($(with_atomic),yes) echo 'dep:libatomicbiarch=$(libatomicbiarch)' \ >> debian/substvars.local.tmp endif ifeq ($(with_libbacktrace),yes) echo 'dep:libbtracebiarch=$(libbtracebiarch)' \ >> debian/substvars.local.tmp endif ifeq ($(with_asan),yes) echo 'dep:libasanbiarch=$(libasanbiarch)' \ >> debian/substvars.local.tmp endif ifeq ($(with_lsan),yes) #echo 'dep:liblsanbiarch=$(liblsanbiarch)' \ # >> debian/substvars.local.tmp endif ifeq ($(with_tsan),yes) #echo 'dep:libtsanbiarch=$(libtsanbiarch)' \ # >> debian/substvars.local.tmp endif ifeq ($(with_ubsan),yes) echo 'dep:libubsanbiarch=$(libubsanbiarch)' \ >> debian/substvars.local.tmp endif ifeq ($(with_vtv),yes) echo 'dep:libvtvbiarch=$(libvtvbiarch)' \ >> debian/substvars.local.tmp endif ifeq ($(with_cilkrts),yes) echo 'dep:libcilkrtsbiarch=$(libcilkrtsbiarch)' \ >> debian/substvars.local.tmp endif ifeq ($(with_mpx),yes) echo 'dep:libmpxbiarch=$(libmpxbiarch)' \ >> debian/substvars.local.tmp endif ifeq ($(with_qmath),yes) echo 'dep:libqmathbiarch=$(libquadmathbiarch)' \ >> debian/substvars.local.tmp endif ifeq ($(with_go),yes) echo 'dep:libgobiarchdev=$(libgobiarchdev)' \ >> debian/substvars.local.tmp echo 'dep:libgobiarch=$(libgobiarch)' \ >> debian/substvars.local.tmp endif ifeq ($(with_libphobosdev),yes) echo 'dep:libphobosbiarchdev=$(libgphobosbiarchdev)' \ >> debian/substvars.local.tmp echo 'dep:libphobosbiarch=$(libgphobosbiarch)' \ >> debian/substvars.local.tmp endif endif ifneq ($(with_standalone_gcj),yes) ifneq (,$(filter $(DEB_HOST_ARCH),armel armhf)) echo 'dep:gcj=g++$(pkg_ver) (>= $(DEB_GCC_SOFT_VERSION))' \ >> debian/substvars.local.tmp else echo 'dep:gcj=gcc$(pkg_ver) (>= $(DEB_GCC_SOFT_VERSION))' \ >> debian/substvars.local.tmp endif ifeq ($(DEB_CROSS),yes) echo 'dep:gcjcross=gcj$(pkg_ver) (>= $(DEB_GCC_SOFT_VERSION))' \ >> debian/substvars.local.tmp endif endif ifeq ($(DEB_CROSS),yes) echo 'dep:gdccross=gdc$(pkg_ver) (>= $(DEB_GCC_SOFT_VERSION))' \ >> debian/substvars.local.tmp endif ifeq ($(with_libphobos),yes) echo 'dep:phobosdev=libgphobos$(pkg_ver)-dev$(LS)$(AQ) (>= $(DEB_GCC_SOFT_VERSION))' \ >> debian/substvars.local.tmp ifeq ($(DEB_CROSS),yes) : # FIXME: make the cross gdc aware of both include paths echo 'dep:gdccross=gdc$(pkg_ver) (>= $(DEB_GCC_SOFT_VERSION))' \ >> debian/substvars.local.tmp endif endif ifeq ($(with_cc1),yes) ifneq (,$(findstring build-cross, $(build_type))) echo 'dep:libcc1=libcc1-$(CC1_SONAME) (>= $${gcc:SoftVersion})' \ >> debian/substvars.local.tmp else echo 'dep:libcc1=libcc1-$(CC1_SONAME) (>= $${gcc:Version})' \ >> debian/substvars.local.tmp endif endif #ifneq (,$(findstring gtk, $(java_awt_peers))) # echo 'pkg:gcjgtk=libgcj$(subst 0,,$(GCJ_SONAME))-awt-gtk (>= $(DEB_GCJ_VERSION))' \ # >> debian/substvars.local.tmp #endif #ifneq (,$(findstring qt, $(java_awt_peers))) # echo 'pkg:gcjqt=libgcj$(subst 0,,$(GCJ_SONAME))-awt-qt (>= $(DEB_GCJ_VERSION))' \ # >> debian/substvars.local.tmp #endif ifeq ($(DEB_HOST_ARCH),hppa) echo 'dep:prctl=prctl' >> debian/substvars.local.tmp endif ifeq ($(derivative)-$(DEB_HOST_ARCH),Debian-amd64) echo 'confl:lib32=libc6-i386 (<< 2.9-22)' >> debian/substvars.local.tmp endif ifeq ($(with_multiarch_lib),yes) echo 'multiarch:breaks=gcc-4.3 (<< 4.3.6-1), gcc-4.4 (<< 4.4.6-4), gcc-4.5 (<< 4.5.3-2)' >> debian/substvars.local.tmp endif echo 'golang:Conflicts=golang-go (<< 2:1.3.3-1ubuntu2)' >> debian/substvars.local.tmp ifeq ($(add_built_using),yes) echo "Built-Using=$(shell dpkg-query -f '$${source:Package} (= $${source:Version}), ' -W gcc$(pkg_ver)-source)" \ >> debian/substvars.local.tmp endif v=`sed -n '/^#define MOD_VERSION/s/.* "\([0-9]*\)"/\1/p' \ $(srcdir)/gcc/fortran/module.c`; \ echo "fortran:mod-version=gfortran-mod-$$v" >> debian/substvars.local.tmp [ -e debian/substvars.local ] \ && cmp -s debian/substvars.local debian/substvars.local.tmp \ && rm -f debian/substvars.local.tmp && exit 0; \ mv debian/substvars.local.tmp debian/substvars.local; \ touch $(control_stamp) parameters-file: rm -f debian/rules.parameters.tmp ( \ echo '# configuration parameters taken from upstream source files'; \ echo 'GCC_VERSION := $(GCC_VERSION)'; \ echo 'NEXT_GCC_VERSION := $(NEXT_GCC_VERSION)'; \ echo 'BASE_VERSION := $(BASE_VERSION)'; \ echo 'SOURCE_VERSION := $(SOURCE_VERSION)'; \ echo 'DEB_VERSION := $(DEB_VERSION)'; \ echo 'DEB_EVERSION := $(DEB_EVERSION)'; \ echo 'DEB_GDC_VERSION := $(DEB_GDC_VERSION)'; \ echo 'DEB_SOVERSION := $(DEB_SOVERSION)'; \ echo 'DEB_SOEVERSION := $(DEB_SOEVERSION)'; \ echo 'DEB_LIBGCC_SOVERSION := $(DEB_LIBGCC_SOVERSION)'; \ echo 'DEB_LIBGCC_VERSION := $(DEB_LIBGCC_VERSION)'; \ echo 'DEB_STDCXX_SOVERSION := $(DEB_STDCXX_SOVERSION)'; \ echo 'DEB_GCJ_SOVERSION := $(DEB_GCJ_SOVERSION)'; \ echo 'PKG_GCJ_EXT := $(PKG_GCJ_EXT)'; \ echo 'PKG_LIBGCJ_EXT := $(PKG_LIBGCJ_EXT)'; \ echo 'DEB_GOMP_SOVERSION := $(DEB_GOMP_SOVERSION)'; \ echo 'GCC_SONAME := $(GCC_SONAME)'; \ echo 'CXX_SONAME := $(CXX_SONAME)'; \ echo 'FORTRAN_SONAME := $(FORTRAN_SONAME)'; \ echo 'OBJC_SONAME := $(OBJC_SONAME)'; \ echo 'GCJ_SONAME := $(GCJ_SONAME)'; \ echo 'GDC_VERSION := $(GDC_VERSION)'; \ echo 'GNAT_VERSION := $(GNAT_VERSION)'; \ echo 'GNAT_SONAME := $(GNAT_SONAME)'; \ echo 'FFI_SONAME := $(FFI_SONAME)'; \ echo 'SSP_SONAME := $(SSP_SONAME)'; \ echo 'GOMP_SONAME := $(GOMP_SONAME)'; \ echo 'ITM_SONAME := $(ITM_SONAME)'; \ echo 'ATOMIC_SONAME := $(ATOMIC_SONAME)'; \ echo 'BTRACE_SONAME := $(BTRACE_SONAME)'; \ echo 'ASAN_SONAME := $(ASAN_SONAME)'; \ echo 'LSAN_SONAME := $(LSAN_SONAME)'; \ echo 'TSAN_SONAME := $(TSAN_SONAME)'; \ echo 'UBSAN_SONAME := $(UBSAN_SONAME)'; \ echo 'VTV_SONAME := $(VTV_SONAME)'; \ echo 'CILKRTS_SONAME := $(CILKRTS_SONAME)'; \ echo 'MPX_SONAME := $(MPX_SONAME)'; \ echo 'QUADMATH_SONAME := $(QUADMATH_SONAME)'; \ echo 'GO_SONAME := $(GO_SONAME)'; \ echo 'CC1_SONAME := $(CC1_SONAME)'; \ echo 'GCCJIT_SONAME := $(GCCJIT_SONAME)'; \ echo 'GPHOBOS_SONAME := $(GPHOBOS_SONAME)'; \ echo 'GDRUNTIME_SONAME := $(GDRUNTIME_SONAME)'; \ echo 'LIBC_DEP := $(LIBC_DEP)'; \ ) > debian/rules.parameters.tmp [ -e debian/rules.parameters ] \ && cmp -s debian/rules.parameters debian/rules.parameters.tmp \ && rm -f debian/rules.parameters.tmp && exit 0; \ mv debian/rules.parameters.tmp debian/rules.parameters; \ touch $(control_stamp) symbols-files: control-file ifeq ($(DEB_CROSS),yes) ifneq ($(DEB_STAGE),rtlibs) test -n "$(LS)" set -e; \ for p in $$(dh_listpackages -i | grep '^lib'); do \ p=$${p%$(LS)}; \ if [ -f debian/$$p.symbols.$(DEB_TARGET_ARCH) ]; then \ f=debian/$$p.symbols.$(DEB_TARGET_ARCH); \ elif [ -f debian/$$p.symbols ]; then \ f=debian/$$p.symbols; \ else \ continue; \ fi; \ link=debian/$$p$(LS).symbols; \ if [ -L $$link ]; then \ echo >&2 "removing left over symbols file link: $$link"; \ rm -f $$link; \ fi; \ ln -s $$f $$link; \ done endif endif versioned-files: fs=`echo debian/*BV* debian/*GCJ* debian/*CXX* debian/*LC* | sort -u`; \ for f in $$fs debian/source.lintian-overrides.in; do \ [ -f $$f ] || echo "CANNOT FIND $$f"; \ [ -f $$f ] || continue; \ if [ -z "$(DEB_CROSS)" ]; then case "$$f" in *-CR*) continue; esac; fi; \ f2=$$(echo $$f \ | sed 's/BV/$(BASE_VERSION)/;s/CXX/$(CXX_SONAME)/;s/LGCJ/$(PKG_LIBGCJ_EXT)/;s/GCJ/$(PKG_GCJ_EXT)/;s/LC/$(GCC_SONAME)/;s/-CRB/$(cross_bin_arch)/;s/\.in$$//'); \ sed -e 's/@BV@/$(BASE_VERSION)/g' \ -e 's/@CXX@/$(CXX_SONAME)/g' \ -e 's/@LGCJ@/$(PKG_LIBGCJ_EXT)/g' \ -e 's/@GCJ@/$(PKG_GCJ_EXT)/g' \ -e 's/@GCJSO@/$(GCJ_SONAME)/g' \ -e 's/@LC@/$(GCC_SONAME)/g' \ -e 's/@SRC@/$(PKGSOURCE)/g' \ -e 's/@GFDL@/$(if $(filter yes,$(GFDL_INVARIANT_FREE)),#)/g' \ -e 's/@java_priority@/$(java_priority)/g' \ -e 's/@gcc_priority@/$(subst .,,$(BASE_VERSION))/g' \ -e 's/@TARGET@/$(DEB_TARGET_GNU_TYPE)/g' \ -e 's/@TARGET_QUAL@/$(TARGET_QUAL)/g' \ $$f > $$f2; \ touch -r $$f $$f2; \ done for t in ar nm ranlib; do \ sed "s/@BV@/$(BASE_VERSION)/g;s/@TOOL@/$$t/g" \ debian/gcc-XX-BV.1 > debian/gcc-$$t-$(BASE_VERSION).1; \ done # don't encode versioned build dependencies in the control file, but check # these here instead. check-versions: v=$$(dpkg-query -l dpkg-dev | awk '/^.i/ {print $$3}'); \ if dpkg --compare-versions "$$v" lt "$(DPKGV)"; then \ echo "dpkg-dev (>= $(DPKGV)) required, found $$v"; \ exit 1; \ fi v=$$(dpkg-query -l binutils binutils-multiarch 2>/dev/null | awk '/^.i/ {print $$3;exit}'); \ if dpkg --compare-versions "$$v" lt "$(BINUTILSBDV)"; then \ echo "binutils (>= $(BINUTILSBDV)) required, found $$v"; \ exit 1; \ fi .PRECIOUS: $(stampdir)/%-stamp