Package: gcc-3.4 Version: 3.4.0-2 Severity: wishlist Tags: patch I'm attaching the fixes required in debian/ directory needed to make this package portable wrt non-Linux kernels. It splits out every unportable check into separate checks for _CPU and _SYSTEM, and a few other things.
-- System Information: Debian Release: testing/unstable APT prefers unstable APT policy: (500, 'unstable') Architecture: i386 (i686) Kernel: Linux 2.4.26-1-k7 Locale: LANG=C, LC_CTYPE=C
diff -Nur gcc-3.4-3.4.0/debian/control.m4 gcc-3.4-3.4.0+kbsd/debian/control.m4 --- gcc-3.4-3.4.0/debian/control.m4 2004-05-27 15:13:23.000000000 +0200 +++ gcc-3.4-3.4.0+kbsd/debian/control.m4 2004-05-27 15:12:46.000000000 +0200 @@ -38,7 +38,7 @@ ifdef(`TARGET',`dnl cross Build-Depends: LIBC_BUILD_DEP, m4, autoconf2.13, automake1.7, libtool, autotools-dev, gawk, dpkg-cross, binutils`'TS ',`dnl native -Build-Depends: LIBC_BUILD_DEP, libc6-dev-sparc64 [sparc], libc6-dev-s390x [s390], m4, autoconf2.13, autoconf, automake1.4, automake1.7, libtool, autotools-dev, gawk, dejagnu (>= 1.4.3) [check_no_archs], expect (>= 5.38.0) [check_no_archs], bzip2, BINUTILS_BUILD_DEP, binutils-hppa64 [hppa], debhelper (>= 4.1), gperf (>= 2.7-3), bison (>= 1:1.875a-1) | bison (<< 1:1.50), flex, gettext, texinfo (>= 4.3), zlib1g-dev, libgc-dev [libgc_no_archs], xlibs-dev, gnat-3.3 [ada_no_archs] | gnat-3.4 [ada_no_archs] | gnat [i386 powerpc sparc], libncurses5-dev [pascal_no_archs], libgmp3-dev, tetex-bin [pascal_no_archs], locales [locale_no_archs !hurd-i386], gcc-2.95 [m68k], procps [check_no_archs], help2man [pascal_no_archs], sharutils, libgtk2.0-dev [java_no_archs], libart-2.0-dev [java_no_archs], g++-3.3, g77-3.3, gobjc-3.3 +Build-Depends: LIBC_BUILD_DEP, libc6-dev-sparc64 [sparc], libc6-dev-s390x [s390], m4, autoconf2.13, autoconf, automake1.4, automake1.7, libtool, autotools-dev, gawk, check_no_archs dejagnu (>= 1.4.3), check_no_archs expect (>= 5.38.0), bzip2, BINUTILS_BUILD_DEP, binutils-hppa64 [hppa], debhelper (>= 4.1), gperf (>= 2.7-3), bison (>= 1:1.875a-1) | bison (<< 1:1.50), flex, gettext, texinfo (>= 4.3), zlib1g-dev, libgc_no_archs libgc-dev, xlibs-dev, ada_no_archs gnat-3.3 | gnat-3.4 | gnat [i386 powerpc sparc], pascal_no_archs libncurses5-dev, libgmp3-dev, pascal_no_archs tetex-bin, locale_no_archs locales, gcc-2.95 [m68k], not+linux-gnu | procps, pascal_no_archs help2man, sharutils, java_no_archs libgtk2.0-dev, java_no_archs libart-2.0-dev, g++-3.3, g77-3.3, gobjc-3.3 Build-Depends-Indep: doxygen (>= 1.3.7) ')dnl @@ -113,7 +113,7 @@ Section: devel Priority: ifdef(`TARGET',`extra',`PRI(standard)') Depends: gcc`'PV-base, libgcc`'GCC_SO`'LS (>= ifelse(GCC_SO,1,CEV,CV)), ${shlibs:Depends}, ifdef(`TARGET',`',`cpp`'PV (>= CV), cpp`'PV (<< NV)'), binutils`'TS (>= BINUTILSV) -Recommends: ifdef(`TARGET',`libc6-dev`'LS',`LIBC_DEP') +Recommends: ifdef(`TARGET',`libc-dev`'LS',`LIBC_DEP') Conflicts: gcc-3.2 (<= 1:3.2.3-0pre8) Suggests: gcc`'PV-doc (>= CV) Provides: c-compiler`'TS diff -Nur gcc-3.4-3.4.0/debian/rules.conf gcc-3.4-3.4.0+kbsd/debian/rules.conf --- gcc-3.4-3.4.0/debian/rules.conf 2004-05-27 15:13:23.000000000 +0200 +++ gcc-3.4-3.4.0+kbsd/debian/rules.conf 2004-05-27 15:12:46.000000000 +0200 @@ -15,24 +15,26 @@ # libc-dev dependencies libc_ver := 2.3.2.ds1-12 -ifeq ($(DEB_TARGET_ARCH), $(findstring $(DEB_TARGET_ARCH),alpha ia64)) - LIBC_DEP = libc6.1-dev (>= $(libc_ver)) -else - ifeq ($(DEB_TARGET_GNU_SYSTEM),gnu) - LIBC_DEP = libc0.3-dev +ifeq ($(DEB_TARGET_GNU_SYSTEM),linux) + ifeq ($(DEB_TARGET_GNU_CPU), $(findstring $(DEB_TARGET_GNU_CPU),alpha ia64)) + LIBC_DEP = libc6.1-dev (>= $(libc_ver)) else - ifeq ($(DEB_TARGET_GNU_SYSTEM),freebsd) - LIBC_DEP = libc1-dev - else - ifeq ($(DEB_TARGET_ARCH),netbsd-i386) - LIBC_DEP = libc12-dev - else - LIBC_DEP = libc6-dev (>= $(libc_ver)) - endif - endif + LIBC_DEP = libc6-dev (>= $(libc_ver)) endif endif -LIBC_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)) +ifeq ($(DEB_TARGET_GNU_SYSTEM),gnu) + LIBC_DEP = libc0.3-dev +endif +ifeq ($(DEB_TARGET_GNU_SYSTEM),kfreebsd-gnu) + LIBC_DEP = libc0.1-dev +endif +ifeq ($(DEB_TARGET_GNU_SYSTEM),knetbsd-gnu) + LIBC_DEP = libc0.1-dev +endif +ifeq ($(DEB_TARGET_GNU_SYSTEM),netbsd-elf-gnu) + LIBC_DEP = libc12-dev +endif +LIBC_BUILD_DEP = libc6.1-dev (>= $(libc_ver)) [alpha ia64] | libc0.3-dev (>= $(libc_ver) | libc0.1-dev (>= $(libc_ver) | libc12-dev (>= $(libc_ver) | libc6-dev (>= $(libc_ver)) SOURCE_VERSION := $(shell dpkg-parsechangelog | awk '/^Version:/ {print $$NF}') DEB_VERSION := $(shell echo $(SOURCE_VERSION) \ @@ -61,7 +63,7 @@ DEB_STDCXX_SOVERSION := $(DEB_SOVERSION) # manual ... -ifeq ($(DEB_TARGET_ARCH), $(findstring $(DEB_TARGET_ARCH),hppa m68k)) +ifeq ($(DEB_TARGET_GNU_CPU), $(findstring $(DEB_TARGET_GNU_CPU),hppa m68k)) GCC_SONAME := 2 DEB_LIBGCC_SOVERSION := $(DEB_SOVERSION) DEB_LIBGCC_VERSION := $(DEB_VERSION) @@ -158,12 +160,12 @@ -DGNAT_V=$(GNAT_VERSION) \ -DFFI_SO=$(FFI_SONAME) \ -Denabled_languages="$(languages) $(addons)" \ - -Dada_no_archs="$(foreach arch,$(ada_no_archs),!$(arch))" \ - -Djava_no_archs="$(foreach arch,$(java_no_archs),!$(arch))" \ - -Dpascal_no_archs="$(foreach arch,$(pascal_no_archs),!$(arch))" \ - -Dlibgc_no_archs="$(foreach arch,$(libgc_no_archs),!$(arch))" \ - -Dcheck_no_archs="$(foreach arch,$(check_no_archs),!$(arch))" \ - -Dlocale_no_archs="$(foreach arch,$(locale_no_archs) $(check_no_archs),!$(arch))" \ + -Dada_no_archs="$(foreach arch,$(ada_no_cpus) $(ada_no_systems),$(arch)|)" \ + -Djava_no_archs="$(foreach arch,$(java_no_cpus) $(java_no_systems),$(arch)|)" \ + -Dpascal_no_archs="$(foreach arch,$(pascal_no_cpus) $(pascal_no_systems),$(arch)|)" \ + -Dlibgc_no_archs="$(foreach arch,$(libgc_no_cpus) $(libgc_no_systems),$(arch)|)" \ + -Dcheck_no_archs="$(foreach arch,$(check_no_cpus) $(check_no_systems),$(arch)|)" \ + -Dlocale_no_archs="$(foreach arch,$(locale_no_cpus) $(locale_no_systems),$(arch)|)" \ debian/control.m4 > debian/control.tmp2 uniq debian/control.tmp2 > debian/control.tmp rm -f debian/control.tmp2 diff -Nur gcc-3.4-3.4.0/debian/rules.d/binary-ada.mk gcc-3.4-3.4.0+kbsd/debian/rules.d/binary-ada.mk --- gcc-3.4-3.4.0/debian/rules.d/binary-ada.mk 2004-05-27 15:13:20.000000000 +0200 +++ gcc-3.4-3.4.0+kbsd/debian/rules.d/binary-ada.mk 2004-05-27 15:12:43.000000000 +0200 @@ -17,7 +17,7 @@ GNAT_TOOLS = gnat gnatbind gnatbl gnatchop gnatfind gnatkr gnatlink \ gnatls gnatmake gnatname gnatprep gnatxref -#ifneq ($(DEB_TARGET_ARCH), $(findstring $(DEB_TARGET_ARCH),mips mipsel)) +#ifneq ($(DEB_TARGET_GNU_CPU), $(findstring $(DEB_TARGET_GNU_CPU),mips mipsel)) # GNAT_TOOLS += gnatpsta #endif diff -Nur gcc-3.4-3.4.0/debian/rules.d/binary-fortran.mk gcc-3.4-3.4.0+kbsd/debian/rules.d/binary-fortran.mk --- gcc-3.4-3.4.0/debian/rules.d/binary-fortran.mk 2004-05-27 15:13:20.000000000 +0200 +++ gcc-3.4-3.4.0+kbsd/debian/rules.d/binary-fortran.mk 2004-05-27 15:12:43.000000000 +0200 @@ -100,7 +100,7 @@ # mv $(d)/$(PF)/lib/libfrtbegin.a $(d)/$(gcc_lib_dir)/ #ifeq ($(biarch),yes) -# ifeq ($(DEB_TARGET_ARCH),i386) +# ifeq ($(DEB_TARGET_GNU_CPU),i386) # mv $(d)/$(PF)/$(lib64)/libg2c.{a,la,so} $(d)/$(gcc_lib_dir)/64 # ln -sf ../../../../lib64/libg2c.so.$(F77_SONAME) \ # $(d)/$(gcc_lib_dir)/64/libg2c.so diff -Nur gcc-3.4-3.4.0/debian/rules.d/binary-gcc-cross.mk gcc-3.4-3.4.0+kbsd/debian/rules.d/binary-gcc-cross.mk --- gcc-3.4-3.4.0/debian/rules.d/binary-gcc-cross.mk 2004-05-27 15:13:20.000000000 +0200 +++ gcc-3.4-3.4.0+kbsd/debian/rules.d/binary-gcc-cross.mk 2004-05-27 15:12:43.000000000 +0200 @@ -25,23 +25,19 @@ $(shell test -e $(d)/$(gcc_lib_dir)/SYSCALLS.c.X \ && echo $(gcc_lib_dir)/SYSCALLS.c.X) -ifeq ($(DEB_TARGET_ARCH),ia64) +ifeq ($(DEB_TARGET_GNU_CPU),ia64) files_gcc += $(gcc_lib_dir)/include/ia64intrin.h endif -ifeq ($(DEB_TARGET_ARCH),i386) +ifeq ($(DEB_TARGET_GNU_CPU),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) +ifeq ($(DEB_TARGET_GNU_CPU),m68k) files_gcc += $(gcc_lib_dir)/include/math-68881.h endif -ifeq ($(DEB_TARGET_ARCH),powerpc) +ifeq ($(DEB_TARGET_GNU_CPU),powerpc) files_gcc += $(gcc_lib_dir)/include/{altivec.h,ppc-asm.h} endif diff -Nur gcc-3.4-3.4.0/debian/rules.d/binary-libgcc.mk gcc-3.4-3.4.0+kbsd/debian/rules.d/binary-libgcc.mk --- gcc-3.4-3.4.0/debian/rules.d/binary-libgcc.mk 2004-05-27 15:13:20.000000000 +0200 +++ gcc-3.4-3.4.0+kbsd/debian/rules.d/binary-libgcc.mk 2004-05-27 15:12:43.000000000 +0200 @@ -88,7 +88,7 @@ # this does not work ... shlibs.local doesn't distinguish 32/64 bit libs # cat debian/$(p_l64gcc)/DEBIAN/shlibs >> debian/shlibs.local endif -ifeq ($(DEB_TARGET_ARCH),s390) +ifeq ($(DEB_TARGET_GNU_CPU),s390) # dh_shlibdeps -p$(p_l64gcc) #/usr/bin/ldd: line 1: /lib/ld64.so.1: cannot execute binary file #dpkg-shlibdeps: failure: ldd on `debian/lib64gcc1/lib64/libgcc_s.so.1' gave error exit status 1 diff -Nur gcc-3.4-3.4.0/debian/rules.d/binary-libstdcxx.mk gcc-3.4-3.4.0+kbsd/debian/rules.d/binary-libstdcxx.mk --- gcc-3.4-3.4.0/debian/rules.d/binary-libstdcxx.mk 2004-05-27 15:13:20.000000000 +0200 +++ gcc-3.4-3.4.0+kbsd/debian/rules.d/binary-libstdcxx.mk 2004-05-27 15:12:43.000000000 +0200 @@ -172,7 +172,7 @@ DH_COMPAT=3 dh_makeshlibs -p$(p_lib64) \ -V '$(p_lib64) (>= $(DEB_STDCXX_SOVERSION))' # pass explicit dependencies to dh_shlibdeps -ifeq ($(DEB_TARGET_ARCH),s390) +ifeq ($(DEB_TARGET_GNU_CPU),s390) # dh_shlibdeps -p$(p_lib64) -L $(p_l64gcc) -l $(d_l64gcc)/lib #/usr/bin/ldd: line 1: /lib/ld64.so.1: cannot execute binary file #dpkg-shlibdeps: failure: ldd on `debian/lib64gcc1/lib64/libgcc_s.so.1' gave error exit status 1 diff -Nur gcc-3.4-3.4.0/debian/rules.defs gcc-3.4-3.4.0+kbsd/debian/rules.defs --- gcc-3.4-3.4.0/debian/rules.defs 2004-05-27 15:13:23.000000000 +0200 +++ gcc-3.4-3.4.0+kbsd/debian/rules.defs 2004-05-27 15:20:14.000000000 +0200 @@ -32,24 +32,15 @@ # cross compiler support. If GCC_TARGET is set, then it's the architecture # we build for. -# -# Note: This scheme assumes targets are *-linux. At some point -# in the future I'd like to work on generalizing this to allow -# for non-linux targets. My thought is that when specifying -# target names in GCC_TARGET, if it doesn't contain a '-', we'll -# assume Linux. If it *does* contain a '-', we'll *not* make -# that assumption, and handle it properly in these rules files. -ifneq ($(DEB_HOST_ARCH),$(DEB_TARGET_ARCH)) +ifneq ($(DEB_HOST_GNU_TYPE),$(DEB_TARGET_GNU_TYPE)) 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_TARGET_GNU_TYPE)- -ifeq ($(DEB_TARGET_ALIAS),) -DEB_TARGET_ALIAS := $(DEB_TARGET_GNU_TYPE) -endif + DEB_TARGET_ALIAS ?= $(DEB_TARGET_GNU_TYPE) TS = -$(DEB_TARGET_ALIAS) endif @@ -64,13 +55,16 @@ ifeq ($(TARGET_ALIAS),i386-gnu) TARGET_ALIAS := i586-gnu endif - ifeq ($(TARGET_ALIAS),i386-freebsd-gnu) - TARGET_ALIAS := i486-freebsd-gnu + ifeq ($(TARGET_ALIAS),i386-kfreebsd-gnu) + TARGET_ALIAS := i486-kfreebsd-gnu + endif + ifeq ($(TARGET_ALIAS),i386-knetbsd-gnu) + TARGET_ALIAS := i486-knetbsd-gnu endif endif printarch: - @echo DEB_TARGET_ARCH: $(DEB_TARGET_ARCH) + @echo DEB_TARGET_GNU_CPU: $(DEB_TARGET_GNU_CPU) @echo DEB_TARGET_GNU_SYSTEM: $(DEB_TARGET_GNU_SYSTEM) @echo GCC_TARGET: $(GCC_TARGET) @echo TP: $(TP) @@ -102,15 +96,15 @@ with_common_libs := yes #no_common_libs := s390 -#ifeq ($(DEB_TARGET_ARCH), $(findstring $(DEB_TARGET_ARCH),$(no_common_libs))) +#ifeq ($(DEB_TARGET_GNU_CPU), $(findstring $(DEB_TARGET_GNU_CPU),$(no_common_libs))) # with_common_libs := no #endif with_dev := yes -#no_dummy_archs := ia64 i386 hppa s390 sparc +#no_dummy_cpus := ia64 i386 hppa s390 sparc #with_base_only := yes -#ifeq ($(DEB_TARGET_ARCH), $(findstring $(DEB_TARGET_ARCH),$(no_dummy_archs))) +#ifeq ($(DEB_TARGET_GNU_CPU), $(findstring $(DEB_TARGET_GNU_CPU),$(no_dummy_cpus))) # with_base_only := no # with_common_libs := yes # with_common_pkgs := yes @@ -139,9 +133,9 @@ else with_cxx := yes endif -no_cxx_archs := avr -ifeq ($(DEB_TARGET_ARCH), $(findstring $(DEB_TARGET_ARCH),$(no_cxx_archs))) - with_cxx := disabled for architecture $(DEB_TARGET_ARCH) +no_cxx_cpus := avr +ifeq ($(DEB_TARGET_GNU_CPU), $(findstring $(DEB_TARGET_GNU_CPU),$(no_cxx_cpus))) + with_cxx := disabled for architecture $(DEB_TARGET_GNU_CPU) endif ifeq (c++, $(findstring c++,$(WITHOUT_LANG))) with_cxx := disabled by environment @@ -159,7 +153,7 @@ ifeq ($(with_common_pkgs)-$(with_cxx),yes-yes) with_libcxx := yes -# ifeq ($(DEB_TARGET_ARCH),arm) +# ifeq ($(DEB_TARGET_GNU_CPU),arm) # with_libcxx := no # endif else @@ -172,9 +166,9 @@ else with_debug := no endif -debug_no_archs := -ifeq ($(DEB_TARGET_ARCH), $(findstring $(DEB_TARGET_ARCH),$(debug_no_archs))) - with_debug := disabled for architecure $(DEB_TARGET_ARCH) +debug_no_cpus := +ifeq ($(DEB_TARGET_GNU_CPU), $(findstring $(DEB_TARGET_GNU_CPU),$(debug_no_cpus))) + with_debug := disabled for architecure $(DEB_TARGET_GNU_CPU) endif @@ -182,11 +176,9 @@ # The __cxa_atexit API does not exist in some libc version (NetBSD) with_cxa_atexit := yes -no_cxa_archs := netbsd-i386 -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 +no_cxa_systems := netbsd-elf-gnu +ifeq ($(DEB_TARGET_GNU_SYSTEM), $(findstring $(DEB_TARGET_GNU_SYSTEM),$(no_cxa_systems))) + with_cxa_atexit := disabled for $(DEB_TARGET_GNU_SYSTEM) endif # Java -------------------- @@ -197,11 +189,9 @@ with_java := yes endif -java_no_archs := hurd-i386 freebsd-i386 netbsd-i386 -ifneq ($(DEB_TARGET_ARCH),i386) - ifeq ($(DEB_TARGET_ARCH), $(findstring $(DEB_TARGET_ARCH),$(java_no_archs))) - with_java := disabled for architecure $(DEB_TARGET_ARCH) - endif +java_no_systems := gnu kfreebsd-gnu knetbsd-gnu netbsd-elf-gnu +ifeq ($(DEB_TARGET_GNU_SYSTEM), $(findstring $(DEB_TARGET_GNU_SYSTEM),$(java_no_systems))) + with_java := disabled for $(DEB_TARGET_GNU_SYSTEM) endif ifdef DEB_CROSS with_java := disabled for cross compiler package @@ -230,7 +220,7 @@ endif # fastjar ------------------- -ifeq ($(with_common_pkgs),yes) +ifeq ($(with_common_pkgs)-$(with_java),yes-yes) ifdef DEB_CROSS with_fastjar := disabled for cross compiler package else @@ -243,10 +233,14 @@ # libffi ------------------- ifeq ($(with_common_libs),yes) with_libffi := yes - no_ffi_archs := mips mipsel hurd-i386 freebsd-i386 netbsd-i386 + no_ffi_cpus := mips mipsel + no_ffi_systems := gnu kfreebsd-gnu knetbsd-gnu netbsd-elf-gnu ifneq ($(with_java),yes) - ifeq ($(DEB_TARGET_ARCH), $(findstring $(DEB_TARGET_ARCH),$(no_ffi_archs))) - with_libffi := disabled for architecure $(DEB_TARGET_ARCH) + ifeq ($(DEB_TARGET_GNU_CPU), $(findstring $(DEB_TARGET_GNU_CPU),$(no_ffi_cpus))) + with_libffi := disabled for architecure $(DEB_TARGET_GNU_CPU) + endif + ifeq ($(DEB_TARGET_GNU_SYSTEM), $(findstring $(DEB_TARGET_GNU_SYSTEM),$(no_ffi_systems))) + with_libffi := disabled for $(DEB_TARGET_GNU_SYSTEM) endif endif ifdef DEB_CROSS @@ -314,15 +308,13 @@ with_pascal := no endif -pascal_no_archs := netbsd-i386 -ifneq ($(DEB_TARGET_ARCH),i386) - ifeq ($(DEB_TARGET_ARCH),$(findstring $(DEB_TARGET_ARCH),$(pascal_no_archs))) - with_pascal := disabled for architecture $(DEB_TARGET_ARCH) - endif +pascal_no_systems := netbsd-elf-gnu +ifeq ($(DEB_TARGET_GNU_SYSTEM),$(findstring $(DEB_TARGET_GNU_SYSTEM),$(pascal_no_systems))) + with_pascal := disabled for $(DEB_TARGET_GNU_SYSTEM) endif with_gpidump := yes -ifeq ($(DEB_TARGET_ARCH),$(findstring $(DEB_TARGET_ARCH),mips mipsel)) - with_gpidump := disabled for architecture $(DEB_TARGET_ARCH) +ifeq ($(DEB_TARGET_GNU_CPU),$(findstring $(DEB_TARGET_GNU_CPU),mips mipsel)) + with_gpidump := disabled for architecture $(DEB_TARGET_GNU_CPU) endif pascal_version := 20030830 ifeq (pascal, $(findstring pascal,$(WITHOUT_LANG))) @@ -345,11 +337,13 @@ with_objc_gc := yes # disable ObjC garbage collection library (needs libgc) -libgc_no_archs := avr freebsd-i386 -ifneq ($(DEB_TARGET_ARCH),i386) - ifeq ($(DEB_TARGET_ARCH),$(findstring $(DEB_TARGET_ARCH),$(libgc_no_archs))) - with_objc_gc := disabled for architecture $(DEB_TARGET_ARCH) - endif +libgc_no_cpus := avr +libgc_no_systems := kfreebsd-gnu knetbsd-gnu +ifeq ($(DEB_TARGET_GNU_CPU),$(findstring $(DEB_TARGET_GNU_CPU),$(libgc_no_cpus))) + with_objc_gc := disabled for architecture $(DEB_TARGET_GNU_CPU) +endif +ifeq ($(DEB_TARGET_GNU_SYSTEM),$(findstring $(DEB_TARGET_GNU_SYSTEM),$(libgc_no_systems))) + with_objc_gc := disabled for $(DEB_TARGET_GNU_SYSTEM) endif with_objc_gc := disabled for gcc-3.4 ifdef DEB_CROSS @@ -386,11 +380,13 @@ endif with_libgnat := yes -ada_no_archs := amd64 arm hurd-i386 m68k freebsd-i386 netbsd-i386 -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 +ada_no_cpus := x86_64 arm m68k +ada_no_systems := gnu kfreebsd-gnu knetbsd-gnu netbsd-elf-gnu +ifeq ($(DEB_TARGET_GNU_CPU), $(findstring $(DEB_TARGET_GNU_CPU),$(ada_no_cpus))) + with_ada := disabled for architecure $(DEB_TARGET_GNU_CPU) +endif +ifeq ($(DEB_TARGET_GNU_SYSTEM), $(findstring $(DEB_TARGET_GNU_SYSTEM),$(ada_no_systems))) + with_ada := disabled for $(DEB_TARGET_GNU_SYSTEM) endif ifeq (ada, $(findstring ada,$(WITHOUT_LANG))) with_ada := disabled by environment @@ -400,15 +396,15 @@ endif # needed for 3.4 on alpha and hppa, but not for release tarballs -#ifeq ($(DEB_HOST_ARCH),$(findstring $(DEB_HOST_ARCH),alpha hppa)) +#ifeq ($(DEB_HOST_GNU_CPU),$(findstring $(DEB_HOST_GNU_CPU),alpha hppa)) # with_ada_bootstrap_workaround := yes #endif ifeq ($(with_ada),yes) enabled_languages += ada - libada_no_archs := alpha mips mipsel powerpc s390 sparc - ifeq ($(DEB_TARGET_ARCH), $(findstring $(DEB_TARGET_ARCH),$(libada_no_archs))) - with_libgnat := disabled for architecure $(DEB_TARGET_ARCH) + libada_no_cpus := alpha mips mipsel powerpc s390 sparc + ifeq ($(DEB_TARGET_GNU_CPU), $(findstring $(DEB_TARGET_GNU_CPU),$(libada_no_cpus))) + with_libgnat := disabled for architecure $(DEB_TARGET_GNU_CPU) endif else with_libgnat := $(with_ada) @@ -424,9 +420,9 @@ with_treelang := no endif endif -tl_no_archs := powerpc -ifeq ($(DEB_TARGET_ARCH), $(findstring $(DEB_TARGET_ARCH),$(tl_no_archs))) - with_treelang := disabled for architecure $(DEB_TARGET_ARCH) +tl_no_cpus := powerpc +ifeq ($(DEB_TARGET_GNU_CPU), $(findstring $(DEB_TARGET_GNU_CPU),$(tl_no_cpus))) + with_treelang := disabled for architecure $(DEB_TARGET_GNU_CPU) endif ifdef DEB_CROSS with_treelang := disabled for cross compiler package @@ -459,11 +455,9 @@ ifdef DEB_CROSS with_check := disabled for cross compiler package endif -check_no_archs := hurd-i386 -ifneq ($(DEB_TARGET_ARCH),i386) - ifeq ($(DEB_TARGET_ARCH), $(findstring $(DEB_TARGET_ARCH),$(check_no_archs))) - with_check :=disabled for $(DEB_TARGET_ARCH) - endif +check_no_systems := gnu kfreebsd-gnu knetbsd-gnu +ifeq ($(DEB_TARGET_GNU_SYSTEM), $(findstring $(DEB_TARGET_GNU_SYSTEM),$(check_no_systems))) + with_check := disabled for $(DEB_TARGET_GNU_SYSTEM) endif ifneq ($(WITHOUT_CHECK),) with_check := disabled by environment @@ -482,7 +476,7 @@ with_lib64g2c := no # i386/x86_64 build -ifeq ($(DEB_TARGET_ARCH),XXXi386-XXX) +ifeq ($(DEB_TARGET_GNU_CPU),XXXi386-XXX) biarch := yes with_lib64gcc := yes with_lib64cxx := yes @@ -490,19 +484,19 @@ # hppa64 build -------------------- with_hppa64 := no -ifeq ($(DEB_TARGET_ARCH),hppa) +ifeq ($(DEB_TARGET_GNU_CPU),hppa) with_hppa64 := yes endif # sparc64 build -------------------- -#ifeq ($(DEB_TARGET_ARCH),sparc) +#ifeq ($(DEB_TARGET_GNU_CPU),sparc) # biarch := yes # with_lib64gcc := yes # with_lib64cxx := yes #endif # s390x build -------------------- -ifeq ($(DEB_TARGET_ARCH),s390) +ifeq ($(DEB_TARGET_GNU_CPU),s390) biarch := yes with_lib64gcc := yes with_lib64cxx := yes @@ -510,11 +504,9 @@ # GNU locales force_gnu_locales := yes -locale_no_archs := netbsd-i386 -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 +locale_no_systems := kfreebsd-gnu knetbsd-gnu netbsd-elf-gnu +ifeq ($(DEB_TARGET_GNU_SYSTEM), $(findstring $(DEB_TARGET_GNU_SYSTEM),$(locale_no_systems))) + force_gnu_locales := disabled for $(DEB_TARGET_GNU_SYSTEM) endif unpack_stamp := $(stampdir)/01-unpack-stamp diff -Nur gcc-3.4-3.4.0/debian/rules.patch gcc-3.4-3.4.0+kbsd/debian/rules.patch --- gcc-3.4-3.4.0/debian/rules.patch 2004-05-27 15:13:23.000000000 +0200 +++ gcc-3.4-3.4.0+kbsd/debian/rules.patch 2004-05-27 15:12:46.000000000 +0200 @@ -57,44 +57,49 @@ endif endif -ifeq ($(DEB_TARGET_ARCH),alpha) - debian_patches += # alpha-ieee +ifeq ($(DEB_TARGET_GNU_SYSTEM),gnu) + debian_patches += hurd-changes endif -ifneq (,$(findstring $(DEB_TARGET_ARCH),i386)) - debian_patches += cpu-default-i486 + +ifeq ($(DEB_TARGET_GNU_CPU),alpha) + debian_patches += # alpha-ieee endif -ifeq ($(DEB_TARGET_ARCH),hurd-i386) - debian_patches += hurd-changes cpu-default-i586 +ifeq ($(DEB_TARGET_GNU_CPU),i386) + ifeq ($(DEB_TARGET_GNU_SYSTEM),gnu) + debian_patches += cpu-default-i586 + else + debian_patches += cpu-default-i486 + endif endif -ifeq ($(DEB_TARGET_ARCH),ia64) +ifeq ($(DEB_TARGET_GNU_CPU),ia64) debian_patches += endif -ifeq ($(DEB_TARGET_ARCH), $(findstring $(DEB_TARGET_ARCH),mips mipsel)) +ifeq ($(DEB_TARGET_GNU_CPU), $(findstring $(DEB_TARGET_GNU_CPU),mips mipsel)) debian_patches += libffi-mips libjava-mips endif -ifeq ($(DEB_TARGET_ARCH)-$(biarch),i386-yes) +ifeq ($(DEB_TARGET_GNU_CPU)-$(biarch),i386-yes) debian_patches += # i386-biarch endif -ifeq ($(DEB_TARGET_ARCH),powerpc) +ifeq ($(DEB_TARGET_GNU_CPU),powerpc) debian_patches += #powerpc-biarch endif -ifeq ($(DEB_TARGET_ARCH)-$(biarch),s390-yes) +ifeq ($(DEB_TARGET_GNU_CPU)-$(biarch),s390-yes) debian_patches += s390-biarch s390-config-ml #s390-nonlocal-goto s390-ifcvt endif -ifeq ($(DEB_TARGET_ARCH),sparc) +ifeq ($(DEB_TARGET_GNU_CPU),sparc) ifeq ($(biarch),yes) debian_patches += sparc64-build sparc-config-ml endif endif -ifeq ($(DEB_TARGET_ARCH),freebsd-i386) - debian_patches += cpu-default-i486 +ifeq ($(DEB_TARGET_GNU_SYSTEM),kfreebsd-gnu) + debian_patches += kbsd-gnu endif -ifeq ($(DEB_TARGET_ARCH),freebsd-i386-gnu) - debian_patches += cpu-default-i486 +ifeq ($(DEB_TARGET_GNU_SYSTEM),knetbsd-gnu) + debian_patches += kbsd-gnu endif -ifeq ($(DEB_TARGET_ARCH),netbsd-i386) +ifeq ($(DEB_TARGET_GNU_SYSTEM),netbsd-elf-gnu) debian_patches += # netbsd-all-gcc netbsd-archs-gcc endif diff -Nur gcc-3.4-3.4.0/debian/rules2 gcc-3.4-3.4.0+kbsd/debian/rules2 --- gcc-3.4-3.4.0/debian/rules2 2004-05-27 15:13:23.000000000 +0200 +++ gcc-3.4-3.4.0+kbsd/debian/rules2 2004-05-27 15:12:46.000000000 +0200 @@ -20,6 +20,19 @@ else echo 1; fi) endif +# kernel-specific ulimit hack +ifeq ($(DEB_HOST_GNU_SYSTEM),linux) +ULIMIT = if [ -e /proc/meminfo ]; then \ + m=`awk '/^((Mem|Swap)Free|Cached)/{m+=$$2}END{print int(m*.9)}' \ + /proc/meminfo`; \ + else \ + m=`vmstat --free --swap-free --kilobytes|awk '{m+=$$2}END{print int(m*.9)}'`; \ + fi; \ + ulimit -m $$m; \ + echo "Limited memory for test runs to `ulimit -m`kB" +else +ULIMIT = true +endif # the recipient for the test summaries. Send with: debian/rules mail-summary S_EMAIL = [EMAIL PROTECTED] [EMAIL PROTECTED] @@ -42,7 +55,7 @@ endif STAGE1_CFLAGS = -g -ifeq ($(DEB_HOST_ARCH), $(findstring $(DEB_HOST_ARCH),mips mipsel)) +ifeq ($(DEB_HOST_GNU_CPU), $(findstring $(DEB_HOST_GNU_CPU),mips mipsel)) STAGE1_CFLAGS = -g -O2 endif @@ -114,7 +127,7 @@ endif endif -ifeq ($(DEB_TARGET_ARCH),$(findstring $(DEB_TARGET_ARCH),m68k)) +ifeq ($(DEB_TARGET_GNU_CPU),$(findstring $(DEB_TARGET_GNU_CPU),m68k)) CONFARGS += --disable-werror endif @@ -122,11 +135,11 @@ CONFARGS += --disable-werror endif -ifeq ($(DEB_TARGET_GNU_TYPE)-$(biarch),sparc-linux-yes) +ifeq ($(DEB_TARGET_GNU_CPU)-$(biarch),sparc-yes) CONFARGS += --with-cpu=v7 endif -ifeq ($(DEB_TARGET_ARCH),amd64) +ifeq ($(DEB_TARGET_GNU_CPU),x86_64) CONFARGS += --disable-multilib endif @@ -152,11 +165,14 @@ endif # Increase the timeout for one testrun on slow architectures -ifeq ($(DEB_TARGET_ARCH), $(findstring $(DEB_TARGET_ARCH),arm hppa m68k)) +ifeq ($(DEB_TARGET_GNU_CPU), $(findstring $(DEB_TARGET_GNU_CPU),arm hppa m68k)) DEJAGNU_TIMEOUT=600 else DEJAGNU_TIMEOUT=450 endif +ifeq ($(DEB_TARGET_GNU_SYSTEM),gnu) + DEJAGNU_TIMEOUT=900 +endif default: build @@ -481,29 +497,12 @@ & endif -ifeq ($(DEB_HOST_GNU_SYSTEM),linux) - -echo "Running testsuite ..."; \ - if [ -e /proc/meminfo ]; then \ - m=`awk '/^((Mem|Swap)Free|Cached)/{m+=$$2}END{print int(m*.9)}' \ - /proc/meminfo`; \ - else \ - m=`vmstat --free --swap-free --kilobytes|awk '{m+=$$2}END{print int(m*.9)}'`; \ - fi; \ - ulimit -m $$m; \ - echo "Limited memory for test runs to `ulimit -m`kB"; \ - EXTRA_TEST_PFLAGS=-g0 \ - DEJAGNU_TIMEOUT=$(DEJAGNU_TIMEOUT) \ - LOCPATH=$(PWD)/locales \ - LD_LIBRARY_PATH=$${LD_LIBRARY_PATH:+$$LD_LIBRARY_PATH:}$(builddir)/gcc:$(builddir)/gcc/ada/rts \ - $(MAKE) -C $(builddir) -k check 2>&1 | tee test-protocol -else - -echo "Running testsuite ..."; \ - EXTRA_TEST_PFLAGS=-g0 \ - DEJAGNU_TIMEOUT=$(DEJAGNU_TIMEOUT) \ - LOCPATH=$(PWD)/locales \ - LD_LIBRARY_PATH=$${LD_LIBRARY_PATH:+$$LD_LIBRARY_PATH:}$(builddir)/gcc:$(builddir)/gcc/ada/rts \ + echo "Running testsuite ..." + -$(ULIMIT) ; EXTRA_TEST_PFLAGS=-g0 \ + DEJAGNU_TIMEOUT=$(DEJAGNU_TIMEOUT) \ + LOCPATH=$(PWD)/locales \ + LD_LIBRARY_PATH=$${LD_LIBRARY_PATH:+$$LD_LIBRARY_PATH:}$(builddir)/gcc:$(builddir)/gcc/ada/rts \ $(MAKE) -C $(builddir) -k check 2>&1 | tee test-protocol -endif -ps aux | fgrep logwatch | fgrep -v fgrep if [ -f $(builddir)/logwatch.pid ]; then \ @@ -559,7 +558,13 @@ rm -f test-inst-protocol # start the script only on architectures known to be slow ... -ifeq ($(DEB_HOST_ARCH), $(findstring $(DEB_HOST_ARCH),arm m68k)) +ifeq ($(DEB_HOST_GNU_CPU), $(findstring $(DEB_HOST_GNU_CPU),arm m68k)) + start_logwatch = yes +endif +ifeq ($(DEB_HOST_GNU_SYSTEM),gnu) + start_logwatch = yes +endif +ifeq ($(start_logwatch),yes) : # start logwatch script for regular output during test runs chmod +x debian/logwatch.sh -debian/logwatch.sh -t 900 -p $(builddir)/logwatch-inst.pid \ @@ -572,29 +577,13 @@ rm -rf check-inst mkdir check-inst -ifeq ($(DEB_HOST_GNU_SYSTEM),linux) - -echo "Running testsuite ..."; \ - if [ -e /proc/meminfo ]; then \ - m=`awk '/^((Mem|Swap)Free|Cached)/{m+=$$2}END{print int(m*.9)}' \ - /proc/meminfo`; \ - else \ - m=`vmstat --free --swap-free --kilobytes|awk '{m+=$$2}END{print int(m*.9)}'`; \ - fi; \ - ulimit -m $$m; \ - echo "Limited memory for test runs to `ulimit -m`kB"; \ - DEJAGNU_TIMEOUT=$(DEJAGNU_TIMEOUT) \ - LOCPATH=$(PWD)/locales \ - cd check-inst && $(srcdir)/contrib/test_installed \ - --with-gcc=gcc-3.3 --with-g++=g++-3.3 --with-g77=g77-3.3 \ - 2>&1 | tee test-inst-protocol -else - -echo "Running testsuite ..."; \ - DEJAGNU_TIMEOUT=$(DEJAGNU_TIMEOUT) \ - LOCPATH=$(PWD)/locales \ - cd check-inst && $(srcdir)/contrib/test_installed \ - --with-gcc=gcc-3.3 --with-g++=g++-3.3 --with-g77=g77-3.3 \ + echo "Running testsuite ..." + -$(ULIMIT) ; \ + DEJAGNU_TIMEOUT=$(DEJAGNU_TIMEOUT) \ + LOCPATH=$(PWD)/locales \ + cd check-inst && $(srcdir)/contrib/test_installed \ + --with-gcc=gcc-3.3 --with-g++=g++-3.3 --with-g77=g77-3.3 \ 2>&1 | tee test-inst-protocol -endif -ps aux | fgrep logwatch | fgrep -v fgrep if [ -f $(builddir)/logwatch-inst.pid ]; then \ @@ -761,7 +750,7 @@ endif ifeq ($(with_libnof),yes) - ifeq ($(DEB_TARGET_ARCH),powerpc) + ifeq ($(DEB_TARGET_GNU_CPU),powerpc) include debian/rules.d/binary-nof.mk endif endif @@ -790,7 +779,7 @@ include debian/rules.d/binary-libstdcxx-cross.mk endif -ifeq ($(DEB_TARGET_ARCH),powerpc) +ifeq ($(DEB_TARGET_GNU_CPU),powerpc) include debian/rules.d/binary-nof-cross.mk endif @@ -834,7 +823,7 @@ rm -rf $(d) mkdir -p $(d)/lib $(d)/$(PF) -ifeq ($(DEB_TARGET_ARCH),amd64) +ifeq ($(DEB_TARGET_GNU_CPU),x86_64) : # link lib to lib64 and usr/lib to usr/lib64 : # (this works when CONFARGS contains '--disable-multilib') ln -s lib $(d)/lib64