On Tue, 25 May 1999, Thomas Tanner wrote:

> > For the long term though I think autoconf probably is the right way
> > to go.

So many OpenSource packages use it now, I think Mesa should switch to
it soon or risk looking very out of date.

> >  A few concerns:
> > 
> > 1. As you point out, there's probably a few non-Unix systems that
> > don't have autoconf but work with the existing Makefiles.  Traditional
> > Makefiles will probably still be needed.
> 
>  As long as you don't run "configure" the existing Makefiles won't
>  be overwritten. I think this is acceptable. You can also build
>  Mesa outside the source tree, which will leave the source tree untouched.
 
Even if you do run "configure", you don't need to have autoconf. The
mechanism works (roughly) like this...


             configure.in     Makefile.am
                 |       \        |
                 |        \       |
                 |         \      |
                 |          |     |
                 v          v     v
              autoconf     automake
                 |             |
                 |             |
                 v             v
             configure     Makefile.in
                 |             |             
                  \           /             
                   \         /
                    \       /
                     |     |
                     v     v
                    Makefile


So someone (who hopefully understands autoconf/automake better than I do)
writes configure.in and a bunch of Makefile.am's. This is virtually a
one-time task. The only time I change the configure.in file is to change
the package's version number just after a release, and whenever I add a
new subdirectory into the source heirarchy.  It's easy to see how to do
that without knowing all the ins and outs of autoconf/automake.

All developers will need autoconf/automake and will run them in order to
create the 'configure' script and a bunch of (machine-independent) Makefile.in's.
You only need to do that when you change a Makefile.am - which you do whenever
you add source files, change filenames, etc. That's good because Makefile.am's
are typically REALLY simple. I don't think any of mine are more than a dozen
lines long.

The installer of Mesa then runs the configure script which edits the Makefile.in's
to turn them into usable Makefile's that are highly machine-specific.

The person who rebuilds Mesa would then only need to run 'make'.

The configure script does rely on some UNIX tools like "sed" - so to use
this scheme under Windoze, you need the CygWin tools - or something similar.
In practice, people who don't have the CygWin tools tend to be people.
who are using Borland or MSVC - and those people typically don't even
have 'make' and will need odd-ball 'project' files that have to be
built the hard way whatever you do. I guess there could also be a problem
for MacOS users - I don't know how their systems work in this regard.

>  As a developer you'll need Perl 5, GNU m4
>  autoconf 2.13, automake 1.4 and optionally libtool 1.3
>  Most of them are available from every GNU mirror.
  
Right - but the important thing is that as the INSTALLER of
Mesa, you don't need anything other than standard UNIX tools.

Steve Baker                (817)619-2657 (Vox/Vox-Mail)
Raytheon Systems Inc.      (817)619-2466 (Fax)
Work: [EMAIL PROTECTED]      http://www.hti.com
Home: [EMAIL PROTECTED] http://web2.airmail.net/sjbaker1



_______________________________________________
Mesa-dev maillist  -  [EMAIL PROTECTED]
http://lists.mesa3d.org/mailman/listinfo/mesa-dev

Reply via email to