hi folks this patch reworks the cross compiling facilities within the gcc package. i write this because the toolchain-source, which should do that work, isn't longer maintained. it changes the following: - debian/control.m4: - cross packages don't have a version - enable c++ cross package - debian/rules.d/binary-*-cross.mk: - add copies of the native rules - debian/rules.defs: - rework the arch resolution code - define DEB_TARGET_* along with DEB_HOST_* - enable common packages for cross compilation - explicite disable libffi from cross compilation - debian/rules*: - use DEB_CROSS for cross compile determination - debian/rules2: - change configure options - fix package names - import right make files bastian -- Sometimes a feeling is all we humans have to go on. -- Kirk, "A Taste of Armageddon", stardate 3193.9
diff -urN gcc-3.2-3.2.3ds0.orig/debian/changelog gcc-3.2-3.2.3ds0/debian/changelog
--- gcc-3.2-3.2.3ds0.orig/debian/changelog 2003-02-22 13:30:27.000000000 +0100
+++ gcc-3.2-3.2.3ds0/debian/changelog 2003-02-23 08:57:02.000000000 +0100
@@ -1,3 +1,9 @@
+gcc-3.2 (1:3.2.3ds0-0pre1.cross.1) unstable; urgency=low
+
+ * fix cross compile.
+
+ -- Bastian Blank <waldi@debian.org> Sun, 23 Feb 2003 08:57:02 +0100
+
gcc-3.2 (1:3.2.3ds0-0pre1) unstable; urgency=low
* gcc-3.2.3 prerelease (CVS 20030210)
diff -urN gcc-3.2-3.2.3ds0.orig/debian/control.m4 gcc-3.2-3.2.3ds0/debian/control.m4
--- gcc-3.2-3.2.3ds0.orig/debian/control.m4 2003-02-22 13:30:27.000000000 +0100
+++ gcc-3.2-3.2.3ds0/debian/control.m4 2003-02-23 09:03:15.000000000 +0100
@@ -47,48 +47,54 @@
')`'dnl native
ifenabled(`libgcc',`
-ifdef(`TARGET', `', `
Package: libgcc`'GCC_SO`'TS
Architecture: any
Section: libs
Priority: PRI(standard)
Depends: ${shlibs:Depends}
-Replaces: libgcc300, libgcc0
+ifdef(`TARGET',
+`Description: GCC support library (TARGET)
+',
+`Replaces: libgcc300, libgcc0
Description: GCC support library
+')`'dnl native
Shared version of the support library, a library of internal subroutines
that GCC uses to overcome shortcomings of particular machines, or
special needs for some languages.
-')`'dnl native
')`'dnl libgcc
ifenabled(`cdev',`
-ifdef(`TARGET', `
-dnl gcc cross compiler
-Package: gcc`'TS`'PV
+ifdef(`TARGET',
+`Package: gcc`'TS
+',
+`Package: gcc`'PV
+')`'dnl native
Architecture: any
Section: devel
Priority: PRI(optional)
-Depends: ${shlibs:Depends}, binutils`'TS (>= BINUTILSV)
+Depends: gcc`'PV-base, libgcc`'GCC_SO`'TS (>= CV), ${shlibs:Depends}, cpp`'PV (>= CV), cpp`'PV (<< NV), binutils`'TS (>= BINUTILSV)
+Suggests: task-c-devel
+ifdef(`TARGET',
+`Depends: gcc`'PV-base, libgcc`'GCC_SO`'TS (>= CV), ${shlibs:Depends}, cpp`'PV (>= CV), cpp`'PV (<< NV), binutils`'TS (>= BINUTILSV)
Suggests: task-c-devel
Provides: c-compiler`'TS
Recommends: TARGET-libc
Suggests: gcc`'PV-doc (>= CV)
-Description: The GNU C compiler (cross compiler for TARGET)
- This is the GNU C compiler, a fairly portable optimizing compiler for C.
-', `
-dnl gcc native compiler
-Package: gcc`'TS`'PV
-Architecture: any
-Depends: gcc`'TS`'PV-base, libgcc`'GCC_SO`'TS (>= CV), ${shlibs:Depends}, cpp`'TS`'PV (>= CV), cpp`'TS`'PV (<< NV), binutils`'TS (>= BINUTILSV)
+',
+`Depends: gcc`'TS`'PV-base, libgcc`'GCC_SO`'TS (>= CV), ${shlibs:Depends}, cpp`'TS`'PV (>= CV), cpp`'TS`'PV (<< NV), binutils (>= BINUTILSV)
Suggests: task-c-devel
Conflicts: libc5-dev, gcc-3.1
Replaces: gcc-3.1
Provides: c-compiler`'TS
Recommends: LIBC_DEV
Suggests: gcc`'PV-doc (>= CV)
-Description: The GNU C compiler
- This is the GNU C compiler, a fairly portable optimizing compiler for C.
')`'dnl native
+ifdef(`TARGET',
+`Description: The GNU C compiler (cross compiler for TARGET)
+',
+`Description: The GNU C compiler
+')`'dnl native
+ This is the GNU C compiler, a fairly portable optimizing compiler for C.
')`'dnl cdev
ifenabled(`cdev',`
@@ -103,9 +109,7 @@
.
This package has been separated from gcc for the benefit of those who
require the preprocessor but not the compiler.
-')`'dnl native
-ifdef(`TARGET', `', `
Package: cpp`'PV-doc
Architecture: all
Section: doc
@@ -119,31 +123,28 @@
ifenabled(`c++',`
ifenabled(`c++dev',`
-ifdef(`TARGET', `
-dnl C++ cross compiler
-Package: g++`'TS`'PV
+ifdef(`TARGET',
+`Package: g++`'TS
+',
+`Package: g++`'TS`'PV
+')`'dnl native
Architecture: any
Section: devel
-Priority: PRI(optional)
+Priority: PRI(standard)
Provides: c++-compiler`'TS
-Depends: ${shlibs:Depends}, gcc`'TS`'PV (>= CV), gcc`'TS`'PV (<< NV)
+ifdef(`TARGET',
+`Depends: gcc`'PV-base, ${shlibs:Depends}, gcc`'TS (>= CV), gcc`'TS (<< NV), libstdc++CXX_SO`'TS-dev (>= CV)
Suggests: task-c++-devel
Suggests: gcc`'PV-doc (>= CV)
Description: The GNU C++ compiler (cross compiler for TARGET)
- This is the GNU C++ compiler, a fairly portable optimizing compiler for C++.
-', `
-dnl C++ native compiler
-Package: g++`'TS`'PV
-Architecture: any
-Priority: PRI(standard)
-Provides: c++-compiler`'TS
-Depends: gcc`'TS`'PV-base, ${shlibs:Depends}, gcc`'TS`'PV (>= CV), gcc`'TS`'PV (<< NV), libstdc++CXX_SO-dev (>= CV)
+',
+`Depends: gcc`'TS`'PV-base, ${shlibs:Depends}, gcc`'TS`'PV (>= CV), gcc`'TS`'PV (<< NV), libstdc++CXX_SO-dev (>= CV)
Suggests: task-c++-devel
Replaces: gcc (<= 2.7.2.3-3)
Suggests: gcc`'PV-doc (>= CV)
Description: The GNU C++ compiler
- This is the GNU C++ compiler, a fairly portable optimizing compiler for C++.
')`'dnl native
+ This is the GNU C++ compiler, a fairly portable optimizing compiler for C++.
')`'dnl c++dev
')`'dnl c++
@@ -316,13 +317,16 @@
')`'dnl ffi
ifenabled(`c++',`
-ifdef(`TARGET', `', `
-Package: libstdc++CXX_SO
+Package: libstdc++CXX_SO`'TS
Architecture: any
Section: base
Priority: PRI(important)
Depends: gcc`'PV-base, ${shlibs:Depends}
-Description: The GNU Standard C++ Library v3
+ifdef(`TARGET',
+`Description: The GNU Standard C++ Library v3 (TARGET)
+',
+`Description: The GNU Standard C++ Library v3
+')`'dnl native
This package contains an additional runtime library for C++ programs
built with the GNU compiler.
.
@@ -331,13 +335,18 @@
in g++-3.0.
ifenabled(`c++dev',`
-Package: libstdc++CXX_SO-dev
+Package: libstdc++CXX_SO`'TS-dev
Architecture: any
Priority: PRI(optional)
-Depends: gcc`'PV-base, libstdc++CXX_SO (>= CV), LIBC_DEV, g++`'PV (>= CV)
-Provides: libstdc++-dev
+ifdef(`TARGET',
+`Depends: gcc`'PV-base, libstdc++CXX_SO`'TS (>= CV), LIBC_DEV, g++`'TS (>= CV)
+Provides: libstdc++`'TS-dev
+',
+`Depends: gcc`'PV-base, libstdc++CXX_SO`'TS (>= CV), LIBC_DEV, g++`'TS`'PV (>= CV)
+Provides: libstdc++`'TS-dev
Conflicts: libg++27-dev, libg++272-dev (<< 2.7.2.8-1), libstdc++2.8-dev, libg++2.8-dev, libstdc++2.9-dev, libstdc++2.9-glibc2.1-dev, libstdc++2.10-dev (<< 1:2.95.3-2), libstdc++3.0-dev
Suggests: libstdc++CXX_SO-doc, stl-manual
+')`'dnl native
Description: The GNU Standard C++ Library v3 (development files)
This package contains the headers and static library files necessary for
building C++ programs which use libstdc++. Be advised that this only works
@@ -347,24 +356,25 @@
was included up to g++-2.95. The first version of libstdc++-v3 appeared
in g++-3.0.
-Package: libstdc++CXX_SO-pic
+Package: libstdc++CXX_SO`'TS-pic
Architecture: any
-Priority: PRI(extra)
-Depends: gcc`'PV-base, libstdc++CXX_SO, libstdc++CXX_SO-dev
+Priority: extra
+Depends: gcc`'PV-base, libstdc++CXX_SO`'TS, libstdc++CXX_SO`'TS-dev
Description: The GNU Standard C++ Library v3 (shared library subset kit)
This is used to develop subsets of the libstdc++ shared libraries for
use on custom installation floppies and in embedded systems.
.
Unless you are making one of those, you will not need this package.
-Package: libstdc++CXX_SO-dbg
+Package: libstdc++CXX_SO`'TS-dbg
Architecture: any
-Priority: PRI(extra)
-Depends: gcc`'PV-base, libstdc++CXX_SO, libstdc++CXX_SO-dev
+Priority: extra
+Depends: gcc`'PV-base, libstdc++CXX_SO`'TS, libstdc++CXX_SO`'TS-dev
Description: The GNU Standard C++ Library v3 (debugging files)
This package contains the shared library of libstdc++ compiled with
debugging symbols.
+ifdef(`TARGET', `', `
Package: libstdc++CXX_SO-doc
Architecture: all
Section: doc
@@ -378,9 +388,9 @@
source documentation including a namespace list, class hierarchy,
alphabetical list, compound list, file list, namespace members,
compound members and file members.
+')`'dnl native
')`'dnl c++dev
')`'dnl c++
-')`'dnl native
ifenabled(`ada',`
Package: gnat`'-GNAT_V
@@ -442,12 +452,21 @@
stage. For production use, please use gpc or gpc-2.95.
')`'dnl pascal
-Package: gcc`'PV-soft-float
+ifdef(`TARGET',
+`Package: gcc`'TS-soft-float
+Architecture: any
+',
+`Package: gcc`'TS`'PV-soft-float
Architecture: arm
+')`'dnl native
Priority: PRI(optional)
-Depends: gcc`'PV-base, ${shlibs:Depends}, gcc`'PV (>= CV), gcc`'PV (<< NV)
+ifdef(`TARGET',
+`Depends: gcc`'PV-base, ${shlibs:Depends}ifenabled(`cdev',`, gcc`'TS (>= CV), gcc`'TS (<< NV)')
+',
+`Depends: gcc`'PV-base, ${shlibs:Depends}ifenabled(`cdev',`, gcc`'PV (>= CV), gcc`'PV (<< NV)')
+')`'dnl native
Replaces: gcc-soft-float-ss (<< NV)
-Description: The soft-floating-point gcc libraries
+Description: The soft-floating-point gcc libraries (arm)
These are versions of basic static libraries such as libgcc.a compiled
with the -msoft-float option, for CPUs without a floating-point unit.
@@ -481,12 +500,20 @@
')`'dnl native
')`'dnl cdev
-Package: gcc`'PV-nof
+ifdef(`TARGET',
+`Package: gcc`'TS-nof
+Architecture: any
+',
+`Package: gcc`'TS`'PV-nof
Architecture: powerpc
+')`'dnl native
Priority: PRI(optional)
-Depends: gcc`'PV-base, ${shlibs:Depends}ifenabled(`cdev',`, gcc`'PV (>= CV), gcc`'PV (<< NV)')
-Depends: gcc-3.0-base, ${shlibs:Depends}ifelse(index(enabled_languages, `$1'), -1,`', `, gcc`'PV (>= CV), gcc`'PV (<< NV)')
-Description: The no-floating-point gcc libraries
+ifdef(`TARGET',
+`Depends: gcc`'PV-base, ${shlibs:Depends}ifenabled(`cdev',`, gcc`'TS (>= CV), gcc`'TS (<< NV)')
+',
+`Depends: gcc`'PV-base, ${shlibs:Depends}ifenabled(`cdev',`, gcc`'PV (>= CV), gcc`'PV (<< NV)')
+')`'dnl native
+Description: The no-floating-point gcc libraries (powerpc)
These are versions of basic static libraries such as libgcc.a compiled
with the -msoft-float option, for CPUs without a floating-point unit.
dnl
diff -urN gcc-3.2-3.2.3ds0.orig/debian/rules.conf gcc-3.2-3.2.3ds0/debian/rules.conf
--- gcc-3.2-3.2.3ds0.orig/debian/rules.conf 2003-02-22 13:30:27.000000000 +0100
+++ gcc-3.2-3.2.3ds0/debian/rules.conf 2003-02-23 08:31:35.000000000 +0100
@@ -11,7 +11,7 @@
# the safe side (something like newest( version in stable, versions for the
# various platforms in INSTALL/specific.html) ).
BINUTILSV = 2.13.90.0.10
-ifeq ($(DEB_HOST_ARCH),s390)
+ifeq ($(DEB_TARGET_ARCH),s390)
BINUTILSV = 2.13.90.0.4
endif
@@ -73,24 +73,24 @@
-DGPC_CV=$(DEB_GPC_VERSION) \
-DBINUTILSV=$(BINUTILSV) \
-DSRCNAME=$(PKGSOURCE) \
- -D__$(DEB_HOST_GNU_CPU)__ \
- -DARCH=$(DEB_HOST_GNU_CPU)
+ -D__$(DEB_TARGET_GNU_CPU)__ \
+ -DARCH=$(DEB_TARGET_GNU_CPU)
ifeq ($(with_objc)-$(with_objc_gc),yes-yes)
ctrl_flags += -DOBJC_GC
endif
# libc-dev dependencies
libc_ver := 2.2.5-8
-ifeq ($(DEB_HOST_ARCH), $(findstring $(DEB_HOST_ARCH),alpha ia64))
+ifeq ($(DEB_TARGET_ARCH), $(findstring $(DEB_TARGET_ARCH),alpha ia64))
ctrl_flags += -DLIBC_DEV="libc6.1-dev (>= $(libc_ver))"
else
- ifeq ($(DEB_HOST_GNU_SYSTEM),gnu)
+ ifeq ($(DEB_TARGET_GNU_SYSTEM),gnu)
ctrl_flags += -DLIBC_DEV=libc0.3-dev
else
- ifeq ($(DEB_HOST_GNU_SYSTEM),freebsd)
+ ifeq ($(DEB_TARGET_GNU_SYSTEM),freebsd)
ctrl_flags += -DLIBC_DEV=libc1-dev
else
- ifeq ($(DEB_HOST_ARCH),netbsd-i386))
+ ifeq ($(DEB_TARGET_ARCH),netbsd-i386))
ctrl_flags += -DLIBC_DEV="libc12-dev"
else
ctrl_flags += -DLIBC_DEV="libc6-dev (>= $(libc_ver))"
@@ -100,9 +100,9 @@
endif
ctrl_flags += -DLIBC_BUILD_DEP="libc6.1-dev (>= $(libc_ver)) [alpha ia64] | libc0.3-dev [hurd-i386] | libc1-dev [freebsd-i386] | libc12-dev [netbsd-i386] | libc6-dev (>= $(libc_ver))"
-ifneq ($(GCC_TARGET),)
+ifdef DEB_CROSS
ctrl_flags += \
- -DTARGET=$(GCC_TARGET) \
+ -DTARGET=$(DEB_TARGET_ARCH) \
-DTP=$(TP) \
-DTS=$(TS)
endif
diff -urN gcc-3.2-3.2.3ds0.orig/debian/rules.d/binary-cross.mk gcc-3.2-3.2.3ds0/debian/rules.d/binary-cross.mk
--- gcc-3.2-3.2.3ds0.orig/debian/rules.d/binary-cross.mk 2003-02-22 13:30:28.000000000 +0100
+++ gcc-3.2-3.2.3ds0/debian/rules.d/binary-cross.mk 1970-01-01 01:00:00.000000000 +0100
@@ -1,57 +0,0 @@
-arch_binaries := $(arch_binaries) gcc-cross
-
-dirs_gcc = \
- $(docdir)/$(p_base)/gcc \
- $(PF)/bin \
- $(gcc_lib_dir)/include \
- $(PF)/share/man/man1
-
-files_gcc = \
- $(PF)/bin/{$(GCC_TARGET)-linux-gcc,$(GCC_TARGET)-linux-cpp}$(pkg_ver) \
- $(PF)/share/man/man1/{$(GCC_TARGET)-linux-gcc}$(pkg_ver).1 \
- $(gcc_lib_dir) \
-
-
-files_gcc += \
- $(shell test -e $(d)/$(gcc_lib_dir)/SYSCALLS.c.X \
- && echo $(gcc_lib_dir)/SYSCALLS.c.X)
-
-usr_doc_files = debian/README.Bugs \
- $(shell test -f $(srcdir)/FAQ && echo $(srcdir)/FAQ)
-ifeq ($(with_check),yes)
- usr_doc_files += test-summary
-endif
-ifeq ($(DEB_HOST_ARCH),sparc)
- usr_doc_files += debian/README.sparc
-endif
-
-# ----------------------------------------------------------------------
-$(binary_stamp)-gcc-cross: $(install_stamp)
- dh_testdir
- dh_testroot
- rm -rf $(d_gcc)
- dh_installdirs -p$(p_gcc) $(dirs_gcc)
- $(IS) debian/c89 $(d)/$(PF)/bin/
- $(IR) debian/c89.1 $(d)/$(PF)/share/man/man1/
-
- rm -f $(d)/$(PF)/lib/libgcc_s.so
- ln -sf /lib/libgcc_s.so.$(GCC_SONAME) $(d)/$(gcc_lib_dir)/libgcc_s.so
-
- dh_movefiles -p$(p_gcc) $(files_gcc)
-
-# dh_installdebconf
- debian/dh_doclink -p$(p_gcc) $(p_base)
- cp -p $(usr_doc_files) $(d_gcc)/$(docdir)/$(p_base)/.
- cp -p debian/NEWS.gcc $(d_gcc)/$(docdir)/$(p_base)/NEWS
- dh_undocumented -p$(p_gcc) gccbug$(pkg_ver).1
- debian/dh_rmemptydirs -p$(p_gcc)
- dh_strip -p$(p_gcc)
- dh_compress -p$(p_gcc)
- dh_fixperms -p$(p_gcc)
- dh_shlibdeps -p$(p_gcc)
- dh_gencontrol -p$(p_gcc) -u-v$(DEB_VERSION)
- dh_installdeb -p$(p_gcc)
- dh_md5sums -p$(p_gcc)
- dh_builddeb -p$(p_gcc)
- touch $@
-
diff -urN gcc-3.2-3.2.3ds0.orig/debian/rules.d/binary-cxx-cross.mk gcc-3.2-3.2.3ds0/debian/rules.d/binary-cxx-cross.mk
--- gcc-3.2-3.2.3ds0.orig/debian/rules.d/binary-cxx-cross.mk 1970-01-01 01:00:00.000000000 +0100
+++ gcc-3.2-3.2.3ds0/debian/rules.d/binary-cxx-cross.mk 2003-02-22 20:57:34.000000000 +0100
@@ -0,0 +1,39 @@
+arch_binaries := $(arch_binaries) cxx
+
+dirs_cxx = \
+ $(PF)/bin \
+ $(PF)/share/info \
+ $(gcc_lib_dir) \
+ $(PF)/share/man/man1
+files_cxx = \
+ $(PF)/bin/$(DEB_TARGET_GNU_TYPE)-g++ \
+ $(PF)/share/man/man1/$(DEB_TARGET_GNU_TYPE)-g++.1 \
+ $(gcc_lib_dir)/cc1plus
+
+# ----------------------------------------------------------------------
+$(binary_stamp)-cxx: $(install_stamp)
+ dh_testdir
+ dh_testroot
+ mv $(install_stamp) $(install_stamp)-tmp
+
+ rm -rf $(d_cxx)
+ dh_installdirs -p$(p_cxx) $(dirs_cxx)
+ dh_movefiles -p$(p_cxx) $(files_cxx)
+# g++ man page is a .so link
+ rm -f $(d_cxx)/$(PF)/share/man/man1/$(DEB_TARGET_GNU_TYPE)-g++.1
+ ln -sf $(DEB_TARGET_GNU_TYPE)-gcc.1.gz \
+ $(d_cxx)/$(PF)/share/man/man1/$(DEB_TARGET_GNU_TYPE)-g++.1.gz
+
+ debian/dh_doclink -p$(p_cxx) $(p_base)
+ debian/dh_rmemptydirs -p$(p_cxx)
+
+ dh_strip -p$(p_cxx)
+ dh_compress -p$(p_cxx)
+ dh_fixperms -p$(p_cxx)
+ dh_shlibdeps -p$(p_cxx)
+ dh_gencontrol -p$(p_cxx) -u-v$(DEB_VERSION)
+ dh_installdeb -p$(p_cxx)
+ dh_md5sums -p$(p_cxx)
+ dh_builddeb -p$(p_cxx)
+
+ trap '' 1 2 3 15; touch $@; mv $(install_stamp)-tmp $(install_stamp)
diff -urN gcc-3.2-3.2.3ds0.orig/debian/rules.d/binary-gcc-cross.mk gcc-3.2-3.2.3ds0/debian/rules.d/binary-gcc-cross.mk
--- gcc-3.2-3.2.3ds0.orig/debian/rules.d/binary-gcc-cross.mk 1970-01-01 01:00:00.000000000 +0100
+++ gcc-3.2-3.2.3ds0/debian/rules.d/binary-gcc-cross.mk 2003-02-22 20:57:49.000000000 +0100
@@ -0,0 +1,89 @@
+arch_binaries := $(arch_binaries) gcc
+
+# gcc must be moved after g77 and g++
+# not all files $(PF)/include/*.h are part of gcc,
+# but it becomes difficult to name all these files ...
+
+dirs_gcc = \
+ $(docdir)/$(p_base)/gcc \
+ $(PF)/bin \
+ $(gcc_lib_dir)/include \
+ $(PF)/share/man/man1 lib
+
+files_gcc = \
+ $(PF)/bin/$(DEB_TARGET_GNU_TYPE)-{gcc,gcov,gccbug} \
+ $(PF)/share/man/man1/$(DEB_TARGET_GNU_TYPE)-{gcc,gcov}.1 \
+ $(gcc_lib_dir)/{collect2,specs,cc1,libgcc*,*.o} \
+ $(gcc_lib_dir)/include/README \
+ $(gcc_lib_dir)/include/{float,iso646,limits,std*,syslimits,varargs}.h \
+ $(shell for d in asm bits gnu linux; do \
+ test -e $(d)/$(gcc_lib_dir)/include/$$d \
+ && echo $(gcc_lib_dir)/include/$$d; \
+ done)
+
+files_gcc += \
+ $(shell test -e $(d)/$(gcc_lib_dir)/SYSCALLS.c.X \
+ && echo $(gcc_lib_dir)/SYSCALLS.c.X)
+
+ifeq ($(DEB_TARGET_ARCH),ia64)
+ files_gcc += $(gcc_lib_dir)/include/ia64intrin.h
+endif
+
+ifeq ($(DEB_TARGET_ARCH),i386)
+ files_gcc += $(gcc_lib_dir)/include/{mmintrin.h,xmmintrin.h}
+endif
+
+ifeq ($(DEB_TARGET_ARCH),hurd-i386)
+ files_gcc += $(gcc_lib_dir)/include/{mmintrin.h,xmmintrin.h}
+endif
+
+ifeq ($(DEB_TARGET_ARCH),m68k)
+ files_gcc += $(gcc_lib_dir)/include/math-68881.h
+endif
+
+ifeq ($(DEB_TARGET_ARCH),powerpc)
+ files_gcc += $(gcc_lib_dir)/include/{altivec.h,ppc-asm.h}
+endif
+
+usr_doc_files = debian/README.Bugs \
+ $(shell test -f $(srcdir)/FAQ && echo $(srcdir)/FAQ)
+ifeq ($(with_check),yes)
+ usr_doc_files += test-summary
+endif
+
+# ----------------------------------------------------------------------
+$(binary_stamp)-gcc: $(install_dependencies)
+ dh_testdir
+ dh_testroot
+ mv $(install_stamp) $(install_stamp)-tmp
+
+ rm -rf $(d_gcc)
+ dh_installdirs -p$(p_gcc) $(dirs_gcc)
+# $(IS) debian/c89 $(d)/$(PF)/bin/
+# $(IR) debian/c89.1 $(d)/$(PF)/share/man/man1/
+
+ rm -f $(d)/$(PF)/$(DEB_TARGET_GNU_TYPE)/lib/libgcc_s.so
+ ln -sf /usr/$(DEB_TARGET_GNU_TYPE)/lib/libgcc_s.so.$(GCC_SONAME) $(d)/$(gcc_lib_dir)/libgcc_s.so
+
+ mv $(d)/$(PF)/share/man/man1/gcov.1 $(d)/$(PF)/share/man/man1/$(DEB_TARGET_GNU_TYPE)-gcov.1
+
+ dh_movefiles -p$(p_gcc) $(files_gcc)
+
+# dh_installdebconf
+ debian/dh_doclink -p$(p_gcc) $(p_base)
+ dh_undocumented -p$(p_gcc) gccbug$(gcc_arch)$(pkg_ver).1
+ debian/dh_rmemptydirs -p$(p_gcc)
+ dh_strip -p$(p_gcc)
+ dh_compress -p$(p_gcc)
+ dh_fixperms -p$(p_gcc)
+ dh_shlibdeps -p$(p_gcc)
+ dh_gencontrol -p$(p_gcc) -u-v$(DEB_VERSION)
+ dh_installdeb -p$(p_gcc)
+ dh_md5sums -p$(p_gcc)
+ dh_builddeb -p$(p_gcc)
+
+ trap '' 1 2 3 15; touch $@; mv $(install_stamp)-tmp $(install_stamp)
+
+ @echo "Listing installed files not included in any package:"
+ -find $(d) ! -type d
+
diff -urN gcc-3.2-3.2.3ds0.orig/debian/rules.d/binary-libgcc-cross.mk gcc-3.2-3.2.3ds0/debian/rules.d/binary-libgcc-cross.mk
--- gcc-3.2-3.2.3ds0.orig/debian/rules.d/binary-libgcc-cross.mk 1970-01-01 01:00:00.000000000 +0100
+++ gcc-3.2-3.2.3ds0/debian/rules.d/binary-libgcc-cross.mk 2003-02-22 20:58:12.000000000 +0100
@@ -0,0 +1,55 @@
+arch_binaries := $(arch_binaries) libgcc
+
+p_lgcc = libgcc$(GCC_SONAME)$(pkg_arch)
+d_lgcc = debian/$(p_lgcc)
+
+dirs_lgcc = \
+ $(docdir)/$(p_lgcc) \
+ $(PF)/$(DEB_TARGET_GNU_TYPE)/lib
+
+# If this is false, we basically have an empty libgcc package. This is ok,
+# since that should only be temporary anyway
+ifeq ($(with_shared_libgcc),yes)
+files_lgcc = \
+ $(PF)/$(DEB_TARGET_GNU_TYPE)/lib/libgcc_s.so.$(GCC_SONAME)
+endif
+
+# ----------------------------------------------------------------------
+$(binary_stamp)-libgcc: $(install_dependencies)
+ dh_testdir
+ dh_testroot
+ mv $(install_stamp) $(install_stamp)-tmp
+
+ rm -rf $(d_lgcc)
+ dh_installdirs -p$(p_lgcc) $(dirs_lgcc)
+
+ifeq ($(with_shared_libgcc),yes)
+ dh_movefiles -p$(p_lgcc) $(files_lgcc)
+endif
+
+ dh_installdocs -p$(p_lgcc)
+ dh_installchangelogs -p$(p_lgcc)
+
+ debian/dh_rmemptydirs -p$(p_lgcc)
+ dh_strip -p$(p_lgcc)
+ dh_compress -p$(p_lgcc)
+ dh_fixperms -p$(p_lgcc)
+ifeq ($(with_shared_libgcc),yes)
+ DH_COMPAT=3 dh_makeshlibs -p$(p_lgcc) \
+ -V '$(p_lgcc) (>= $(DEB_SOVERSION))'
+ cat debian/$(p_lgcc)/DEBIAN/shlibs >> debian/shlibs.local
+endif
+ dh_gencontrol -p$(p_lgcc) -u-v$(DEB_VERSION)
+ b=libgcc; v=$(GCC_SONAME); \
+ for ext in preinst postinst prerm postrm; do \
+ if [ -f debian/$$b$$t.$$ext ]; then \
+ cp -pf debian/$$b$$t.$$ext debian/$$b$$v$$t.$$ext; \
+ fi; \
+ done
+ dh_installdeb -p$(p_lgcc)
+ dh_md5sums -p$(p_lgcc)
+ dh_builddeb -p$(p_lgcc)
+
+ trap '' 1 2 3 15; touch $@; mv $(install_stamp)-tmp $(install_stamp)
+
+# ----------------------------------------------------------------------
diff -urN gcc-3.2-3.2.3ds0.orig/debian/rules.d/binary-libstdcxx-cross.mk gcc-3.2-3.2.3ds0/debian/rules.d/binary-libstdcxx-cross.mk
--- gcc-3.2-3.2.3ds0.orig/debian/rules.d/binary-libstdcxx-cross.mk 1970-01-01 01:00:00.000000000 +0100
+++ gcc-3.2-3.2.3ds0/debian/rules.d/binary-libstdcxx-cross.mk 2003-02-22 20:58:02.000000000 +0100
@@ -0,0 +1,132 @@
+arch_binaries := $(arch_binaries) libstdcxx
+
+ifeq ($(with_cxxdev),yes)
+ arch_binaries := $(arch_binaries) libstdcxx-dev
+endif
+
+p_lib = libstdc++$(CXX_SONAME)$(pkg_arch)
+p_dev = libstdc++$(CXX_SONAME)$(pkg_arch)-dev
+p_pic = libstdc++$(CXX_SONAME)$(pkg_arch)-pic
+p_dbg = libstdc++$(CXX_SONAME)$(pkg_arch)-dbg
+
+d_lib = debian/$(p_lib)
+d_dev = debian/$(p_dev)
+d_pic = debian/$(p_pic)
+d_dbg = debian/$(p_dbg)
+
+dirs_lib = \
+ $(docdir) \
+ $(PF)/$(DEB_TARGET_GNU_TYPE)/lib
+
+files_lib = $(PF)/$(DEB_TARGET_GNU_TYPE)/lib/libstdc++.so.*
+
+dirs_dev = \
+ $(docdir)/$(p_lib) \
+ $(PF)/share/info \
+ $(PF)/$(DEB_TARGET_GNU_TYPE)/lib \
+ $(gcc_lib_dir)/include \
+ $(cxx_inc_dir)
+
+files_dev = \
+ $(cxx_inc_dir)/ \
+ $(PF)/$(lib_linkdir)/libstdc++.{a,so} \
+ $(gcc_lib_dir)/libsupc++.a
+# Not yet...
+# $(PF)/lib/lib{supc,stdc}++.la
+
+dirs_dbg = \
+ $(docdir) \
+ $(PF)/$(DEB_TARGET_GNU_TYPE)/lib/debug
+files_dbg =
+
+dirs_pic = \
+ $(docdir) \
+ $(gcc_lib_dir)
+files_pic = \
+ $(gcc_lib_dir)/libstdc++_pic.a
+
+# ----------------------------------------------------------------------
+
+$(binary_stamp)-libstdcxx: $(install_stamp)
+ dh_testdir
+ dh_testroot
+ mv $(install_stamp) $(install_stamp)-tmp
+
+ rm -rf $(d_lib)
+ dh_installdirs -p$(p_lib) $(dirs_lib)
+
+ dh_movefiles -p$(p_lib) $(files_lib)
+
+# do this here, else the libraries get stripped, before they are copied ...
+ rm -rf $(d_dbg)
+ dh_installdirs -p$(p_dbg) $(dirs_dbg)
+ : # Copy the libraries in libstdc++ to libstdc++-dbg
+ (cd $(d_lib)/$(PF)/$(DEB_TARGET_GNU_TYPE)/lib/$(lib) ; tar cfp - .) | \
+ (cd $(d_dbg)/$(PF)/$(DEB_TARGET_GNU_TYPE)/lib/debug ; tar xvfp -)
+
+ dh_installdocs -p$(p_lib)
+ echo "See /$(docdir)/$(p_base) for more information" \
+ > $(d_lib)/$(docdir)/$(p_lib)/README.Debian
+
+ dh_installchangelogs -p$(p_lib)
+ debian/dh_rmemptydirs -p$(p_lib)
+
+ dh_strip -p$(p_lib)
+ dh_compress -p$(p_lib)
+ dh_fixperms -p$(p_lib)
+ DH_COMPAT=3 dh_makeshlibs -p$(p_lib) \
+ -V '$(p_lib) (>= $(DEB_SOVERSION))'
+ dh_gencontrol -p$(p_lib) -u-v$(DEB_VERSION)
+ dh_installdeb -p$(p_lib)
+ dh_md5sums -p$(p_lib)
+ dh_builddeb -p$(p_lib)
+
+ trap '' 1 2 3 15; touch $@; mv $(install_stamp)-tmp $(install_stamp)
+
+# ----------------------------------------------------------------------
+$(binary_stamp)-libstdcxx-dev: $(install_stamp) \
+ $(binary_stamp)-libstdcxx
+ dh_testdir
+ dh_testroot
+ mv $(install_stamp) $(install_stamp)-tmp
+
+ rm -rf $(d_dev) $(d_pic)
+ dh_installdirs -p$(p_dev) $(dirs_dev)
+ dh_installdirs -p$(p_pic) $(dirs_pic)
+
+ : # - correct libstdc++-v3 file locations
+ mv $(d)/$(PF)/$(DEB_TARGET_GNU_TYPE)/lib/libsupc++.a $(d)/$(gcc_lib_dir)/
+ mv $(d)/$(PF)/$(DEB_TARGET_GNU_TYPE)/lib/libstdc++.{a,so} $(d)/$(gcc_lib_dir)/
+ ln -sf ../../../../$(DEB_TARGET_GNU_TYPE)/lib/libstdc++.so.$(CXX_SONAME) \
+ $(d)/$(gcc_lib_dir)/libstdc++.so
+ mv $(d)/$(PF)/$(DEB_TARGET_GNU_TYPE)/lib/libstdc++_pic.a $(d)/$(gcc_lib_dir)/
+
+ dh_movefiles -p$(p_dev) $(files_dev)
+ dh_movefiles -p$(p_pic) $(files_pic)
+ dh_movefiles -p$(p_dev) $(files_dbg)
+
+ debian/dh_doclink -p$(p_dev) $(p_lib)
+ debian/dh_doclink -p$(p_pic) $(p_lib)
+ debian/dh_doclink -p$(p_dbg) $(p_lib)
+ cp -p $(srcdir)/libstdc++-v3/ChangeLog \
+ $(d_dev)/usr/share/doc/$(p_lib)/changelog
+
+ cp -p $(srcdir)/libstdc++-v3/config/linker-map.gnu \
+ $(d_pic)/$(gcc_lib_dir)/libstdc++_pic.map
+
+ifeq ($(with_cxxdev),yes)
+ debian/dh_rmemptydirs -p$(p_dev)
+ debian/dh_rmemptydirs -p$(p_pic)
+ debian/dh_rmemptydirs -p$(p_dbg)
+endif
+
+ dh_strip -p$(p_dev) -p$(p_pic)
+ dh_compress -p$(p_dev) -p$(p_pic) -p$(p_dbg) -X.txt
+ dh_fixperms -p$(p_dev) -p$(p_pic) -p$(p_dbg)
+ dh_gencontrol -p$(p_dev) -p$(p_pic) -p$(p_dbg) \
+ -u-v$(DEB_VERSION)
+ dh_installdeb -p$(p_dev) -p$(p_pic) -p$(p_dbg)
+ dh_md5sums -p$(p_dev) -p$(p_pic) -p$(p_dbg)
+ dh_builddeb -p$(p_dev) -p$(p_pic) -p$(p_dbg)
+
+ trap '' 1 2 3 15; touch $@; mv $(install_stamp)-tmp $(install_stamp)
diff -urN gcc-3.2-3.2.3ds0.orig/debian/rules.d/binary-libstdcxx.mk gcc-3.2-3.2.3ds0/debian/rules.d/binary-libstdcxx.mk
--- gcc-3.2-3.2.3ds0.orig/debian/rules.d/binary-libstdcxx.mk 2003-02-22 13:30:28.000000000 +0100
+++ gcc-3.2-3.2.3ds0/debian/rules.d/binary-libstdcxx.mk 2003-02-22 18:00:57.000000000 +0100
@@ -17,9 +17,6 @@
d_dbg = debian/$(p_dbg)
d_libd = debian/$(p_libd)
-cxx_inc_dir = c++/$(VER)
-cxx_inc_dir = c++/3.2
-
dirs_lib = \
$(docdir) \
$(PF)/lib
@@ -31,10 +28,10 @@
$(PF)/share/info \
$(PF)/lib \
$(gcc_lib_dir)/include \
- $(PF)/include/$(cxx_inc_dir)
+ $(cxx_inc_dir)
files_dev = \
- $(PF)/include/$(cxx_inc_dir)/ \
+ $(cxx_inc_dir)/ \
$(PF)/$(lib_linkdir)/libstdc++.{a,so} \
$(gcc_lib_dir)/libsupc++.a
# Not yet...
diff -urN gcc-3.2-3.2.3ds0.orig/debian/rules.d/binary-nof-cross.mk gcc-3.2-3.2.3ds0/debian/rules.d/binary-nof-cross.mk
--- gcc-3.2-3.2.3ds0.orig/debian/rules.d/binary-nof-cross.mk 1970-01-01 01:00:00.000000000 +0100
+++ gcc-3.2-3.2.3ds0/debian/rules.d/binary-nof-cross.mk 2003-02-22 20:54:24.000000000 +0100
@@ -0,0 +1,46 @@
+arch_binaries := $(arch_binaries) nof
+
+p_nof = gcc$(pkg_arch)-nof
+d_nof = debian/$(p_nof)
+
+dirs_nof = \
+ $(docdir) \
+ $(PF)/$(DEB_TARGET_GNU_TYPE)/lib/nof
+ifeq ($(with_cdev),yes)
+ dirs_nof += \
+ $(gcc_lib_dir)/nof
+endif
+
+ifeq ($(with_cdev),yes)
+ files_nof = \
+ $(PF)/$(DEB_TARGET_GNU_TYPE)/lib/libgcc_s_nof.so.$(GCC_SONAME) \
+ $(gcc_lib_dir)/libgcc_s_nof.so \
+ $(PF)/$(DEB_TARGET_GNU_TYPE)/lib/nof \
+ $(gcc_lib_dir)/nof
+else
+ files_nof = \
+ lib/libgcc_s_nof.so.$(GCC_SONAME)
+endif
+
+# ----------------------------------------------------------------------
+$(binary_stamp)-nof: $(install_stamp)
+ dh_testdir
+ dh_testroot
+ mv $(install_stamp) $(install_stamp)-tmp
+
+ ln -sf /$(PF)/$(DEB_TARGET_GNU_TYPE)/lib/libgcc_s_nof.so.$(GCC_SONAME) \
+ $(d)/$(gcc_lib_dir)/libgcc_s_nof.so
+
+ rm -rf $(d_nof)
+ dh_installdirs -p$(p_nof) $(dirs_nof)
+ dh_movefiles -p$(p_nof) $(files_nof)
+ debian/dh_doclink -p$(p_nof) $(p_base)
+ dh_strip -p$(p_nof)
+ dh_compress -p$(p_nof)
+ dh_fixperms -p$(p_nof)
+ dh_gencontrol -p$(p_nof) -u-v$(DEB_VERSION)
+ dh_installdeb -p$(p_nof)
+ dh_md5sums -p$(p_nof)
+ dh_builddeb -p$(p_nof)
+
+ trap '' 1 2 3 15; touch $@; mv $(install_stamp)-tmp $(install_stamp)
diff -urN gcc-3.2-3.2.3ds0.orig/debian/rules.defs gcc-3.2-3.2.3ds0/debian/rules.defs
--- gcc-3.2-3.2.3ds0.orig/debian/rules.defs 2003-02-22 13:30:27.000000000 +0100
+++ gcc-3.2-3.2.3ds0/debian/rules.defs 2003-02-23 08:45:16.000000000 +0100
@@ -10,12 +10,17 @@
lib64 = lib64
# architecture dependent variables
+DEB_BUILD_GNU_TYPE := $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)
+
DEB_HOST_ARCH := $(shell dpkg-architecture -qDEB_HOST_ARCH)
DEB_HOST_GNU_CPU := $(shell dpkg-architecture -qDEB_HOST_GNU_CPU)
DEB_HOST_GNU_SYSTEM := $(shell dpkg-architecture -qDEB_HOST_GNU_SYSTEM)
DEB_HOST_GNU_TYPE := $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
-DEB_BUILD_GNU_TYPE := $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)
+DEB_TARGET_ARCH := $(shell dpkg-architecture -f -a$(GCC_TARGET) -qDEB_HOST_ARCH 2>/dev/null)
+DEB_TARGET_GNU_CPU := $(shell dpkg-architecture -f -a$(DEB_TARGET_ARCH) -qDEB_HOST_GNU_CPU 2>/dev/null)
+DEB_TARGET_GNU_SYSTEM := $(shell dpkg-architecture -f -a$(DEB_TARGET_ARCH) -qDEB_HOST_GNU_SYSTEM 2>/dev/null)
+DEB_TARGET_GNU_TYPE := $(shell dpkg-architecture -f -a$(DEB_TARGET_ARCH) -qDEB_HOST_GNU_TYPE 2>/dev/null)
# ---------------------------------------------------------------------------
# which binary packages are built?
@@ -30,53 +35,34 @@
# assume Linux. If it *does* contain a '-', we'll *not* make
# that assumption, and handle it properly in these rules files.
-ifeq ($(GCC_TARGET),)
- TP =
- TS =
- DEB_HOST_ALIAS := $(DEB_HOST_GNU_TYPE)
-else
- ifeq (-,$(findstring -, $(GCC_TARGET)))
- ifeq (linux,$(findstring linux, $(GCC_TARGET)))
- DEB_HOST_ARCH := $(shell echo $(GCC_TARGET) | awk -F- '{print $$1}')
- DEB_HOST_GNU_SYSTEM := linux
- DEB_HOST_ALIAS := $(DEB_HOST_ARCH)
- else
- DEB_HOST_ARCH := $(word 1, $(subst -, , $(GCC_TARGET)))
- DEB_HOST_GNU_SYSTEM := $(word 2, $(subst -, , $(GCC_TARGET)))
- DEB_HOST_ALIAS := $(GCC_TARGET)
- endif
- else
- DEB_HOST_ARCH = $(GCC_TARGET)
- # assume Linux
- DEB_HOST_GNU_SYSTEM := linux
- DEB_HOST_ALIAS := $(DEB_HOST_ARCH)
- endif
- DEB_HOST_GNU_TYPE = $(DEB_HOST_ARCH)-$(DEB_HOST_GNU_SYSTEM)
+ifneq ($(DEB_HOST_ARCH),$(DEB_TARGET_ARCH))
+ DEB_CROSS = yes
# TP: Target Prefix. Used primarily as a prefix for cross tool
# names (e.g. powerpc-linux-gcc).
# TS: Target Suffix. Used primarily at the end of cross compiler
# package names (e.g. gcc-powerpc).
- TP = $(DEB_HOST_GNU_TYPE)-
- TS = -$(DEB_HOST_ALIAS)
+ TP = $(DEB_TARGET_GNU_TYPE)-
+ TS = -$(DEB_TARGET_ARCH)
endif
printarch:
- @echo DEB_HOST_ARCH: $(DEB_HOST_ARCH)
- @echo DEB_HOST_GNU_SYSTEM: $(DEB_HOST_GNU_SYSTEM)
- @echo DEB_HOST_ALIAS: $(DEB_HOST_ALIAS)
- @echo GCC_TARGET: $(GCC_TARGET)
+ @echo DEB_TARGET_ARCH: $(DEB_TARGET_ARCH)
+ @echo DEB_TARGET_GNU_SYSTEM: $(DEB_TARGET_GNU_SYSTEM)
@echo TP: $(TP)
@echo TS: $(TS)
# The name of the source package
PKGSOURCE := $(shell dpkg-parsechangelog | awk '/^Source:/ {print $$2;exit 0}')
-ifeq ($(GCC_TARGET),)
+ifndef DEB_CROSS
versioned_packages := yes
- pkg_ver := -3.2
- gpc_pkg_ver := -2.1$(pkg_ver)
+else
+ pkg_arch := -$(DEB_TARGET_ARCH)
endif
+pkg_ver := -3.2
+gpc_pkg_ver := -2.1$(pkg_ver)
+
# Configuration of components
# common things --------------------
@@ -95,12 +81,8 @@
# Build all packages needed for C++ development
with_cxxdev := yes
-ifeq ($(DEB_HOST_ARCH),avr)
- with_cxx := disabled for architecture $(DEB_HOST_ARCH)
- with_cxxdev := $(with_cxx)
-endif
-ifneq ($(GCC_TARGET),)
- with_cxx := disabled for cross compiler package
+ifeq ($(DEB_TARGET_ARCH),avr)
+ with_cxx := disabled for architecture $(DEB_TARGET_ARCH)
with_cxxdev := $(with_cxx)
endif
ifeq ($(with_cxx),yes)
@@ -120,9 +102,9 @@
with_cxa_atexit := yes
no_cxa_archs := netbsd-i386
-ifneq ($(DEB_HOST_ARCH),i386)
- ifeq ($(DEB_HOST_ARCH), $(findstring $(DEB_HOST_ARCH),$(no_cxa_archs)))
- with_cxa_atexit := disabled for architecture $(DEB_HOST_ARCH)
+ifneq ($(DEB_TARGET_ARCH),i386)
+ ifeq ($(DEB_TARGET_ARCH), $(findstring $(DEB_TARGET_ARCH),$(no_cxa_archs)))
+ with_cxa_atexit := disabled for architecture $(DEB_TARGET_ARCH)
endif
endif
@@ -133,13 +115,13 @@
with_javadev := yes
no_java_archs := hppa hurd-i386 mips mipsel freebsd-i386 netbsd-i386
-ifneq ($(DEB_HOST_ARCH),i386)
- ifeq ($(DEB_HOST_ARCH), $(findstring $(DEB_HOST_ARCH),$(no_java_archs)))
- with_java := disabled for architecure $(DEB_HOST_ARCH)
+ifneq ($(DEB_TARGET_ARCH),i386)
+ ifeq ($(DEB_TARGET_ARCH), $(findstring $(DEB_TARGET_ARCH),$(no_java_archs)))
+ with_java := disabled for architecure $(DEB_TARGET_ARCH)
with_javadev := $(with_java)
endif
endif
-ifneq ($(GCC_TARGET),)
+ifdef DEB_CROSS
with_java := disabled for cross compiler package
with_javadev := $(with_java)
endif
@@ -149,7 +131,11 @@
# fastjar -------------------
ifeq ($(with_common_pkgs),yes)
- with_fastjar := yes
+ ifdef DEB_CROSS
+ with_fastjava := disabled for cross compiler package
+ else
+ with_fastjar := yes
+ endif
else
with_fastjar := no
endif
@@ -159,12 +145,14 @@
with_ffi := yes
no_ffi_archs := hppa mips mipsel hurd-i386 freebsd-i386 netbsd-i386
ifneq ($(with_java),yes)
- ifeq ($(DEB_HOST_ARCH), $(findstring $(DEB_HOST_ARCH),$(no_ffi_archs)))
- with_ffi := disabled for architecure $(DEB_HOST_ARCH)
+ ifeq ($(DEB_TARGET_ARCH), $(findstring $(DEB_TARGET_ARCH),$(no_ffi_archs)))
+ with_ffi := disabled for architecure $(DEB_TARGET_ARCH)
endif
endif
+ ifdef DEB_CROSS
+ with_ffi := disabled for cross compiler package
+ endif
else
- with_ffi := no
endif
# Fortran --------------------
@@ -172,7 +160,7 @@
# Build all packages needed for Fortran development
with_fdev := yes
-ifneq ($(GCC_TARGET),)
+ifdef DEB_CROSS
with_fortran := disabled for cross compiler package
with_fdev := $(with_fortran)
endif
@@ -183,7 +171,7 @@
# protoize --------------------
ifeq ($(with_common_pkgs),yes)
with_proto := yes
- ifneq ($(GCC_TARGET),)
+ ifdef DEB_CROSS
with_proto := disabled for cross compiler package
endif
else
@@ -195,7 +183,7 @@
ifeq ($(with_common_pkgs),yes)
with_fixincl := yes
- ifneq ($(GCC_TARGET),)
+ ifdef DEB_CROSS
with_fixincl := disabled for cross compiler package
endif
else
@@ -205,10 +193,10 @@
# Pascal --------------------
with_pascal := yes
# if pascal doesn't build on some target, disable it ...
-ifeq ($(DEB_HOST_ARCH),$(findstring $(DEB_HOST_ARCH),sparc))
- with_pascal := disabled for architecture $(DEB_HOST_ARCH)
+ifeq ($(DEB_TARGET_ARCH),$(findstring $(DEB_TARGET_ARCH),sparc))
+ with_pascal := disabled for architecture $(DEB_TARGET_ARCH)
endif
-ifneq ($(GCC_TARGET),)
+ifdef DEB_CROSS
with_pascal := disabled for cross compiler package
endif
ifeq ($(with_pascal),yes)
@@ -224,9 +212,9 @@
# disable ObjC garbage collection library (needs libgc6)
libgc6_no_archs := avr freebsd-i386
-ifneq ($(DEB_HOST_ARCH),i386)
- ifeq ($(DEB_HOST_ARCH),$(findstring $(DEB_HOST_ARCH),$(libgc6_no_archs)))
- with_objc_gc := disabled for architecture $(DEB_HOST_ARCH)
+ifneq ($(DEB_TARGET_ARCH),i386)
+ ifeq ($(DEB_TARGET_ARCH),$(findstring $(DEB_TARGET_ARCH),$(libgc6_no_archs)))
+ with_objc_gc := disabled for architecture $(DEB_TARGET_ARCH)
endif
endif
ifeq ($(with_common_pkgs),yes)
@@ -234,9 +222,10 @@
else
with_libobjc := no
endif
-ifneq ($(GCC_TARGET),)
+ifdef DEB_CROSS
with_objc := disabled for cross compiler package
with_objcdev := $(with_objc)
+ with_libobjc := $(with_objc)
endif
ifeq ($(with_objc),yes)
enabled_languages += objc
@@ -246,13 +235,13 @@
with_ada := yes
with_shared_adalib := no
ada_no_archs := arm hurd-i386 m68k freebsd-i386 netbsd-i386
-ifneq ($(DEB_HOST_ARCH),i386)
- ifeq ($(DEB_HOST_ARCH), $(findstring $(DEB_HOST_ARCH),$(ada_no_archs)))
- with_ada := disabled for architecure $(DEB_HOST_ARCH)
+ifneq ($(DEB_TARGET_ARCH),i386)
+ ifeq ($(DEB_TARGET_ARCH), $(findstring $(DEB_TARGET_ARCH),$(ada_no_archs)))
+ with_ada := disabled for architecure $(DEB_TARGET_ARCH)
endif
endif
#with_ada := not enabled by default
-ifneq ($(GCC_TARGET),)
+ifdef DEB_CROSS
with_ada := disabled for cross compiler package
endif
ifeq ($(with_ada),yes)
@@ -263,11 +252,11 @@
with_check := yes
# If you don't want to run the gcc testsuite, set `with_check' to `no'
#with_check := disabled by hand
-ifneq ($(GCC_TARGET),)
+ifdef DEB_CROSS
with_check := disabled for cross compiler package
endif
-ifeq ($(DEB_HOST_ARCH),hurd-i386)
- with_check :=disabled for $(DEB_HOST_ARCH)
+ifeq ($(DEB_TARGET_ARCH),hurd-i386)
+ with_check :=disabled for $(DEB_TARGET_ARCH)
endif
ifneq ($(WITHOUT_CHECK),)
with_check := disabled by environment
@@ -284,7 +273,7 @@
biarch := no
# sparc64 build --------------------
-ifeq ($(DEB_HOST_ARCH),sparc)
+ifeq ($(DEB_TARGET_ARCH),sparc)
with_sparc64 := yes
biarch := yes
# DISABLE temporarily!
@@ -295,16 +284,16 @@
endif
# s390x build --------------------
-ifeq ($(DEB_HOST_ARCH),s390)
+ifeq ($(DEB_TARGET_ARCH),s390)
biarch := yes
endif
# GNU locales
force_gnu_locales := yes
locale_no_archs := netbsd-i386
-ifneq ($(DEB_HOST_ARCH),i386)
- ifeq ($(DEB_HOST_ARCH), $(findstring $(DEB_HOST_ARCH),$(locale_no_archs)))
- force_gnu_locales := disabled for $(DEB_HOST_ARCH)
+ifneq ($(DEB_TARGET_ARCH),i386)
+ ifeq ($(DEB_TARGET_ARCH), $(findstring $(DEB_TARGET_ARCH),$(locale_no_archs)))
+ force_gnu_locales := disabled for $(DEB_TARGET_ARCH)
endif
endif
diff -urN gcc-3.2-3.2.3ds0.orig/debian/rules.patch gcc-3.2-3.2.3ds0/debian/rules.patch
--- gcc-3.2-3.2.3ds0.orig/debian/rules.patch 2003-02-22 13:30:27.000000000 +0100
+++ gcc-3.2-3.2.3ds0/debian/rules.patch 2003-02-22 20:55:09.000000000 +0100
@@ -49,42 +49,42 @@
debian_patches += gpc-3.x gpc-names libgpc-shared
endif
-ifeq ($(DEB_HOST_ARCH),alpha)
+ifeq ($(DEB_TARGET_ARCH),alpha)
debian_patches +=
endif
-ifeq ($(DEB_HOST_ARCH),arm)
+ifeq ($(DEB_TARGET_ARCH),arm)
debian_patches += arm-libstdc++ arm-tune arm-const-double
endif
-ifeq ($(DEB_HOST_ARCH),hppa)
+ifeq ($(DEB_TARGET_ARCH),hppa)
debian_patches +=
endif
-ifeq ($(DEB_HOST_ARCH),hurd-i386)
+ifeq ($(DEB_TARGET_ARCH),hurd-i386)
debian_patches +=
endif
-ifeq ($(DEB_HOST_ARCH),ia64)
+ifeq ($(DEB_TARGET_ARCH),ia64)
debian_patches +=
endif
-ifeq ($(DEB_HOST_ARCH),m68k)
+ifeq ($(DEB_TARGET_ARCH),m68k)
debian_patches += m68k-java-build gcc-m68k-config
endif
-ifeq ($(DEB_HOST_ARCH),s390)
+ifeq ($(DEB_TARGET_ARCH),s390)
debian_patches += s390-java s390-ada s390-biarch s390-config-ml
endif
-ifeq ($(DEB_HOST_ARCH),powerpc)
+ifeq ($(DEB_TARGET_ARCH),powerpc)
debian_patches +=
endif
-ifeq ($(DEB_HOST_ARCH),sparc)
+ifeq ($(DEB_TARGET_ARCH),sparc)
debian_patches += # optimization-9279
endif
ifeq ($(with_sparc64),yes)
debian_patches += sparc64-build
endif
-ifeq ($(DEB_HOST_ARCH),freebsd-i386)
+ifeq ($(DEB_TARGET_ARCH),freebsd-i386)
debian_patches += freebsd-gnu
endif
-ifeq ($(DEB_HOST_ARCH),netbsd-i386)
+ifeq ($(DEB_TARGET_ARCH),netbsd-i386)
debian_patches += netbsd-dynlinker netbsd-gcc-config
endif
diff -urN gcc-3.2-3.2.3ds0.orig/debian/rules2 gcc-3.2-3.2.3ds0/debian/rules2
--- gcc-3.2-3.2.3ds0.orig/debian/rules2 2003-02-22 13:30:27.000000000 +0100
+++ gcc-3.2-3.2.3ds0/debian/rules2 2003-02-23 08:42:18.000000000 +0100
@@ -35,7 +35,7 @@
CC = gcc-2.95
endif
-ifneq ($(GCC_TARGET),)
+ifdef DEB_CROSS
CFLAGS = $(BOOT_CFLAGS)
endif
@@ -54,21 +54,27 @@
docdir = usr/share/doc
# lib_linkdir is the directory for the lib{stdc,g}++.{a,so} links
-lib_linkdir = lib/gcc-lib/$(DEB_HOST_GNU_TYPE)/$(VER)
+lib_linkdir = lib/gcc-lib/$(DEB_TARGET_GNU_TYPE)/$(VER)
# PF is the installation prefix for the package without the leading slash.
# It's "usr" for gcc releases
PF = usr
-LIBBUILDDIR = $(DEB_HOST_GNU_TYPE)
-gcc_lib_dir = $(PF)/lib/gcc-lib/$(DEB_HOST_GNU_TYPE)/$(VER)
+LIBBUILDDIR = $(DEB_TARGET_GNU_TYPE)
+gcc_lib_dir = $(PF)/lib/gcc-lib/$(DEB_TARGET_GNU_TYPE)/$(VER)
+
+ifndef DEB_CROSS
+ cxx_inc_dir = $(PF)/include/c++/3.2
+else
+ cxx_inc_dir = $(PF)/$(DEB_TARGET_GNU_TYPE)/include/c++/3.2
+endif
CONFARGS = -v \
--enable-languages=$(shell echo $(enabled_languages) | tr -s ' ' ',') \
--prefix=/$(PF) \
--mandir=/$(PF)/share/man \
--infodir=/$(PF)/share/info \
- --with-gxx-include-dir=/$(PF)/include/$(cxx_inc_dir) \
+ --with-gxx-include-dir=/$(cxx_inc_dir) \
--enable-shared \
--with-system-zlib \
--enable-nls \
@@ -102,17 +108,16 @@
CONFARGS += --enable-objc-gc
endif
-#ifeq ($(DEB_HOST_GNU_TYPE),sparc-linux)
+#ifeq ($(DEB_TARGET_GNU_TYPE),sparc-linux)
# CONFARGS += --with-cpu=v7
#endif
-ifeq ($(GCC_TARGET),)
- CONFARGS += $(DEB_HOST_GNU_TYPE)
-else
+ifdef DEB_CROSS
CONFARGS += \
- --build=$(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE) \
- --target=$(DEB_HOST_GNU_TYPE) \
- $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)
+ --includedir=/$(PF)/$(DEB_TARGET_GNU_TYPE)/include \
+ --build=$(DEB_BUILD_GNU_TYPE) \
+ --host=$(DEB_HOST_GNU_TYPE) \
+ --target=$(DEB_TARGET_GNU_TYPE)
endif
# see if we can find a tiny mail program to send the success story
@@ -130,11 +135,11 @@
@echo "Version: $(VER)"
@echo "Base Debian version: $(DPKGVER)"
@echo -e "Configured with: $(foreach i,$(CONFARGS),$(i)\n\t)"
-ifneq ($(GCC_TARGET),)
- @echo "Building cross compiler for $(GCC_TARGET)"
+ifdef DEB_CROSS
+ @echo "Building cross compiler for $(DEB_TARGET_ARCH)"
endif
@echo "Using shell $(SHELL)"
- @echo "Architecture: $(DEB_HOST_ARCH) (GNU: $(DEB_HOST_GNU_TYPE))"
+ @echo "Architecture: $(DEB_TARGET_ARCH) (GNU: $(DEB_TARGET_GNU_TYPE))"
@echo "CPPFLAGS: $(CPPFLAGS)"
@echo "CFLAGS: $(CFLAGS)"
@echo "LDFLAGS: $(LDFLAGS)"
@@ -202,7 +207,7 @@
endif
@echo "-----------------------------------------------------------------------------"
@echo ""
-ifneq ($(GCC_TARGET),)
+ifdef DEB_CROSS
: # check for binutils for target
endif
rm -f $(configure_stamp) $(build_stamp)
@@ -227,7 +232,7 @@
cd $(srcdir)/gcc/ada && touch treeprs.ads [es]info.h nmake.ad[bs]
endif
-ifeq ($(GCC_TARGET),)
+ifndef DEB_CROSS
ifneq ($(with_java),yes)
ifeq ($(with_fastjar),yes)
rm -rf $(builddir)/fastjar
@@ -249,7 +254,7 @@
$(build_stamp): $(configure_stamp)
dh_testdir
rm -f bootstrap-protocol
-ifeq ($(GCC_TARGET),)
+ifndef DEB_CROSS
: # build native compiler
( \
set +e; \
@@ -265,12 +270,11 @@
$(MAKE) -C $(builddir)/fastjar
endif
else
- : # build cross compiler for $(DEB_HOST_GNU_TYPE)
+ : # build cross compiler for $(DEB_TARGET_GNU_TYPE)
( \
set +e; \
PATH=$(PWD)/bin:$$PATH \
$(MAKE) -C $(builddir) \
- LANGUAGES="$(shell echo $(enabled_languages)|tr -s ' ' ',')" \
CC="$(CC)" CFLAGS="$(CFLAGS)" \
BOOT_CFLAGS="$(BOOT_CFLAGS)" LDFLAGS="$(LDFLAGS)" \
STAGE1_CFLAGS="$(STAGE1_CFLAGS)"; \
@@ -312,7 +316,7 @@
debian/locale-gen
# start the script only on architectures known to be slow ...
-ifeq ($(DEB_HOST_ARCH), $(findstring $(DEB_HOST_ARCH),arm m68k))
+ifeq ($(DEB_TARGET_ARCH), $(findstring $(DEB_TARGET_ARCH),arm m68k))
: # start logwatch script for regular output during test runs
chmod +x debian/logwatch.sh
-debian/logwatch.sh -t 1800 -p $(builddir)/logwatch.pid \
@@ -324,7 +328,7 @@
&
endif
-ifeq ($(DEB_HOST_GNU_SYSTEM),linux)
+ifeq ($(DEB_TARGET_GNU_SYSTEM),linux)
-echo "Running testsuite ..."; \
if [ -e /proc/meminfo ]; then \
m=`awk '/^((Mem|Swap)Free|Cached)/{m+=$$2}END{print int(m*.9)}' \
@@ -434,7 +438,7 @@
# p_XXX is the package name, d_XXX is the package directory
# these macros are only used in the binary-* targets.
-ifeq ($(GCC_TARGET),)
+ifndef DEB_CROSS
p_base = gcc$(pkg_ver)-base
p_gcc = gcc$(pkg_ver)
p_cpp = cpp$(pkg_ver)
@@ -442,7 +446,9 @@
p_cxx = g++$(pkg_ver)
p_doc = gcc$(pkg_ver)-doc
else
- p_gcc = gcc$(pkg_var)-$(GCC_TARGET)
+ p_gcc = gcc$(pkg_arch)
+ p_cpp = cpp$(pkg_arch)
+ p_cxx = g++$(pkg_arch)
endif
d = debian/tmp
@@ -455,7 +461,7 @@
# ---------------------------------------------------------------------------
-ifeq ($(GCC_TARGET),)
+ifndef DEB_CROSS
# ----------------------------------------
# native target
@@ -514,15 +520,10 @@
include debian/rules.d/binary-pascal.mk
endif
-ifeq ($(DEB_HOST_ARCH),powerpc)
+ifeq ($(DEB_TARGET_ARCH),powerpc)
include debian/rules.d/binary-nof.mk
endif
-# disabled -- philb 2001-05-06
-#ifeq ($(DEB_HOST_ARCH),arm)
-# include debian/rules.d/binary-softfloat.mk
-#endif
-
# gcc must be moved/built after g77 and g++
ifeq ($(with_cdev),yes)
include debian/rules.d/binary-gcc.mk
@@ -532,7 +533,25 @@
# ----------------------------------------
# cross target
-include debian/rules.d/binary-cross.mk
+ifeq ($(with_libgcc),yes)
+ include debian/rules.d/binary-libgcc-cross.mk
+endif
+
+ifeq ($(with_cxxdev),yes)
+ include debian/rules.d/binary-cxx-cross.mk
+endif
+ifeq ($(with_cxx),yes)
+ include debian/rules.d/binary-libstdcxx-cross.mk
+endif
+
+ifeq ($(DEB_TARGET_ARCH),powerpc)
+ include debian/rules.d/binary-nof-cross.mk
+endif
+
+ifeq ($(with_cdev),yes)
+ include debian/rules.d/binary-gcc-cross.mk
+endif
+
endif
# ----------------------------------------------------------------------
@@ -547,14 +566,14 @@
ifeq ($(with_java),yes)
: # a "fix"
- [ -f $(builddir)/$(DEB_HOST_GNU_TYPE)/boehm-gc/.libs/libgcjgc.lai ] \
+ [ -f $(builddir)/$(DEB_TARGET_GNU_TYPE)/boehm-gc/.libs/libgcjgc.lai ] \
|| sed -e 's/^installed=no/installed=yes/' \
- $(builddir)/$(DEB_HOST_GNU_TYPE)/boehm-gc/libgcjgc.la \
- > $(builddir)/$(DEB_HOST_GNU_TYPE)/boehm-gc/.libs/libgcjgc.lai
- [ -f $(builddir)/$(DEB_HOST_GNU_TYPE)/libjava/.libs/libgcj.lai ] \
+ $(builddir)/$(DEB_TARGET_GNU_TYPE)/boehm-gc/libgcjgc.la \
+ > $(builddir)/$(DEB_TARGET_GNU_TYPE)/boehm-gc/.libs/libgcjgc.lai
+ [ -f $(builddir)/$(DEB_TARGET_GNU_TYPE)/libjava/.libs/libgcj.lai ] \
|| sed -e 's/^installed=no/installed=yes/' \
- $(builddir)/$(DEB_HOST_GNU_TYPE)/libjava/libgcj.la \
- > $(builddir)/$(DEB_HOST_GNU_TYPE)/libjava/.libs/libgcj.lai
+ $(builddir)/$(DEB_TARGET_GNU_TYPE)/libjava/libgcj.la \
+ > $(builddir)/$(DEB_TARGET_GNU_TYPE)/libjava/.libs/libgcj.lai
endif
: # Install directories
@@ -574,7 +593,7 @@
prefix=$(PWD)/$(d)/$(PF) \
infodir=$(PWD)/$(d)/$(PF)/share/info \
mandir=$(PWD)/$(d)/$(PF)/share/man \
- gxx_include_dir=$(PWD)/$(d)/$(PF)/include/$(cxx_inc_dir) \
+ gxx_include_dir=$(PWD)/$(d)/$(cxx_inc_dir) \
install
# wondering, why this is necessary, the installation of the gnat tools
@@ -591,7 +610,7 @@
prefix=$(PWD)/$(d)/$(PF) \
infodir=$(PWD)/$(d)/$(PF)/share/info \
mandir=$(PWD)/$(d)/$(PF)/share/man \
- gxx_include_dir=$(PWD)/$(d)/$(PF)/include/$(cxx_inc_dir) \
+ gxx_include_dir=$(PWD)/$(d)/$(cxx_inc_dir) \
ada.install-common
endif
@@ -606,10 +625,6 @@
endif
endif
- : # Adjust installation such that we can begin moving things around:
-
- chmod 755 $(d)/$(PF)/bin/gccbug
-
ifeq ($(versioned_packages),yes)
: # rename files (versioned binaries)
for i in cpp gcc gccbug gcov g++; do \
Attachment:
pgpp8k45nv1Tp.pgp
Description: PGP signature