diff --git a/gcc/build.sh b/gcc/build.sh index 50beccc..e803565 100755 --- a/gcc/build.sh +++ b/gcc/build.sh @@ -9,26 +9,38 @@ ########################################################### # Check the following 4 variables before running the script topdir=gcc -version=3.3.6 -pkgver=1 +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 -. ${HOME}/buildpkg/scripts/buildpkg.functions +. ${BUILDPKG_BASE}/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/local -configure_args="--prefix=${prefix}/gcc-$version --disable-nls --with-as=/usr/ccs/bin/as --with-ld=/usr/ccs/bin/ld --with-system-zlib --enable-languages=c,c++,f77 --with-cpu=ultrasparc" - -objdir=$srcdir/objdir +prefix=/usr/tgcware/$topdir-$version +__configure="../$topsrcdir/configure" +make_build_target=bootstrap # Define abbreviated version number (for pkgdef) -abbrev_ver=$(echo $version|sed -e 's/\.//g') +abbrev_ver=$(echo $version | ${__tr} -d '.') -# gcc base dir (for pkgdef) -gccdir=gcc-$version +global_config_args="--prefix=$prefix --with-local-prefix=$prefix --disable-nls --enable-shared" +langs="--enable-languages=c,c++,f77,objc,ada" +configure_args="$global_config_args $langs $platform_configure_args" +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 reg prep prep() @@ -39,46 +51,66 @@ prep() reg build build() { - $MKDIR "$objdir" - setdir "$objdir" - $srcdir/$topsrcdir/configure $configure_args - $MAKE_PROG + 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() { - setdir $objdir - $MAKE_PROG DESTDIR=$stagedir 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 -) + + # 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() { - # We want to create gcc, libstdc++ and libgcc packages - # Copy files for libgcc package - $MKDIR -p ${stagedir}${prefix}/lib - $MKDIR -p ${stagedir}${prefix}/lib/sparcv9 - $CP ${stagedir}${prefix}/$gccdir/lib/libgcc_s.so.1 ${stagedir}${prefix}/lib - $CP ${stagedir}${prefix}/$gccdir/lib/sparcv9/libgcc_s.so.1 ${stagedir}${prefix}/lib/sparcv9 - - # Copy files for libstdc++ package - $MKDIR -p ${stagedir}${prefix}/lib - $MKDIR -p ${stagedir}${prefix}/lib/sparcv9 - $CP ${stagedir}${prefix}/$gccdir/lib/libstdc++.so.* ${stagedir}${prefix}/lib - $CP ${stagedir}${prefix}/$gccdir/lib/sparcv9/libstdc++.so.* ${stagedir}${prefix}/lib/sparcv9 -# rm -f ${stagedir}${prefix}/lib/libstdc++.so -# rm -f ${stagedir}${prefix}/lib/sparcv9/libstdc++.so - - # now create packages according to pkgdef + iprefix=$topdir-$version generic_pack } reg distclean distclean() { + META_CLEAN="$META_CLEAN compver.*" clean distclean - $RM -rf $objdir + ${__rm} -rf $srcdir/$objdir } ################################################### diff --git a/gcc/meta/depend b/gcc/meta/depend new file mode 100644 index 0000000..d211e8a --- /dev/null +++ b/gcc/meta/depend @@ -0,0 +1,4 @@ +TGCg346gn gcc auto +TGCg346cx gcc auto +TGCg346ob gcc auto +TGCg346g7 gcc auto diff --git a/gcc/meta/pkgdef b/gcc/meta/pkgdef index 49288bf..daf0863 100644 --- a/gcc/meta/pkgdef +++ b/gcc/meta/pkgdef @@ -1,34 +1,220 @@ [gcc] -pkgname="$pkgprefix""gcc""$abbrev_ver" -name="GCC - GNU Compiler Collection" +pkgname="${pkgprefix}g${abbrev_ver}c" +name="gcc" pkgvendor="http://gcc.gnu.org" -pkgdesc="GNU Compiler Collection (C, C++)" +pkgdesc="GNU Compiler Collection (C)" pkgver="$pkgver" files(-,root,bin) -$gccdir +dir $iprefix +dir $iprefix/bin +dir $iprefix/lib/gcc/sparc-sun-solaris*/3.4.6/include +dir $iprefix/lib/gcc/sparc-sun-solaris*/3.4.6 +dir $iprefix/lib/gcc/sparc-sun-solaris* +dir $iprefix/lib/gcc +dir $iprefix/lib +dir $iprefix/man +dir $iprefix/man/man1 +dir $iprefix/man/man7 +dir $iprefix/info +dir $iprefix/share +dir $iprefix/libexec/gcc/sparc-sun-solaris*/$version +dir $iprefix/libexec/gcc/sparc-sun-solaris* +dir $iprefix/libexec/gcc +dir $iprefix/libexec +$iprefix/bin/*gcc* +$iprefix/bin/gcov +$iprefix/bin/cpp +$iprefix/lib/gcc/sparc-sun-solaris*/$version/gcrt* +$iprefix/lib/gcc/sparc-sun-solaris*/$version/crt* +$iprefix/lib/gcc/sparc-sun-solaris*/$version/libgcc* +$iprefix/lib/gcc/sparc-sun-solaris*/$version/libgcov* +$iprefix/lib/gcc/sparc-sun-solaris*/$version/specs +$iprefix/lib/gcc/sparc-sun-solaris*/$version/gmon.o +$iprefix/lib/gcc/sparc-sun-solaris*/$version/include/README +$iprefix/lib/gcc/sparc-sun-solaris*/$version/include/X11 +$iprefix/lib/gcc/sparc-sun-solaris*/$version/include/curses.h +$iprefix/lib/gcc/sparc-sun-solaris*/$version/include/float.h +$iprefix/lib/gcc/sparc-sun-solaris*/$version/include/floatingpoint.h +$iprefix/lib/gcc/sparc-sun-solaris*/$version/include/g2c.h +$iprefix/lib/gcc/sparc-sun-solaris*/$version/include/iso646.h +$iprefix/lib/gcc/sparc-sun-solaris*/$version/include/limits.h +$iprefix/lib/gcc/sparc-sun-solaris*/$version/include/math.h +$iprefix/lib/gcc/sparc-sun-solaris*/$version/include/memory.h +$iprefix/lib/gcc/sparc-sun-solaris*/$version/include/pthread.h +$iprefix/lib/gcc/sparc-sun-solaris*/$version/include/root +$iprefix/lib/gcc/sparc-sun-solaris*/$version/include/rpc +$iprefix/lib/gcc/sparc-sun-solaris*/$version/include/stdarg.h +$iprefix/lib/gcc/sparc-sun-solaris*/$version/include/stdbool.h +$iprefix/lib/gcc/sparc-sun-solaris*/$version/include/stddef.h +$iprefix/lib/gcc/sparc-sun-solaris*/$version/include/stdio.h +$iprefix/lib/gcc/sparc-sun-solaris*/$version/include/stdlib.h +$iprefix/lib/gcc/sparc-sun-solaris*/$version/include/sys +$iprefix/lib/gcc/sparc-sun-solaris*/$version/include/syslimits.h +$iprefix/lib/gcc/sparc-sun-solaris*/$version/include/unistd.h +$iprefix/lib/gcc/sparc-sun-solaris*/$version/include/unwind.h +$iprefix/lib/gcc/sparc-sun-solaris*/$version/include/varargs.h +$iprefix/lib/gcc/sparc-sun-solaris*/$version/install-tools +$iprefix/libexec/gcc/sparc-sun-solaris*/$version/install-tools +$iprefix/libexec/gcc/sparc-sun-solaris*/$version/collect2 +$iprefix/libexec/gcc/sparc-sun-solaris*/$version/cc1 +$iprefix/info/gcc* +$iprefix/info/cpp* +$iprefix/lib/libiberty.a +$iprefix/lib/libgcc* +$iprefix/man/?a?1/gcc.1 +$iprefix/man/?a?1/cpp.1 +$iprefix/man/?a?1/gcov.1 +$iprefix/man/?a?7/*.7 +$_sharedir -[libgcc] -pkgname="$pkgprefix""libgccso1" -name="libgcc - GCC runtime support" -pkgcat="library" +[gcc-gnat] +pkgname="${pkgprefix}g${abbrev_ver}gn" +name="gcc-gnat" pkgvendor="http://gcc.gnu.org" -pkgdesc="Runtime support for programs built with gcc 3.x" +pkgdesc="GNU Compiler Collection (Ada)" +pkgver="$pkgver" +files(-,root,bin) +dir $iprefix +dir $iprefix/bin +dir $iprefix/lib/gcc/sparc-sun-solaris*/$version/adainclude +dir $iprefix/lib/gcc/sparc-sun-solaris*/$version/adalib +dir $iprefix/lib/gcc/sparc-sun-solaris*/$version +dir $iprefix/lib/gcc/sparc-sun-solaris* +dir $iprefix/lib/gcc +dir $iprefix/lib +dir $iprefix/libexec/gcc/sparc-sun-solaris*/3.4.6 +dir $iprefix/libexec/gcc/sparc-sun-solaris* +dir $iprefix/libexec/gcc +dir $iprefix/libexec +dir $iprefix/man/man1 +dir $iprefix/share/gnat +dir $iprefix/share +$iprefix/bin/gnat* +$iprefix/bin/gpr* +$iprefix/lib/gcc/sparc-sun-solaris*/$version/adainclude +$iprefix/lib/gcc/sparc-sun-solaris*/$version/adalib +$iprefix/libexec/gcc/sparc-sun-solaris*/$version/gnat1 +$iprefix/share/gnat/Makefile.* + +[gcc-c++] +pkgname="${pkgprefix}g${abbrev_ver}cx" +name="gcc-c++" +pkgvendor="http://gcc.gnu.org" +pkgdesc="GNU Compiler Collection (C++)" +pkgver="$pkgver" +files(-,root,bin) +dir $iprefix +dir $iprefix/bin +dir $iprefix/include +dir $iprefix/lib +dir $iprefix/libexec/gcc/sparc-sun-solaris*/3.4.6 +dir $iprefix/libexec/gcc/sparc-sun-solaris* +dir $iprefix/libexec/gcc +dir $iprefix/libexec +dir $iprefix/man/man1 +dir $iprefix/man +$iprefix/bin/*++* +$iprefix/include/c++ +$iprefix/lib/libstdc++.* +$iprefix/lib/libsupc++.a +$iprefix/libexec/gcc/sparc-sun-solaris*/$version/cc1plus +$iprefix/man/man1/g++.1 + +[gcc-objc] +pkgname="${pkgprefix}g${abbrev_ver}ob" +name="gcc-objc" +pkgvendor="http://gcc.gnu.org" +pkgdesc="GNU Compiler Collection (Objective-C)" +pkgver="$pkgver" +files(-,root,bin) +dir $iprefix +dir $iprefix/lib +dir $iprefix/lib/gcc/sparc-sun-solaris*/$version/include/objc +dir $iprefix/lib/gcc/sparc-sun-solaris*/$version/include +dir $iprefix/lib/gcc/sparc-sun-solaris*/$version +dir $iprefix/lib/gcc/sparc-sun-solaris* +dir $iprefix/lib/gcc +dir $iprefix/lib +dir $iprefix/libexec/gcc/sparc-sun-solaris*/$version +dir $iprefix/libexec/gcc/sparc-sun-solaris* +dir $iprefix/libexec/gcc +dir $iprefix/libexec +$iprefix/lib/gcc/sparc-sun-solaris*/$version/include/objc +$iprefix/lib/libobjc.* +$iprefix/libexec/gcc/sparc-sun-solaris*/$version/cc1obj + +[gcc-g77] +pkgname="${pkgprefix}g${abbrev_ver}g7" +name="gcc-g77" +pkgvendor="http://gcc.gnu.org" +pkgdesc="GNU Compiler Collection (Fortran 77)" +pkgver="$pkgver" +files(-,root,bin) +dir $iprefix +dir $iprefix/bin +dir $iprefix/lib +dir $iprefix/lib/gcc/sparc-sun-solaris*/$version/include +dir $iprefix/lib/gcc/sparc-sun-solaris*/$version +dir $iprefix/lib/gcc/sparc-sun-solaris* +dir $iprefix/lib/gcc +dir $iprefix/lib +dir $iprefix/libexec/gcc/sparc-sun-solaris*/$version +dir $iprefix/libexec/gcc/sparc-sun-solaris* +dir $iprefix/libexec/gcc +dir $iprefix/libexec +dir $iprefix/share +dir $iprefix/info +dir $iprefix/man +dir $iprefix/man/man1 +$iprefix/bin/?77 +$iprefix/lib/gcc/sparc-sun-solaris*/$version/include/g2c.h +$iprefix/lib/libfrtbegin.a +$iprefix/lib/libg2c.* +$iprefix/libexec/gcc/sparc-sun-solaris*/$version/f771 +$iprefix/man/?a?1/g77.1 +$iprefix/info/g77.info* + +[libgcc_s1] +pkgname="${pkgprefix}lgcc1" +name="libgcc_s1" +pkgcat="system" +pkgvendor="http://gcc.gnu.org" +pkgdesc="GCC shared support library" pkgver="$pkgver" files(-,root,bin) dir $_libdir -dir $_libdir/sparcv9 -$_libdir/libgcc_s* -$_libdir/sparcv9/libgcc_s* +$_libdir/libgcc_s.so.1* -[libstdc++] -pkgname="$pkgprefix""libstdcso5" -name="libstdc++ - GCC runtime support" -pkgcat="library" +[libstdc++6] +pkgname="${pkgprefix}lstdc6" +name="libstdc++6" +pkgcat="system" pkgvendor="http://gcc.gnu.org" -pkgdesc="Runtime support for c++ programs" +pkgdesc="GNU Standard C++ Library" pkgver="$pkgver" files(-,root,bin) dir $_libdir -dir $_libdir/sparcv9 -$_libdir/libstdc++* -$_libdir/sparcv9/libstdc++* +$_libdir/libstdc++.so.6* + +[libobjc1] +pkgname="${pkgprefix}lobjc1" +name="libobjc1" +pkgcat="system" +pkgvendor="http://gcc.gnu.org" +pkgdesc="GNU Objective-C shared support library" +pkgver="$pkgver" +files(-,root,bin) +dir $_libdir +$_libdir/libobjc.so.1* + +[libg2c0] +pkgname="${pkgprefix}lg2c0" +name="libg2c0" +pkgcat="system" +pkgvendor="http://gcc.gnu.org" +pkgdesc="GNU g77 shared support library" +pkgver="$pkgver" +files(-,root,bin) +dir $_libdir +$_libdir/libg2c.so.0* + diff --git a/gcc/meta/relnotes b/gcc/meta/relnotes new file mode 100644 index 0000000..bd83629 --- /dev/null +++ b/gcc/meta/relnotes @@ -0,0 +1,27 @@ +PACKAGE DETAILS +--------------- +Name: %%PKGNAME%% +Version: %%SOURCE_AND_VER%% +Vendor: %%VENDOR%% +Packager: %%PKGEDBY%% + +Source (sha1sum): +%%SOURCE_SHA1SUM%% + +BUILD DETAILS +------------- +Compiler: +%%COMPILER%% + +Environment: +%%ENVIRONMENT%% + +Configure: +%%CONFIGURE%% + +KNOWN DEPENDENCIES +------------------ +%%DEPENDENCIES%% + +ERRORS/MISCELLANEOUS +--------------------