This patch set adds initial autoconf support for Mesa. Previous
discussion was that full autotools was not desired. This approach is
less invasive by working in conjunction with the current Mesa configs
system. The configure script simply populates the file configs/autoconf,
allowing the user to build with `make autoconf', just like any of the
other targets.

Some reasons why this is useful:

 * There are a lot of configs which wildly diverge, making a consistent
   build difficult to achieve. Using autoconf allows the differences
   to be maintained in a single file where the platform and optional
   differences can be tracked and minimized.
 * Generating a config from configure means you only have to specify
   your options once instead of patching makefiles or passing variables
   to make.
 * Autoconf has standard ways for detecting the platform, allowing
   informed decisions to be made for the user.
 * Standard macros and shell conditionals allow the build to be much
   more robust and flexible. For instance, we can check that the X
   libraries actually exist and allow the user to specify their location
   instead hardcoding them.

I've only tested the build on Linux and only attempted to recreate the
settings for FreeBSD. The driver options right now are Xlib, DRI and
OSMesa. The framework is there to add more platforms and options,
though. I've successfully built nearly all the linux targets with a
recipe similar to this:

 $ ./configure --prefix=/usr --with-driver=dri \
       --with-dri-driverdir=/usr/lib/dri
 $ make autoconf
 $ make install

You can browse the changes in my home directory on fd.o. It's in the
autoconf2 branch (to not conflict with the ancient autoconf branch).

http://cgit.freedesktop.org/~dbn/mesa/log/?h=autoconf2

Let me know if you're interested and/or what you think about the
specifics.

--
Dan

 .gitignore          |    5 +
 Makefile            |   25 +-
 bin/config.guess    | 1516 +++++++++++++++++++++++++++++++++++++++++++++++
 bin/config.sub      | 1626 +++++++++++++++++++++++++++++++++++++++++++++++++++
 bin/install-sh      |  519 ++++++++++++++++
 configs/.gitignore  |    1 +
 configs/autoconf.in |  104 ++++
 configure.ac        |  772 ++++++++++++++++++++++++
 8 files changed, 4567 insertions(+), 1 deletions(-)
 create mode 100755 bin/config.guess
 create mode 100755 bin/config.sub
 create mode 100755 bin/install-sh
 create mode 100644 configs/autoconf.in
 create mode 100644 configure.ac

-------------------------------------------------------------------------
SF.Net email is sponsored by: 
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://sourceforge.net/services/buy/index.php
_______________________________________________
Mesa3d-dev mailing list
Mesa3d-dev@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mesa3d-dev

Reply via email to