Browse Source

Clifford Wolf:


			
			
				rocklinux
			
			
		
Clifford Wolf 17 years ago
parent
commit
3f29538825
8 changed files with 182 additions and 7 deletions
  1. +12
    -1
      package/base/gcc/config-300.in
  2. +4
    -0
      package/base/gcc/gcc.conf
  3. +5
    -0
      package/base/gcc/gcc.desc
  4. +50
    -0
      package/base/gcc/gcc42/auxbase.patch
  5. +39
    -0
      package/base/gcc/gcc42/install_so.patch
  6. +36
    -0
      package/base/gcc/gcc42/no-install-libiberty.patch
  7. +30
    -0
      package/base/gcc/gcc42/no-install-zlib.patch
  8. +6
    -6
      package/base/gcc/wrappers.in

+ 12
- 1
package/base/gcc/config-300.in

@ -30,6 +30,7 @@ then
bool 'Building gcc 3.4.x package' ROCKCFG_PKG_GCC_GCC34 0
bool 'Building gcc 4.0.x package' ROCKCFG_PKG_GCC_GCC40 1
bool 'Building gcc 4.1.x package' ROCKCFG_PKG_GCC_GCC41 0
bool 'Building gcc 4.2.x package' ROCKCFG_PKG_GCC_GCC42 0
d="none" ; l="" ; m=""
if [ $ROCKCFG_PKG_GCC_GCC2 = 1 ]; then pkgfork gcc gcc2; d="gcc2"; l="$l $d"; fi
@ -38,6 +39,7 @@ then
if [ $ROCKCFG_PKG_GCC_GCC34 = 1 ]; then pkgfork gcc gcc34; d="gcc34"; l="$l $d"; fi
if [ $ROCKCFG_PKG_GCC_GCC40 = 1 ]; then pkgfork gcc gcc40; d="gcc40"; l="$l $d"; m="$m $d"; fi
if [ $ROCKCFG_PKG_GCC_GCC41 = 1 ]; then pkgfork gcc gcc41; d="gcc41"; l="$l $d"; m="$m $d"; fi
if [ $ROCKCFG_PKG_GCC_GCC42 = 1 ]; then pkgfork gcc gcc42; d="gcc42"; l="$l $d"; m="$m $d"; fi
pkgremove gcc
k=""; for x in $l; do
@ -67,7 +69,7 @@ then
# build non-default CCs in stages 5 and 9
# and dedicated C++ and Fortran77 compilers in stages 2 and 9
k=""; for x in gcc2 gcc32 gcc33 gcc34 gcc40 gcc41; do
k=""; for x in gcc2 gcc32 gcc33 gcc34 gcc40 gcc41 gcc42; do
if [ "$ROCKCFG_DEFAULT_CC" != "$x" ] ; then
if [[ "$ROCKCFG_DEFAULT_CXX" != "$x" && "$ROCKCFG_DEFAULT_F77" != "$x" ]]; then
k="$k / gcc=$x / s/^\(.\) [0-9-]*/\1 -----5---9/;";
@ -130,6 +132,15 @@ then
ROCKCFG_PKG_GCC41_PROFILED 1
include "package/*/*/subconfig-gcc41.in"
fi
if pkgcheck gcc=gcc42 X; then
comment ' '
comment '--- GCC 4.2.x options'
bool 'Do not build JAVA compiler' \
ROCKCFG_PKG_GCC42_NO_JAVA 1
bool 'Do profiled bootstrap' \
ROCKCFG_PKG_GCC42_PROFILED 1
include "package/*/*/subconfig-gcc42.in"
fi
menu_end
fi

+ 4
- 0
package/base/gcc/gcc.conf

@ -218,6 +218,8 @@ custmain() {
elif [ $xpkg = gcc40 -a "$ROCKCFG_PKG_GCC40_NO_JAVA" != 0 ] || \
[ $xpkg = gcc41 -a "$ROCKCFG_PKG_GCC41_NO_JAVA" != 0 ]; then
confopt="$confopt --enable-languages=c,c++,objc,f95"
elif [ $xpkg = gcc42 -a "$ROCKCFG_PKG_GCC42_NO_JAVA" != 0 ]; then
confopt="$confopt --enable-languages=c,c++,objc,fortran"
elif [ "$arch" = mips ] ; then
# FIXME: MIPS doesn't like the Java compiler
confopt="$confopt --disable-libgcj"
@ -249,6 +251,8 @@ custmain() {
eval "$MAKE GCJFLAGS=\"$CXXFLAGS\" profiledbootstrap"
elif [ $xpkg = gcc41 -a "$ROCKCFG_PKG_GCC41_PROFILED" != 0 ]; then
eval "$MAKE GCJFLAGS=\"$CXXFLAGS\" profiledbootstrap"
elif [ $xpkg = gcc42 -a "$ROCKCFG_PKG_GCC42_PROFILED" != 0 ]; then
eval "$MAKE GCJFLAGS=\"$CXXFLAGS\" profiledbootstrap"
else
eval "$MAKE GCJFLAGS=\"$CXXFLAGS\" all"
fi

+ 5
- 0
package/base/gcc/gcc.desc

@ -80,6 +80,11 @@
[D] 1410840800 gcc-4.1.2.tar.bz2 ftp://gcc.gnu.org/pub/gcc/releases/gcc-4.1.2/
#endif
#if xpkg == gcc42.*
[V] 4.2.0
[D] 4172407453 gcc-4.2.0.tar.bz2 ftp://gcc.gnu.org/pub/gcc/releases/gcc-4.2.0/
#endif
[CD] <COPY> for x in $cachedir/*.cache; do cp $x $confdir/$pkg.cache; done
[CV-URL] ftp://gcc.gnu.org/pub/gcc/releases/

+ 50
- 0
package/base/gcc/gcc42/auxbase.patch

@ -0,0 +1,50 @@
# --- ROCK-COPYRIGHT-NOTE-BEGIN ---
#
# This copyright note is auto-generated by ./scripts/Create-CopyPatch.
# Please add additional copyright information _after_ the line containing
# the ROCK-COPYRIGHT-NOTE-END tag. Otherwise it might get removed by
# the ./scripts/Create-CopyPatch script. Do not edit this copyright text!
#
# ROCK Linux: rock-src/package/base/gcc/gcc41/auxbase.patch
# ROCK Linux is Copyright (C) 1998 - 2006 Clifford Wolf
#
# This patch file is dual-licensed. It is available under the license the
# patched project is licensed under, as long as it is an OpenSource license
# as defined at http://www.opensource.org/ (e.g. BSD, X11) or 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.
#
# --- ROCK-COPYRIGHT-NOTE-END ---
This fix is for passing -auxbase or -auxbase-strip thru the "gcc" driver
programs (e.g. 'gcc') to the backend compilers (e.g. 'cc1'). We will need
this for supporting feedback compilation using the ROCK toolchain...
- Clifford <clifford@clifford.at>
--- ./gcc/gcc.h.orig 2004-09-24 15:42:27.000000000 +0200
+++ ./gcc/gcc.h 2004-09-24 15:43:24.000000000 +0200
@@ -46,6 +46,7 @@
(!strcmp (STR, "Tdata") || !strcmp (STR, "Ttext") \
|| !strcmp (STR, "Tbss") || !strcmp (STR, "include") \
|| !strcmp (STR, "imacros") || !strcmp (STR, "aux-info") \
+ || !strcmp (STR, "auxbase") || !strcmp (STR, "auxbase-strip") \
|| !strcmp (STR, "idirafter") || !strcmp (STR, "iprefix") \
|| !strcmp (STR, "iwithprefix") || !strcmp (STR, "iwithprefixbefore") \
|| !strcmp (STR, "isystem") || !strcmp (STR, "-param") \
--- ./gcc/gcc.c.orig 2004-09-24 15:44:36.000000000 +0200
+++ ./gcc/gcc.c 2004-09-24 15:48:48.000000000 +0200
@@ -788,9 +788,9 @@
/* NB: This is shared amongst all front-ends. */
static const char *cc1_options =
"%{pg:%{fomit-frame-pointer:%e-pg and -fomit-frame-pointer are incompatible}}\
- %1 %{!Q:-quiet} -dumpbase %B %{d*} %{m*} %{a*}\
+ %1 %{!Q:-quiet} -dumpbase %B %{d*} %{m*}\
%{c|S:%{o*:-auxbase-strip %*}%{!o*:-auxbase %b}}%{!c:%{!S:-auxbase %b}}\
- %{g*} %{O*} %{W*&pedantic*} %{w} %{std*&ansi&trigraphs}\
+ %{a*} %{g*} %{O*} %{W*&pedantic*} %{w} %{std*&ansi&trigraphs}\
%{v:-version} %{pg:-p} %{p} %{f*} %{undef}\
%{Qn:-fno-ident} %{--help:--help}\
%{--target-help:--target-help}\

+ 39
- 0
package/base/gcc/gcc42/install_so.patch

@ -0,0 +1,39 @@
# --- ROCK-COPYRIGHT-NOTE-BEGIN ---
#
# This copyright note is auto-generated by ./scripts/Create-CopyPatch.
# Please add additional copyright information _after_ the line containing
# the ROCK-COPYRIGHT-NOTE-END tag. Otherwise it might get removed by
# the ./scripts/Create-CopyPatch script. Do not edit this copyright text!
#
# ROCK Linux: rock-src/package/base/gcc/gcc41/install_so.patch
# ROCK Linux is Copyright (C) 1998 - 2006 Clifford Wolf
#
# This patch file is dual-licensed. It is available under the license the
# patched project is licensed under, as long as it is an OpenSource license
# as defined at http://www.opensource.org/ (e.g. BSD, X11) or 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.
#
# --- ROCK-COPYRIGHT-NOTE-END ---
--- ./install-sh.orig 2003-07-20 11:40:28.000000000 +0200
+++ ./install-sh 2003-11-02 17:04:13.000000000 +0100
@@ -279,8 +279,15 @@
&& { test -z "$chmodcmd" || $doit $chmodcmd "$dsttmp"; } &&
# Now rename the file to the real destination.
- { $doit $mvcmd -f "$dsttmp" "$dstdir/$dstfile" 2>/dev/null \
- || {
+ { if echo $dstdir/$dstfile | grep -q 'lib/.*\.so' ; then
+ $doit $mvcmd $dsttmp $dstdir/$dstfile
+ rc=$?
+ else
+ $doit $rmcmd -f $dstdir/$dstfile &&
+ $doit $mvcmd $dsttmp $dstdir/$dstfile
+ rc=$?
+ fi
+ [ $rc -eq 0 ] || {
# The rename failed, perhaps because mv can't rename something else
# to itself, or perhaps because mv is so ancient that it does not
# support -f.

+ 36
- 0
package/base/gcc/gcc42/no-install-libiberty.patch

@ -0,0 +1,36 @@
# --- ROCK-COPYRIGHT-NOTE-BEGIN ---
#
# This copyright note is auto-generated by ./scripts/Create-CopyPatch.
# Please add additional copyright information _after_ the line containing
# the ROCK-COPYRIGHT-NOTE-END tag. Otherwise it might get removed by
# the ./scripts/Create-CopyPatch script. Do not edit this copyright text!
#
# ROCK Linux: rock-src/package/base/gcc/gcc41/no-install-libiberty.patch
# ROCK Linux is Copyright (C) 1998 - 2006 Clifford Wolf
#
# This patch file is dual-licensed. It is available under the license the
# patched project is licensed under, as long as it is an OpenSource license
# as defined at http://www.opensource.org/ (e.g. BSD, X11) or 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.
#
# --- ROCK-COPYRIGHT-NOTE-END ---
--- ./libiberty/Makefile.in.orig 2003-03-23 06:16:03.000000000 -0400
+++ ./libiberty/Makefile.in 2003-05-15 17:02:18.000000000 -0400
@@ -342,10 +342,10 @@
# since it will be passed the multilib flags.
MULTIOSDIR = `$(CC) $(LIBCFLAGS) -print-multi-os-directory`
install_to_libdir: all
- ${mkinstalldirs} $(DESTDIR)$(libdir)/$(MULTIOSDIR)
- $(INSTALL_DATA) $(TARGETLIB) $(DESTDIR)$(libdir)/$(MULTIOSDIR)/$(TARGETLIB)n
- ( cd $(DESTDIR)$(libdir)/$(MULTIOSDIR) ; chmod 644 $(TARGETLIB)n ;$(RANLIB) $(TARGETLIB)n )
- mv -f $(DESTDIR)$(libdir)/$(MULTIOSDIR)/$(TARGETLIB)n $(DESTDIR)$(libdir)/$(MULTIOSDIR)/$(TARGETLIB)
+ #${mkinstalldirs} $(DESTDIR)$(libdir)/$(MULTIOSDIR)
+ #$(INSTALL_DATA) $(TARGETLIB) $(DESTDIR)$(libdir)/$(MULTIOSDIR)/$(TARGETLIB)n
+ #( cd $(DESTDIR)$(libdir)/$(MULTIOSDIR) ; chmod 644 $(TARGETLIB)n ;$(RANLIB) $(TARGETLIB)n )
+ #mv -f $(DESTDIR)$(libdir)/$(MULTIOSDIR)/$(TARGETLIB)n $(DESTDIR)$(libdir)/$(MULTIOSDIR)/$(TARGETLIB)
if test -n "${target_header_dir}"; then \
case "${target_header_dir}" in \
/*) thd=${target_header_dir};; \

+ 30
- 0
package/base/gcc/gcc42/no-install-zlib.patch

@ -0,0 +1,30 @@
# --- ROCK-COPYRIGHT-NOTE-BEGIN ---
#
# This copyright note is auto-generated by ./scripts/Create-CopyPatch.
# Please add additional copyright information _after_ the line containing
# the ROCK-COPYRIGHT-NOTE-END tag. Otherwise it might get removed by
# the ./scripts/Create-CopyPatch script. Do not edit this copyright text!
#
# ROCK Linux: rock-src/package/base/gcc/gcc41/no-install-zlib.patch
# ROCK Linux is Copyright (C) 1998 - 2006 Clifford Wolf
#
# This patch file is dual-licensed. It is available under the license the
# patched project is licensed under, as long as it is an OpenSource license
# as defined at http://www.opensource.org/ (e.g. BSD, X11) or 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.
#
# --- ROCK-COPYRIGHT-NOTE-END ---
--- ./zlib/Makefile.in.orig 2002-11-25 21:28:45.000000000 +0200
+++ ./zlib/Makefile.in 2003-01-25 15:39:06.000000000 +0200
@@ -510,7 +510,7 @@
for dir in "$(DESTDIR)$(toolexeclibdir)"; do \
test -z "$$dir" || $(mkdir_p) "$$dir"; \
done
-install: install-am
+install:
install-exec: install-exec-am
install-data: install-data-am
uninstall: uninstall-am

+ 6
- 6
package/base/gcc/wrappers.in

@ -41,14 +41,14 @@ gcc_build_wrapper() {
done
}
gcc_build_wrapper CC ${arch_target}-cc ${arch_target}-gcc{-2,-32,-33,-34,-40,-41,}
gcc_build_wrapper KCC ${arch_target}-kcc{-2,-32,-33,-34,-40,-41,}
gcc_build_wrapper CC ${arch_target}-cc ${arch_target}-gcc{-2,-32,-33,-34,-40,-41,-42,}
gcc_build_wrapper KCC ${arch_target}-kcc{-2,-32,-33,-34,-40,-41,-42,}
if [ $stagelevel -gt 1 -o "$ROCKCFG_USE_CROSSCC" = 0 ]; then
gcc_build_wrapper CC cc gcc{-2,-32,-33,-34,-40,-41,}
gcc_build_wrapper CXX {c,g}++{-2,-32,-33,-34,-40,-41,}
gcc_build_wrapper F77 {g,f}77{-2,-32,-33,-34,-40,-41,}
gcc_build_wrapper KCC kcc{-2,-32,-33,-34,-40,-41,}
gcc_build_wrapper CC cc gcc{-2,-32,-33,-34,-40,-41,-42,}
gcc_build_wrapper CXX {c,g}++{-2,-32,-33,-34,-40,-41,-42,}
gcc_build_wrapper F77 {g,f}77{-2,-32,-33,-34,-40,-41,-42,}
gcc_build_wrapper KCC kcc{-2,-32,-33,-34,-40,-41,-42,}
fi
if [ $stagelevel -le 1 ]; then

Loading…
Cancel
Save