[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