* README, configure.ac: --with-exec-path is now clarified into
[gnupg.git] / scripts / autogen.sh
1 #!/bin/sh
2 # Run this to generate all the initial makefiles, etc.
3 #
4 # Copyright (C) 1998, 1999, 2000, 2001 Free Software Foundation, Inc.
5 #
6 # This file is free software; as a special exception the author gives
7 # unlimited permission to copy and/or distribute it, with or without
8 # modifications, as long as this notice is preserved.
9 #
10 # This program is distributed in the hope that it will be useful, but
11 # WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
12 # implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
13
14 PGM=GnuPG
15 lib_config_files=""
16 autoconf_vers=2.52
17 automake_vers=1.5
18 aclocal_vers=1.5
19
20
21 DIE=no
22 if test "$1" = "--build-w32"; then
23     tmp=`dirname $0`
24     tsdir=`cd "$tmp"; cd ..; pwd`
25     shift
26     host=i386--mingw32
27     if [ ! -f $tsdir/scripts/config.guess ]; then
28         echo "$tsdir/scripts/config.guess not found" >&2
29         exit 1
30     fi
31     build=`$tsdir/scripts/config.guess`
32         
33     if ! mingw32 --version >/dev/null; then
34         echo "We need at least version 0.3 of MingW32/CPD" >&2
35         exit 1
36     fi
37
38     if [ -f "$tsdir/config.log" ]; then
39         if ! head $tsdir/config.log | grep i386--mingw32 >/dev/null; then
40             echo "Pease run a 'make distclean' first" >&2
41             exit 1
42         fi
43     fi
44
45     crossbindir=`mingw32 --install-dir`/bin
46     CC=`mingw32 --get-path gcc`
47     CPP=`mingw32 --get-path cpp`
48     AR=`mingw32 --get-path ar`
49     RANLIB=`mingw32 --get-path ranlib`
50     export CC CPP AR RANLIB 
51
52     disable_foo_tests=""
53     if [ -n "$lib_config_files" ]; then
54         for i in $lib_config_files; do
55             j=`echo $i | tr '[a-z-]' '[A-Z_]'`
56             eval "$j=${crossbindir}/$i"
57             export $j
58             disable_foo_tests="$disable_foo_tests --disable-`echo $i| \
59                            sed 's,-config$,,'`-test"
60             if [ ! -f "${crossbindir}/$i" ]; then                   
61                 echo "$i not installed for MingW32" >&2
62                 DIE=yes
63             fi
64         done
65     fi
66     [ $DIE = yes ] && exit 1
67
68     $tsdir/configure --build=${build} --host=${host} \
69                 ${disable_foo_tests} $*
70     exit $?
71 fi
72
73
74
75 if (autoconf --version) < /dev/null > /dev/null 2>&1 ; then
76     if (autoconf --version | awk 'NR==1 { if( $3 >= '$autoconf_vers') \
77                                exit 1; exit 0; }');
78     then
79        echo "**Error**: "\`autoconf\'" is too old."
80        echo '           (version ' $autoconf_vers ' or newer is required)'
81        DIE="yes"
82     fi
83 else
84     echo
85     echo "**Error**: You must have "\`autoconf\'" installed to compile $PGM."
86     echo '           (version ' $autoconf_vers ' or newer is required)'
87     DIE="yes"
88 fi
89
90 if (automake --version) < /dev/null > /dev/null 2>&1 ; then
91   if (automake --version | awk 'NR==1 { if( $4 >= '$automake_vers') \
92                              exit 1; exit 0; }');
93      then
94      echo "**Error**: "\`automake\'" is too old."
95      echo '           (version ' $automake_vers ' or newer is required)'
96      DIE="yes"
97   fi
98   if (aclocal --version) < /dev/null > /dev/null 2>&1; then
99     if (aclocal --version | awk 'NR==1 { if( $4 >= '$aclocal_vers' ) \
100                                                 exit 1; exit 0; }' );
101     then
102       echo "**Error**: "\`aclocal\'" is too old."
103       echo '           (version ' $aclocal_vers ' or newer is required)'
104       DIE="yes"
105     fi
106   else
107     echo
108     echo "**Error**: Missing "\`aclocal\'".  The version of "\`automake\'
109     echo "           installed doesn't appear recent enough."
110     DIE="yes"
111   fi
112 else
113     echo
114     echo "**Error**: You must have "\`automake\'" installed to compile $PGM."
115     echo '           (version ' $automake_vers ' or newer is required)'
116     DIE="yes"
117 fi
118
119
120 if (gettext --version </dev/null 2>/dev/null | awk 'NR==1 { split($4,A,"."); \
121     X=10000*A[1]+100*A[2]+A[3]; echo X; if( X >= 1038 ) exit 1; exit 0}')
122     then
123     echo "**Error**: You must have "\`gettext\'" installed to compile $PGM."
124     echo '           (version 0.10.38 or newer is required; get'
125     echo '            ftp://alpha.gnu.org/gnu/gettext/gettext-0.10.38.tar.gz'
126     echo '            or install the latest Debian package)'
127     DIE="yes"
128 fi
129
130
131 if test "$DIE" = "yes"; then
132     exit 1
133 fi
134
135 echo "Running gettextize...  Ignore non-fatal messages."
136 echo "no" | gettextize --force
137
138 echo "Running aclocal..."
139 aclocal
140 echo "Running autoheader..."
141 autoheader
142 echo "Running automake --gnu ..."
143 automake --gnu;
144 echo "Running autoconf..."
145 autoconf
146
147 echo "You can now run \"./configure\" and then \"make\"."
148