gcc31: new package, gcc 3.1.1
This commit is contained in:
116
gcc31/build.sh
Executable file
116
gcc31/build.sh
Executable file
@@ -0,0 +1,116 @@
|
||||
#!/bin/bash
|
||||
# This is a buildpkg build.sh script
|
||||
# build.sh helper functions
|
||||
. ${BUILDPKG_SCRIPTS}/build.sh.functions
|
||||
#
|
||||
###########################################################
|
||||
# Check the following 4 variables before running the script
|
||||
topdir=gcc
|
||||
version=3.1.1
|
||||
pkgver=1
|
||||
source[0]=ftp://ftp.sunet.se/pub/gnu/gcc/releases/$topdir-$version/$topdir-$version.tar.bz2
|
||||
# If there are no patches, simply comment this
|
||||
patch[0]=gcc-3.1.1-fix-scandecls.patch
|
||||
|
||||
# Source function library
|
||||
. ${BUILDPKG_SCRIPTS}/buildpkg.functions
|
||||
|
||||
# Common settings for gcc
|
||||
. ${BUILDPKG_BASE}/gcc/build.sh.gcc.common
|
||||
|
||||
# Global settings
|
||||
|
||||
# This compiler is bootstrapped using the old gnat distributions which also
|
||||
# contain gcc 2.8.1. Note that gnat 3.15p will not work.
|
||||
# sparc: gnat-3.14p-sparc-sun-solaris2.5.1-bin.tar.gz
|
||||
# x86: gnat-3.12p-i386-pc-solaris2.6-bin.tar.gz
|
||||
# For x86 it is necessary to build gnat 3.14p from source using gnat 3.12p.
|
||||
# Put gnat compiler first in the path
|
||||
export PATH=$HOME/gnat314p/bin:$PATH
|
||||
|
||||
reg prep
|
||||
prep()
|
||||
{
|
||||
generic_prep
|
||||
setdir source
|
||||
# Set bugurl and vendor version
|
||||
${__gsed} -i "/GCCBUGURL/s|URL:[^>]*|URL:$gccbugurl|" gcc/system.h
|
||||
${__gsed} -i "s/$version/$version (release)/" gcc/version.c
|
||||
${__gsed} -i "s/(release)/($gccpkgversion)/" gcc/version.c gcc/f/version.c
|
||||
# not gccpkgversion, because the version string will exceed max length
|
||||
${__gsed} -i "s/(release)/(${version}-${pkgver})/" gcc/ada/gnatvsn.ads
|
||||
|
||||
if [ "$vendor" = "pc" ]; then
|
||||
# Building ada with -g is not possible on x86
|
||||
${__gsed} -i '/STAGE1_CFLAGS/ s/-g//' gcc/Makefile.in
|
||||
${__gsed} -i '/FORCE_DEBUG_ADAFLAGS/ s/-g//' gcc/ada/Makefile.in
|
||||
fi
|
||||
}
|
||||
|
||||
reg build
|
||||
build()
|
||||
{
|
||||
${__mkdir} -p ${srcdir}/$objdir
|
||||
generic_build ../$objdir
|
||||
# Build gnat
|
||||
# This is hacky but the buildsystem tries to use the host gnatbind
|
||||
# where it should have used the just built one
|
||||
export PATH=$srcdir/$objdir/gcc:$PATH
|
||||
setdir ${srcdir}/${objdir}
|
||||
${__make} -C gcc gnatlib
|
||||
${__make} -C gcc gnattools
|
||||
}
|
||||
|
||||
reg install
|
||||
install()
|
||||
{
|
||||
clean stage
|
||||
setdir ${srcdir}/${objdir}
|
||||
mkdir -p $stagedir${prefix}
|
||||
mkdir -p $stagedir${lprefix}
|
||||
${__make} -e prefix=$stagedir${lprefix} gxx_include_dir=$stagedir$lprefix/include/c++/$version glibcppinstalldir=$stagedir$lprefix/include/c++/$version bindir=$stagedir${prefix}/bin mandir=$stagedir${prefix}/man infodir=$stagedir${prefix}/info install
|
||||
custom_install=1
|
||||
generic_install
|
||||
${__find} ${stagedir} -name '*.la' -print | ${__xargs} ${__rm} -f
|
||||
|
||||
# Rearrange libraries
|
||||
redo_libs
|
||||
|
||||
# Remove obsolete gccbug script
|
||||
${__rm} -f $stagedir$prefix/bin/gccbug
|
||||
|
||||
# Turn all the hardlinks in bin into symlinks
|
||||
redo_bin
|
||||
|
||||
# Place share/docs in the regular location
|
||||
prefix=$topinstalldir
|
||||
doc COPYING* BUGS FAQ MAINTAINERS gcc/NEWS
|
||||
}
|
||||
|
||||
reg check
|
||||
check()
|
||||
{
|
||||
setdir source
|
||||
setdir ../$objdir
|
||||
${__make} -k check
|
||||
}
|
||||
|
||||
reg pack
|
||||
pack()
|
||||
{
|
||||
iprefix=${topdir}${abbrev_majorminor}
|
||||
generic_pack
|
||||
}
|
||||
|
||||
reg distclean
|
||||
distclean()
|
||||
{
|
||||
META_CLEAN="$META_CLEAN compver.*"
|
||||
clean distclean
|
||||
${__rm} -rf $srcdir/$objdir
|
||||
}
|
||||
|
||||
###################################################
|
||||
# No need to look below here
|
||||
###################################################
|
||||
build_sh $*
|
||||
Reference in New Issue
Block a user