#!/bin/sh # build gcc for Slackware CWD=`pwd` GCC_VER=3.0 ARCH=gcc-$GCC_VER TARGET=i386-slackware-linux TEMPDIR=/tmp cd $TEMPDIR tar xyvf $CWD/gcc-3.0.tar.bz2 # install docs ( cd gcc-3.0 mkdir -p $TEMPDIR/package-gcc/usr/doc/gcc-3.0 cp -a BUGS COPYING COPYING.LIB FAQ GNATS MAINTAINERS README faq.html gnats.html \ $TEMPDIR/package-gcc/usr/doc/gcc-3.0 mkdir -p $TEMPDIR/package-gcc/usr/doc/gcc-3.0/gcc/f ( cd gcc cp -a ABOUT* COPYING* LANG* NEWS README* SERVICE \ $TEMPDIR/package-gcc/usr/doc/gcc-3.0/gcc cd f cp -a BUGS NEWS README RELEASE-PREP \ $TEMPDIR/package-gcc/usr/doc/gcc-3.0/gcc/f cd ../objc mkdir -p $TEMPDIR/package-gcc/usr/doc/gcc-3.0/gcc/objc cp -a README $TEMPDIR/package-gcc/usr/doc/gcc-3.0/gcc/objc ) ) # build gcc ( mkdir gcc.build.lnx; cd gcc.build.lnx; # CFLAGS="-Wall -g1 -O2" CFLAGS="-Wall -O2" LDFLAGS=-s \ ../$ARCH/configure --prefix=/usr \ --enable-shared \ --with-gnu-ld \ --enable-threads \ --verbose \ --target=${TARGET} \ --host=${TARGET} make bootstrap; make info make check; make install prefix=$TEMPDIR/package-gcc/usr; make -i install-info prefix=$TEMPDIR/package-gcc/usr; # Fix stuff up: chown -R root.root $TEMPDIR/package-gcc ( cd $TEMPDIR/package-gcc/usr/info ; rm dir ; gzip -9 * ) cd $TEMPDIR/package-gcc mkdir -p lib ( cd lib ; ln -sf /usr/bin/cpp . ) ( cd usr/bin mv g++ g++-gcc-3.0 mv gcc gcc-3.0 mv g77 g77-gcc-3.0 ln -sf g++-gcc-3.0 g++ ln -sf gcc-3.0 gcc ln -sf g77-gcc-3.0 g77 ln -sf g++ c++ ln -sf gcc cc ln -sf gcc-3.0 i386-slackware-linux-gcc ln -sf g++-gcc-3.0 i386-slackware-linux-c++ ln -sf g++-gcc-3.0 i386-slackware-linux-g++ ln -sf g77 f77 strip * chown root.bin * . ) ( cd usr/lib/gcc-lib/i386-slackware-linux/3.0 strip cc1* collect2 cpp f771 jc1 jvgenmain ) ( cd usr/man gzip -9 * ln -sf g++.1.gz c++.1.gz ln -sf g77.1.gz f77.1.gz ln -sf gcc.1.gz cc.1.gz ) # build the tgz package ( cd $TEMPDIR/package-gcc; echo "y n" | makepkg $TEMPDIR/$ARCH.tgz ) # keep a log ) 2>&1 | tee $TEMPDIR/gcc.build.log