autogen.shhttp://buildconf.brlcad.org/shapeimage_1_link_0
 
What does it do?
autogen.sh (aka buildconf) provides automatic build system preparation.
autogen.sh is useful to projects that use the
GNU Build System (aka the GNU Autotools aka autoconf, automake, and libtool).
autogen.sh is used for preparing a build system for compilation, verifying versions, ensuring necessary functionality, and overcoming many common build preparation issues.

WTF ... WHY?
autoreconf doesn’t always work when it should
The autotools (gasp) sometimes have bugs that you have to work around
Error and warning messages from the autotools are notoriously horrible and generally unhelpful
Lots of people try to compile your code with combinations of the autoools that simply don’t work without help
You shouldn’t have to require that all your devs have the specific version of the autotools that you used...
It should just work(dammit!) and this script helps it overcome a lot of the little issues
This script actually results in considerably less support questions
Just about every project with lots of devs has such a script or needs one ... might as well make a script that everyone can use

Projects using autogen.sh
BRL-CAD
BZFlag
libIRC
[ insert your name here ]
SOME SCREENSHOTS
Recovering from common glibtoolize problem on 
Mac OS X

Verbose output (very useful for debugging a configuration failure)
http://brlcad.org/http://bzflag.org/http://libirc.org/files/buildconf_BRL-CAD_MacOSX.pngfiles/buildconf_libIRC_verbose.pnghttp://sourceforge.net/tracker/?func=add&group_id=195936&atid=955442http://sourceforge.net/tracker/?func=add&group_id=195936&atid=955445http://sourceforge.net/tracker/?func=add&group_id=195936&atid=955444shapeimage_2_link_0shapeimage_2_link_1shapeimage_2_link_2
Preparing your build...
 
It started as just a little build preparation script...
and over the years has grown to be quite a useful utility saving me time and effort with support requests and cross-platform compilation.  It's the same sort of script often commonly found among projects that use the GNU Build System -- also known as just the GNU Autotools or for each tool individually as Autoconf, Automake, and Libtool. These projects frequently have a custom helper script written that prepares the build system for their project's developers, usually running various tools like libtoolize, autoconf, or autoreconf.  This script is often named either buildconf or autogen.sh but the intent is the same:
to prepare your build system for compilation
 
This project's goal is to unify the needs of most projects to standardize on a single script that can be just dropped in and used.  That is what this project is for, and that is what the scope and intention of the autogen.sh script is.
 
It takes care of all of the preparation activities for you, dealing with dozens of configuration issues that the GNU folks would rather you not know about yet can frequently encounter. It also lets your application be more flexible in the variety of build platforms and environments that are supported, and can really help make source builds go a whole lot easier. 
 
Everything you need should be in the script, in just that single
autogen.sh file available in the downloads section on Sourceforge.  There is usage details at the top of the script as well as a command-line --help option.
 
Please feel free to contact me if you have any questions, comments, or modifications. I'd love to hear about any projects that put the script to use and welcome any suggestions or requests. 
 
Cheers! 
Sean
$ ./autogen.sh
Preparing the build system...please wait
 
The build system is now prepared.  To build here, run:
  ./configure
  make
$


Revised 3-clause BSD-style license
ISO/IEC 9945 POSIX shell script
Cross-platform Open Source
Author: 
Christopher Sean Morrison
DOWNLOAD IT! crumpled paper details