summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--debian/changelog1
-rw-r--r--debian/patches/cross-ma-install-location.diff306
-rw-r--r--debian/rules.patch8
-rw-r--r--debian/rules230
4 files changed, 336 insertions, 9 deletions
diff --git a/debian/changelog b/debian/changelog
index 786ec35..6f86181 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -18,6 +18,7 @@ gcc-4.7 (4.7.2-17) UNRELEASED; urgency=low
* When using the above,
- use the same settings for gcc_lib_dir, sysroot, header and C++ header
locations as for the native build.
+ - install libraries into the multiarch directories.
-- Matthias Klose <doko@debian.org> Wed, 19 Dec 2012 02:17:29 +0100
diff --git a/debian/patches/cross-ma-install-location.diff b/debian/patches/cross-ma-install-location.diff
new file mode 100644
index 0000000..a6720ea
--- /dev/null
+++ b/debian/patches/cross-ma-install-location.diff
@@ -0,0 +1,306 @@
+--- a/src/boehm-gc/configure.ac
++++ b/src/boehm-gc/configure.ac
+@@ -493,14 +493,8 @@
+ AC_DEFINE(USE_MMAP, 1, [use MMAP instead of sbrk to get new memory])
+ fi
+
+-if test -n "$with_cross_host" &&
+- test x"$with_cross_host" != x"no"; then
+- toolexecdir='$(exec_prefix)/$(target_noncanonical)'
+- toolexeclibdir='$(toolexecdir)/lib'
+-else
+- toolexecdir='$(libdir)/gcc-lib/$(target_noncanonical)'
+- toolexeclibdir='$(libdir)'
+-fi
++toolexecdir='$(libdir)/gcc-lib/$(target_noncanonical)'
++toolexeclibdir='$(libdir)'
+ multi_os_directory=`$CC -print-multi-os-directory`
+ case $multi_os_directory in
+ .) ;; # Avoid trailing /.
+--- a/src/libada/configure.ac
++++ b/src/libada/configure.ac
+@@ -65,15 +65,8 @@
+ toolexeclibdir='$(toolexecdir)/$(gcc_version)$(MULTISUBDIR)'
+ ;;
+ no)
+- if test -n "$with_cross_host" &&
+- test x"$with_cross_host" != x"no"; then
+- # Install a library built with a cross compiler in tooldir, not libdir.
+- toolexecdir='$(exec_prefix)/$(target_alias)'
+- toolexeclibdir='$(toolexecdir)/lib'
+- else
+- toolexecdir='$(libdir)/gcc-lib/$(target_alias)'
+- toolexeclibdir='$(libdir)'
+- fi
++ toolexecdir='$(libdir)/gcc-lib/$(target_alias)'
++ toolexeclibdir='$(libdir)'
+ multi_os_directory=`$CC -print-multi-os-directory`
+ case $multi_os_directory in
+ .) ;; # Avoid trailing /.
+--- a/src/libffi/configure.ac
++++ b/src/libffi/configure.ac
+@@ -421,14 +421,9 @@
+ AC_DEFINE(USING_PURIFY, 1, [Define this if you are using Purify and want to suppress spurious messages.])
+ fi)
+
+-if test -n "$with_cross_host" &&
+- test x"$with_cross_host" != x"no"; then
+- toolexecdir='$(exec_prefix)/$(target_alias)'
+- toolexeclibdir='$(toolexecdir)/lib'
+-else
+- toolexecdir='$(libdir)/gcc-lib/$(target_alias)'
+- toolexeclibdir='$(libdir)'
+-fi
++toolexecdir='$(libdir)/gcc-lib/$(target_alias)'
++toolexeclibdir='$(libdir)'
++
+ multi_os_directory=`$CC -print-multi-os-directory`
+ case $multi_os_directory in
+ .) ;; # Avoid trailing /.
+--- a/src/libgcc/configure.ac
++++ b/src/libgcc/configure.ac
+@@ -83,8 +83,6 @@
+ slibdir="$with_slibdir",
+ if test "${version_specific_libs}" = yes; then
+ slibdir='$(libsubdir)'
+-elif test -n "$with_cross_host" && test x"$with_cross_host" != x"no"; then
+- slibdir='$(exec_prefix)/$(host_noncanonical)/lib'
+ else
+ slibdir='$(libdir)'
+ fi)
+@@ -129,15 +127,8 @@
+ toolexeclibdir='$(toolexecdir)/$(gcc_version)$(MULTISUBDIR)'
+ ;;
+ no)
+- if test -n "$with_cross_host" &&
+- test x"$with_cross_host" != x"no"; then
+- # Install a library built with a cross compiler in tooldir, not libdir.
+- toolexecdir='$(exec_prefix)/$(target_noncanonical)'
+- toolexeclibdir='$(toolexecdir)/lib'
+- else
+- toolexecdir='$(libdir)/gcc-lib/$(target_noncanonical)'
+- toolexeclibdir='$(libdir)'
+- fi
++ toolexecdir='$(libdir)/gcc-lib/$(target_noncanonical)'
++ toolexeclibdir='$(libdir)'
+ multi_os_directory=`$CC -print-multi-os-directory`
+ case $multi_os_directory in
+ .) ;; # Avoid trailing /.
+--- a/src/libgfortran/configure.ac
++++ b/src/libgfortran/configure.ac
+@@ -98,15 +98,8 @@
+ toolexeclibdir='$(toolexecdir)/$(gcc_version)$(MULTISUBDIR)'
+ ;;
+ no)
+- if test -n "$with_cross_host" &&
+- test x"$with_cross_host" != x"no"; then
+- # Install a library built with a cross compiler in tooldir, not libdir.
+- toolexecdir='$(exec_prefix)/$(target_alias)'
+- toolexeclibdir='$(toolexecdir)/lib'
+- else
+- toolexecdir='$(libdir)/gcc-lib/$(target_alias)'
+- toolexeclibdir='$(libdir)'
+- fi
++ toolexecdir='$(libdir)/gcc-lib/$(target_alias)'
++ toolexeclibdir='$(libdir)'
+ multi_os_directory=`$CC -print-multi-os-directory`
+ case $multi_os_directory in
+ .) ;; # Avoid trailing /.
+--- a/src/libgo/configure.ac
++++ b/src/libgo/configure.ac
+@@ -77,14 +77,8 @@
+
+ # Calculate glibgo_toolexecdir, glibgo_toolexeclibdir
+ # Install a library built with a cross compiler in tooldir, not libdir.
+-if test -n "$with_cross_host" &&
+- test x"$with_cross_host" != x"no"; then
+- nover_glibgo_toolexecdir='${exec_prefix}/${host_alias}'
+- nover_glibgo_toolexeclibdir='${toolexecdir}/lib'
+-else
+- nover_glibgo_toolexecdir='${libdir}/gcc/${host_alias}'
+- nover_glibgo_toolexeclibdir='${libdir}'
+-fi
++nover_glibgo_toolexecdir='${libdir}/gcc/${host_alias}'
++nover_glibgo_toolexeclibdir='${libdir}'
+ multi_os_directory=`$CC -print-multi-os-directory`
+ case $multi_os_directory in
+ .) ;; # Avoid trailing /.
+--- a/src/libgomp/configure.ac
++++ b/src/libgomp/configure.ac
+@@ -76,15 +76,8 @@
+ toolexeclibdir='$(toolexecdir)/$(gcc_version)$(MULTISUBDIR)'
+ ;;
+ no)
+- if test -n "$with_cross_host" &&
+- test x"$with_cross_host" != x"no"; then
+- # Install a library built with a cross compiler in tooldir, not libdir.
+- toolexecdir='$(exec_prefix)/$(target_alias)'
+- toolexeclibdir='$(toolexecdir)/lib'
+- else
+- toolexecdir='$(libdir)/gcc-lib/$(target_alias)'
+- toolexeclibdir='$(libdir)'
+- fi
++ toolexecdir='$(libdir)/gcc-lib/$(target_alias)'
++ toolexeclibdir='$(libdir)'
+ multi_os_directory=`$CC -print-multi-os-directory`
+ case $multi_os_directory in
+ .) ;; # Avoid trailing /.
+--- a/src/libitm/configure.ac
++++ b/src/libitm/configure.ac
+@@ -89,15 +89,8 @@
+ toolexeclibdir='$(toolexecdir)/$(gcc_version)$(MULTISUBDIR)'
+ ;;
+ no)
+- if test -n "$with_cross_host" &&
+- test x"$with_cross_host" != x"no"; then
+- # Install a library built with a cross compiler in tooldir, not libdir.
+- toolexecdir='$(exec_prefix)/$(target_alias)'
+- toolexeclibdir='$(toolexecdir)/lib'
+- else
+- toolexecdir='$(libdir)/gcc-lib/$(target_alias)'
+- toolexeclibdir='$(libdir)'
+- fi
++ toolexecdir='$(libdir)/gcc-lib/$(target_alias)'
++ toolexeclibdir='$(libdir)'
+ multi_os_directory=`$CC -print-multi-os-directory`
+ case $multi_os_directory in
+ .) ;; # Avoid trailing /.
+--- a/src/libjava/configure.ac
++++ b/src/libjava/configure.ac
+@@ -1589,15 +1589,8 @@
+ toolexeclibdir=$toolexecmainlibdir
+ ;;
+ no)
+- if test -n "$with_cross_host" &&
+- test x"$with_cross_host" != x"no"; then
+- # Install a library built with a cross compiler in tooldir, not libdir.
+- toolexecdir='$(exec_prefix)/$(target_noncanonical)'
+- toolexecmainlibdir='$(toolexecdir)/lib'
+- else
+- toolexecdir='$(libdir)/gcc-lib/$(target_noncanonical)'
+- toolexecmainlibdir='$(libdir)'
+- fi
++ toolexecdir='$(libdir)/gcc-lib/$(target_noncanonical)'
++ toolexecmainlibdir='$(libdir)'
+ multi_os_directory=`$CC -print-multi-os-directory`
+ case $multi_os_directory in
+ .) toolexeclibdir=$toolexecmainlibdir ;; # Avoid trailing /.
+--- a/src/libmudflap/configure.ac
++++ b/src/libmudflap/configure.ac
+@@ -157,15 +157,8 @@
+ toolexeclibdir='$(toolexecdir)/$(gcc_version)$(MULTISUBDIR)'
+ ;;
+ no)
+- if test -n "$with_cross_host" &&
+- test x"$with_cross_host" != x"no"; then
+- # Install a library built with a cross compiler in tooldir, not libdir.
+- toolexecdir='$(exec_prefix)/$(target_alias)'
+- toolexeclibdir='$(toolexecdir)/lib'
+- else
+- toolexecdir='$(libdir)/gcc-lib/$(target_alias)'
+- toolexeclibdir='$(libdir)'
+- fi
++ toolexecdir='$(libdir)/gcc-lib/$(target_alias)'
++ toolexeclibdir='$(libdir)'
+ multi_os_directory=`$CC -print-multi-os-directory`
+ case $multi_os_directory in
+ .) ;; # Avoid trailing /.
+--- a/src/libobjc/configure.ac
++++ b/src/libobjc/configure.ac
+@@ -116,15 +116,8 @@
+ toolexeclibdir='$(toolexecdir)/$(gcc_version)$(MULTISUBDIR)'
+ ;;
+ no)
+- if test -n "$with_cross_host" &&
+- test x"$with_cross_host" != x"no"; then
+- # Install a library built with a cross compiler in tooldir, not libdir.
+- toolexecdir='$(exec_prefix)/$(target_noncanonical)'
+- toolexeclibdir='$(toolexecdir)/lib'
+- else
+- toolexecdir='$(libdir)/gcc-lib/$(target_noncanonical)'
+- toolexeclibdir='$(libdir)'
+- fi
++ toolexecdir='$(libdir)/gcc-lib/$(target_noncanonical)'
++ toolexeclibdir='$(libdir)'
+ multi_os_directory=`$CC -print-multi-os-directory`
+ case $multi_os_directory in
+ .) ;; # Avoid trailing /.
+--- a/src/libquadmath/configure.ac
++++ b/src/libquadmath/configure.ac
+@@ -93,15 +93,8 @@
+ toolexeclibdir='$(toolexecdir)/$(gcc_version)$(MULTISUBDIR)'
+ ;;
+ no)
+- if test -n "$with_cross_host" &&
+- test x"$with_cross_host" != x"no"; then
+- # Install a library built with a cross compiler in tooldir, not libdir.
+- toolexecdir='$(exec_prefix)/$(target_alias)'
+- toolexeclibdir='$(toolexecdir)/lib'
+- else
+- toolexecdir='$(libdir)/gcc-lib/$(target_alias)'
+- toolexeclibdir='$(libdir)'
+- fi
++ toolexecdir='$(libdir)/gcc-lib/$(target_alias)'
++ toolexeclibdir='$(libdir)'
+ multi_os_directory=`$CC -print-multi-os-directory`
+ case $multi_os_directory in
+ .) ;; # Avoid trailing /.
+--- a/src/libssp/configure.ac
++++ b/src/libssp/configure.ac
+@@ -170,15 +170,8 @@
+ toolexeclibdir='$(toolexecdir)/$(gcc_version)$(MULTISUBDIR)'
+ ;;
+ no)
+- if test -n "$with_cross_host" &&
+- test x"$with_cross_host" != x"no"; then
+- # Install a library built with a cross compiler in tooldir, not libdir.
+- toolexecdir='$(exec_prefix)/$(target_alias)'
+- toolexeclibdir='$(toolexecdir)/lib'
+- else
+- toolexecdir='$(libdir)/gcc-lib/$(target_alias)'
+- toolexeclibdir='$(libdir)'
+- fi
++ toolexecdir='$(libdir)/gcc-lib/$(target_alias)'
++ toolexeclibdir='$(libdir)'
+ multi_os_directory=`$CC -print-multi-os-directory`
+ case $multi_os_directory in
+ .) ;; # Avoid trailing /.
+--- a/src/libstdc++-v3/acinclude.m4
++++ b/src/libstdc++-v3/acinclude.m4
+@@ -804,14 +804,8 @@
+ # Calculate glibcxx_toolexecdir, glibcxx_toolexeclibdir
+ # Install a library built with a cross compiler in tooldir, not libdir.
+ if test x"$glibcxx_toolexecdir" = x"no"; then
+- if test -n "$with_cross_host" &&
+- test x"$with_cross_host" != x"no"; then
+- glibcxx_toolexecdir='${exec_prefix}/${host_alias}'
+- glibcxx_toolexeclibdir='${toolexecdir}/lib'
+- else
+- glibcxx_toolexecdir='${libdir}/gcc/${host_alias}'
+- glibcxx_toolexeclibdir='${libdir}'
+- fi
++ glibcxx_toolexecdir='${libdir}/gcc/${host_alias}'
++ glibcxx_toolexeclibdir='${libdir}'
+ multi_os_directory=`$CXX -print-multi-os-directory`
+ case $multi_os_directory in
+ .) ;; # Avoid trailing /.
+--- a/src/zlib/configure.ac
++++ b/src/zlib/configure.ac
+@@ -91,14 +91,9 @@
+
+ AC_CHECK_HEADERS(unistd.h)
+
+-if test -n "$with_cross_host" &&
+- test x"$with_cross_host" != x"no"; then
+- toolexecdir='$(exec_prefix)/$(target_alias)'
+- toolexeclibdir='$(toolexecdir)/lib'
+-else
+- toolexecdir='$(libdir)/gcc-lib/$(target_alias)'
+- toolexeclibdir='$(libdir)'
+-fi
++toolexecdir='$(libdir)/gcc-lib/$(target_alias)'
++toolexeclibdir='$(libdir)'
++
+ if test "$GCC" = yes && $CC -print-multi-os-directory > /dev/null 2>&1; then
+ multiosdir=/`$CC -print-multi-os-directory`
+ case $multiosdir in
diff --git a/debian/rules.patch b/debian/rules.patch
index 0071fd1..ad84cfc 100644
--- a/debian/rules.patch
+++ b/debian/rules.patch
@@ -231,8 +231,12 @@ debian_patches += arm-multilib-defaults
ifeq ($(DEB_CROSS),yes)
debian_patches += cross-fixes
- debian_patches += cross-install-location
- spu_patches := $(filter-out cross-install-location,$(spu_patches))
+ ifeq ($(with_deps_on_target_arch_pkgs),yes)
+ debian_patches += cross-ma-install-location
+ else
+ debian_patches += cross-install-location
+ spu_patches := $(filter-out cross-install-location,$(spu_patches))
+ endif
endif
ifeq ($(DEB_TARGET_ARCH_OS),hurd)
diff --git a/debian/rules2 b/debian/rules2
index be5d265..34b5707 100644
--- a/debian/rules2
+++ b/debian/rules2
@@ -660,21 +660,33 @@ endif
# PFL is the installation prefix with DEB_TARGET_GNU_TYPE attached for cross builds
ifeq ($(DEB_CROSS),yes)
- PFL = $(PF)/$(DEB_TARGET_GNU_TYPE)
+ ifneq ($(with_deps_on_target_arch_pkgs),yes)
+ PFL = $(PF)/$(DEB_TARGET_GNU_TYPE)
+ else
+ PFL = $(PF)
+ endif
else
PFL = $(PF)
endif
# RPF is the base prefix or installation prefix with DEB_TARGET_GNU_TYPE attached for cross builds
ifeq ($(DEB_CROSS),yes)
- RPF = $(PF)/$(DEB_TARGET_GNU_TYPE)
+ ifneq ($(with_deps_on_target_arch_pkgs),yes)
+ RPF = $(PF)/$(DEB_TARGET_GNU_TYPE)
+ else
+ RPF =
+ endif
else
RPF =
endif
ifeq ($(with_multiarch_lib),yes)
ifeq ($(DEB_CROSS),yes)
- libdir = lib
+ ifneq ($(with_deps_on_target_arch_pkgs),yes)
+ libdir = lib
+ else
+ libdir = lib/$(DEB_TARGET_MULTIARCH)
+ endif
else
libdir = lib/$(DEB_TARGET_MULTIARCH)
endif
@@ -725,11 +737,15 @@ d_l= debian/$(p_l)
d_d= debian/$(p_d)
ifeq ($(DEB_CROSS),yes)
- usr_lib = $(PFL)/lib
+ ifneq ($(with_deps_on_target_arch_pkgs),yes)
+ usr_lib = $(PFL)/lib
- # sh4 has multilib. base is sh4-linux-gnu. See #663028.
- ifneq (,$(findstring sh4-linux,$(DEB_TARGET_GNU_TYPE)))
- usr_lib = $(PFL)/lib/sh4-linux-gnu/
+ # sh4 has multilib. base is sh4-linux-gnu. See #663028.
+ ifneq (,$(findstring sh4-linux,$(DEB_TARGET_GNU_TYPE)))
+ usr_lib = $(PFL)/lib/sh4-linux-gnu/
+ endif
+ else
+ usr_lib = $(PFL)/$(libdir)
endif
else
usr_lib = $(PFL)/$(libdir)