* acinclude.m4 (AC_CHECK_PTH): Added.
[libgcrypt.git] / scripts / autogen.sh
1 #!/bin/sh
2 # Run this to generate all the initial makefiles, etc.
3 # Copyright (C) 2002, 2003 Free Software Foundation, Inc.
4 #
5 # This file is part of Libgcrypt.
6 #
7 # Libgcrypt is free software; you can redistribute it and/or modify
8 # it under the terms of the GNU Lesser General Public License as
9 # published by the Free Software Foundation; either version 2.1 of
10 # the License, or (at your option) any later version.
11 #
12 # Libgcrypt is distributed in the hope that it will be useful,
13 # but WITHOUT ANY WARRANTY; without even the implied warranty of
14 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15 # GNU Lesser General Public License for more details.
16 #
17 # You should have received a copy of the GNU Lesser General Public
18 # License along with this program; if not, write to the Free Software
19 # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
20
21 PGM=LIBGCRYPT
22
23 autoconf_vers=2.57
24 automake_vers=1.7
25 aclocal_vers=1.7
26 libtool_vers=1.4
27
28 ACLOCAL=${ACLOCAL:-aclocal}
29 AUTOCONF=${AUTOCONF:-autoconf}
30 AUTOMAKE=${AUTOMAKE:-automake}
31 AUTOHEADER=${AUTOHEADER:-autoheader}
32 LIBTOOL=${LIBTOOL:-libtool}
33
34 DIE=no
35 if test "$1" = "--build-w32"; then
36     tsdir=$(cd `dirname $0`; cd ..; pwd)
37     shift
38     host=i386--mingw32
39     if [ ! -f $tsdir/scripts/config.guess ]; then
40         echo "$tsdir/scripts/config.guess not found" >&2
41         exit 1
42     fi
43     build=`$tsdir/scripts/config.guess`
44         
45     if ! mingw32 --version >/dev/null; then
46         echo "We need at least version 0.3 of MingW32/CPD" >&2
47         exit 1
48     fi
49
50     if [ -f "$tsdir/config.h" ]; then
51         if grep HAVE_DOSISH_SYSTEM config.h | grep undef >/dev/null; then
52             echo "Pease run a 'make distclean' first" >&2
53             exit 1
54         fi
55     fi
56
57     crossbindir=`mingw32 --install-dir`/bin
58     CC=`mingw32 --get-path gcc`
59     CPP=`mingw32 --get-path cpp`
60     AR=`mingw32 --get-path ar`
61     RANLIB=`mingw32 --get-path ranlib`
62     export CC CPP AR RANLIB 
63
64     disable_foo_tests=""
65     if [ -n "$lib_config_files" ]; then
66         for i in $lib_config_files; do
67             j=`echo $i | tr '[a-z-]' '[A-Z_]'`
68             eval "$j=${crossbindir}/$i"
69             export $j
70             disable_foo_tests="$disable_foo_tests --disable-`echo $i| \
71                            sed 's,-config$,,'`-test"
72             if [ ! -f "${crossbindir}/$i" ]; then                   
73                 echo "$i not installed for MingW32" >&2
74                 DIE=yes
75             fi
76         done
77     fi
78     [ $DIE = yes ] && exit 1
79
80     $tsdir/configure --build=${build} --host=${host} \
81                 ${disable_foo_tests} $*
82     exit $?
83 fi
84
85
86
87 if ($AUTOCONF --version) < /dev/null > /dev/null 2>&1 ; then
88     if ($AUTOCONF --version | awk 'NR==1 { if( $3 >= '$autoconf_vers') \
89                                exit 1; exit 0; }');
90     then
91        echo "**Error**: "\`autoconf\'" is too old."
92        echo '           (version ' $autoconf_vers ' or newer is required)'
93        DIE="yes"
94     fi
95 else
96     echo
97     echo "**Error**: You must have "\`autoconf\'" installed to compile $PGM."
98     echo '           (version ' $autoconf_vers ' or newer is required)'
99     DIE="yes"
100 fi
101
102 if ($AUTOMAKE --version) < /dev/null > /dev/null 2>&1 ; then
103   if ($AUTOMAKE --version | awk 'NR==1 { if( $4 >= '$automake_vers') \
104                              exit 1; exit 0; }');
105      then
106      echo "**Error**: "\`automake\'" is too old."
107      echo '           (version ' $automake_vers ' or newer is required)'
108      DIE="yes"
109   fi
110   if ($ACLOCAL --version) < /dev/null > /dev/null 2>&1; then
111     if ($ACLOCAL --version | awk 'NR==1 { if( $4 >= '$aclocal_vers' ) \
112                                                 exit 1; exit 0; }' );
113     then
114       echo "**Error**: "\`aclocal\'" is too old."
115       echo '           (version ' $aclocal_vers ' or newer is required)'
116       DIE="yes"
117     fi
118   else
119     echo
120     echo "**Error**: Missing "\`aclocal\'".  The version of "\`automake\'
121     echo "           installed doesn't appear recent enough."
122     DIE="yes"
123   fi
124 else
125     echo
126     echo "**Error**: You must have "\`automake\'" installed to compile $PGM."
127     echo '           (version ' $automake_vers ' or newer is required)'
128     DIE="yes"
129 fi
130
131
132 #if (gettext --version </dev/null 2>/dev/null | awk 'NR==1 { split($4,A,"\."); \
133 #    X=10000*A[1]+100*A[2]+A[3]; echo X; if( X >= 1035 ) exit 1; exit 0}')
134 #    then
135 #    echo "**Error**: You must have "\`gettext\'" installed to compile $PGM."
136 #    echo '           (version 0.10.35 or newer is required; get'
137 #    echo '            ftp://alpha.gnu.org/gnu/gettext-0.10.35.tar.gz'
138 #    echo '            or install the latest Debian package)'
139 #    DIE="yes"
140 #fi
141
142
143 if ($LIBTOOL --version) < /dev/null > /dev/null 2>&1 ; then
144     if ($LIBTOOL --version | awk 'NR==1 { if( $4 >= '$libtool_vers') \
145                                exit 1; exit 0; }');
146     then
147        echo "**Error**: "\`libtool\'" is too old."
148        echo '           (version ' $libtool_vers ' or newer is required)'
149        DIE="yes"
150     fi
151 else
152     echo
153     echo "**Error**: You must have "\`libtool\'" installed to compile $PGM."
154     echo '           (version ' $libtool_vers ' or newer is required)'
155     DIE="yes"
156 fi
157
158
159 if test "$DIE" = "yes"; then
160     exit 1
161 fi
162
163 #echo "Running gettextize...  Ignore non-fatal messages."
164 #echo "no" | gettextize --force
165 #echo "Running libtoolize...  Ignore non-fatal messages."
166 #echo "no" | libtoolize
167
168 run()
169 {
170     echo "Running $@..."
171     $@
172 }
173
174 run $ACLOCAL
175 run $AUTOHEADER
176 run $AUTOMAKE --gnu
177 run $AUTOCONF
178
179 echo "You can now run \"./configure --enable-maintainer-mode\" and then \"make\"."