[gcc-6] 25/401: * Set target tools and build dependencies for cross builds.

Ximin Luo infinity0 at debian.org
Wed Apr 5 15:47:57 UTC 2017


This is an automated email from the git hooks/post-receive script.

infinity0 pushed a commit to branch pu/reproducible_builds
in repository gcc-6.

commit 69d7994f5d8021088d02ede0334537ac06097e0e
Author: doko <doko at 6ca36cf4-e1d1-0310-8c6f-e303bb2178ca>
Date:   Wed Dec 16 19:26:17 2015 +0000

      * Set target tools and build dependencies for cross builds.
    
    
    git-svn-id: svn://anonscm.debian.org/gcccvs/branches/sid/gcc-6@8539 6ca36cf4-e1d1-0310-8c6f-e303bb2178ca
---
 debian/changelog  |  1 +
 debian/control    | 11 +++----
 debian/control.m4 |  5 ++--
 debian/rules.conf | 89 ++++++++++++++++++++++++++++++++++++++++++++-----------
 debian/rules2     | 13 +++++++-
 5 files changed, 93 insertions(+), 26 deletions(-)

diff --git a/debian/changelog b/debian/changelog
index b1382f5..99349b4 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,6 +1,7 @@
 gcc-6 (6-20151213-2) UNRELEASED; urgency=medium
 
   * Update libstdc++-dbg conflicts. Closes: #807885.
+  * Set target tools and build dependencies for cross builds.
 
  -- Matthias Klose <doko at debian.org>  Mon, 14 Dec 2015 13:55:03 +0100
 
diff --git a/debian/control b/debian/control
index 97c8a7c..3fd75d2 100644
--- a/debian/control
+++ b/debian/control
@@ -5,20 +5,21 @@ Maintainer: Debian GCC Maintainers <debian-gcc at lists.debian.org>
 Uploaders: Matthias Klose <doko at debian.org>
 Standards-Version: 3.9.6
 Build-Depends: debhelper (>= 5.0.62), dpkg-dev (>= 1.17.11), 
-  g++-multilib [amd64 i386 kfreebsd-amd64 mips mips64 mips64el mipsel mipsn32 mipsn32el powerpc ppc64 s390 s390x sparc sparc64 x32], g++-5 [arm64], 
+  g++-multilib <!cross> [amd64 i386 kfreebsd-amd64 mips mips64 mips64el mipsel mipsn32 mipsn32el powerpc ppc64 s390 s390x sparc sparc64 x32], g++-5 <!cross> [arm64], 
   libc6.1-dev (>= 2.13-5) [alpha ia64] | libc0.3-dev (>= 2.13-5) [hurd-i386] | libc0.1-dev (>= 2.13-5) [kfreebsd-i386 kfreebsd-amd64] | libc6-dev (>= 2.13-5), libc6-dev (>= 2.13-31) [armel armhf], 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 mi [...]
   kfreebsd-kernel-headers (>= 0.84) [kfreebsd-any], linux-libc-dev [m68k], 
   m4, libtool, autoconf2.64, 
   libunwind7-dev (>= 0.98.5-6) [ia64], libatomic-ops-dev [ia64], 
   autogen, gawk, lzma, xz-utils, patchutils, 
   zlib1g-dev, systemtap-sdt-dev [linux-any kfreebsd-any hurd-any], 
-  binutils (>= 2.25.90) | binutils-multiarch (>= 2.25.90), binutils-hppa64-linux-gnu (>= 2.25.90) [hppa amd64 i386 x32], 
+  binutils:native (>= 2.25.90) | binutils-multiarch:native (>= 2.25.90), binutils-hppa64-linux-gnu:native (>= 2.25.90) [hppa amd64 i386 x32], 
   gperf (>= 3.0.1), bison (>= 1:2.3), flex, gettext, 
-  gdb, 
+  gdb:native, 
   texinfo (>= 4.3), locales, sharutils, 
-  procps, zlib1g-dev, libantlr-java, python, libffi-dev, fastjar, libmagic-dev, libecj-java (>= 3.3.0-2), zip, libasound2-dev [ !hurd-any !kfreebsd-any], libxtst-dev, libxt-dev, libgtk2.0-dev (>= 2.4.4-2), libart-2.0-dev, libcairo2-dev, gnat-5 [!m32r !sh3 !sh3eb !sh4eb !powerpcspe !mips64 !x32 !m68k !sh4 !sparc64], g++-5, netbase, 
+  procps, zlib1g-dev, libantlr-java, python:native, libffi-dev, fastjar, libmagic-dev <!cross>, libecj-java (>= 3.3.0-2), zip, libasound2-dev [ !hurd-any !kfreebsd-any] <!cross>, libxtst-dev <!cross>, libxt-dev <!cross>, libgtk2.0-dev (>= 2.4.4-2) <!cross>, libart-2.0-dev <!cross>, libcairo2-dev, <!cross> gnat-5:native [!m32r !sh3 !sh3eb !sh4eb !powerpcspe !mips64 !x32 !m68k !sh4 !sparc64], g++-5:native, netbase, 
   libisl-dev (>= 0.14), libmpc-dev (>= 1.0), libmpfr-dev (>= 3.0.0-9~), libgmp-dev (>= 2:5.0.1~), 
-  dejagnu [!m68k], realpath (>= 1.9.12), chrpath, lsb-release, quilt
+  dejagnu [!m68k], realpath (>= 1.9.12), chrpath, lsb-release, quilt, 
+   g++-6-alpha-linux-gnu [alpha] <cross>, gobjc-6-alpha-linux-gnu [alpha] <cross>, gfortran-6-alpha-linux-gnu [alpha] <cross>, gcj-6-alpha-linux-gnu [alpha] <cross>, gdc-6-alpha-linux-gnu [alpha] <cross>, gccgo-6-alpha-linux-gnu [alpha] <cross>, gnat-6-alpha-linux-gnu [alpha] <cross>, g++-6-x86-64-linux-gnu [amd64] <cross>, gobjc-6-x86-64-linux-gnu [amd64] <cross>, gfortran-6-x86-64-linux-gnu [amd64] <cross>, gcj-6-x86-64-linux-gnu [amd64] <cross>, gdc-6-x86-64-linux-gnu [amd64] <cross>, [...]
 Build-Depends-Indep: doxygen (>= 1.7.2), graphviz (>= 2.2), ghostscript, texlive-latex-base, xsltproc, libxml2-utils, docbook-xsl-ns, 
 Homepage: http://gcc.gnu.org/
 Vcs-Browser: http://svn.debian.org/viewsvn/gcccvs/branches/sid/gcc-6/
diff --git a/debian/control.m4 b/debian/control.m4
index 14c0eaf..31601de 100644
--- a/debian/control.m4
+++ b/debian/control.m4
@@ -78,11 +78,12 @@ Build-Depends: debhelper (>= 5.0.62), DPKG_BUILD_DEP
   zlib1g-dev, SDT_BUILD_DEP
   BINUTILS_BUILD_DEP,
   gperf (>= 3.0.1), bison (>= 1:2.3), flex, gettext,
-  gdb,
+  gdb`'NT,
   texinfo (>= 4.3), locales, sharutils,
   procps, FORTRAN_BUILD_DEP JAVA_BUILD_DEP GNAT_BUILD_DEP GO_BUILD_DEP GDC_BUILD_DEP
   ISL_BUILD_DEP MPC_BUILD_DEP MPFR_BUILD_DEP GMP_BUILD_DEP
-  CHECK_BUILD_DEP realpath (>= 1.9.12), chrpath, lsb-release, quilt
+  CHECK_BUILD_DEP realpath (>= 1.9.12), chrpath, lsb-release, quilt,
+  TARGET_TOOL_BUILD_DEP
 Build-Depends-Indep: LIBSTDCXX_BUILD_INDEP JAVA_BUILD_INDEP
 ')dnl
 ifelse(regexp(SRCNAME, `gnat'),0,`dnl
diff --git a/debian/rules.conf b/debian/rules.conf
index f08b3e1..f3bb823 100644
--- a/debian/rules.conf
+++ b/debian/rules.conf
@@ -212,11 +212,11 @@ else
   endif
 endif
 ifeq ($(DEB_CROSS),yes)
-  BINUTILS_BUILD_DEP = binutils$(TS) (>= $(BINUTILSBDV)), binutils-multiarch (>= $(BINUTILSBDV))
+  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 (>= $(BINUTILSBDV)) | binutils-multiarch (>= $(BINUTILSBDV))
+  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/-.*//')
@@ -226,10 +226,10 @@ else
   endif
 endif
 ifneq (,$(filter $(build_type), build-native cross-build-native))
-  ifeq ($(hppa64_archs),hppa))
-    BINUTILS_BUILD_DEP += , binutils-hppa64 (>= $(BINUTILSBDV)) [$(hppa64_archs)]
+  ifeq ($(hppa64_archs),hppa)
+    BINUTILS_BUILD_DEP += , binutils-hppa64$(NT) (>= $(BINUTILSBDV)) [$(hppa64_archs)]
   else
-    BINUTILS_BUILD_DEP += , binutils-hppa64-linux-gnu (>= $(BINUTILSBDV)) [$(hppa64_archs)]
+    BINUTILS_BUILD_DEP += , binutils-hppa64-linux-gnu$(NT) (>= $(BINUTILSBDV)) [$(hppa64_archs)]
   endif
 endif
 ifeq (,$(BINUTILSV))
@@ -361,8 +361,8 @@ endif
 
 # needed for the include/asm symlink to run the testsuite for
 # non default multilibs
-GCC_MULTILIB_BUILD_DEP = g++-multilib [$(multilib_archs)],
-GCC_MULTILIB_BUILD_DEP += g++-5 [arm64],
+GCC_MULTILIB_BUILD_DEP = g++-multilib$(pf_ncross) [$(multilib_archs)],
+GCC_MULTILIB_BUILD_DEP += g++-5$(pf_ncross) [arm64],
 
 LIBUNWIND_DEV_DEP := libunwind7-dev$(LS)$(AQ) (>= 0.98.5-6)
 LIBUNWIND_BUILD_DEP := $(LIBUNWIND_DEV_DEP) [ia64],
@@ -412,7 +412,57 @@ ifeq ($(PKGSOURCE),gcc-$(BASE_VERSION))
 endif
 
 ifneq ($(DEB_CROSS),yes)
-JAVA_BUILD_DEP := zlib1g-dev, libantlr-java, python, libffi-dev,
+# 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))
+  TARGET_TOOL_BUILD_DEP = bash, # non-empty line
+  pf_cross =
+  pf_ncross =
+else
+  TARGET_TOOL_BUILD_DEP = \
+	$(foreach a, $(any_archs), \
+	  g++-$(BASE_VERSION)-$(call _gnu_type,$(a)) [$(a)] <cross>, \
+	  $(if $(filter $(a), avr),, \
+	    gobjc-$(BASE_VERSION)-$(call _gnu_type,$(a)) [$(a)] <cross>,) \
+	  gfortran-$(BASE_VERSION)-$(call _gnu_type,$(a)) [$(a)] <cross>, \
+	  $(if $(filter $(a), avr),, \
+	    gcj-$(BASE_VERSION)-$(call _gnu_type,$(a)) [$(a)] <cross>,) \
+	  $(if $(filter $(a), s390 sh4),, \
+	    gdc-$(BASE_VERSION)-$(call _gnu_type,$(a)) [$(a)] <cross>,) \
+	  $(if $(filter $(a), hppa m68k sh4),, \
+	    gccgo-$(BASE_VERSION)-$(call _gnu_type,$(a)) [$(a)] <cross>,) \
+	  $(if $(filter $(a), m68k mips64 powerpcspe sh4 sparc64 x32),, \
+	    gnat-$(BASE_VERSION)-$(call _gnu_type,$(a)) [$(a)] <cross>,) \
+	)
+  pf_cross = $(SPACE)<cross>
+  pf_ncross = $(SPACE)<!cross>
+  NT = :native
+endif
+
+JAVA_BUILD_DEP := zlib1g-dev, libantlr-java, python$(NT), libffi-dev,
 
 ifeq ($(PKGSOURCE),gcj-$(BASE_VERSION))
   bd_java_archs =
@@ -423,23 +473,23 @@ else
 endif
 
 ifneq (,$(java_awt_peers))
-  JAVA_BUILD_DEP += fastjar$(bd_java_archs), libmagic-dev$(bd_java_archs),
+  JAVA_BUILD_DEP += fastjar$(bd_java_archs), libmagic-dev$(bd_java_archs)$(pf_ncross),
   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)],
+  JAVA_BUILD_DEP += libasound2-dev [$(java_no_archs) $(linux_no_archs)]$(pf_ncross),
   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),
+    JAVA_BUILD_DEP += libxtst-dev$(bd_java_archs)$(pf_ncross), libxt-dev$(bd_java_archs)$(pf_ncross), libgtk2.0-dev (>= 2.4.4-2)$(bd_java_archs)$(pf_ncross), libart-2.0-dev$(bd_java_archs)$(pf_ncross), libcairo2-dev$(bd_java_archs),$(pf_ncross)
   endif
   ifneq (,$(findstring qt,$(java_awt_peers)))
-    JAVA_BUILD_DEP += libqt4-dev (>= 4.1.0)$(bd_java_archs),
+    JAVA_BUILD_DEP += libqt4-dev (>= 4.1.0)$(bd_java_archs)$(pf_ncross),
   endif
   # gconf peer, disabled by default
-  #JAVA_BUILD_DEP += libgconf2-dev$(bd_java_archs),
+  #JAVA_BUILD_DEP += libgconf2-dev$(bd_java_archs)$(pf_ncross),
   # gstreamer peer
-  #JAVA_BUILD_DEP += libgstreamer-plugins-base0.10-dev$(bd_java_archs),
+  #JAVA_BUILD_DEP += libgstreamer-plugins-base0.10-dev$(bd_java_archs)$(pf_ncross),
 endif
 ifneq ($(with_standalone_gcj),yes)
   ifeq ($(PKGSOURCE),gcj-$(BASE_VERSION))
@@ -483,13 +533,13 @@ GO_BUILD_DEP := netbase,
 
 # try to build with itself, or with the last version
 ifneq (,$(filter $(distrelease), jessie))
-  gnat_build_dep := gnat-4.9 [$(ada_no_archs)], g++-4.9
+  gnat_build_dep := gnat-4.9$(NT) [$(ada_no_archs)], g++-4.9$(NT)
 else ifneq (,$(filter $(distrelease), stretch sid wheezy precise trusty wily xenial))
-  gnat_build_dep := gnat-5 [$(ada_no_archs)], g++-5
+  gnat_build_dep := gnat-5$(NT) [$(ada_no_archs)], g++-5$(NT)
 else ifneq (,$(filter $(distrelease), squeeze lucid))
   gnat_build_dep :=
 else
-  gnat_build_dep := gnat [$(ada_no_archs)]
+  gnat_build_dep := gnat$(NT) [$(ada_no_archs)]
 endif
 
 ifeq ($(PKGSOURCE),gcc-$(BASE_VERSION))
@@ -532,6 +582,7 @@ else ifeq ($(PKGSOURCE),gccgo-$(BASE_VERSION))
   GDC_BUILD_DEP := $(SOURCE_BUILD_DEP)
 endif
 
+
 else
 # build cross compiler
   CROSS_BUILD_DEP := libc6-dev$(cross_lib_arch),
@@ -638,12 +689,14 @@ ctrl_flags += \
 	-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)' \
 	-DMULTILIB_ARCHS="$(multilib_archs)" \
 	-DNEON_ARCHS="$(neon_archs)" \
 	-DTP=$(TP) \
 	-DTS=$(TS) \
 	-DLS=$(LS) \
-	-DAQ=$(AQ)
+	-DAQ=$(AQ) \
+	-DNT=$(NT)
 
 ifeq ($(DEB_CROSS),yes)
   ctrl_flags += \
diff --git a/debian/rules2 b/debian/rules2
index 6f726ef..9f66b4a 100644
--- a/debian/rules2
+++ b/debian/rules2
@@ -85,6 +85,17 @@ ifeq ($(with_ada),yes)
   CXX = $(subst gcc,g++,$(CC))
 endif
 
+ifneq (,$(filter $(build_type),cross-build-native cross-build-cross))
+  SET_TARGET_TOOLS = \
+	CC_FOR_TARGET=$(DEB_TARGET_GNU_TYPE)-gcc-$(BASE_VERSION) \
+	CXX_FOR_TARGET=$(DEB_TARGET_GNU_TYPE)-g++-$(BASE_VERSION) \
+	GFORTRAN_FOR_TARGET=$(DEB_TARGET_GNU_TYPE)-gfortran-$(BASE_VERSION) \
+	GCJ_FOR_TARGET=$(DEB_TARGET_GNU_TYPE)-gcj-$(BASE_VERSION) \
+	GOC_FOR_TARGET=$(DEB_TARGET_GNU_TYPE)-gccgo-$(BASE_VERSION) \
+	GNAT_FOR_TARGET=$(DEB_TARGET_GNU_TYPE)-gnat-$(BASE_VERSION) \
+	GDC_FOR_TARGET=$(DEB_TARGET_GNU_TYPE)-gdc-$(BASE_VERSION)
+endif
+
 ifeq ($(DEB_BUILD_GNU_TYPE),$(DEB_TARGET_GNU_TYPE))
   CC_FOR_TARGET = $(builddir)/gcc/xgcc -B$(builddir)/gcc/
 else
@@ -1151,7 +1162,7 @@ endif
 		$(CFLAGS_FOR_TARGET_TO_PASS) \
 		$(CXXFLAGS_FOR_TARGET_TO_PASS) \
 		$(LDFLAGS_FOR_TARGET_TO_PASS) \
-		$(SET_SHELL) \
+		$(SET_SHELL) $(SET_TARGET_TOOLS) \
 	LD_LIBRARY_PATH=$${LD_LIBRARY_PATH:+$$LD_LIBRARY_PATH:}$(builddir)/gcc/ada/rts \
 		../src/configure $(subst ___, ,$(CONFARGS))
 

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/reproducible/gcc-6.git



More information about the Reproducible-commits mailing list