comp.lang.ada
 help / color / mirror / Atom feed
From: Ludovic Brenta <ludovic@ludovic-brenta.org>
Subject: Re: Bootstrapping Gnu ADA onto FreeBSD/AMD64-CURRENT
Date: Mon, 24 Oct 2011 22:14:37 +0200
Date: 2011-10-24T22:14:37+02:00	[thread overview]
Message-ID: <87sjmii1ua.fsf@ludovic-brenta.org> (raw)
In-Reply-To: f5466015-c6ff-4819-9386-2b5af8fff21b@v2g2000yqf.googlegroups.com

jrmarino writes:
> On Oct 24, 8:28 pm, Mark Murray <w.h.o...@example.com> wrote:
>>
>> How hard would it be to incerease the number of languages it
>> supports?  I'm hoping "not" :-). In order to avoid a proliferation of
>> GCC builds,
>
>> Big win; if gnat-aux were to support Fortran (used a fair bit) and
>> Java (nice to have) or if the gcc46 port were to "grow" gnat-aux type
>> support, I'd be delighted!
>
> I wouldn't hold your breath on gcc46 supporting Ada, the bootstrap
> issue is hard to overcome.  GNAT-AUX demands a 25-30MB download just
> for the first build of the compiler (in addition to the source code),
> but after that it uses the compiler on the system to build new
> versions.
>
> New version support is whatever GCC is.  The GNAT-AUX tarball is
> customized, and these extra languages are left it.  It would be a
> matter of putting them back and adding language options.  Fortran
> should be fine.  I understand the java is basically not worth having,
> is it even being seriously maintained?  Last I checked/understood,
> this option is probably not worth pursuing.

I think the following changes to the GNAT-AUX port would solve that
problem "for free":

- GNAT-AUX no longer ships "gcc" but depends on the "gcc" from
  lang/gcc46 instead.

- GNAT-AUX installs into the directory tree of lang/gcc46, without
  overwriting any files of course, only adding new files.

- Leave the maintenance of Objective-C, Fortran and Java to people more
  capable and more interested in these languages.

It is not necessary to build the "gcc" of lang/gcc46 specially for it to
find whatever compiler is installed; just drop gnat1, cc1plus, gcj1,
gfortran1 etc. and their associated run-time libraries into the proper
directory and you're done.  This scheme has been successful in Debian
for years.  On the one hand we build C, C++, Fortran and Objective-C,
which all require only a C compiler for bootstrapping, together; on the
other hand we build Java and Ada, which require a second bootstrap
compiler, as separate source packages; but we build all from the same
source tarball, same build scripts and same patches from the same VCS.
The compiled binaries all install into a common tree.  Thus, the end
user simply installs gcc-4.6 plus any additional languages and run-time
libraries desired.

This technique also solves the problem of the size of the builds and the
time necessary for a full bootstrap, since we do not boostrap all
languages at once.

-- 
Ludovic Brenta.



  parent reply	other threads:[~2011-10-24 20:14 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-10-23 13:59 Bootstrapping Gnu ADA onto FreeBSD/AMD64-CURRENT Mark Murray
2011-10-23 17:12 ` Mark Murray
2011-10-23 19:54   ` Ludovic Brenta
2011-10-23 21:03     ` Mark Murray
2011-10-24 16:23       ` jrmarino
2011-10-24 18:28         ` Mark Murray
2011-10-24 18:52           ` jrmarino
2011-10-24 19:48             ` Mark Murray
2011-10-24 20:14             ` Ludovic Brenta [this message]
2011-10-24 20:21               ` Mark Murray
2011-10-23 20:32   ` Kulin Remailer
2011-10-23 20:51     ` Mark Murray
2011-10-23 21:16       ` Simon Wright
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox