summaryrefslogtreecommitdiff
path: root/configure.in
diff options
context:
space:
mode:
authorWerner Koch <wk@gnupg.org>1999-02-10 16:22:37 +0000
committerWerner Koch <wk@gnupg.org>1999-02-10 16:22:37 +0000
commita7f3353934272f03a3462eae96feaa35a54dd6fe (patch)
treed73578901be3da3cd0d34e43a92f04e0868ccafe /configure.in
parentfb72622bbd2a7bd6ae6cefdef1f0d69c76625f0f (diff)
downloadlibgcrypt-a7f3353934272f03a3462eae96feaa35a54dd6fe.tar.gz
See ChangeLog: Wed Feb 10 17:15:39 CET 1999 Werner Koch
Diffstat (limited to 'configure.in')
-rw-r--r--configure.in115
1 files changed, 96 insertions, 19 deletions
diff --git a/configure.in b/configure.in
index a9975bf6..6ea0a81a 100644
--- a/configure.in
+++ b/configure.in
@@ -15,11 +15,15 @@ AM_CONFIG_HEADER(config.h)
VERSION=`cat $srcdir/VERSION`
PACKAGE=gnupg
ALL_LINGUAS="de es_ES fr it pl pt_BR ru"
+static_modules="sha1 md5 rmd160"
AC_SUBST(VERSION)
AC_SUBST(PACKAGE)
AC_DEFINE_UNQUOTED(VERSION, "$VERSION")
AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE")
+MODULES_IN_CIPHER=`awk '/# MODULES: / { for(i=3;i<=NF;i++) print $i}' \
+ $srcdir/cipher/Makefile.am`
+
AC_MSG_CHECKING([whether use of /dev/random is requested])
AC_ARG_ENABLE(dev-random,
[ --disable-dev-random disable the use of dev random],
@@ -91,6 +95,8 @@ if test "$GCC" = yes; then
CFLAGS="$CFLAGS -Wall"
fi
+try_gettext=yes
+try_gdbm=yes
case "${target}" in
i386--mingw32)
# special stuff for Windoze NT
@@ -99,9 +105,19 @@ case "${target}" in
CPP="i386--mingw32-gcc -E"
RANLIB="i386--mingw32-ranlib"
ac_cv_have_dev_random=no
- AC_DEFINE(USE_RNDW32)
AC_DEFINE(USE_ONLY_8DOT3)
AC_DEFINE(HAVE_DRIVE_LETTERS)
+ AC_DEFINE(HAVE_DOSISH_SYSTEM)
+ try_gettext="no"
+ try_gdbm="no"
+ ;;
+ i386-emx-os2)
+ # OS/2 with the EMX environment
+ ac_cv_have_dev_random=no
+ AC_DEFINE(HAVE_DRIVE_LETTERS)
+ AC_DEFINE(HAVE_DOSISH_SYSTEM)
+ try_gettext="no"
+ try_gdbm="no"
;;
*-*-hpux*)
if test -z "$GCC" ; then
@@ -126,6 +142,9 @@ case "${target}" in
i386--mingw32)
PRINTABLE_OS_NAME="MingW32"
;;
+ i386-emx-os2)
+ PRINTABLE_OS_NAME="OS/2"
+ ;;
*-linux*)
PRINTABLE_OS_NAME="GNU/Linux"
;;
@@ -154,9 +173,13 @@ AC_DEFINE_UNQUOTED(NAME_OF_DEV_URANDOM, "$NAME_OF_DEV_URANDOM")
dnl Checks for libraries.
+if test "$try_gettext" = yes; then
AM_GNU_GETTEXT
+fi
+if test "$try_gdbm" = yes; then
AC_CHECK_LIB(gdbm,gdbm_firstkey)
+fi
if test "$try_dynload" = yes ; then
@@ -252,7 +275,6 @@ AC_CACHE_CHECK(for random device, ac_cv_have_dev_random,
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)
- AC_DEFINE(USE_RNDLINUX)
fi
else
AC_MSG_CHECKING(for random device)
@@ -262,42 +284,93 @@ fi
dnl
-dnl Figure how to link the random modules
+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
- AC_DEFINE(USE_RNDLINUX)
- STATIC_RANDOM_OBJS="rndlinux.o"
- DYNAMIC_RANDOM_MODS=""
+ static_modules="$static_modules rndlinux"
else
case "${target}" in
i386--mingw32)
- AC_DEFINE(USE_RNDW32)
- STATIC_RANDOM_OBJS=""
- DYNAMIC_RANDOM_MODS=""
+ static_modules="$static_modules rndw32"
+ ;;
+ i386-emx-os2)
+ static_modules="$static_modules rndos2"
;;
m68k-atari-mint)
- AC_DEFINE(USE_RNDATARI)
- STATIC_RANDOM_OBJS=""
- DYNAMIC_RANDOM_MODS=""
+ static_modules="$static_modules rndatari"
;;
*)
- AC_DEFINE(USE_RNDUNIX)
- STATIC_RANDOM_OBJS="rndunix.o"
- DYNAMIC_RANDOM_MODS=""
+ static_modules="$static_modules rndunix"
;;
esac
fi
-AC_SUBST(STATIC_RANDOM_OBJS)
-AC_SUBST(DYNAMIC_RANDOM_MODS)
+dnl
+dnl Parse the modules list and build the list
+dnl of static and dymically linked modules
+dnl
+STATIC_CIPHER_NAMES=""
+STATIC_CIPHER_OBJS=""
+DYNAMIC_CIPHER_MODS=""
+GNUPG_MSG_PRINT([dynamically linked cipher modules:])
+for name in $MODULES_IN_CIPHER; do
+ x="no"
+ for i in $static_modules; do
+ if test "$name" = "$i" ; then
+ x="yes"
+ fi
+ done;
+ if test $x = yes; then
+ STATIC_CIPHER_NAMES="$STATIC_CIPHER_NAMES $name"
+ STATIC_CIPHER_OBJS="$STATIC_CIPHER_OBJS $name.o"
+ else
+ DYNAMIC_CIPHER_MODS="$DYNAMIC_CIPHER_MODS $name"
+ GNUPG_MSG_PRINT([$name])
+ fi
+done
+AC_MSG_RESULT()
+AC_SUBST(STATIC_CIPHER_OBJS)
+AC_SUBST(STATIC_CIPHER_NAMES)
+AC_SUBST(DYNAMIC_CIPHER_MODS)
+
+dnl
+dnl And build the constructor file
+dnl
+cat <<EOF >cipher/construct.c
+/* automatically generated by configure - do not edit */
+
+EOF
+GNUPG_MSG_PRINT([statically linked cipher modules:])
+for name in $STATIC_CIPHER_NAMES; do
+ echo "void ${name}_constructor(void);" >>cipher/construct.c
+ GNUPG_MSG_PRINT([$name])
+done
+AC_MSG_RESULT()
+cat <<EOF >>cipher/construct.c
+
+void
+cipher_modules_constructor(void)
+{
+ static int done = 0;
+ if( done )
+ return;
+ done = 1;
+
+EOF
+for name in $STATIC_CIPHER_NAMES; do
+ echo " ${name}_constructor();" >>cipher/construct.c
+done
+echo '}' >>cipher/construct.c
+
+
dnl
dnl Figure how to link the cipher modules
dnl
dnl (form now these are only dynamic)
-STATIC_CIPHER_OBJS=""
-DYNAMIC_CIPHER_MODS="twofish tiger"
AC_SUBST(STATIC_CIPHER_OBJS)
AC_SUBST(DYNAMIC_CIPHER_MODS)
@@ -351,6 +424,10 @@ fi
fi
AC_SUBST(ZLIBS)
+if echo "$VERSION" | grep '[a-zA-Z]' >/dev/null ; then
+ AC_DEFINE(IS_DEVELOPMENT_VERSION)
+fi
+
GNUPG_DO_LINK_FILES