2013-11-23 20:42:54 +01:00

103 lines
2.6 KiB
Bash
Executable File

#!/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.0.4
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]=
# Source function library
. ${BUILDPKG_SCRIPTS}/buildpkg.functions
# Common settings for gcc
. ${BUILDPKG_BASE}/gcc/build.sh.gcc.common
# Global settings
# This compiler is bootstrapped with gcc 2.95.3
export PATH=/usr/tgcware/gcc29/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
}
reg build
build()
{
${__mkdir} -p ${srcdir}/$objdir
generic_build ../$objdir
}
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
# Move gcj includes
${__mv} $stagedir$lprefix/include/{gnu,gcj,java,jni.h,jvmpi.h} $stagedir$lprefix/lib/$libsubdir/${arch}-${vendor}-solaris*/$version/include
# Move libobjc.so* so redo_libs can fix it up
${__mv} $stagedir$lprefix/lib/$libsubdir/${arch}-${vendor}-solaris*/$version/libobjc.so* $stagedir$lprefix/lib
# 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 $*