diff options
author | Eric Sandall | 2008-04-08 09:25:16 -0700 |
---|---|---|
committer | Eric Sandall | 2008-04-08 09:26:43 -0700 |
commit | 4f424d2cc6571e5f4a53fa2562835644c42dbf8c (patch) | |
tree | 6a980feb70682122b6014f83d2fbc3703ec41c4b /gnu/ada | |
parent | ff59752992951c915d773ab1299e45f5fa98105d (diff) |
ada: Many muckings to get this POS to work. Now supports x86_64, the bootstrap has
been updated to 4.3.0 as well, and added instructions on how to build a bootstrap
for future use. ada 4.3.0 requires a lot of environment settings not required
before (nor now by the other GCC tools) and does not support profiledbootstrap
(see http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32581). Ada specs are no longer
installed nor merged with the rest of the specs (breaks gcc and the only two apps
which use GNAT, ncurses and gtkada, compile without them).
Diffstat (limited to 'gnu/ada')
-rwxr-xr-x | gnu/ada/BUILD | 24 | ||||
-rwxr-xr-x | gnu/ada/DETAILS | 34 | ||||
-rwxr-xr-x | gnu/ada/FINAL | 4 | ||||
-rw-r--r-- | gnu/ada/HISTORY | 41 | ||||
-rwxr-xr-x | gnu/ada/INSTALL | 9 | ||||
-rwxr-xr-x | gnu/ada/POST_REMOVE | 2 | ||||
-rwxr-xr-x | gnu/ada/POST_RESURRECT | 2 | ||||
-rwxr-xr-x | gnu/ada/PRE_BUILD | 38 | ||||
-rw-r--r-- | gnu/ada/gnat-4.1.1-i386-pc-linux-gnu.tar.bz2.sig | bin | 536 -> 0 bytes | |||
-rw-r--r-- | gnu/ada/specs_ada | 9 |
10 files changed, 114 insertions, 49 deletions
diff --git a/gnu/ada/BUILD b/gnu/ada/BUILD index 7f753afaf9..a4bfaa841b 100755 --- a/gnu/ada/BUILD +++ b/gnu/ada/BUILD @@ -6,13 +6,25 @@ persistent_read gcc GCC_CFLAGS CFLAGS && persistent_read gcc GCC_LDFLAGS LDFLAGS && # setup bootstrap ada compiler -ADA_PATH=gnat-4.1.1-i386-pc-linux-gnu && -PATH=$SOURCE_DIRECTORY/$ADA_PATH/bin:$PATH && +ADA_PATH=${SOURCE3/.tar.bz2/} && +PATH=$SOURCE_DIRECTORY/$ADA_PATH/usr/bin:$PATH && if [[ "${SMGL_COMPAT_ARCHS[1]}" == "x86_64" ]]; then OPTS="--build=x86_64-pc-linux-gnu $OPTS" fi && +export CC="$SOURCE_DIRECTORY/$ADA_PATH/usr/bin/gnatgcc" && +export INCLUDE_DIR="$SOURCE_DIRECTORY/$ADA_PATH/usr/lib/gnatgcc/$HOST/4.3.0/include" && +export LIB_DIR="$SOURCE_DIRECTORY/$ADA_PATH/usr/lib/gnatgcc/$HOST/4.3.0/" && +export LDFLAGS="-L${LIB_DIR}" + +export LIBRARY_PATH="$LIB_DIR" && +export LD_LIBRARY_PATH="$LIB_DIR" && +export COMPILER_PATH="$SOURCE_DIRECTORY/$ADA_PATH/usr/bin" && + +export ADA_OBJECTS_PATH="$LIB_DIR/adalib" && +export ADA_INCLUDE_PATH="$LIB_DIR/adainclude" && + cd $SOURCE_DIRECTORY.bld && $SOURCE_DIRECTORY/configure \ --host=$HOST \ @@ -21,9 +33,11 @@ $SOURCE_DIRECTORY/configure \ --mandir=${INSTALL_ROOT}/usr/share/man \ --enable-threads=posix \ --with-system-zlib \ - --enable-languages=ada \ + --program-prefix=gnat \ + --enable-libada \ + --enable-languages="ada" \ $GCC_MULTILIB \ $OPTS && -make CFLAGS="$CFLAGS" BOOT_CFLAGS="$CFLAGS" LDFLAGS="$LDFLAGS" \ - profiledbootstrap +make CFLAGS="$CFLAGS" BOOT_CFLAGS="$CFLAGS" LDFLAGS="$LDFLAGS" \ + bootstrap diff --git a/gnu/ada/DETAILS b/gnu/ada/DETAILS index 3e6d1794af..5758e07998 100755 --- a/gnu/ada/DETAILS +++ b/gnu/ada/DETAILS @@ -5,26 +5,31 @@ SOURCE_DIRECTORY=$BUILD_DIRECTORY/gcc-$VERSION SOURCE_URL[0]=$GNU_URL/gcc/gcc-$VERSION/$SOURCE SOURCE_URL[1]=ftp://gcc.gnu.org/pub/gcc/releases/gcc-$VERSION/$SOURCE SOURCE2=gcc-$SPELL-$VERSION.tar.bz2 + SOURCE2_GPG=gnu.gpg:$SOURCE2.sig:UPSTREAM_KEY SOURCE2_URL[0]=$GNU_URL/gcc/gcc-$VERSION/$SOURCE2 SOURCE2_URL[1]=ftp://gcc.gnu.org/pub/gcc/releases/gcc-$VERSION/$SOURCE2 - SOURCE3=gnat-4.1.1-i386-pc-linux-gnu.tar.bz2 - SOURCE3_GPG=gurus.gpg:$SOURCE3.sig:UPSTREAM_KEY +if [[ "${SMGL_COMPAT_ARCHS[1]}" == "ia32" ]] +then + SOURCE3=gnat-4.3.0-i686-pc-linux-gnu.tar.bz2 +elif [[ "${SMGL_COMPAT_ARCHS[1]}" == "x86_64" ]] +then + SOURCE3=gnat-4.3.0-x86_64-pc-linux-gnu.tar.bz2 +else + SOURCE3=gnat-4.3.0-i686-pc-linux-gnu.tar.bz2 +fi + SOURCE3_GPG="gurus.gpg:$SOURCE3.sig:VERIFIED_UPSTREAM_KEY" SOURCE3_URL[0]=http://download.sourcemage.org/distro/$SOURCE3 - + SOURCE4=$SOURCE3.sig + SOURCE4_URL[0]=${SOURCE3_URL[0]}.sig + SOURCE4_IGNORE=signature #upstream signatures - SOURCE4=$SOURCE.sig - SOURCE4_URL[0]=${SOURCE_URL[0]}.sig + SOURCE5=$SOURCE.sig + SOURCE5_URL[0]=${SOURCE_URL[0]}.sig SOURCE_GPG=gnu.gpg:$SOURCE.sig:UPSTREAM_KEY - SOURCE4_IGNORE=signature - SOURCE5=$SOURCE2.sig - SOURCE5_URL[0]=${SOURCE2_URL[0]}.sig - SOURCE2_GPG=gnu.gpg:$SOURCE2.sig:UPSTREAM_KEY SOURCE5_IGNORE=signature -# SOURCE6=$SOURCE3.sig -# SOURCE6_URL[0]=${SOURCE3_URL[0]}.sig -# SOURCE3_GPG=gnu.gpg:$SOURCE3.sig:UPSTREAM_KEY -# SOURCE6_IGNORE=signature - + SOURCE6=$SOURCE2.sig + SOURCE6_URL[0]=${SOURCE2_URL[0]}.sig + SOURCE6_IGNORE=signature LICENSE[0]=GPL WEB_SITE=http://gcc.gnu.org/ ENTERED=20050213 @@ -34,4 +39,3 @@ SOURCE_DIRECTORY=$BUILD_DIRECTORY/gcc-$VERSION cat << EOF The GNU Ada Translator and Ada95 runtime library. EOF - diff --git a/gnu/ada/FINAL b/gnu/ada/FINAL index 14a9914fe6..907a1a0f9f 100755 --- a/gnu/ada/FINAL +++ b/gnu/ada/FINAL @@ -1,3 +1 @@ -rm_source_dir $SOURCE_DIRECTORY.bld && -local SPECSDIR=${INSTALL_ROOT}/usr/lib/gcc/$HOST/$VERSION && -cat $SPECSDIR/specs-local/* > $SPECSDIR/specs +rm_source_dir $SOURCE_DIRECTORY.bld diff --git a/gnu/ada/HISTORY b/gnu/ada/HISTORY index 941288e6e9..88d6837ff3 100644 --- a/gnu/ada/HISTORY +++ b/gnu/ada/HISTORY @@ -1,3 +1,44 @@ +2008-04-06 Eric Sandall <sandalle@sourcemage.org> + * DETAILS: Updated bootstrap to gnat 4.3.0 + x86 bootstrap is now built as i686 instead of i386 + Added x86_64 gnat bootstrap. + gnat bootstraps are just the ARCHIVE version of ada built using + the prior bootstrap. + SOURCE3 is provided by us and signed by us, so use + VERIFIED_UPSTREAM_KEY :) + * PRE_BUILD: New bootstraps have different directory structure, modify + unpack accordingly. + Added code for future bootstrap generation to avoid extra research: + * BUILD: profiledbootstrap fails (for now), use regular bootstrap. See + http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32581 + Ada 4.3.0 is retarded and now requires extra environment settings, + borrowed from Gentoo's gnatbuild_src_compile() from + http://kambing.ui.edu/gentoo-portage/eclass/gnatbuild.eclass + New bootstraps use a different directory structure, modify ADA_PATH + accordingly. + Need to pass --enable-libada to ensure ada libraries are built + Use --program-prefix=gnat to install gnatgcc instead of gnat when + building bootstrap. + * INSTALL: Install all files (including gnatgcc, required) + No longer install specs_ada + * FINAL: Do not combine Ada specs with the rest of the system's as + it screws up gcc (at least) and packages (e.g. ncurses and gtkada) + compile fine with Ada without it. + * POST_REMOVE, POST_RESURRECT: No longer install specs_ada + * specs_ada: Removed, seems to be unused + * Bootstrap generation notes: + Modify BUILD to use '--enable-language="c,ada"' + NOTE: (c may not be needed, but it worked so I used that) + Compile ada + Unmodify BUILD + Rename cache tarball to gnat-$VERSION-$HOST.tar.bz2 + Clean out non-essential files from the cache such as: + etc, var, usr/share/{doc,info,man} + Sign gnat-$VERSION-$HOST.tar.bz2 + Set SOURCE3=gnat-$VERSION-$HOST.tar.bz2 + Upload to some public site and set SOURCE3_URL[0] + Test ada with your new bootstrap + 2008-03-15 Eric Sandall <sandalle@sourcemage.org> * DETAILS: Updated to 4.3.0 NOTE: Need to update SOURCE3 (gnat-4.1.1) for this to work on x86 diff --git a/gnu/ada/INSTALL b/gnu/ada/INSTALL index c09db497f4..32b9891fa7 100755 --- a/gnu/ada/INSTALL +++ b/gnu/ada/INSTALL @@ -3,10 +3,5 @@ # cd $SOURCE_DIRECTORY.bld && -make -C gcc lang.install-common lang.install-man && -install -c gcc/gnat1 ${INSTALL_ROOT}/usr/libexec/gcc/$HOST/$VERSION/ && - -# specs file stuff -local SPECSDIR=${INSTALL_ROOT}/usr/lib/gcc/$HOST/$VERSION && -mkdir -p $SPECSDIR/specs-local && -cp $SCRIPT_DIRECTORY/specs_ada $SPECSDIR/specs-local +make -C gcc install lang.install-common lang.install-man && +install -c gcc/gnat1 ${INSTALL_ROOT}/usr/libexec/gcc/$HOST/$VERSION/ diff --git a/gnu/ada/POST_REMOVE b/gnu/ada/POST_REMOVE deleted file mode 100755 index 2ab4140f07..0000000000 --- a/gnu/ada/POST_REMOVE +++ /dev/null @@ -1,2 +0,0 @@ -local SPECSDIR=${INSTALL_ROOT}/usr/lib/gcc/$HOST/$VERSION && -cat $SPECSDIR/specs-local/* > $SPECSDIR/specs diff --git a/gnu/ada/POST_RESURRECT b/gnu/ada/POST_RESURRECT deleted file mode 100755 index b6c486727f..0000000000 --- a/gnu/ada/POST_RESURRECT +++ /dev/null @@ -1,2 +0,0 @@ -local SPECSDIR=${INSTALL_ROOT}/usr/lib/gcc/$HOST/$VERSION && -cat $SPECSDIR/specs-local/* > $SPECSDIR/specs diff --git a/gnu/ada/PRE_BUILD b/gnu/ada/PRE_BUILD index db044fd835..55467be3ab 100755 --- a/gnu/ada/PRE_BUILD +++ b/gnu/ada/PRE_BUILD @@ -3,9 +3,35 @@ if [ "$(installed_version gcc)" != "$VERSION" ]; then message "Update gcc first.${DEFAULT_COLOR}" return 1; fi -default_pre_build && -cd $BUILD_DIRECTORY && -unpack_file 2 && -cd $SOURCE_DIRECTORY && -unpack_file 3 && -mk_source_dir $SOURCE_DIRECTORY.bld + +default_pre_build && +cd $BUILD_DIRECTORY && +unpack_file 2 && +cd $SOURCE_DIRECTORY && +mkdir ${SOURCE3/.tar.bz2/} && +cd ${SOURCE3/.tar.bz2/} && +unpack_file 3 && +mk_source_dir $SOURCE_DIRECTORY.bld && + +# +# This section is used to build a gnat bootstrap cache +# +touch $SOURCE_DIRECTORY/gcc/cstamp-h.in && +touch $SOURCE_DIRECTORY/gcc/ada/[es]info.h && +touch $SOURCE_DIRECTORY/gcc/ada/nmake.ad[bs] && + +# +# Set the compiler name to gnatgcc +# +for file in `find $SOURCE_DIRECTORY/gcc/ada/ -name '*.ad[sb]'` +do + sedit "s:\"gcc\":\"gnatgcc\":g" $file +done && + +sedit 's:(Last3 = "gnatgcc"):(Last3 = "gcc"):' \ + $SOURCE_DIRECTORY/gcc/ada/makegpr.adb && +sedit 's:and Nam is "gnatgcc":and Nam is "gcc":' \ + $SOURCE_DIRECTORY/gcc/ada/osint.ads +# +# End Ada bootstrap cache code +# diff --git a/gnu/ada/gnat-4.1.1-i386-pc-linux-gnu.tar.bz2.sig b/gnu/ada/gnat-4.1.1-i386-pc-linux-gnu.tar.bz2.sig Binary files differdeleted file mode 100644 index 4d979091ae..0000000000 --- a/gnu/ada/gnat-4.1.1-i386-pc-linux-gnu.tar.bz2.sig +++ /dev/null diff --git a/gnu/ada/specs_ada b/gnu/ada/specs_ada deleted file mode 100644 index a0d4c66703..0000000000 --- a/gnu/ada/specs_ada +++ /dev/null @@ -1,9 +0,0 @@ -@ada: -%{pg:%{fomit-frame-pointer:%e-pg and -fomit-frame-pointer are incompatible}} %{!S:%{!c:%e-c or -S required for Ada}} gnat1 %{I*} %{k8:-gnatk8} %{w:-gnatws} %{!Q:-quiet} %{nostdinc*} %{nostdlib*} -dumpbase %{.adb:%b.adb}%{.ads:%b.ads}%{!.adb:%{!.ads:%b.ada}} %{O*} %{W*} %{w} %{p} %{pg:-p} %{a} %{f*} %{d*} %{g*&m*} %1 %{!S:%{o*:%w%*-gnatO}} %i %{S:%W{o*}%{!o*:-o %b.s}} %{gnatc*|gnats*: -o %j} %{-param*} %{!gnatc*:%{!gnats*:%(invoke_as)}} - -.ads: -@ada - -.adb: -@ada - |