added option export
[gnupg.git] / configure.in
1 dnl
2 dnl Configure template for G10
3 dnl
4 dnl (Process this file with autoconf to produce a configure script.)
5
6 AC_INIT(g10/g10.c)
7 AC_CONFIG_AUX_DIR(scripts)
8 AM_CONFIG_HEADER(config.h)
9
10
11 if test "x$exec_prefix" = xNONE ; then
12     if test "x$prefix" = xNONE ; then
13         g10_prefix="$ac_default_prefix"
14     else
15         g10_prefix="$prefix"
16     fi
17 else
18     g10_prefix="$exec_prefix"
19 fi
20
21
22 VERSION=`cat $srcdir/VERSION`
23 PACKAGE=g10
24 ALL_LINGUAS="de"
25 AC_SUBST(VERSION)
26 AC_SUBST(PACKAGE)
27 AC_DEFINE_UNQUOTED(VERSION, "$VERSION")
28 AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE")
29
30 AC_ARG_ENABLE(m-debug,
31 [  --enable-m-debug       Enable debugging of memory allocation])
32 if test "$enableval" = y || test "$enableval" = yes; then
33     AC_DEFINE(M_DEBUG)
34 fi
35
36 AC_ARG_WITH(zlib,
37 [  --with-zlib            link against static zlib],
38 [g10_force_zlib=yes], [g10_force_zlib=no] )
39
40 CFLAGS="-g -Wall"
41
42
43
44 AC_CANONICAL_SYSTEM
45 WK_CHECK_CACHE
46
47 dnl Checks for programs.
48
49 AC_PROG_MAKE_SET
50 AC_ARG_PROGRAM
51
52 missing_dir=`cd $ac_aux_dir && pwd`
53 AM_MISSING_PROG(ACLOCAL, aclocal, $missing_dir)
54 AM_MISSING_PROG(AUTOCONF, autoconf, $missing_dir)
55 AM_MISSING_PROG(AUTOMAKE, automake, $missing_dir)
56 AM_MISSING_PROG(AUTOHEADER, autoheader, $missing_dir)
57 dnl AM_MISSING_PROG(MAKEINFO, makeinfo, $missing_dir)
58
59 case "${target}" in
60     i386--mingw32)
61         # special stuff for Windoze NT
62         cross_compiling=yes
63         CC="i386--mingw32-gcc"
64         CPP="i386--mingw32-gcc -E"
65         RANLIB="i386--mingw32-ranlib"
66         ac_cv_have_dev_random=no
67         ;;
68     *)
69 AC_PROG_RANLIB
70 AC_PROG_INSTALL
71 AC_PROG_CC
72 AC_PROG_CPP
73        ;;
74 esac
75
76
77 dnl Checks for libraries.
78
79 dnl Checks for header files.
80 AC_HEADER_STDC
81 AC_CHECK_HEADERS(unistd.h)
82
83 AM_GNU_GETTEXT
84 G10_LOCALEDIR="$g10_prefix/$DATADIRNAME/locale"
85 AC_SUBST(G10_LOCALEDIR)
86 AC_DEFINE_UNQUOTED(G10_LOCALEDIR, "$G10_LOCALEDIR")
87
88 WK_LINK_FILES($nls_cv_header_libgt, $nls_cv_header_intl )
89
90 dnl Checks for typedefs, structures, and compiler characteristics.
91 AC_C_CONST
92 AC_C_INLINE
93 AC_TYPE_SIZE_T
94
95 WK_CHECK_ENDIAN
96
97
98 WK_CHECK_TYPEDEF(byte, HAVE_BYTE_TYPEDEF)
99 WK_CHECK_TYPEDEF(ushort, HAVE_USHORT_TYPEDEF)
100 WK_CHECK_TYPEDEF(ulong, HAVE_ULONG_TYPEDEF)
101 WK_CHECK_TYPEDEF(u16, HAVE_U16_TYPEDEF)
102 WK_CHECK_TYPEDEF(u32, HAVE_U32_TYPEDEF)
103
104 AC_CHECK_SIZEOF(unsigned short, 2)
105 AC_CHECK_SIZEOF(unsigned int, 4)
106 AC_CHECK_SIZEOF(unsigned long, 4)
107
108 if test "$ac_cv_sizeof_unsigned_short" = "0" \
109    || test "$ac_cv_sizeof_unsigned_int" = "0" \
110    || test "$ac_cv_sizeof_unsigned_long" = "0"; then
111     AC_MSG_WARN([Hmmm, something is wrong with the sizes - using defaults]);
112 fi
113
114
115
116 dnl Checks for library functions.
117 AC_FUNC_VPRINTF
118 AC_CHECK_FUNCS(strerror stpcpy strlwr tcgetattr rand strtoul mlock mmap)
119
120
121
122
123 dnl check wether we have a random device
124 AC_CACHE_CHECK(for random device, ac_cv_have_dev_random,
125 [if test -c /dev/random && test -c /dev/urandom ; then
126   ac_cv_have_dev_random=yes; else ac_cv_have_dev_random=no; fi])
127 if test "$ac_cv_have_dev_random" = yes; then
128     AC_DEFINE(HAVE_DEV_RANDOM)
129 fi
130
131
132 dnl setup assembler stuff
133 AC_MSG_CHECKING(for mpi assembler functions)
134 mpi_config_done="no"
135 AC_CACHE_VAL(ac_cv_mpi_config_done,
136              [ ac_cv_mpi_config_done="$mpi_config_done" ])
137 if test "$ac_cv_mpi_config_done" = yes; then
138     AC_MSG_RESULT(done)
139 else
140 ac_cv_mpi_config_done=""
141 if test -f $srcdir/mpi/config.links ; then
142     . $srcdir/mpi/config.links
143     WK_LINK_FILES($mpi_ln_src, $mpi_ln_dst)
144     ac_cv_mpi_extra_asm_modules="$mpi_extra_modules"
145     ac_cv_mpi_config_done="yes"
146     AC_MSG_RESULT(done)
147 else
148     AC_MSG_RESULT(failed)
149     AC_MSG_ERROR([mpi/config.links missing!])
150 fi
151 fi
152 MPI_EXTRA_ASM_OBJS=""
153 if test "$ac_cv_mpi_extra_asm_modules" != ""; then
154 WK_MSG_PRINT([mpi extra asm functions:])
155 for i in $ac_cv_mpi_extra_asm_modules; do
156     WK_MSG_PRINT([$i])
157     MPI_EXTRA_ASM_OBJS="$MPI_EXTRA_ASM_OBJS $i.o"
158 done
159 AC_MSG_RESULT()
160 fi
161 AC_SUBST(MPI_EXTRA_ASM_OBJS)
162
163 dnl Do we have zlib? Must do it here because Solaris failed
164 dnl when compiling a conftest (due to the "-lz" from LIBS).
165 if test "$g10_force_zlib" = "yes"; then
166     ZLIBS="-L\${top_srcdir}/zlib -lzlib"
167     AM_CONDITIONAL(ENABLE_LOCAL_ZLIB, true)
168     WK_LINK_FILES(zlib/zlib.h, zlib.h )
169     WK_LINK_FILES(zlib/zconf.h, zconf.h )
170 else
171 AC_CHECK_HEADERS(zlib.h)
172 if test "$ac_cv_header_zlib_h" = yes ; then
173     LIBS="$LIBS -lz"
174     ZLIBS=
175     AM_CONDITIONAL(ENABLE_LOCAL_ZLIB, false)
176 else
177     ZLIBS="-L\${top_srcdir}/zlib -lzlib"
178     AM_CONDITIONAL(ENABLE_LOCAL_ZLIB, true)
179     WK_LINK_FILES(zlib/zlib.h, zlib.h )
180     WK_LINK_FILES(zlib/zconf.h, zconf.h )
181 fi
182 fi
183 AC_SUBST(ZLIBS)
184
185
186 dnl checking whether we have other cipher source files
187 CIPHER_EXTRA_OBJS=""
188 CIPHER_EXTRA_DIST=""
189 AC_CACHE_CHECK(for extra cipher modules, ac_cv_have_rsa_cipher,
190 [if test -f $srcdir/cipher/rsa.c && test -f $srcdir/cipher/rsa.h; then
191   ac_cv_have_rsa_cipher=yes; else ac_cv_have_rsa_cipher=no; fi])
192 if test $ac_cv_have_rsa_cipher = yes; then
193     AC_DEFINE(HAVE_RSA_CIPHER)
194     CIPHER_EXTRA_OBJS="rsa.o"
195     CIPHER_EXTRA_DIST="rsa.c rsa.h"
196 fi
197 AC_SUBST(CIPHER_EXTRA_OBJS)
198 AC_SUBST(CIPHER_EXTRA_DIST)
199
200 dnl
201 dnl If no gettext is found, default to gnu gettext
202 dnl
203 if test x$ac_cv_func_gettext = xno; then
204     LIBS="$LIBS -lintl -L\$(topbuilddir)/intl"
205 fi
206
207
208 WK_DO_LINK_FILES
209
210 AC_OUTPUT([
211 Makefile
212 intl/Makefile
213 po/Makefile.in
214 util/Makefile
215 mpi/Makefile
216 cipher/Makefile
217 g10/Makefile
218 tools/Makefile
219 zlib/Makefile
220 ],[echo timestamp >stamp-h; sed -e "/POTFILES =/r po/POTFILES" po/Makefile.in > po/Makefile])
221