Tom G. Christensen aba50c28ad configure_args is now an array
Note that the of use += requires bash 3.1 or later.
2013-08-11 16:51:05 +02:00

128 lines
3.0 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.4.6
pkgver=4
source[0]=$topdir-$version.tar.bz2
## If there are no patches, simply comment this
#patch[0]=
# Source function library
. ${BUILDPKG_SCRIPTS}/buildpkg.functions
# GCC package naming guide
# gcc - c
# gcc-c++ - cx
# gcc-gnat - gn
# gcc-objc - ob
# gcc-objc++ - ox
# gcc-java - jv
# Global settings
prefix=/usr/tgcware/$topdir-$version
__configure="../$topsrcdir/configure"
make_build_target=bootstrap
# Define abbreviated version number (for pkgdef)
abbrev_ver=$(echo $version | ${__tr} -d '.')
configure_args=(--prefix=$prefix --with-local-prefix=$prefix --disable-nls --enable-shared)
configure_args+=(--enable-languages=c,c++,f77,objc,ada)
objdir=cccgoa_native
export CC=/export/home/tgc/gnat/bin/gcc
export GNATROOT=/export/home/tgc/gnat
export PATH=/export/home/tgc/gnat/bin:$PATH
# Conditionals for pkgdef
[ -n "$(isainfo | grep sparcv9)" ] && v9libs=1
[ "$_os" = "sunos56" ] && sol26=1
[ "$_os" = "sunos57" ] && sol27=1
reg prep
prep()
{
generic_prep
}
reg build
build()
{
setdir source
${__mkdir} -p ../$objdir
echo "$__configure $configure_args"
setdir $srcdir/$objdir
${__configure} $configure_args
${__make} $make_build_target
setdir ${srcdir}/${objdir}
${__make} -C gcc gnatlib
${__make} -C gcc gnattools
}
reg install
install()
{
clean stage
setdir ${srcdir}/${objdir}
${__make} DESTDIR=$stagedir install
custom_install=1
generic_install
${__find} ${stagedir} -name '*.la' -print | ${__xargs} ${__rm} -f
# Prepare for split lib packages
lprefix=$topinstalldir
${__mkdir} -p ${stagedir}${lprefix}/${_libdir}
setdir ${stagedir}${prefix}/${_libdir}
${__tar} -cf - libgcc_s.so.1 libstdc++.so.6* libg2c.so.0* libobjc.so.1* |
(cd ${stagedir}${lprefix}/${_libdir}; ${__tar} -xvBpf -)
if [ "x$v9libs" != "x" ]; then
${__mkdir} -p ${stagedir}${lprefix}/${_libdir}/sparcv9
setdir ${stagedir}${prefix}/${_libdir}/sparcv9
${__tar} -cf - libgcc_s.so.1 libstdc++.so.6* libg2c.so.0* libobjc.so.1* |
(cd ${stagedir}${lprefix}/${_libdir}/sparcv9; ${__tar} -xvBpf -)
fi
# Place share/docs in the regular location
prefix=$topinstalldir
doc COPYING* BUGS FAQ MAINTAINERS NEWS
for pkg in libg2c0 libgcc_s1 libobjc1 libstdc++6
do
${__rm} -f $metadir/compver.$pkg
compat $pkg 3.4.6 1 $pkgver
done
}
reg check
check()
{
setdir source
setdir ../$objdir
${__make} -k check
}
reg pack
pack()
{
iprefix=$topdir-$version
generic_pack
}
reg distclean
distclean()
{
META_CLEAN="$META_CLEAN compver.*"
clean distclean
${__rm} -rf $srcdir/$objdir
}
###################################################
# No need to look below here
###################################################
build_sh $*