summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordoko <doko@6ca36cf4-e1d1-0310-8c6f-e303bb2178ca>2013-06-02 11:55:51 +0000
committerdoko <doko@6ca36cf4-e1d1-0310-8c6f-e303bb2178ca>2013-06-02 11:55:51 +0000
commitdbf0fc79d43487e4fa3cc915450d77b6ba59d211 (patch)
tree36e4425e3dbb561883ed85a8bfab19d5c4b32280
parentf74e535c42d9da8fb2cc54b96bc3cf5e7698f26f (diff)
downloadgcc-48-dbf0fc79d43487e4fa3cc915450d77b6ba59d211.tar.gz
* Build java packages from this source package. Works aroud ftp-master's
overly strict interpretation of the Built-Using attribute. * Build D and libphobos packages from this source package. git-svn-id: svn://svn.debian.org/svn/gcccvs/branches/sid/gcc-4.8@6800 6ca36cf4-e1d1-0310-8c6f-e303bb2178ca
-rw-r--r--debian/changelog5
-rw-r--r--debian/control179
-rw-r--r--debian/control.m48
-rw-r--r--debian/libgcj-doc.doc-base4
-rw-r--r--debian/patches/gdc-4.8-doc.diff96
-rw-r--r--debian/patches/gdc-4.8.diff14
-rw-r--r--debian/patches/gdc-libphobos-build.diff16
-rw-r--r--debian/patches/gdc-texinfo.diff53
-rw-r--r--debian/patches/gdc-versym-cpu.diff90
-rw-r--r--debian/patches/gdc-versym-os.diff116
-rw-r--r--debian/rules.conf21
-rw-r--r--debian/rules.d/binary-d.mk2
-rw-r--r--debian/rules.d/binary-java.mk9
-rw-r--r--debian/rules.d/binary-source.mk3
-rw-r--r--debian/rules.defs4
-rw-r--r--debian/rules.patch7
-rw-r--r--debian/rules.unpack21
17 files changed, 530 insertions, 118 deletions
diff --git a/debian/changelog b/debian/changelog
index 5fcc759..826a5b4 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -4,8 +4,11 @@ gcc-4.8 (4.8.1-1) UNRELEASED; urgency=low
Support for C++11 ref-qualifiers has been added to GCC 4.8.1, making G++
the first C++ compiler to implement all the major language features of
the C++11 standard.
+ * Build java packages from this source package. Works aroud ftp-master's
+ overly strict interpretation of the Built-Using attribute.
+ * Build D and libphobos packages from this source package.
- -- Matthias Klose <doko@debian.org> Fri, 31 May 2013 14:01:45 +0200
+ -- Matthias Klose <doko@debian.org> Sun, 02 Jun 2013 01:32:55 +0200
gcc-4.8 (4.8.0-9) unstable; urgency=low
diff --git a/debian/control b/debian/control
index 7eb8e18..b705b19 100644
--- a/debian/control
+++ b/debian/control
@@ -5,14 +5,16 @@ Maintainer: Debian GCC Maintainers <debian-gcc@lists.debian.org>
Uploaders: Matthias Klose <doko@debian.org>
Standards-Version: 3.9.4
Build-Depends: debhelper (>= 5.0.62), g++-multilib [amd64 i386 kfreebsd-amd64 mips mipsel powerpc ppc64 s390 s390x sparc x32],
- libc6.1-dev (>= 2.13-5) [alpha ia64] | libc0.3-dev (>= 2.13-5) [hurd-i386] | libc0.1-dev (>= 2.13-5) [kfreebsd-i386 kfreebsd-amd64] | libc6-dev (>= 2.13-5), libc6-dev (>= 2.13-31) [armel armhf], libc6-dev-amd64 [i386 x32], libc6-dev-sparc64 [sparc], libc6-dev-s390 [s390x], libc6-dev-s390x [s390], libc6-dev-i386 [amd64 x32], libc6-dev-powerpc [ppc64], libc6-dev-ppc64 [powerpc], libc0.1-dev-i386 [kfreebsd-amd64], lib32gcc1 [amd64 ppc64 kfreebsd-amd64 s390x x32], libn32gcc1 [mips mipsel], lib64gcc1 [i386 mips mipsel powerpc sparc s390 x32], libc6-dev-mips64 [mips mipsel], libc6-dev-mipsn32 [mips mipsel], libc6-dev-x32 [amd64 i386], libx32gcc1 [amd64 i386],
+ libc6.1-dev (>= 2.13-5) [alpha ia64] | libc0.3-dev (>= 2.13-5) [hurd-i386] | libc0.1-dev (>= 2.13-5) [kfreebsd-i386 kfreebsd-amd64] | libc6-dev (>= 2.13-5), libc6-dev (>= 2.13-31) [armel armhf],
+ libc6-dev-amd64 [i386 x32], libc6-dev-sparc64 [sparc], libc6-dev-s390 [s390x], libc6-dev-s390x [s390], libc6-dev-i386 [amd64 x32], libc6-dev-powerpc [ppc64], libc6-dev-ppc64 [powerpc], libc0.1-dev-i386 [kfreebsd-amd64], lib32gcc1 [amd64 ppc64 kfreebsd-amd64 s390x x32], libn32gcc1 [mips mipsel], lib64gcc1 [i386 mips mipsel powerpc sparc s390 x32], libc6-dev-mips64 [mips mipsel], libc6-dev-mipsn32 [mips mipsel], libc6-dev-x32 [amd64 i386], libx32gcc1 [amd64 i386],
+ libc6.1-dbg [alpha ia64] | libc0.3-dbg [hurd-i386] | libc0.1-dbg [kfreebsd-i386 kfreebsd-amd64] | libc6-dbg,
m4, libtool, autoconf2.64,
libunwind7-dev (>= 0.98.5-6) [ia64], libatomic-ops-dev [ia64],
zlib1g-dev, gawk, lzma, xz-utils, patchutils,
binutils (>= 2.22) | binutils-multiarch (>= 2.22), binutils-hppa64 (>= 2.22) [hppa],
gperf (>= 3.0.1), bison (>= 1:2.3), flex, gettext,
texinfo (>= 4.3), locales, sharutils,
- procps, netbase,
+ procps, zlib1g-dev, libantlr-java, python, libffi-dev, fastjar, libmagic-dev, libecj-java (>= 3.3.0-2), zip, libasound2-dev [ !hurd-any !kfreebsd-any], libxtst-dev, libxt-dev, libgtk2.0-dev (>= 2.4.4-2), libart-2.0-dev, libcairo2-dev, g++-4.8 [armel armhf], netbase,
libcloog-isl-dev (>= 0.18), libmpc-dev (>= 1.0), libmpfr-dev (>= 3.0.0-9~), libgmp-dev (>= 2:5.0.1~),
dejagnu [!m68k !hurd-i386 !hurd-alpha], autogen, realpath (>= 1.9.12), chrpath, lsb-release, quilt
Build-Depends-Indep: doxygen (>= 1.7.2), graphviz (>= 2.2), ghostscript, texlive-latex-base, xsltproc, libxml2-utils, docbook-xsl-ns,
@@ -1410,6 +1412,144 @@ Description: Runtime library for GNU Go applications (x32 debug symbols)
Library needed for GNU Go applications linked against the
shared library.
+Package: gcj-4.8-jdk
+Section: java
+Architecture: any
+Priority: optional
+Depends: gcc-4.8-base (= ${gcc:Version}), ${dep:gcj}, ${dep:libcdev}, gcj-4.8-jre (= ${gcj:Version}), libgcj14-dev (= ${gcj:Version}), ${dep:ecj}, fastjar, libgcj-bc, java-common, libantlr-java, ${shlibs:Depends}, dpkg (>= 1.15.4) | install-info, ${misc:Depends}
+Recommends: libecj-java-gcj
+Suggests: gcj-4.8-source (>= ${gcj:SoftVersion}), libgcj14-dbg (>= ${gcc:Version})
+Provides: java-compiler, java-sdk, java2-sdk, java5-sdk
+Conflicts: gcj-4.4, cpp-4.1 (<< 4.1.1), gcc-4.1 (<< 4.1.1)
+Replaces: libgcj11 (<< 4.5-20100101-1)
+Description: gcj and classpath development tools 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. Other java development tools from classpath are included in this
+ package.
+ .
+ The package contains as well a collection of wrapper scripts and symlinks.
+ It is meant to provide a Java-SDK-like interface to the GCJ tool set.
+
+Package: gcj-4.8-jre-headless
+Priority: optional
+Section: java
+Architecture: any
+Depends: gcc-4.8-base (= ${gcc:Version}), gcj-4.8-jre-lib (>= ${gcj:SoftVersion}), libgcj14 (= ${gcj:Version}), ${dep:prctl}, ${shlibs:Depends}, ${misc:Depends}
+Suggests: fastjar, gcj-4.8-jdk (= ${gcj:Version}), libgcj14-awt (= ${gcj:Version})
+Conflicts: gij-4.4, java-gcj-compat (<< 1.0.76-4)
+Replaces: gcj-4.8-jre-lib (<< 4.8-20121219-0)
+Provides: java5-runtime-headless, java2-runtime-headless, java1-runtime-headless, java-runtime-headless
+Description: Java runtime environment using GIJ/classpath (headless version)
+ GIJ is a Java bytecode interpreter, 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.
+ .
+ The package contains as well a collection of wrapper scripts and symlinks.
+ It is meant to provide a Java-RTE-like interface to the GIJ/GCJ tool set,
+ limited to the headless tools and libraries.
+
+Package: gcj-4.8-jre
+Section: java
+Architecture: any
+Priority: optional
+Depends: gcc-4.8-base (= ${gcc:Version}), gcj-4.8-jre-headless (= ${gcj:Version}), libgcj14-awt (= ${gcj:Version}), ${shlibs:Depends}, ${misc:Depends}
+Provides: java5-runtime, java2-runtime, java1-runtime, java-runtime
+Description: Java runtime environment using GIJ/classpath
+ GIJ is a Java bytecode interpreter, 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.
+ .
+ The package contains as well a collection of wrapper scripts and symlinks.
+ It is meant to provide a Java-RTE-like interface to the GIJ/GCJ tool set.
+
+Package: libgcj14
+Section: libs
+Architecture: any
+Priority: optional
+Pre-Depends: multiarch-support
+Multi-Arch: same
+Depends: gcc-4.8-base (>= ${gcc:SoftVersion}), libgcj-common (>= 1:4.1.1-21), ${shlibs:Depends}, ${misc:Depends}
+Recommends: gcj-4.8-jre-lib (>= ${gcj:SoftVersion})
+Suggests: libgcj14-dbg (>= ${gcc:Version}), libgcj14-awt (= ${gcj:Version})
+Replaces: gij-4.4 (<< 4.4.0-1)
+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
+ libgcj14-dbg and binutils are required.
+
+Package: gcj-4.8-jre-lib
+Section: java
+Architecture: all
+Priority: optional
+Depends: gcc-4.8-base (>= ${gcc:SoftVersion}), libgcj14 (>= ${gcj:SoftVersion}), ${misc:Depends}
+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: libgcj14-awt
+Section: libs
+Architecture: any
+Priority: optional
+Pre-Depends: multiarch-support
+Multi-Arch: same
+Depends: gcc-4.8-base (>= ${gcc:SoftVersion}), libgcj14 (= ${gcj:Version}), ${shlibs:Depends}, ${misc:Depends}
+Suggests: ${pkg:gcjqt}
+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 not built).
+
+Package: libgcj14-dev
+Section: libdevel
+Architecture: any
+Multi-Arch: same
+Priority: optional
+Depends: gcc-4.8-base (= ${gcc:Version}), gcj-4.8-jdk (= ${gcj:Version}), gcj-4.8-jre-lib (>= ${gcj:SoftVersion}), libgcj14-awt (= ${gcj:Version}), libgcj-bc, ${pkg:gcjgtk}, ${pkg:gcjqt}, zlib1g-dev, ${shlibs:Depends}, ${misc:Depends}
+Suggests: libgcj-doc
+Description: Java development headers for use with gcj
+ These are the development headers 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: libgcj14-dbg
+Section: debug
+Architecture: any
+Priority: extra
+Pre-Depends: multiarch-support
+Multi-Arch: same
+Depends: gcc-4.8-base (= ${gcc:Version}), libgcj14 (= ${gcj:Version}), ${misc:Depends}
+Recommends: binutils, libc6-dbg | libc-dbg
+Description: Debugging symbols for libraries provided in libgcj14-dev
+ The package provides debugging symbols for the libraries provided
+ in libgcj14-dev.
+ .
+ binutils is required to show file names and line numbers in stack traces.
+
+Package: gcj-4.8-source
+Section: java
+Architecture: all
+Priority: optional
+Depends: gcc-4.8-base (>= ${gcc:SoftVersion}), gcj-4.8-jdk (>= ${gcj:SoftVersion}), ${misc:Depends}
+Description: GCJ java sources for use in IDEs like eclipse and netbeans
+ These are the java source files packaged as a zip file for use in development
+ environments like eclipse and netbeans.
+
+Package: libgcj-doc
+Section: doc
+Architecture: all
+Priority: optional
+Depends: gcc-4.8-base (>= ${gcc:SoftVersion}), ${misc:Depends}
+Enhances: libgcj14-dev
+Provides: classpath-doc
+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.
+
Package: libstdc++6
Architecture: any
Section: libs
@@ -1625,6 +1765,41 @@ Description: GNU Standard C++ Library v3 (documentation files)
alphabetical list, compound list, file list, namespace members,
compound members and file members.
+Package: gdc-4.8
+Architecture: any
+Priority: optional
+Depends: gcc-4.8-base (>= ${gcc:SoftVersion}), g++-4.8 (>= ${gcc:SoftVersion}), libphobos-4.8-dev (= ${gdc:Version}) [!avr !hppa !ia64 !m68k !mips !mipsel !powerpc !powerpcspe !ppc64 !s390 !s390x !sh4 !sparc !sparc64 !alpha !hurd-alpha !arm !armel !armhf !hurd-i386 !hurd-alpha], ${shlibs:Depends}, ${misc:Depends}
+Provides: gdc, d-compiler, d-v2-compiler
+Replaces: gdc (<< 4.4.6-5)
+Description: GNU D compiler (version 2), based on the GCC backend
+ This is the GNU D compiler, which compiles D on platforms supported by gcc.
+ It uses the gcc backend to generate optimised code.
+ .
+ This compiler supports D language version 2.
+
+Package: libphobos-4.8-dev
+Architecture: amd64 i386 kfreebsd-amd64 kfreebsd-i386
+Section: libdevel
+Priority: optional
+Depends: gdc-4.8 (= ${gdc:Version}), zlib1g-dev, ${shlibs:Depends}, ${misc:Depends}
+Provides: libphobos-dev
+Suggests: libphobos-4.8-dbg
+Description: Phobos D standard library
+ This is the Phobos standard library that comes with the D2 compiler.
+ .
+ For more information check http://www.dlang.org/phobos/
+
+Package: libphobos-4.8-dbg
+Section: debug
+Architecture: amd64 i386 kfreebsd-amd64 kfreebsd-i386
+Priority: extra
+Depends: gdc-4.8 (= ${gdc:Version}), libphobos-4.8-dev (= ${gdc:Version}), ${misc:Depends}
+Provides: libphobos-dbg
+Description: The Phobos D standard library (debug symbols)
+ This is the Phobos standard library that comes with the D2 compiler.
+ .
+ For more information check http://www.dlang.org/phobos/
+
Package: gcc-4.8-soft-float
Architecture: arm armel armhf
Priority: optional
diff --git a/debian/control.m4 b/debian/control.m4
index a5ffa43..6ee4b9d 100644
--- a/debian/control.m4
+++ b/debian/control.m4
@@ -61,7 +61,9 @@ Build-Depends: debhelper (>= 5.0.62),
bison (>= 1:2.3), flex, realpath (>= 1.9.12), lsb-release, quilt
',`dnl native
Build-Depends: debhelper (>= 5.0.62), GCC_MULTILIB_BUILD_DEP
- LIBC_BUILD_DEP, LIBC_BIARCH_BUILD_DEP
+ LIBC_BUILD_DEP,
+ LIBC_BIARCH_BUILD_DEP
+ LIBC_DBG_DEP
AUTO_BUILD_DEP AUTOGEN_BUILD_DEP
libunwind7-dev (>= 0.98.5-6) [ia64], libatomic-ops-dev [ia64],
zlib1g-dev, gawk, lzma, xz-utils, patchutils,
@@ -3271,7 +3273,7 @@ Package: gcj`'PV-source
Section: java
Architecture: all
Priority: PRI(optional)
-Depends: gcj`'PV-base (>= ${gcj:SoftVersion}), gcj`'PV-jdk (>= ${gcj:SoftVersion}), ${misc:Depends}
+Depends: SOFTBASEDEP, gcj`'PV-jdk (>= ${gcj:SoftVersion}), ${misc:Depends}
BUILT_USING`'dnl
Description: GCJ java sources for use in IDEs like eclipse and netbeans
These are the java source files packaged as a zip file for use in development
@@ -3283,7 +3285,7 @@ Package: libgcj-doc
Section: doc
Architecture: all
Priority: PRI(optional)
-Depends: gcj`'PV-base (>= ${gcj:SoftVersion}), ${misc:Depends}
+Depends: SOFTBASEDEP, ${misc:Depends}
Enhances: libgcj`'GCJ_SO-dev
Provides: classpath-doc
BUILT_USING`'dnl
diff --git a/debian/libgcj-doc.doc-base b/debian/libgcj-doc.doc-base
index 9fa784a..5b85ea8 100644
--- a/debian/libgcj-doc.doc-base
+++ b/debian/libgcj-doc.doc-base
@@ -6,5 +6,5 @@ Abstract: Autogenerated documentation describing the libgcj
Section: Programming/Java
Format: html
-Index: /usr/share/doc/gcj-4.8-base/api/index.html
-Files: /usr/share/doc/gcj-4.8-base/api/*.html
+Index: /usr/share/doc/gcc-4.8-base/api/index.html
+Files: /usr/share/doc/gcc-4.8-base/api/*.html
diff --git a/debian/patches/gdc-4.8-doc.diff b/debian/patches/gdc-4.8-doc.diff
new file mode 100644
index 0000000..79e37ed
--- /dev/null
+++ b/debian/patches/gdc-4.8-doc.diff
@@ -0,0 +1,96 @@
+# DP: This implements D language support in the GCC back end, and adds
+# DP: relevant documentation about the GDC front end (documentation part).
+
+--- a/src/gcc/doc/frontends.texi
++++ b/src/gcc/doc/frontends.texi
+@@ -9,6 +9,7 @@
+ @cindex GNU Compiler Collection
+ @cindex GNU C Compiler
+ @cindex Ada
++@cindex D
+ @cindex Fortran
+ @cindex Go
+ @cindex Java
+@@ -17,7 +18,7 @@
+ GCC stands for ``GNU Compiler Collection''. GCC is an integrated
+ distribution of compilers for several major programming languages. These
+ languages currently include C, C++, Objective-C, Objective-C++, Java,
+-Fortran, Ada, and Go.
++Fortran, Ada, D and Go.
+
+ The abbreviation @dfn{GCC} has multiple meanings in common use. The
+ current official meaning is ``GNU Compiler Collection'', which refers
+--- a/src/gcc/doc/install.texi
++++ b/src/gcc/doc/install.texi
+@@ -1350,12 +1350,12 @@ their runtime libraries should be built.
+ grep language= */config-lang.in
+ @end smallexample
+ Currently, you can use any of the following:
+-@code{all}, @code{ada}, @code{c}, @code{c++}, @code{fortran},
++@code{all}, @code{ada}, @code{c}, @code{c++}, @code{d}, @code{fortran},
+ @code{go}, @code{java}, @code{objc}, @code{obj-c++}.
+ Building the Ada compiler has special requirements, see below.
+ If you do not pass this flag, or specify the option @code{all}, then all
+ default languages available in the @file{gcc} sub-tree will be configured.
+-Ada, Go and Objective-C++ are not default languages; the rest are.
++Ada, D, Go and Objective-C++ are not default languages; the rest are.
+
+ @item --enable-stage1-languages=@var{lang1},@var{lang2},@dots{}
+ Specify that a particular subset of compilers and their runtime
+--- a/src/gcc/doc/invoke.texi
++++ b/src/gcc/doc/invoke.texi
+@@ -1164,6 +1164,15 @@ called @dfn{specs}.
+ Ada source code file containing a library unit body (a subprogram or
+ package body). Such files are also called @dfn{bodies}.
+
++@item @var{file}.d
++D source code file.
++
++@item @var{file}.di
++D interface code file.
++
++@item @var{file}.dd
++D documentation code file.
++
+ @c GCC also knows about some suffixes for languages not yet included:
+ @c Pascal:
+ @c @var{file}.p
+@@ -1199,6 +1208,7 @@ objective-c objective-c-header objecti
+ objective-c++ objective-c++-header objective-c++-cpp-output
+ assembler assembler-with-cpp
+ ada
++d
+ f77 f77-cpp-input f95 f95-cpp-input
+ go
+ java
+--- a/src/gcc/doc/sourcebuild.texi
++++ b/src/gcc/doc/sourcebuild.texi
+@@ -113,6 +113,9 @@ The Objective-C and Objective-C++ runtim
+ @item libquadmath
+ The runtime support library for quad-precision math operations.
+
++@item libphobos
++The D standard runtime library.
++
+ @item libssp
+ The Stack protector runtime library.
+
+--- a/src/gcc/doc/standards.texi
++++ b/src/gcc/doc/standards.texi
+@@ -288,6 +288,16 @@ a specific version. In general GCC trac
+ closely, and any given release will support the language as of the
+ date that the release was frozen.
+
++@section D language
++
++The D language is under development as of this writing; see the
++@uref{http://dlang.org/@/language-reference.html, current language
++reference}. At present the current major version of D is 2.0, and
++there is no way to describe the language supported by GCC in terms of
++a specific minor version. In general GCC follows the D frontend
++releases closely, and any given GCC release will support the current
++language as of the date that the release was frozen.
++
+ @section References for other languages
+
+ @xref{Top, GNAT Reference Manual, About This Guide, gnat_rm,
diff --git a/debian/patches/gdc-4.8.diff b/debian/patches/gdc-4.8.diff
index b4bc21d..b4b042f 100644
--- a/debian/patches/gdc-4.8.diff
+++ b/debian/patches/gdc-4.8.diff
@@ -1,8 +1,8 @@
# DP: This implements D language support in the GCC back end, and adds
-# DP: relevant documentation about the GDC front end.
+# DP: relevant documentation about the GDC front end (code part).
---- a/src/gcc/config/rs6000/rs6000.c 2013-02-08 19:36:04.000000000 +0000
-+++ b/src/gcc/config/rs6000/rs6000.c 2013-03-20 16:26:18.566235720 +0000
+--- a/src/gcc/config/rs6000/rs6000.c
++++ b/src/gcc/config/rs6000/rs6000.c
@@ -21578,7 +21578,8 @@ rs6000_output_function_epilogue (FILE *f
either, so for now use 0. */
if (! strcmp (language_string, "GNU C")
@@ -13,8 +13,8 @@
i = 0;
else if (! strcmp (language_string, "GNU F77")
|| ! strcmp (language_string, "GNU Fortran"))
---- a/src/gcc/dwarf2out.c 2013-03-05 23:08:45.000000000 +0000
-+++ b/src/gcc/dwarf2out.c 2013-03-20 16:26:18.690235723 +0000
+--- a/src/gcc/dwarf2out.c
++++ b/src/gcc/dwarf2out.c
@@ -18907,6 +18907,8 @@ gen_compile_unit_die (const char *filena
language = DW_LANG_C89;
if (strcmp (language_string, "GNU C++") == 0)
@@ -24,8 +24,8 @@
else if (strcmp (language_string, "GNU F77") == 0)
language = DW_LANG_Fortran77;
else if (strcmp (language_string, "GNU Pascal") == 0)
---- a/src/gcc/gcc.c 2013-03-06 06:32:03.000000000 +0000
-+++ b/src/gcc/gcc.c 2013-03-20 16:26:18.706235722 +0000
+--- a/src/gcc/gcc.c
++++ b/src/gcc/gcc.c
@@ -1002,6 +1002,7 @@ static const struct compiler default_com
{".java", "#Java", 0, 0, 0}, {".class", "#Java", 0, 0, 0},
{".zip", "#Java", 0, 0, 0}, {".jar", "#Java", 0, 0, 0},
diff --git a/debian/patches/gdc-libphobos-build.diff b/debian/patches/gdc-libphobos-build.diff
index 5429fdd..6a49745 100644
--- a/debian/patches/gdc-libphobos-build.diff
+++ b/debian/patches/gdc-libphobos-build.diff
@@ -1,7 +1,7 @@
# DP: This implements building of libphobos library in GCC.
---- a/src/configure 2013-02-15 17:45:54.000000000 +0000
-+++ b/src/configure 2013-03-20 16:26:18.442235719 +0000
+--- a/src/configure
++++ b/src/configure
@@ -2781,7 +2781,8 @@ target_libraries="target-libgcc \
${libgcj} \
target-libobjc \
@@ -12,8 +12,8 @@
# these tools are built using the target libraries, and are intended to
# run only in the target environment
---- a/src/configure.ac 2013-02-15 17:45:54.000000000 +0000
-+++ b/src/configure.ac 2013-03-20 16:26:18.462235720 +0000
+--- a/src/configure.ac
++++ b/src/configure.ac
@@ -168,7 +168,8 @@ target_libraries="target-libgcc \
${libgcj} \
target-libobjc \
@@ -24,8 +24,8 @@
# these tools are built using the target libraries, and are intended to
# run only in the target environment
---- a/src/Makefile.def 2013-01-14 16:15:21.000000000 +0000
-+++ b/src/Makefile.def 2013-03-20 16:26:18.466235720 +0000
+--- a/src/Makefile.def
++++ b/src/Makefile.def
@@ -131,6 +131,7 @@ target_modules = { module= libquadmath;
target_modules = { module= libgfortran; };
target_modules = { module= libobjc; };
@@ -52,8 +52,8 @@
// Toplevel bootstrap
bootstrap_stage = { id=1 ; };
---- a/src/Makefile.in 2013-01-14 16:15:21.000000000 +0000
-+++ b/src/Makefile.in 2013-03-20 16:26:18.514235720 +0000
+--- a/src/Makefile.in
++++ b/src/Makefile.in
@@ -933,6 +933,7 @@ configure-target: \
maybe-configure-target-libgfortran \
maybe-configure-target-libobjc \
diff --git a/debian/patches/gdc-texinfo.diff b/debian/patches/gdc-texinfo.diff
new file mode 100644
index 0000000..dcd1153
--- /dev/null
+++ b/debian/patches/gdc-texinfo.diff
@@ -0,0 +1,53 @@
+# DP: Add macros for the gdc texinfo documentation.
+
+--- a/src/gcc/d/gdc.texi
++++ b/src/gcc/d/gdc.texi
+@@ -43,6 +43,22 @@
+ @insertcopying
+ @end ifinfo
+
++@macro versionsubtitle
++@ifclear DEVELOPMENT
++@subtitle For @sc{gcc} version @value{version-GCC}
++@end ifclear
++@ifset DEVELOPMENT
++@subtitle For @sc{gcc} version @value{version-GCC} (pre-release)
++@end ifset
++@ifset VERSION_PACKAGE
++@sp 1
++@subtitle @value{VERSION_PACKAGE}
++@end ifset
++@c Even if there are no authors, the second titlepage line should be
++@c forced to the bottom of the page.
++@vskip 0pt plus 1filll
++@end macro
++
+ @titlepage
+ @title The GNU D Compiler
+ @versionsubtitle
+@@ -138,6 +154,25 @@
+
+ @c man end
+
++@macro gcctabopt{body}
++@code{\body\}
++@end macro
++@macro gccoptlist{body}
++@smallexample
++\body\
++@end smallexample
++@end macro
++@c Makeinfo handles the above macro OK, TeX needs manual line breaks;
++@c they get lost at some point in handling the macro. But if @macro is
++@c used here rather than @alias, it produces double line breaks.
++@iftex
++@alias gol = *
++@end iftex
++@ifnottex
++@macro gol
++@end macro
++@end ifnottex
++
+ @c man begin OPTIONS gdc
+
+ @table @gcctabopt
diff --git a/debian/patches/gdc-versym-cpu.diff b/debian/patches/gdc-versym-cpu.diff
index 48c0d84..b2ac9a9 100644
--- a/debian/patches/gdc-versym-cpu.diff
+++ b/debian/patches/gdc-versym-cpu.diff
@@ -1,7 +1,50 @@
# DP: Implements D CPU version conditions.
---- a/src/gcc/config/aarch64/aarch64.h 2013-01-10 20:38:27.000000000 +0000
-+++ b/src/gcc/config/aarch64/aarch64.h 2013-03-20 16:26:18.726235723 +0000
+This implements the following versions:
+* D_HardFloat
+* D_SoftFloat
+
+for all supported architectures. And these where appropriate:
+* ARM
+** ARM_Thumb
+** ARM_HardFloat
+** ARM_SoftFloat
+** ARM_SoftFP
+* AArch64
+* Alpha
+** Alpha_SoftFloat
+** Alpha_HardFloat
+* X86
+* X86_64
+** D_X32
+* IA64
+* MIPS32
+* MIPS64
+** MIPS_O32
+** MIPS_O64
+** MIPS_N32
+** MIPS_N64
+** MIPS_EABI
+** MIPS_HardFloat
+** MIPS_SoftFloat
+* HPPA
+* HPPA64
+* PPC
+* PPC64
+** PPC_HardFloat
+** PPC_SoftFloat
+* S390
+* S390X
+* SH
+* SH64
+* SPARC
+* SPARC64
+* SPARC_V8Plus
+** SPARC_HardFloat
+** SPARC_SoftFloat
+
+--- a/src/gcc/config/aarch64/aarch64.h
++++ b/src/gcc/config/aarch64/aarch64.h
@@ -51,6 +51,14 @@
\
} while (0)
@@ -17,8 +60,8 @@
/* Target machine storage layout. */
---- a/src/gcc/config/alpha/alpha.h 2013-01-10 20:38:27.000000000 +0000
-+++ b/src/gcc/config/alpha/alpha.h 2013-03-20 16:26:18.734235722 +0000
+--- a/src/gcc/config/alpha/alpha.h
++++ b/src/gcc/config/alpha/alpha.h
@@ -72,6 +72,23 @@ along with GCC; see the file COPYING3.
SUBTARGET_LANGUAGE_CPP_BUILTINS(); \
} while (0)
@@ -43,8 +86,8 @@
#ifndef SUBTARGET_LANGUAGE_CPP_BUILTINS
#define SUBTARGET_LANGUAGE_CPP_BUILTINS() \
do \
---- a/src/gcc/config/arm/arm.h 2013-01-15 16:17:28.000000000 +0000
-+++ b/src/gcc/config/arm/arm.h 2013-03-20 16:26:18.746235724 +0000
+--- a/src/gcc/config/arm/arm.h
++++ b/src/gcc/config/arm/arm.h
@@ -158,6 +158,31 @@ extern char arm_arch_name[];
builtin_define ("__ARM_ARCH_EXT_IDIV__"); \
} while (0)
@@ -77,8 +120,8 @@
#include "config/arm/arm-opts.h"
enum target_cpus
---- a/src/gcc/config/i386/i386.h 2013-01-28 20:42:55.000000000 +0000
-+++ b/src/gcc/config/i386/i386.h 2013-03-20 16:26:18.754235724 +0000
+--- a/src/gcc/config/i386/i386.h
++++ b/src/gcc/config/i386/i386.h
@@ -588,6 +588,24 @@ extern const char *host_detect_local_cpu
/* Target CPU builtins. */
#define TARGET_CPU_CPP_BUILTINS() ix86_target_macros ()
@@ -104,8 +147,8 @@
/* Target Pragmas. */
#define REGISTER_TARGET_PRAGMAS() ix86_register_pragmas ()
---- a/src/gcc/config/ia64/ia64.h 2013-01-10 20:38:27.000000000 +0000
-+++ b/src/gcc/config/ia64/ia64.h 2013-03-20 16:26:18.766235724 +0000
+--- a/src/gcc/config/ia64/ia64.h
++++ b/src/gcc/config/ia64/ia64.h
@@ -40,6 +40,13 @@ do { \
builtin_define("__BIG_ENDIAN__"); \
} while (0)
@@ -120,8 +163,8 @@
#ifndef SUBTARGET_EXTRA_SPECS
#define SUBTARGET_EXTRA_SPECS
#endif
---- a/src/gcc/config/mips/mips.h 2013-02-25 13:53:16.000000000 +0000
-+++ b/src/gcc/config/mips/mips.h 2013-03-20 16:26:18.778235723 +0000
+--- a/src/gcc/config/mips/mips.h
++++ b/src/gcc/config/mips/mips.h
@@ -551,6 +551,54 @@ struct mips_cpu_info {
} \
while (0)
@@ -177,8 +220,8 @@
/* Default target_flags if no switches are specified */
#ifndef TARGET_DEFAULT
---- a/src/gcc/config/pa/pa.h 2013-02-03 19:52:37.000000000 +0000
-+++ b/src/gcc/config/pa/pa.h 2013-03-20 16:26:18.870235724 +0000
+--- a/src/gcc/config/pa/pa.h
++++ b/src/gcc/config/pa/pa.h
@@ -185,6 +185,20 @@ do { \
builtin_define("_PA_RISC1_0"); \
} while (0)
@@ -200,8 +243,8 @@
/* An old set of OS defines for various BSD-like systems. */
#define TARGET_OS_CPP_BUILTINS() \
do \
---- a/src/gcc/config/rs6000/rs6000.h 2013-02-09 09:30:45.000000000 +0000
-+++ b/src/gcc/config/rs6000/rs6000.h 2013-03-20 16:26:19.058235728 +0000
+--- a/src/gcc/config/rs6000/rs6000.h
++++ b/src/gcc/config/rs6000/rs6000.h
@@ -613,6 +613,28 @@ extern unsigned char rs6000_recip_bits[]
#define TARGET_CPU_CPP_BUILTINS() \
rs6000_cpu_cpp_builtins (pfile)
@@ -231,9 +274,9 @@
/* This is used by rs6000_cpu_cpp_builtins to indicate the byte order
we're compiling for. Some configurations may need to override it. */
#define RS6000_CPU_CPP_ENDIAN_BUILTINS() \
---- a/src/gcc/config/s390/s390.h 2013-03-05 12:02:06.000000000 +0000
-+++ b/src/gcc/config/s390/s390.h 2013-03-20 16:26:19.094235727 +0000
-@@ -108,6 +108,21 @@ enum processor_flags
+--- a/src/gcc/config/s390/s390.h
++++ b/src/gcc/config/s390/s390.h
+@@ -108,6 +108,22 @@ enum processor_flags
} \
while (0)
@@ -250,13 +293,14 @@
+ builtin_define ("D_SoftFloat"); \
+ else if(TARGET_HARD_FLOAT) \
+ builtin_define ("D_HardFloat"); \
++ } \
+ while (0)
+
#ifdef DEFAULT_TARGET_64BIT
#define TARGET_DEFAULT (MASK_64BIT | MASK_ZARCH | MASK_HARD_DFP)
#else
---- a/src/gcc/config/sh/sh.h 2013-03-13 18:09:10.000000000 +0000
-+++ b/src/gcc/config/sh/sh.h 2013-03-20 16:26:19.102235728 +0000
+--- a/src/gcc/config/sh/sh.h
++++ b/src/gcc/config/sh/sh.h
@@ -31,6 +31,22 @@ extern int code_for_indirect_jump_scratc
#define TARGET_CPU_CPP_BUILTINS() sh_cpu_cpp_builtins (pfile)
@@ -280,8 +324,8 @@
/* Value should be nonzero if functions must have frame pointers.
Zero means the frame pointer need not be set up (and parms may be accessed
via the stack pointer) in functions that seem suitable. */
---- a/src/gcc/config/sparc/sparc.h 2013-01-10 20:38:27.000000000 +0000
-+++ b/src/gcc/config/sparc/sparc.h 2013-03-20 16:26:19.110235727 +0000
+--- a/src/gcc/config/sparc/sparc.h
++++ b/src/gcc/config/sparc/sparc.h
@@ -27,6 +27,31 @@ along with GCC; see the file COPYING3.
#define TARGET_CPU_CPP_BUILTINS() sparc_target_macros ()
diff --git a/debian/patches/gdc-versym-os.diff b/debian/patches/gdc-versym-os.diff
index 94e9bce..ae71680 100644
--- a/debian/patches/gdc-versym-os.diff
+++ b/debian/patches/gdc-versym-os.diff
@@ -1,7 +1,39 @@
# DP: Implements D OS version conditions.
---- a/src/gcc/config/arm/linux-eabi.h 2013-01-10 20:38:27.000000000 +0000
-+++ b/src/gcc/config/arm/linux-eabi.h 2013-03-20 16:26:19.134235729 +0000
+This implements the following official versions:
+* Windows
+** Win32
+** Win64
+** Cygwin
+** MinGW
+* linux
+* OSX
+* FreeBSD
+* OpenBSD
+* NetBSD
+* Solaris
+* Posix
+* AIX
+* SysV4
+* Hurd
+* Android
+
+These gdc specific versions are also implemented:
+* GNU_MinGW64 (for mingw-w64)
+* GNU_OpenSolaris (for opensolaris)
+* GNU_GLibc (implemented for linux & bsd & opensolaris)
+* GNU_UCLibc (implemented for linux)
+* GNU_Bionic (implemented for linux)
+
+These official OS versions are not implemented:
+* DragonFlyBSD
+* BSD (other BSDs)
+* Haiku
+* SkyOS
+* SysV3
+
+--- a/src/gcc/config/arm/linux-eabi.h
++++ b/src/gcc/config/arm/linux-eabi.h
@@ -30,6 +30,15 @@
} \
while (false)
@@ -18,8 +50,8 @@
/* We default to a soft-float ABI so that binaries can run on all
target hardware. If you override this to use the hard-float ABI then
change the setting of GLIBC_DYNAMIC_LINKER_DEFAULT as well. */
---- a/src/gcc/config/darwin.h 2013-02-11 23:30:10.000000000 +0000
-+++ b/src/gcc/config/darwin.h 2013-03-20 16:26:19.162235729 +0000
+--- a/src/gcc/config/darwin.h
++++ b/src/gcc/config/darwin.h
@@ -921,4 +921,10 @@ extern void darwin_driver_init (unsigned
providing an osx-version-min of this unless overridden by the User. */
#define DEF_MIN_OSX_VERSION "10.4"
@@ -31,8 +63,8 @@
+ } while (0)
+
#endif /* CONFIG_DARWIN_H */
---- a/src/gcc/config/freebsd.h 2013-01-10 20:38:27.000000000 +0000
-+++ b/src/gcc/config/freebsd.h 2013-03-20 16:26:19.178235729 +0000
+--- a/src/gcc/config/freebsd.h
++++ b/src/gcc/config/freebsd.h
@@ -32,6 +32,13 @@ along with GCC; see the file COPYING3.
#undef TARGET_OS_CPP_BUILTINS
#define TARGET_OS_CPP_BUILTINS() FBSD_TARGET_OS_CPP_BUILTINS()
@@ -47,8 +79,8 @@
#undef CPP_SPEC
#define CPP_SPEC FBSD_CPP_SPEC
---- a/src/gcc/config/gnu.h 2013-02-06 23:12:03.000000000 +0000
-+++ b/src/gcc/config/gnu.h 2013-03-20 16:26:19.182235728 +0000
+--- a/src/gcc/config/gnu.h
++++ b/src/gcc/config/gnu.h
@@ -39,3 +39,11 @@ along with GCC. If not, see <http://www
builtin_assert ("system=unix"); \
builtin_assert ("system=posix"); \
@@ -61,8 +93,8 @@
+ builtin_define ("Hurd"); \
+ builtin_define ("Posix"); \
+ } while (0)
---- a/src/gcc/config/i386/cygwin.h 2013-03-13 15:17:54.000000000 +0000
-+++ b/src/gcc/config/i386/cygwin.h 2013-03-20 16:26:19.190235729 +0000
+--- a/src/gcc/config/i386/cygwin.h
++++ b/src/gcc/config/i386/cygwin.h
@@ -20,6 +20,13 @@ along with GCC; see the file COPYING3.
#define EXTRA_OS_CPP_BUILTINS() /* Nothing. */
@@ -77,8 +109,8 @@
#undef CPP_SPEC
#define CPP_SPEC "%(cpp_cpu) %{posix:-D_POSIX_SOURCE} \
-D__CYGWIN32__ -D__CYGWIN__ %{!ansi:-Dunix} -D__unix__ -D__unix \
---- a/src/gcc/config/i386/linux-common.h 2013-01-10 20:38:27.000000000 +0000
-+++ b/src/gcc/config/i386/linux-common.h 2013-03-20 16:26:19.202235730 +0000
+--- a/src/gcc/config/i386/linux-common.h
++++ b/src/gcc/config/i386/linux-common.h
@@ -27,6 +27,15 @@ along with GCC; see the file COPYING3.
} \
while (0)
@@ -95,8 +127,8 @@
#undef CC1_SPEC
#define CC1_SPEC \
LINUX_OR_ANDROID_CC (GNU_USER_TARGET_CC1_SPEC, \
---- a/src/gcc/config/i386/mingw32.h 2013-01-10 20:38:27.000000000 +0000
-+++ b/src/gcc/config/i386/mingw32.h 2013-03-20 16:26:19.206235730 +0000
+--- a/src/gcc/config/i386/mingw32.h
++++ b/src/gcc/config/i386/mingw32.h
@@ -53,6 +53,18 @@ along with GCC; see the file COPYING3.
} \
while (0)
@@ -116,8 +148,8 @@
#ifndef TARGET_USE_PTHREAD_BY_DEFAULT
#define SPEC_PTHREAD1 "pthread"
#define SPEC_PTHREAD2 "!no-pthread"
---- a/src/gcc/config/i386/mingw-w64.h 2013-01-10 20:38:27.000000000 +0000
-+++ b/src/gcc/config/i386/mingw-w64.h 2013-03-20 16:26:19.206235730 +0000
+--- a/src/gcc/config/i386/mingw-w64.h
++++ b/src/gcc/config/i386/mingw-w64.h
@@ -84,3 +84,10 @@ along with GCC; see the file COPYING3.
%{static:-Bstatic} %{!static:-Bdynamic} \
%{shared|mdll: " SUB_LINK_ENTRY " --enable-auto-image-base} \
@@ -129,8 +161,8 @@
+ TARGET_GENERIC_MINGW_OS_D_BUILTINS(); \
+ builtin_define ("GNU_MinGW64"); \
+ } while (0)
---- a/src/gcc/config/i386/sysv4.h 2013-01-10 20:38:27.000000000 +0000
-+++ b/src/gcc/config/i386/sysv4.h 2013-03-20 16:26:19.210235730 +0000
+--- a/src/gcc/config/i386/sysv4.h
++++ b/src/gcc/config/i386/sysv4.h
@@ -70,3 +70,10 @@ along with GCC; see the file COPYING3.
"|%0,_GLOBAL_OFFSET_TABLE_+(.-.LPR%=)}" \
: "=d"(BASE))
@@ -142,8 +174,8 @@
+ builtin_define ("SysV4"); \
+ builtin_define ("Posix"); \
+ } while (0)
---- a/src/gcc/config/ia64/sysv4.h 2013-01-10 20:38:27.000000000 +0000
-+++ b/src/gcc/config/ia64/sysv4.h 2013-03-20 16:26:19.210235730 +0000
+--- a/src/gcc/config/ia64/sysv4.h
++++ b/src/gcc/config/ia64/sysv4.h
@@ -142,3 +142,10 @@ do { \
#define SDATA_SECTION_ASM_OP "\t.sdata"
@@ -155,8 +187,8 @@
+ builtin_define ("SysV4"); \
+ builtin_define ("Posix"); \
+ } while (0)
---- a/src/gcc/config/kfreebsd-gnu.h 2013-01-10 20:38:27.000000000 +0000
-+++ b/src/gcc/config/kfreebsd-gnu.h 2013-03-20 16:26:19.210235730 +0000
+--- a/src/gcc/config/kfreebsd-gnu.h
++++ b/src/gcc/config/kfreebsd-gnu.h
@@ -29,6 +29,14 @@ along with GCC; see the file COPYING3.
} \
while (0)
@@ -172,8 +204,8 @@
#define GNU_USER_DYNAMIC_LINKER GLIBC_DYNAMIC_LINKER
#define GNU_USER_DYNAMIC_LINKER32 GLIBC_DYNAMIC_LINKER32
#define GNU_USER_DYNAMIC_LINKER64 GLIBC_DYNAMIC_LINKER64
---- a/src/gcc/config/knetbsd-gnu.h 2013-01-10 20:38:27.000000000 +0000
-+++ b/src/gcc/config/knetbsd-gnu.h 2013-03-20 16:26:19.218235730 +0000
+--- a/src/gcc/config/knetbsd-gnu.h
++++ b/src/gcc/config/knetbsd-gnu.h
@@ -30,6 +30,16 @@ along with GCC; see the file COPYING3.
} \
while (0)
@@ -191,8 +223,8 @@
#undef GNU_USER_DYNAMIC_LINKER
#define GNU_USER_DYNAMIC_LINKER "/lib/ld.so.1"
---- a/src/gcc/config/kopensolaris-gnu.h 2013-01-10 20:38:27.000000000 +0000
-+++ b/src/gcc/config/kopensolaris-gnu.h 2013-03-20 16:26:19.218235730 +0000
+--- a/src/gcc/config/kopensolaris-gnu.h
++++ b/src/gcc/config/kopensolaris-gnu.h
@@ -30,5 +30,15 @@ along with GCC; see the file COPYING3.
} \
while (0)
@@ -209,8 +241,8 @@
+
#undef GNU_USER_DYNAMIC_LINKER
#define GNU_USER_DYNAMIC_LINKER "/lib/ld.so.1"
---- a/src/gcc/config/linux-android.h 2013-01-10 20:38:27.000000000 +0000
-+++ b/src/gcc/config/linux-android.h 2013-03-20 16:26:19.218235730 +0000
+--- a/src/gcc/config/linux-android.h
++++ b/src/gcc/config/linux-android.h
@@ -25,6 +25,12 @@
builtin_define ("__ANDROID__"); \
} while (0)
@@ -224,8 +256,8 @@
#if ANDROID_DEFAULT
# define NOANDROID "mno-android"
#else
---- a/src/gcc/config/linux.h 2013-01-10 20:38:27.000000000 +0000
-+++ b/src/gcc/config/linux.h 2013-03-20 16:26:19.226235729 +0000
+--- a/src/gcc/config/linux.h
++++ b/src/gcc/config/linux.h
@@ -49,6 +49,20 @@ see the files COPYING3 and COPYING.RUNTI
builtin_assert ("system=posix"); \
} while (0)
@@ -247,8 +279,8 @@
/* Determine which dynamic linker to use depending on whether GLIBC or
uClibc or Bionic is the default C library and whether
-muclibc or -mglibc or -mbionic has been passed to change the default. */
---- a/src/gcc/config/mips/linux-common.h 2013-01-10 20:38:27.000000000 +0000
-+++ b/src/gcc/config/mips/linux-common.h 2013-03-20 16:26:19.230235729 +0000
+--- a/src/gcc/config/mips/linux-common.h
++++ b/src/gcc/config/mips/linux-common.h
@@ -27,6 +27,15 @@ along with GCC; see the file COPYING3.
ANDROID_TARGET_OS_CPP_BUILTINS(); \
} while (0)
@@ -265,8 +297,8 @@
#undef LINK_SPEC
#define LINK_SPEC \
LINUX_OR_ANDROID_LD (GNU_USER_TARGET_LINK_SPEC, \
---- a/src/gcc/config/netbsd.h 2013-01-10 20:38:27.000000000 +0000
-+++ b/src/gcc/config/netbsd.h 2013-03-20 16:26:19.230235729 +0000
+--- a/src/gcc/config/netbsd.h
++++ b/src/gcc/config/netbsd.h
@@ -29,6 +29,14 @@ along with GCC; see the file COPYING3.
} \
while (0)
@@ -282,8 +314,8 @@
/* CPP_SPEC parts common to all NetBSD targets. */
#define NETBSD_CPP_SPEC \
"%{posix:-D_POSIX_SOURCE} \
---- a/src/gcc/config/openbsd.h 2013-01-10 20:38:27.000000000 +0000
-+++ b/src/gcc/config/openbsd.h 2013-03-20 16:26:19.230235729 +0000
+--- a/src/gcc/config/openbsd.h
++++ b/src/gcc/config/openbsd.h
@@ -84,6 +84,14 @@ along with GCC; see the file COPYING3.
} \
while (0)
@@ -299,8 +331,8 @@
/* TARGET_OS_CPP_BUILTINS() common to all OpenBSD ELF targets. */
#define OPENBSD_OS_CPP_BUILTINS_ELF() \
do \
---- a/src/gcc/config/rs6000/aix.h 2013-01-10 20:38:27.000000000 +0000
-+++ b/src/gcc/config/rs6000/aix.h 2013-03-20 16:26:19.230235729 +0000
+--- a/src/gcc/config/rs6000/aix.h
++++ b/src/gcc/config/rs6000/aix.h
@@ -110,6 +110,13 @@
} \
while (0)
@@ -315,8 +347,8 @@
/* Define appropriate architecture macros for preprocessor depending on
target switches. */
---- a/src/gcc/config/rs6000/sysv4.h 2013-01-10 20:38:27.000000000 +0000
-+++ b/src/gcc/config/rs6000/sysv4.h 2013-03-20 16:26:19.238235730 +0000
+--- a/src/gcc/config/rs6000/sysv4.h
++++ b/src/gcc/config/rs6000/sysv4.h
@@ -523,6 +523,13 @@ extern int fixuplabelno;
while (0)
#endif
@@ -331,8 +363,8 @@
#undef ASM_SPEC
#define ASM_SPEC "%(asm_cpu) \
%{,assembler|,assembler-with-cpp: %{mregnames} %{mno-regnames}} \
---- a/src/gcc/config/sparc/sysv4.h 2013-01-10 20:38:27.000000000 +0000
-+++ b/src/gcc/config/sparc/sysv4.h 2013-03-20 16:26:19.242235729 +0000
+--- a/src/gcc/config/sparc/sysv4.h
++++ b/src/gcc/config/sparc/sysv4.h
@@ -117,3 +117,10 @@ do { ASM_OUTPUT_ALIGN ((FILE), Pmode ==
#undef MCOUNT_FUNCTION
diff --git a/debian/rules.conf b/debian/rules.conf
index bc23ace..8c17852 100644
--- a/debian/rules.conf
+++ b/debian/rules.conf
@@ -102,13 +102,13 @@ define gen_no_archs
ifneq (,$$($1_no_cpus))
$1_no_archs += $$(foreach cpu,$$(filter-out i386 amd64 alpha arm,$$($1_no_cpus)),!$$(cpu))
ifneq (,$$(filter i386,$$($1_no_cpus)))
- $1_no_archs += !i386 !hurd-i386 !kfreebsd-i386 !knetbsd-i386
+ $1_no_archs += !i386 !hurd-i386 !kfreebsd-i386
endif
ifneq (,$$(filter amd64,$$($1_no_cpus)))
$1_no_archs += !amd64 !kfreebsd-amd64
endif
ifneq (,$$(filter alpha,$$($1_no_cpus)))
- $1_no_archs += !alpha !hurd-alpha !knetbsd-alpha
+ $1_no_archs += !alpha !hurd-alpha
endif
ifneq (,$$(filter arm,$$($1_no_cpus)))
$1_no_archs += !arm !armel !armhf
@@ -127,7 +127,7 @@ endef
base_deb_cpus := i386 alpha
base_deb_systems :=
$(foreach x,ada java java_plugin fortran libphobos libgc check locale,$(eval $(call gen_no_archs,$(x),$(base_deb_cpus),$(base_deb_systems))))
-linux_no_archs := !hurd-i386 !hurd-alpha !kfreebsd-i386 !kfreebsd-amd64 !knetbsd-i386 !knetbsd-alpha
+linux_no_archs := !hurd-any !kfreebsd-any
GCC_VERSION := $(strip $(shell cat $(firstword $(wildcard $(srcdir)/gcc/FULL-VER $(srcdir)/gcc/BASE-VER))))
NEXT_GCC_VERSION := $(shell echo $(GCC_VERSION) | \
@@ -161,7 +161,7 @@ ifneq (,$(findstring $(PKGSOURCE),gnat))
UPLOADERS = Ludovic Brenta <lbrenta@debian.org>
endif
ifneq (,$(findstring $(PKGSOURCE),gdc))
- UPLOADERS = Iain Buclaw <ibuclaw@ubuntu.com>
+ UPLOADERS = Iain Buclaw <ibuclaw@ubuntu.com>, Matthias Klose <doko@debian.org>
endif
DPKGV = 1.14.15
@@ -229,6 +229,8 @@ LIBC_DEV_DEP = $(LIBC_DEP)-dev
ifeq ($(DEB_CROSS),yes)
LIBC_DEP ?= $(LIBC_DEP)$(LS)$(AQ)
LIBC_DEV_DEP ?= $(LIBC_DEV_DEP)$(LS)$(AQ)
+else
+ LIBC_DBG_DEP = libc6.1-dbg [alpha ia64] | libc0.3-dbg [hurd-i386] | libc0.1-dbg [kfreebsd-i386 kfreebsd-amd64] | libc6-dbg,
endif
# this is about Debian archs name, *NOT* GNU target triplet
@@ -350,14 +352,14 @@ AUTO_BUILD_DEP := m4, libtool,
AUTO_BUILD_DEP += autoconf2.64,
ifneq ($(DEB_CROSS),yes)
-JAVA_BUILD_DEP := libc6.1-dbg [alpha ia64] | libc0.3-dbg [hurd-i386] | libc0.1-dbg [kfreebsd-i386 kfreebsd-amd64] | libc6-dbg, zlib1g-dev, libantlr-java, python, libffi-dev,
+JAVA_BUILD_DEP := zlib1g-dev, libantlr-java, python, libffi-dev,
ifeq ($(PKGSOURCE),gcj-$(BASE_VERSION))
bd_java_archs =
else ifeq ($(single_package)-$(with_java),yes-yes)
bd_java_archs =
else
- bd_java_archs = $(EMPTY) [$(java_no_archs)]
+ bd_java_archs = $(if $(java_no_archs),$(EMPTY) [$(java_no_archs)])
endif
ifneq (,$(java_awt_peers))
@@ -541,6 +543,7 @@ ctrl_flags = \
ctrl_flags += \
-DLIBC_DEV_DEP="$(LIBC_DEV_DEP)" \
-DLIBC_BIARCH_BUILD_DEP="$(LIBC_BIARCH_BUILD_DEP)" \
+ -DLIBC_DBG_DEP="$(LIBC_DBG_DEP)" \
-DFORTRAN_BUILD_DEP="$(FORTRAN_BUILD_DEP)" \
-DGNAT_BUILD_DEP="$(GNAT_BUILD_DEP)" \
-DJAVA_BUILD_DEP="$(JAVA_BUILD_DEP)" \
@@ -704,6 +707,12 @@ ifeq ($(with_libqmath),yes)
addons += $(if $(findstring armel,$(biarchhfarchs)),libhfqmath)
addons += $(if $(findstring armhf,$(biarchsfarchs)),libsfqmath)
endif
+ifeq ($(with_d),yes)
+ languages += d
+ ifeq ($(with_libphobos),yes)
+ addons += libphobos
+ endif
+endif
ifeq ($(with_go),yes)
addons += ggo godev
ifeq ($(with_libgo),yes)
diff --git a/debian/rules.d/binary-d.mk b/debian/rules.d/binary-d.mk
index d6654db..62e9593 100644
--- a/debian/rules.d/binary-d.mk
+++ b/debian/rules.d/binary-d.mk
@@ -21,7 +21,7 @@ dirs_gdc = \
files_gdc = \
$(PF)/bin/$(cmd_prefix)gdc$(pkg_ver) \
$(gcc_lexec_dir)/cc1d
-ifneq ($(GFDL_INVARIANT_FREE),yes)
+ifneq ($(GFDL_INVARIANT_FREE),yes-now-pure-gfdl)
files_gdc += \
$(PF)/share/man/man1/$(cmd_prefix)gdc$(pkg_ver).1
endif
diff --git a/debian/rules.d/binary-java.mk b/debian/rules.d/binary-java.mk
index c8ca9a2..1e7e8b4 100644
--- a/debian/rules.d/binary-java.mk
+++ b/debian/rules.d/binary-java.mk
@@ -5,8 +5,6 @@ ifeq ($(with_separate_libgcj),yes)
ifeq ($(PKGSOURCE),gcj-$(BASE_VERSION))
arch_binaries := $(arch_binaries) jbase
endif
-else
- arch_binaries := $(arch_binaries) jbase
endif
ifeq ($(with_libgcj),yes)
@@ -32,6 +30,9 @@ endif
endif
p_jbase = gcj$(pkg_ver)-base
+ifeq ($(with_separate_libgcj)-$(with_standalone_gcj),no-no)
+ p_jbase = gcc$(pkg_ver)-base
+endif
p_jdk = gcj$(pkg_ver)-jdk$(cross_bin_arch)
p_jrehl = gcj$(pkg_ver)-jre-headless$(cross_bin_arch)
p_jre = gcj$(pkg_ver)-jre$(cross_bin_arch)
@@ -315,6 +316,7 @@ $(binary_stamp)-libgcjdoc: $(install_stamp) $(build_javadoc_stamp)
dh_testroot
dh_installdocs -p$(p_jdoc)
+ sed -i 's/gcc$(pkg_ver)-base/$(p_jbase)/' $(d_jdoc)/usr/share/doc-base/libgcj-doc
dh_installchangelogs -p$(p_jdoc)
mkdir -p $(d_jdoc)/usr/share/doc/$(p_jbase)
cp -al $(builddir)/html $(d_jdoc)/usr/share/doc/$(p_jbase)/api
@@ -416,9 +418,10 @@ endif
done; \
) > $(d_jrehl)/usr/lib/jvm/.java-gcj$(pkg_ver).jinfo
+ifneq (,$(findstring gcj,$(p_jbase)))
cp -p $(srcdir)/libjava/{NEWS,README,THANKS} \
$(d_jrehl)/usr/share/doc/$(p_jbase)/
-
+endif
debian/dh_doclink -p$(p_jrehl) $(p_jbase)
debian/dh_doclink -p$(p_jlib) $(p_jbase)
debian/dh_doclink -p$(p_jlibx) $(p_jbase)
diff --git a/debian/rules.d/binary-source.mk b/debian/rules.d/binary-source.mk
index 61307c2..889fddf 100644
--- a/debian/rules.d/binary-source.mk
+++ b/debian/rules.d/binary-source.mk
@@ -16,6 +16,9 @@ $(binary_stamp)-gcc-source:
dh_install -p$(p_source) $(gcc_tarball) usr/src/gcc$(pkg_ver)
# dh_install -p$(p_source) $(gcj_tarball) usr/src/gcc$(pkg_ver)
+ifneq (,$(gdc_tarball))
+ dh_install -p$(p_source) $(gdc_tarball) usr/src/gcc$(pkg_ver)
+endif
tar cf - $$(find './debian' -mindepth 1 \( \
-name .svn -prune -o \
-path './debian/gcc-*' -type d -prune -o \
diff --git a/debian/rules.defs b/debian/rules.defs
index 9fe7c94..522aca5 100644
--- a/debian/rules.defs
+++ b/debian/rules.defs
@@ -579,11 +579,12 @@ endif
# with_separate_libgcj=yes, with_standalone_gcj=no
java_no_cpus := # arm64 mips mipsel
-java_no_systems := knetbsd-gnu
+java_no_systems :=
ifneq ($(single_package),yes)
with_separate_libgcj := yes
endif
+with_separate_libgcj := no
with_standalone_gcj := no
ifneq ($(separate_lang),yes)
@@ -735,6 +736,7 @@ d_no_snap := yes
ifneq ($(single_package),yes)
with_separate_gdc := yes
endif
+with_separate_gdc := no
ifneq ($(separate_lang),yes)
with_d := yes
diff --git a/debian/rules.patch b/debian/rules.patch
index fe71fbe..fdfc9d4 100644
--- a/debian/rules.patch
+++ b/debian/rules.patch
@@ -156,13 +156,16 @@ ifeq ($(with_d),yes)
gdc-4.8 \
gdc-versym-cpu \
gdc-versym-os
-
+ ifneq ($(GFDL_INVARIANT_FREE),yes)
+ debian_patches += gdc-4.8-doc
+ else
+ debian_patches += gdc-texinfo
+ endif
ifeq ($(with_libphobos),yes)
debian_patches += gdc-libphobos-build
else
debian_patches += gdc-driver-nophobos
endif
-
else
debian_patches += gcc-d-lang
endif
diff --git a/debian/rules.unpack b/debian/rules.unpack
index 92f1a3e..590cbae 100644
--- a/debian/rules.unpack
+++ b/debian/rules.unpack
@@ -121,13 +121,7 @@ $(unpack_stamp)-$(gcc_tarball): $(gcc_tarpath)
false; \
fi
rm -rf $(gcc_srcdir)
- case $(gcc_tarball) in \
- *.bz2) tar -x --bzip2 -f $(gcc_tarpath);; \
- *.gz) tar -x --gzip -f $(gcc_tarpath);; \
- *.lzma) lzcat $(gcc_tarpath) | tar -x -f -;; \
- *.xz) xzcat $(gcc_tarpath) | tar -x -f -;; \
- *) false; \
- esac
+ tar -x -f $(gcc_tarpath)
mv $(gcc_srcdir) $(srcdir)
ln -sf libsanitizer $(srcdir)/libasan
ifneq (,$(wildcard java-class-files.tar.xz.uue))
@@ -215,7 +209,7 @@ endif
ifneq (,$(gdc_tarball))
$(unpack_stamp)-$(gdc_tarball): $(gdc_tarpath) $(unpack_stamp)-$(gcc_tarball)
: # unpack gdc tarball
- -mkdir $(stampdir)
+ mkdir -p $(stampdir)
if [ -d $(srcdir)/gcc/d ]; then \
echo >&2 "Source directory $(srcdir)/gcc/d exists. Delete by hand";\
false; \
@@ -225,15 +219,8 @@ $(unpack_stamp)-$(gdc_tarball): $(gdc_tarpath) $(unpack_stamp)-$(gcc_tarball)
rm -rf $(srcdir)/gcc/testsuite/gdc.test
rm -f $(srcdir)/gcc/testsuite/lib/gdc*.exp
rm -rf $(srcdir)/libphobos
-
- case $(gdc_tarball) in \
- *.bz2) tar -x --bzip2 -f $(gdc_tarpath);; \
- *.gz) tar -x --gzip -f $(gdc_tarpath);; \
- *.lzma) lzcat $(gdc_tarpath) | tar -x -f -;; \
- *.xz) xzcat $(gdc_tarpath) | tar -x -f -;; \
- *) false; \
- esac
-ifeq ($(GFDL_INVARIANT_FREE),yes)
+ tar -x -C $(srcdir) --strip-components=1 -f $(gdc_tarpath)
+ifeq ($(GFDL_INVARIANT_FREE),yes-now-purge-gfdl)
ifneq ($(single_package),yes)
for i in gcc/d/gdc.texi; do \
n=$$(basename $$i .texi); \