See ChangeLog: Mon Mar 8 21:28:42 CET 1999 Werner Koch
[gnupg.git] / configure.in
index e169543..f5e9dfc 100644 (file)
@@ -24,12 +24,45 @@ AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE")
 MODULES_IN_CIPHER=`awk '/# MODULES: / { for(i=3;i<=NF;i++) print $i}' \
                                                 $srcdir/cipher/Makefile.am`
 
+dnl
+dnl  Check for random module options
+dnl
+dnl  Fixme: get the list of available modules from MODULES_IN_CIPHER
+dnl         and check agiants this list
+
+AC_MSG_CHECKING([which static random module to use])
+AC_ARG_ENABLE(static-rnd,
+    [  --enable-static-rnd=[egd|unix|linux|nonde]  ],
+[use_static_rnd=$enableval], [use_static_rnd=default] )
+
+if test "$use_static_rnd" = no; then
+    use_static_rnd=default
+fi
+
+case "$use_static_rnd" in
+    egd | linux | unix | none | default )
+      AC_MSG_RESULT($use_static_rnd)
+      ;;
+    * )
+      AC_MSG_RESULT(invalid argument)
+      AC_MSG_ERROR(there is no random module rnd$use_static_rnd)
+      ;;
+esac
+
+dnl
+dnl See whether the user wants to disable checking for 7dev/random
+
 AC_MSG_CHECKING([whether use of /dev/random is requested])
 AC_ARG_ENABLE(dev-random,
 [  --disable-dev-random    disable the use of dev random],
     try_dev_random=$enableval, try_dev_random=yes)
 AC_MSG_RESULT($try_dev_random)
 
+
+dnl
+dnl  Check other options
+dnl
+
 AC_MSG_CHECKING([whether use of extensions is requested])
 AC_ARG_ENABLE(dynload,
 [  --disable-dynload       disable use of extensions],
@@ -68,6 +101,7 @@ AC_ARG_WITH(included-zlib,
 [g10_force_zlib=yes], [g10_force_zlib=no] )
 AC_MSG_RESULT($g10_force_zlib)
 
+
 dnl Checks for programs.
 
 AC_CANONICAL_SYSTEM
@@ -83,20 +117,12 @@ dnl AM_MISSING_PROG(MAKEINFO, makeinfo, $missing_dir)
 AC_PROG_CC
 AC_PROG_CPP
 AC_ISC_POSIX
-AC_PROG_RANLIB
 AC_PROG_INSTALL
-dnl AC_CYGWIN32
-
+AM_PROG_LIBTOOL
 
 MPI_OPT_FLAGS=""
 if test "$GCC" = yes; then
-    CFLAGS="$CFLAGS -Wall"
-    dnl Always enable optimazation in MPI
-    if echo "$CFLAGS" | grep "[-]O" >/dev/null ; then
-        :
-    else
-        MPI_OPT_FLAGS=-O2
-    fi
+    CFLAGS="$CFLAGS -Wall -Wcast-align -Wshadow -Wstrict-prototypes"
 fi
 
 
@@ -129,6 +155,13 @@ case "${target}" in
             CFLAGS="$CFLAGS -Ae -D_HPUX_SOURCE"
         fi
         ;;
+    *-dec-osf4*)
+        if test -z "$GCC" ; then
+            # Suppress all warnings
+            # to get rid of the unsigned/signed char mismatch warnings.
+            CFLAGS="$CFLAGS -w"
+        fi
+        ;;
     m68k-atari-mint)
         ;;
     *)
@@ -136,7 +169,7 @@ case "${target}" in
 esac
 
 AC_SUBST(MPI_OPT_FLAGS)
-
+AM_SYS_SYMBOL_UNDERSCORE
 GNUPG_CHECK_PIC
 GNUPG_CHECK_RDYNAMIC
 if test "$NO_PIC" = yes; then
@@ -188,6 +221,10 @@ if test "$try_gdbm" = yes; then
 AC_CHECK_LIB(gdbm,gdbm_firstkey)
 fi
 
+dnl Solaris needs -lsocket and -lnsl
+AC_CHECK_LIB(socket, socket)
+AC_CHECK_LIB(nsl, gethostbyname)
+
 
 if test "$try_dynload" = yes ; then
   AC_CHECK_LIB(dl,dlopen)
@@ -202,18 +239,18 @@ if test "$try_dynload" = yes ; then
       AC_DEFINE(USE_DYNAMIC_LINKING)
       AC_DEFINE(HAVE_DL_DLOPEN)
       DYNLINK_LDFLAGS="$CFLAGS_RDYNAMIC"
-      dnl fixme: this is probably false but it should
-      dnl work for freebsd
-      AC_DEFINE(DLSYM_NEEDS_UNDERSCORE)
       use_gnupg_extensions=yes
-    else
-      AC_CHECK_LIB(dld,dld_link)
-      if test "$ac_cv_lib_dld_dld_link" = "yes"; then
-        AC_DEFINE(USE_DYNAMIC_LINKING)
-        AC_DEFINE(HAVE_DLD_DLD_LINK)
-        DYNLINK_LDFLAGS="$CFLAGS_RDYNAMIC"
-        use_gnupg_extensions=yes
-      fi
+dnl else
+dnl
+dnl  DLD is not ready for use. So I better disable this test
+dnl
+dnl    AC_CHECK_LIB(dld,dld_link)
+dnl    if test "$ac_cv_lib_dld_dld_link" = "yes"; then
+dnl      AC_DEFINE(USE_DYNAMIC_LINKING)
+dnl      AC_DEFINE(HAVE_DLD_DLD_LINK)
+dnl      DYNLINK_LDFLAGS="$CFLAGS_RDYNAMIC"
+dnl      use_gnupg_extensions=yes
+dnl    fi
     fi
   fi
 else
@@ -295,23 +332,31 @@ dnl Figure out the default linkage mode for cipher modules
 dnl
 dnl (We always need a static rmd160)
 static_modules="$static_modules rmd160"
-if test "$ac_cv_have_dev_random" = yes; then
-    static_modules="$static_modules rndlinux"
+if test "$use_static_rnd" = default; then
+  if test "$ac_cv_have_dev_random" = yes; then
+      static_modules="$static_modules rndlinux"
+  else
+      case "${target}" in
+          i386--mingw32)
+              static_modules="$static_modules rndw32"
+              ;;
+          i386-emx-os2)
+              static_modules="$static_modules rndos2"
+              ;;
+          m68k-atari-mint)
+              static_modules="$static_modules rndatari"
+              ;;
+          *)
+              static_modules="$static_modules rndunix"
+             ;;
+      esac
+  fi
 else
-    case "${target}" in
-        i386--mingw32)
-            static_modules="$static_modules rndw32"
-            ;;
-        i386-emx-os2)
-            static_modules="$static_modules rndos2"
-            ;;
-        m68k-atari-mint)
-            static_modules="$static_modules rndatari"
-            ;;
-        *)
-            static_modules="$static_modules rndunix"
-           ;;
-    esac
+  if test "$use_static_rnd" = none; then
+    :
+  else
+    static_modules="$static_modules rnd$use_static_rnd"
+  fi
 fi
 
 dnl
@@ -345,6 +390,8 @@ AC_SUBST(DYNAMIC_CIPHER_MODS)
 dnl
 dnl And build the constructor file
 dnl
+
+test -d cipher || mkdir cipher
 cat <<EOF >cipher/construct.c
 /* automatically generated by configure - do not edit */
 
@@ -377,12 +424,10 @@ echo '}' >>cipher/construct.c
 dnl
 dnl Figure how to link the cipher modules
 dnl
-dnl (form now these are only dynamic)
 AC_SUBST(STATIC_CIPHER_OBJS)
 AC_SUBST(DYNAMIC_CIPHER_MODS)
 
 
-
 dnl setup assembler stuff
 AC_MSG_CHECKING(for mpi assembler functions)
 if test -f $srcdir/mpi/config.links ; then