autogen.sh
author Kristian H?gsberg <krh@redhat.com>
Fri Jun 20 21:56:43 2008 -0400 (2008-06-20)
changeset 254 ccb1c11968ab
child 262 63644cc28e0b
permissions -rwxr-xr-x
Introduce install/remove iterators.

These iterator constructors lets you pass in two sets and creates
an iterator for the packages to remove or the packages to install.
The iterators will step through the packages in a sequence that respects
the pre, post, preun and postun modifiers.

Right now, the install order isn't actually implemented, this patch just
implements the API changes and updates the applications.
     1 #!/bin/sh
     2 # Run this to generate all the initial makefiles, etc.
     3 
     4 srcdir=`dirname $0`
     5 test -z "$srcdir" && srcdir=.
     6 
     7 DIE=0
     8 
     9 (test -f $srcdir/configure.ac) || {
    10     echo -n "**Error**: Directory $srcdir does not look like the"
    11     echo " top-level package directory"
    12     exit 1
    13 }
    14 
    15 (autoconf --version) < /dev/null > /dev/null 2>&1 || {
    16   echo
    17   echo "**Error**: You must have autoconf installed."
    18   echo "Download the appropriate package for your distribution,"
    19   echo "or get the source tarball at ftp://ftp.gnu.org/pub/gnu/"
    20   DIE=1
    21 }
    22 
    23 (grep "^AM_PROG_LIBTOOL" $srcdir/configure.ac >/dev/null) && {
    24   (libtool --version) < /dev/null > /dev/null 2>&1 || {
    25     echo
    26     echo "**Error**: You must have libtool installed."
    27     echo "You can get it from: ftp://ftp.gnu.org/pub/gnu/"
    28     DIE=1
    29   }
    30 }
    31 
    32 (automake --version) < /dev/null > /dev/null 2>&1 || {
    33   echo
    34   echo "**Error**: You must have automake installed."
    35   echo "You can get it from: ftp://ftp.gnu.org/pub/gnu/"
    36   DIE=1
    37   NO_AUTOMAKE=yes
    38 }
    39 
    40 
    41 # if no automake, don't bother testing for aclocal
    42 test -n "$NO_AUTOMAKE" || (aclocal --version) < /dev/null > /dev/null 2>&1 || {
    43   echo
    44   echo "**Error**: Missing aclocal.  The version of automake"
    45   echo "installed doesn't appear recent enough."
    46   echo "You can get automake from ftp://ftp.gnu.org/pub/gnu/"
    47   DIE=1
    48 }
    49 
    50 if test "$DIE" -eq 1; then
    51   exit 1
    52 fi
    53 
    54 if test -z "$*"; then
    55   echo "**Warning**: I am going to run configure with no arguments."
    56   echo "If you wish to pass any to it, please specify them on the"
    57   echo $0 " command line."
    58   echo
    59 fi
    60 
    61 case $CC in
    62 xlc )
    63   am_opt=--include-deps;;
    64 esac
    65 
    66       aclocalinclude="$ACLOCAL_FLAGS"
    67 
    68       if grep "^AM_PROG_LIBTOOL" configure.ac >/dev/null; then
    69 	if test -z "$NO_LIBTOOLIZE" ; then 
    70 	  echo "Running libtoolize..."
    71 	  libtoolize --force --copy
    72 	fi
    73       fi
    74       echo "Running aclocal $aclocalinclude ..."
    75       aclocal $aclocalinclude
    76       if grep "^AM_CONFIG_HEADER" configure.ac >/dev/null; then
    77 	echo "Running autoheader..."
    78 	autoheader
    79       fi
    80       echo "Running automake --gnu -Wno-portability $am_opt ..."
    81       automake --add-missing --gnu -Wno-portability $am_opt
    82       echo "Running autoconf ..."
    83       autoconf
    84 
    85 intltoolize --copy --force --automake                  || exit 1
    86 
    87 conf_flags="--enable-maintainer-mode"
    88 
    89 if test x$NOCONFIGURE = x; then
    90   echo "Running $srcdir/configure $conf_flags $@ ..."
    91   $srcdir/configure $conf_flags "$@" \
    92   && echo "Now type make to compile." || exit 1
    93 else
    94   echo "Skipping configure process."
    95 fi