--- gcc-snapshot-20061001.orig/debian/.svn/text-base/control.svn-base +++ gcc-snapshot-20061001/debian/.svn/text-base/control.svn-base @@ -0,0 +1,840 @@ +Source: gcc-4.2 +Section: devel +Priority: standard +Maintainer: Debian GCC Maintainers +Uploaders: Matthias Klose +Standards-Version: 3.7.2 +Build-Depends: dpkg-dev (>= 1.13.9), libc6.1-dev (>= 2.3.6) [alpha ia64] | libc0.3-dev (>= 2.3.6) [hurd-i386] | libc0.1-dev (>= 2.3.6) [kfreebsd-i386 knetbsd-gnu] | libc12-dev (>= 2.3.6) [netbsd-elf-gnu] | libc6-dev (>= 2.3.6) libc6.1-dev (>= 2.3.99) [alpha], libc6-dev (>= 2.3.6) [powerpc ppc64 sparc s390], libc6-dev-amd64 [i386], libc6-dev-sparc64 [sparc], libc6-dev-s390x [s390], libc6-dev-i386 [amd64], libc6-dev-powerpc [ppc64], libc6-dev-ppc64 [powerpc], lib32gcc1 [amd64 ppc64], lib64gcc1 [i386 powerpc sparc s390], lib64z1-dev [i386 powerpc sparc s390], lib32z1-dev [amd64 ppc64], libunwind7-dev (>= 0.98.5-6) [ia64], libatomic-ops-dev [ia64], m4, autoconf, autoconf2.13, automake1.9, libtool, autogen, gawk, dejagnu (>= 1.4.3) [!hurd-i386], expect-tcl8.3 [!hurd-i386], bzip2, binutils (>= 2.17) | binutils-multiarch (>= 2.17), binutils-hppa64 (>= 2.17) [hppa], debhelper (>= 5.0), gperf (>= 3.0.1), bison (>= 1:2.3), flex, gettext, texinfo (>= 4.3), zlib1g-dev, libmpfr-dev [!avr], locales [!hurd-i386 !knetbsd-i386 !netbsd-i386], procps [!hurd-i386], sharutils, fastjar, libasound2-dev [!knetbsd-i386 !netbsd-i386 !kfreebsd-i386 !kfreebsd-amd64 !hurd-i386], lib32asound2-dev [amd64 ppc64], lib64asound2-dev [i386 powerpc sparc s390], libxtst-dev [!knetbsd-i386 !netbsd-i386 !kfreebsd-i386 !kfreebsd-amd64 !hurd-i386], libxt-dev [!knetbsd-i386 !netbsd-i386 !kfreebsd-i386 !kfreebsd-amd64 !hurd-i386], libgtk2.0-dev (>= 2.4.4-2) [!knetbsd-i386 !netbsd-i386 !kfreebsd-i386 !kfreebsd-amd64 !hurd-i386], libart-2.0-dev [!knetbsd-i386 !netbsd-i386 !kfreebsd-i386 !kfreebsd-amd64 !hurd-i386], libcairo2-dev [!knetbsd-i386 !netbsd-i386 !kfreebsd-i386 !kfreebsd-amd64 !hurd-i386], libqt4-dev (>= 4.1.0) [!knetbsd-i386 !netbsd-i386 !kfreebsd-i386 !kfreebsd-amd64 !hurd-i386], libgconf2-dev [!knetbsd-i386 !netbsd-i386 !kfreebsd-i386 !kfreebsd-amd64 !hurd-i386], libxul-dev [!knetbsd-i386 !netbsd-i386 !kfreebsd-i386 !kfreebsd-amd64 !hurd-i386], gnat-4.1 [!alpha !arm !armeb !m32r !m68k !sh3 !sh3eb !sh4 !sh4eb !knetbsd-i386 !netbsd-i386 !hurd-i386], realpath (>= 1.9.12), chrpath, lsb-release, dash [hppa], make (>= 3.81) +Build-Depends-Indep: doxygen (>= 1.4.2), graphviz (>= 2.2), gsfonts-x11, gjdoc +Build-Conflicts: qt3-dev-tools + +Package: gcc-4.2-base +Architecture: any +Section: libs +Priority: required +Description: The GNU Compiler Collection (base package) + This package contains files common to all languages and libraries + contained in the GNU Compiler Collection (GCC). + +Package: gcj-4.2-base +Architecture: any +Section: libs +Priority: optional +Description: The GNU Compiler Collection (gcj base package) + This package contains files common to all java related packages + built from the GNU Compiler Collection (GCC). + +Package: gnat-4.2-base +Architecture: any +Section: libs +Priority: optional +Description: The GNU Compiler Collection (gnat base package) + This package contains files common to all Ada related packages + built from the GNU Compiler Collection (GCC). + +Package: libgcc1 +Architecture: any +Section: libs +Priority: required +Depends: gcc-4.2-base (= ${gcc:Version}), ${shlibs:Depends} +Description: GCC support library + 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. + +Package: libgcc2 +Architecture: m68k +Section: libs +Priority: required +Depends: gcc-4.2-base (= ${gcc:Version}), ${shlibs:Depends} +Description: GCC support library + 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. + +Package: libgcc4 +Architecture: hppa +Section: libs +Priority: required +Depends: gcc-4.2-base (= ${gcc:Version}), ${shlibs:Depends} +Description: GCC support library + 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. + +Package: lib64gcc1 +Architecture: i386 powerpc sparc s390 +Section: libs +Priority: optional +Depends: gcc-4.2-base (= ${gcc:Version}), ${dep:libcbiarch} +Conflicts: libgcc1 (<= 1:3.3-0pre9) +Description: GCC support library (64bit) + 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. + +Package: lib32gcc1 +Architecture: amd64 ppc64 +Section: libs +Priority: optional +Depends: gcc-4.2-base (= ${gcc:Version}), ${dep:libcbiarch} +Description: GCC support library (32 bit Version) + 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. + +Package: gcc-4.2 +Architecture: any +Section: devel +Priority: standard +Depends: gcc-4.2-base (= ${gcc:Version}), cpp-4.2 (= ${gcc:Version}), binutils (>= ${binutils:Version}), ${dep:libgcc}, ${dep:libssp}, ${dep:libgomp}, ${dep:libunwinddev}, ${shlibs:Depends} +Recommends: ${dep:libcdev}, libmudflap0-4.2-dev (>= ${gcc:Version}) +Suggests: gcc-4.2-doc (>= ${gcc:SoftVersion}), gcc-4.2-locales (>= ${gcc:SoftVersion}), ${dep:libcbiarchdev}, ${dep:libgccbiarch}, ${dep:libsspbiarch} +Provides: c-compiler +Conflicts: gcj-4.2 (<< ${gcj:SoftVersion}) +Description: The GNU C compiler + This is the GNU C compiler, a fairly portable optimizing compiler for C. + +Package: gcc-4.2-hppa64 +Architecture: hppa +Section: devel +Priority: standard +Depends: gcc-4.2-base (= ${gcc:Version}), ${dep:libcdev}, ${shlibs:Depends} +Conflicts: gcc-3.3-hppa64 (<= 1:3.3.4-5), gcc-3.4-hppa64 (<= 3.4.1-3) +Description: The GNU C compiler (cross compiler for hppa64) + This is the GNU C compiler, a fairly portable optimizing compiler for C. + +Package: cpp-4.2 +Architecture: any +Section: interpreters +Priority: standard +Depends: gcc-4.2-base (= ${gcc:Version}), ${shlibs:Depends} +Suggests: gcc-4.2-locales (>= ${gcc:SoftVersion}) +Description: The GNU C preprocessor + A macro processor that is used automatically by the GNU C compiler + to transform programs before actual compilation. + . + This package has been separated from gcc for the benefit of those who + require the preprocessor but not the compiler. + +Package: cpp-4.2-doc +Architecture: all +Section: doc +Priority: optional +Depends: gcc-4.2-base (>= ${gcc:SoftVersion}) +Description: Documentation for the GNU C preprocessor (cpp) + Documentation for the GNU C preprocessor in info format. + +Package: gcc-4.2-locales +Architecture: all +Section: devel +Priority: optional +Depends: gcc-4.2-base (>= ${gcc:SoftVersion}), cpp-4.2 (>= ${gcc:SoftVersion}) +Recommends: gcc-4.2 (>= ${gcc:SoftVersion}) +Description: The GNU C compiler (native language support files) + Native language support for GCC. Lets GCC speak your language, + if translations are available. + . + Please do NOT submit bug reports in other languages than "C". + Always reset your language settings to use the "C" locales. + +Package: g++-4.2 +Architecture: any +Section: devel +Priority: standard +Depends: gcc-4.2-base (= ${gcc:Version}), gcc-4.2 (= ${gcc:Version}), libstdc++6-4.2-dev (= ${gcc:Version}), ${shlibs:Depends} +Provides: c++-compiler, c++abi2-dev +Suggests: gcc-4.2-doc (>= ${gcc:SoftVersion}), ${dep:libcxxbiarch} +Description: The GNU C++ compiler + This is the GNU C++ compiler, a fairly portable optimizing compiler for C++. + +Package: libmudflap0 +Architecture: any +Section: libs +Priority: optional +Depends: gcc-4.2-base (= ${gcc:Version}), ${shlibs:Depends} +Description: GCC mudflap shared support libraries + The libmudflap libraries are used by GCC for instrumenting pointer and array + dereferencing operations. + +Package: lib32mudflap0 +Architecture: amd64 ppc64 +Section: libs +Priority: optional +Depends: gcc-4.2-base (= ${gcc:Version}), ${dep:libcbiarch}, ${shlibs:Depends} +Replaces: libmudflap0 (<< 4.1) +Description: GCC mudflap shared support libraries (32bit) + The libmudflap libraries are used by GCC for instrumenting pointer and array + dereferencing operations. + +Package: lib64mudflap0 +Architecture: i386 powerpc sparc s390 +Section: libs +Priority: optional +Depends: gcc-4.2-base (= ${gcc:Version}), ${dep:libcbiarch}, ${shlibs:Depends} +Replaces: libmudflap0 (<< 4.1) +Description: GCC mudflap shared support libraries (64bit) + The libmudflap libraries are used by GCC for instrumenting pointer and array + dereferencing operations. + +Package: libmudflap0-4.2-dev +Architecture: any +Section: libdevel +Priority: optional +Depends: gcc-4.2-base (= ${gcc:Version}), libmudflap0 (>= ${gcc:Version}), ${dep:libcdev}, ${shlibs:Depends} +Suggests: ${sug:libmudflapdev} +Description: GCC mudflap support libraries (development files) + The libmudflap libraries are used by GCC for instrumenting pointer and array + dereferencing operations. + . + This package contains the headers and the static libraries. + +Package: libssp0 +Architecture: any +Section: libs +Priority: standard +Depends: gcc-4.2-base (= ${gcc:Version}), ${shlibs:Depends} +Description: GCC stack smashing protection library + GCC can now emit code for protecting applications from stack-smashing attacks. + The protection is realized by buffer overflow detection and reordering of + stack variables to avoid pointer corruption. + +Package: lib32ssp0 +Architecture: amd64 ppc64 +Section: libs +Priority: optional +Depends: gcc-4.2-base (= ${gcc:Version}), ${dep:libcbiarch}, ${shlibs:Depends} +Replaces: libssp0 (<< 4.1) +Description: GCC stack smashing protection library (32bit) + GCC can now emit code for protecting applications from stack-smashing attacks. + The protection is realized by buffer overflow detection and reordering of + stack variables to avoid pointer corruption. + +Package: lib64ssp0 +Architecture: i386 powerpc sparc s390 +Section: libs +Priority: optional +Depends: gcc-4.2-base (= ${gcc:Version}), ${dep:libcbiarch}, ${shlibs:Depends} +Replaces: libssp0 (<< 4.1) +Description: GCC stack smashing protection library (64bit) + GCC can now emit code for protecting applications from stack-smashing attacks. + The protection is realized by buffer overflow detection and reordering of + stack variables to avoid pointer corruption. + +Package: libgomp1 +Architecture: any +Section: libs +Priority: optional +Depends: gcc-4.2-base (= ${gcc:Version}), ${shlibs:Depends} +Description: GCC OpenMP (GOMP) support library + GOMP is an implementation of OpenMP for the C, C++, and Fortran 95 compilers + in the GNU Compiler Collection. + +Package: lib32gomp1 +Architecture: amd64 ppc64 +Section: libs +Priority: optional +Depends: gcc-4.2-base (= ${gcc:Version}), ${dep:libcbiarch}, ${shlibs:Depends} +Description: GCC OpenMP (GOMP) support library (32bit) + GOMP is an implementation of OpenMP for the C, C++, and Fortran 95 compilers + in the GNU Compiler Collection. + +Package: lib64gomp1 +Architecture: i386 powerpc sparc s390 +Section: libs +Priority: optional +Depends: gcc-4.2-base (= ${gcc:Version}), ${dep:libcbiarch}, ${shlibs:Depends} +Description: GCC OpenMP (GOMP) support library (64bit) + GOMP is an implementation of OpenMP for the C, C++, and Fortran 95 compilers + in the GNU Compiler Collection. + +Package: protoize +Architecture: any +Priority: optional +Depends: gcc-4.2-base (= ${gcc:Version}), gcc-4.2 (>= ${gcc:Version}), ${shlibs:Depends} +Description: Create/remove ANSI prototypes from C code + "protoize" can be used to add prototypes to a program, thus converting + the program to ANSI C in one respect. The companion program "unprotoize" + does the reverse: it removes argument types from any prototypes + that are found. + +Package: gobjc++-4.2 +Architecture: any +Priority: optional +Depends: gcc-4.2-base (= ${gcc:Version}), gobjc-4.2 (= ${gcc:Version}), g++-4.2 (= ${gcc:Version}), ${shlibs:Depends}, libobjc2 (>= ${gcc:EpochVersion}) +Suggests: gcc-4.2-doc (>= ${gcc:SoftVersion}) +Provides: objc++-compiler +Description: The GNU Objective-C++ compiler + This is the GNU Objective-C++ compiler, which compiles + Objective-C++ on platforms supported by the gcc compiler. It uses the + gcc backend to generate optimized code. + +Package: gobjc-4.2 +Architecture: any +Priority: optional +Depends: gcc-4.2-base (= ${gcc:Version}), gcc-4.2 (= ${gcc:Version}), ${dep:libcdev}, ${shlibs:Depends}, libobjc2 (>= ${gcc:EpochVersion}) +Suggests: gcc-4.2-doc (>= ${gcc:SoftVersion}) +Provides: objc-compiler +Description: The GNU Objective-C compiler + This is the GNU Objective-C compiler, which compiles + Objective-C on platforms supported by the gcc compiler. It uses the + gcc backend to generate optimized code. + +Package: libobjc2 +Section: libs +Architecture: any +Priority: optional +Depends: gcc-4.2-base (= ${gcc:Version}), ${shlibs:Depends} +Description: Runtime library for GNU Objective-C applications + Library needed for GNU ObjC applications linked against the shared library. + +Package: lib64objc2 +Section: libs +Architecture: i386 powerpc sparc s390 +Priority: optional +Depends: gcc-4.2-base (= ${gcc:Version}), ${dep:libcbiarch}, ${shlibs:Depends} +Description: Runtime library for GNU Objective-C applications (64bit) + Library needed for GNU ObjC applications linked against the shared library. + +Package: lib32objc2 +Section: libs +Architecture: amd64 ppc64 +Priority: optional +Depends: gcc-4.2-base (>= ${gcc:Version}), ${dep:libcbiarch}, ${shlibs:Depends} +Description: Runtime library for GNU Objective-C applications (32bit) + Library needed for GNU ObjC applications linked against the shared library. + +Package: gfortran-4.2 +Architecture: any +Priority: optional +Depends: gcc-4.2-base (= ${gcc:Version}), gcc-4.2 (= ${gcc:Version}), libgfortran2-dev (= ${gcc:Version}), ${dep:libcdev}, ${shlibs:Depends} +Provides: fortran95-compiler +Suggests: gfortran-4.2-doc +Description: The GNU Fortran 95 compiler + This is the GNU Fortran compiler, which compiles + Fortran 95 on platforms supported by the gcc compiler. It uses the + gcc backend to generate optimized code. + +Package: gfortran-4.2-doc +Architecture: all +Section: doc +Priority: optional +Depends: gcc-4.2-base (>= ${gcc:SoftVersion}) +Description: Documentation for the GNU Fortran compiler (gfortran) + Documentation for the GNU Fortran 95 compiler in info format. + +Package: libgfortran2 +Section: libs +Architecture: any +Priority: optional +Depends: gcc-4.2-base (= ${gcc:Version}), ${shlibs:Depends} +Description: Runtime library for GNU Fortran applications + Library needed for GNU Fortran applications linked against the + shared library. + +Package: libgfortran2-dev +Section: libdevel +Architecture: any +Priority: optional +Depends: gcc-4.2-base (= ${gcc:Version}), libgfortran2 (>= ${gcc:Version}), ${shlibs:Depends} +Suggests: ${sug:libfortrandev} +Conflicts: libgfortran0-dev +Description: GNU Fortran library development + Headers and static libraries for gfortran. + +Package: lib64gfortran2 +Section: libs +Architecture: i386 powerpc sparc s390 +Priority: optional +Depends: gcc-4.2-base (= ${gcc:Version}), ${dep:libcbiarch}, ${shlibs:Depends} +Description: Runtime library for GNU Fortran applications (64bit) + Library needed for GNU Fortran applications linked against the + shared library. + +Package: lib32gfortran2 +Section: libs +Architecture: amd64 ppc64 +Priority: optional +Depends: gcc-4.2-base (= ${gcc:Version}), ${dep:libcbiarch}, ${shlibs:Depends} +Description: Runtime library for GNU Fortran applications (32bit) + Library needed for GNU Fortran applications linked against the + shared library. + +Package: gcj-4.2 +Architecture: any +Priority: optional +Depends: gcj-4.2-base (= ${gcj:Version}), ${dep:gcj}, ${dep:libcdev}, gij-4.2 (= ${gcj:Version}), libgcj8-dev (= ${gcj:Version}), libgcj8-jar (>= ${gcj:SoftVersion}), java-common, ${shlibs:Depends} +Recommends: fastjar +Provides: java-compiler +Conflicts: cpp-4.1 (<< 4.1.1), gcc-4.1 (<< 4.1.1), java-gcj-compat-dev (<< 1.0.56-2) +Description: The GNU compiler for Java(TM) + GCJ is a front end to the GCC compiler which can natively compile both + Java(tm) source and bytecode files. The compiler can also generate class + files. + +Package: libgcj-common +Section: libs +Architecture: all +Priority: optional +Depends: gcj-4.2-base (>= ${gcj:SoftVersion}) +Conflicts: classpath (<= 0.04-4) +Description: Java runtime library (common files) + This package contains files shared by classpath and libgcj libraries. + +Package: gij-4.2 +Priority: optional +Architecture: any +Depends: gcj-4.2-base (= ${gcj:Version}), libgcj8 (= ${gcj:Version}), ${shlibs:Depends} +Suggests: fastjar, gcj-4.2 (= ${gcj:Version}), libgcj8-awt (= ${gcj:Version}) +Provides: java-virtual-machine, java2-runtime, java1-runtime, java-runtime +Description: The GNU Java bytecode interpreter + GIJ is not limited to interpreting bytecode. It includes a class loader which + can dynamically load shared objects, so it is possible to give it the name + of a class which has been compiled and put into a shared library on the + class path. + +Package: libgcj8 +Section: libs +Architecture: any +Priority: optional +Depends: gcj-4.2-base (>= ${gcj:Version}), libgcj-common, ${shlibs:Depends} +Recommends: libgcj8-jar (>= ${gcj:SoftVersion}) +Suggests: libgcj8-dbg +Replaces: libgcj8-awt (<< 4.2-20060817) +Description: Java runtime library for use with gcj + This is the runtime that goes along with the gcj front end to + gcc. libgcj includes parts of the Java Class Libraries, plus glue to + connect the libraries to the compiler and the underlying OS. + . + To show file names and line numbers in stack traces, the packages + libgcj8-dbg and binutils are required. + +Package: libgcj8-jar +Section: libs +Architecture: all +Priority: optional +Depends: gcj-4.2-base (>= ${gcj:SoftVersion}), libgcj8 (>= ${gcj:SoftVersion}) +Conflicts: libgcj7-common +Replaces: libgcj7-common +Description: Java runtime library for use with gcj (jar files) + This is the jar file that goes along with the gcj front end to gcc. + +Package: libgcj8-awt +Section: libs +Architecture: any +Priority: optional +Depends: gcj-4.2-base (= ${gcj:Version}), libgcj8 (= ${gcj:Version}), libgcj8-awt-gtk (= ${gcj:Version}), ${shlibs:Depends} +Suggests: libgcj8-awt-qt (= ${gcj:Version}) +Description: AWT peer runtime libraries for use with gcj + These are runtime libraries holding the AWT peer implementations + for libgcj (currently the GTK based peer library is required, the + QT bases library is optional). + +Package: libgcj8-awt-gtk +Section: libs +Architecture: any +Priority: optional +Depends: gcj-4.2-base (= ${gcj:Version}), libgcj8-awt (= ${gcj:Version}), ${shlibs:Depends} +Description: AWT GTK peer runtime library for use with libgcj + This is the runtime library holding the GTK based AWT peer + implementation for libgcj. + +Package: libgcj8-awt-qt +Section: libs +Architecture: any +Priority: optional +Depends: gcj-4.2-base (= ${gcj:Version}), libgcj8-awt (= ${gcj:Version}), ${shlibs:Depends} +Description: AWT QT peer runtime library for use with libgcj + This is the runtime library holding the QT based AWT peer + implementation for libgcj. + +Package: gappletviewer-4.2 +Section: utils +Architecture: any +Priority: optional +Depends: gcj-4.2-base (= ${gcj:Version}), gij-4.2 (= ${gcj:Version}), libgcj8-awt (= ${gcj:Version}), ${shlibs:Depends} +Description: Standalone application to execute Java (tm) applets + gappletviewer is a standalone application to execute Java (tm) applets. + +Package: gcjwebplugin-4.2 +Section: web +Architecture: any +Priority: optional +Depends: gcj-4.2-base (= ${gcj:Version}), gappletviewer-4.2 (= ${gcj:Version}), ${shlibs:Depends}, firefox | mozilla-browser | epiphany-browser | galeon | konqueror +Description: Web browser plugin to execute Java (tm) applets + gcjwebplugin is a little web browser plugin to execute Java (tm) applets. + It is targeted for Mozilla and compatible browsers that support the NPAPI. + +Package: lib64gcj8 +Section: libs +Architecture: i386 powerpc sparc s390 +Priority: optional +Depends: gcj-4.2-base (= ${gcj:Version}), libgcj-common, ${shlibs:Depends} +Description: Java runtime library for use with gcj (64bit) + This is the runtime that goes along with the gcj front end to + gcc. libgcj includes parts of the Java Class Libraries, plus glue to + connect the libraries to the compiler and the underlying OS. + +Package: lib32gcj8 +Section: libs +Architecture: amd64 ppc64 +Priority: optional +Depends: gcj-4.2-base (= ${gcj:Version}), libgcj-common, lib32stdc++6, lib32z1 +Suggests: lib32gcj8-dbg +Description: Java runtime library for use with gcj (32bit) + This is the runtime that goes along with the gcj front end to + gcc. libgcj includes parts of the Java Class Libraries, plus glue to + connect the libraries to the compiler and the underlying OS. + . + To show file names and line numbers in stack traces, the packages + libgcj8-dbg and binutils are required. + +Package: libgcj8-dev +Section: libdevel +Architecture: any +Priority: optional +Depends: gcj-4.2-base (= ${gcj:Version}), gcj-4.2 (= ${gcj:Version}), libgcj8-jar (>= ${gcj:SoftVersion}), libgcj8-awt (= ${gcj:Version}), libgcj-bc, ${pkg:gcjgtk}, ${pkg:gcjqt}, zlib1g-dev, ${shlibs:Depends} +Suggests: libgcj-doc +Provides: classpath-doc +Description: Java development headers and static library for use with gcj + These are the development headers and static libraries that go along + with the gcj front end to gcc. libgcj includes parts of the Java Class + Libraries, plus glue to connect the libraries to the compiler and the + underlying OS. + +Package: lib32gcj8-dev +Section: libdevel +Architecture: amd64 ppc64 +Priority: optional +Depends: gcj-4.2-base (= ${gcj:Version}), libgcj8-dev (= ${gcj:Version}), lib32gcj-bc, lib32gcj8 (= ${gcj:Version}), lib32z1-dev, ${shlibs:Depends} +Description: Java development and static library for use with gcj (32bit) + These are the development headers and static libraries that go along + with the gcj front end to gcc. libgcj includes parts of the Java Class + Libraries, plus glue to connect the libraries to the compiler and the + underlying OS. + +Package: libgcj8-dbg +Section: libdevel +Architecture: any +Priority: extra +Depends: gcj-4.2-base (= ${gcj:Version}), libgcj8 (= ${gcj:Version}) +Recommends: binutils +Description: Debugging symbols for libraries provided in libgcj8-dev + The package provides debugging symbols for the libraries provided + in libgcj8-dev. + . + binutils is required to show file names and line numbers in stack traces. + +Package: lib32gcj8-dbg +Section: libdevel +Architecture: amd64 ppc64 +Priority: extra +Depends: gcj-4.2-base (= ${gcj:Version}), lib32gcj8 (= ${gcj:Version}) +Recommends: binutils +Description: Debugging symbols for libraries provided in lib32gcj8-dev + The package provides debugging symbols for the libraries provided + in lib32gcj8-dev. + . + binutils is required to show file names and line numbers in stack traces. + +Package: libgcj8-src +Section: libdevel +Architecture: all +Priority: optional +Depends: gcj-4.2-base (>= ${gcj:SoftVersion}), gcj-4.2 (>= ${gcj:SoftVersion}), libgcj8-jar (= ${gcj:Version}) +Description: libgcj java sources for use in eclipse + These are the java source files packaged as a zip file for use in development + environments like eclipse. + +Package: libffi4 +Section: libs +Architecture: any +Priority: optional +Depends: gcc-4.2-base (= ${gcc:Version}), ${shlibs:Depends} +Description: Foreign Function Interface library runtime + A foreign function interface is the popular name for the interface that + allows code written in one language to call code written in another + language. + +Package: lib32ffi4 +Section: libs +Architecture: amd64 ppc64 +Priority: optional +Depends: gcc-4.2-base (= ${gcc:Version}), ${dep:libcbiarch}, ${shlibs:Depends} +Replaces: libffi4 (<< 4.1) +Description: Foreign Function Interface library runtime (32bit) + A foreign function interface is the popular name for the interface that + allows code written in one language to call code written in another + language. + +Package: lib64ffi4 +Section: libs +Architecture: i386 powerpc sparc s390 +Priority: optional +Depends: gcc-4.2-base (= ${gcc:Version}), ${dep:libcbiarch}, ${shlibs:Depends} +Replaces: libffi4 (<< 4.1) +Description: Foreign Function Interface library runtime (64bit) + A foreign function interface is the popular name for the interface that + allows code written in one language to call code written in another + language. + +Package: libffi4-dev +Section: libdevel +Architecture: any +Priority: optional +Depends: gcc-4.2-base (= ${gcc:Version}), libffi4 (>= ${gcc:Version}) +Suggests: ${sug:libffidev} +Provides: libffi-dev +Conflicts: libffi1-dev, libffi2-dev, libffi3-dev, libffi-dev +Description: Foreign Function Interface library (development files) + This package contains the headers and static library files necessary for + building programs which use libffi. + . + A foreign function interface is the popular name for the interface that + allows code written in one language to call code written in another + language. + +Package: libstdc++6 +Architecture: any +Section: libs +Priority: required +Depends: gcc-4.2-base (= ${gcc:Version}), ${shlibs:Depends} +Conflicts: scim (<< 1.4.2-1) +Description: The GNU Standard C++ Library v3 + This package contains an additional runtime library for C++ programs + built with the GNU compiler. + . + libstdc++-v3 is a complete rewrite from the previous libstdc++-v2, which + was included up to g++-2.95. The first version of libstdc++-v3 appeared + in g++-3.0. + +Package: lib32stdc++6 +Architecture: amd64 ppc64 +Section: libs +Priority: optional +Depends: gcc-4.2-base (= ${gcc:Version}), lib32gcc1 +Description: The GNU Standard C++ Library v3 (32 bit Version) + This package contains an additional runtime library for C++ programs + built with the GNU compiler. + +Package: lib64stdc++6 +Architecture: i386 powerpc sparc s390 +Section: libs +Priority: optional +Depends: gcc-4.2-base (= ${gcc:Version}), ${shlibs:Depends}, lib64gcc1 +Description: The GNU Standard C++ Library v3 (64bit) + This package contains an additional runtime library for C++ programs + built with the GNU compiler. + . + libstdc++-v3 is a complete rewrite from the previous libstdc++-v2, which + was included up to g++-2.95. The first version of libstdc++-v3 appeared + in g++-3.0. + +Package: libstdc++6-4.2-dev +Architecture: any +Section: libdevel +Priority: standard +Depends: gcc-4.2-base (= ${gcc:Version}), g++-4.2 (= ${gcc:Version}), libstdc++6 (>= ${gcc:Version}), ${dep:libcdev} +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++6-4.2-doc +Provides: libstdc++-dev +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++. + . + libstdc++-v3 is a complete rewrite from the previous libstdc++-v2, which + was included up to g++-2.95. The first version of libstdc++-v3 appeared + in g++-3.0. + +Package: libstdc++6-4.2-pic +Architecture: any +Section: libdevel +Priority: extra +Depends: gcc-4.2-base (= ${gcc:Version}), libstdc++6 (>= ${gcc:Version}), libstdc++6-4.2-dev (= ${gcc:Version}) +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++6-4.2-dbg +Architecture: any +Section: libdevel +Priority: extra +Depends: gcc-4.2-base (= ${gcc:Version}), libstdc++6 (>= ${gcc:Version}) +Recommends: libstdc++6-4.2-dev (= ${gcc:Version}) +Conflicts: libstdc++5-dbg, libstdc++5-3.3-dbg, libstdc++6-dbg, libstdc++6-4.0-dbg +Description: The GNU Standard C++ Library v3 (debugging files) + This package contains the shared library of libstdc++ compiled with + debugging symbols. + +Package: lib32stdc++6-4.2-dbg +Architecture: amd64 ppc64 +Section: libdevel +Priority: extra +Depends: gcc-4.2-base (= ${gcc:Version}), lib32stdc++6 (>= ${gcc:Version}), libstdc++6-4.2-dev (= ${gcc:Version}) +Conflicts: lib32stdc++6-4.0-dbg +Description: The GNU Standard C++ Library v3 (debugging files) + This package contains the shared library of libstdc++ compiled with + debugging symbols. + +Package: lib64stdc++6-4.2-dbg +Architecture: i386 powerpc sparc s390 +Section: libdevel +Priority: extra +Depends: gcc-4.2-base (= ${gcc:Version}), lib64stdc++6 (>= ${gcc:Version}), libstdc++6-4.2-dev (= ${gcc:Version}) +Conflicts: lib64stdc++6-4.0-dbg +Description: The GNU Standard C++ Library v3 (debugging files) + This package contains the shared library of libstdc++ compiled with + debugging symbols. + +Package: libstdc++6-4.2-doc +Architecture: all +Section: doc +Priority: optional +Depends: gcc-4.2-base (>= ${gcc:SoftVersion}) +Conflicts: libstdc++5-doc, libstdc++5-3.3-doc, libstdc++6-doc, libstdc++6-4.0-doc +Description: The GNU Standard C++ Library v3 (documentation files) + This package contains documentation files for the GNU stdc++ library. + . + One set is the distribution documentation, the other set is the + source documentation including a namespace list, class hierarchy, + alphabetical list, compound list, file list, namespace members, + compound members and file members. + +Package: gnat-4.2 +Architecture: any +Priority: optional +Depends: gnat-4.2-base (= ${gnat:Version}), gcc-4.2 (>= ${gcc:Version}), ${dep:libgnat}, ${dep:libcdev}, ${shlibs:Depends} +Suggests: gnat-4.2-doc, ada-reference-manual +Provides: ada-compiler, gnat +Conflicts: gnat (<< 4.1), gnat-3.1, gnat-3.2, gnat-3.3, gnat-3.4, gnat-3.5, gnat-4.0, gnat-4.1 +Description: The GNU Ada compiler + This is the GNU Ada compiler, which compiles Ada on platforms supported + by the gcc compiler. It uses the gcc backend to generate optimized code. + +Package: libgnat-4.2 +Section: libs +Architecture: any +Priority: optional +Depends: gnat-4.2-base (= ${gnat:Version}), ${shlibs:Depends} +Description: Runtime library for GNU Ada applications + Library needed for GNU Ada applications linked against the shared library. + +Package: libgnatvsn-dev +Section: libdevel +Architecture: any +Priority: optional +Depends: gnat-4.2-base (= ${gnat:Version}), libgnatvsn4.2 (= ${Source-Version}) +Description: GNU Ada compiler version library - development files + This library exports selected components of GNAT, the GNU Ada compiler, for use + in other packages, most notably ASIS and ASIS-based packages. It is licensed + under the GNAT-Modified GPL, allowing to link proprietary programs with it. + . + This package contains the development files and static library. + +Package: libgnatvsn4.2 +Architecture: any +Priority: optional +Section: libs +Depends: gnat-4.2-base (= ${gnat:Version}), libgnat-4.2 (= ${Source-Version}) +Description: GNU Ada compiler version library + This library exports selected components of GNAT, the GNU Ada compiler, for use + in other packages, most notably ASIS and ASIS-based packages. It is licensed + under the GNAT-Modified GPL, allowing to link proprietary programs with it. + . + This package contains the run-time shared library. + +Package: libgnatprj-dev +Section: libdevel +Architecture: any +Priority: optional +Depends: gnat-4.2-base (= ${gnat:Version}), libgnatprj4.2 (= ${Source-Version}) +Description: GNU Ada Project Manager development files + GNAT, the GNU Ada compiler, uses project files to organise source and object + files in large-scale development efforts. Several other tools, such as + ASIS tools (package asis-programs) and GNAT Programming Studio (package + gnat-gps) also use project files. This library contains the necessary + support; it was built from GNAT itself. It is licensed under the pure GPL; + all programs that use it must also be distributed under the GPL, or not + distributed at all. + . + This package contains development files: install it to develop applications + that understand GNAT project files. + +Package: libgnatprj4.2 +Architecture: any +Priority: optional +Section: libs +Depends: gnat-4.2-base (= ${gnat:Version}), libgnat-4.2 (= ${Source-Version}), libgnatvsn4.2 (= ${Source-Version}) +Description: GNU Ada Project Manager + GNAT, the GNU Ada compiler, uses project files to organise source and object + files in large-scale development efforts. Several other tools, such as + ASIS tools (package asis-programs) and GNAT Programming Studio (package + gnat-gps) also use project files. This library contains the necessary + support; it was built from GNAT itself. It is licensed under the pure GPL; + all programs that use it must also be distributed under the GPL, or not + distributed at all. + . + This package contains the run-time shared library. + +Package: gnat-4.2-doc +Architecture: all +Section: doc +Priority: optional +Depends: gcc-4.2-base (>= ${gcc:SoftVersion}) +Suggests: gnat-4.2 +Description: Documentation for the GNU Ada compiler (gnat) + Documentation for the GNU Ada compiler in info format. + +Package: treelang-4.2 +Architecture: any +Priority: optional +Depends: gcc-4.2-base (= ${gcc:Version}), gcc-4.2 (= ${gcc:Version}), ${shlibs:Depends} +Description: The GNU Treelang compiler + Treelang is a sample language, useful only to help people understand how + to implement a new language front end to GCC. It is not a useful + language in itself other than as an example or basis for building a new + language. Therefore only language developers are likely to have an + interest in it. + +Package: gcc-4.2-soft-float +Architecture: arm armeb +Priority: optional +Depends: gcc-4.2-base (= ${gcc:Version}), gcc-4.2 (= ${gcc:Version}), ${shlibs:Depends} +Replaces: gcc-soft-float-ss +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. + +Package: fixincludes +Architecture: any +Priority: optional +Depends: gcc-4.2-base (= ${gcc:Version}), gcc-4.2 (= ${gcc:Version}), ${shlibs:Depends} +Description: Fix non-ANSI header files + FixIncludes was created to fix non-ANSI system header files. Many + system manufacturers supply proprietary headers that are not ANSI compliant. + The GNU compilers cannot compile non-ANSI headers. Consequently, the + FixIncludes shell script was written to fix the header files. + . + Not all packages with header files are installed on the system, when the + package is built, so we make fixincludes available at build time of other + packages, such that checking tools like lintian can make use of it. + +Package: gcc-4.2-doc +Architecture: all +Section: doc +Priority: optional +Depends: gcc-4.2-base (>= ${gcc:SoftVersion}) +Conflicts: gcc-docs (<< 2.95.2) +Replaces: gcc (<=2.7.2.3-4.3), gcc-docs (<< 2.95.2) +Description: Documentation for the GNU compilers (gcc, gobjc, g++) + Documentation for the GNU compilers in info format. + +Package: gcc-4.2-source +Architecture: all +Priority: optional +Depends: gcc-4.2-base (>= ${gcc:SoftVersion}), make (>= 3.81) +Description: Source of the GNU Compiler Collection + This package contains the sources and patches which are needed to + build the GNU Compiler Collection (GCC). --- gcc-snapshot-20061001.orig/debian/.svn/text-base/dummy.texi.svn-base +++ gcc-snapshot-20061001/debian/.svn/text-base/dummy.texi.svn-base @@ -0,0 +1 @@ +@c This file is empty because the original one has a non DFSG free license (GFDL) --- gcc-snapshot-20061001.orig/debian/.svn/text-base/libstdc++CXX-BV-doc.doc-base.svn-base +++ gcc-snapshot-20061001/debian/.svn/text-base/libstdc++CXX-BV-doc.doc-base.svn-base @@ -0,0 +1,13 @@ +Document: libstdc++@CXX@-@BV@-doc +Title: The GNU Standard C++ Library v3 (gcc-@BV@) +Author: Various +Abstract: This package contains documentation files for the GNU stdc++ library. + One set is the distribution documentation, the other set is the + source documentation including a namespace list, class hierarchy, + alphabetical list, compound list, file list, namespace members, + compound members and file members. +Section: Apps/Programming + +Format: html +Index: /usr/share/doc/libstdc++@CXX@-@BV@-doc/libstdc++/html_user/index.html +Files: /usr/share/doc/libstdc++@CXX@-@BV@-doc/libstdc++/html*/* --- gcc-snapshot-20061001.orig/debian/.svn/text-base/logwatch.sh.svn-base +++ gcc-snapshot-20061001/debian/.svn/text-base/logwatch.sh.svn-base @@ -0,0 +1,104 @@ +#! /bin/sh + +# script to trick the build daemons and output something, if there is +# still test/build activity + +# $1: primary file to watch. if there is activity on this file, we do nothing +# $2+: files to watch to look for activity despite no output in $1 +# if the files are modified or are newly created, then the message +# is printed on stdout. +# if nothing is modified, don't output anything (so the buildd timeout +# hits). + +pidfile=logwatch.pid +timeout=3600 +message='\nlogwatch still running\n' + +usage() +{ + echo >&2 "usage: `basename $0` [-p ] [-t ] [-m ]" + echo >&2 " [ ...]" + exit 1 +} + +while [ $# -gt 0 ]; do + case $1 in + -p) + pidfile=$2 + shift + shift + ;; + -t) + timeout=$2 + shift + shift + ;; + -m) + message="$2" + shift + shift + ;; + -*) + usage + ;; + *) + break + esac +done + +[ $# -gt 0 ] || usage + +logfile="$1" +shift +otherlogs="$@" + +cleanup() +{ + rm -f $pidfile + exit 0 +} + +#trap cleanup 0 1 3 15 + +echo $$ > $pidfile + +update() +{ + _logvar=$1 + _othervar=$2 + + # logfile may not exist yet + if [ -r $logfile ]; then + _logtail="`tail -10 $logfile | md5sum` $f" + else + _logtail="does not exist: $logfile" + fi + eval $_logvar="'$_logtail'" + + _othertails='' + for f in $otherlogs; do + if [ -r $f ]; then + _othertails="$_othertails `tail -10 $f | md5sum` $f" + else + _othertails="$_othertails does not exist: $f" + fi + done + eval $_othervar="'$_othertails'" +} + +update logtail othertails +while true; do + sleep $timeout + update newlogtail newothertails + if [ "$logtail" != "$newlogtail" ]; then + # there is still action in the primary logfile. do nothing. + logtail="$newlogtail" + elif [ "$othertails" != "$newothertails" ]; then + # there is still action in the other log files, so print the message + /bin/echo -e $message + othertails="$newothertails" + else + # nothing changed in the other log files. maybe a timeout ... + : + fi +done --- gcc-snapshot-20061001.orig/debian/.svn/text-base/rename-pkgs.sh.svn-base +++ gcc-snapshot-20061001/debian/.svn/text-base/rename-pkgs.sh.svn-base @@ -0,0 +1,32 @@ +#! /bin/bash + +rename_pkg() +{ + src=$1 + dest=$2 + for ext in preinst postinst prerm postrm doc-base; do + if [ -f $src.$ext ]; then + if [ -f $dest.ext ]; then + echo already exists: $dest.$ext + else + echo "$src.$ext --> $dest.$ext" + svn rename $src.$ext $dest.$ext + #mv $src.$ext $dest.$ext + fi + fi + done +} + +v_new=3.4 +v_old=3.3 + +for p in chill cpp gcc g++ g77 gpc gij gcj gobjc protoize treelang; do + rename_pkg $p-$v_old $p-$v_new +done + +for p in cpp gcc g77 gnat; do + rename_pkg $p-$v_old-doc $p-$v_new-doc +done + +rename_pkg gcc-$v_old-base gcc-$v_new-base +rename_pkg gcc-$v_old-sparc64 gcc-$v_new-sparc64 --- gcc-snapshot-20061001.orig/debian/.svn/text-base/porting.html.svn-base +++ gcc-snapshot-20061001/debian/.svn/text-base/porting.html.svn-base @@ -0,0 +1,30 @@ + + +Porting libstdc++-v3 + + + + + + + +

Porting libstdc++-v3

+
+


+Node: Top, +Next: , +Up: (dir) +
+
+ +The documentation in this file was removed, because it is licencensed +under a non DFSG conforming licencse. + + --- gcc-snapshot-20061001.orig/debian/.svn/text-base/porting.texi.svn-base +++ gcc-snapshot-20061001/debian/.svn/text-base/porting.texi.svn-base @@ -0,0 +1,47 @@ +\input texinfo + +@setfilename porting.info +@settitle Porting libstdc++-v3 +@setchapternewpage odd + +@ifinfo +This file explains how to port libstdc++-v3 (the GNU C++ library) to +a new target. + +The documentation in this file was removed, because it is licencensed +under a non DFSG conforming licencse. +@end ifinfo + +@c --------------------------------------------------------------------- +@c Titlepage +@c --------------------------------------------------------------------- + +@titlepage +@title Porting libstdc++-v3 +@author Mark Mitchell +@page +@vskip 0pt plus 1filll + +The documentation in this file was removed, because it is licencensed +under a non DFSG conforming licencse. +@end titlepage + +@c --------------------------------------------------------------------- +@c Top +@c --------------------------------------------------------------------- + +@node Top +@top Porting libstdc++-v3 + +This document explains how to port libstdc++-v3 (the GNU C++ library) to +a new target. + +The documentation in this file was removed, because it is licencensed +under a non DFSG conforming licencse. + +@c --------------------------------------------------------------------- +@c Epilogue +@c --------------------------------------------------------------------- + +@contents +@bye --- gcc-snapshot-20061001.orig/debian/.svn/text-base/treelang-BV.doc-base.svn-base +++ gcc-snapshot-20061001/debian/.svn/text-base/treelang-BV.doc-base.svn-base @@ -0,0 +1,15 @@ +Document: treelang-@BV@ +Title: The GNU Treelang Compiler +Author: Tim Josling +Abstract: This file documents the use and the internals of the GNU Treelang + compiler. At the moment this manual is not incorporated into the main + GCC manual as it is too incomplete. +Section: Apps/Programming + +Format: html +Index: /usr/share/doc/gcc-@BV@-base/treelang/treelang.html +Files: /usr/share/doc/gcc-@BV@-base/treelang/treelang.html + +Format: info +Index: /usr/share/info/treelang-@BV@.info.gz +Files: /usr/share/info/treelang-@BV@* --- gcc-snapshot-20061001.orig/debian/.svn/text-base/libgcjGCJ-dev.overrides.svn-base +++ gcc-snapshot-20061001/debian/.svn/text-base/libgcjGCJ-dev.overrides.svn-base @@ -0,0 +1 @@ +libgcj@GCJ@-dev: library-not-linked-against-libc --- gcc-snapshot-20061001.orig/debian/.svn/text-base/gcc-BV-hppa64.postinst.svn-base +++ gcc-snapshot-20061001/debian/.svn/text-base/gcc-BV-hppa64.postinst.svn-base @@ -0,0 +1,13 @@ +#! /bin/sh -e + +prio=$(echo @BV@ | sed 's/\.//g') + +update-alternatives --quiet \ + --install /usr/bin/hppa64-linux-gnu-gcc \ + hppa64-linux-gnu-gcc \ + /usr/bin/hppa64-linux-gnu-gcc-@BV@ \ + $prio + +#DEBHELPER# + +exit 0 --- gcc-snapshot-20061001.orig/debian/.svn/text-base/lib32stdc++CXX.postinst.svn-base +++ gcc-snapshot-20061001/debian/.svn/text-base/lib32stdc++CXX.postinst.svn-base @@ -0,0 +1,12 @@ +#! /bin/sh -e + +case "$1" in + configure) + docdir=/usr/share/doc/lib32stdc++@CXX@ + if [ -d $docdir ] && [ ! -h $docdir ]; then + rm -rf $docdir + ln -s gcc-@BV@-base $docdir + fi +esac + +#DEBHELPER# --- gcc-snapshot-20061001.orig/debian/.svn/text-base/gcc-BV-hppa64.prerm.svn-base +++ gcc-snapshot-20061001/debian/.svn/text-base/gcc-BV-hppa64.prerm.svn-base @@ -0,0 +1,10 @@ +#! /bin/sh -e + +if [ "$1" != "upgrade" ]; then + update-alternatives --quiet \ + --remove hppa64-linux-gcc /usr/bin/hppa64-linux-gnu-gcc-@BV@ +fi + +#DEBHELPER# + +exit 0 --- gcc-snapshot-20061001.orig/debian/.svn/text-base/gcj-wrapper-BV.svn-base +++ gcc-snapshot-20061001/debian/.svn/text-base/gcj-wrapper-BV.svn-base @@ -0,0 +1,91 @@ +#!/usr/bin/perl -w +# +# Starts the GNU Java compiler. +# +# Command-line arguments should be in the style of Sun's Java compiler; +# these will be converted to gcj arguments before being passed to the +# gcj itself. +# +# Copyright (C) 2002-2003 by Ben Burton +# Based on the original gcj-wrapper-3.2 shell script. + +use strict; + +# The real Java compiler: +my $javaCompiler = '/usr/bin/gcj-@BV@'; + +# The command-line arguments to pass to the real Java compiler: +my @commandLine; + +# The warning flags to pass to the GNU Java compiler: +my $warnings = '-Wall'; + +# Build the command-line from the arguments given. +my $parsingOptions = 1; +my $copyNextArg = 0; +my $ignoreNextArg = 0; +my $appendNextArg = ''; +foreach my $arg (@ARGV) { + # See if we already know what to do with this argument. + if ($ignoreNextArg) { + # Throw it away. + $ignoreNextArg = 0; + next; + } elsif ($copyNextArg or not $parsingOptions) { + # Copy it directly. + push @commandLine, $arg; + $copyNextArg = 0; + next; + } elsif ($appendNextArg) { + # Append it to $appendNextArg and then copy directly. + push @commandLine, ($appendNextArg . $arg); + $appendNextArg = ''; + next; + } + + # Try to interpret Sun-style options. + if ($arg eq '-version') { + push @commandLine, '--version'; + } elsif ($arg eq '-h' or $arg eq '-help') { + push @commandLine, '--help'; + } elsif ($arg eq '-classpath' or $arg eq '--classpath' or $arg eq '--cp') { + $appendNextArg = '--classpath='; + } elsif ($arg eq '-encoding' or $arg eq '-bootclasspath' or + $arg eq '-extdirs') { + $appendNextArg = '-' . $arg . '='; + } elsif ($arg eq '-d') { + push @commandLine, '-d'; + $copyNextArg = 1; + } elsif ($arg eq '-nowarn') { + $warnings = ''; + } elsif ($arg =~ /^-g/) { + # Some kind of debugging option - just switch debugging on. + push @commandLine, '-g' if ($arg ne '-g:none'); + } elsif ($arg eq '-O') { + push @commandLine, '-O2'; + } elsif ($arg eq '-Xss') { + push @commandLine, $arg; + } elsif ($arg =~ /^-X/) { + # An extended Sun option (which we don't support). + push @commandLine, '--help' if ($arg eq '-X'); + } elsif ($arg eq '-source' or $arg eq '-sourcepath' or $arg eq '-target') { + # An unsupported option with a following argument. + $ignoreNextArg = 1; + } elsif ($arg =~ /^-/) { + # An unsupported standalone option. + } else { + # Some non-option argument has been given. + # Stop parsing options at this point. + push @commandLine, $arg; + $parsingOptions = 0; + } +} + +# Was there a partial argument that was never completed? +push @commandLine, $appendNextArg if ($appendNextArg); + +# Call the real Java compiler. +my @fullCommandLine = ( $javaCompiler, '-C' ); +push @fullCommandLine, $warnings if ($warnings); +push @fullCommandLine, @commandLine; +exec @fullCommandLine or exit(1); --- gcc-snapshot-20061001.orig/debian/.svn/text-base/cpp-BV-doc.doc-base.cpp.svn-base +++ gcc-snapshot-20061001/debian/.svn/text-base/cpp-BV-doc.doc-base.cpp.svn-base @@ -0,0 +1,16 @@ +Document: cpp-@BV@ +Title: The GNU C preprocessor +Author: Various +Abstract: The C preprocessor is a "macro processor" that is used automatically + by the C compiler to transform your program before actual compilation. + It is called a macro processor because it allows you to define "macros", + which are brief abbreviations for longer constructs. +Section: Apps/Programming + +Format: html +Index: /usr/share/doc/gcc-@BV@-base/cpp.html +Files: /usr/share/doc/gcc-@BV@-base/cpp.html + +Format: info +Index: /usr/share/info/cpp-@BV@.info.gz +Files: /usr/share/info/cpp-@BV@* --- gcc-snapshot-20061001.orig/debian/.svn/text-base/g77-BV-doc.doc-base.svn-base +++ gcc-snapshot-20061001/debian/.svn/text-base/g77-BV-doc.doc-base.svn-base @@ -0,0 +1,14 @@ +Document: g77-@BV@ +Title: The GNU Fortran 77 Compiler +Author: Various +Abstract: This manual documents how to run, install and port `g77', as well as + its new features and incompatibilities, and how to report bugs. +Section: Apps/Programming + +Format: html +Index: /usr/share/doc/gcc-@BV@-base/fortran/g77.html +Files: /usr/share/doc/gcc-@BV@-base/fortran/g77.html + +Format: info +Index: /usr/share/info/g77-@BV@.info.gz +Files: /usr/share/info/g77-@BV@* --- gcc-snapshot-20061001.orig/debian/.svn/text-base/gnat.1.svn-base +++ gcc-snapshot-20061001/debian/.svn/text-base/gnat.1.svn-base @@ -0,0 +1,39 @@ +.\" Hey, Emacs! This is an -*- nroff -*- source file. +.\" +.\" Copyright (C) 1996 Erick Branderhorst +.\" +.\" This is free software; you can redistribute it and/or modify it under +.\" the terms of the GNU General Public License as published by the Free +.\" Software Foundation; either version 2, or (at your option) any later +.\" version. +.\" +.\" This is distributed in the hope that it will be useful, but WITHOUT +.\" ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +.\" FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +.\" for more details. +.\" +.\" You should have received a copy of the GNU General Public License with +.\" your Debian GNU/Linux system, in /usr/doc/copyright/GPL, or with the +.\" dpkg source package as the file COPYING. If not, write to the Free +.\" Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +.\" +.\" +.TH "GNAT TOOLBOX" 1 "Jun 2002" "Debian Project" "Debian Linux" +.SH NAME +gnat, gnatbind, gnatbl, gnatchop, gnatfind, gnatkr, gnatlink, +gnatls, gnatmake, gnatprep, gnatpsta, gnatpsys, gnatxref \- +GNAT toolbox +.SH DESCRIPTION +Those programs are part of GNU GNAT 4.1, a freely available Ada 95 compiler. +.PP +For accessing the full GNAT manuals, use +.B info gnat-ug-4.1 +and +.B info gnat-rm-4.1 +for the sections related to the reference manual. If those sections cannot +be found, you will have to install the gnat-3.4-doc package as well. +.SH SEE ALSO +.BR gcc-4.1 (1) +.SH AUTHOR +This manpage has been written by Samuel Tardieu , for the +Debian GNU/Linux project. --- gcc-snapshot-20061001.orig/debian/.svn/text-base/lib32gccLC.postinst.svn-base +++ gcc-snapshot-20061001/debian/.svn/text-base/lib32gccLC.postinst.svn-base @@ -0,0 +1,12 @@ +#! /bin/sh -e + +case "$1" in + configure) + docdir=/usr/share/doc/lib32gcc@LC@ + if [ -d $docdir ] && [ ! -h $docdir ]; then + rm -rf $docdir + ln -s gcc-@BV@-base $docdir + fi +esac + +#DEBHELPER# --- gcc-snapshot-20061001.orig/debian/.svn/text-base/gnat-BV-doc.doc-base.rm.svn-base +++ gcc-snapshot-20061001/debian/.svn/text-base/gnat-BV-doc.doc-base.rm.svn-base @@ -0,0 +1,16 @@ +Document: gnat_rm-@BV@ +Title: GNAT (GNU Ada) Reference Manual +Author: Various +Abstract: This manual contains useful information in writing programs + using the GNAT compiler. It includes information on implementation + dependent characteristics of GNAT, including all the information + required by Annex M of the standard. +Section: Apps/Programming + +Format: html +Index: /usr/share/doc/gcc-@BV@-base/Ada/gnat_rm.html +Files: /usr/share/doc/gcc-@BV@-base/Ada/gnat_rm.html + +Format: info +Index: /usr/share/info/gnat_rm-@BV@.info.gz +Files: /usr/share/info/gnat_rm-@BV@* --- gcc-snapshot-20061001.orig/debian/.svn/text-base/dh_rmemptydirs.svn-base +++ gcc-snapshot-20061001/debian/.svn/text-base/dh_rmemptydirs.svn-base @@ -0,0 +1,10 @@ +#! /bin/sh -e + +pkg=`echo $1 | sed 's/^-p//'` + +: # remove empty directories, when all components are in place +for d in `find debian/$pkg -depth -type d -empty 2> /dev/null`; do \ + while rmdir $d 2> /dev/null; do d=`dirname $d`; done; \ +done + +exit 0 --- gcc-snapshot-20061001.orig/debian/.svn/text-base/treelang-BV.prerm.svn-base +++ gcc-snapshot-20061001/debian/.svn/text-base/treelang-BV.prerm.svn-base @@ -0,0 +1,10 @@ +#! /bin/sh -e + +if [ -f /usr/share/info/treelang-@BV@.info.gz ]; then + install-info --quiet --remove treelang-@BV@ +else + # GFDL invariant free + true +fi + +#DEBHELPER# --- gcc-snapshot-20061001.orig/debian/.svn/text-base/README.snapshot.svn-base +++ gcc-snapshot-20061001/debian/.svn/text-base/README.snapshot.svn-base @@ -0,0 +1,36 @@ +Debian gcc-snapshot package +=========================== + +This package contains a recent development SNAPSHOT of all files +contained in the GNU Compiler Collection (GCC). + +DO NOT USE THIS SNAPSHOT FOR BUILDING DEBIAN PACKAGES! + +This package will NEVER hit the testing distribution. It's used for +tracking gcc bugs submitted to the Debian BTS in recent development +versions of gcc. + +To use this snapshot, you should set the following environment variables: + + LD_LIBRARY_PATH=/usr/lib/gcc-snapshot/lib:$LD_LIBRARY_PATH + PATH=/usr/lib/gcc-snapshot/bin:$PATH + +You might also like to use a shell script to wrap up this +funcationality, e.g. + +place in /usr/local/bin/gcc-snapshot and chmod +x it + +----------- snip ---------- +#! /bin/sh +LD_LIBRARY_PATH=/usr/lib/gcc-snapshot/lib:$LD_LIBRARY_PATH +PATH=/usr/lib/gcc-snapshot/bin:$PATH +gcc "$@" +----------- snip ---------- + +Make the same for g++, g77, gij, gcj, cpp, ... + +Don't forget the quotes around the $@ or gcc will not parse it's +command line correctly! + +Unset these variables before building Debian packages destined for an +upload to ftp-master.debian.org. --- gcc-snapshot-20061001.orig/debian/.svn/text-base/gij-wrapper-BV.svn-base +++ gcc-snapshot-20061001/debian/.svn/text-base/gij-wrapper-BV.svn-base @@ -0,0 +1,98 @@ +#!/usr/bin/perl -w +# +# Starts the GNU Java interpreter. +# +# Command-line arguments should be in the style of Sun's Java runtime; +# these will be converted to gij arguments before being passed to the +# gij itself. +# +# The Debian JNI module directory and any other specified JNI +# directories will be included on the JNI search path. +# +# Copyright (C) 2002-2003 by Ben Burton +# Based on the original gij-wrapper-3.2 shell script. + +use strict; + +# The real Java runtime: +my $javaRuntime = '/usr/bin/gij-@BV@'; + +# The debian JNI module directory: +my $debianJNIDir = '/usr/lib/jni'; + +# The command-line arguments to pass to the real Java runtime: +my @commandLine; + +# The full JNI search path to use: +my $JNIPath = ''; + +# Build the command-line from the arguments given. +my $parsingOptions = 1; + +# Flag used to copy argument to -classpath or -cp. +my $copyNext = 0; +foreach my $arg (@ARGV) { + if (not $parsingOptions) { + # We're done parsing options; just copy all remaining arguments directly. + push @commandLine, $arg; + next; + } + if ($copyNext) { + push @commandLine, $arg; + $copyNext = 0; + next; + } + + # Try to interpret Sun-style options. + if ($arg eq '-version') { + push @commandLine, '--version'; + } elsif ($arg eq '-h' or $arg eq '-help') { + push @commandLine, '--help'; + } elsif ($arg eq '-cp' or $arg eq '--cp') { + push @commandLine, '-cp'; + $copyNext = 1; + } elsif ($arg eq '-classpath' or $arg eq '--classpath') { + push @commandLine, '-classpath'; + $copyNext = 1; + } elsif ($arg =~ /^-Djava.library.path=(.+)$/) { + # A component of the JNI search path has been given. + if ($JNIPath) { + $JNIPath = $JNIPath . ':' . $1; + } else { + $JNIPath = $1; + } + } elsif ($arg eq '-jar' or $arg =~ /^-D/) { + # Copy the argument directly. + push @commandLine, $arg; + } elsif ($arg =~ /^-/) { + # An unrecognised option has been passed - just drop it. + } else { + # Some non-option argument has been given. + # Stop parsing options at this point. + push @commandLine, $arg; + $parsingOptions = 0; + } +} + +# Add the debian JNI module directory to the JNI search path if it's not +# already there. +if ($JNIPath !~ /(^|:)$debianJNIDir($|:)/) { + if ($JNIPath) { + $JNIPath = $JNIPath . ':' . $debianJNIDir; + } else { + $JNIPath = $debianJNIDir; + } +} + +# Use environment variable $LTDL_LIBRARY_PATH to store the JNI path, +# since gij uses libltdl to dlopen JNI modules. +if ($ENV{LTDL_LIBRARY_PATH}) { + $ENV{LTDL_LIBRARY_PATH} = $ENV{LTDL_LIBRARY_PATH} . ':' . $JNIPath; +} else { + $ENV{LTDL_LIBRARY_PATH} = $JNIPath; +} + +# Call the real Java runtime. +my @fullCommandLine = ( $javaRuntime ); +push @fullCommandLine, @commandLine; +exec @fullCommandLine or exit(1); --- gcc-snapshot-20061001.orig/debian/.svn/text-base/dh_doclink.svn-base +++ gcc-snapshot-20061001/debian/.svn/text-base/dh_doclink.svn-base @@ -0,0 +1,12 @@ +#! /bin/sh + +pkg=`echo $1 | sed 's/^-p//'` +target=$2 + +[ -d debian/$pkg/usr/share/doc ] || mkdir -p debian/$pkg/usr/share/doc +if [ -d debian/$pkg/usr/share/doc/$p -a ! -h debian/$pkg/usr/share/doc/$p ] +then + echo "WARNING: removing doc directory $pkg" + rm -rf debian/$pkg/usr/share/doc/$pkg +fi +ln -sf $target debian/$pkg/usr/share/doc/$pkg --- gcc-snapshot-20061001.orig/debian/.svn/text-base/gij-BV.postinst.svn-base +++ gcc-snapshot-20061001/debian/.svn/text-base/gij-BV.postinst.svn-base @@ -0,0 +1,39 @@ +#! /bin/sh -e + +prio=$(echo @BV@ | sed 's/\.//g') + +update-alternatives --quiet \ + --install /usr/bin/java java /usr/bin/gij-wrapper-@BV@ $prio \ + @GFDL@--slave /usr/share/man/man1/java.1.gz java.1.gz /usr/share/man/man1/gij-wrapper-@BV@.1.gz + +update-alternatives --quiet \ + --install /usr/bin/rmiregistry rmiregistry /usr/bin/grmiregistry-@BV@ $prio \ + @GFDL@--slave /usr/share/man/man1/rmiregistry.1.gz rmiregistry.1.gz /usr/share/man/man1/grmiregistry-@BV@.1.gz + +update-alternatives --quiet \ + --install /usr/bin/keytool keytool /usr/bin/gkeytool-@BV@ $prio + #@GFDL@--slave /usr/share/man/man1/keytool.1.gz keytool.1.gz /usr/share/man/man1/gkeytool-@BV@.1.gz + +case "$1" in +configure) + if [ ! -f /var/lib/gcj-@BV@/classmap.db ]; then + uname=$(uname -m) + if gcj-dbtool-@BV@ -n /var/lib/gcj-@BV@/classmap.db; then + case "$uname" in arm*|m68k|parisc*) + echo >&2 "gcj-dbtool succeeded unexpectedly" + esac + else + case "$uname" in + arm*|m68k|parisc*) + echo >&2 "ERROR: gcj-dbtool did fail; known problem on $uname";; + *) + exit 2 + esac + touch /var/lib/gcj-@BV@/classmap.db + fi + fi +esac + +#DEBHELPER# + +exit 0 --- gcc-snapshot-20061001.orig/debian/.svn/text-base/README.C++.svn-base +++ gcc-snapshot-20061001/debian/.svn/text-base/README.C++.svn-base @@ -0,0 +1,43 @@ +libstdc++ is an implementation of the Standard C++ Library, including the +Standard Template Library (i.e. as specified by ANSI and ISO). + +Some notes on porting applications from libstdc++-2.90 (or earlier versions) +to libstdc++-v3 can be found in the libstdc++6-4.2-doc package. After the +installation of the package, look at: + + file:///usr/share/doc/gcc-4.2-base/libstdc++/html/17_intro/porting-howto.html + +On Debian GNU/Linux you find additional documentation in the +libstdc++6-4.2-doc package. After installing these packages, +point your browser to + + file:///usr/share/doc/libstdc++6-4.2-doc/libstdc++/html/index.html + +Other documentation can be found: + + http://www.cs.rpi.edu/~musser/stl.html + http://www.sgi.com/tech/stl/ + http://www.dinkumware.com/htm_cpl/ + +with a good, recent, book on C++. + +A great deal of useful C++ documentation can be found in the C++ FAQ-Lite, +maintained by Marshall Cline . It can be found at the +following locations (this list was last updated on 2000/11/19): + +USA: http://www.cerfnet.com/~mpcline/c++-faq-lite/ + +Canada: http://new-brunswick.net/workshop/c++/faq + +Finland: http://www.utu.fi/~sisasa/oasis/cppfaq/ + +France: http://caor.ensmp.fr/FAQ/c++-faq-lite/ + +Spain: http://geneura.ugr.es/~jmerelo/c++-faq/ + +Taiwan: http://www.cis.nctu.edu.tw/c++/C++FAQ-English/ + +U.K.: http://www.cs.bham.ac.uk/~jdm/CPP/index.html + + +Please send updates to this list as bug report for the g++ package. --- gcc-snapshot-20061001.orig/debian/.svn/text-base/gfortran-BV-doc.doc-base.svn-base +++ gcc-snapshot-20061001/debian/.svn/text-base/gfortran-BV-doc.doc-base.svn-base @@ -0,0 +1,14 @@ +Document: gfortran-@BV@ +Title: The GNU Fortran Compiler +Author: Various +Abstract: This manual documents how to run, install and port `gfortran', + as well as its new features and incompatibilities, and how to report bugs. +Section: Apps/Programming + +Format: html +Index: /usr/share/doc/gcc-@BV@-base/fortran/gfortran.html +Files: /usr/share/doc/gcc-@BV@-base/fortran/gfortran.html + +Format: info +Index: /usr/share/info/gfortran-@BV@.info.gz +Files: /usr/share/info/gfortran-@BV@* --- gcc-snapshot-20061001.orig/debian/.svn/text-base/lib32gcjGCJ-dev.overrides.svn-base +++ gcc-snapshot-20061001/debian/.svn/text-base/lib32gcjGCJ-dev.overrides.svn-base @@ -0,0 +1 @@ +lib32gcj@GCJ@-dev: library-not-linked-against-libc --- gcc-snapshot-20061001.orig/debian/.svn/text-base/gcc-dummy.texi.svn-base +++ gcc-snapshot-20061001/debian/.svn/text-base/gcc-dummy.texi.svn-base @@ -0,0 +1,41 @@ +\input texinfo @c -*-texinfo-*- +@c %**start of header + +@settitle The GNU Compiler Collection (GCC) + +@c Create a separate index for command line options. +@defcodeindex op +@c Merge the standard indexes into a single one. +@syncodeindex fn cp +@syncodeindex vr cp +@syncodeindex ky cp +@syncodeindex pg cp +@syncodeindex tp cp + +@paragraphindent 1 + +@c %**end of header + +@copying +The current documentation is licensed under the same terms as the Debian packaging. +@end copying +@ifnottex +@dircategory Programming +@direntry +* @name@: (@name@). The GNU Compiler Collection (@name@). +@end direntry +@sp 1 +@end ifnottex + +@summarycontents +@contents +@page + +@node Top +@top Introduction +@cindex introduction +The official GNU compilers' documentation is released under the terms +of the GNU Free Documentation License with cover texts. This has been +considered non free by the Debian Project. Thus you will find it in the +non-free section of the Debian archive. +@bye --- gcc-snapshot-20061001.orig/debian/.svn/text-base/libstdc++CXX-BV-doc.overrides.svn-base +++ gcc-snapshot-20061001/debian/.svn/text-base/libstdc++CXX-BV-doc.overrides.svn-base @@ -0,0 +1,2 @@ +libstdc++@CXX@-@BV@-doc: extra-license-file +libstdc++@CXX@-@BV@-doc: manpage-has-errors-from-man usr/share/man/man3/__gnu_internal.3.gz --- gcc-snapshot-20061001.orig/debian/.svn/text-base/protoize.1.svn-base +++ gcc-snapshot-20061001/debian/.svn/text-base/protoize.1.svn-base @@ -0,0 +1,42 @@ +.TH PROTOIZE 1 +.\" NAME should be all caps, SECTION should be 1-8, maybe w/ subsection +.\" other parms are allowed: see man(7), man(1) +.SH NAME +protoize, unprotoize \- create/remove ANSI prototypes from C code +.SH SYNOPSIS +.B protoize +.I "[options] files ...." +.br +.B unprotoize +.I "[options] files ...." +.SH "DESCRIPTION" +This manual page documents briefly the +.BR protoize , +and +.B unprotoize +commands. +This manual page was written for the Debian GNU/Linux distribution +(but may be used by others), because the original program does not +have a manual page. +Instead, it has documentation in the GNU Info format; see below. +.PP +.B protoize +is an optional part of GNU C. You can use it to add prototypes to a +program, thus converting the program to ANSI C in one respect. The companion +program `unprotoize' does the reverse: it removes argument types from +any prototypes that are found. +.PP +When you run these programs, you must specify a set of source files +as command line arguments. +.SH OPTIONS +These programs are non-trivial to operate, and it is neither possible nor +desirable to properly summarize options in this man page. Read the info +documentation for more information. +.SH "SEE ALSO" +The programs are documented fully by +.IR "Gcc: The use and the internals of the GNU compiler", +available via the Info system. The documentation for protoize/unprotoize +can be found in the subsection "Invoking GCC", under "Running Protoize." +.SH AUTHOR +This manual page was written by Galen Hazelwood, +for the Debian GNU/Linux system. --- gcc-snapshot-20061001.orig/debian/.svn/text-base/gcc-BV-doc.doc-base.gcc.svn-base +++ gcc-snapshot-20061001/debian/.svn/text-base/gcc-BV-doc.doc-base.gcc.svn-base @@ -0,0 +1,14 @@ +Document: gcc-@BV@ +Title: The GNU C and C++ compiler +Author: Various +Abstract: This manual documents how to run, install and port the GNU compiler, + as well as its new features and incompatibilities, and how to report bugs. +Section: Apps/Programming + +Format: html +Index: /usr/share/doc/gcc-@BV@-base/gcc.html +Files: /usr/share/doc/gcc-@BV@-base/gcc.html + +Format: info +Index: /usr/share/info/gcc-@BV@.info.gz +Files: /usr/share/info/gcc-@BV@* --- gcc-snapshot-20061001.orig/debian/.svn/text-base/reduce-test-diff.awk.svn-base +++ gcc-snapshot-20061001/debian/.svn/text-base/reduce-test-diff.awk.svn-base @@ -0,0 +1,33 @@ +#! /usr/bin/gawk -f + +BEGIN { + skip=0 + warn=0 +} + +/^-(FAIL|ERROR|UNRESOLVED|WARNING)/ { + next +} + +# only compare gcc, g++, g77 and objc results +/=== treelang tests ===/ { + skip=1 +} + +# omit extra files appended to test-summary +/^\+Compiler version/ { + skip=1 +} + +skip == 0 { + print + next +} + +/^\+(FAIL|ERROR|UNRESOLVED|WARNING)/ { + warn=1 +} + +END { + exit warn +} --- gcc-snapshot-20061001.orig/debian/.svn/text-base/fastjar.postinst.svn-base +++ gcc-snapshot-20061001/debian/.svn/text-base/fastjar.postinst.svn-base @@ -0,0 +1,14 @@ +#! /bin/sh -e + +if [ -f /usr/share/info/fastjar.info.gz ]; then + install-info --quiet --section "Development" "Development" \ + /usr/share/info/fastjar.info.gz +else + # GFDL invariant free + true +fi + +update-alternatives --quiet --install /usr/bin/jar jar /usr/bin/fastjar 40 \ + --slave /usr/share/man/man1/jar.1.gz jar.1.gz /usr/share/man/man1/fastjar.1.gz + +#DEBHELPER# --- gcc-snapshot-20061001.orig/debian/.svn/text-base/gfortran-BV-doc.prerm.svn-base +++ gcc-snapshot-20061001/debian/.svn/text-base/gfortran-BV-doc.prerm.svn-base @@ -0,0 +1,5 @@ +#! /bin/sh -e + +install-info --quiet --remove gfortran-@BV@ + +#DEBHELPER# --- gcc-snapshot-20061001.orig/debian/.svn/text-base/cpp-BV-doc.prerm.svn-base +++ gcc-snapshot-20061001/debian/.svn/text-base/cpp-BV-doc.prerm.svn-base @@ -0,0 +1,6 @@ +#! /bin/sh -e + +install-info --quiet --remove cpp-@BV@ +install-info --quiet --remove cppinternals-@BV@ + +#DEBHELPER# --- gcc-snapshot-20061001.orig/debian/.svn/text-base/README.patches.svn-base +++ gcc-snapshot-20061001/debian/.svn/text-base/README.patches.svn-base @@ -0,0 +1,30 @@ +Patches applied to the Debian version of egcs +--------------------------------------------- + +Debian specific patches can be found in the debian/patches directory. +Each patch is accompanied by a shell script to apply and unapply the +patch: + +- The script can be found in the debian/patches directory and is called + .dpatch. +- The shell script is called by the debian/rules file with the option + '-patch' to apply the patch and and with '-unpatch' to unapply + the patch. The working directory is the source directory. +- The shell script returns 0 on success and 1 on failure when + (un)applying the patch. The patch program itself should be called with + --force to prevent questions. +- debian/rules creates a file patched- in the source + directory when applying the patch and removes this file when + unapplying the patch. + +Besides the patches, the following add-ons were included: + +- gpc (unpacked from gpc-19990118.tar.gz) + ftp://agnes.dida.physik.uni-essen.de/gnu-pascal/beta/gpc-19990118.tar.gz + +If these package(s) aren't found in the gcc source directory, it's +assumed that the tarball(s) can be found in the parent directory. See +debian/rules for more details. + +Before making a source package, these packages need to be unpacked. +You can use "debian/rules unpack-addons". --- gcc-snapshot-20061001.orig/debian/.svn/text-base/gcc-BV-doc.prerm.svn-base +++ gcc-snapshot-20061001/debian/.svn/text-base/gcc-BV-doc.prerm.svn-base @@ -0,0 +1,6 @@ +#! /bin/sh -e + +install-info --quiet --remove gcc-@BV@ +install-info --quiet --remove gccint-@BV@ + +#DEBHELPER# --- gcc-snapshot-20061001.orig/debian/.svn/text-base/rules.patch.svn-base +++ gcc-snapshot-20061001/debian/.svn/text-base/rules.patch.svn-base @@ -0,0 +1,228 @@ +# -*- makefile -*- +# rules to patch the unpacked files in the source directory +# --------------------------------------------------------------------------- +# various rules to unpack addons and (un)apply patches. +# - patch / apply-patches +# - unpatch / reverse-patches + +.NOTPARALLEL: + +patchdir ?= debian/patches + +# which patches should be applied? + +#debian_patches = \ +# svn-updates + +ifneq ($(GFDL_INVARIANT_FREE),yes) + debian_patches += \ + rename-info-files +# svn-doc-updates +endif + +debian_patches += \ + gcc-version \ + gcc-textdomain \ + gcc-driver-extra-langs \ + libstdc++-pic \ + libstdc++-doclink \ + gccbug \ + gccbug-posix \ + libstdc++-doxygen \ + libjava-stacktrace \ + libjava-subdir \ + libjava-lib32subdir \ + libjava-jnipath \ + libjava-lib32-properties \ + libjava-plugin-binary \ + libffi-configure \ + arm-libffi \ + arm-gij \ + boehm-gc-nocheck \ + +#+ m68k-fjump \ +#+ m68k-gc \ +#+ m68k-save_pic \ +#+ m68k-libffi \ +#+ m68k-dwarf \ +#+ m68k-limit_reload \ +#+ m68k-split_shift \ +#+ m68k-prevent-qipush \ +#+ m68k-jumptable \ +#+ m68k-peephole \ +#+ m68k-return \ +#+ m68k-sig-unwind \ + +# svn-updates \ +# classmap-path \ + +#ifneq ($(GFDL_INVARIANT_FREE),yes) +# debian_patches += classpath-tooldoc +#endif + +ifeq ($(with_ssp)-$(with_ssp_default),yes-yes) + debian_patches += gcc-ssp-default +endif + +ifeq ($(with_multiarch_lib),yes) + debian_patches += multiarch-lib +endif + +ifeq ($(with_java),yes) + debian_patches += mips-libjava-interp +endif + +ifeq ($(with_proto),yes) + debian_patches += deb-protoize +endif + +ifeq ($(with_ada),yes) + debian_patches += ada-gcc-name ada-default-project-path #ada-names + debian_patches += ada-symbolic-tracebacks + debian_patches += ada-acats + ifeq ($(with_libgnat),yes) + debian_patches += ada-gnatvsn ada-link-lib foo ada-libgnatvsn ada-libgnatprj + endif + ifeq ($(DEB_TARGET_ARCH)-$(distribution),ia64-Debian) + debian_patches += ignore-comp-fail + endif +endif + +ifeq ($(with_pascal),yes) + debian_patches += gpc-gcc-4.x gpc-4.1 gpc-updates gpc-bison-2.2 + debian_patches += gpc-names +endif + +ifeq ($(DEB_TARGET_ARCH_OS),hurd) + debian_patches += hurd-changes +endif + +ifeq ($(DEB_TARGET_ARCH),alpha) + debian_patches += alpha-ieee mudflap-nocheck + ifneq ($(GFDL_INVARIANT_FREE),yes) + debian_patches += alpha-ieee-doc + endif +endif + +ifeq ($(DEB_TARGET_ARCH),m68k) + debian_patches += m68k-bitfield m68k-autoinc + debian_patches += m68k-dwarf2 m68k-peephole-note m68k-java +endif + +ifeq ($(DEB_TARGET_ARCH_OS),kfreebsd) + debian_patches += kbsd-gnu-ada +endif +ifeq ($(DEB_TARGET_ARCH_OS),netbsd) + debian_patches += # netbsd-all-gcc netbsd-archs-gcc +endif + +ifdef DEB_CROSS + debian_patches += cross-include cross-fixes +endif + +debian_patches += link-libs + +# all patches below this line are applied for gcc-snapshot builds as well + +ifeq ($(PKGSOURCE),gcc-snapshot) + debian_patches = +endif + +debian_patches += cpu-default-i486 reporting gcc-ice-hack multiarch-include +debian_patches += libjava-qt-peer +debian_patches += ada-driver-check + +ifeq ($(with_java_biarch_awt),yes) + debian_patches += libjava-biarch-awt +endif + +ifeq ($(biarch),yes) + ifeq (,$(findstring libjava, $(biarch_multidir_names))) + debian_patches += disable-biarch-check + endif + debian_patches += config-ml libjava-biarch-alsa + + ifeq ($(DEB_TARGET_ARCH),powerpc) + debian_patches += powerpc-biarch + endif + ifeq ($(DEB_TARGET_ARCH),s390) + debian_patches += s390-biarch + endif + ifeq ($(DEB_TARGET_ARCH),sparc) + debian_patches += sparc-biarch + endif + ifeq ($(DEB_TARGET_ARCH),i386) + debian_patches += i386-biarch + endif + ifneq ($(with_64bit_check),yes) + debian_patches += disable-configure-run-check + endif +endif + +ifeq ($(biarch32),yes) + ifeq (,$(findstring libjava, $(biarch_multidir_names))) + debian_patches += disable-biarch-check + endif + debian_patches += config-ml libjava-biarch-alsa + + ifeq ($(DEB_TARGET_ARCH),amd64) + debian_patches += amd64-biarch + debian_patches += libjava-ia32fix + endif + ifeq ($(DEB_TARGET_ARCH),ppc64) + # FIXME: needed for 4.1? + debian_patches += ppc64-biarch ppc64-ada + endif + ifneq ($(with_32bit_check),yes) + debian_patches += disable-configure-run-check + endif +endif + + +patch: $(patch_stamp) +$(patch_stamp): $(unpack_stamp) pre-patch \ + $(foreach p,$(debian_patches),$(patch_stamp)-$(p)) + echo -e "\nPatches that $(distribution) applied in this version:" > pxxx + for i in $(debian_patches); do \ + echo -e "\n$$i:" >> pxxx; \ + sed -n 's/^# *DP: */ /p' $(patchdir)/$$i.dpatch >> pxxx; \ + done + mv -f pxxx $@ + +pre-patch: + @if [ -x /usr/bin/automake-1.4 ]; then \ + : ; \ + else \ + mkdir -p $(PWD)/bin; \ + ln -sf /usr/bin/automake $(PWD)/bin/automake-1.4; \ + fi + +unpatch: + for stamp in none `ls -1t $(patch_stamp)-*`; do \ + case "$$stamp" in none|patched-stamp|patched-\*) continue; esac; \ + patch=`echo $$stamp | sed -e 's,$(patch_stamp)-,,'`; \ + echo "trying to revert patch $$patch ..."; \ + if [ -x $(patchdir)/$$patch.dpatch ]; then true; else \ + chmod +x $(patchdir)/$$patch.dpatch; fi; \ + if $(patchdir)/$$patch.dpatch -unpatch -d $(srcdir); then \ + echo "reverted $$patch patch."; \ + rm -f $$stamp; \ + else \ + echo "error in reverting $$patch patch."; \ + exit 1; \ + fi; \ + done + rm -f patched-stamp + +# debian/rules.conf isn't yet sourced +SOURCE_VERSION := $(shell dpkg-parsechangelog | awk '/^Version:/ {print $$NF}') +DEB_VERSION := $(shell echo $(SOURCE_VERSION) | sed 's/ds[0-9]*//') + +$(patch_stamp)-%: $(patchdir)/%.dpatch + if [ -x $< ]; then true; else chmod +x $<; fi + if [ -f $@ ]; then \ + echo "$* patches already applied."; exit 1; \ + fi + DEB_VERSION='$(DEB_VERSION)'; export DEB_VERSION; \ + $< -patch -d $(srcdir) + echo "$* patches applied." > $@ --- gcc-snapshot-20061001.orig/debian/.svn/text-base/gpc-PV-BV-doc.prerm.svn-base +++ gcc-snapshot-20061001/debian/.svn/text-base/gpc-PV-BV-doc.prerm.svn-base @@ -0,0 +1,10 @@ +#! /bin/sh -e + +if [ -f /usr/share/info/gpc-@PV@-@BV@.info.gz ]; then + install-info --quiet --remove gpc-@PV@-@BV@ +else + # GFDL invariant free + true +fi + +#DEBHELPER# --- gcc-snapshot-20061001.orig/debian/.svn/text-base/lib64stdc++CXX.postinst.svn-base +++ gcc-snapshot-20061001/debian/.svn/text-base/lib64stdc++CXX.postinst.svn-base @@ -0,0 +1,12 @@ +#! /bin/sh -e + +case "$1" in + configure) + docdir=/usr/share/doc/lib64stdc++@CXX@ + if [ -d $docdir ] && [ ! -h $docdir ]; then + rm -rf $docdir + ln -s gcc-@BV@-base $docdir + fi +esac + +#DEBHELPER# --- gcc-snapshot-20061001.orig/debian/.svn/text-base/rules.source.svn-base +++ gcc-snapshot-20061001/debian/.svn/text-base/rules.source.svn-base @@ -0,0 +1,21 @@ +__SOURCE_DIR := $(dir $(lastword $(MAKEFILE_LIST))) +patchdir = $(__SOURCE_DIR)/patches + +include $(__SOURCE_DIR)/rules.defs +include $(__SOURCE_DIR)/rules.patch +include $(__SOURCE_DIR)/rules.unpack + +patch-source: $(patch_stamp) + ( \ + echo '#define __$(subst -,_,$(DEB_TARGET_GNU_TYPE))__'; \ + echo ''; \ + echo ' { "", "$(DEB_TARGET_GNU_TYPE)"},'; \ + cat $(__SOURCE_DIR)/multiarch.inc; \ + ) > $(srcdir)/gcc/multiarch.inc + +clean-source: + rm -rf $(stampdir) + rm -rf $(gcc_srcdir) $(gpc_srcdir) p + rm -rf bin + rm -rf $(srcdir) + --- gcc-snapshot-20061001.orig/debian/.svn/text-base/rules.svn-base +++ gcc-snapshot-20061001/debian/.svn/text-base/rules.svn-base @@ -0,0 +1,84 @@ +#! /usr/bin/make -f +# -*- makefile -*- +# Build rules for gcc (>= 2.95) and gcc-snapshot +# Targets found in this makefile: +# - unpack tarballs +# - patch sources +# - (re)create the control file +# - create a debian/rules.parameters file, which is included +# by debian/rules2 +# All other targets are passed to the debian/rules2 file + +# Uncomment this to turn on verbose mode. +#export DH_VERBOSE=1 + +unexport LANG LC_ALL LC_CTYPE LC_COLLATE LC_TIME LC_NUMERIC LC_MESSAGES + +default: build + +include debian/rules.defs +include debian/rules.unpack +include debian/rules.patch + +control: $(control_dependencies) + -mkdir -p $(stampdir) + $(MAKE) -f debian/rules.conf $@ + +configure: $(configure_dependencies) +$(configure_stamp): control $(unpack_stamp) $(patch_stamp) + $(MAKE) -f debian/rules2 $@ +$(configure_dummy_stamp): control + $(MAKE) -f debian/rules2 $@ +$(configure_hppa64_stamp): $(build_stamp) + $(MAKE) -f debian/rules2 $@ + +build: $(build_dependencies) +$(build_stamp): $(unpack_stamp) $(patch_stamp) $(configure_stamp) + $(MAKE) -f debian/rules2 $@ +$(build_dummy_stamp): $(configure_dummy_stamp) + $(MAKE) -f debian/rules2 $@ +$(build_javadoc_stamp): $(build_stamp) + $(MAKE) -f debian/rules2 $@ +$(build_hppa64_stamp): $(configure_hppa64_stamp) + $(MAKE) -f debian/rules2 $@ + +check: $(build_stamp) + $(MAKE) -f debian/rules2 $@ + +clean: + rm -rf $(stampdir) +# remove temporary dirs used for unpacking + rm -rf $(gcc_srcdir) $(gpc_srcdir) p + -$(MAKE) -f debian/rules2 $@ + rm -rf $(srcdir) $(builddir)* debian/tmp* html + rm -f bootstrap-* first-move-stamp + rm -f debian/*.tmp + -find debian -name '.#*' | xargs rm -f + -find debian/patches -name '*.dpatch' -type f ! -perm 644 | xargs chmod 644 + dh_clean + +install: $(install_dependencies) +$(install_stamp): $(build_stamp) + $(MAKE) -f debian/rules2 $@ +$(install_dummy_stamp): $(build_dummy_stamp) + $(MAKE) -f debian/rules2 $@ +$(install_hppa64_stamp): $(build_hppa64_stamp) + $(MAKE) -f debian/rules2 $@ + +html-docs doxygen-docs update-doxygen-docs update-ada-files xxx: + $(MAKE) -f debian/rules2 $@ + +binary-indep binary-arch binary: install + $(MAKE) -f debian/rules2 $@ + +source diff: + @echo >&2 'source and diff are obsolete - use dpkg-source -b'; false + +release: + foo=$(shell basename $(CURDIR)); \ + if [ "$$foo" != "gcc-3.4" ]; then \ + find -name CVS -o -name .cvsignore -o -name '.#*' | \ + xargs rm -rf; \ + fi + +.PHONY: build clean binary-indep binary-arch binary release --- gcc-snapshot-20061001.orig/debian/.svn/text-base/gcc-BV-base.postinst.svn-base +++ gcc-snapshot-20061001/debian/.svn/text-base/gcc-BV-base.postinst.svn-base @@ -0,0 +1,15 @@ +#! /bin/sh -e + +case "$1" in + configure) + # see #355439, packaging error in 4.0.2-9* + docdir=/usr/share/doc/gcc-@BV@-base + if [ ! -f $docdir/copyright ]; then + ln $docdir/.copyright $docdir/copyright + fi + if [ ! -f $docdir/changelog.Debian.gz ]; then + ln $docdir/.changelog.Debian.gz $docdir/changelog.Debian.gz + fi +esac + +#DEBHELPER# --- gcc-snapshot-20061001.orig/debian/.svn/text-base/gcj-BV.prerm.svn-base +++ gcc-snapshot-20061001/debian/.svn/text-base/gcj-BV.prerm.svn-base @@ -0,0 +1,15 @@ +#! /bin/sh -e + +update-alternatives --quiet --remove javac /usr/bin/gcj-wrapper-@BV@ +update-alternatives --quiet --remove javah /usr/bin/gcjh-wrapper-@BV@ +update-alternatives --quiet --remove rmic /usr/bin/grmic-@BV@ +update-alternatives --quiet --remove jarsigner /usr/bin/gjarsigner-@BV@ + +if [ -f /usr/share/info/gcj-@BV@.info.gz ]; then + install-info --quiet --remove gcj-@BV@ +else + # GFDL invariant free + true +fi + +#DEBHELPER# --- gcc-snapshot-20061001.orig/debian/.svn/text-base/gnatprj.gpr.svn-base +++ gcc-snapshot-20061001/debian/.svn/text-base/gnatprj.gpr.svn-base @@ -0,0 +1,36 @@ +-- Project file for use with GNAT 3.15p +-- Copyright (c) 2005 Ludovic Brenta +-- +-- This program is free software; you can redistribute it and/or modify +-- it under the terms of the GNU General Public License as published by +-- the Free Software Foundation; either version 2 of the License, or +-- (at your option) any later version. +-- +-- This program is distributed in the hope that it will be useful, +-- but WITHOUT ANY WARRANTY; without even the implied warranty of +-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +-- GNU General Public License for more details. +-- +-- This project file is designed to help build applications that use +-- GNAT project files. Here is an example of how to use this project file: +-- +-- with "/usr/share/ada/adainclude/gnatprj"; +-- project Example is +-- for Object_Dir use "obj"; +-- for Exec_Dir use "."; +-- for Main use ("example"); +-- package Linker renames Gnatprj.Linker; +-- -- Alternatively, if you need additional switches: +-- -- package Linker is +-- -- for Default_Switches ("Ada") use (Gnatprj.Linker_Switches & ...) +-- -- end Linker; +-- end Example; + +project Gnatprj is + for Source_Dirs use ("/usr/share/ada/adainclude/gnatprj"); + for Object_Dir use "/usr/lib/ada/adalib/gnatprj"; + Linker_Switches := "-lgnatprj"; + package Linker is + for Default_Switches ("Ada") use (Linker_Switches); + end Linker; +end Gnatprj; --- gcc-snapshot-20061001.orig/debian/.svn/text-base/lib64gccLC.postinst.svn-base +++ gcc-snapshot-20061001/debian/.svn/text-base/lib64gccLC.postinst.svn-base @@ -0,0 +1,12 @@ +#! /bin/sh -e + +case "$1" in + configure) + docdir=/usr/share/doc/lib64gcc@LC@ + if [ -d $docdir ] && [ ! -h $docdir ]; then + rm -rf $docdir + ln -s gcc-@BV@-base $docdir + fi +esac + +#DEBHELPER# --- gcc-snapshot-20061001.orig/debian/.svn/text-base/gnat-BV.overrides.svn-base +++ gcc-snapshot-20061001/debian/.svn/text-base/gnat-BV.overrides.svn-base @@ -0,0 +1 @@ +gnat-@BV@: bad-permissions-for-ali-file --- gcc-snapshot-20061001.orig/debian/.svn/text-base/gij-BV.prerm.svn-base +++ gcc-snapshot-20061001/debian/.svn/text-base/gij-BV.prerm.svn-base @@ -0,0 +1,9 @@ +#! /bin/sh -e + +update-alternatives --quiet --remove java /usr/bin/gij-wrapper-@BV@ +update-alternatives --quiet --remove rmiregistry /usr/bin/grmiregistry-@BV@ +update-alternatives --quiet --remove keytool /usr/bin/gkeytool-@BV@ + +#DEBHELPER# + +exit 0 --- gcc-snapshot-20061001.orig/debian/.svn/text-base/libgcj-common.preinst.svn-base +++ gcc-snapshot-20061001/debian/.svn/text-base/libgcj-common.preinst.svn-base @@ -0,0 +1,12 @@ +#! /bin/sh -e + +case "$1" in + upgrade|install) + if [ -n "$2" ] && [ -h /usr/share/doc/libgcj-common ] \ + && dpkg --compare-versions "$2" lt 1:4.0.2-10 + then + rm -f /usr/share/doc/libgcj-common + fi +esac + +#DEBHELPER# --- gcc-snapshot-20061001.orig/debian/.svn/text-base/gcc-cross.prerm.svn-base +++ gcc-snapshot-20061001/debian/.svn/text-base/gcc-cross.prerm.svn-base @@ -0,0 +1,5 @@ +#!/bin/sh + +update-alternatives --quiet --remove cross-gcc /usr/bin/cross-gcc-ver + +exit 0 --- gcc-snapshot-20061001.orig/debian/.svn/text-base/copyright.svn-base +++ gcc-snapshot-20061001/debian/.svn/text-base/copyright.svn-base @@ -0,0 +1,643 @@ +This is the Debian GNU/Linux prepackaged version of the GNU compiler +collection, containing Ada, C, C++, Fortran 95, Java, Objective-C, +Objective-C++, and Treelang compilers, documentation, and support +libraries. In addition, Debian provides the GNU Pascal compiler in the +same source package. Packaging is done by the Debian GCC Maintainers +, with sources obtained from: + + ftp://gcc.gnu.org/pub/gcc/releases/ (for full releases) + svn://gcc.gnu.org/svn/gcc/ (for prereleases) + http://gnu-pascal.de/alpha/ (for GNU Pascal) + +Changes: See changelog.Debian.gz + +Debian splits the GNU Compiler Collection into packages for each language, +library, and documentation as follows: + +Language Compiler package Library package Documentation +--------------------------------------------------------------------------- +Ada gnat-4.2 libgnat-4.2 gnat-4.2-doc +C gcc-4.2 gcc-4.2-doc +C++ g++-4.2 libstdc++6 libstdc++6-4.2-doc +Fortran 95 gfortran-4.2 libgfortran1 gfortran-4.2-doc +Java gcj-4.2 libgcj8 libgcj-doc +Objective C gobjc-4.2 libobjc2 +Objective C++ gobjc++-4.2 +Pascal gpc-4.2 +Treelang treelang-4.2 + +For some language run-time libraries, Debian provides source files, +development files, debugging symbols and libraries containing position- +independent code in separate packages: + +Language Sources Development Debugging Position-Independent +--------------------------------------------------------------------------- +C++ libstdc++6-4.2-dbg libstdc++6-4.2-pic +Java libgcj8-src libgcj8-dev libgcj8-dbg + +Additional packages include: + +All languages: +libgcc1, libgcc2, libgcc4 GCC intrinsics (platform-dependent) +libffi4-dev, libffi4 Foreign Function Interface library +gcc-4.2-base Base files common to all compilers +gcc-4.2-soft-float Software floating point (ARM only) +gcc-4.2-source The sources with patches + +Ada: +libgnatvsn-dev, libgnatvsn4.2 GNAT version library +libgnatprj-dev, libgnatprj4.2 GNAT Project Manager library + +C: +cpp-4.2, cpp-4.2-doc GNU C Preprocessor +libmudflap0-dev, libmudflap0 Library for instrumenting pointers +libssp0-dev, libssp0 GCC stack smashing protection library +fixincludes Fix non-ANSI header files +protoize Create/remove ANSI prototypes from C code + +Java: +gij The Java bytecode interpreter and VM +libgcj-common Common files for the Java run-time +libgcj8-awt The Abstract Windowing Toolkit +libgcj8-jar Java ARchive for the Java run-time + +C, C++ and Fortran 95: +libgomp1-dev, libgomp1 GCC OpenMP (GOMP) support library + +Biarch support: On some 64-bit platforms which can also run 32-bit code, +Debian provides additional packages containing 32-bit versions of some +libraries. These packages have names beginning with 'lib32' instead of +'lib', for example lib32stdc++6. Similarly, on some 32-bit platforms which +can also run 64-bit code, Debian provides additional packages with names +beginning with 'lib64' instead of 'lib'. These packages contain 64-bit +versions of the libraries. (At this time, not all platforms and not all +libraries support biarch.) The license terms for these lib32 or lib64 +packages are identical to the ones for the lib packages. + + +COPYRIGHT STATEMENTS AND LICENSING TERMS + + +GCC is Copyright (C) 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994, +1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 +Free Software Foundation, Inc. + +This program is free software; you can redistribute it and/or modify it +under the terms of the GNU General Public License as published by the +Free Software Foundation; either version 2, or (at your option) any +later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. + +On Debian GNU/Linux systems, the complete text of the GNU General +Public License is in `/usr/share/common-licenses/GPL'. + +The libstdc++-v3 library is licensed under the terms of the GNU General +Public License, with this special exception: + + As a special exception, you may use this file as part of a free software + library without restriction. Specifically, if other files instantiate + templates or use macros or inline functions from this file, or you compile + this file and link it with other files to produce an executable, this + file does not by itself cause the resulting executable to be covered by + the GNU General Public License. This exception does not however + invalidate any other reasons why the executable file might be covered by + the GNU General Public License. + +The libgnat-4.2 Ada support library and libgnatvsn are licensed under the +terms of the GNU General Public License, with this special exception: + + As a special exception, if other files instantiate generics from this + unit, or you link this unit with other files to produce an executable, + this unit does not by itself cause the resulting executable to be + covered by the GNU General Public License. This exception does not + however invalidate any other reasons why the executable file might be + covered by the GNU Public License. + +In contrast, libgnatprj is licensed under the terms of the pure GNU +General Public License. + +gpc is copyright Free Software Foundation, and is licensed under the +GNU General Public License which on Debian GNU/Linux systems can be +found as `/usr/share/common-licenses/GPL'. + +The gpc runtime library is licensed under the terms of the GNU General +Public License, with this special exception: + + As a special exception, if you link this file with files compiled + with a GNU compiler to produce an executable, this does not cause + the resulting executable to be covered by the GNU General Public + License. This exception does not however invalidate any other + reasons why the executable file might be covered by the GNU + General Public License. } + +The libgcj library is licensed under the terms of the GNU General +Public License, with a special exception: + + Linking this library statically or dynamically with other modules + is making a combined work based on this library. Thus, the terms + and conditions of the GNU General Public License cover the whole + combination. + + As a special exception, the copyright holders of this library give + you permission to link this library with independent modules to + produce an executable, regardless of the license terms of these + independent modules, and to copy and distribute the resulting + executable under terms of your choice, provided that you also + meet, for each linked independent module, the terms and conditions + of the license of that module. An independent module is a module + which is not derived from or based on this library. If you modify + this library, you may extend this exception to your version of the + library, but you are not obligated to do so. If you do not wish + to do so, delete this exception statement from your version. + +gcc/libgcc2.c (source for libgcc) has the following addition: + + In addition to the permissions in the GNU General Public License, + the Free Software Foundation gives you unlimited permission to + link the compiled version of this file into combinations with + other programs, and to distribute those combinations without any + restriction coming from the use of this file. (The General Public + License restrictions do apply in other respects; for example, they + cover modification of the file, and distribution when not linked + into a combine executable.) + +gcc/unwind-libunwind.c (source for libgcc) has the following addition: + + As a special exception, if you link this library with other files, + some of which are compiled with GCC, to produce an executable, + this library does not by itself cause the resulting executable to + be covered by the GNU General Public License. This exception does + not however invalidate any other reasons why the executable file + might be covered by the GNU General Public License. + +The mudflap library is licensed under the terms of the GNU General +Public License, and has the following addition: + + In addition to the permissions in the GNU General Public License, + the Free Software Foundation gives you unlimited permission to + link the compiled version of this file into combinations with + other programs, and to distribute those combinations without any + restriction coming from the use of this file. (The General Public + License restrictions do apply in other respects; for example, they + cover modification of the file, and distribution when not linked + into a combine executable.) + +The ssp library is licensed under the terms of the GNU General +Public License, with a special exception: + + As a special exception, if you link this library with other files, + some of which are compiled with GCC, to produce an executable, + this library does not by itself cause the resulting executable to + be covered by the GNU General Public License. This exception does + not however invalidate any other reasons why the executable file + might be covered by the GNU General Public License. + +The Libgomp library is licensed under the terms of the GNU Lesser +General Public License, with a special exception: + + As a special exception, if you link this library with other files, some + of which are compiled with GCC, to produce an executable, this library + does not by itself cause the resulting executable to be covered by the + GNU General Public License. This exception does not however invalidate + any other reasons why the executable file might be covered by the GNU + General Public License. + +The documentation is licensed under the GNU Free Documentation License +(v1.2), appended at the end of this file. + + +GNU Free Documentation License +****************************** + + Version 1.2, November 2002 + Copyright (C) 2000,2001,2002 Free Software Foundation, Inc. + 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. + + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + 0. PREAMBLE + + The purpose of this License is to make a manual, textbook, or other + functional and useful document "free" in the sense of freedom: to + assure everyone the effective freedom to copy and redistribute it, + with or without modifying it, either commercially or + noncommercially. Secondarily, this License preserves for the + author and publisher a way to get credit for their work, while not + being considered responsible for modifications made by others. + + This License is a kind of "copyleft", which means that derivative + works of the document must themselves be free in the same sense. + It complements the GNU General Public License, which is a copyleft + license designed for free software. + + We have designed this License in order to use it for manuals for + free software, because free software needs free documentation: a + free program should come with manuals providing the same freedoms + that the software does. But this License is not limited to + software manuals; it can be used for any textual work, regardless + of subject matter or whether it is published as a printed book. + We recommend this License principally for works whose purpose is + instruction or reference. + + 1. APPLICABILITY AND DEFINITIONS + + This License applies to any manual or other work, in any medium, + that contains a notice placed by the copyright holder saying it + can be distributed under the terms of this License. Such a notice + grants a world-wide, royalty-free license, unlimited in duration, + to use that work under the conditions stated herein. The + "Document", below, refers to any such manual or work. Any member + of the public is a licensee, and is addressed as "you". You + accept the license if you copy, modify or distribute the work in a + way requiring permission under copyright law. + + A "Modified Version" of the Document means any work containing the + Document or a portion of it, either copied verbatim, or with + modifications and/or translated into another language. + + A "Secondary Section" is a named appendix or a front-matter section + of the Document that deals exclusively with the relationship of the + publishers or authors of the Document to the Document's overall + subject (or to related matters) and contains nothing that could + fall directly within that overall subject. (Thus, if the Document + is in part a textbook of mathematics, a Secondary Section may not + explain any mathematics.) The relationship could be a matter of + historical connection with the subject or with related matters, or + of legal, commercial, philosophical, ethical or political position + regarding them. + + The "Invariant Sections" are certain Secondary Sections whose + titles are designated, as being those of Invariant Sections, in + the notice that says that the Document is released under this + License. If a section does not fit the above definition of + Secondary then it is not allowed to be designated as Invariant. + The Document may contain zero Invariant Sections. If the Document + does not identify any Invariant Sections then there are none. + + The "Cover Texts" are certain short passages of text that are + listed, as Front-Cover Texts or Back-Cover Texts, in the notice + that says that the Document is released under this License. A + Front-Cover Text may be at most 5 words, and a Back-Cover Text may + be at most 25 words. + + A "Transparent" copy of the Document means a machine-readable copy, + represented in a format whose specification is available to the + general public, that is suitable for revising the document + straightforwardly with generic text editors or (for images + composed of pixels) generic paint programs or (for drawings) some + widely available drawing editor, and that is suitable for input to + text formatters or for automatic translation to a variety of + formats suitable for input to text formatters. A copy made in an + otherwise Transparent file format whose markup, or absence of + markup, has been arranged to thwart or discourage subsequent + modification by readers is not Transparent. An image format is + not Transparent if used for any substantial amount of text. A + copy that is not "Transparent" is called "Opaque". + + Examples of suitable formats for Transparent copies include plain + ASCII without markup, Texinfo input format, LaTeX input format, + SGML or XML using a publicly available DTD, and + standard-conforming simple HTML, PostScript or PDF designed for + human modification. Examples of transparent image formats include + PNG, XCF and JPG. Opaque formats include proprietary formats that + can be read and edited only by proprietary word processors, SGML or + XML for which the DTD and/or processing tools are not generally + available, and the machine-generated HTML, PostScript or PDF + produced by some word processors for output purposes only. + + The "Title Page" means, for a printed book, the title page itself, + plus such following pages as are needed to hold, legibly, the + material this License requires to appear in the title page. For + works in formats which do not have any title page as such, "Title + Page" means the text near the most prominent appearance of the + work's title, preceding the beginning of the body of the text. + + A section "Entitled XYZ" means a named subunit of the Document + whose title either is precisely XYZ or contains XYZ in parentheses + following text that translates XYZ in another language. (Here XYZ + stands for a specific section name mentioned below, such as + "Acknowledgements", "Dedications", "Endorsements", or "History".) + To "Preserve the Title" of such a section when you modify the + Document means that it remains a section "Entitled XYZ" according + to this definition. + + The Document may include Warranty Disclaimers next to the notice + which states that this License applies to the Document. These + Warranty Disclaimers are considered to be included by reference in + this License, but only as regards disclaiming warranties: any other + implication that these Warranty Disclaimers may have is void and + has no effect on the meaning of this License. + + 2. VERBATIM COPYING + + You may copy and distribute the Document in any medium, either + commercially or noncommercially, provided that this License, the + copyright notices, and the license notice saying this License + applies to the Document are reproduced in all copies, and that you + add no other conditions whatsoever to those of this License. You + may not use technical measures to obstruct or control the reading + or further copying of the copies you make or distribute. However, + you may accept compensation in exchange for copies. If you + distribute a large enough number of copies you must also follow + the conditions in section 3. + + You may also lend copies, under the same conditions stated above, + and you may publicly display copies. + + 3. COPYING IN QUANTITY + + If you publish printed copies (or copies in media that commonly + have printed covers) of the Document, numbering more than 100, and + the Document's license notice requires Cover Texts, you must + enclose the copies in covers that carry, clearly and legibly, all + these Cover Texts: Front-Cover Texts on the front cover, and + Back-Cover Texts on the back cover. Both covers must also clearly + and legibly identify you as the publisher of these copies. The + front cover must present the full title with all words of the + title equally prominent and visible. You may add other material + on the covers in addition. Copying with changes limited to the + covers, as long as they preserve the title of the Document and + satisfy these conditions, can be treated as verbatim copying in + other respects. + + If the required texts for either cover are too voluminous to fit + legibly, you should put the first ones listed (as many as fit + reasonably) on the actual cover, and continue the rest onto + adjacent pages. + + If you publish or distribute Opaque copies of the Document + numbering more than 100, you must either include a + machine-readable Transparent copy along with each Opaque copy, or + state in or with each Opaque copy a computer-network location from + which the general network-using public has access to download + using public-standard network protocols a complete Transparent + copy of the Document, free of added material. If you use the + latter option, you must take reasonably prudent steps, when you + begin distribution of Opaque copies in quantity, to ensure that + this Transparent copy will remain thus accessible at the stated + location until at least one year after the last time you + distribute an Opaque copy (directly or through your agents or + retailers) of that edition to the public. + + It is requested, but not required, that you contact the authors of + the Document well before redistributing any large number of + copies, to give them a chance to provide you with an updated + version of the Document. + + 4. MODIFICATIONS + + You may copy and distribute a Modified Version of the Document + under the conditions of sections 2 and 3 above, provided that you + release the Modified Version under precisely this License, with + the Modified Version filling the role of the Document, thus + licensing distribution and modification of the Modified Version to + whoever possesses a copy of it. In addition, you must do these + things in the Modified Version: + + A. Use in the Title Page (and on the covers, if any) a title + distinct from that of the Document, and from those of + previous versions (which should, if there were any, be listed + in the History section of the Document). You may use the + same title as a previous version if the original publisher of + that version gives permission. + + B. List on the Title Page, as authors, one or more persons or + entities responsible for authorship of the modifications in + the Modified Version, together with at least five of the + principal authors of the Document (all of its principal + authors, if it has fewer than five), unless they release you + from this requirement. + + C. State on the Title page the name of the publisher of the + Modified Version, as the publisher. + + D. Preserve all the copyright notices of the Document. + + E. Add an appropriate copyright notice for your modifications + adjacent to the other copyright notices. + + F. Include, immediately after the copyright notices, a license + notice giving the public permission to use the Modified + Version under the terms of this License, in the form shown in + the Addendum below. + + G. Preserve in that license notice the full lists of Invariant + Sections and required Cover Texts given in the Document's + license notice. + + H. Include an unaltered copy of this License. + + I. Preserve the section Entitled "History", Preserve its Title, + and add to it an item stating at least the title, year, new + authors, and publisher of the Modified Version as given on + the Title Page. If there is no section Entitled "History" in + the Document, create one stating the title, year, authors, + and publisher of the Document as given on its Title Page, + then add an item describing the Modified Version as stated in + the previous sentence. + + J. Preserve the network location, if any, given in the Document + for public access to a Transparent copy of the Document, and + likewise the network locations given in the Document for + previous versions it was based on. These may be placed in + the "History" section. You may omit a network location for a + work that was published at least four years before the + Document itself, or if the original publisher of the version + it refers to gives permission. + + K. For any section Entitled "Acknowledgements" or "Dedications", + Preserve the Title of the section, and preserve in the + section all the substance and tone of each of the contributor + acknowledgements and/or dedications given therein. + + L. Preserve all the Invariant Sections of the Document, + unaltered in their text and in their titles. Section numbers + or the equivalent are not considered part of the section + titles. + + M. Delete any section Entitled "Endorsements". Such a section + may not be included in the Modified Version. + + N. Do not retitle any existing section to be Entitled + "Endorsements" or to conflict in title with any Invariant + Section. + + O. Preserve any Warranty Disclaimers. + + If the Modified Version includes new front-matter sections or + appendices that qualify as Secondary Sections and contain no + material copied from the Document, you may at your option + designate some or all of these sections as invariant. To do this, + add their titles to the list of Invariant Sections in the Modified + Version's license notice. These titles must be distinct from any + other section titles. + + You may add a section Entitled "Endorsements", provided it contains + nothing but endorsements of your Modified Version by various + parties--for example, statements of peer review or that the text + has been approved by an organization as the authoritative + definition of a standard. + + You may add a passage of up to five words as a Front-Cover Text, + and a passage of up to 25 words as a Back-Cover Text, to the end + of the list of Cover Texts in the Modified Version. Only one + passage of Front-Cover Text and one of Back-Cover Text may be + added by (or through arrangements made by) any one entity. If the + Document already includes a cover text for the same cover, + previously added by you or by arrangement made by the same entity + you are acting on behalf of, you may not add another; but you may + replace the old one, on explicit permission from the previous + publisher that added the old one. + + The author(s) and publisher(s) of the Document do not by this + License give permission to use their names for publicity for or to + assert or imply endorsement of any Modified Version. + + 5. COMBINING DOCUMENTS + + You may combine the Document with other documents released under + this License, under the terms defined in section 4 above for + modified versions, provided that you include in the combination + all of the Invariant Sections of all of the original documents, + unmodified, and list them all as Invariant Sections of your + combined work in its license notice, and that you preserve all + their Warranty Disclaimers. + + The combined work need only contain one copy of this License, and + multiple identical Invariant Sections may be replaced with a single + copy. If there are multiple Invariant Sections with the same name + but different contents, make the title of each such section unique + by adding at the end of it, in parentheses, the name of the + original author or publisher of that section if known, or else a + unique number. Make the same adjustment to the section titles in + the list of Invariant Sections in the license notice of the + combined work. + + In the combination, you must combine any sections Entitled + "History" in the various original documents, forming one section + Entitled "History"; likewise combine any sections Entitled + "Acknowledgements", and any sections Entitled "Dedications". You + must delete all sections Entitled "Endorsements." + + 6. COLLECTIONS OF DOCUMENTS + + You may make a collection consisting of the Document and other + documents released under this License, and replace the individual + copies of this License in the various documents with a single copy + that is included in the collection, provided that you follow the + rules of this License for verbatim copying of each of the + documents in all other respects. + + You may extract a single document from such a collection, and + distribute it individually under this License, provided you insert + a copy of this License into the extracted document, and follow + this License in all other respects regarding verbatim copying of + that document. + + 7. AGGREGATION WITH INDEPENDENT WORKS + + A compilation of the Document or its derivatives with other + separate and independent documents or works, in or on a volume of + a storage or distribution medium, is called an "aggregate" if the + copyright resulting from the compilation is not used to limit the + legal rights of the compilation's users beyond what the individual + works permit. When the Document is included an aggregate, this + License does not apply to the other works in the aggregate which + are not themselves derivative works of the Document. + + If the Cover Text requirement of section 3 is applicable to these + copies of the Document, then if the Document is less than one half + of the entire aggregate, the Document's Cover Texts may be placed + on covers that bracket the Document within the aggregate, or the + electronic equivalent of covers if the Document is in electronic + form. Otherwise they must appear on printed covers that bracket + the whole aggregate. + + 8. TRANSLATION + + Translation is considered a kind of modification, so you may + distribute translations of the Document under the terms of section + 4. Replacing Invariant Sections with translations requires special + permission from their copyright holders, but you may include + translations of some or all Invariant Sections in addition to the + original versions of these Invariant Sections. You may include a + translation of this License, and all the license notices in the + Document, and any Warrany Disclaimers, provided that you also + include the original English version of this License and the + original versions of those notices and disclaimers. In case of a + disagreement between the translation and the original version of + this License or a notice or disclaimer, the original version will + prevail. + + If a section in the Document is Entitled "Acknowledgements", + "Dedications", or "History", the requirement (section 4) to + Preserve its Title (section 1) will typically require changing the + actual title. + + 9. TERMINATION + + You may not copy, modify, sublicense, or distribute the Document + except as expressly provided for under this License. Any other + attempt to copy, modify, sublicense or distribute the Document is + void, and will automatically terminate your rights under this + License. However, parties who have received copies, or rights, + from you under this License will not have their licenses + terminated so long as such parties remain in full compliance. + + 10. FUTURE REVISIONS OF THIS LICENSE + + The Free Software Foundation may publish new, revised versions of + the GNU Free Documentation License from time to time. Such new + versions will be similar in spirit to the present version, but may + differ in detail to address new problems or concerns. See + `http://www.gnu.org/copyleft/'. + + Each version of the License is given a distinguishing version + number. If the Document specifies that a particular numbered + version of this License "or any later version" applies to it, you + have the option of following the terms and conditions either of + that specified version or of any later version that has been + published (not as a draft) by the Free Software Foundation. If + the Document does not specify a version number of this License, + you may choose any version ever published (not as a draft) by the + Free Software Foundation. + +ADDENDUM: How to use this License for your documents +==================================================== + + To use this License in a document you have written, include a copy of +the License in the document and put the following copyright and license +notices just after the title page: + + Copyright (C) YEAR YOUR NAME. + Permission is granted to copy, distribute and/or modify this document + under the terms of the GNU Free Documentation License, Version 1.2 + or any later version published by the Free Software Foundation; + with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. + A copy of the license is included in the section entitled ``GNU + Free Documentation License''. + + If you have Invariant Sections, Front-Cover Texts and Back-Cover +Texts, replace the "with...Texts." line with this: + + with the Invariant Sections being LIST THEIR TITLES, with + the Front-Cover Texts being LIST, and with the Back-Cover Texts + being LIST. + + If you have Invariant Sections without Cover Texts, or some other +combination of the three, merge those two alternatives to suit the +situation. + + If your document contains nontrivial examples of program code, we +recommend releasing these examples in parallel under your choice of +free software license, such as the GNU General Public License, to +permit their use in free software. --- gcc-snapshot-20061001.orig/debian/.svn/text-base/FAQ.gcj.svn-base +++ gcc-snapshot-20061001/debian/.svn/text-base/FAQ.gcj.svn-base @@ -0,0 +1,494 @@ +The GCJ FAQ +=========== + + The latest version of this document is always available at + http://gcc.gnu.org/java/faq.html. + + General Questions + + What license is used for libgcj? + How can I report a bug in libgcj? + How can I contribute to libgcj + Is libgcj part of GCC? + Will gcj and libgcj work on my machine? + How can I debug my Java program? + Can I interface byte-compiled and native java code? + + + Java Feature Support + + What Java API's are supported? How complete is + the support? + Does GCJ support using straight C native methods + ala JNI? + Why does GCJ use CNI? + What is the state of AWT support? + How about support for Swing ? + What support is there for RMI ? + Can I use any code from other OpenSource projects + to supplement libgcj's current features ? + What features of the Java language are/arn't supported + + + Build Issues + + I need something more recent than the last release; how + should I build it? + Linker bug on Solaris + Can I configure/build in the source tree? + My libgcj build fails with "invalid use of undefined type + struct sigcontext_struct" + + + Gcj Compile/Link Questions + + Why do I get undefined reference to `main' errors? + Can GCJ only handle source code? + "gcj -C" Doesn't seem to work like javac/jikes. Whats going on? + Where does GCJ look for files? + How does gcj resolve wether to compile .class or .java files? + I'm getting link errors! + I'm getting 'undefined symbol: __dso_handle' + + + Runtime Questions + + My program is dumping core! What's going on? + When I run the debugger I get a SEGV in the GC! What's going on? + I have just compiled and benchmarked my Java application + and it seems to be running slower than than XXX JIT JVM. Is there + anything I can do to make it go faster? + Can I profile Garbage Collection? + How do I increase the runtime's initial and maximum heap sizes? + How can I profile my application? + My program seems to hang and doesn't produce any output + + + Programming Issues + + Are there any examples of how to use CNI? + Is it possible to invoke GCJ compiled Java code from a + C++ application? + +General Questions +================= + + 1.1 What license is used for libgcj? + + libgcj is distributed under the GPL, with the 'libgcc exception'. + This means that linking with libgcj does not by itself cause + your program to fall under the GPL. See LIBGCJ_LICENSE in + the source tree for more details. + + 1.2 How can I report a bug in libgcj? + + libgcj has a corresponding Gnats bug database which you can + browse. You can also submit new bug reports from the Gnats + page. + + 1.3 How can I contribute to libgcj? + + You can send simple bug fixes in as patches. Please follow + the GCC guidelines for submitting patches. For more complex + changes, you must sign copyright over to the Free Software + Foundation. See the contribution page for details. + + 1.4 Is libgcj part of GCC? + + Yes, libgcj is now part of GCC. It can be downloaded, + configured and built as one single tree. + + 1.5 Will gcj and libgcj work on my machine? + + Gcj and libgcj are known to work more or less with IA-32 and + Sparc Solaris, Tru64 Unix, as well as IA-32, IA-64, Alpha, + and PowerPC Linux. They might work on other + systems. Generally speaking, porting to a new system should + not be hard. This would be a good way to volunteer. + + 1.6 How can I debug my Java program? + + gdb 5.0 includes support for debugging gcj-compiled Java + programs. For more information please read Java Debugging + with gdb. + + 1.7 Can I interface byte-compiled and native java code + + libgcj has a bytecode interpreter that allows you to mix + .class files with compiled code. It works pretty + transparently: if a compiled version of a class is not found + in the application binary or linked shared libraries, the + class loader will search for a bytecode version in your + classpath, much like a VM would. Be sure to build libgcj + with the --enable-interpreter option to enable this + functionality. + + The program "gij" provides a front end to the interpreter + that behaves much like a traditional virtual machine. You + can even use "gij" to run a shared library which is compiled + from java code and contains a main method: + + $ gcj -shared -o lib-HelloWorld.so HelloWorld.java + $ gij HelloWorld + + This works because gij uses Class.forName, which knows how + to load shared objects. + +Java Feature Support +==================== + + 2.1 What Java API's are supported? How complete is + the support? + + Matt Welsh writes: + + Just look in the 'libjava' directory of libgcj and see + what classes are there. Most GUI stuff isn't there yet, + that's true, but many of the other classes are easy to add + if they don't yet exist. + + I think it's important to stress that there is a big + difference between Java and the many libraries which Java + supports. Unfortunately, Sun's promise of "write once, run + everywhere" assumes much more than a JVM: you also need + the full set of JDK libraries. Considering that new Java + APIs come out every week, it's going to be impossible to + track everything. + + To make things worse, you can't simply run Sun's JDK + classes on any old JVM -- they assume that a bunch of + native methods are also defined. Since this native method + requirement isn't defined by the JDK specs, you're + effectively constrained to using Sun's JVMs if you want to + use Sun's JDK libraries. Oh yes -- you could also + reimplement all of those native methods yourself, and make + sure they behave exactly as Sun's do. Note that they're + undocumented! + + 2.2 Does GCJ support using straight C native methods + ala JNI? + + Yes. libgcj now has experimental support for JNI, in + addition to its native Compiled Native Interface (CNI). gcjh + will generate JNI stubs and headers using the "-jni" + option. However, we do prefer CNI: it is more efficient, + easier to write, and (at least potentially) easier to debug. + + 2.3 Why does GCJ use CNI? + + Per Bothner explains: + + We use CNI because we think it is a better solution, + especially for a Java implementation that is based on the + idea that Java is just another programming language that + can be implemented using standard compilation + techniques. Given that, and the idea that languages + implemented using Gcc should be compatible where it makes + sense, it follows that the Java calling convention should + be as similar as practical to that used for other + languages, especially C++, since we can think of Java as a + subset of C++. CNI is just a set of helper functions and + conventions built on the idea that C++ and Java have the + *same* calling convention and object layout; they are + binary compatible. (This is a simplification, but close + enough.) + + 2.4 What is the state of AWT support? + + Work is in progress to implement AWT and Java2D. We intend + to support both GTK and xlib peers written using CNI. Some + components are already working atop the xlib peers. + + 2.5 How about support for Swing? + + Once AWT support is working then Swing support can be + considered. There is at least one free-software partial + implementations of Swing that may be usable. + + 2.6 What support is there for RMI? + + RMI code exists on the CVS trunk (aka gcc 3.1), but it has + not been heavily tested. This code was donated by + Transvirtual Technologies. + + 2.7 Can I use any code from other OpenSource + projects to supplement libgcj's current features? + + Certainly. However, in many cases, if you wanted to + contribute the code back into the official libgcj + distribution, we would require that the original author(s) + assign copyright to the Free Software Foundation. As of + March 6, 2000, libgcj has been relicenced, and copyright + has been assigned to the FSF. This allows us to share and + merge much of the libgcj codebase with the Classpath + project. Our eventual goal is for Classpath to be an + upstream source provider for libgcj, however it will be + some time before this becomes reality: libgcj and Classpath + have different implementations of many core java + classes. In order to merge them, we need to select the best + (most efficient, cleanest) implementation of each + method/class/package, resolve any conflicts created by the + merge, and test the final result. Needless to say, this is + a lot of work. If you can help out, please let us know! + + 2.8 What features of the Java language are/aren't supported. + + GCJ supports all Java language constructs as per the Java + language Specification. Recent GCJ snapshots have added + support for most JDK1.1 (and beyond) language features, + including inner classes. + +Build Issues +============ + + 3.1 I need something more recent than the last release. + How should I build it? + + Please read here: http://gcc.gnu.org/java/build-snapshot.html + + 3.2 Linker bug on Solaris + + There is a known problem with the native Solaris linker when + using gcc/gcj. A good indication you've run into this + problem is if you get an error that looks like the following + when building libgcj: + +ld: warning: option -o appears more than once, first setting taken +ld: fatal: file libfoo.so: cannot open file: No such file or directory +ld: fatal: File processing errors. No output written to .libs/libfoo.so +collect2: ld returned 1 exit status + + A known workaround for this and other reported link problems + on the various releases of Solaris is to build gcc/gcj with + the latest GNU binutils instead of the native Solaris + ld. The most straightforward way to do this is to build and + install binutils, and then reference it in the configure for + gcc via --with-ld=/path_to_binutils_install/bin/ld + (--with-as may also be similarly specified but is not + believed to be required). + + Please note, gcc/gcj must be built using GNU ld prior to + doing a clean build of libgcj! + + 3.3 Can I configure/build in the source tree? + + No. You cannot configure/build in the source tree. If you + try, you'll see something like: + + $ ./configure [...] + Configuring for a i686-pc-linux-gnu host. + *** Cannot currently configure in source tree. + + Instead, you must build in another directory. E.g.: + + $ mkdir build + $ cd build + $ ../configure [...] + + 3.4 My libgcj build fails with "invalid use of undefined type + struct sigcontext_struct" + + If you're using Linux, this probably means you need to + upgrade to a newwer, glibc (libc6) based Linux + distribution. libgcj does not support the older linux libc5. + It might be possible to get a working libgcj by changing + occurances of "sigcontext_struct" to "sigcontext", however + this has not been tested. Even if it works, it is likely + that there are other issues with older libc versions that + would prevent libgcj from working correctly (threads bugs, + for example). + +Gcj Compile/Link Questions +========================== + + 4.1 Why do I get undefined reference to `main' errors? + + When using gcj to link a Java program, you must use the --main= + option to indicate the class that has the desired main method. + This is because every Java class can have a main method, thus + you have to tell gcj which one to use. + + 4.2 Can GCJ only handle source code? + + GCJ will compile both source (.java) and bytecode (.class) + files. However, in many cases the native code produced by + compiling from source is better optimized than that compiled + from .class files. + + Per Bothner explains: + + The reason is that when you compile to bytecode you lose a + lot of information about program structure etc. That + information helps in generating better code. We can in + theory recover the information we need by analysing the + structure of the bytecodes, but it is sometimes difficult + - or sometimes it just that no-one has gotten around to + it. Specific examples include loop structure (gcc + generates better code with explicit loops rather than with + the equivalent spaghetti code), array initializers, and + the JDK 1.1 `CLASS.class' syntax, all of which are + represented using more low-level constructs in bytecode. + + 4.3 "gcj -C" Doesn't seem to work like javac/jikes. Whats going on? + + The behavior of "gcj -C" is not at all like javac or jikes, + which will compile (not just scan) all .java's which are out + of date with regard to their .class's. + + 4.4 Where does GCJ look for files? + + GCJ looks for classes to compile based on the CLASSPATH + environment variable. libgcj.jar and other files are found + relative to the path of the compiler itself, so it is safe + to move the entire compiler tree to a different path, and + there is no need to include libgcj.jar in your CLASSPATH. + + 4.5 How does gcj resolve whether to compile .class or .java files? + + GCJ compiles only the files presented to it on the command + line. However, it also needs to scan other files in order to + determine the layout of other classes and check for errors + in your code. For these dependencies, GCJ will favour + .class files if they are available because it is faster to + parse a class file than source code. + + 4.6 I'm getting link errors + + If you get errors at link time that refer to 'undefined + reference to `java::lang::Object type_info function', verify + that you have compiled any CNI C++ files with the -fno-rtti + option. This is only required for versions of GCJ earlier + than 3.0. + + 4.7 I'm getting 'undefined symbol: __dso_handle' + + Some versions of the GNU linker have broken support for the + '.hidden' directive, which results in problems with shared + libraries built with recent versions of gcc. + + There are three solutions: + + - downgrade to binutils that don't support .hidden at all, + - upgrade to a recent binutils, or + - undef the HAVE_GAS_HIDDEN definition in gcc's auto-host.h + (and rebuild gcc). + +Runtime Questions +================= + + 5.1 My program is dumping core! What's going on? + + It could be any number of things. One common mistake is + having your CLASSPATH environment variable pointing at a + third party's java.lang and friends. Either unset CLASSPATH, + or make sure it does not refer to core libraries other than + those found in libgcj.jar.Note that newwer versions of GCJ + will reject the core class library if it wasn't generated by + GCJ itself. + + 5.2 When I run the debugger I get a SEGV in the GC! What's going on? + + This is "normal"; the Garbage Collector (GC) uses it to + determine stack boundaries. It is ordinarily caught and + handled by the GC -- you can see this in the debugger by + using cont to continue to the "real" segv. + + 5.3 I have just compiled and benchmarked my Java application + and it seems to be running slower than than XXX JIT JVM. Is there + anything I can do to make it go faster? + + A few things: + + - If your programs allocate many small, short lived objects, + the heap could be filling and triggering GC too + regularly. Try increasing the initial and maximum heap sizes + as per 5.5 How do I increase the runtime's initial and + maximum heap size? + - RE - array accesses. We have sub-optimal runtime checking + code, and the compiler is still not so smart about + automatically removing array checks. If your code is ready, + and it doesn't rely on them, try compiling with + --no-bounds-check. + - Try static linking. On many platforms, dynamic (PIC) + function calls are more expensive than static ones. In + particular, the interaction with boehm-gc seems to incur + extra overhead when shared libraries are used. + - If your Java application doesn't need threads, try + building libgcj using --enable-threads=none. Portions of the + libgcj runtime are still more efficient when + single-threaded. + + 5.4 Can I profile Garbage Collection? + + It is possible to turn on verbose GC output by supressing + the -DSILENT flag during build. One way to do this is to + comment out the line with #define SILENT 1 from + boehm-gc/configure before configuring libgcj. The GC will + print collection statistics to stdout. (Rebuilding boehm-gc + alone without this flag doesn't seem to work.) + + 5.5 How do I increase the runtime's initial and maximum heap sizes? + + Some programs that allocate many small, short-lived objects + can cause the default-sized heap to fill quickly and GC + often. With the 2.95.1 release there is no means to adjust + the heap at runtime. Recent snapshots provide the -ms and + -mx arguments to gij to specify the initial and maximum heap + sizes, respectively. + + 5.6 How can I profile my application? + + Currently, only single threaded Java code may be used by the + profiler (gprof). POSIX threads seem to be incompatible with + the gmon stuff. A couple of other tools that have been + mentioned on the GCJ mailing list are sprof and cprof. The + former is part of GNU libc. + + 5.7 My program seems to hang and doesn't produce any output + + Some versions had a bug in the iconv support. You can work + around it by setting LANG=en_US.UTF-8 at runtime, or give + the following option during compile time + -Dfile.encoding=UTF-8. This problem should no longer occur + as of November 1, 2000. + +Programming Issues +================== + + 6.1 Are there any examples of how to use CNI? + + Glenn Chambers has created a couple of trivial examples for + version 2.95 and version 3.0. As a comparison, here is the + same example as a JNI application using Kaffe. The same + code will work with GCJ, as shown here. + + Note that for version 2.95, you must compile the C++ files + used for CNI with the -fno-rtti option. This constraint + does not apply in version 3.0 and later. + + The primary source of documentation for CNI is at + http://gcc.gnu.org/java/papers/cni/t1.html + + 6.2 Is it possible to invoke GCJ compiled Java code from a + C++ application? + + Yes, GCJ 3.1 supports a CNI-based invocation interface as + well as the traditional JNI invocation API. See the GCJ + Manual for more details on how to use the CNI interface. + +Please send FSF & GNU inquiries & questions tognu@gnu.org.There are +also other waysto contact the FSF. + +These pages are maintained by The GCC team. + +Please send comments on these web pages and GCC to our publicmailing +list at gcc@gnu.org orgcc@gcc.gnu.org, send other questions to +gnu@gnu.org. + +Copyright (C) Free Software Foundation, Inc., +59 Temple Place - Suite 330, Boston, MA 02111, USA. + +Verbatim copying and distribution of this entire article is permitted +in any medium, provided this notice is preserved. + +Last modified 2003-04-30 --- gcc-snapshot-20061001.orig/debian/.svn/text-base/rules.unpack.svn-base +++ gcc-snapshot-20061001/debian/.svn/text-base/rules.unpack.svn-base @@ -0,0 +1,160 @@ +# -*- makefile -*- +# rules to unpack the source tarballs in $(srcdir); if the source dir already +# exists, the rule exits with an error to prevent deletion of modified +# source files. It has to be deleted manually. + +tarballs = $(gcc_tarball) +ifeq ($(with_pascal),yes) + tarballs += $(gpc_tarball) +endif + +unpack_stamps = $(foreach i,$(tarballs),$(unpack_stamp)-$(i)) + +unpack: stamp-dir $(unpack_stamp) debian-chmod +$(unpack_stamp): $(unpack_stamps) +$(unpack_stamp): $(foreach p,$(debian_tarballs),unpacked-$(p)) + echo -e "\nBuilt from Debian source package $(PKGSOURCE)-$(SOURCE_VERSION)" \ + > pxxx + echo -e "Integrated upstream packages in this version:\n" >> pxxx + for i in $(tarballs); do echo " $$i" >> pxxx; done + mv -f pxxx $@ + +debian-chmod: + @chmod 755 debian/dh_* + +# --------------------------------------------------------------------------- + +gfdl_texinfo_files = \ + gcc/doc/bugreport.texi \ + gcc/doc/cfg.texi \ + gcc/doc/collect2.texi \ + gcc/doc/compat.texi \ + gcc/doc/configfiles.texi \ + gcc/doc/configterms.texi \ + gcc/doc/contrib.texi \ + gcc/doc/contribute.texi \ + gcc/doc/cppenv.texi \ + gcc/doc/cppinternals.texi \ + gcc/doc/cppopts.texi \ + gcc/doc/cpp.texi \ + gcc/doc/c-tree.texi \ + gcc/doc/extend.texi \ + gcc/doc/fragments.texi \ + gcc/doc/frontends.texi \ + gcc/doc/gccint.texi \ + gcc/doc/gcc.texi \ + gcc/doc/gcov.texi \ + gcc/doc/gnu.texi \ + gcc/doc/gty.texi \ + gcc/doc/headerdirs.texi \ + gcc/doc/hostconfig.texi \ + gcc/doc/implement-c.texi \ + gcc/doc/install-old.texi \ + gcc/doc/install.texi \ + gcc/doc/interface.texi \ + gcc/doc/invoke.texi \ + gcc/doc/languages.texi \ + gcc/doc/libgcc.texi \ + gcc/doc/makefile.texi \ + gcc/doc/md.texi \ + gcc/doc/objc.texi \ + gcc/doc/options.texi \ + gcc/doc/passes.texi \ + gcc/doc/portability.texi \ + gcc/doc/rtl.texi \ + gcc/doc/service.texi \ + gcc/doc/sourcebuild.texi \ + gcc/doc/standards.texi \ + gcc/doc/tm.texi \ + gcc/doc/tree-ssa.texi \ + gcc/doc/trouble.texi \ + gcc/doc/include/gcc-common.texi \ + gcc/doc/include/funding.texi \ + gcc/fortran/invoke.texi \ + gcc/fortran/intrinsic.texi \ + libstdc++-v3/docs/html/17_intro/porting.texi \ + +gfdl_toplevel_texinfo_files = \ + gcc/doc/gcc.texi \ + gcc/java/gcj.texi \ + gcc/ada/gnat-style.texi \ + gcc/ada/gnat_rm.texi \ + gcc/ada/gnat_ugn.texi \ + gcc/fortran/gfortran.texi \ + gcc/treelang/treelang.texi \ + +gfdl_manpages = \ + gcc/doc/cpp.1 \ + gcc/doc/g++.1 \ + gcc/doc/gcc.1 \ + gcc/doc/gcj.1 \ + gcc/doc/gcj-dbtool.1 \ + gcc/doc/gcjh.1 \ + gcc/doc/gcov.1 \ + gcc/doc/gij.1 \ + gcc/doc/gjnih.1 \ + gcc/doc/grmic.1 \ + gcc/doc/grmiregistry.1 \ + gcc/doc/jcf-dump.1 \ + gcc/doc/jv-convert.1 \ + gcc/doc/jv-scan.1 + +# --------------------------------------------------------------------------- +$(unpack_stamp)-$(gcc_tarball): $(gcc_tarpath) + : # unpack gcc tarball + -mkdir $(stampdir) + if [ -d $(srcdir) ]; then \ + echo >&2 "Source directory $(srcdir) exists. Delete by hand"; \ + false; \ + fi + rm -rf $(gcc_srcdir) + case $(gcc_tarball) in \ + *.bz2) tar -x --bzip2 -f $(gcc_tarpath);; \ + *.gz) tar -x --gzip -f $(gcc_tarpath);; \ + *) false; \ + esac + mv $(gcc_srcdir) $(srcdir) +ifeq (0,1) + cd $(srcdir) && tar cfj ../gcc-4.1.1-doc.tar.bz2 \ + $(gfdl_texinfo_files) \ + $(gfdl_toplevel_texinfo_files) \ + $(gfdl_manpages) \ + libstdc++-v3/docs/html/17_intro/porting.html +endif +ifeq ($(GFDL_INVARIANT_FREE),yes) + rm -f $(srcdir)/gcc/doc/*.1 + rm -f $(srcdir)/gcc/doc/*.info + for i in $(gfdl_texinfo_files); do \ + cp debian/dummy.texi $(srcdir)/$$i; \ + done + for i in $(gfdl_toplevel_texinfo_files); do \ + n=$$(basename $$i .texi); \ + sed "s/@name@/$$n/g" debian/gcc-dummy.texi > $(srcdir)/$$i; \ + done + cp debian/porting.* $(srcdir)/libstdc++-v3/docs/html/17_intro/ +endif + echo "$(gcc_tarball) unpacked." > $@ + +# --------------------------------------------------------------------------- +$(unpack_stamp)-$(gpc_tarball): $(gpc_tarpath) + : # unpack gpc tarball + -mkdir $(stampdir) + if [ -d $(srcdir)/gcc/p ]; then \ + echo >&2 "Source directory $(srcdir)/gcc/p exists. Delete by hand";\ + false; \ + fi + #rm -rf $(gpc_srcdir) + rm -rf p + case $(gpc_tarball) in \ + *.bz2) tar -x --bzip2 -f $(gpc_tarpath);; \ + *.gz) tar -x --gzip -f $(gpc_tarpath);; \ + *) false; \ + esac + if [ -d p ]; then \ + mv p $(srcdir)/gcc/. ; \ + else \ + mv $(gpc_srcdir)/p $(srcdir)/gcc/. ; \ + rm -rf $(gpc_srcdir)/CVS; \ + rmdir $(gpc_srcdir); \ + fi + echo "$(gpc_tarball) unpacked." > $@ --- gcc-snapshot-20061001.orig/debian/.svn/text-base/runcheck.sh.svn-base +++ gcc-snapshot-20061001/debian/.svn/text-base/runcheck.sh.svn-base @@ -0,0 +1,18 @@ +#! /bin/sh + +mkdir -p build + +cat >build/runcheck.c < +int main() +{ + return printf("yes\n") != 4; +} +EOF + +if m=$(${CC:-gcc} -o build/runcheck build/runcheck.c 2>&1); then + m=$(build/runcheck 2>&1) + echo ${m#* } +else + echo ${m##*:} +fi --- gcc-snapshot-20061001.orig/debian/.svn/text-base/rules2.svn-base +++ gcc-snapshot-20061001/debian/.svn/text-base/rules2.svn-base @@ -0,0 +1,1424 @@ +#! /usr/bin/make -f +# -*- makefile -*- + +# Uncomment this to turn on verbose mode. +#export DH_VERBOSE=1 + +.SUFFIXES: + +include debian/rules.defs +include debian/rules.parameters + +# some tools +SHELL = /bin/bash -e # brace expansion in rules file +IR = install -m 644 # Install regular file +IP = install -m 755 # Install program +IS = install -m 755 # Install script + +#number of jobs to run for build +ifeq ($(USE_NJOBS),no) + NJOBS := + NJOBS_CHECK := +else + NJOBS_CHECK := -j $(shell if echo $(USE_NJOBS) | grep -q -E '^[0-9]+$$'; \ + then echo $(USE_NJOBS); \ + else getconf _NPROCESSORS_ONLN 2>/dev/null || echo 1; fi) + ifneq ($(USE_NJOBS),) + NJOBS := $(NJOBS_CHECK) + endif +endif + +# kernel-specific ulimit hack +ifeq ($(findstring linux,$(DEB_HOST_GNU_SYSTEM)),linux) + ULIMIT_M = 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_M = true +endif + +# at least on hppa 64-smp kernels, bash doesn't look very reliable ... +ifeq ($(DEB_HOST_ARCH), $(findstring $(DEB_HOST_ARCH),hppa)) + SET_SHELL = SHELL=/bin/dash +endif + +ifeq ($(locale_data),generate) + SET_LOCPATH = LOCPATH=$(PWD)/locales +endif + +# the recipient for the test summaries. Send with: debian/rules mail-summary +S_EMAIL = gcc@packages.debian.org gcc-testresults@gcc.gnu.org + +CPPFLAGS = +CFLAGS = $(strip -g -O2 $(CPPFLAGS)) +LDFLAGS = +BOOT_CFLAGS = $(strip -O2 $(CPPFLAGS)) +ifeq ($(with_ada),yes) + CC = $(strip gcc-4.1 $(CPPFLAGS)) +else + CC = $(strip cc $(CPPFLAGS)) +endif + +#ifeq ($(DEB_HOST_ARCH), $(findstring $(DEB_HOST_ARCH),m68k)) +# STAGE1_CFLAGS = STAGE1_CFLAGS="-g -O" +#endif + +ifeq ($(with_ssp_default),yes) + STAGE1_CFLAGS = STAGE1_CFLAGS="-g -fno-stack-protector" + BOOT_CFLAGS = $(strip -O2 $(CPPFLAGS) -fno-stack-protector) +endif + +ifdef DEB_CROSS + CFLAGS = $(BOOT_CFLAGS) +endif + +docdir = usr/share/doc + +# PF is the installation prefix for the package without the leading slash. +# It's "usr" for gcc releases +ifeq ($(PKGSOURCE),gcc-snapshot) + PF = usr/lib/gcc-snapshot +else + PF = usr +endif + +ifeq ($(with_multiarch_lib),yes) + libdir = lib/$(DEB_TARGET_GNU_TYPE) +else + libdir = lib +endif +# /usr/libexec doesn't follow the FHS +ifeq ($(PKGSOURCE),gcc-snapshot) + libexecdir = $(PF)/libexec +else + libexecdir = $(PF)/$(libdir) +endif +buildlibdir = $(builddir)/$(TARGET_ALIAS) +gcc_lib_dir = $(PF)/$(libdir)/gcc/$(TARGET_ALIAS)/$(GCC_VERSION) +gcc_lexec_dir = $(libexecdir)/gcc/$(TARGET_ALIAS)/$(GCC_VERSION) + +lib32 = $(PF)/lib32 +ifneq ($(PKGSOURCE),gcc-snapshot) + ifeq ($(distribution)-$(DEB_TARGET_ARCH),Debian-amd64) + lib32 = emul/ia32-linux/usr/lib + endif +endif +lib64 = lib64 + +checkdir = $(builddir) +ifeq ($(with_separate_libgcj),yes) + ifeq ($(PKGSOURCE),gcj-$(BASE_VERSION)) + ifneq ($(with_standalone_gcj),yes) + checkdir = $(buildlibdir)/libjava + endif + endif +endif +ifeq ($(with_separate_gnat),yes) + ifeq ($(PKGSOURCE),gnat-$(BASE_VERSION)) + checkdir = $(builddir)/gcc + endif +endif + +ifndef DEB_CROSS + cxx_inc_dir = $(PF)/include/c++/$(GCC_VERSION) +else + cxx_inc_dir = $(PF)/$(TARGET_ALIAS)/include/c++/$(GCC_VERSION) +endif + +CONFARGS = -v \ + --enable-languages=$(shell echo $(enabled_languages) | tr -s ' ' ',') \ + --prefix=/$(PF) \ + --enable-shared \ + --with-system-zlib \ + +ifeq ($(PKGSOURCE),gcc-snapshot) + with_nls := no +else + CONFARGS += \ + --libexecdir=/$(libexecdir) \ + --without-included-gettext \ + --enable-threads=posix +endif + +ifeq ($(with_nls),yes) + CONFARGS += --enable-nls +else + CONFARGS += --disable-nls +endif + +ifdef DEB_CROSS + CONFARGS += --with-gxx-include-dir=/$(cxx_inc_dir) +endif + +ifeq ($(versioned_packages),yes) + CONFARGS += --program-suffix=-$(BASE_VERSION) +endif + +ifneq ($(with_sysroot),) + CONFARGS += --with-sysroot=$(with_sysroot) +endif + +ifeq ($(with_cxa_atexit),yes) + CONFARGS += --enable-__cxa_atexit +else + CONFARGS += --disable-__cxa_atexit +endif + +ifneq ($(with_bootstrap),) + CONFARGS += --enable-bootstrap=$(with_bootstrap) +endif + +ifeq ($(force_gnu_locales),yes) + CONFARGS += --enable-clocale=gnu +endif + +ifeq ($(with_cxx)-$(with_debug),yes-yes) + CONFARGS += --enable-libstdcxx-debug +endif + +ifeq ($(with_java),yes) + ifeq ($(with_java_biarch_awt),yes) + CONFARGS += --enable-java-awt=$(shell echo $(foreach p,$(java_awt_peers),$(p)-default) | tr ' ' ,) + else + CONFARGS += --enable-java-awt=$(shell echo $(foreach p,$(java_awt_peers),$(p)) | tr ' ' ,) + endif + ifneq (,$(findstring gtk,$(java_awt_peers))) + CONFARGS += --enable-gtk-cairo + endif + ifeq ($(with_java_plugin),yes) + CONFARGS += --enable-plugin + endif + ifeq ($(PKGSOURCE),gcc-snapshot) + CONFARGS += --with-java-home=/$(PF)/jre + else + CONFARGS += --with-java-home=/$(PF)/lib/jvm/java-1.4.2-gcj-$(BASE_VERSION)-1.4.2.0/jre + endif +endif + +ifeq ($(with_objc)-$(with_objc_gc),yes-yes) + CONFARGS += --enable-objc-gc +endif + +ifeq ($(with_fortran),yes) + CONFARGS += --enable-mpfr +endif + +ifneq ($(with_mudflap),yes) + CONFARGS += --disable-libmudflap +endif + +ifeq ($(findstring x86_64-linux,$(DEB_TARGET_GNU_TYPE)),x86_64-linux) + ifneq ($(biarch32),yes) + CONFARGS += --disable-multilib + endif +endif + +ifeq ($(findstring powerpc-linux,$(DEB_TARGET_GNU_TYPE)),powerpc-linux) + ifeq ($(biarch),yes) + CONFARGS += --disable-softfloat \ + --enable-targets=powerpc-linux,powerpc64-linux --with-cpu=default32 + else + CONFARGS += --disable-multilib + endif +endif + +ifneq (,$(findstring softfloat,$(DEB_TARGET_GNU_CPU))) + CONFARGS += --with-float=soft +endif + +ifneq (,$(findstring arm-vfp,$(DEB_TARGET_GNU_CPU))) + CONFARGS += --with-fpu=vfp +endif + +ifeq ($(DEB_TARGET_GNU_CPU),$(findstring $(DEB_TARGET_GNU_CPU),m68k)) + CONFARGS += --disable-werror +endif +CONFARGS += --disable-werror + +ifeq ($(findstring sparc-linux,$(DEB_TARGET_GNU_TYPE)),sparc-linux) + ifeq ($(biarch),yes) + CONFARGS += --with-cpu=v8 + endif +endif + +ifeq ($(DEB_TARGET_ARCH_OS),linux) + ifneq (,$(findstring $(DEB_TARGET_ARCH), alpha powerpc ppc64 s390 s390x sparc sparc64)) + ifeq ($(DEB_TARGET_ARCH),alpha) + glibc_version := $(shell dpkg -s libc6.1 | awk '/^Version:/ {print $$2}') + else + glibc_version := $(shell dpkg -s libc6 | awk '/^Version:/ {print $$2}') + endif + with_ldbl128 := $(shell dpkg --compare-versions $(glibc_version) gt 2.3.99 && echo yes) + ifeq ($(with_ldbl128),yes) + CONFARGS += --with-long-double-128 + endif + endif +endif + +ifeq ($(findstring ia64-linux,$(DEB_TARGET_GNU_TYPE)),ia64-linux) + CONFARGS += --with-system-libunwind +endif + +ifeq ($(findstring i486,$(DEB_TARGET_GNU_TYPE)),i486) + # conflicts with biarch builds, see cpu-default-i486 patch + #CONFARGS += --with-arch=i486 +endif + +ifeq ($(PKGSOURCE),gcc-snapshot) + ifeq ($(findstring --disable-werror, $(CONFARGS)),) + CONFARGS += --disable-werror + endif +else + CONFARGS += --enable-checking=release +endif + +ifndef DEB_CROSS + CONFARGS += $(TARGET_ALIAS) +else + CONFARGS += \ + --program-prefix=$(TARGET_ALIAS)- \ + --includedir=/$(PF)/$(DEB_TARGET_GNU_TYPE)/include \ + --build=$(DEB_BUILD_GNU_TYPE) \ + --host=$(DEB_HOST_GNU_TYPE) \ + --target=$(TARGET_ALIAS) +endif + +ifeq ($(with_bootstrap),) + # no profiledbootstrap on the following architectures + # - m68k: we're happy that it builds at all + # - ia64: doesn't work, see PR16108 + # - hppa: when using gcc-3.3.4 as stage1 compiler, nearly all of the + # tests in the libstdc++-v3 testsuite fail + no_profiled_bs_archs := hppa ia64 m68k + ifneq (,$(findstring $(DEB_TARGET_GNU_CPU),$(no_profiled_bs_archs))) + bootstrap_target = bootstrap-lean + else + bootstrap_target = profiledbootstrap + endif +endif +bootstrap_target = bootstrap-lean + +# Increase the timeout for one testrun on slow architectures +ifeq ($(DEB_TARGET_GNU_CPU), $(findstring $(DEB_TARGET_GNU_CPU),arm armeb hppa m68k sparc)) + DEJAGNU_TIMEOUT=600 +else + DEJAGNU_TIMEOUT=450 +endif +ifeq ($(DEB_TARGET_GNU_SYSTEM),gnu) + DEJAGNU_TIMEOUT=900 +endif + +DEJAGNU_RUNS = +ifeq ($(with_ssp),yes) + ifeq ($(with_ssp_default),yes) + DEJAGNU_RUNS += -fno-stack-protector + else + DEJAGNU_RUNS += -fstack-protector + endif +endif +ifeq ($(with_32bit_check),yes) + DEJAGNU_RUNS += -m32 +endif +ifeq ($(with_64bit_check),yes) + DEJAGNU_RUNS += -m64 +endif +# the builds already take that long +ifneq (,$(findstring $(DEB_TARGET_GNU_CPU),arm m68k)) + DEJAGNU_RUNS = +endif + +ifneq (,$(DEJAGNU_RUNS)) + RUNTESTFLAGS = RUNTESTFLAGS="--target_board=unix\{,$(shell echo $(DEJAGNU_RUNS) | tr ' ' ,)\}" +endif + +default: build + +configure: $(configure_dependencies) + +$(configure_dummy_stamp): + touch $(configure_dummy_stamp) + +$(configure_stamp): + dh_testdir + : # give information about the build process + @echo "------------------------ Build process variables ------------------------" + @echo "Package source: $(PKGSOURCE)" + @echo "GCC version: $(GCC_VERSION)" + @echo "Base Debian version: $(BASE_VERSION)" + @echo -e "Configured with: $(foreach i,$(CONFARGS),$(i)\n\t)" +ifdef DEB_CROSS + @echo "Building cross compiler for $(DEB_TARGET_ARCH)" +endif + @echo "Using shell $(SHELL)" + @echo "Architecture: $(DEB_TARGET_ARCH) (GNU: $(TARGET_ALIAS))" + @echo "CPPFLAGS: $(CPPFLAGS)" + @echo "CFLAGS: $(CFLAGS)" + @echo "LDFLAGS: $(LDFLAGS)" + @echo "BOOT_CFLAGS: $(BOOT_CFLAGS)" + @echo "DEBIAN_BUILDARCH: $(DEBIAN_BUILDARCH)" + @echo "Install prefix: /$(PF)" +ifeq ($(biarch),yes) + @echo "Will build the biarch compilers (32/64, defaulting to 32bit)" +else + ifeq ($(biarch32),yes) + @echo "Will build the biarch compilers (64/32, defaulting to 64bit)" + else + @echo "Will not build the biarch compilers" + endif +endif + +ifeq ($(with_cxx),yes) + @echo "Will build the C++ compiler" +else + @echo "Will not build the C++ compiler: $(with_cxx)" +endif +ifeq ($(with_objc),yes) + @echo "Will build the ObjC compiler." + ifeq ($(with_objc_gc),yes) + @echo "Will build the extra ObjC runtime for garbage collection." + else + @echo "Will not build the extra ObjC runtime for garbage collection." + endif +else + @echo "Will not build the ObjC compiler: $(with_objc)" +endif +ifeq ($(with_objcxx),yes) + @echo "Will build the Obj-C++ compiler" +else + @echo "Will not build the Obj-C++ compiler: $(with_objcxx)" +endif +ifeq ($(with_fortran),yes) + @echo "Will build the Fortran 95 compiler." +else + @echo "Will not build the Fortran 95 compiler: $(with_fortran)" +endif +ifeq ($(with_java),yes) + @echo "Will build the Java compiler." +else + @echo "Will not build the Java compiler: $(with_java)" +endif +ifeq ($(with_pascal),yes) + @echo "Will build the Pascal compiler." +else + @echo "Will not build the Pascal compiler: $(with_pascal)" +endif +ifeq ($(with_ada),yes) + @echo "Will build the Ada compiler." + ifeq ($(with_libgnat),yes) + @echo "Will build the shared Ada libraries." + else + @echo "Will not build the shared Ada libraries." + endif +else + @echo "Will not build the Ada compiler: $(with_ada)" +endif +ifeq ($(with_treelang),yes) + @echo "Will build the Treelang compiler." +else + @echo "Will not build the Treelang compiler: $(with_treelang)" +endif +ifeq ($(with_libffi),yes) + @echo "Will build the FFI library." +else + @echo "Will not build the FFI library: $(with_libffi)" +endif +ifeq ($(with_ssp),yes) + @echo "Will build with SSP support." +else + @echo "Will build without SSP support: $(with_ssp)" +endif +ifeq ($(with_check),yes) + @echo "Will run the testsuite." + ifeq ($(biarch),yes) + @echo 'Will run the testsuite with -m64: $(with_64bit_check)' + endif + ifeq ($(biarch32),yes) + @echo 'Will run the testsuite with -m32: $(with_32bit_check)' + endif +else + @echo "Will not run the testsuite: $(with_check)" +endif +ifeq ($(with_nls),yes) + @echo "Will enable national language support." +else + @echo "Will disable national language support: $(with_nls)" +endif + @echo "-----------------------------------------------------------------------------" + @echo "" +ifeq ($(with_check),yes) + @if echo "spawn true" | /usr/bin/expect -f - >/dev/null; then \ + : ; \ + else \ + echo "expect is failing on your system with the above error, which means the GCC"; \ + echo "testsuite will fail. Please resolve the above issues and retry the build."; \ + echo "-----------------------------------------------------------------------------"; \ + exit 1; \ + fi +endif + rm -f $(configure_stamp) $(build_stamp) + : # generate debian/README.Debian + cat debian/README $(patch_stamp) > debian/README.Debian + + rm -rf $(builddir) + mkdir $(builddir) + + : # configure + cd $(builddir) \ + && PATH=$(PWD)/bin:$$PATH \ + CC="$(CC)" \ + $(SET_SHELL) \ + LD_LIBRARY_PATH=$${LD_LIBRARY_PATH:+$$LD_LIBRARY_PATH:}$(builddir)/gcc/ada/rts \ + ../src/configure $(CONFARGS) + + mkdir -p $(builddir)/gcc + ( \ + echo '#define __$(subst -,_,$(DEB_TARGET_GNU_TYPE))__'; \ + echo ''; \ + echo ' { "", "$(DEB_TARGET_GNU_TYPE)"},'; \ + cat debian/multiarch.inc; \ + ) > $(builddir)/gcc/multiarch.inc + cp -p $(builddir)/gcc/multiarch.inc $(srcdir)/gcc/ + + touch $(configure_stamp) + +build: $(build_dependencies) + +$(build_dummy_stamp): + touch $(build_dummy_stamp) + +$(build_stamp): $(configure_stamp) + dh_testdir + rm -f bootstrap-protocol +ifndef DEB_CROSS + : # build native compiler + ( \ + set +e; \ + PATH=$(PWD)/bin:$$PATH \ + $(SET_SHELL) \ + $(MAKE) -C $(builddir) $(NJOBS) $(bootstrap_target) \ + CC="$(CC)" \ + CFLAGS="$(CFLAGS)" \ + BOOT_CFLAGS="$(BOOT_CFLAGS)" \ + LDFLAGS="$(LDFLAGS)" \ + $(STAGE1_CFLAGS) \ + ; \ + echo $$? > status; \ + ) 2>&1 | tee bootstrap-protocol + s=`cat status`; rm -f status; test $$s -eq 0 +else + : # build cross compiler for $(TARGET_ALIAS) + ( \ + set +e; \ + PATH=$(PWD)/bin:$$PATH \ + $(MAKE) -C $(builddir) $(NJOBS) \ + CC="$(CC)" \ + CFLAGS="$(CFLAGS)" \ + BOOT_CFLAGS="$(BOOT_CFLAGS)" \ + LDFLAGS="$(LDFLAGS)" \ + ; \ + echo $$? > status; \ + ) 2>&1 | tee bootstrap-protocol + s=`cat status`; rm -f status; test $$s -eq 0 +endif + -chmod 755 $(srcdir)/contrib/warn_summary + if [ -x $(srcdir)/contrib/warn_summary ]; then \ + rm -f bootstrap-summary; \ + $(srcdir)/contrib/warn_summary bootstrap-protocol \ + > bootstrap-summary; \ + fi + + touch $(build_stamp) + +ifeq ($(versioned_packages),yes) + hppa64_configure_flags += --program-suffix=-$(BASE_VERSION) +endif + +$(configure_hppa64_stamp): $(build_stamp) + dh_testdir + rm -f $(configure_hppa64_stamp) $(build_hppa64_stamp) + rm -rf $(builddir_hppa64) + mkdir $(builddir_hppa64) + : # configure + cd $(builddir_hppa64) && \ + PATH=$(PWD)/bin:$$PATH \ + $(SET_SHELL) \ + CC="$(builddir)/gcc/xgcc -B$(builddir)/gcc/" \ + ../src/configure \ + --enable-languages=c \ + --prefix=/$(PF) \ + --libexecdir=/$(libexecdir) \ + --disable-shared \ + --disable-nls \ + --disable-threads \ + --disable-libffi \ + --disable-libgomp \ + --disable-libmudflap \ + --disable-libssp \ + --with-as=/usr/bin/hppa64-linux-gnu-as \ + --with-ld=/usr/bin/hppa64-linux-gnu-ld \ + --includedir=/usr/hppa64-linux-gnu/include \ + --host=hppa-linux-gnu \ + --build=hppa-linux-gnu \ + --target=hppa64-linux-gnu + + mkdir -p $(builddir_hppa64)/gcc + ( \ + echo '#define __$(subst -,_,hppa64-linux-gnu)__'; \ + echo ''; \ + echo ' { "", "hppa64-linux-gnu"},'; \ + ) > $(builddir_hppa64)/gcc/multiarch.inc + cp -p $(builddir_hppa64)/gcc/multiarch.inc $(srcdir)/gcc/ + + touch $(configure_hppa64_stamp) + +$(build_hppa64_stamp): $(configure_hppa64_stamp) + PATH=$(PWD)/bin:$$PATH \ + $(SET_SHELL) \ + $(MAKE) -C $(builddir_hppa64) $(NJOBS) \ + CC="$(builddir)/gcc/xgcc -B$(builddir)/gcc/" \ + CFLAGS="$(CFLAGS)" \ + BOOT_CFLAGS="$(BOOT_CFLAGS)" LDFLAGS="$(LDFLAGS)" + touch $(build_hppa64_stamp) + +$(configure_ia6432_stamp): $(build_stamp) + dh_testdir + rm -f $(configure_ia6432_stamp) $(build_ia6432_stamp) + rm -rf $(builddir_ia6432) + mkdir $(builddir_ia6432) + : # configure + cd $(builddir_ia6432) && \ + PATH=$(PWD)/bin:$$PATH \ + $(SET_SHELL) \ + CC="$(builddir)/gcc/xgcc -B$(builddir)/gcc/" \ + ../src/configure \ + --enable-languages=c \ + --prefix=/$(PF) \ + --libexecdir=/$(libexecdir) \ + --disable-nls \ + --disable-libmudflap \ + --program-suffix=-$(BASE_VERSION) \ + --host=ia64-linux-gnu \ + --build=ia64-linux-gnu \ + --target=i486-linux-gnu + touch $(configure_ia6432_stamp) + +$(build_ia6432_stamp): $(configure_ia6432_stamp) + PATH=$(PWD)/bin:$$PATH \ + $(SET_SHELL) \ + $(MAKE) -C $(builddir_ia6432) $(NJOBS) \ + CC="$(builddir)/gcc/xgcc -B$(builddir)/gcc/" \ + CFLAGS="$(CFLAGS)" \ + BOOT_CFLAGS="$(BOOT_CFLAGS)" LDFLAGS="$(LDFLAGS)" + touch $(build_ia6432_stamp) + + +MANUALS = \ + $(srcdir)/gcc/doc/cpp.texi \ + $(srcdir)/gcc/doc/cppinternals.texi \ + $(srcdir)/gcc/doc/gcc.texi \ + $(srcdir)/gcc/doc/gccint.texi +ifeq ($(with_fortran),yes) + MANUALS += $(srcdir)/gcc/fortran/gfortran.texi +endif +ifeq ($(with_java),yes) + MANUALS += $(srcdir)/gcc/java/gcj.texi +endif +ifeq ($(with_treelang),yes) + MANUALS += $(srcdir)/gcc/treelang/treelang.texi +endif +ifeq ($(with_ada),yes) + MANUALS += \ + $(builddir)/gcc/doc/gnat_ugn_unw.texi \ + $(srcdir)/gcc/ada/gnat_rm.texi \ + $(srcdir)/gcc/ada/gnat-style.texi +endif +ifeq ($(with_pascal),yes) + MANUALS += \ + $(srcdir)/gcc/p/doc/en/gpc.texi \ + $(srcdir)/gcc/p/doc/en/gpcs.texi +endif + +html-docs: $(build_html_stamp) +#$(build_html_stamp): html-texi2html +#$(build_html_stamp): html-makeinfo +$(build_html_stamp): html-makeinfo-nosplit + +html-texi2html: + rm -rf html $(builddir)/gcc/html + mkdir $(builddir)/gcc/html + ln -s $(builddir)/gcc/html html + cd $(builddir)/gcc; \ + for manual in $(MANUALS); do \ + outname=`basename $${manual} .texi`; \ + echo "generating $$outname ..."; \ + texi2html -number -split chapter \ + -I $(srcdir)/gcc/doc/include \ + -I $(srcdir)/gcc/p/doc \ + -I $(srcdir)/gcc/p/doc/generated \ + -I `dirname $${manual}` \ + -I $(builddir)/gcc \ + -subdir html \ + $${manual}; \ + done + +html-makeinfo: + rm -rf html + mkdir html + cd $(builddir)/gcc; \ + for manual in $(MANUALS); do \ + manual=`find $(srcdir) -name $${file}.texi`; \ + outname=`basename $${manual} .texi`; \ + echo "generating $$outname ..."; \ + if [ "$${manual}" ]; then \ + makeinfo --html --number-sections \ + -I $(srcdir)/gcc/doc/include -I `dirname $${manual}` \ + -I $(srcdir)/gcc/p/doc \ + -I $(srcdir)/gcc/p/doc/generated \ + -I $(builddir)/gcc \ + -o $${outname} \ + $${manual}; \ + fi; \ + done + +html-makeinfo-nosplit: + rm -rf html + mkdir html + cd $(builddir)/gcc; \ + for manual in $(MANUALS); do \ + outname=`basename $${manual} .texi`.html; \ + echo "generating $$outname ..."; \ + makeinfo --html --number-sections --no-split \ + -I $(srcdir)/gcc/doc/include -I `dirname $${manual}` \ + -I $(srcdir)/gcc/p/doc \ + -I $(srcdir)/gcc/p/doc/generated \ + -I $(builddir)/gcc \ + -o $(PWD)/html/$${outname} \ + $${manual}; \ + done + +# start the script only on architectures known to have slow autobilders ... +logwatch_archs := arm armeb m68k mips mipsel sparc +ifeq ($(DEB_HOST_GNU_CPU), $(findstring $(DEB_HOST_GNU_CPU),$(logwatch_archs))) + start_logwatch = yes +endif +ifeq ($(DEB_HOST_GNU_SYSTEM),gnu) + start_logwatch = yes +endif + +check: $(check_stamp) #$(check_inst_stamp) +$(check_stamp): $(build_stamp) + rm -f test-protocol + +ifeq ($(locale_data),generate) + : # build locales needed by libstdc++ testsuite + rm -rf locales + mkdir locales + chmod +x debian/locale-gen + debian/locale-gen +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.pid \ + -m '\ntestsuite still running ...\n' \ + test-protocol \ + $(builddir)/gcc/testsuite/{gcc,g++,g77,objc,obj-c++}.log \ + $(builddir)/gcc/testsuite/ada/acats/acats.log \ + $(builddir)/gcc/p/test/test_log \ + $(buildlibdir)/libstdc++-v3/testsuite/libstdc++-v3.log \ + $(buildlibdir)/libjava/testsuite/libjava.log \ + $(buildlibdir)/libmudflap/testsuite/libmudflap.log \ + & +endif + +ifeq ($(with_ada),yes) + chmod +x debian/acats-killer.sh + -debian/acats-killer.sh -p $(builddir)/acats-killer.pid \ + $(builddir)/gcc/testsuite/ada/acats/acats.log \ + $(builddir)/gcc/testsuite/g++.log \ + & +endif + +ifeq ($(with_ada),yes) +ifneq ($(PKGSOURCE),gcc-snapshot) +# seems to be necessary for all archs +# see above, hppa & gnatlib-shared-dual target +# ifeq ($(with_libgnat_shared_dual),yes) + if [ ! -f $(builddir)/gcc/ada/rts/libgnat-$(GNAT_SONAME).so ]; then \ + ln -sf libgnat-$(GNAT_SONAME).so.1 \ + $(builddir)/gcc/ada/rts/libgnat-$(GNAT_SONAME).so; \ + fi + if [ ! -f $(builddir)/gcc/ada/rts/libgnarl-$(GNAT_SONAME).so ]; then \ + ln -sf libgnarl-$(GNAT_SONAME).so.1 \ + $(builddir)/gcc/ada/rts/libgnarl-$(GNAT_SONAME).so; \ + fi +# endif +endif +endif + + echo "Running testsuite ..." + -$(ULIMIT_M); \ + $(SET_SHELL) \ + $(SET_LOCPATH) \ + EXTRA_TEST_PFLAGS=-g0 \ + DEJAGNU_TIMEOUT=$(DEJAGNU_TIMEOUT) \ + $(MAKE) -C $(checkdir) -k $(NJOBS_CHECK) \ + check $(RUNTESTFLAGS) 2>&1 | tee test-protocol + + -ps aux | fgrep logwatch | fgrep -v fgrep + -if [ -f $(builddir)/logwatch.pid ]; then \ + kill -1 `cat $(builddir)/logwatch.pid`; \ + sleep 1; \ + kill -9 `cat $(builddir)/logwatch.pid`; \ + rm -f $(builddir)/logwatch.pid; \ + fi + -ps aux | fgrep logwatch | fgrep -v fgrep + +ifeq ($(with_ada),yes) + -if [ -f $(builddir)/acats-killer.pid ]; then \ + kill -1 `cat $(builddir)/acats-killer.pid`; \ + sleep 1; \ + kill -9 `cat $(builddir)/acats-killer.pid`; \ + rm -f $(builddir)/acats-killer.pid; \ + fi +endif + + -chmod 755 $(srcdir)/contrib/test_summary + if [ -x $(srcdir)/contrib/test_summary ]; then \ + rm -f test-summary; \ + ( \ + cd $(builddir); \ + echo '' > ts-include; \ + echo '' >> ts-include; \ + if [ -f $(builddir)/gcc/.bad_compare ]; then \ + echo 'Bootstrap comparison failure:' >> ts-include; \ + cat $(builddir)/gcc/.bad_compare >> ts-include; \ + echo '' >> ts-include; \ + echo '' >> ts-include; \ + fi; \ + echo "Build Dependencies:" >> ts-include; \ + dpkg -l binutils `echo '$(LIBC_DEP)' | awk '{print $$1}'` \ + >> ts-include; \ + echo '' >> ts-include; \ + cat ../$(patch_stamp) >> ts-include; \ + BOOT_CFLAGS="$(BOOT_CFLAGS)" \ + $(srcdir)/contrib/test_summary \ + -i ts-include -m "$(S_EMAIL)" \ + ) > raw-test-summary; \ + if [ -n "$(testsuite_tarball)" ]; then \ + echo "Test suite used: $(testsuite_srcdir)" > test-summary; \ + echo " Do not interpret the results on its own" >> test-summary; \ + echo " but compare them with the results from" >> test-summary; \ + echo " the gcc-snapshot package." >> test-summary; \ + fi; \ + sed -n '/^Mail/s/.*"\([^"][^"]*\)".*/\1/p' raw-test-summary \ + >> test-summary; \ + awk '/^cat/, /^EOF/' raw-test-summary | grep -v EOF >> test-summary; \ + if [ -f bootstrap-summary -a "$(bootstrap_target)" != profiledbootstrap ]; then \ + echo '' >> test-summary; \ + cat bootstrap-summary >> test-summary; \ + fi; \ + echo 'BEGIN test-summary'; \ + cat test-summary; \ + echo 'END test-summary'; \ + fi + + touch $(check_stamp) + +$(check_inst_stamp): $(check_stamp) + rm -f test-inst-protocol + +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 \ + -m '\ntestsuite (3.3) still running ...\n' \ + test-inst-protocol \ + check-inst/{gcc,g++,g77,objc}.log \ + & +endif + + rm -rf check-inst + mkdir check-inst + + echo "Running testsuite ..." + -$(ULIMIT_M) ; \ + $(SET_SHELL) \ + $(SET_LOCPATH) \ + EXTRA_TEST_PFLAGS=-g0 \ + DEJAGNU_TIMEOUT=$(DEJAGNU_TIMEOUT) \ + 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 + + -ps aux | fgrep logwatch | fgrep -v fgrep + if [ -f $(builddir)/logwatch-inst.pid ]; then \ + kill -1 `cat $(builddir)/logwatch-inst.pid`; \ + else \ + true; \ + fi + -ps aux | fgrep logwatch | fgrep -v fgrep + + -chmod 755 $(srcdir)/contrib/test_summary + if [ -x $(srcdir)/contrib/test_summary ]; then \ + rm -f test-inst-summary; \ + ( \ + cd check-inst; \ + echo '' > ts-include; \ + echo '' >> ts-include; \ + echo "Build Dependencies:" >> ts-include; \ + dpkg -l g++-3.3 binutils `echo '$(LIBC_DEP)' | awk '{print $$1}'` \ + >> ts-include; \ + echo '' >> ts-include; \ + echo 'Results for the installed GCC-3.3 compilers' >> ts-include; \ + $(srcdir)/contrib/test_summary \ + -i ts-include -m "$(S_EMAIL)" \ + ) > raw-test-inst-summary; \ + sed -n '/^Mail/s/.*"\([^"][^"]*\)".*/\1/p' raw-test-inst-summary \ + >> test-inst-summary; \ + awk '/^cat/, /^EOF/' raw-test-inst-summary \ + | grep -v EOF >> test-inst-summary; \ + echo 'BEGIN test-installed-summary'; \ + cat test-inst-summary; \ + echo 'END test-installed-summary'; \ + fi + + chmod 755 debian/reduce-test-diff.awk + if diff -u test-inst-summary test-summary \ + | debian/reduce-test-diff.awk > diff-summary; \ + then \ + mv -f diff-summary testsuite-comparision; \ + else \ + ( \ + echo "WARNING: New failures in gcc-3.4 compared to gcc-3.3"; \ + echo ''; \ + cat diff-summary; \ + ) > testsuite-comparision; \ + rm -f diff-summary; \ + fi + touch $(check_inst_stamp) + +clean: debian/control + dh_testdir + rm -f pxxx status + rm -f *-summary *-protocol testsuite-comparision summary-diff +ifeq ($(with_pascal),yes) + -rm -f $(srcdir)/gcc/p/doc/*info + rm -f $(srcdir)/gcc/p/test/{fjf51,fjf141aa,fjf199aa,magic,?,knownbugs/a.out} +endif + if [ -f $(srcdir)/gcc/p/config-lang.in.debian ]; then \ + mv -f $(srcdir)/gcc/p/config-lang.in.debian $(srcdir)/gcc/p/config-lang.in; \ + else true; fi + rm -f $(srcdir)/gcc/po/*.gmo + rm -f debian/lib{ffi,g2c,gcc,gcj,objc,stdc++}{-v3,[0-9]}*.{{pre,post}{inst,rm},shlibs} + fs=`echo debian/*-BV* debian/*GCJ* debian/*CXX* debian/*LC*|sort -u`; \ + for f in $$fs; do \ + [ -f $$f ] || continue; \ + f2=$$(echo $$f \ + | sed 's/BV/$(BASE_VERSION)/;s/PV/$(GPC_BASE_VERSION)/;s/CXX/$(CXX_SONAME)/;s/GCJ/$(GCJ_SONAME)/;s/LC/$(GCC_SONAME)/;s/FFI/$(FFI_SONAME)/'); \ + rm -f $$f2; \ + done + rm -f debian/shlibs.local debian/substvars.local + rm -f debian/*.debhelper + -[ -d debian/bugs ] && $(MAKE) -C debian/bugs clean + rm -f debian/README.libstdc++-baseline + rm -f debian/lib*gcj-bc.shlibs + rm -rf bin locales + rm -rf check-inst + dh_clean + +# ----------------------------------------------------------------------------- +# some abbrevations for the package names and directories; +# p_XXX is the package name, d_XXX is the package directory +# these macros are only used in the binary-* targets. + +ifeq ($(versioned_packages),yes) + pkg_ver := -$(BASE_VERSION) + gpc_pkg_ver := -$(GPC_BASE_VERSION)$(pkg_ver) +endif + +ifndef DEB_CROSS + p_base = gcc$(pkg_ver)-base + p_gcc = gcc$(pkg_ver) + p_cpp = cpp$(pkg_ver) + p_cppd = cpp$(pkg_ver)-doc + p_cxx = g++$(pkg_ver) + p_doc = gcc$(pkg_ver)-doc + p_lgcc = libgcc$(GCC_SONAME) +else + # only triggered if DEB_CROSS_INDEPENDENT set + p_base = gcc$(pkg_ver)$(cross_bin_arch)-base + p_cpp = cpp$(pkg_ver)$(cross_bin_arch) + p_gcc = gcc$(pkg_ver)$(cross_bin_arch) + p_cxx = g++$(pkg_ver)$(cross_bin_arch) +endif +p_hppa64 = gcc$(pkg_ver)-hppa64 + +d = debian/tmp +d_base = debian/$(p_base) +d_gcc = debian/$(p_gcc) +d_cpp = debian/$(p_cpp) +d_cppd = debian/$(p_cppd) +d_cxx = debian/$(p_cxx) +d_doc = debian/$(p_doc) +d_lgcc = debian/$(p_lgcc) +d_hppa64= debian/$(p_hppa64) + +common_substvars = \ + $(shell awk "{printf \"'-V%s' \", \$$0}" debian/substvars.local) + +# --------------------------------------------------------------------------- + +ifeq ($(PKGSOURCE),gcc-snapshot) + include debian/rules.d/binary-snapshot.mk +else + +ifndef DEB_CROSS +# ---------------------------------------- +# native target + +ifeq ($(with_gccbase),yes) + include debian/rules.d/binary-base.mk +endif +ifeq ($(with_libgcc),yes) + include debian/rules.d/binary-libgcc.mk +endif + +ifeq ($(with_gccmath),yes) + include debian/rules.d/binary-libgccmath.mk +endif + +ifeq ($(with_libgomp),yes) + include debian/rules.d/binary-libgomp.mk +endif + +ifeq ($(with_source),yes) + include debian/rules.d/binary-source.mk +endif + +ifeq ($(with_cdev),yes) + include debian/rules.d/binary-cpp.mk +endif + +ifeq ($(with_proto),yes) + include debian/rules.d/binary-proto.mk +endif + +ifeq ($(with_fixincl),yes) + include debian/rules.d/binary-fixincl.mk +endif + +ifeq ($(with_libmudflap),yes) + include debian/rules.d/binary-libmudflap.mk +endif + +ifeq ($(with_libssp),yes) + include debian/rules.d/binary-libssp.mk +endif + +ifeq ($(with_objcxx),yes) + include debian/rules.d/binary-objcxx.mk +endif + +ifeq ($(with_objc),yes) + include debian/rules.d/binary-objc.mk +endif +ifeq ($(with_libobjc),yes) + include debian/rules.d/binary-libobjc.mk +endif + +# include before cxx +include debian/rules.d/binary-java.mk + +ifeq ($(with_libffi),yes) + include debian/rules.d/binary-libffi.mk +endif + +ifeq ($(with_cxxdev),yes) + include debian/rules.d/binary-cxx.mk +endif +ifeq ($(with_cxx),yes) + include debian/rules.d/binary-libstdcxx.mk +endif + +ifeq ($(with_f77),yes) + include debian/rules.d/binary-f77.mk +endif + +ifeq ($(with_fortran),yes) + include debian/rules.d/binary-fortran.mk +endif + +ifeq ($(with_ada),yes) + include debian/rules.d/binary-ada.mk +endif + +ifeq ($(with_treelang),yes) + include debian/rules.d/binary-treelang.mk +endif + +ifeq ($(with_pascal),yes) + include debian/rules.d/binary-pascal.mk +endif + +ifeq ($(with_libnof),yes) + ifeq ($(DEB_TARGET_GNU_CPU),powerpc) + include debian/rules.d/binary-nof.mk + endif +endif + +# gcc must be moved/built after g77 and g++ +ifeq ($(with_cdev),yes) + include debian/rules.d/binary-gcc.mk +endif + +ifeq ($(with_hppa64),yes) + include debian/rules.d/binary-hppa64.mk +endif + +else +# ---------------------------------------- +# cross target + +ifeq ($(with_gccxbase),yes) + include debian/rules.d/binary-base.mk +endif + +ifeq ($(with_libgcc),yes) + include debian/rules.d/binary-libgcc-cross.mk +endif + +ifeq ($(with_cdev),yes) + include debian/rules.d/binary-cpp-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 ($(with_libnof),yes) + ifeq ($(DEB_TARGET_GNU_CPU),powerpc) + include debian/rules.d/binary-nof-cross.mk + endif +endif + +ifeq ($(with_cdev),yes) + include debian/rules.d/binary-gcc-cross.mk +endif + +endif +endif # ($(PKGSOURCE),gcc-snapshot) + +# ---------------------------------------------------------------------- +install: $(install_dependencies) + +$(install_dummy_stamp): $(build_dummy_stamp) + touch $(install_dummy_stamp) + +$(install_snap_stamp): $(build_stamp) + dh_testdir + dh_testroot + dh_clean -k + + : # Install directories + rm -rf $(d) + mkdir -p $(d)/$(PF) + + : # Install everything + PATH=$(PWD)/bin:$$PATH \ + $(SET_SHELL) \ + $(MAKE) -C $(builddir) \ + CFLAGS="$(CFLAGS)" \ + LDFLAGS="$(LDFLAGS)" \ + BOOT_CFLAGS="$(BOOT_CFLAGS)" \ + DESTDIR=$(PWD)/$(d) \ + infodir=/$(PF)/share/info \ + mandir=/$(PF)/share/man \ + install + + chmod 755 debian/dh_* + touch $(install_snap_stamp) + +$(install_stamp): $(build_stamp) + dh_testdir + dh_testroot + dh_clean -k -N$(p_hppa64) + if [ -f $(binary_stamp)-hppa64 ]; then \ + mv $(binary_stamp)-hppa64 saved-stamp; \ + rm -f $(binary_stamp)*; \ + mv saved-stamp $(binary_stamp)-hppa64; \ + else \ + rm -f $(binary_stamp)*; \ + fi + + : # Install directories + rm -rf $(d) + mkdir -p $(d)/$(libdir) $(d)/$(PF) $(d)/$(PF)/lib/debug +ifeq ($(biarch32),yes) + mkdir -p $(d)/$(PF)/lib32/debug +endif +ifeq ($(biarch),yes) + mkdir -p $(d)/$(PF)/lib64/debug +endif + +ifeq ($(with_java)-$(biarch32)-$(DEB_TARGET_ARCH),yes-yes-amd64) + rm -rf debian/tmp32 + $(MAKE) -C $(buildlibdir)/32/libjava \ + install DESTDIR=$(PWD)/debian/tmp32 +endif + +ifeq ($(with_java)-$(biarch32)-$(DEB_TARGET_ARCH),yes-yes-amd64) + rm -rf debian/tmp32 + $(MAKE) -C $(buildlibdir)/32/libjava \ + install DESTDIR=$(PWD)/debian/tmp32 +endif + +ifeq ($(DEB_TARGET_GNU_CPU),x86_64) + : # link lib to lib64 and $(PF)/lib to $(PF)/lib64 + : # (this works when CONFARGS contains '--disable-multilib') + ln -s $(libdir) $(d)/lib64 + mkdir -p $(d)/$(PF)/$(libdir) + ln -s $(libdir) $(d)/$(PF)/lib64 +endif + + : # Install everything + PATH=$(PWD)/bin:$$PATH \ + $(SET_SHELL) \ + $(MAKE) -C $(builddir) \ + CFLAGS="$(CFLAGS)" \ + LDFLAGS="$(LDFLAGS)" \ + BOOT_CFLAGS="$(BOOT_CFLAGS)" \ + DESTDIR=$(PWD)/$(d) \ + infodir=/$(PF)/share/info \ + mandir=/$(PF)/share/man \ + install + +ifneq ($(PKGSOURCE),gcc-snapshot) + : # remove rpath settings from binaries and shared libs + for i in $$(chrpath -k $(d)/$(PF)/bin/* $(d)/$(PF)/lib*/lib*.so.* \ + $(d)/$(PF)/lib*/gcj$(pkg_ver)*/lib*.so.* \ + 2>/dev/null | awk -F: '/RPATH=/ {print $$1}'); \ + do \ + case "$$i" in *gij-*|*libjawt*|*libjvm*) continue; esac; \ + [ -h $$i ] && continue; \ + chrpath --delete $$i; \ + echo "removed RPATH: $$i"; \ + done +endif + +ifneq (,$(findstring emul/ia32-linux, $(lib32))) + mkdir -p $(d)/$(lib32) + mv $(d)/$(PF)/lib32/* $(d)/$(lib32)/. + rmdir $(d)/$(PF)/lib32 +endif + +ifeq ($(biarch),yes) + ifeq ($(DEB_TARGET_ARCH),i386) + ifneq (,$(filter c++, $(enabled_languages))) + : # fix biarch C++ header installation + mv $(d)/$(cxx_inc_dir)/x86_64-linux/64 \ + $(d)/$(cxx_inc_dir)/i486-linux-gnu/ + rmdir $(d)/$(cxx_inc_dir)/x86_64-linux + endif + endif +endif + + : # fix '*.la' and '*.lai' files + for i in $$(find $(d) -name '*.la' -o -name '*.lai'); do \ + libdir=$$(sed -n "s,^libdir='\(.*\)'.*,\1,p" $$i); \ + [ -z "$$libdir" ] && continue; \ + libdir=$$(realpath -s $$libdir); \ + sed -e "s,^libdir='\(.*\)'.*,libdir='$$libdir'," \ + -e 's, -L$(builddir)[^ ]*,,g' \ + $$i > $$i.new; \ + if diff -u $$i $$i.new; then \ + rm -f $$i.new; \ + else \ + echo "$$i: path normalized"; \ + touch -r $$i $$i.new; \ + mv -f $$i.new $$i; \ + fi; \ + done + +ifeq ($(DEB_TARGET_ARCH),amd64) + : # fix '*.la' and '*.lai' files (don't resolve the /lib64 symlink) + for i in $$(find $(d) -name '*.la' -o -name '*.lai'); do \ + sed -e 's,/usr/lib64,/usr/lib,g' -e 's,/lib/\.\./lib64,/lib,g' \ + $$i > $$i.new; \ + if diff -u $$i $$i.new; then \ + rm -f $$i.new; \ + else \ + echo "$$i: references to lib64 fixed"; \ + touch -r $$i $$i.new; \ + mv -f $$i.new $$i; \ + fi; \ + done +endif + +ifneq ($(PKGSOURCE),gcc-snapshot) + ifneq ($(with_libgnat),yes) + rm -f $(d)/$(gcc_lib_dir)/adalib/lib*.so* + endif +endif + +ifeq ($(GFDL_INVARIANT_FREE),yes) + for i in gcc gcov; do \ + I=`echo $$i | tr a-z A-Z`; \ + sed -e "s/@NAME@/$$I$(pkg_ver)/g" -e "s/@name@/$$i$(pkg_ver)/g" \ + debian/dummy-man.1 > $(d)/$(PF)/share/man/man1/$$i.1; \ + done + cp -p debian/gccbug.1 $(d)/$(PF)/share/man/man1/$(TP)gccbug$(pkg_ver) + + ifeq ($(with_fortran),yes) + for i in g77; do \ + I=`echo $$i | tr a-z A-Z`; \ + sed -e "s/@NAME@/$$I$(pkg_ver)/g" -e "s/@name@/$$i$(pkg_ver)/g" \ + debian/dummy-man.1 > $(d)/$(PF)/share/man/man1/$$i.1; \ + done + endif + ifeq ($(with_java),yes) + for i in gcj gcjh gij jv-convert jv-scan jcf-dump grmic grmiregistry; \ + do \ + I=`echo $$i | tr a-z A-Z`; \ + sed -e "s/@NAME@/$$I$(pkg_ver)/g" -e "s/@name@/$$i$(pkg_ver)/g" \ + debian/dummy-man.1 > $(d)/$(PF)/share/man/man1/$$i.1; \ + done + endif +endif + +ifeq ($(with_pascal),yes) + : # gpc is already versioned with the gcc version. + mv $(d)/$(PF)/bin/gpc$(pkg_ver) $(d)/$(PF)/bin/gpc + mv $(d)/$(PF)/share/man/man1/gpc$(pkg_ver).1 \ + $(d)/$(PF)/share/man/man1/gpc.1 +endif +ifeq ($(versioned_packages),yes) + ifeq ($(with_pascal),yes) + ifeq ($(GFDL_INVARIANT_FREE),yes-XXXX) + for i in binobj gpc gpc-run gpidump; do \ + I=`echo $$i | tr a-z A-Z`; \ + sed -e "s/@NAME@/$$I$(gpc_pkg_ver)/g" \ + -e "s/@name@/$$i$(gpc_pkg_ver)/g" \ + debian/dummy-man.1 > $(d)/$(PF)/share/man/man1/$$i.1; \ + done + endif + ifeq ($(with_gpidump),yes) + : # rename files (versioned gpc binaries) + for i in binobj gpc gpc-run gpidump; do \ + mv $(d)/$(PF)/bin/$$i $(d)/$(PF)/bin/$$i$(gpc_pkg_ver); \ + done + : # rename files (versioned gpc man pages) + for i in binobj gpc gpc-run gpidump; do \ + mv $(d)/$(PF)/share/man/man1/$$i.1 \ + $(d)/$(PF)/share/man/man1/$$i$(gpc_pkg_ver).1; \ + done + else + : # rename files (versioned gpc binaries) + for i in binobj gpc gpc-run; do \ + mv $(d)/$(PF)/bin/$$i $(d)/$(PF)/bin/$$i$(gpc_pkg_ver); \ + done + : # rename files (versioned gpc man pages) + for i in binobj gpc gpc-run; do \ + mv $(d)/$(PF)/share/man/man1/$$i.1 \ + $(d)/$(PF)/share/man/man1/$$i$(gpc_pkg_ver).1; \ + done + endif + endif +endif + +# ifeq ($(with_ada),yes) +# : # rename files (versioned ada binaries) +# for i in ; do \ +# mv $(d)/$(PF)/bin/$$i $(d)/$(PF)/bin/$$i-$(GNAT_VERSION); \ +# mv $(d)/$(PF)/share/man/man1/$$i.1 \ +# $(d)/$(PF)/share/man/man1/$$i-$(GNAT_VERSION).1; \ +# done +# for i in $(GNAT_TOOLS); do \ +# mv $(d)/$(PF)/bin/$$i $(d)/$(PF)/bin/$$i-$(GNAT_VERSION); \ +# done +# endif + +#ifneq ($(with_libgcc),yes) +# : # needed for dependency of other shared libs +# echo 'libgcc_s $(GCC_SONAME) libgcc$(GCC_SONAME) (>= $(DEB_LIBGCC_SOVERSION))' \ +# > debian/shlibs.local +#endif + +ifdef DEB_CROSS + ifeq ($(DEB_TARGET_ARCH),s390) + : # s390 64bit stuff happens to be in s390x-linux-gnu/lib64/ + mkdir -p $(d)/$(PF)/s390-linux-gnu/lib64 + cp -a $(d)/$(PF)/s390x-linux-gnu/lib64/* $(d)/$(PF)/s390-linux-gnu/lib64/ + endif +endif + + chmod 755 debian/dh_* + +# tar cf tmp.tar debian/tmp + + touch $(install_stamp) + +$(install_hppa64_stamp): $(build_hppa64_stamp) + dh_testdir + dh_testroot + rm -rf $(d_hppa64) + mkdir -p $(d_hppa64)/$(PF) + + PATH=$(PWD)/bin:$$PATH \ + $(MAKE) -C $(builddir_hppa64) \ + CC="$(CC)" \ + CFLAGS="$(CFLAGS)" \ + BOOT_CFLAGS="$(BOOT_CFLAGS)" \ + LDFLAGS="$(LDFLAGS)" \ + DESTDIR=$(PWD)/$(d_hppa64) \ + install + +ifeq ($(versioned_packages),yes) + mv $(d_hppa64)/$(PF)/bin/hppa64-linux-gnu-gcc-$(GCC_VERSION) \ + $(d_hppa64)/$(PF)/bin/hppa64-linux-gnu-gcc$(pkg_ver) + mv $(d_hppa64)/$(PF)/bin/hppa64-linux-gnu-cpp \ + $(d_hppa64)/$(PF)/bin/hppa64-linux-gnu-cpp$(pkg_ver) +endif + +ifneq ($(PKGSOURCE),gcc-snapshot) + : # remove files not needed + rm -rf $(d_hppa64)/$(PF)/info + rm -rf $(d_hppa64)/$(PF)/man + rm -f $(d_hppa64)/$(PF)/lib/libiberty.a + rm -f $(d_hppa64)/$(PF)/bin/*{protoize,gcov,gccbug,gcc} + + rm -rf $(d_hppa64)/$(PF)/hppa64-linux-gnu/include + rm -rf $(d_hppa64)/$(PF)/hppa64-linux-gnu/lib +endif + + touch $(install_hppa64_stamp) + +# ---------------------------------------------------------------------- +# Build architecture-dependent files here. +#binary-arch: build install $(foreach i,$(arch_binaries),$(binary_stamp)-$(i)) +binary-arch: $(foreach i,$(arch_binaries),$(binary_stamp)-$(i)) +ifeq ($(with_check),yes) + @echo Done +# : # Send Email about sucessfull build. +# # cat raw-test-summary | sh; echo "Sent mail to $(S_EMAIL)" +endif + +# ---------------------------------------------------------------------- +# Build architecture-independent files here. +#binary-indep: build install $(foreach i,$(indep_binaries),$(binary_stamp)-$(i)) +binary-indep: $(foreach i,$(indep_binaries),$(binary_stamp)-$(i)) + +source diff: + @echo >&2 'source and diff are obsolete - use dpkg-source -b'; false + +binary: binary-indep binary-arch +.PHONY: build clean binary-indep binary-arch binary --- gcc-snapshot-20061001.orig/debian/.svn/text-base/fastjar.prerm.svn-base +++ gcc-snapshot-20061001/debian/.svn/text-base/fastjar.prerm.svn-base @@ -0,0 +1,16 @@ +#! /bin/sh -e + +if [ -f /usr/share/info/fastjar.info.gz ]; then + install-info --quiet --remove fastjar +else + # GFDL invariant free + true +fi + +if [ "$1" != "upgrade" ]; then + update-alternatives --quiet --remove jar /usr/bin/fastjar +fi + +#DEBHELPER# + +exit 0 --- gcc-snapshot-20061001.orig/debian/.svn/text-base/NEWS.html.svn-base +++ gcc-snapshot-20061001/debian/.svn/text-base/NEWS.html.svn-base @@ -0,0 +1,759 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +GCC 4.1 Release Series — Changes, New Features, and Fixes +- GNU Project - Free Software Foundation (FSF) + + + + + + + + + +

+GCC 4.1 Release Series
Changes, New Features, and Fixes +

+ +

Caveats

+ +

General Optimizer Improvements

+ +
    + +
  • GCC now has infrastructure for inter-procedural optimizations and + the following inter-procedural optimizations are implemented:
    +
      +
    • Profile guided inlining. When doing profile feedback + guided optimization, GCC can now use the profile to make + better informed decisions on whether inlining of a function + is profitable or not. This means that GCC will no longer + inline functions at call sites that are not executed very + often, and that functions at hot call sites are more likely + to be inlined.
      + A new parameter min-inline-recursive-probability + is also now available to throttle recursive inlining + of functions with small average recursive depths.
    • +
    • Discovery of pure and const + functions, a form of side-effects analysis. While older GCC + releases could also discover such special functions, the new + IPA-based pass runs earlier so that the results are available + to more optimizers. The pass is also simply more powerful + than the old one.
    • +
    • Analysis of references to static variables and type escape + analysis, also forms of side-effects analysis. The results + of these passes allow the compiler to be less conservative + about call-clobbered variables and references. This results + in more redundant loads being eliminated and in making static + variables candidates for register promotion.
    • +
    • Improvement of RTL-based alias analysis. The results of type + escape analysis are fed to the RTL type-based alias analyzer, + allowing it to disambiguate more memory references.
    • +
    • Interprocedural constant propagation and function versioning. + This pass looks for functions that are always called with the + same constant value for one or more of the function arguments, + and propagates those constants into those functions.
    • +
    • GCC will now eliminate static variables whose usage was + optimized out.
    • +
    • -fwhole-program --combine can now be used to + make all functions in program static allowing whole program + optimization. As an exception, the main function + and all functions marked with the new + externally_visible attribute are kept global so + that programs can link with runtime libraries.
    • +
  • + +
  • GCC can now do a form of partial dead code elimination (PDCE) that + allows code motion of expressions to the paths where the result of + the expression is actually needed. This is not always a win, so + the pass has been limited to only consider profitable cases. Here + is an example: + +
    +    int foo (int *, int *);
    +    int
    +    bar (int d)
    +    {
    +      int a, b, c;
    +      b = d + 1;
    +      c = d + 2;
    +      a = b + c;
    +      if (d)
    +        {
    +          foo (&b, &c);
    +          a = b + c;
    +        }
    +      printf ("%d\n", a);
    +    }
    +	
    + + The a = b + c can be sunk to right before the + printf. Normal code sinking will not do this, it will + sink the first one above into the else-branch of the conditional + jump, which still gives you two copies of the code.
  • + +
  • GCC now has a value range propagation pass. This allows the compiler + to eliminate bounds checks and branches. The results of the pass + can also be used to accurately compute branch probabilities.
  • + +
  • The pass to convert PHI nodes to straight-line code (a form of + if-conversion for GIMPLE) has been improved significantly. The two + most significant improvements are an improved algorithm to determine + the order in which the PHI nodes are considered, and an improvement + that allow the pass to consider if-conversions of basic blocks with + more than two predecessors.
  • + +
  • Alias analysis improvements. GCC can now differentiate between + different fields of structures in Tree-SSA's virtual operands form. + This lets stores/loads from non-overlapping structure fields not + conflict. A new algorithm to compute points-to sets was contributed + that can allows GCC to see now that p->a and + p->b, where p is a pointer to a + structure, can never point to the same field.
  • + +
  • Various enhancements to auto-vectorization:
    +
      +
    • Incrementally preserve SSA form when vectorizing.
    • +
    • Incrementally preserve loop-closed form when vectorizing.
    • +
    • Improvements to peeling for alignment: + generate better code when the misalignment of an access + is known at compile time, or when different accesses are + known to have the same misalignment, even if the + misalignment amount itself is unknown.
    • +
    • Consider dependence distance in the vectorizer.
    • +
    • Externalize generic parts of data reference analysis to + make this analysis available to other passes.
    • +
    • Vectorization of conditional code.
    • +
    • Reduction support.
    • +
  • + +
  • GCC can now partition functions in sections of hot and cold code. + This can significantly improve performance due to better instruction + cache locality. This feature works best together with profile + feedback driven optimization.
  • + +
  • A new pass to avoid saving of unneeded arguments to the stack in + vararg functions if the compiler can prove that they + will not be needed.
  • + +
  • Transition of basic block profiling to tree level implementation has + been completed. The new implementation should be considerably more + reliable (hopefully avoiding profile mismatch errors when using + -fprofile-use or -fbranch-probabilities) and + can be used to drive higher level optimizations, such as inlining. +

    + The -ftree-based-profiling command line option was + removed and -fprofile-use now implies disabling old RTL + level loop optimizer (-fno-loop-optimize). Speculative + prefetching optimization (originally enabled by + -fspeculative-prefetching) was removed.

  • +
+ + +

New Languages and Language specific improvements

+ +

C and Objective-C

+
    +
  • The old Bison-based C and Objective-C parser has been replaced + by a new, faster hand-written recursive-descent parser.
  • +
+ +

Ada

+
    +
  • The build infrastructure for the Ada runtime library and tools + has been changed to be better integrated with the rest of the build + infrastructure of GCC. This should make doing cross builds of Ada a + bit easier.
  • +
+ +

C++

+
    +
  • ARM-style name-injection of friend declarations is no longer + the default. For example: + +
    +          struct S {
    +            friend void f();
    +          };
    +
    +          void g() { f(); }
    + + will not be accepted; instead a declaration of f + will need to be present outside of the scope of + S. The new -ffriend-injection + option will enable the old behavior.
  • + +
  • + The (undocumented) extension which permitted templates with + default arguments to be bound to template template parameters with + fewer parameters has been deprecated, and will be removed in the + next major release of G++. For example: + +
    +       template <template <typename> class C>
    +       void f(C<double>) {}
    +
    +       template <typename T, typename U = int>
    +       struct S {};
    +
    +       template void f(S<double>);
    +     
    + + makes use of the deprecated extension. The reason this code is + not valid ISO C++ is that S is a template with two + parameters; therefore, it cannot be bound to C which + has only one parameter. +
  • +
+ +

Runtime Library (libstdc++)

+ +
    +
  • Optimization work: +
      +
    • A new implementation of std::search_n is provided, + better performing in case of random access iterators.
    • +
    • Added further efficient specializations of istream + functions, i.e., character array and string extractors.
    • +
    • Other smaller improvements throughout.
    • +
  • +
  • Policy-based associative containers, designed for high-performance, + flexibility and semantic safety are delivered in + ext/pb_assoc.
  • +
  • A versatile string class, __gnu_cxx::__versa_string, + providing facilities conforming to the standard requirements for + basic_string, is delivered in + <ext/vstring.h>. In particular: +
      +
    • Two base classes are provided: the default one avoids reference + counting and is optimized for short strings; the alternate one, + still uses it while improving in a few low level areas (e.g., + alignment). See vstring_fwd.h for some useful + typedefs.
    • +
    • Various algorithms have been rewritten (e.g., replace), the code + streamlined and simple optimizations added.
    • +
    • Option 3 of DR 431 is implemented for both available bases, thus + improving the support for stateful allocators.
    • +
  • +
  • As usual, many bugs have been fixed (e.g., libstdc++/13583, + libstdc++/23953) and LWG resolutions put into effect for the first + time (e.g., DR 280, DR 464, N1780 recommendations for DR 233, + TR1 Issue 6.19). The implementation status of TR1 is now tracked in + the docs in tr1.html.
  • +
+ +

Objective-C++

+
    +
  • A new language front end for Objective-C++ has been added. This language allows + users to mix the object oriented features of Objective-C with those of C++.
  • +
+ +

Java (GCJ)

+
    +
  • Core library (libgcj) updates based on GNU Classpath 0.15 - 0.19 + features (plus some 0.20 bug-fixes) +
      +
    • Networking +
        +
      • The java.net.HttpURLConnection implementation no + longer buffers the entire response body in memory. + This means that response bodies larger than available + memory can now be handled.
      • +
      +
    • + +
    • (N)IO +
        +
      • NIO FileChannel.map implementation, fast bulk put + implementation for DirectByteBuffer + (speeds up this method 10x).
      • +
      • FileChannel.lock() and + FileChannel.force() implemented.
      • +
      +
    • + +
    • XML +
        +
      • gnu.xml fix for nodes created outside a + namespace context.
      • +
      • Add support for output indenting and cdata-section-elements + output instruction in xml.transform.
      • +
      • xml.xpath corrections for cases where + elements/attributes might have been created in + non-namespace-aware mode. Corrections to handling of + XSL variables and minor conformance updates.
      • +
      +
    • + +
    • AWT +
        +
      • GNU JAWT implementation, the AWT Native Interface, + which allows direct access to native screen resources from + within a Canvas's paint method. GNU Classpath Examples + comes with a Demo, see + libjava/classpath/examples/README.
      • + +
      • awt.datatransfer updated to 1.5 with support + for FlavorEvents. The gtk+ awt peers now allow + copy/paste of text, images, URIs/files and serialized objects + with other applications and tracking clipboard change events with + gtk+ 2.6 (for gtk+ 2.4 only text and serialized objects + are supported). A GNU Classpath Examples datatransfer Demo + was added to show the new functionality.
      • + +
      • Split gtk+ awt peers event handling in two threads and + improve gdk lock handling (solves several awt lock ups).
      • + +
      • Speed up awt Image loading.
      • + +
      • Better gtk+ scrollbar peer implementation when using + gtk+ >= 2.6.
      • + +
      • Handle image loading errors correctly for gdkpixbuf + and MediaTracker.
      • + +
      • Better handle GDK lock. Properly prefix gtkpeer native + functions (cp_gtk).
      • + +
      • GdkGraphics2D has been updated to use + Cairo 0.5.x or higher.
      • + +
      • BufferedImage and GtkImage + rewrites. All image drawing operations should now work + correctly (flipping requires gtk+ >= 2.6)
      • + +
      • Future Graphics2D, image and text work is + documented at: + http://developer.classpath.org/mediation/ClasspathGraphicsImagesText +
      • + +
      • When gtk+ 2.6 or higher is installed the default log + handler will produce stack traces whenever a WARNING, + CRITICAL or ERROR message is produced.
      • +
      +
    • + +
    • Free Swing +
        +
      • The RepaintManager has been reworked for more + efficient painting, especially for large GUIs.
      • + +
      • The layout manager OverlayLayout has been + implemented, the BoxLayout has been rewritten to + make use of the SizeRequirements utility class and + caching for more efficient layout.
      • + +
      • Improved accessibility support.
      • + +
      • Significant progress has been made in the + implementation of the javax.swing.plaf.metal + package, with most UI delegates in a working state now. + Please test this with your own applications and provide feedback + that will help us to improve this package.
      • + +
      • The GUI demo (gnu.classpath.examples.swing.Demo) + has been extended to highlight various features in our + Free Swing implementation. And it includes a look and feel + switcher for Metal (default), Ocean and GNU themes.
      • + +
      • The javax.swing.plaf.multi package is now + implemented.
      • + +
      • Editing and several key actions for JTree and + JTable were implemented.
      • + +
      • Lots of icons and look and feel improvements for Free + Swing basic and metal themes were added. Try running the + GNU Classpath Swing Demo in examples + (gnu.classpath.examples.swing.Demo) with: + -Dswing.defaultlaf=javax.swing.plaf.basic.BasicLookAndFeel + or + -Dswing.defaultlaf=javax.swing.plaf.metal.MetalLookAndFeel
      • + +
      • Start of styled text capabilites for + java.swing.text.
      • + +
      • DefaultMutableTreeNode pre-order, post-order, + depth-first and breadth-first traversal enumerations + implemented.
      • + +
      • JInternalFrame colors and titlebar draw + properly.
      • + +
      • JTree is working up to par (icons, selection and + keyboard traversal).
      • + +
      • JMenus were made more compatible in visual and + programmatic behavior.
      • + +
      • JTable changeSelection and + multiple selections implemented.
      • + +
      • JButton and JToggleButton change + states work properly now.
      • + +
      • JFileChooser fixes.
      • + +
      • revalidate() and repaint() + fixes which make Free Swing much more responsive.
      • + +
      • MetalIconFactory implemented.
      • + +
      • Free Swing Top-Level Compatibility. JFrame, + JDialog, JApplet, + JInternalFrame, and JWindow are now + 1.5 compatible in the sense that you can call add() + and setLayout() directly on them, which will have + the same effect as calling getContentPane().add() + and getContentPane().setLayout().
      • + +
      • The JTree interface has been completed. + JTrees now recognizes mouse clicks and selections + work.
      • + +
      • BoxLayout works properly now.
      • + +
      • Fixed GrayFilter to actually work.
      • + +
      • Metal SplitPane implemented.
      • + +
      • Lots of Free Swing text and editor stuff work now.
      • +
      +
    • + +
    • Free RMI and Corba +
        +
      • Andrew Watson, Vice President and Technical + Director of the Object Management Group, has officially + assigned us 20 bit Vendor Minor Code Id: 0x47430 + ("GC") that will mark remote classpath-specific system + exceptions. Obtaining the VMCID means that GNU Classpath + now is a recogniseable type of node in a highly + interoperable CORBA world.
      • + +
      • GNU Classpath now includes the first working draft to + support the RMI over IIOP protocol. The current + implementation is capable of remote invocations, + transferring various Serializables and Externalizables via + RMI-IIOP protocol. It can flatten graphs and, at least + for the simple cases, is interoperable with 1.5 JDKs.
      • + +
      • org.omg.PortableInterceptor and related + functionality in other packages is now implemented: +
          +
        • The sever and client interceptors work as required + since 1.4.
        • +
        • The IOR interceptor works as needed for + 1.5.
        • +
        +
      • + +
      • The org.omg.DynamicAny package is completed + and passes the prepared tests.
      • + +
      • The Portable Object Adapter should now support the + output of the recent IDL to java compilers. These + compilers now generate servants and not CORBA objects as + before, making the output depend on the existing POA + implementation. Completing POA means that such code can + already be tried to run on Classpath. Our POA is tested + for the following usager scenarios: +
          +
        • POA converts servant to the CORBA object.
        • +
        • Servant provides to the CORBA object.
        • +
        • POA activates new CORBA object with the given Object + Id (byte array) that is later accessible for the + servant.
        • +
        • During the first call, the ServantActivator provides + servant for this and all subsequent calls on the current + object.
        • +
        • During each call, the ServantLocator provides + servant for this call only.
        • +
        • ServantLocator or ServantActivator forwards call to + another server.
        • +
        • POA has a single servant, responsible for all + objects.
        • +
        • POA has a default servant, but some objects are + explicitly connected to they specific servants.
        • +
        + The POA is verified using tests from the former + cost.omg.org.
      • + +
      • The CORBA implementation is now a working prototype + that should support features up to 1.3 inclusive. We + invite groups writing CORBA dependent applications + to try Classpath implementation, reporting any possible + bugs. + The CORBA prototype is interoperable with Sun's + implementation v 1.4, transferring object references, + primitive types, narrow and wide strings, arrays, + structures, trees, abstract interfaces and value types + (feature of CORBA 2.3) between these two platforms. + Remote exceptions are transferred and handled correctly. + The stringified object references (IORs) from various + sources are parsed as required. The transient (for + current session) and permanent (till jre restart) + redirections work. Both Little and Big Endian encoded + messages are accepted. The implementation is verified + using tests from the former cost.omg.org. The current + release includes working examples (see the examples + directory), demonstrating the client-server communication, + using either CORBA Request or IDL-based stub (usually + generated by a IDL to java compiler). These examples also + show how to use the Classpath CORBA naming service. The + IDL to java compiler is not yet written, but as our + library must be compatible, it naturally accepts the + output of other idlj implementations.
      • +
      +
    • + +
    • Misc +
        + +
      • Updated TimeZone data against Olson + tzdata2005l.
      • + +
      • Make zip and jar packages UTF-8 + clean.
      • + +
      • "native" code builds and compiles (warning free) on + Darwin and Solaris.
      • + +
      • java.util.logging.FileHandler now rotates + files.
      • + +
      • Start of a generic JDWP framework in + gnu/classpath/jdwp. This is unfinished, + but feedback (at classpath@gnu.org) from + runtime hackers is greatly appreciated. Although most of + the work is currently being done around gcj/gij + we want this framework to be as VM neutral as possible. + Early design is described in: + http://gcc.gnu.org/ml/java/2005-05/msg00260.html
      • + +
      • QT4 AWT peers, enable by giving configure + --enable-qt-peer. Included, but not ready for + production yet. They are explicitly disabled and not supported. + But if you want to help with the development of these new + features we are interested in feedback. You will have to + explicitly enable them to try them out (and they will most + likely contain bugs).
      • + +
      • Documentation fixes all over the place. See + + http://developer.classpath.org/doc/
      • +
      +
    • +
    +
  • +
+

New Targets and Target Specific Improvements

+ +

IA-32/x86-64

+
    +
  • The x86-64 medium model (that allows building applications whose data + segment exceeds 4GB) was redesigned to match latest ABI draft. New + implementation split large datastructures into separate segment + improving performance of accesses to small datastructures and also + allows linking of small model libraries into medium model programs as + long as the libraries are not accessing the large datastructures + directly. Medium model is also supported in position independent code + now. +

    + The ABI change results in partial incompatibility among medium + model objects. Linking medium model libraries (or objects) compiled + with new compiler into medium model program compiled with older will + likely result in exceeding ranges of relocations.

    +

    + Binutils 2.16.91 or newer are required for compiling medium model + now.

  • +
+ +

RS6000 (POWER/PowerPC)

+
    +
  • The AltiVec vector primitives in <altivec.h> are + now implemented in a way that puts a smaller burden on the + preprocessor, instead processing the "overloading" in the front ends. + This should benefit compilation speed on AltiVec vector code.
  • +
  • AltiVec initializers now are generated more efficiently.
  • +
  • The popcountb instruction available on POWER5 now is generated.
  • +
  • The floating point round to integer instructions available on + POWER5+ now is generated.
  • +
  • Floating point divides can be synthesized using the floating + point reciprocal estimate instructions.
  • +
  • Double precision floating point constants are initialized as single + precision values if they can be represented exactly.
  • +
+ +

S/390, zSeries and System z9

+
    +
  • Support for the IBM System z9 109 processor has been added. When + using the -march=z9-109 option, the compiler will + generate code making use of instructions provided by the extended + immediate facility.
  • +
  • Support for 128-bit IEEE floating point has been added. When using + the -mlong-double-128 option, the compiler will map the + long double data type to 128-bit IEEE floating point. + Using this option constitutes an ABI change, and requires glibc + support.
  • +
  • Various changes to improve performance of generated code have been + implemented, including: +
      +
    • In functions that do not require a literal pool, register + %r13 (which is traditionally reserved as literal pool + pointer), can now be freely used for other purposes by the + compiler.
    • +
    • More precise tracking of register use allows the compiler to + generate more efficient function prolog and epilog code in certain + cases.
    • +
    • The SEARCH STRING, COMPARE LOGICAL + STRING, and MOVE STRING instructions are now + used to implement C string functions.
    • +
    • The MOVE CHARACTER instruction with single byte + overlap is now used to implement the memset function + with non-zero fill byte.
    • +
    • The LOAD ZERO instructions are now used where + appropriate.
    • +
    • The INSERT CHARACTERS UNDER MASK, STORE + CHARACTERS UNDER MASK, and INSERT IMMEDIATE + instructions are now used more frequently to optimize bitfield + operations.
    • +
    • The BRANCH ON COUNT instruction is now used more + frequently. In particular, the fact that a loop contains a + subroutine call no longer prevents the compiler from using this + instruction.
    • +
    • The compiler is now aware that all shift and rotate instructions + implicitly truncate the shift count to six bits.
    • +
  • +
  • Back-end support for the following generic features has been + implemented: +
      +
    • The full set of + + built-in functions for atomic memory access.
    • +
    • The -fstack-protector feature.
    • +
    • The optimization pass avoiding unnecessary stores of incoming + argument registers in functions with variable argument list.
    • +
  • +
+ +

SPARC

+
    +
  • The default code model in 64-bit mode has been changed from + Medium/Anywhere to Medium/Middle on Solaris.
  • +
  • TLS support is disabled by default on Solaris prior to release 10. + It can be enabled on TLS-capable Solaris 9 versions (4/04 release + and later) by specifying --enable-tls at configure time.
  • +
+ +

MorphoSys

+
    +
  • Support has been added for this new architecture.
  • +
+ +

Obsolete Systems

+ +

Documentation improvements

+ +

Other significant improvements

+ +
    +
  • GCC can now emit code for protecting applications from stack-smashing + attacks. The protection is realized by buffer overflow detection and + reordering of stack variables to avoid pointer corruption.
  • + +
  • Some built-in functions have been fortified to protect them against + various buffer overflow (and format string) vulnerabilities. Compared + to the mudflap bounds checking feature, the safe builtins have far + smaller overhead. This means that programs built using safe builtins + should not experience any measurable slowdown.
  • +
+ + + +
+ +

Please send FSF & GNU inquiries & questions to +gnu@gnu.org. +There are also other ways +to contact the FSF.

+ +

These pages are maintained by +the GCC team.

+ +
For questions related to the use of GCC, please consult these web +pages and the GCC manuals. If +that fails, the gcc-help@gcc.gnu.org +mailing list might help.
+Please send comments on these web pages and the development of GCC to our +developer mailing list at gcc@gnu.org +or gcc@gcc.gnu.org. All of our lists +have public archives. +
+ +

Copyright (C) Free Software Foundation, Inc., +51 Franklin St, Fifth Floor, Boston, MA 02110, USA.

+

Verbatim copying and distribution of this entire article is +permitted in any medium, provided this notice is preserved.

+ +
+ Last modified 2006-03-05 + + + Valid XHTML 1.0 + + +
+ + + + + --- gcc-snapshot-20061001.orig/debian/.svn/text-base/libstdc++CXX.postinst.svn-base +++ gcc-snapshot-20061001/debian/.svn/text-base/libstdc++CXX.postinst.svn-base @@ -0,0 +1,12 @@ +#! /bin/sh -e + +case "$1" in + configure) + docdir=/usr/share/doc/libstdc++@CXX@ + if [ -d $docdir ] && [ ! -h $docdir ]; then + rm -rf $docdir + ln -s gcc-@BV@-base $docdir + fi +esac + +#DEBHELPER# --- gcc-snapshot-20061001.orig/debian/.svn/text-base/acats-killer.sh.svn-base +++ gcc-snapshot-20061001/debian/.svn/text-base/acats-killer.sh.svn-base @@ -0,0 +1,62 @@ +#! /bin/sh + +# on ia64 systems, the acats hangs in unaligned memory accesses. +# kill these testcases. + +pidfile=acats-killer.pid + +usage() +{ + echo >&2 "usage: `basename $0` [-p ] " + exit 1 +} + +while [ $# -gt 0 ]; do + case $1 in + -p) + pidfile=$2 + shift + shift + ;; + -*) + usage + ;; + *) + break + esac +done + +[ $# -eq 2 ] || usage + +logfile=$1 +stopfile=$2 +interval=30 + +echo $$ > $pidfile + +while true; do + if [ -f "$stopfile" ]; then + echo "`basename $0`: finished." + rm -f $pidfile + exit 0 + fi + sleep $interval + if [ ! -f "$logfile" ]; then + continue + fi + pids=$(ps aux | awk '/testsuite\/ada\/acats\/tests/ { print $2 }') + if [ -n "$pids" ]; then + sleep $interval + pids2=$(ps aux | awk '/testsuite\/ada\/acats\/tests/ { print $2 }') + if [ "$pids" = "$pids2" ]; then + #echo kill: $pids + kill $pids + sleep 1 + pids2=$(ps aux | awk '/testsuite\/ada\/acats\/tests/ { print $2 }') + if [ "$pids" = "$pids2" ]; then + #echo kill -9: $pids + kill -9 $pids + fi + fi + fi +done --- gcc-snapshot-20061001.orig/debian/.svn/text-base/libgccLC.postinst.svn-base +++ gcc-snapshot-20061001/debian/.svn/text-base/libgccLC.postinst.svn-base @@ -0,0 +1,12 @@ +#! /bin/sh -e + +case "$1" in + configure) + docdir=/usr/share/doc/libgcc@LC@ + if [ -d $docdir ] && [ ! -h $docdir ]; then + rm -rf $docdir + ln -s gcc-@BV@-base $docdir + fi +esac + +#DEBHELPER# --- gcc-snapshot-20061001.orig/debian/.svn/text-base/relink.svn-base +++ gcc-snapshot-20061001/debian/.svn/text-base/relink.svn-base @@ -0,0 +1,74 @@ +#! /bin/sh +# +# Relink GNAT utilities using the shared library +# + +set -e + +pwd=`pwd` + +# why? +chmod a-w build/gcc/ada/rts/*.ali + +rm -rf tmp +ln -s $pwd/build/gcc/ada/rts/libgnat.so.1 tmp/libgnat.so + +LD_LIBRARY_PATH=$pwd/tmp +export LD_LIBRARY_PATH + +PATH=$pwd/debian:$pwd/tmp:$PATH +export PATH + +echo "#! /bin/sh" > tmp/dgcc +echo "$pwd/build/gcc/xgcc -B$pwd/build/gcc/ "'"$@"' >> tmp/dgcc +chmod 755 tmp/dgcc + +echo "#! /bin/sh" > tmp/dgnatlink +echo "$pwd/build/gcc/gnatlink --GCC=dgcc "'"$@"' >> tmp/dgnatlink +chmod 755 tmp/dgnatlink + +GMCMD="$pwd/build/gcc/gnatmake -I- -Irts -I. -a -m --GNATBIND=$pwd/build/gcc/gnatbind --GNATLINK=dgnatlink --GCC=dgcc" + +#cd $pwd/build/gcc/ada +#make CFLAGS="-O2" CC="../xgcc -B../" STAGE_PREFIX=../ a-link.o a-gmem.o +#cd $pwd + +[ -f build/gcc/gnatmake.old ] || cp -p build/gcc/gnatmake build/gcc/gnatmake.old +[ -f build/gcc/gnatlink.old ] || cp -p build/gcc/gnatlink build/gcc/gnatlink.old + +make -C build/gcc/ada \ + CFLAGS='-gnatp -gnata -O2 ' \ + ADA_INCLUDES="-I." \ + CC="../xgcc -B../" \ + STAGE_PREFIX=../ \ + ../gnatmake ../gnatlink + +mv gnatmake bgnatmake +mv gnatlink bgnatlink +exit 0 + +cd build/gcc/ada +for i in ../gnatchop ../gnatcmd \ + ../gnatkr ../gnatlbr \ + ../gnatls ../gnatmake \ + ../gnatprep ../gnatpsys \ + ../gnatxref ../gnatfind +do + rm -f $i + $GMCMD -O2 -gnatp -o $i `basename $i`.adb -largs -L.. +done + +rm -f ../gnatmem +$GMCMD -O2 -gnatp -o ../gnatmem gnatmem.adb -largs -L.. a-gmem.o +$GMCMD -O2 -gnatp -o ../gnatlink gnatlink -largs -L.. a-link.o +rm -f ../gnatpsta + +make CFLAGS="-O2" CC="../xgcc -B../" a-gettty.o a-deftar.o +$GMCMD -O2 -gnatp -o ../gnatpsta gnatpsta -largs -L.. a-gettty.o a-deftar.o +rm -f ../gnatbl + +make CFLAGS="-O2" CC="../xgcc -B../" gnatbl.o +../xgcc -B../ -o ../gnatbl gnatbl.o -L.. -lgnat +rm -f ../bgnatmake ../bgnatlink ../debian/dgcc ../debian/dgnatlink + +chmod +w rts/*.ali --- gcc-snapshot-20061001.orig/debian/.svn/text-base/README.gnat.svn-base +++ gcc-snapshot-20061001/debian/.svn/text-base/README.gnat.svn-base @@ -0,0 +1,34 @@ +If you want to develop Ada programs and libraries on Debian, please +read the Debian Policy for Ada: + +http://www.ada-france.org/debian/debian-ada-policy.html + +The default Ada compiler is and always will be the package `gnat'. +Debian contains many programs and libraries compiled with it, which +are all ABI-compatible. + +Currently, in Etch and Sid, the default Ada compiler is gnat 3.15p. A +transition to gnat-4.1 has started, but is work in progress. If you +would like to help with this transition, please contact Ludovic Brenta +. + +Here are the steps in the transition: + +* link the GNAT tools dynamically against libgnat-4.1.so, not + statically. [done: 2006-03-21] + +* change the default directory for project files to + /usr/share/ada/adainclude, per the Debian Policy for Ada and the GNU + Ada Environment Specification. + +* port support for symbolic tracebacks from gnat. + +* port libgnatvsn and libgnatprj from gnat. + +* port ASIS to gnat-4.1. + +* port GLADE to gnat-4.1. + +When the transition completes, the package `gnat' will become a dummy +package requiring gnat-4.1, and then all Ada packages will be rebuilt +with the new compiler (with soname change for libraries). --- gcc-snapshot-20061001.orig/debian/.svn/text-base/gcc-BV-doc.postinst.svn-base +++ gcc-snapshot-20061001/debian/.svn/text-base/gcc-BV-doc.postinst.svn-base @@ -0,0 +1,9 @@ +#! /bin/sh -e + +install-info --quiet --section "Development" "Development" \ + /usr/share/info/gcc-@BV@.info.gz + +install-info --quiet --section "Development" "Development" \ + /usr/share/info/gccint-@BV@.info.gz + +#DEBHELPER# --- gcc-snapshot-20061001.orig/debian/.svn/text-base/gpc-PV-BV-doc.postinst.svn-base +++ gcc-snapshot-20061001/debian/.svn/text-base/gpc-PV-BV-doc.postinst.svn-base @@ -0,0 +1,12 @@ +#! /bin/sh -e + +if [ -f /usr/share/info/gpc-@PV@-@BV@.info.gz ]; then + install-info --quiet --section "Development" "Development" \ + --description="The GNU Pascal compiler." \ + /usr/share/info/gpc-@PV@-@BV@.info +else + # GFDL invariant free + true +fi + +#DEBHELPER# --- gcc-snapshot-20061001.orig/debian/.svn/text-base/libmudflap.copyright.svn-base +++ gcc-snapshot-20061001/debian/.svn/text-base/libmudflap.copyright.svn-base @@ -0,0 +1,30 @@ +This package was debianized by Matthias Klose on +Mon, 5 Jul 2004 21:29:57 +0200 + +Mudflap is part of GCC. + +Authors: Frank Ch. Eigler , Graydon Hoare + +Copyright (C) 2002, 2003, 2004 Free Software Foundation, Inc. + +GCC is free software; you can redistribute it and/or modify it under +the terms of the GNU General Public License as published by the Free +Software Foundation; either version 2, or (at your option) any later +version. + +In addition to the permissions in the GNU General Public License, the +Free Software Foundation gives you unlimited permission to link the +compiled version of this file into combinations with other programs, +and to distribute those combinations without any restriction coming +from the use of this file. (The General Public License restrictions +do apply in other respects; for example, they cover modification of +the file, and distribution when not linked into a combine +executable.) + +GCC is distributed in the hope that it will be useful, but WITHOUT ANY +WARRANTY; without even the implied warranty of MERCHANTABILITY or +FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +for more details. + +On Debian GNU/Linux systems, the complete text of the GNU General +Public License can be found in `/usr/share/common-licenses/GPL'. --- gcc-snapshot-20061001.orig/debian/.svn/text-base/gpc-PV-BV-doc.doc-base.gpc.svn-base +++ gcc-snapshot-20061001/debian/.svn/text-base/gpc-PV-BV-doc.doc-base.gpc.svn-base @@ -0,0 +1,15 @@ +Document: gpc-@PV@-@BV@-doc +Title: The GNU Pascal Compiler +Author: Various +Abstract: This manual documents how to run, install and maintain the + GNU Pascal compiler (GPC), as well as its new features and + incompatibilities, and how to report bugs. +Section: Apps/Programming + +Format: html +Index: /usr/share/doc/gcc-@BV@-base/pascal/gpc.html +Files: /usr/share/doc/gcc-@BV@-base/pascal/gpc.html + +Format: info +Index: /usr/share/info/gpc-@PV@-@BV@.info.gz +Files: /usr/share/info/gpc-@PV@-@BV@* --- gcc-snapshot-20061001.orig/debian/.svn/text-base/gcj-BV.postinst.svn-base +++ gcc-snapshot-20061001/debian/.svn/text-base/gcj-BV.postinst.svn-base @@ -0,0 +1,33 @@ +#! /bin/sh -e + +if [ -d /usr/share/doc/gcc-@BV@-base/java ] && [ ! -h /usr/share/doc/gcc-@BV@-base/java ]; then + rm -rf /usr/share/doc/gcc-@BV@-base/java + ln -s ../gcj-@BV@-base /usr/share/doc/gcc-@BV@-base/java +fi + +prio=$(echo @BV@ | sed 's/\.//g') +update-alternatives --quiet \ + --install /usr/bin/javac javac /usr/bin/gcj-wrapper-@BV@ $prio \ + @GFDL@--slave /usr/share/man/man1/javac.1.gz javac.1.gz /usr/share/man/man1/gcj-wrapper-@BV@.1.gz + +update-alternatives --quiet \ + --install /usr/bin/javah javah /usr/bin/gcjh-wrapper-@BV@ $prio \ + @GFDL@--slave /usr/share/man/man1/javah.1.gz javah.1.gz /usr/share/man/man1/gcjh-wrapper-@BV@.1.gz + +update-alternatives --quiet \ + --install /usr/bin/rmic rmic /usr/bin/grmic-@BV@ $prio \ + @GFDL@--slave /usr/share/man/man1/rmic.1.gz rmic.1.gz /usr/share/man/man1/grmic-@BV@.1.gz + +update-alternatives --quiet \ + --install /usr/bin/jarsigner jarsigner /usr/bin/gjarsigner-@BV@ $prio \ + #@GFDL@--slave /usr/share/man/man1/jarsigner.1.gz jarsigner.1.gz /usr/share/man/man1/gjarsigner-@BV@.1.gz + +if [ -f /usr/share/info/gcj-@BV@.info.gz ]; then + install-info --quiet --section "Development" "Development" \ + /usr/share/info/gcj-@BV@.info.gz +else + # GFDL invariant free + : +fi + +#DEBHELPER# --- gcc-snapshot-20061001.orig/debian/.svn/text-base/README.Bugs.svn-base +++ gcc-snapshot-20061001/debian/.svn/text-base/README.Bugs.svn-base @@ -0,0 +1,304 @@ +Reporting Bugs in the Debian/GNU GNU Compiler Setup +=================================================== + +Before reporting a bug, please +------------------------------ + +- Check that the behaviour really is a bug. Have a look into some + ANSI standards document. + +- Check the list of well known bugs: http://gcc.gnu.org/bugs.html#known + +- Try to reproduce the bug with a current GCC development snapshot. For + Debian GNU/Linux you can get a recent development snapshot from the + gcc-snapshot package in the unstable distribution. + See: http://packages.debian.org/gcc-snapshot + +- Try to find out if the bug is a regression (an older GCC version does + not show the bug). + +- Check if the bug is already reported in the bug tracking systems. + + Debian: http://bugs.debian.org/debian-gcc@lists.debian.org + Upstream: http://gcc.gnu.org/bugzilla/ + + +Where to report a bug +--------------------- + +Report bugs found in the packaging of GCC to the Debian bug tracking system. +See http://www.debian.org/Bugs/ for instructions (or use the reportbug +script). + +Debian's current policy is to closely follow the upstream development and +only apply a minimal set of patches (which are summarized in the README.Debian +document). + +If you think you have found an upstream bug, you did check the section +above ("Before reporting a bug") and are able to provide a complete bug +report (see below "How to report a bug"), then you may help the Debian +GCC package maintainers, if you report the bug upstream and then submit +a bug report to the Debian BTS and tell us the upstream report number. +This way you are able to follow the upstream bug handling as well. If in +doubt, report the bug to the Debian BTS (but read "How to report a bug" +below. + + +How to report a bug +------------------- + +There are complete instructions in the gcc info manual (found in the +gcc-doc package), section Bugs. + +The manual can be read using `M-x info' in Emacs, or if the GNU info +program is installed on your system by `info --node "(gcc)Bugs"'. Or see +the file BUGS included with the gcc source code. + +Online bug reporting instructions can be found at + + http://gcc.gnu.org/bugs.html + +[Some paragraphs taken from the above URL] + +The main purpose of a bug report is to enable us to fix the bug. The +most important prerequisite for this is that the report must be +complete and self-contained, which we explain in detail below. + +Before you report a bug, please check the list of well-known bugs and, +if possible in any way, try a current development snapshot. + +Summarized bug reporting instructions +------------------------------------- + +What we need + +Please include in your bug report all of the following items, the +first three of which can be obtained from the output of gcc -v: + + * the exact version of GCC; + * the system type; + * the options given when GCC was configured/built; + * the complete command line that triggers the bug; + * the compiler output (error messages, warnings, etc.); and + * the preprocessed file (*.i*) that triggers the bug, generated by + adding -save-temps to the complete compilation command, or, in + the case of a bug report for the GNAT front end, a complete set + of source files (see below). + +What we do not want + + * A source file that #includes header files that are left out + of the bug report (see above) + * That source file and a collection of header files. + * An attached archive (tar, zip, shar, whatever) containing all + (or some :-) of the above. + * A code snippet that won't cause the compiler to produce the + exact output mentioned in the bug report (e.g., a snippet with + just a few lines around the one that apparently triggers the + bug, with some pieces replaced with ellipses or comments for + extra obfuscation :-) + * The location (URL) of the package that failed to build (we won't + download it, anyway, since you've already given us what we need + to duplicate the bug, haven't you? :-) + * An error that occurs only some of the times a certain file is + compiled, such that retrying a sufficient number of times + results in a successful compilation; this is a symptom of a + hardware problem, not of a compiler bug (sorry) + * E-mail messages that complement previous, incomplete bug + reports. Post a new, self-contained, full bug report instead, if + possible as a follow-up to the original bug report + * Assembly files (*.s) produced by the compiler, or any binary files, + such as object files, executables, core files, or precompiled + header files + * Duplicate bug reports, or reports of bugs already fixed in the + development tree, especially those that have already been + reported as fixed last week :-) + * Bugs in the assembler, the linker or the C library. These are + separate projects, with separate mailing lists and different bug + reporting procedures + * Bugs in releases or snapshots of GCC not issued by the GNU + Project. Report them to whoever provided you with the release + * Questions about the correctness or the expected behavior of + certain constructs that are not GCC extensions. Ask them in + forums dedicated to the discussion of the programming language + + +Known Bugs and Non-Bugs +----------------------- + +[Please see /usr/share/doc/gcc/FAQ or http://gcc.gnu.org/faq.html first] + + +C++ exceptions don't work with C libraries +------------------------------------------ + +[Taken from the closed bug report #22769] C++ exceptions don't work +with C libraries, if the C code wasn't designed to be thrown through. +A solution could be to translate all C libraries with -fexceptions. +Mostly trying to throw an exception in a callback function (qsort, +Tcl command callbacks, etc ...). Example: + + #include + #include + + class A {}; + + static + int SortCondition(void const*, void const*) + { + printf("throwing 'sortcondition' exception\n"); + throw A(); + } + + int main(int argc, char *argv[]) + { + int list[2]; + + try { + SortCondition(NULL,NULL); + } catch (A) { + printf("caught test-sortcondition exception\n"); + } + try { + qsort(&list, sizeof(list)/sizeof(list[0]),sizeof(list[0]), + &SortCondition); + } catch (A) { + printf("caught real-sortcondition exception\n"); + } + return 0; +} + +Andrew Macleod responded: + +When compiled with the table driven exception handling, exception can only +be thrown through functions which have been compiled with the table driven EH. +If a function isn't compiled that way, then we do not have the frame +unwinding information required to restore the registers when unwinding. + +I believe the setjmp/longjmp mechanism will throw through things like this, +but its produces much messier code. (-fsjlj-exceptions) + +The C compiler does support exceptions, you just have to turn them on +with -fexceptions. + +Your main options are to: + a) Don't use callbacks, or at least don't throw through them. + b) Get the source and compile the library with -fexceptions (You have to + explicitly turn on exceptions in the C compiler) + c) always use -fsjlj-exceptions (boo, bad choice :-) + + +g++: "undefined reference" to static const array in class +--------------------------------------------------------- + +The following code compiles under GNU C++ 2.7.2 with correct results, +but produces the same linker error with GNU C++ 2.95.2. +Alexandre Oliva responded: + +All of them are correct. A static data member *must* be defined +outside the class body even if it is initialized within the class +body, but no diagnostic is required if the definition is missing. It +turns out that some releases do emit references to the missing symbol, +while others optimize it away. + +#include + +class Test +{ + public: + Test(const char *q); + protected: + static const unsigned char Jam_signature[4] = "JAM"; +}; + +Test::Test(const char *q) +{ + if (memcmp(q, Jam_signature, sizeof(Jam_signature)) != 0) + cerr << "Hello world!\n"; +} + +int main(void) +{ + Test::Test("JAM"); + return 0; +} + +g++: g++ causes passing non const ptr to ptr to a func with const arg + to cause an error (not a bug) +--------------------------------------------------------------------- + +Example: + +#include +void test(const char **b){ + printf ("%s\n",*b); +} +int main(void){ + char *test1="aoeu"; + test(&test1); +} + +make const +g++ const.cc -o const +const.cc: In function `int main()': +const.cc:7: passing `char **' as argument 1 of `test(const char **)' adds cv-quals without intervening `const' +make: *** [const] Error 1 + +Answer from "Martin v. Loewis" : + +> ok... maybe I missed something.. I haven't really kept up with the latest in +> C++ news. But I've never heard anything even remotly close to passing a non +> const var into a const arg being an error before. + +Thanks for your bug report. This is a not a bug in the compiler, but +in your code. The standard, in 4.4/4, puts it that way + +# A conversion can add cv-qualifiers at levels other than the first in +# multi-level pointers, subject to the following rules: +# Two pointer types T1 and T2 are similar if there exists a type T and +# integer n > 0 such that: +# T1 is cv(1,0) pointer to cv(1,1) pointer to ... cv(1,n-1) +# pointer to cv(1,n) T +# and +# T2 is cv(2,0) pointer to cv(2,1) pointer to ... cv(2,n-1) +# pointer to cv(2,n) T +# where each cv(i,j) is const, volatile, const volatile, or +# nothing. The n-tuple of cv-qualifiers after the first in a pointer +# type, e.g., cv(1,1) , cv(1,2) , ... , cv(1,n) in the pointer type +# T1, is called the cv-qualification signature of the pointer type. An +# expression of type T1 can be converted to type T2 if and only if the +# following conditions are satisfied: +# - the pointer types are similar. +# - for every j > 0, if const is in cv(1,j) then const is in cv(2,j) , +# and similarly for volatile. +# - if the cv(1,j) and cv(2,j) are different, then const is in every +# cv(2,k) for 0 < k < j. + +It is the last rule that your code violates. The standard gives then +the following example as a rationale: + +# [Note: if a program could assign a pointer of type T** to a pointer +# of type const T** (that is, if line //1 below was allowed), a +# program could inadvertently modify a const object (as it is done on +# line //2). For example, +# int main() { +# const char c = 'c'; +# char* pc; +# const char** pcc = &pc; //1: not allowed +# *pcc = &c; +# *pc = 'C'; //2: modifies a const object +# } +# - end note] + +If you question this line of reasoning, please discuss it in one of +the public C++ fora first, eg. comp.lang.c++.moderated, or +comp.std.c++. + + +cpp removes blank lines +----------------------- + +With the new cpp, you need to add -traditional to the "cpp -P" args, else +blank lines get removed. + +[EDIT ME: scan Debian bug reports and write some nice summaries ...] --- gcc-snapshot-20061001.orig/debian/.svn/text-base/gcjh-wrapper-BV.1.svn-base +++ gcc-snapshot-20061001/debian/.svn/text-base/gcjh-wrapper-BV.1.svn-base @@ -0,0 +1,20 @@ +.TH GCJH-WRAPPER 1 "June 6, 2002" gcjh-wrapper "Java User's Manual" +.SH NAME +gcjh-wrapper \- a wrapper around gcjh + +.SH SYNOPSIS +gcjh-wrapper [\fB\s-1OPTION\s0\fR] ... [\fI\s-1ARGS\s0\fR...] + +.SH DESCRIPTION + +\fBgcjh-wrapper\fR is a wrapper around gcjh(1) to be called as the java header +compiler. Options different for javah(1) and gcjh(1) are translated, +options unknown to gcjh(1) are silently ignored. + +.SH OPTIONS +See gcjh-@BV@(1) for a list of options that gcj understands. + +.SH "SEE ALSO" +.BR gcjh-@BV@(1) +, +.BR javah(1) --- gcc-snapshot-20061001.orig/debian/.svn/text-base/README.treelang.svn-base +++ gcc-snapshot-20061001/debian/.svn/text-base/README.treelang.svn-base @@ -0,0 +1,11 @@ +Treelang documentation +====================== + +The treelang compiler is called via the `gcc-3.4' command (or via +`gcc', when `gcc-3.4' is the default gcc compiler). + +Documentation for treelang is provided in info format only. You +can read docs in the info format with emacs, xemacs or the info +command: + + info treelang-3.4 --- gcc-snapshot-20061001.orig/debian/.svn/text-base/control.m4.svn-base +++ gcc-snapshot-20061001/debian/.svn/text-base/control.m4.svn-base @@ -0,0 +1,1284 @@ +divert(-1) + +define(`checkdef',`ifdef($1, , `errprint(`error: undefined macro $1 +')m4exit(1)')') +define(`errexit',`errprint(`error: undefined macro `$1' +')m4exit(1)') + +dnl The following macros must be defined, when called: +dnl ifdef(`SRCNAME', , errexit(`SRCNAME')) +dnl ifdef(`PV', , errexit(`PV')) +dnl ifdef(`ARCH', , errexit(`ARCH')) + +dnl The architecture will also be defined (-D__i386__, -D__powerpc__, etc.) + +define(`PN', `$1') +ifdef(`PRI', `', ` + define(`PRI', `$1') +') +define(`MAINTAINER', `Debian GCC Maintainers ') + +define(`ifenabled', `ifelse(index(enabled_languages, `$1'), -1, `dnl', `$2')') + +divert`'dnl +dnl -------------------------------------------------------------------------- +Source: SRCNAME +Section: devel +Priority: PRI(standard) +Maintainer: MAINTAINER +Uploaders: Matthias Klose +Standards-Version: 3.7.2 +ifdef(`TARGET',`dnl cross +Build-Depends: dpkg-dev (>= 1.13.9), dpkg-cross (>= 1.25.99), LIBC_BUILD_DEP, LIBC_BIARCH_BUILD_DEP LIBUNWIND_BUILD_DEP LIBATOMIC_OPS_BUILD_DEP m4, autoconf, autoconf2.13, automake1.9, libtool, autogen, gawk, bzip2, BINUTILS_BUILD_DEP, debhelper (>= 5.0), bison (>= 1:2.3), flex, realpath (>= 1.9.12), lsb-release, make (>= 3.81) +',`dnl native +Build-Depends: dpkg-dev (>= 1.13.9), LIBC_BUILD_DEP, LIBC_BIARCH_BUILD_DEP libunwind7-dev (>= 0.98.5-6) [ia64], libatomic-ops-dev [ia64], m4, autoconf, autoconf2.13, automake1.9, libtool, autogen, gawk, dejagnu (>= 1.4.3) [check_no_archs], expect-tcl8.3 [check_no_archs], bzip2, BINUTILS_BUILD_DEP, binutils-hppa64 (>= BINUTILSV) [hppa], debhelper (>= 5.0), gperf (>= 3.0.1), bison (>= 1:2.3), flex, gettext, texinfo (>= 4.3), zlib1g-dev, libmpfr-dev [fortran_no_archs], locales [locale_no_archs], procps [linux_gnu_archs], sharutils, PASCAL_BUILD_DEP JAVA_BUILD_DEP GNAT_BUILD_DEP realpath (>= 1.9.12), chrpath, lsb-release, dash [hppa], make (>= 3.81) +Build-Depends-Indep: doxygen (>= 1.4.2), graphviz (>= 2.2), gsfonts-x11`'JAVA_BUILD_INDEP +')dnl +Build-Conflicts: qt3-dev-tools + +ifelse(SRCNAME,gcc-snapshot,`dnl +Package: gcc-snapshot +Architecture: any +Section: devel +Priority: extra +Depends: binutils`'TS (>= ${binutils:Version}), ${dep:libcdev}, ${dep:libunwinddev}, ${shlibs:Depends} +Provides: c++abi2-dev +Description: A SNAPSHOT of the GNU Compiler Collection + This package contains a recent development SNAPSHOT of all files + contained in the GNU Compiler Collection (GCC). + . + DO NOT USE THIS SNAPSHOT FOR BUILDING DEBIAN PACKAGES! + . + This package will NEVER hit the testing distribution. It is used for + tracking gcc bugs submitted to the Debian BTS in recent development + versions of gcc. +',`dnl gcc-X.Y + +dnl default base package dependencies +define(`BASETARGET', `') +define(`BASEDEP', `gcc`'PV-base (= ${gcc:Version})') +define(`SOFTBASEDEP', `gcc`'PV-base (>= ${gcc:SoftVersion})') + +ifdef(`TARGET', `', ` +ifenabled(`gccbase',` + +Package: gcc`'PV-base +Architecture: any +Section: libs +Priority: PRI(required) +Description: The GNU Compiler Collection (base package) + This package contains files common to all languages and libraries + contained in the GNU Compiler Collection (GCC). +ifdef(`BASE_ONLY', `dnl + . + This version of GCC is not yet available for this architecture. + Please use the compilers from the gcc-snapshot package for testing. +')`'dnl +')`'dnl +')`'dnl native + +ifenabled(`gccxbase',` +dnl override default base package dependencies to cross version +dnl This creates a toolchain that doesnt depend on the system -base packages +dnl set via DEB_CROSS_INDEPENDENT=yes +define(`BASETARGET', `PV`'TS') +define(`BASEDEP', `gcc`'BASETARGET-base (= ${gcc:Version})') +define(`SOFTBASEDEP', `gcc`'BASETARGET-base (>= ${gcc:SoftVersion})') + +Package: gcc`'BASETARGET-base +Architecture: any +Section: devel +Priority: PRI(required) +Conflicts: gcc-3.5-base +Replaces: gcc-3.5-base +Description: The GNU Compiler Collection (base package) + This package contains files common to all languages and libraries + contained in the GNU Compiler Collection (GCC). +')`'dnl + +ifenabled(`java',` +Package: gcj`'PV-base +Architecture: any +Section: libs +Priority: PRI(optional) +Description: The GNU Compiler Collection (gcj base package) + This package contains files common to all java related packages + built from the GNU Compiler Collection (GCC). +')`'dnl java + +ifenabled(`ada',` +Package: gnat`'PV-base +Architecture: any +Section: libs +Priority: PRI(optional) +Description: The GNU Compiler Collection (gnat base package) + This package contains files common to all Ada related packages + built from the GNU Compiler Collection (GCC). +')`'dnl ada + +ifenabled(`libgcc',` +Package: libgcc1`'LS +Architecture: ifdef(`TARGET',`all',`any') +Section: ifdef(`TARGET',`devel',`libs') +Priority: ifdef(`TARGET',`extra',required) +Depends: BASEDEP, ${shlibs:Depends} +ifdef(`TARGET',`Provides: libgcc1-TARGET-dcv1 +',`')`'dnl +Description: GCC support library`'ifdef(`TARGET)',` (TARGET)', `') + 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. +ifdef(`TARGET', `dnl + . + This package contains files for TARGET architecture, for use in cross-compile + environment. +')`'dnl + +Package: libgcc2`'LS +Architecture: ifdef(`TARGET',`all',`m68k') +Section: ifdef(`TARGET',`devel',`libs') +Priority: ifdef(`TARGET',`extra',required) +Depends: BASEDEP, ${shlibs:Depends} +ifdef(`TARGET',`Provides: libgcc2-TARGET-dcv1 +',`')`'dnl +Description: GCC support library`'ifdef(`TARGET)',` (TARGET)', `') + 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. +ifdef(`TARGET', `dnl + . + This package contains files for TARGET architecture, for use in cross-compile + environment. +')`'dnl +')`'dnl libgcc + +ifenabled(`lib4gcc',` +Package: libgcc4`'LS +Architecture: ifdef(`TARGET',`all',`hppa') +Section: ifdef(`TARGET',`devel',`libs') +Priority: ifdef(`TARGET',`extra',required) +Depends: ifdef(`STANDALONEJAVA',`gcj`'PV-base (>= ${gcj:Version})',`BASEDEP'), ${shlibs:Depends} +Description: GCC support library`'ifdef(`TARGET)',` (TARGET)', `') + 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. +ifdef(`TARGET', `dnl + . + This package contains files for TARGET architecture, for use in cross-compile + environment. +')`'dnl +')`'dnl lib4gcc + +ifenabled(`lib64gcc',` +Package: lib64gcc1`'LS +Architecture: ifdef(`TARGET',`all',`biarch64_archs') +Section: ifdef(`TARGET',`devel',`libs') +Priority: ifdef(`TARGET',`extra',PRI(optional)) +Depends: BASEDEP, ${dep:libcbiarch} +ifdef(`TARGET',`Provides: lib64gcc1-TARGET-dcv1 +',`')`'dnl +Conflicts: libgcc`'GCC_SO`'LS (<= 1:3.3-0pre9) +Description: GCC support library`'ifdef(`TARGET)',` (TARGET)', `') (64bit) + 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. +ifdef(`TARGET', `dnl + . + This package contains files for TARGET architecture, for use in cross-compile + environment. +')`'dnl +')`'dnl lib64gcc + +ifdef(`TARGET', `', `dnl +ifenabled(`lib32gcc',` +Package: lib32gcc1`'LS +Architecture: biarch32_archs +Section: libs +Priority: optional +Depends: BASEDEP, ${dep:libcbiarch} +ifdef(`TARGET',`Provides: lib32gcc1-TARGET-dcv1 +',`')`'dnl +ifelse(DIST,`Ubuntu', `Replaces: ia32-libs-openoffice.org (<< 1ubuntu3)', `dnl') +Description: GCC support library (32 bit Version) + 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 +')`'dnl + +ifdef(`TARGET', `', ` +ifenabled(`libgmath',` +Package: libgccmath`'GCCMATH_SO +Architecture: i386 +Section: libs +Priority: PRI(optional) +Depends: BASEDEP, ${shlibs:Depends} +Description: GCC math support library + Support library for GCC. + +Package: lib32gccmath`'GCCMATH_SO +Architecture: amd64 +Section: libs +Priority: PRI(optional) +Depends: BASEDEP, ${shlibs:Depends} +Description: GCC math support library (32bit) + Support library for GCC. + +Package: lib64gccmath`'GCCMATH_SO +Architecture: i386 +Section: libs +Priority: PRI(optional) +Depends: BASEDEP, ${shlibs:Depends} +Description: GCC math support library (64bit) + Support library for GCC. +')`'dnl +')`'dnl native + +ifenabled(`cdev',` +Package: gcc`'PV`'TS +Architecture: any +Section: devel +Priority: ifdef(`TARGET',`extra',`PRI(standard)') +Depends: BASEDEP, cpp`'PV`'TS (= ${gcc:Version}), binutils`'TS (>= ${binutils:Version}), ${dep:libgcc}, ${dep:libssp}, ${dep:libgomp}, ${dep:libunwinddev}, ${shlibs:Depends} +Recommends: ${dep:libcdev}, libmudflap`'MF_SO`'PV-dev`'LS (>= ${gcc:Version}) +Suggests: gcc`'PV-doc (>= ${gcc:SoftVersion}), gcc`'PV-locales (>= ${gcc:SoftVersion}), ${dep:libcbiarchdev}, ${dep:libgccbiarch}, ${dep:libsspbiarch} +Provides: c-compiler`'TS +Conflicts: gcj`'PV`'TS (<< ${gcj:SoftVersion}) +Description: The GNU C compiler`'ifdef(`TARGET)',` (cross compiler for TARGET architecture)', `') + This is the GNU C compiler, a fairly portable optimizing compiler for C. +ifdef(`TARGET', `dnl + . + This package contains C cross-compiler for TARGET architecture. +')`'dnl +')`'dnl cdev + +ifenabled(`cdev',` +ifdef(`TARGET', `', ` +Package: gcc`'PV-hppa64 +Architecture: hppa +Section: devel +Priority: PRI(standard) +Depends: BASEDEP, ${dep:libcdev}, ${shlibs:Depends} +Conflicts: gcc-3.3-hppa64 (<= 1:3.3.4-5), gcc-3.4-hppa64 (<= 3.4.1-3) +Description: The GNU C compiler (cross compiler for hppa64) + This is the GNU C compiler, a fairly portable optimizing compiler for C. +')`'dnl native +')`'dnl cdev + +ifenabled(`cdev',` +Package: cpp`'PV`'TS +Architecture: any +Section: ifdef(`TARGET',`devel',`interpreters') +Priority: ifdef(`TARGET',`extra',`PRI(standard)') +Depends: BASEDEP, ${shlibs:Depends} +Suggests: gcc`'PV-locales (>= ${gcc:SoftVersion}) +Description: The GNU C preprocessor + A macro processor that is used automatically by the GNU C compiler + to transform programs before actual compilation. + . + This package has been separated from gcc for the benefit of those who + require the preprocessor but not the compiler. +ifdef(`TARGET', `dnl + . + This package contains preprocessor configured for TARGET architecture. +')`'dnl + +ifdef(`TARGET', `', ` +ifenabled(`gfdldoc',` +Package: cpp`'PV-doc +Architecture: all +Section: doc +Priority: PRI(optional) +Depends: gcc`'PV-base (>= ${gcc:SoftVersion}) +Description: Documentation for the GNU C preprocessor (cpp) + Documentation for the GNU C preprocessor in info `format'. +')`'dnl gfdldoc +')`'dnl native + +ifdef(`TARGET', `', ` +Package: gcc`'PV-locales +Architecture: all +Section: devel +Priority: PRI(optional) +Depends: SOFTBASEDEP, cpp`'PV (>= ${gcc:SoftVersion}) +Recommends: gcc`'PV (>= ${gcc:SoftVersion}) +Description: The GNU C compiler (native language support files) + Native language support for GCC. Lets GCC speak your language, + if translations are available. + . + Please do NOT submit bug reports in other languages than "C". + Always reset your language settings to use the "C" locales. +')`'dnl native +')`'dnl cdev + +ifenabled(`c++',` +ifenabled(`c++dev',` +Package: g++`'PV`'TS +Architecture: any +Section: devel +Priority: ifdef(`TARGET',`extra',`PRI(standard)') +Depends: BASEDEP, gcc`'PV`'TS (= ${gcc:Version}), libstdc++CXX_SO`'PV-dev`'LS (= ${gcc:Version}), ${shlibs:Depends} +Provides: c++-compiler`'TS, c++abi2-dev +Suggests: gcc`'PV-doc (>= ${gcc:SoftVersion}), ${dep:libcxxbiarch} +Description: The GNU C++ compiler`'ifdef(`TARGET)',` (cross compiler for TARGET architecture)', `') + This is the GNU C++ compiler, a fairly portable optimizing compiler for C++. +ifdef(`TARGET', `dnl + . + This package contains C++ cross-compiler for TARGET architecture. +')`'dnl +')`'dnl c++dev +')`'dnl c++ + +ifdef(`TARGET', `', ` +ifenabled(`mudflap',` +Package: libmudflap`'MF_SO +Architecture: any +Section: libs +Priority: PRI(optional) +Depends: BASEDEP, ${shlibs:Depends} +Description: GCC mudflap shared support libraries + The libmudflap libraries are used by GCC for instrumenting pointer and array + dereferencing operations. + +Package: lib32mudflap`'MF_SO +Architecture: biarch32_archs +Section: libs +Priority: PRI(optional) +Depends: BASEDEP, ${dep:libcbiarch}, ${shlibs:Depends} +Replaces: libmudflap0 (<< 4.1) +Description: GCC mudflap shared support libraries (32bit) + The libmudflap libraries are used by GCC for instrumenting pointer and array + dereferencing operations. + +Package: lib64mudflap`'MF_SO +Architecture: biarch64_archs +Section: libs +Priority: PRI(optional) +Depends: BASEDEP, ${dep:libcbiarch}, ${shlibs:Depends} +Replaces: libmudflap0 (<< 4.1) +Description: GCC mudflap shared support libraries (64bit) + The libmudflap libraries are used by GCC for instrumenting pointer and array + dereferencing operations. + +Package: libmudflap`'MF_SO`'PV-dev +Architecture: any +Section: libdevel +Priority: PRI(optional) +Depends: BASEDEP, libmudflap`'MF_SO (>= ${gcc:Version}), ${dep:libcdev}, ${shlibs:Depends} +Suggests: ${sug:libmudflapdev} +Description: GCC mudflap support libraries (development files) + The libmudflap libraries are used by GCC for instrumenting pointer and array + dereferencing operations. + . + This package contains the headers and the static libraries. +')`'dnl +')`'dnl native + +ifdef(`TARGET', `', ` +ifenabled(`ssp',` +Package: libssp`'SSP_SO +Architecture: any +Section: libs +Priority: PRI(standard) +Depends: BASEDEP, ${shlibs:Depends} +Description: GCC stack smashing protection library + GCC can now emit code for protecting applications from stack-smashing attacks. + The protection is realized by buffer overflow detection and reordering of + stack variables to avoid pointer corruption. + +Package: lib32ssp`'SSP_SO +Architecture: biarch32_archs +Section: libs +Priority: PRI(optional) +Depends: BASEDEP, ${dep:libcbiarch}, ${shlibs:Depends} +Replaces: libssp0 (<< 4.1) +Description: GCC stack smashing protection library (32bit) + GCC can now emit code for protecting applications from stack-smashing attacks. + The protection is realized by buffer overflow detection and reordering of + stack variables to avoid pointer corruption. + +Package: lib64ssp`'SSP_SO +Architecture: biarch64_archs +Section: libs +Priority: PRI(optional) +Depends: BASEDEP, ${dep:libcbiarch}, ${shlibs:Depends} +Replaces: libssp0 (<< 4.1) +Description: GCC stack smashing protection library (64bit) + GCC can now emit code for protecting applications from stack-smashing attacks. + The protection is realized by buffer overflow detection and reordering of + stack variables to avoid pointer corruption. +')`'dnl +')`'dnl native + +ifdef(`TARGET', `', ` +ifenabled(`libgomp',` +Package: libgomp`'GOMP_SO +Architecture: any +Section: libs +Priority: PRI(optional) +Depends: BASEDEP, ${shlibs:Depends} +Description: GCC OpenMP (GOMP) support library + GOMP is an implementation of OpenMP for the C, C++, and Fortran 95 compilers + in the GNU Compiler Collection. + +Package: lib32gomp`'GOMP_SO +Architecture: biarch32_archs +Section: libs +Priority: PRI(optional) +Depends: BASEDEP, ${dep:libcbiarch}, ${shlibs:Depends} +Description: GCC OpenMP (GOMP) support library (32bit) + GOMP is an implementation of OpenMP for the C, C++, and Fortran 95 compilers + in the GNU Compiler Collection. + +Package: lib64gomp`'GOMP_SO +Architecture: biarch64_archs +Section: libs +Priority: PRI(optional) +Depends: BASEDEP, ${dep:libcbiarch}, ${shlibs:Depends} +Description: GCC OpenMP (GOMP) support library (64bit) + GOMP is an implementation of OpenMP for the C, C++, and Fortran 95 compilers + in the GNU Compiler Collection. +')`'dnl +')`'dnl native + +ifenabled(`proto',` +Package: protoize +Architecture: any +Priority: PRI(optional) +Depends: BASEDEP, gcc`'PV (>= ${gcc:Version}), ${shlibs:Depends} +Description: Create/remove ANSI prototypes from C code + "protoize" can be used to add prototypes to a program, thus converting + the program to ANSI C in one respect. The companion program "unprotoize" + does the reverse: it removes argument types from any prototypes + that are found. +')`'dnl proto + +ifenabled(`objpp',` +ifenabled(`objppdev',` +Package: gobjc++`'PV +Architecture: any +Priority: PRI(optional) +Depends: BASEDEP, gobjc`'PV (= ${gcc:Version}), g++`'PV (= ${gcc:Version}), ${shlibs:Depends}, libobjc`'OBJC_SO (>= ${gcc:EpochVersion}) +Suggests: gcc`'PV-doc (>= ${gcc:SoftVersion}) +Provides: objc++-compiler +Description: The GNU Objective-C++ compiler + This is the GNU Objective-C++ compiler, which compiles + Objective-C++ on platforms supported by the gcc compiler. It uses the + gcc backend to generate optimized code. +')`'dnl obcppdev +')`'dnl obcpp + +ifenabled(`objc',` +ifenabled(`objcdev',` +Package: gobjc`'PV +Architecture: any +Priority: PRI(optional) +Depends: BASEDEP, gcc`'PV (= ${gcc:Version}), ${dep:libcdev}, ${shlibs:Depends}, libobjc`'OBJC_SO (>= ${gcc:EpochVersion}) +Suggests: gcc`'PV-doc (>= ${gcc:SoftVersion}) +Provides: objc-compiler +ifdef(`OBJC_GC',`Recommends: libgc-dev', `dnl') +ifdef(`__sparc__',`Conflicts: gcc`'PV-sparc64', `dnl') +Description: The GNU Objective-C compiler + This is the GNU Objective-C compiler, which compiles + Objective-C on platforms supported by the gcc compiler. It uses the + gcc backend to generate optimized code. +')`'dnl objcdev + +ifenabled(`libobjc',` +Package: libobjc`'OBJC_SO +Section: libs +Architecture: any +Priority: PRI(optional) +Depends: BASEDEP, ${shlibs:Depends} +Description: Runtime library for GNU Objective-C applications + Library needed for GNU ObjC applications linked against the shared library. +')`'dnl libobjc + +ifenabled(`lib64objc',` +Package: lib64objc`'OBJC_SO +Section: libs +Architecture: biarch64_archs +Priority: PRI(optional) +Depends: BASEDEP, ${dep:libcbiarch}, ${shlibs:Depends} +Description: Runtime library for GNU Objective-C applications (64bit) + Library needed for GNU ObjC applications linked against the shared library. +')`'dnl lib64objc + +ifenabled(`lib32objc',` +Package: lib32objc`'OBJC_SO +Section: libs +Architecture: biarch32_archs +Priority: PRI(optional) +Depends: gcc`'PV-base (>= ${gcc:Version}), ${dep:libcbiarch}, ${shlibs:Depends} +Description: Runtime library for GNU Objective-C applications (32bit) + Library needed for GNU ObjC applications linked against the shared library. +')`'dnl lib32objc +')`'dnl objc + +ifenabled(`fortran',` +ifenabled(`fdev',` +Package: gfortran`'PV +Architecture: any +Priority: PRI(optional) +Depends: BASEDEP, gcc`'PV (= ${gcc:Version}), libgfortran`'FORTRAN_SO-dev (= ${gcc:Version}), ${dep:libcdev}, ${shlibs:Depends} +Provides: fortran95-compiler +Suggests: gfortran`'PV-doc +Description: The GNU Fortran 95 compiler + This is the GNU Fortran compiler, which compiles + Fortran 95 on platforms supported by the gcc compiler. It uses the + gcc backend to generate optimized code. + +ifenabled(`gfdldoc',` +Package: gfortran`'PV-doc +Architecture: all +Section: doc +Priority: PRI(optional) +Depends: gcc`'PV-base (>= ${gcc:SoftVersion}) +Description: Documentation for the GNU Fortran compiler (gfortran) + Documentation for the GNU Fortran 95 compiler in info `format'. +')`'dnl gfdldoc +')`'dnl fdev + +ifenabled(`libfortran',` +Package: libgfortran`'FORTRAN_SO +Section: libs +Architecture: any +Priority: PRI(optional) +Depends: BASEDEP, ${shlibs:Depends} +Description: Runtime library for GNU Fortran applications + Library needed for GNU Fortran applications linked against the + shared library. + +Package: libgfortran`'FORTRAN_SO-dev +Section: libdevel +Architecture: any +Priority: PRI(optional) +Depends: BASEDEP, libgfortran`'FORTRAN_SO (>= ${gcc:Version}), ${shlibs:Depends} +Suggests: ${sug:libfortrandev} +Conflicts: libgfortran0-dev +Description: GNU Fortran library development + Headers and static libraries for gfortran. +')`'dnl libgfortran + +ifenabled(`lib64gfortran',` +Package: lib64gfortran`'FORTRAN_SO +Section: libs +Architecture: biarch64_archs +Priority: PRI(optional) +Depends: BASEDEP, ${dep:libcbiarch}, ${shlibs:Depends} +Description: Runtime library for GNU Fortran applications (64bit) + Library needed for GNU Fortran applications linked against the + shared library. +')`'dnl lib64gfortran + +ifenabled(`lib32gfortran',` +Package: lib32gfortran`'FORTRAN_SO +Section: libs +Architecture: biarch32_archs +Priority: PRI(optional) +Depends: BASEDEP, ${dep:libcbiarch}, ${shlibs:Depends} +Description: Runtime library for GNU Fortran applications (32bit) + Library needed for GNU Fortran applications linked against the + shared library. +')`'dnl lib32gfortran +')`'dnl fortran + +ifenabled(`java',` +ifenabled(`gcj',` +Package: gcj`'PV +Architecture: any +Priority: PRI(optional) +Depends: gcj`'PV-base (= ${gcj:Version}), ${dep:gcj}, ${dep:libcdev}, gij`'PV (= ${gcj:Version}), libgcj`'GCJ_SO-dev (= ${gcj:Version}), libgcj`'GCJ_SO-jar (>= ${gcj:SoftVersion}), java-common, ${shlibs:Depends} +Recommends: fastjar +Suggests: java-gcj-compat-dev +Provides: java-compiler +Conflicts: cpp-4.1 (<< 4.1.1), gcc-4.1 (<< 4.1.1), java-gcj-compat-dev (<< 1.0.56-2) +Description: The GNU compiler for Java(TM) + GCJ is a front end to the GCC compiler which can natively compile both + Java(tm) source and bytecode files. The compiler can also generate class + files. +')`'dnl gcj + +ifenabled(`libgcj',` +ifenabled(`libgcjcommon',` +Package: libgcj-common +Section: libs +Architecture: all +Priority: PRI(optional) +Depends: gcj`'PV-base (>= ${gcj:SoftVersion}) +Conflicts: classpath (<= 0.04-4) +Replaces: java-gcj-compat (<< 1.0.65-3), java-gcj-compat-dev (<< 1.0.65-3) +Description: Java runtime library (common files) + This package contains files shared by classpath and libgcj libraries. +')`'dnl libgcjcommon + +Package: gij`'PV +Priority: optional +Architecture: any +Depends: gcj`'PV-base (= ${gcj:Version}), libgcj`'GCJ_SO (= ${gcj:Version}), ${dep:prctl}, ${shlibs:Depends} +Suggests: fastjar, gcj`'PV (= ${gcj:Version}), libgcj`'GCJ_SO-awt (= ${gcj:Version}), java-gcj-compat +Provides: java-virtual-machine, java2-runtime, java1-runtime, java-runtime +Description: The GNU Java bytecode interpreter + GIJ is not limited to interpreting bytecode. It includes a class loader which + can dynamically load shared objects, so it is possible to give it the name + of a class which has been compiled and put into a shared library on the + class path. + +Package: libgcj`'GCJ_SO +Section: libs +Architecture: any +Priority: PRI(optional) +Depends: gcj`'PV-base (>= ${gcj:Version}), libgcj-common, ${shlibs:Depends} +Recommends: libgcj`'GCJ_SO-jar (>= ${gcj:SoftVersion}) +Suggests: libgcj`'GCJ_SO-dbg +Replaces: libgcj8-awt (<< 4.2-20060817) +Description: Java runtime library for use with gcj + This is the runtime that goes along with the gcj front end to + gcc. libgcj includes parts of the Java Class Libraries, plus glue to + connect the libraries to the compiler and the underlying OS. + . + To show file names and line numbers in stack traces, the packages + libgcj`'GCJ_SO-dbg and binutils are required. + +Package: libgcj`'GCJ_SO-jar +Section: libs +Architecture: all +Priority: PRI(optional) +Depends: gcj`'PV-base (>= ${gcj:SoftVersion}), libgcj`'GCJ_SO (>= ${gcj:SoftVersion}) +Conflicts: libgcj7-common +Replaces: libgcj7-common +Description: Java runtime library for use with gcj (jar files) + This is the jar file that goes along with the gcj front end to gcc. + +ifenabled(`gcjbc',` +Package: libgcj-bc +Section: libs +Architecture: any +Priority: PRI(optional) +Depends: gcj`'PV-base (>= ${gcj:Version}), libgcj`'GCJ_SO (>= ${gcj:Version}) +Description: Link time only library for use with gcj + A fake library that is used at link time only. It ensures that + binaries built with the BC-ABI link against a constant SONAME. + This way, BC-ABI binaries continue to work if the SONAME underlying + libgcj.so changes. +')`'dnl gcjbc + +Package: libgcj`'GCJ_SO-awt +Section: libs +Architecture: any +Priority: PRI(optional) +Depends: gcj`'PV-base (= ${gcj:Version}), libgcj`'GCJ_SO (= ${gcj:Version}), libgcj`'GCJ_SO-awt-gtk (= ${gcj:Version}), ${shlibs:Depends} +Suggests: libgcj`'GCJ_SO-awt-qt (= ${gcj:Version}) +Description: AWT peer runtime libraries for use with gcj + These are runtime libraries holding the AWT peer implementations + for libgcj (currently the GTK based peer library is required, the + QT bases library is optional). + +ifenabled(`gtkpeer',` +Package: libgcj`'GCJ_SO-awt-gtk +Section: libs +Architecture: any +Priority: PRI(optional) +Depends: gcj`'PV-base (= ${gcj:Version}), libgcj`'GCJ_SO-awt (= ${gcj:Version}), ${shlibs:Depends} +Description: AWT GTK peer runtime library for use with libgcj + This is the runtime library holding the GTK based AWT peer + implementation for libgcj. +')`'dnl gtkpeer + +ifenabled(`qtpeer',` +Package: libgcj`'GCJ_SO-awt-qt +Section: libs +Architecture: any +Priority: PRI(optional) +Depends: gcj`'PV-base (= ${gcj:Version}), libgcj`'GCJ_SO-awt (= ${gcj:Version}), ${shlibs:Depends} +Description: AWT QT peer runtime library for use with libgcj + This is the runtime library holding the QT based AWT peer + implementation for libgcj. +')`'dnl qtpeer + +Package: gappletviewer`'PV +Section: utils +Architecture: any +Priority: PRI(optional) +Depends: gcj`'PV-base (= ${gcj:Version}), gij`'PV (= ${gcj:Version}), libgcj`'GCJ_SO-awt (= ${gcj:Version}), ${shlibs:Depends} +Description: Standalone application to execute Java (tm) applets + gappletviewer is a standalone application to execute Java (tm) applets. + +Package: gcjwebplugin`'PV +Section: web +Architecture: any +Priority: PRI(optional) +Depends: gcj`'PV-base (= ${gcj:Version}), gappletviewer`'PV (= ${gcj:Version}), ${shlibs:Depends}, firefox | mozilla-browser | epiphany-browser | galeon | konqueror +Description: Web browser plugin to execute Java (tm) applets + gcjwebplugin is a little web browser plugin to execute Java (tm) applets. + It is targeted for Mozilla and compatible browsers that support the NPAPI. +')`'dnl libgcj + +ifenabled(`lib64gcj',` +Package: lib64gcj`'GCJ_SO +Section: libs +Architecture: biarch64_archs +Priority: PRI(optional) +Depends: gcj`'PV-base (= ${gcj:Version}), libgcj-common, ${shlibs:Depends} +Description: Java runtime library for use with gcj (64bit) + This is the runtime that goes along with the gcj front end to + gcc. libgcj includes parts of the Java Class Libraries, plus glue to + connect the libraries to the compiler and the underlying OS. + +ifenabled(`gcjbc',` +Package: lib64gcj-bc +Section: libs +Architecture: biarch64_archs +Priority: PRI(optional) +Depends: gcj`'PV-base (>= ${gcj:Version}), lib64gcj`'GCJ_SO (>= ${gcj:Version}) +Description: Link time only library for use with gcj (64bit) + A fake library that is used at link time only. It ensures that + binaries built with the BC-ABI link against a constant SONAME. + This way, BC-ABI binaries continue to work if the SONAME underlying + libgcj.so changes. +')`'dnl gcjbc +')`'dnl lib64gcj + +ifenabled(`lib32gcj',` +Package: lib32gcj`'GCJ_SO +Section: libs +Architecture: biarch32_archs +Priority: PRI(optional) +Depends: gcj`'PV-base (= ${gcj:Version}), libgcj-common, lib32stdc++`'CXX_SO`'LS, lib32z1 +Suggests: lib32gcj`'GCJ_SO-dbg +Description: Java runtime library for use with gcj (32bit) + This is the runtime that goes along with the gcj front end to + gcc. libgcj includes parts of the Java Class Libraries, plus glue to + connect the libraries to the compiler and the underlying OS. + . + To show file names and line numbers in stack traces, the packages + libgcj`'GCJ_SO-dbg and binutils are required. + +ifenabled(`gcjbc',` +Package: lib32gcj-bc +Section: libs +Architecture: biarch32_archs +Priority: PRI(optional) +Depends: gcj`'PV-base (>= ${gcj:Version}), lib32gcj`'GCJ_SO (>= ${gcj:Version}) +Description: Link time only library for use with gcj (32bit) + A fake library that is used at link time only. It ensures that + binaries built with the BC-ABI link against a constant SONAME. + This way, BC-ABI binaries continue to work if the SONAME underlying + libgcj.so changes. +')`'dnl gcjbc +')`'dnl lib32gcj + +ifenabled(`libgcjdev',` +Package: libgcj`'GCJ_SO-dev +Section: libdevel +Architecture: any +Priority: PRI(optional) +Depends: gcj`'PV-base (= ${gcj:Version}), gcj`'PV (= ${gcj:Version}), libgcj`'GCJ_SO-jar (>= ${gcj:SoftVersion}), libgcj`'GCJ_SO-awt (= ${gcj:Version}), libgcj-bc, ${pkg:gcjgtk}, ${pkg:gcjqt}, zlib1g-dev, ${shlibs:Depends} +Suggests: libgcj-doc +Provides: classpath-doc +Description: Java development headers and static library for use with gcj + These are the development headers and static libraries that go along + with the gcj front end to gcc. libgcj includes parts of the Java Class + Libraries, plus glue to connect the libraries to the compiler and the + underlying OS. + +Package: lib32gcj`'GCJ_SO-dev +Section: libdevel +Architecture: biarch32_archs +Priority: PRI(optional) +Depends: gcj`'PV-base (= ${gcj:Version}), libgcj`'GCJ_SO-dev (= ${gcj:Version}), lib32gcj-bc, lib32gcj`'GCJ_SO (= ${gcj:Version}), lib32z1-dev, ${shlibs:Depends} +Description: Java development and static library for use with gcj (32bit) + These are the development headers and static libraries that go along + with the gcj front end to gcc. libgcj includes parts of the Java Class + Libraries, plus glue to connect the libraries to the compiler and the + underlying OS. + +Package: libgcj`'GCJ_SO-dbg +Section: libdevel +Architecture: any +Priority: extra +Depends: gcj`'PV-base (= ${gcj:Version}), libgcj`'GCJ_SO (= ${gcj:Version}) +Recommends: binutils +Description: Debugging symbols for libraries provided in libgcj`'GCJ_SO-dev + The package provides debugging symbols for the libraries provided + in libgcj`'GCJ_SO-dev. + . + binutils is required to show file names and line numbers in stack traces. + +Package: lib32gcj`'GCJ_SO-dbg +Section: libdevel +Architecture: biarch32_archs +Priority: extra +Depends: gcj`'PV-base (= ${gcj:Version}), lib32gcj`'GCJ_SO (= ${gcj:Version}) +Recommends: binutils +Description: Debugging symbols for libraries provided in lib32gcj`'GCJ_SO-dev + The package provides debugging symbols for the libraries provided + in lib32gcj`'GCJ_SO-dev. + . + binutils is required to show file names and line numbers in stack traces. + +Package: libgcj`'GCJ_SO-src +Section: libdevel +Architecture: all +Priority: PRI(optional) +Depends: gcj`'PV-base (>= ${gcj:SoftVersion}), gcj`'PV (>= ${gcj:SoftVersion}), libgcj`'GCJ_SO-jar (= ${gcj:Version}) +Description: libgcj java sources for use in eclipse + These are the java source files packaged as a zip file for use in development + environments like eclipse. + +ifenabled(`gcjdoc',` +Package: libgcj-doc +Section: doc +Architecture: all +Priority: PRI(optional) +Depends: gcj`'PV-base (>= ${gcj:SoftVersion}) +Enhances: libgcj`'GCJ_SO-dev +Description: libgcj API documentation and example programs + Autogenerated documentation describing the API of the libgcj library. + Sources and precompiled example programs from the classpath library. +')`'dnl gcjdoc +')`'dnl libgcjdev +')`'dnl java + +ifenabled(`libffi',` +Package: libffi`'FFI_SO +Section: libs +Architecture: any +Priority: PRI(optional) +Depends: gcc`'PV`'-base (= ${gcc:Version}), ${shlibs:Depends} +Description: Foreign Function Interface library runtime + A foreign function interface is the popular name for the interface that + allows code written in one language to call code written in another + language. + +Package: lib32ffi`'FFI_SO +Section: libs +Architecture: biarch32_archs +Priority: PRI(optional) +Depends: gcc`'PV`'-base (= ${gcc:Version}), ${dep:libcbiarch}, ${shlibs:Depends} +Replaces: libffi4 (<< 4.1) +Description: Foreign Function Interface library runtime (32bit) + A foreign function interface is the popular name for the interface that + allows code written in one language to call code written in another + language. + +Package: lib64ffi`'FFI_SO +Section: libs +Architecture: biarch64_archs +Priority: PRI(optional) +Depends: gcc`'PV`'-base (= ${gcc:Version}), ${dep:libcbiarch}, ${shlibs:Depends} +Replaces: libffi4 (<< 4.1) +Description: Foreign Function Interface library runtime (64bit) + A foreign function interface is the popular name for the interface that + allows code written in one language to call code written in another + language. + +Package: libffi`'FFI_SO-dev +Section: libdevel +Architecture: any +Priority: PRI(optional) +Depends: gcc`'PV`'-base (= ${gcc:Version}), libffi`'FFI_SO (>= ${gcc:Version}) +Suggests: ${sug:libffidev} +Provides: libffi-dev +Conflicts: libffi1-dev, libffi2-dev, libffi3-dev, libffi-dev +Description: Foreign Function Interface library (development files) + This package contains the headers and static library files necessary for + building programs which use libffi. + . + A foreign function interface is the popular name for the interface that + allows code written in one language to call code written in another + language. +')`'dnl libffi + +ifenabled(`c++',` +ifenabled(`libcxx',` +Package: libstdc++CXX_SO`'LS +Architecture: ifdef(`TARGET',`all',`any') +Section: ifdef(`TARGET',`devel',`libs') +Priority: ifdef(`TARGET',`extra',PRI(required)) +Depends: BASEDEP, ${shlibs:Depends} +ifdef(`TARGET',`Provides: libstdc++CXX_SO-TARGET-dcv1 +',`')`'dnl +Conflicts: scim (<< 1.4.2-1) +Description: The GNU Standard C++ Library v3`'ifdef(`TARGET)',` (TARGET)', `') + This package contains an additional runtime library for C++ programs + built with the GNU compiler. + . + libstdc++-v3 is a complete rewrite from the previous libstdc++-v2, which + was included up to g++-2.95. The first version of libstdc++-v3 appeared + in g++-3.0. +ifdef(`TARGET', `dnl + . + This package contains files for TARGET architecture, for use in cross-compile + environment. +')`'dnl +')`'dnl libcxx + +ifenabled(`lib32cxx',` +Package: lib32stdc++CXX_SO`'LS +Architecture: ifdef(`TARGET',`all',`biarch32_archs') +Section: ifdef(`TARGET',`devel',`libs') +Priority: ifdef(`TARGET',`extra',PRI(optional)) +Depends: BASEDEP, lib32gcc1`'LS +ifdef(`TARGET',`Provides: lib32stdc++CXX_SO-TARGET-dcv1 +',`')`'dnl +Description: The GNU Standard C++ Library v3 (32 bit Version) + This package contains an additional runtime library for C++ programs + built with the GNU compiler. +ifdef(`TARGET', `dnl + . + This package contains files for TARGET architecture, for use in cross-compile + environment. +')`'dnl +')`'dnl lib32cxx + +ifenabled(`lib64cxx',` +Package: lib64stdc++CXX_SO`'LS +Architecture: ifdef(`TARGET',`all',`biarch64_archs') +Section: ifdef(`TARGET',`devel',`libs') +Priority: ifdef(`TARGET',`extra',PRI(optional)) +Depends: BASEDEP, ${shlibs:Depends}, lib64gcc1`'LS +ifdef(`TARGET',`Provides: lib64stdc++CXX_SO-TARGET-dcv1 +',`')`'dnl +Description: The GNU Standard C++ Library v3`'ifdef(`TARGET)',` (TARGET)', `') (64bit) + This package contains an additional runtime library for C++ programs + built with the GNU compiler. + . + libstdc++-v3 is a complete rewrite from the previous libstdc++-v2, which + was included up to g++-2.95. The first version of libstdc++-v3 appeared + in g++-3.0. +ifdef(`TARGET', `dnl + . + This package contains files for TARGET architecture, for use in cross-compile + environment. +')`'dnl +')`'dnl lib64cxx + +ifenabled(`c++dev',` +Package: libstdc++CXX_SO`'PV-dev`'LS +Architecture: ifdef(`TARGET',`all',`any') +Section: ifdef(`TARGET',`devel',`libdevel') +Priority: ifdef(`TARGET',`extra',PRI(standard)) +Depends: BASEDEP, g++`'PV`'TS (= ${gcc:Version}), libstdc++CXX_SO`'LS (>= ${gcc:Version}), ${dep:libcdev} +ifdef(`TARGET',`',`dnl native +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`'PV-doc +')`'dnl native +Provides: libstdc++-dev`'LS`'dnl +ifdef(`TARGET',`, libstdc++-dev-TARGET-dcv1, libstdc++CXX_SO-dev-TARGET-dcv1 +',` +')`'dnl +Description: The GNU Standard C++ Library v3 (development files)`'ifdef(`TARGET)',` (TARGET)', `') + This package contains the headers and static library files necessary for + building C++ programs which use libstdc++. + . + libstdc++-v3 is a complete rewrite from the previous libstdc++-v2, which + was included up to g++-2.95. The first version of libstdc++-v3 appeared + in g++-3.0. +ifdef(`TARGET', `dnl + . + This package contains files for TARGET architecture, for use in cross-compile + environment. +')`'dnl + +Package: libstdc++CXX_SO`'PV-pic`'LS +Architecture: ifdef(`TARGET',`all',`any') +Section: ifdef(`TARGET',`devel',`libdevel') +Priority: extra +Depends: BASEDEP, libstdc++CXX_SO`'LS (>= ${gcc:Version}), libstdc++CXX_SO`'PV-dev`'LS (= ${gcc:Version}) +ifdef(`TARGET',`Provides: libstdc++CXX_SO-pic-TARGET-dcv1 +',`')`'dnl +Description: The GNU Standard C++ Library v3 (shared library subset kit)`'ifdef(`TARGET)',` (TARGET)', `') + 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. +ifdef(`TARGET', `dnl + . + This package contains files for TARGET architecture, for use in cross-compile + environment. +')`'dnl + +Package: libstdc++CXX_SO`'PV-dbg`'LS +Architecture: ifdef(`TARGET',`all',`any') +Section: ifdef(`TARGET',`devel',`libdevel') +Priority: extra +Depends: BASEDEP, libstdc++CXX_SO`'LS (>= ${gcc:Version}) +ifdef(`TARGET',`Provides: libstdc++CXX_SO-dbg-TARGET-dcv1 +',`')`'dnl +Recommends: libstdc++CXX_SO`'PV-dev`'LS (= ${gcc:Version}) +Conflicts: libstdc++5-dbg`'LS, libstdc++5-3.3-dbg`'LS, libstdc++6-dbg`'LS, libstdc++6-4.0-dbg`'LS +Description: The GNU Standard C++ Library v3 (debugging files)`'ifdef(`TARGET)',` (TARGET)', `') + This package contains the shared library of libstdc++ compiled with + debugging symbols. +ifdef(`TARGET', `dnl + . + This package contains files for TARGET architecture, for use in cross-compile + environment. +')`'dnl + +Package: lib32stdc++CXX_SO`'PV-dbg`'LS +Architecture: ifdef(`TARGET',`all',`biarch32_archs') +Section: ifdef(`TARGET',`devel',`libdevel') +Priority: extra +Depends: BASEDEP, lib32stdc++CXX_SO`'LS (>= ${gcc:Version}), libstdc++CXX_SO`'PV-dev`'LS (= ${gcc:Version}) +ifdef(`TARGET',`Provides: lib32stdc++CXX_SO-dbg-TARGET-dcv1 +',`')`'dnl +Conflicts: lib32stdc++6-4.0-dbg`'LS +Description: The GNU Standard C++ Library v3 (debugging files)`'ifdef(`TARGET)',` (TARGET)', `') + This package contains the shared library of libstdc++ compiled with + debugging symbols. +ifdef(`TARGET', `dnl + . + This package contains files for TARGET architecture, for use in cross-compile + environment. +')`'dnl + +Package: lib64stdc++CXX_SO`'PV-dbg`'LS +Architecture: ifdef(`TARGET',`all',`biarch64_archs') +Section: ifdef(`TARGET',`devel',`libdevel') +Priority: extra +Depends: BASEDEP, lib64stdc++CXX_SO`'LS (>= ${gcc:Version}), libstdc++CXX_SO`'PV-dev`'LS (= ${gcc:Version}) +ifdef(`TARGET',`Provides: lib64stdc++CXX_SO-dbg-TARGET-dcv1 +',`')`'dnl +Conflicts: lib64stdc++6-4.0-dbg`'LS +Description: The GNU Standard C++ Library v3 (debugging files)`'ifdef(`TARGET)',` (TARGET)', `') + This package contains the shared library of libstdc++ compiled with + debugging symbols. +ifdef(`TARGET', `dnl + . + This package contains files for TARGET architecture, for use in cross-compile + environment. +')`'dnl + +ifdef(`TARGET', `', ` +Package: libstdc++CXX_SO`'PV-doc +Architecture: all +Section: doc +Priority: PRI(optional) +Depends: gcc`'PV-base (>= ${gcc:SoftVersion}) +Conflicts: libstdc++5-doc, libstdc++5-3.3-doc, libstdc++6-doc, libstdc++6-4.0-doc +Description: The GNU Standard C++ Library v3 (documentation files) + This package contains documentation files for the GNU stdc++ library. + . + One set is the distribution documentation, the other set is the + 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++ + +ifenabled(`ada',` +Package: gnat`'-GNAT_V +Architecture: any +Priority: PRI(optional) +Depends: gnat`'PV-base (= ${gnat:Version}), gcc`'PV (>= ${gcc:Version}), ${dep:libgnat}, ${dep:libcdev}, ${shlibs:Depends} +Suggests: gnat`'PV-doc, ada-reference-manual +Provides: ada-compiler, gnat +Conflicts: gnat (<< 4.1), gnat-3.1, gnat-3.2, gnat-3.3, gnat-3.4, gnat-3.5, gnat-4.0, gnat-4.1 +Description: The GNU Ada compiler + This is the GNU Ada compiler, which compiles Ada on platforms supported + by the gcc compiler. It uses the gcc backend to generate optimized code. + +ifenabled(`libgnat',` +Package: libgnat`'-GNAT_V +Section: libs +Architecture: any +Priority: PRI(optional) +Depends: gnat`'PV-base (= ${gnat:Version}), ${shlibs:Depends} +Description: Runtime library for GNU Ada applications + Library needed for GNU Ada applications linked against the shared library. + +Package: libgnatvsn-dev +Section: libdevel +Architecture: any +Priority: PRI(optional) +Depends: gnat`'PV-base (= ${gnat:Version}), libgnatvsn`'GNAT_V (= ${gnat:Version}) +Description: GNU Ada compiler version library - development files + This library exports selected components of GNAT, the GNU Ada compiler, for use + in other packages, most notably ASIS and ASIS-based packages. It is licensed + under the GNAT-Modified GPL, allowing to link proprietary programs with it. + . + This package contains the development files and static library. + +Package: libgnatvsn`'GNAT_V +Architecture: any +Priority: PRI(optional) +Section: libs +Depends: gnat`'PV-base (= ${gnat:Version}), libgnat`'-GNAT_V (= ${gnat:Version}) +Description: GNU Ada compiler version library + This library exports selected components of GNAT, the GNU Ada compiler, for use + in other packages, most notably ASIS and ASIS-based packages. It is licensed + under the GNAT-Modified GPL, allowing to link proprietary programs with it. + . + This package contains the run-time shared library. + +Package: libgnatprj-dev +Section: libdevel +Architecture: any +Priority: PRI(optional) +Depends: gnat`'PV-base (= ${gnat:Version}), libgnatprj`'GNAT_V (= ${gnat:Version}) +Description: GNU Ada Project Manager development files + GNAT, the GNU Ada compiler, uses project files to organise source and object + files in large-scale development efforts. Several other tools, such as + ASIS tools (package asis-programs) and GNAT Programming Studio (package + gnat-gps) also use project files. This library contains the necessary + support; it was built from GNAT itself. It is licensed under the pure GPL; + all programs that use it must also be distributed under the GPL, or not + distributed at all. + . + This package contains development files: install it to develop applications + that understand GNAT project files. + +Package: libgnatprj`'GNAT_V +Architecture: any +Priority: PRI(optional) +Section: libs +Depends: gnat`'PV-base (= ${gnat:Version}), libgnat`'-GNAT_V (= ${gnat:Version}), libgnatvsn`'GNAT_V (= ${gnat:Version}) +Description: GNU Ada Project Manager + GNAT, the GNU Ada compiler, uses project files to organise source and object + files in large-scale development efforts. Several other tools, such as + ASIS tools (package asis-programs) and GNAT Programming Studio (package + gnat-gps) also use project files. This library contains the necessary + support; it was built from GNAT itself. It is licensed under the pure GPL; + all programs that use it must also be distributed under the GPL, or not + distributed at all. + . + This package contains the run-time shared library. +')`'dnl libgnat + +ifenabled(`lib64gnat',` +Package: lib64gnat`'-GNAT_V +Section: libs +Architecture: biarch64_archs +Priority: PRI(optional) +Depends: gnat`'PV-base (= ${gnat:Version}), ${dep:libcbiarch}, ${shlibs:Depends} +Description: Runtime library for GNU Ada applications + Library needed for GNU Ada applications linked against the shared library. +')`'dnl libgnat + +ifenabled(`gfdldoc',` +Package: gnat`'PV-doc +Architecture: all +Section: doc +Priority: PRI(optional) +Depends: SOFTBASEDEP +Suggests: gnat`'PV +Description: Documentation for the GNU Ada compiler (gnat) + Documentation for the GNU Ada compiler in info `format'. +')`'dnl gfdldoc +')`'dnl ada + +ifenabled(`pascal',` +Package: gpc`'GPC_PV +Architecture: any +Priority: PRI(optional) +Depends: BASEDEP, gcc`'PV (= ${gcc:Version}), ${dep:libcdev}, ${shlibs:Depends} +Recommends: libgmp3-dev, libncurses5-dev +Suggests: gpc`'GPC_PV-doc (>= ${gpc:Version}) +Provides: pascal-compiler +Description: The GNU Pascal compiler + This is the GNU Pascal compiler, which compiles Pascal on platforms supported + by the gcc compiler. It uses the gcc backend to generate optimized code. + . + WARNING: the integration of gpc into gcc-4.x is still in an experimental + stage. For production use, please use gpc or gpc-2.1-3.4. + +Package: gpc`'GPC_PV-doc +Architecture: all +Section: doc +Priority: PRI(optional) +Depends: SOFTBASEDEP +Replaces: gpc (<= 2.91.58-3) +Suggests: gpc`'GPC_PV +Description: Documentation for the GNU Pascal compiler (gpc) + Documentation for the GNU Pascal compiler in info `format'. + . + WARNING: the integration of gpc into gcc-4.x is still in an experimental + stage. For production use, please use gpc or gpc-2.1-3.4. +')`'dnl pascal + +ifenabled(`treelang',` +Package: treelang`'PV +Architecture: any +Priority: PRI(optional) +Depends: BASEDEP, gcc`'PV (= ${gcc:Version}), ${shlibs:Depends} +Description: The GNU Treelang compiler + Treelang is a sample language, useful only to help people understand how + to implement a new language front end to GCC. It is not a useful + language in itself other than as an example or basis for building a new + language. Therefore only language developers are likely to have an + interest in it. +')`'dnl treelang + +ifdef(`TARGET',`',`dnl +ifenabled(`libs',` +Package: gcc`'PV-soft-float +Architecture: arm armeb +Priority: PRI(optional) +Depends: BASEDEP, ifenabled(`cdev',`gcc`'PV (= ${gcc:Version}),') ${shlibs:Depends} +Replaces: gcc-soft-float-ss +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. +')`'dnl commonlibs +')`'dnl + +ifenabled(`fixincl',` +Package: fixincludes +Architecture: any +Priority: PRI(optional) +Depends: BASEDEP, gcc`'PV (= ${gcc:Version}), ${shlibs:Depends} +Description: Fix non-ANSI header files + FixIncludes was created to fix non-ANSI system header files. Many + system manufacturers supply proprietary headers that are not ANSI compliant. + The GNU compilers cannot compile non-ANSI headers. Consequently, the + FixIncludes shell script was written to fix the header files. + . + Not all packages with header files are installed on the system, when the + package is built, so we make fixincludes available at build time of other + packages, such that checking tools like lintian can make use of it. +')`'dnl fixincl + +ifenabled(`cdev',` +ifdef(`TARGET', `', ` +ifenabled(`gfdldoc',` +Package: gcc`'PV-doc +Architecture: all +Section: doc +Priority: PRI(optional) +Depends: gcc`'PV-base (>= ${gcc:SoftVersion}) +Conflicts: gcc-docs (<< 2.95.2) +Replaces: gcc (<=2.7.2.3-4.3), gcc-docs (<< 2.95.2) +Description: Documentation for the GNU compilers (gcc, gobjc, g++) + Documentation for the GNU compilers in info `format'. +')`'dnl gfdldoc +')`'dnl native +')`'dnl cdev + +ifdef(`TARGET',`',`dnl +ifenabled(`libnof',` +Package: gcc`'PV-nof +Architecture: powerpc +Priority: PRI(optional) +Depends: BASEDEP, ${shlibs:Depends}ifenabled(`cdev',`, gcc`'PV (= ${gcc:Version})') +Conflicts: gcc-3.2-nof +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 libnof +')`'dnl + +ifenabled(`source',` +Package: gcc`'PV-source +Architecture: all +Priority: PRI(optional) +Depends: gcc`'PV-base (>= ${gcc:SoftVersion}), make (>= 3.81) +Description: Source of the GNU Compiler Collection + This package contains the sources and patches which are needed to + build the GNU Compiler Collection (GCC). +')`'dnl source +dnl +')`'dnl gcc-X.Y +dnl last line in file --- gcc-snapshot-20061001.orig/debian/.svn/text-base/g77-BV-doc.prerm.svn-base +++ gcc-snapshot-20061001/debian/.svn/text-base/g77-BV-doc.prerm.svn-base @@ -0,0 +1,5 @@ +#! /bin/sh -e + +install-info --quiet --remove g77-@BV@ + +#DEBHELPER# --- gcc-snapshot-20061001.orig/debian/.svn/text-base/libgcjGCJ.postinst.svn-base +++ gcc-snapshot-20061001/debian/.svn/text-base/libgcjGCJ.postinst.svn-base @@ -0,0 +1,12 @@ +#! /bin/sh -e + +case "$1" in + configure) + docdir=/usr/share/doc/libgcj@GCJ@ + if [ -d $docdir ] && [ ! -h $docdir ]; then + rm -rf /usr/share/doc/libgcj@GCJ@ + ln -s gcj-@BV@-base /usr/share/doc/libgcj@GCJ@ + fi +esac + +#DEBHELPER# --- gcc-snapshot-20061001.orig/debian/.svn/text-base/cpp-BV-doc.doc-base.cppint.svn-base +++ gcc-snapshot-20061001/debian/.svn/text-base/cpp-BV-doc.doc-base.cppint.svn-base @@ -0,0 +1,17 @@ +Document: cppinternals-@BV@ +Title: The GNU C preprocessor (internals) +Author: Various +Abstract: This brief manual documents the internals of cpplib, and + explains some of the tricky issues. It is intended that, along with + the comments in the source code, a reasonably competent C programmer + should be able to figure out what the code is doing, and why things + have been implemented the way they have. +Section: Apps/Programming + +Format: html +Index: /usr/share/doc/gcc-@BV@-base/cppinternals.html +Files: /usr/share/doc/gcc-@BV@-base/cppinternals.html + +Format: info +Index: /usr/share/info/cppinternals-@BV@.info.gz +Files: /usr/share/info/cppinternals-@BV@* --- gcc-snapshot-20061001.orig/debian/.svn/text-base/watch.svn-base +++ gcc-snapshot-20061001/debian/.svn/text-base/watch.svn-base @@ -0,0 +1,2 @@ +version=2 +ftp://gcc.gnu.org/pub/gcc/releases/gcc-(4\.2[\d\.]*) 4.2.0 uupdate --- gcc-snapshot-20061001.orig/debian/.svn/text-base/NEWS.gcc.svn-base +++ gcc-snapshot-20061001/debian/.svn/text-base/NEWS.gcc.svn-base @@ -0,0 +1,639 @@ +GCC 4.1 Release SeriesChanges, New Features, and Fixes +====================================================== + + +Caveats +======= + + +General Optimizer Improvements +============================== + + +- GCC now has infrastructure for inter-procedural optimizations and + the following inter-procedural optimizations are implemented: + + - Profile guided inlining. When doing profile feedback guided + optimization, GCC can now use the profile to make better informed + decisions on whether inlining of a function is profitable or not. + This means that GCC will no longer inline functions at call sites + that are not executed very often, and that functions at hot call + sites are more likely to be inlined. + + A new parameter min-inline-recursive-probability is also now + available to throttle recursive inlining of functions with small + average recursive depths. + + - Discovery of pure and const functions, a form of side-effects + analysis. While older GCC releases could also discover such special + functions, the new IPA-based pass runs earlier so that the results + are available to more optimizers. The pass is also simply more + powerful than the old one. + + - Analysis of references to static variables and type escape + analysis, also forms of side-effects analysis. The results of these + passes allow the compiler to be less conservative about + call-clobbered variables and references. This results in more + redundant loads being eliminated and in making static variables + candidates for register promotion. + + - Improvement of RTL-based alias analysis. The results of type + escape analysis are fed to the RTL type-based alias analyzer, + allowing it to disambiguate more memory references. + + - Interprocedural constant propagation and function versioning. + This pass looks for functions that are always called with the same + constant value for one or more of the function arguments, and + propagates those constants into those functions. + + - GCC will now eliminate static variables whose usage was optimized out. + + - -fwhole-program --combine can now be used to make all functions in + program static allowing whole program optimization. As an + exception, the main function and all functions marked with the new + externally_visible attribute are kept global so that programs can + link with runtime libraries. + + +- GCC can now do a form of partial dead code elimination (PDCE) that + allows code motion of expressions to the paths where the result of the + expression is actually needed. This is not always a win, so the pass + has been limited to only consider profitable cases. Here is an example: + + int foo (int *, int *); + int + bar (int d) + { + int a, b, c; + b = d + 1; + c = d + 2; + a = b + c; + if (d) + { + foo (&b, &c); + a = b + c; + } + printf ("%d\n", a); + } + + + The a = b + c can be sunk to right before the printf. Normal code + sinking will not do this, it will sink the first one above into the + else-branch of the conditional jump, which still gives you two + copies of the code. + +- GCC now has a value range propagation pass. This allows the + compiler to eliminate bounds checks and branches. The results of the + pass can also be used to accurately compute branch probabilities. + +- The pass to convert PHI nodes to straight-line code (a form of + if-conversion for GIMPLE) has been improved significantly. The two + most significant improvements are an improved algorithm to determine + the order in which the PHI nodes are considered, and an improvement + that allow the pass to consider if-conversions of basic blocks with + more than two predecessors. + +- Alias analysis improvements. GCC can now differentiate between + different fields of structures in Tree-SSA's virtual operands + form. This lets stores/loads from non-overlapping structure fields not + conflict. A new algorithm to compute points-to sets was contributed + that can allows GCC to see now that p->a and p->b, where p is a + pointer to a structure, can never point to the same field. + +- Various enhancements to auto-vectorization: + + - Incrementally preserve SSA form when vectorizing. + + - Incrementally preserve loop-closed form when vectorizing. + + - Improvements to peeling for alignment: generate better code when + the misalignment of an access is known at compile time, or when + different accesses are known to have the same misalignment, even if + the misalignment amount itself is unknown. + + - Consider dependence distance in the vectorizer. + + - Externalize generic parts of data reference analysis to make this + analysis available to other passes. + + - Vectorization of conditional code. + + - Reduction support. + +- GCC can now partition functions in sections of hot and cold + code. This can significantly improve performance due to better + instruction cache locality. This feature works best together with + profile feedback driven optimization. + +- A new pass to avoid saving of unneeded arguments to the stack in + vararg functions if the compiler can prove that they will not be + needed. + +- Transition of basic block profiling to tree level implementation has + been completed. The new implementation should be considerably more + reliable (hopefully avoiding profile mismatch errors when using + -fprofile-use or -fbranch-probabilities) and can be used to drive + higher level optimizations, such as inlining. + + The -ftree-based-profiling command line option was removed and + -fprofile-use now implies disabling old RTL level loop optimizer + (-fno-loop-optimize). Speculative prefetching optimization + (originally enabled by -fspeculative-prefetching) was removed. + + +New Languages and Language specific improvements +================================================ + +C and Objective-C +----------------- + +- The old Bison-based C and Objective-C parser has been replaced by a + new, faster hand-written recursive-descent parser. + + +Ada +--- + +- The build infrastructure for the Ada runtime library and tools has + been changed to be better integrated with the rest of the build + infrastructure of GCC. This should make doing cross builds of Ada a + bit easier. + + +C++ +--- + +- ARM-style name-injection of friend declarations is no longer the + default. For example: + + struct S { + friend void f(); + }; + + void g() { f(); } + + will not be accepted; instead a declaration of f will need to be + present outside of the scope of S. The new -ffriend-injection + option will enable the old behavior. + + +- The (undocumented) extension which permitted templates with default + arguments to be bound to template template parameters with fewer + parameters has been deprecated, and will be removed in the next major + release of G++. For example: + + template