Browse Source

- switch to %option(s) - upgrade to snapshot 2002-12-23 - activate version tracking again - fix %install procedure - merge in with_threads stuff from gcc package - merge in -O0 stuff from gcc package

master
parent
commit
820b053dc0
  1. 11
      gcc33/gcc.patch
  2. 62
      gcc33/gcc.sh
  3. 62
      gcc33/gcc33.spec

11
gcc33/gcc.patch

@ -1,11 +0,0 @@
--- config.guess.orig Tue Apr 16 02:15:59 2002
+++ config.guess Fri Jun 28 17:19:43 2002
@@ -166,7 +166,7 @@
;;
esac
# The OS release
- release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
+ release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*$//'`
# Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
# contains redundant information, the shorter form:
# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.

62
gcc33/gcc.sh

@ -1,62 +0,0 @@
#!/bin/sh
##
## gcc.sh -- GCC Package Build Utility
## Copyright (c) 2002 Ralf S. Engelschall <rse@engelschall.com>
##
check="$1"
shift
case $check in
require-binutils )
# determine whether GNU gcc requires GNU binutils on this platform
require="no"
target="$1"
shift
case $target in
*-linux* )
# under Linux the vendor ld is GNU binutils,
# but make sure it is GNU binutils >= 2.12
if [ -f /etc/debian_version ]; then
v=`/usr/bin/dpkg -l binutils | grep binutils | awk '{ print $3; }'`
elif [ -f /etc/redhat-release ]; then
v=`/bin/rpm -q --qf '%{VERSION}' binutils`
elif [ -f /etc/SuSE-release ]; then
v=`/bin/rpm -q --qf '%{VERSION}' binutils`
else
v=`(/usr/bin/ld --version | grep 'GNU ld' | sed -e 's;^[^0-9]*\([0-9].[0-9.]*\).*;\1;') 2>/dev/null`
fi
case "$v" in
2.1[2-9] | 2.1[2-9].* ) ;;
* ) require="yes" ;;
esac
;;
*-freebsd* )
# under FreeBSD the vendor ld is GNU binutils,
# but make sure it is GNU binutils >= 2.12
v=`(/usr/bin/ld --version | grep 'GNU ld' | sed -e 's;^[^0-9]*\([0-9].[0-9.]*\).*;\1;') 2>/dev/null`
case "$v" in
2.1[2-9] | 2.1[2-9].* ) ;;
* ) require="yes" ;;
esac
;;
* )
# under other OS the vendor ld is usually not GNU binutils,
# but if it is, make sure it is GNU binutils >= 2.12
for dir in /bin /usr/bin /usr/ccs/bin /sbin /usr/sbin /usr/ccs/sbin; do
if [ -f "$dir/ld" ]; then
if [ ".`($dir/ld --version) 2>/dev/null | grep 'GNU ld'`" != . ]; then
v=`($dir/ld --version | grep 'GNU ld' | sed -e 's;^[^0-9]*\([0-9].[0-9.]*\).*;\1;') 2>/dev/null`
# require GNU binutils >= 2.12
case "$v" in
2.1[2-9] | 2.1[2-9].* ) ;;
* ) require="yes"; break ;;
esac
fi
fi
done
;;
esac
echo "$require" | awk '{ printf("%s", $1); }'
;;
esac

62
gcc33/gcc33.spec

@ -26,41 +26,35 @@
# package versions # package versions
%define V_major 3.3 %define V_major 3.3
%define V_short 33 %define V_short 33
%define V_snap 20021014 %define V_snap_comp 20021223
%define V_snap_dash 2002-12-23
# package options # package options
%ifndef with_cxx %option with_cxx yes
%define with_cxx yes %option with_optimize yes
%endif %option with_binutils yes
%ifndef with_optimize %option with_threads yes
%define with_optimize yes
%endif
%ifndef with_binutils
%define with_binutils %(if [ -f %{SOURCE gcc.sh} ]; then sh %{SOURCE gcc.sh} require-binutils %{l_target}; else echo "no"; fi)
%endif
# package information # package information
Name: gcc33 Name: gcc33
Summary: GNU Compiler Collection (VERSION 3.3 SNAPSHOT) Summary: GNU Compiler Collection (3.3)
URL: http://gcc.gnu.org/ URL: http://gcc.gnu.org/
Vendor: Free Software Foundation Vendor: Free Software Foundation
Packager: The OpenPKG Project Packager: The OpenPKG Project
Distribution: OpenPKG [CORE] Distribution: OpenPKG [CORE]
Group: Language Group: Language
License: GPL License: GPL
Version: %{V_major}s%{V_snap} Version: %{V_major}s%{V_snap_comp}
Release: 20021018 Release: 20021230
# list of sources # list of sources
Source0: gcc-%{V_major}-snapshot-%{V_snap}.tar.bz2 Source0: ftp://gcc.gnu.org/pub/gcc/snapshots/%{V_snap_dash}/gcc-%{V_snap_comp}.tar.bz2
Source1: gcc.sh
Patch0: gcc.patch
# build information # build information
Prefix: %{l_prefix} Prefix: %{l_prefix}
BuildRoot: %{l_buildroot} BuildRoot: %{l_buildroot}
BuildPreReq: OpenPKG, openpkg >= 20020206, make BuildPreReq: OpenPKG, openpkg >= 20021230, make
PreReq: OpenPKG, openpkg >= 20020206 PreReq: OpenPKG, openpkg >= 20021230
%if "%{with_binutils}" == "yes" %if "%{with_binutils}" == "yes"
BuildPreReq: binutils >= 2.13 BuildPreReq: binutils >= 2.13
PreReq: binutils >= 2.13 PreReq: binutils >= 2.13
@ -72,14 +66,10 @@ AutoReqProv: no
The GNU Compiler Collection (GCC) provides a standard conforming and The GNU Compiler Collection (GCC) provides a standard conforming and
highly portable ISO C and ISO C++ compiler. highly portable ISO C and ISO C++ compiler.
Options: %options -p13
--define 'with_cxx %{with_cxx}'
--define 'with_optimize %{with_optimize}'
--define 'with_binutils %{with_binutils}'
%prep %prep
%setup -q -n gcc-%{V_major}-snapshot %setup -q -n gcc-%{V_snap_comp}
%patch -p0
%{l_shtool} subst -v -s \ %{l_shtool} subst -v -s \
-e "s;PREFIX_INCLUDE_DIR;PREFIX_INCLUDE_DIR_DISABLED;g" \ -e "s;PREFIX_INCLUDE_DIR;PREFIX_INCLUDE_DIR_DISABLED;g" \
gcc/configure gcc/configure
@ -105,7 +95,11 @@ AutoReqProv: no
%else %else
--enable-languages="c" \ --enable-languages="c" \
%endif %endif
--enable-threads \ %if "%{with_threads}" == "yes"
--enable-threads=posix \
%else
--enable-threads=single \
%endif
--disable-maintainer-mode \ --disable-maintainer-mode \
--disable-shared \ --disable-shared \
--disable-nls \ --disable-nls \
@ -130,10 +124,10 @@ AutoReqProv: no
*-osf* ) l_boot_cflags="-O" ;; *-osf* ) l_boot_cflags="-O" ;;
esac esac
%else %else
l_boot_cflags="" l_boot_cflags="-O0"
l_cflags="" l_cflags=""
l_libcflags="-g" l_libcflags="-g -O0"
l_libcxxflags="-g" l_libcxxflags="-g -O0"
%endif %endif
%{l_make} %{l_mflags} \ %{l_make} %{l_mflags} \
MAKE="%{l_make} %{l_mflags}" \ MAKE="%{l_make} %{l_mflags}" \
@ -202,14 +196,14 @@ AutoReqProv: no
done done
# cleanup tree # cleanup tree
rm -f $RPM_BUILD_ROOT%{l_prefix}/lib/gcc-lib rm -rf $RPM_BUILD_ROOT%{l_prefix}/lib/gcc-lib
rm -f $RPM_BUILD_ROOT%{l_prefix}/lib/libiberty.a rm -f $RPM_BUILD_ROOT%{l_prefix}/lib/libiberty.a
rm -f $RPM_BUILD_ROOT%{l_prefix}/lib/gcc%{V_short}-lib/$triple/%{version}/libstdc++.a rm -f $RPM_BUILD_ROOT%{l_prefix}/lib/gcc%{V_short}-lib/$triple/%{V_major}/libstdc++.a
mv $RPM_BUILD_ROOT%{l_prefix}/lib/libstdc++.a* \ mv $RPM_BUILD_ROOT%{l_prefix}/lib/libstdc++.a* \
$RPM_BUILD_ROOT%{l_prefix}/lib/gcc%{V_short}-lib/$triple/%{version}/libstdc++.a $RPM_BUILD_ROOT%{l_prefix}/lib/gcc%{V_short}-lib/$triple/%{V_major}/libstdc++.a
rm -f $RPM_BUILD_ROOT%{l_prefix}/lib/gcc%{V_short}-lib/$triple/%{version}/libsupc++.a rm -f $RPM_BUILD_ROOT%{l_prefix}/lib/gcc%{V_short}-lib/$triple/%{V_major}/libsupc++.a
mv $RPM_BUILD_ROOT%{l_prefix}/lib/libsupc++.a* \ mv $RPM_BUILD_ROOT%{l_prefix}/lib/libsupc++.a* \
$RPM_BUILD_ROOT%{l_prefix}/lib/gcc%{V_short}-lib/$triple/%{version}/libsupc++.a $RPM_BUILD_ROOT%{l_prefix}/lib/gcc%{V_short}-lib/$triple/%{V_major}/libsupc++.a
# rename files # rename files
( cd $RPM_BUILD_ROOT%{l_prefix}/bin ( cd $RPM_BUILD_ROOT%{l_prefix}/bin
@ -229,7 +223,7 @@ AutoReqProv: no
) )
# create file list # create file list
%{l_rpmtool} files -v -o$RPM_BUILD_DIR/gcc-%{V_major}-snapshot/files -r$RPM_BUILD_ROOT %{l_files_std} %{l_rpmtool} files -v -o$RPM_BUILD_DIR/gcc-%{V_snap_comp}/files -r$RPM_BUILD_ROOT %{l_files_std}
%files -f files %files -f files

Loading…
Cancel
Save