--- gcc-3.2-r4.ebuild.orig 2002-11-22 11:47:05.000000000 +0200 +++ gcc-3.2-r4.ebuild 2002-11-25 17:45:30.000000000 +0200 @@ -2,7 +2,7 @@ # Distributed under the terms of the GNU General Public License v2 # $Header: /home/cvsroot/gentoo-x86/sys-devel/gcc/gcc-3.2-r4.ebuild,v 1.3 2002/11/21 15:41:40 doctomoe Exp $ -IUSE="static nls bootstrap java build" +IUSE="static nls bootstrap java ada build x86" # NOTE TO MAINTAINER: Info pages get nuked for multiple version installs. # Ill fix it later if i get a chance. @@ -69,6 +69,26 @@ >=sys-apps/texinfo-4.2-r4 !build? ( >=sys-libs/ncurses-5.2-r2 )" +if [ -n "`use ada`" ] && [ -z "`use build`" ] +then + GNAT_SUPPORTED_ARCHS="x86" + GNAT_BIN_FILE="" + for i in ${GNAT_SUPPORTED_ARCHS} + do + if [ -n "`use ${i}`" ] + then + GNAT_BIN_FILE=${P}-bootstrap-gnat-${i}.tar.bz2 + fi + done + if [ "${GNAT_BIN_FILE}" == "" ] + then + die "There is not yet Ada bootstrap compiler available for your architecture." + fi + + SRC_URI="${SRC_URI} + mirror://gentoo/distfiles/${GNAT_BIN_FILE}" + PROVIDE="virtual/gnat" +fi build_multiple() { # Try to make sure that we should build multiple @@ -149,29 +169,57 @@ ${x}.orig > ${x} rm -f ${x}.orig done + + # Ada requires gnat compiler to bootstrap + if [ -n "`use ada`" ] && [ -z "`use build`" ] + then + unpack ${GNAT_BIN_FILE} + local gnat_dir="${S}/bootstrap-gnat" + export ADAC="${gnat_dir}/gnatgcc" + export GNATBIND="${gnat_dir}/gnatbind" + export PATH="${gnat_dir}:${PATH}" + fi } src_compile() { local myconf="" + local myboot="" + local myutil="" local gcc_lang="" + if [ -z "`use build`" ] then myconf="${myconf} --enable-shared" - gcc_lang="c,c++,ada,f77,objc" + gcc_lang="c,c++,f77,objc" else gcc_lang="c" fi + if [ -z "`use nls`" ] || [ "`use build`" ] then myconf="${myconf} --disable-nls" else myconf="${myconf} --enable-nls --without-included-gettext" fi + + if [ -z "`use static`" ] + then + myboot="${myboot} bootstrap-lean" + else + myboot="${myboot} LDFLAGS=-static bootstrap" + myutil="${myutil} LDFLAGS=-static" + fi + if [ -n "`use java`" ] && [ -z "`use build`" ] then gcc_lang="${gcc_lang},java" fi + if [ -n "`use ada`" ] && [ -z "`use build`" ] + then + gcc_lang="${gcc_lang},ada" + fi + # Only build with a program suffix if it is not our # default compiler. Also check $GCCBUILD until we got # compilers sorted out. @@ -214,18 +262,25 @@ touch ${S}/gcc/c-gperf.h - if [ -z "`use static`" ] + if [ -n "`use ada`" ] && [ -z "`use build`" ] then - # Fix for our libtool-portage.patch - S="${WORKDIR}/build" \ - emake bootstrap-lean \ - BOOT_CFLAGS="${CFLAGS}" STAGE1_CFLAGS="-O" || die + pushd ${S}/gcc/ada + touch treeprs.ads [es]info.h nmake.ad[bs] + popd + fi + + S="${WORKDIR}/build" \ + emake ${myboot} \ + BOOT_CFLAGS="${CFLAGS}" STAGE1_CFLAGS="-O" || die # Above FLAGS optimize and speedup build, thanks # to Jeff Garzik - else - S="${WORKDIR}/build" \ - emake LDFLAGS=-static bootstrap \ - BOOT_CFLAGS="${CFLAGS}" STAGE1_CFLAGS="-O" || die + + if [ -n "`use ada`" ] && [ -z "`use build`" ] + then + pushd ${WORKDIR}/build/gcc + S="${WORKDIR}/build/gcc" \ + emake ${myutil} -j 1 gnatlib_and_tools || die + popd fi } @@ -395,6 +450,14 @@ docinto libjava dodoc ChangeLog* COPYING HACKING LIBGCJ_LICENSE NEWS README THANKS fi + + if [ -n "`use ada`" ] + then + cd ${S}/gcc/ada + docinto gnat + dodoc gnat-style.texi gnat_rm.texi gnat_ug.texi + fi + else rm -rf ${D}/usr/share/{man,info} fi