From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=ham autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,27e56580ae0c3b7d X-Google-Attributes: gid103376,public X-Google-ArrivalTime: 2003-07-23 04:50:27 PST Path: archiver1.google.com!news1.google.com!newsfeed.stanford.edu!news-spur1.maxwell.syr.edu!news.maxwell.syr.edu!news.tele.dk!news.tele.dk!small.news.tele.dk!news.algonet.se!algonet!news-stob.telia.net!telia.net!217.209.241.173.MISMATCH!masternews.telia.net.!newsc.telia.net.POSTED!not-for-mail From: David Holm Newsgroups: comp.lang.ada Subject: Re: GNAT for Debian Message-ID: <20030723134949.7badd43c.david@realityrift.com> References: <404ee0af.0307211056.15324da@posting.google.com> <20030722021229.15da08ae.david@realityrift.com> <20030722135518.32888aaa.david@realityrift.com> <20030722165245.15f880a2.david@realityrift.com> <20030723125549.1336a07f.david@realityrift.com> X-Newsreader: Sylpheed version 0.8.10claws (GTK+ 1.2.10; i386-portbld-freebsd4.8) Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Date: Wed, 23 Jul 2003 11:50:25 GMT NNTP-Posting-Host: 217.208.105.88 X-Complaints-To: abuse@telia.com X-Trace: newsc.telia.net 1058961025 217.208.105.88 (Wed, 23 Jul 2003 13:50:25 CEST) NNTP-Posting-Date: Wed, 23 Jul 2003 13:50:25 CEST Organization: Telia Internet Xref: archiver1.google.com comp.lang.ada:40696 Date: 2003-07-23T11:50:25+00:00 List-Id: On Wed, 23 Jul 2003 11:03:47 +0000 (UTC) Preben Randhol wrote: > David Holm wrote: > > But GNU decides what to accept from ACTs patches and what not to > > accept. They do not blindly apply code that come from ACT. Since ACT > > is striving for maximum Ada stability it is likely that when > > GNU-people remove code they will go further away from that goal or > > otherwise there would be no need for separate codebases. > > I don't know but I would expect that the GNU people only review what the > changes involve with regards to the rest of gcc? Are there people in GNU > that has enough knowledge of gnat to review the code? Not sure, but they review all changes made to the C-code of gcc. If they don't like what they see ACT would have to modify and send a new patch. I doubt they would spend much time fixing such stuff as it isn't bugs to gnat only to gcc and they have more important stuff to do. > > From what I have read recently (although I don't follow the > > gcc-mailinglists much) it seems that they are more intent on keeping > > C/C++ etc stable which is likely to impair Ada development since the > > ACT patch affecting non-ada stuff is growing. One day there might be > > two different branches, ACT who is going for stability and GCC where > > people can freely submit patches moving Ada stuff forward at a faster > > pace. I wouldn't bet my money on gcc-3 in the near future though. > > Unless there is a real good reason to use ada from gcc-3 I will stick > > with the ordinary gnat releases. > > Perhaps it will be like the the gs package where there is one also for > gs-aladin. We also considered this. But at the moment there is no point in having both a snapshot of gnat and gcc-3/ada as gnat has everything of gcc-3/ada and more. > > On a sidenote, if you or anyone else is interested in building > > gnat-3.15p packages I could mail you the build procedure I'm using in > > gentoo. I've found it rather difficult to build properly without lots > > of extra stuff going on around it. I'm also working on a build > > process for ACT cvs snapshots, seems they added more fuss to it which > > changes the buildprocess somewhat. > > Would be great. Could you put it somewhere on the net too? I'll post it here, then it will live in groups.google.com forever ;). It's not a document, only the steps taken by the gentoo ebuild to compile and install gnat 3.15p. I will cut out non-relevant stuff (there might be typos as I translated variables manually). # Copyright 1999-2003 Gentoo Technologies, Inc. # Distributed under the terms of the GNU General Public License v2 Files needed: gnat-3.15p-src.tgz gnat-3.15p-i686-pc-redhat71-gnu-bin.tar.gz gcc-2.8.1.tar.bz2 src_unpack() { unpack ${A} # Install the bootstrap compiler cd /tmp/gnat/gnat-3.15p-i686-pc-linux-gnu-bin echo $'\n'3$'\n'/tmp/gnat/boot'\n' | ./doconfig > doconfig.log 2>&1 ./doinstall # Prepare the gcc source directory cd /tmp/gnat/gcc-2.8.1 patch -p0 < "/tmp/gnat/gnat-3.15p-src/src/gcc-281.dif" touch cstamp-h.in mv "/tmp/gnat/gnat-3.15p-src/src/ada" "${S}" # Make sure we install it as gnatgcc/gnatgcov as not to overwrite gcc/gcov for i in `find ${S}/ada -name '*.ad[sb]'`; do \ sed -i -e "s/\"gcc\"/\"gnatgcc\"/g" ${i}; \ done cd "/tmp/gnat/gcc-2.8.1/ada" touch treeprs.ads a-[es]info.h nmake.ad[bs] } src_compile() { # Set some paths to our bootstrap compiler. export GCC_EXEC_PREFIX="/tmp/gnat/boot/lib/gcc-lib/i686-pc-linux-gnu/2.8.1" export ADA_INCLUDE_PATH="/tmp/gnat/boot/lib/gcc-lib/i686-pc-linux-gnu/2.8.1/adainclude" export ADA_OBJECTS_PATH="/tmp/gnat/boot/lib/gcc-lib/i686-pc-linux-gnu/2.8.1/adalib" OLDPATH="${PATH}" export PATH="/tmp/gnat/boot/bin:${PATH}" export LDFLAGS="-L/tmp/gnat/boot/lib/gcc-lib/i686-pc-linux-gnu/2.8.1 -L/tmp/gnat/gnat-3.15p-i686-pc-linux-gnu-bin" # Make $local_prefix point to $prefix sed -i -e "s/@local_prefix@/@prefix@/" "/tmp/gnat/gcc-2.8.1/Makefile.in" # Configure gcc cd /tmp/gnat/gcc-2.8.1 ./configure --prefix=/usr --program-prefix=gnat \ --host="${CHOST}" --build="${CHOST}" --target="${CHOST}" \ --infodir=/usr/share/info \ --mandir=/usr/share/man # Make sure we don't overwrite the existing gcc sed -i -e "s/\$(bindir)\/gcov/\$(bindir)\/gnatgcov/" "/tmp/gnat/gcc-2.8.1/Makefile" sed -i -e "s/alias)-gcc/alias)-gnatgcc/g" "/tmp/gnat/gcc-2.8.1/Makefile" # Compile it by first using the bootstrap compiler and then bootstrapping # our own version. Finally compile the libraries and tools. make CC="gcc" LANGUAGES="c ada gcov" make CC="gcc" LANGUAGES="c ada gcov" bootstrap make CC="gcc" GNATLIBCFLAGS="${CFLAGS}" gnatlib make CC="gcc" gnattools } src_install() { export PATH="/tmp/gnat/boot/bin:${PATH}" export LDFLAGS="-L/tmp/gnat/boot/lib/gcc-lib/i686-pc-linux-gnu/2.8.1 -L/tmp/gnat/gnat-3.15p-i686-pc-linux-gnu-bin" # Install gnatgcc, tools and native threads library make LANGUAGES="c ada gcov" GCC_INSTALL_NAME=gnatgcc \ install-common install-libgcc install-gnatlib install-driver touch "/usr/lib/gcc-lib/${CHOST}/2.8.1/include/float.h" # Install the FSU threads library cd "/usr/lib/gcc-lib/${CHOST}/2.8.1" mkdir rts-native mkdir rts-fsu # Copy the native threads library mv adalib adainclude rts-native cd /tmp/gnat/gcc-2.8.1 rm stamp-gnatlib1 # Compile and install the FSU threads library make CC=gcc CFLAGS="-O2" GNATLIBCFLAGS="-fPIC -O2" THREAD_KIND=fsu gnatlib make install-gnatlib cd "/usr/lib/gcc-lib/${CHOST}/2.8.1" mv adalib adainclude rts-fsu # Install the precompiled FSU library from the binary distribution cp "/tmp/gnat/gnat-3.15p-i686-pc-linux-gnu-bin/libgthreads.a" "/usr/lib/gcc-lib/${CHOST}/2.8.1" cp "/tmp/gnat/gnat-3.15p-i686-pc-linux-gnu-bin/libmalloc.a" "/usr/lib/gcc-lib/${CHOST}/2.8.1" } pkg_postinst() { # Make native threads the default runtime system ln -sf "/usr/lib/gcc-lib/${CHOST}/2.8.1/rts-native/adalib" \ "/usr/lib/gcc-lib/${CHOST}/2.8.1/" ln -sf "/usr/lib/gcc-lib/${CHOST}/2.8.1/rts-native/adainclude" \ "/usr/lib/gcc-lib/${CHOST}/2.8.1/" } //David Holm