From cbdf4961edb91ca6b52597791d1c67b22844f854 Mon Sep 17 00:00:00 2001 From: Werner Koch Date: Fri, 17 May 2002 08:33:01 +0000 Subject: * configure.ac: Removed all the dynmaic loading stuff. --- ChangeLog | 4 ++ README | 17 ++++--- configure.ac | 154 +++++++++++++---------------------------------------------- 3 files changed, 49 insertions(+), 126 deletions(-) diff --git a/ChangeLog b/ChangeLog index f4863c74..0313f9c9 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +2002-05-17 Werner Koch + + * configure.ac: Removed all the dynmaic loading stuff. + 2002-05-16 Werner Koch * configure.ac: Reordered the C_CHECK_FUNCS. diff --git a/README b/README index 4f9e30c9..9e1d44a8 100644 --- a/README +++ b/README @@ -51,9 +51,9 @@ Lesser General Public License (LGPL); see the file COPYING.LIB for the actual terms. However some parts are distributed under the GNU General Public License (GPL) so if you configure Libgcrypt to - include these modules or use these modules as dynamically loaded - plug-ins, you have to comply with the conditions of the GPL as - found in the file COPYING. The modules under the GPL are: + include these modules, you have to comply with the conditions of + the GPL as found in the file COPYING. The modules under the GPL + are: rndunix - Entropy gatherer for Unices without a /dev/random rndw32 - Entropy gatherer for MS Windows @@ -67,9 +67,14 @@ similar to Libcrypt. We decided that to foster the use of cryptography in Free Software an LGPLed library would make more sense because it avoids problems due to license incompatibilities - between some Free Software licenses and the GPL. Please note that - it general the use of the LGPL is not suggested, see - http://www.gnu.org/philosophy/why-not-lgpl.html + between some Free Software licenses and the GPL. + + Please note that in many cases it is better for a library to be + licensed under the GPL, so that it provides an advantage for free + software projects. The Lesser GPL is so named because it does + less to protect the freedom of the users of the code that it + covers. See http://www.gnu.org/philosophy/why-not-lgpl.html for + more explanation. diff --git a/configure.ac b/configure.ac index e9e311e4..01d7627b 100644 --- a/configure.ac +++ b/configure.ac @@ -85,7 +85,7 @@ dnl and check against this list AC_MSG_CHECKING([which static random module to use]) AC_ARG_ENABLE(static-rnd, - [ --enable-static-rnd=[egd|unix|linux|none] ], + [ --enable-static-rnd=[egd|unix|linux] ], [use_static_rnd=$enableval], [use_static_rnd=default] ) if test "$use_static_rnd" = no; then @@ -93,7 +93,7 @@ if test "$use_static_rnd" = no; then fi case "$use_static_rnd" in - egd | linux | unix | none | default ) + egd | linux | unix | default ) AC_MSG_RESULT($use_static_rnd) ;; * ) @@ -125,12 +125,6 @@ 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], - try_dynload=$enableval, try_dynload=yes) -AC_MSG_RESULT($try_dynload) - AC_MSG_CHECKING([whether assembler modules are requested]) AC_ARG_ENABLE(asm, [ --disable-asm do not use assembler modules], @@ -253,10 +247,10 @@ esac AC_SUBST(MPI_OPT_FLAGS) GNUPG_SYS_SYMBOL_UNDERSCORE GNUPG_CHECK_PIC -GNUPG_CHECK_EXPORTDYNAMIC -if test "$NO_PIC" = yes; then - try_dynload=no -fi +#GNUPG_CHECK_EXPORTDYNAMIC +#if test "$NO_PIC" = yes; then +# try_dynload=no +#fi case "${target}" in @@ -289,24 +283,24 @@ case "${target}" in *-openbsd* | *-netbsd*) NAME_OF_DEV_RANDOM="/dev/srandom" NAME_OF_DEV_URANDOM="/dev/urandom" - DYNLINK_MOD_CFLAGS="-shared -rdynamic $CFLAGS_PIC -Wl,-Bshareable -Wl,-x" +# DYNLINK_MOD_CFLAGS="-shared -rdynamic $CFLAGS_PIC -Wl,-Bshareable -Wl,-x" ;; *-solaris* | *-irix* | *-dec-osf* ) NAME_OF_DEV_RANDOM="/dev/random" NAME_OF_DEV_URANDOM="/dev/random" - DYNLINK_MOD_CFLAGS="-shared $CFLAGS_PIC" +# DYNLINK_MOD_CFLAGS="-shared $CFLAGS_PIC" ;; *) NAME_OF_DEV_RANDOM="/dev/random" NAME_OF_DEV_URANDOM="/dev/urandom" # -shared is a gcc-ism. Find pic flags from GNUPG_CHECK_PIC. - if test -n "$GCC" ; then - DYNLINK_MOD_CFLAGS="-shared $CFLAGS_PIC" - else - DYNLINK_MOD_CFLAGS="$CFLAGS_PIC" - fi +# if test -n "$GCC" ; then +# DYNLINK_MOD_CFLAGS="-shared $CFLAGS_PIC" +# else +# DYNLINK_MOD_CFLAGS="$CFLAGS_PIC" +# fi ;; esac AC_DEFINE_UNQUOTED(NAME_OF_DEV_RANDOM, "$NAME_OF_DEV_RANDOM", @@ -340,56 +334,6 @@ if test x$ac_try_nsl = x1; then fi -if test "$try_dynload" = yes ; then - AC_CHECK_LIB(dl,dlopen) - if test "$ac_cv_lib_dl_dlopen" = "yes"; then - AC_DEFINE(USE_DYNAMIC_LINKING,1, - [define to enable the use of extensions]) - AC_DEFINE(HAVE_DL_DLOPEN,1, - [Defined when the dlopen function family is available]) - DYNLINK_LDFLAGS="$CFLAGS_EXPORTDYNAMIC" - use_gnupg_extensions=yes - else - AC_CHECK_FUNCS(dlopen) - if test "$ac_cv_func_dlopen" = "yes"; then - AC_DEFINE(USE_DYNAMIC_LINKING) - AC_DEFINE(HAVE_DL_DLOPEN) - DYNLINK_LDFLAGS="$CFLAGS_EXPORTDYNAMIC" - use_gnupg_extensions=yes - else - AC_CHECK_LIB(dld,shl_load) - if test "$ac_cv_lib_dld_shl_load" = "yes"; then - AC_DEFINE(USE_DYNAMIC_LINKING) - AC_DEFINE(HAVE_DL_SHL_LOAD,1, - [Defined if the shl_load function family is available]) - DYNLINK_LDFLAGS="$CFLAGS_EXPORTDYNAMIC" - use_gnupg_extensions=yes -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_EXPORTDYNAMIC" -dnl use_gnupg_extensions=yes -dnl --------------- - fi - fi - fi -else - AC_MSG_CHECKING(for dynamic loading) - DYNLINK_LDFLAGS= - DYNLINK_MOD_CFLAGS= - use_gnupg_extensions=no - AC_MSG_RESULT(has been disabled) -fi - -AM_CONDITIONAL(ENABLE_GNUPG_EXTENSIONS, test "$use_gnupg_extensions" = yes ) -AC_SUBST(DYNLINK_LDFLAGS) -AC_SUBST(DYNLINK_MOD_CFLAGS) - - dnl Checks for header files. AC_HEADER_STDC AC_CHECK_HEADERS(unistd.h langinfo.h termio.h) @@ -555,27 +499,6 @@ else fi -if test "$print_egd_notice" = "yes"; then - AC_MSG_WARN([[ -*** -*** The performance of the UNIX random gatherer module is not very good -*** and it does not keep the entropy pool over multiple invocations of -*** GnuPG. The suggested way to overcome this problem is to use the -*** -*** Entropy Gathering Daemon (EGD) -*** -*** which provides a entropy source for the whole system. It is written -*** in Perl and available at the GnuPG FTP servers. For more information -*** consult the GnuPG webpages: -*** -*** http://www.gnupg.org/download.html#egd -*** -*** You may want to run ./configure with --enable-static-rnd=none to be -*** able to load the EGD client code dynamically; this way you can choose -*** between RNDUNIX and RNDEGD without recompilation. -***]]) -fi - dnl dnl Parse the modules list and build the list dnl of static and dymically linked modules @@ -584,8 +507,6 @@ dnl (We always need a static rmd160) static_modules="$static_modules rmd160 $static_random_module" STATIC_CIPHER_NAMES="" STATIC_CIPHER_OBJS="" -DYNAMIC_CIPHER_MODS="" -GNUPG_MSG_PRINT([dynamically linked cipher modules:]) for name in $MODULES_IN_CIPHER; do x="yes" for i in $disallowed_modules; do @@ -601,38 +522,13 @@ for name in $MODULES_IN_CIPHER; do if test $x = yes; then STATIC_CIPHER_NAMES="$STATIC_CIPHER_NAMES $name" STATIC_CIPHER_OBJS="$STATIC_CIPHER_OBJS $name.lo" - else - DYNAMIC_CIPHER_MODS="$DYNAMIC_CIPHER_MODS $name" - GNUPG_MSG_PRINT([$name]) fi -dnl dnl Very ugly way to do this, but I don't knwo how to -dnl dnl cope with AC_SUBST otherwise -dnl case "$name" in -dnl tiger) -dnl AM_CONDITIONAL(BUILD_MODULE_TIGER, [test $x = no]) -dnl ;; -dnl twofish) -dnl AM_CONDITIONAL(BUILD_MODULE_TWOFISH, [test $x = no]) -dnl ;; -dnl rndunix) -dnl AM_CONDITIONAL(BUILD_MODULE_RNDUNIX, [test $x = no]) -dnl ;; -dnl rndlinux) -dnl AM_CONDITIONAL(BUILD_MODULE_RNDLINUX,[test $x = no]) -dnl ;; -dnl rndegd) -dnl AM_CONDITIONAL(BUILD_MODULE_RNDEGD, [test $x = no]) -dnl ;; -dnl *) -dnl ;; -dnl esac fi done AC_MSG_RESULT() AC_SUBST(STATIC_CIPHER_OBJS) AC_SUBST(STATIC_CIPHER_NAMES) -AC_SUBST(DYNAMIC_CIPHER_MODS) dnl @@ -644,10 +540,8 @@ cat <cipher/construct.c /* automatically generated by configure - do not edit */ G10EOF -GNUPG_MSG_PRINT([statically linked cipher modules:]) for name in $STATIC_CIPHER_NAMES; do echo "void _gcry_${name}_constructor(void);" >>cipher/construct.c - GNUPG_MSG_PRINT([$name]) done AC_MSG_RESULT() cat <>cipher/construct.c @@ -673,7 +567,6 @@ dnl dnl Figure how to link the cipher modules dnl AC_SUBST(STATIC_CIPHER_OBJS) -AC_SUBST(DYNAMIC_CIPHER_MODS) # # setup assembler stuff @@ -814,6 +707,26 @@ AC_OUTPUT # Give some feedback echo + +if test "$print_egd_notice" = "yes"; then +cat <