*** empty log message ***
[gnupg.git] / configure.in
index a476acd..f01033b 100644 (file)
@@ -8,7 +8,7 @@ AC_CONFIG_AUX_DIR(scripts)
 AC_CONFIG_HEADER(config.h)
 
 
-VERSION=0.0.0
+VERSION=`cat ./VERSION`
 PACKAGE=g10
 AC_SUBST(VERSION)
 AC_SUBST(PACKAGE)
@@ -19,10 +19,15 @@ 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)
+    CFLAGS=-g
 fi
 
 dnl some additional macros
 
+dnl WK_MSG_PRINT(STRING)
+define(WK_MSG_PRINT,
+[echo $ac_n "$1"" $ac_c" 1>&AC_FD_MSG ])
+
 dnl WK_CHECK_TYPEDEF(TYPE, HAVE_NAME)
 AC_DEFUN(WK_CHECK_TYPEDEF,
 [AC_MSG_CHECKING(for $1 typedef)
@@ -59,10 +64,24 @@ 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
 
@@ -127,39 +146,71 @@ 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)
+AC_CHECK_SIZEOF(unsigned short, 2)
+AC_CHECK_SIZEOF(unsigned int, 4)
+AC_CHECK_SIZEOF(unsigned long, 4)
 
 
 
 
 dnl Checks for library functions.
 AC_FUNC_VPRINTF
-AC_CHECK_FUNCS(strerror strtol strtoul)
-
+AC_CHECK_FUNCS(strerror stpcpy strlwr 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(for mpi assembler functions)
+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_cv_mpi_extra_asm_modules="$mpi_extra_modules"
     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
+MPI_EXTRA_ASM_OBJS=""
+if test "$ac_cv_mpi_extra_asm_modules" != ""; then
+WK_MSG_PRINT([mpi extra asm functions:])
+for i in $ac_cv_mpi_extra_asm_modules; do
+    WK_MSG_PRINT([$i])
+    MPI_EXTRA_ASM_OBJS="$MPI_EXTRA_ASM_OBJS $i.o"
+done
+AC_MSG_RESULT()
+fi
+AC_SUBST(MPI_EXTRA_ASM_OBJS)
 
 
-
-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,
+dnl checking whether we have other cipher source files
+CIPHER_EXTRA_OBJS=""
+CIPHER_EXTRA_DIST=""
+AC_CACHE_CHECK(for extra cipher modules, 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)
+    CIPHER_EXTRA_OBJS="rsa.o"
+    CIPHER_EXTRA_DIST="rsa.c rsa.h"
 fi
-
+AC_SUBST(CIPHER_EXTRA_OBJS)
+AC_SUBST(CIPHER_EXTRA_DIST)
 
 AC_OUTPUT([ Makefile   \
            util/Makefile    \