mirror of
git://git.gnupg.org/gnupg.git
synced 2025-01-03 12:11:33 +01:00
204 lines
4.8 KiB
Plaintext
204 lines
4.8 KiB
Plaintext
dnl
|
|
dnl Configure template for G10
|
|
dnl
|
|
dnl (Process this file with autoconf to produce a configure script.)
|
|
|
|
AC_INIT(g10/g10.c)
|
|
AC_CONFIG_AUX_DIR(scripts)
|
|
AC_CONFIG_HEADER(config.h)
|
|
|
|
|
|
VERSION=0.0.0
|
|
PACKAGE=g10
|
|
AC_SUBST(VERSION)
|
|
AC_SUBST(PACKAGE)
|
|
AC_DEFINE_UNQUOTED(VERSION, "$VERSION")
|
|
AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE")
|
|
|
|
AC_ARG_ENABLE(m-debug,
|
|
[ --enable-m-debug Enable debugging of memory allocation])
|
|
if test "$enableval" = y || test "$enableval" = yes; then
|
|
AC_DEFINE(M_DEBUG)
|
|
fi
|
|
|
|
dnl some additional macros
|
|
|
|
dnl WK_CHECK_TYPEDEF(TYPE, HAVE_NAME)
|
|
AC_DEFUN(WK_CHECK_TYPEDEF,
|
|
[AC_MSG_CHECKING(for $1 typedef)
|
|
AC_CACHE_VAL(wk_cv_typedef_$1,
|
|
[AC_TRY_COMPILE([#include <stdlib.h>
|
|
#include <sys/types.h>], [
|
|
#undef $1
|
|
int a = sizeof($1);
|
|
], wk_cv_typedef_$1=yes, wk_cv_typedef_$1=no )])
|
|
AC_MSG_RESULT($wk_cv_typedef_$1)
|
|
if test "$wk_cv_typedef_$1" = yes; then
|
|
AC_DEFINE($2)
|
|
fi
|
|
])
|
|
|
|
|
|
|
|
|
|
dnl
|
|
AC_CANONICAL_SYSTEM
|
|
AC_MSG_CHECKING(cached information)
|
|
hostcheck="$target"
|
|
AC_CACHE_VAL(ac_cv_mpi_hostcheck, [ ac_cv_mpi_hostcheck="$hostcheck" ])
|
|
if test "$ac_cv_mpi_hostcheck" != "$hostcheck"; then
|
|
AC_MSG_RESULT(changed)
|
|
AC_MSG_WARN(config.cache exists!)
|
|
AC_MSG_ERROR(you must do 'make distclean' first to compile for
|
|
different target or different parameters.)
|
|
else
|
|
AC_MSG_RESULT(ok)
|
|
fi
|
|
|
|
|
|
dnl Checks for programs.
|
|
|
|
AC_PROG_MAKE_SET
|
|
|
|
case "${target}" in
|
|
i386--mingw32)
|
|
# special stuff for Windoze NT
|
|
cross_compiling=yes
|
|
CC="i386--mingw32-gcc"
|
|
CPP="i386--mingw32-gcc -E"
|
|
RANLIB="i386--mingw32-ranlib"
|
|
ac_cv_have_dev_random=no
|
|
;;
|
|
*)
|
|
AC_PROG_RANLIB
|
|
AC_PROG_INSTALL
|
|
AC_PROG_CC
|
|
AC_PROG_CPP
|
|
;;
|
|
esac
|
|
|
|
|
|
AC_ARG_PROGRAM
|
|
|
|
dnl Checks for libraries.
|
|
|
|
dnl Checks for header files.
|
|
AC_HEADER_STDC
|
|
AC_CHECK_HEADERS(unistd.h)
|
|
AC_CHECK_HEADERS(zlib.h,
|
|
[LIBS="$LIBS -lz"],
|
|
AC_MSG_WARN([zlib missing - creating without ZLIB support!])
|
|
)
|
|
|
|
|
|
dnl Checks for typedefs, structures, and compiler characteristics.
|
|
AC_C_CONST
|
|
AC_C_INLINE
|
|
AC_TYPE_SIZE_T
|
|
|
|
|
|
dnl autoconf doesn't support a default value for AC_C_BIGENDIAN
|
|
dnl so here is the modified version
|
|
if test "$cross_compiling" = yes; then
|
|
AC_MSG_WARN(cross compiling; assuming little endianess)
|
|
fi
|
|
AC_CACHE_CHECK(for little endianess, ac_cv_c_littleendian,
|
|
[ac_cv_c_littleendian=unknown
|
|
# See if sys/param.h defines the BYTE_ORDER macro.
|
|
AC_TRY_COMPILE([#include <sys/types.h>
|
|
#include <sys/param.h>], [
|
|
#if !BYTE_ORDER || !BIG_ENDIAN || !LITTLE_ENDIAN
|
|
bogus endian macros
|
|
#endif], [# It does; now see whether it defined to BIG_ENDIAN or not.
|
|
AC_TRY_COMPILE([#include <sys/types.h>
|
|
#include <sys/param.h>], [
|
|
#if BYTE_ORDER != BIG_ENDIAN
|
|
not big endian
|
|
#endif], ac_cv_c_littleendian=no, ac_cv_c_littleendian=yes)])
|
|
if test "$ac_cv_c_littleendian" = unknown; then
|
|
AC_TRY_RUN([main () {
|
|
/* Are we little or big endian? From Harbison&Steele. */
|
|
union
|
|
{
|
|
long l;
|
|
char c[sizeof (long)];
|
|
} u;
|
|
u.l = 1;
|
|
exit (u.c[sizeof (long) - 1] == 1);
|
|
}], ac_cv_c_littleendian=yes, ac_cv_c_littleendian=no, ac_cv_c_littleendian=yes)
|
|
fi])
|
|
|
|
if test "$ac_cv_c_littleendian" = yes; then
|
|
AC_DEFINE(LITTLE_ENDIAN_HOST)
|
|
else
|
|
AC_DEFINE(BIG_ENDIAN_HOST)
|
|
fi
|
|
|
|
|
|
WK_CHECK_TYPEDEF(byte, HAVE_BYTE_TYPEDEF)
|
|
WK_CHECK_TYPEDEF(ushort, HAVE_USHORT_TYPEDEF)
|
|
WK_CHECK_TYPEDEF(ulong, HAVE_ULONG_TYPEDEF)
|
|
WK_CHECK_TYPEDEF(u16, HAVE_U16_TYPEDEF)
|
|
WK_CHECK_TYPEDEF(u32, HAVE_U32_TYPEDEF)
|
|
|
|
AC_CHECK_SIZEOF(unsigned short, 16)
|
|
AC_CHECK_SIZEOF(unsigned int, 32)
|
|
AC_CHECK_SIZEOF(unsigned long, 32)
|
|
|
|
|
|
|
|
|
|
dnl Checks for library functions.
|
|
AC_FUNC_VPRINTF
|
|
AC_CHECK_FUNCS(strerror strtol strtoul stpcpy tcgetattr)
|
|
|
|
dnl check wether we have a random device
|
|
AC_CACHE_CHECK(for random device, ac_cv_have_dev_random,
|
|
[if test -c /dev/random && test -c /dev/urandom ; then
|
|
ac_cv_have_dev_random=yes; else ac_cv_have_dev_random=no; fi])
|
|
if test "$ac_cv_have_dev_random" = yes; then
|
|
AC_DEFINE(HAVE_DEV_RANDOM)
|
|
fi
|
|
|
|
|
|
dnl setup assembler stuff
|
|
AC_MSG_CHECKING(configure mpi)
|
|
mpi_config_done="no"
|
|
AC_CACHE_VAL(ac_cv_mpi_config_done,
|
|
[ ac_cv_mpi_config_done="$mpi_config_done" ])
|
|
if test "$ac_cv_mpi_config_done" = yes; then
|
|
AC_MSG_RESULT(done)
|
|
else
|
|
ac_cv_mpi_config_done=""
|
|
if test -f ./mpi/config.links ; then
|
|
. ./mpi/config.links
|
|
AC_LINK_FILES( ${mpi_ln_src}, ${mpi_ln_dst} )
|
|
ac_cv_mpi_config_done="yes"
|
|
AC_MSG_RESULT(done)
|
|
else
|
|
AC_MSG_RESULT(failed)
|
|
AC_MSG_ERROR([mpi/config.links missing!])
|
|
fi
|
|
fi
|
|
|
|
|
|
dnl checking whether we have the RSA source
|
|
dnl Add stuff to insert this into the makefile
|
|
dnl AC_SUBST(add_cipher_SOURCES)
|
|
AC_CACHE_CHECK(for rsa source, ac_cv_have_rsa_cipher,
|
|
[if test -f cipher/rsa.c && test -f cipher/rsa.h; then
|
|
ac_cv_have_rsa_cipher=yes; else ac_cv_have_rsa_cipher=no; fi])
|
|
if test $ac_cv_have_rsa_cipher = yes; then
|
|
AC_DEFINE(HAVE_RSA_CIPHER)
|
|
fi
|
|
|
|
|
|
AC_OUTPUT([ Makefile \
|
|
util/Makefile \
|
|
mpi/Makefile \
|
|
cipher/Makefile \
|
|
g10/Makefile \
|
|
tools/Makefile \
|
|
], [echo timestamp > stamp-h ] )
|
|
|