Option -d accepts an argument to set the debug level immediately.
[tinc] / autogen.sh
1 #!/bin/sh
2 # Run this to generate all the initial makefiles,
3 # etc. just after a checkout.
4
5 DIE=0
6
7 srcdir="`/bin/pwd`"
8
9 (autoconf --version) < /dev/null > /dev/null 2>&1 || {
10   echo
11   echo "**Error**: You must have \`autoconf' installed to compile tinc."
12   echo "Download the appropriate package for your distribution,"
13   echo "or get the source tarball at ftp://ftp.gnu.org/pub/gnu/"
14   DIE=1
15 }
16
17 (grep "^AM_PROG_LIBTOOL" $srcdir/configure.in >/dev/null) && {
18   (libtool --version) < /dev/null > /dev/null 2>&1 || {
19     echo
20     echo "**Error**: You must have \`libtool' installed to compile tinc."
21     echo "Get ftp://ftp.gnu.org/pub/gnu/libtool-1.2d.tar.gz"
22     echo "(or a newer version if it is available)"
23     DIE=1
24   }
25 }
26
27 grep "^AM_GNU_GETTEXT" $srcdir/configure.in >/dev/null && {
28   grep "sed.*POTFILES" $srcdir/configure.in >/dev/null || \
29   (gettext --version) < /dev/null > /dev/null 2>&1 || {
30     echo
31     echo "**Error**: You must have \`gettext' installed to compile tinc."
32     echo "Get ftp://alpha.gnu.org/gnu/gettext-0.10.35.tar.gz"
33     echo "(or a newer version if it is available)"
34     DIE=1
35   }
36 }
37
38 grep "^AM_GNOME_GETTEXT" $srcdir/configure.in >/dev/null && {
39   grep "sed.*POTFILES" $srcdir/configure.in >/dev/null || \
40   (gettext --version) < /dev/null > /dev/null 2>&1 || {
41     echo
42     echo "**Error**: You must have \`gettext' installed to compile tinc."
43     echo "Get ftp://alpha.gnu.org/gnu/gettext-0.10.35.tar.gz"
44     echo "(or a newer version if it is available)"
45     DIE=1
46   }
47 }
48
49 (automake --version) < /dev/null > /dev/null 2>&1 || {
50   echo
51   echo "**Error**: You must have \`automake' installed to compile tinc."
52   echo "Get ftp://ftp.gnu.org/pub/gnu/automake-1.3.tar.gz"
53   echo "(or a newer version if it is available)"
54   DIE=1
55   NO_AUTOMAKE=yes
56 }
57
58
59 # if no automake, don't bother testing for aclocal
60 test -n "$NO_AUTOMAKE" || (aclocal --version) < /dev/null > /dev/null 2>&1 || {
61   echo
62   echo "**Error**: Missing \`aclocal'.  The version of \`automake'"
63   echo "installed doesn't appear recent enough."
64   echo "Get ftp://ftp.gnu.org/pub/gnu/automake-1.3.tar.gz"
65   echo "(or a newer version if it is available)"
66   DIE=1
67 }
68
69 if test "$DIE" -eq 1; then
70   exit 1
71 fi
72
73 # Make sure configure doesn't complain about old configuration
74 rm -f config.status
75
76 if test -z "$*"; then
77   echo "**Warning**: I am going to run \`configure' with no arguments."
78   echo "If you wish to pass any to it, please specify them on the"
79   echo \`$0\'" command line."
80   echo
81 fi
82
83 case $CC in
84 xlc )
85   am_opt=--include-deps;;
86 esac
87
88 for coin in `find $srcdir -name configure.in -print`
89 do 
90   dr=`dirname $coin`
91   if test -f $dr/NO-AUTO-GEN; then
92     echo skipping $dr -- flagged as no auto-gen
93   else
94     echo processing $dr
95     macrodirs=`sed -n -e 's,AM_ACLOCAL_INCLUDE(\(.*\)),\1,gp' < $coin`
96     ( cd $dr
97       aclocalinclude="$ACLOCAL_FLAGS"
98       for k in $macrodirs; do
99         if test -d $k; then
100           if test -f $k/Makefile.am.in; then
101             make -C $k -f Makefile.am.in Makefile.am
102           fi
103           aclocalinclude="$aclocalinclude -I $k"
104         ##else 
105         ##  echo "**Warning**: No such directory \`$k'.  Ignored."
106         fi
107       done
108       touch ChangeLog
109       if grep "^AM_GNU_GETTEXT" configure.in >/dev/null; then
110         if grep "sed.*POTFILES" configure.in >/dev/null; then
111           : do nothing -- we still have an old unmodified configure.in
112         else
113           echo "Creating $dr/aclocal.m4 ..."
114           test -r $dr/aclocal.m4 || touch $dr/aclocal.m4
115           echo "Running gettextize...  Ignore non-fatal messages."
116           echo "no" | gettextize --force --copy
117           echo "Making $dr/aclocal.m4 writable ..."
118           test -r $dr/aclocal.m4 && chmod u+w $dr/aclocal.m4
119         fi
120       fi
121       if grep "^AM_GNOME_GETTEXT" configure.in >/dev/null; then
122         echo "Creating $dr/aclocal.m4 ..."
123         test -r $dr/aclocal.m4 || touch $dr/aclocal.m4
124         echo "Running gettextize...  Ignore non-fatal messages."
125         echo "no" | gettextize --force --copy
126         echo "Making $dr/aclocal.m4 writable ..."
127         test -r $dr/aclocal.m4 && chmod u+w $dr/aclocal.m4
128       fi
129       if grep "^AM_PROG_LIBTOOL" configure.in >/dev/null; then
130         echo "Running libtoolize..."
131         libtoolize --force --copy
132       fi
133       echo "Running aclocal $aclocalinclude ..."
134       aclocal $aclocalinclude
135       if grep "^AM_CONFIG_HEADER" configure.in >/dev/null; then
136         echo "Running autoheader..."
137         autoheader
138       fi
139       echo "Running automake --gnu $am_opt ..."
140       automake --add-missing --gnu $am_opt
141       echo "Running autoconf ..."
142       autoconf
143     )
144   fi
145 done
146
147 conf_flags="--enable-maintainer-mode --enable-compile-warnings" #--enable-iso-c
148
149 if test x$NOCONFIGURE = x; then
150   echo Running $srcdir/configure $conf_flags "$@" ...
151   $srcdir/configure $conf_flags "$@" \
152   && echo Now type \`make\' to compile $PKG_NAME || exit 1
153 else
154   echo Skipping configure process.
155 fi