summaryrefslogtreecommitdiff
path: root/acinclude.m4
diff options
context:
space:
mode:
authorWerner Koch <wk@gnupg.org>2003-10-31 05:06:09 +0000
committerWerner Koch <wk@gnupg.org>2003-10-31 05:06:09 +0000
commit42fe74d70b1b3f2dd2a033ee525a2dd1d186345e (patch)
tree3288aec9c23c344f2adb04ea0c198138a06a7759 /acinclude.m4
parent21dece6b2618a281567a631a7adbce1266d002b4 (diff)
downloadlibgcrypt-42fe74d70b1b3f2dd2a033ee525a2dd1d186345e.tar.gz
* acinclude.m4 (AC_CHECK_PTH): Added.
* configure.ac: Use it here instead of the generic lib test. Bumbed LT vesion to C9/A2/R0. * dsa.c (verify): s/exp/ex/ due to shadowing of a builtin. * elgamal.c (verify): Ditto. * ac.c (gcry_ac_data_get_index): s/index/idx/ (gcry_ac_data_copy_internal): Remove the cast in _gcry_malloc. (gcry_ac_data_add): Must use gcry_realloc instead of realloc. * pubkey.c (sexp_elements_extract): s/index/idx/ as tribute to the forehackers. (gcry_pk_encrypt): Removed shadowed definition of I. Reordered arguments to malloc for clarity. (gcry_pk_sign, gcry_pk_genkey): Ditto. * primegen.c (prime_generate_internal): s/random/randomlevel/. * i386/mpih-rshift.S, i386/mpih-lshift.S: Use %dl and not %edx for testb; this avoids an assembler warning. * mpi-pow.c (gcry_mpi_powm): s/exp/expo/ to avoid shadowing warning. * autogen.sh: Allow to override the tool name. Do not run libtoolize. Update required version numbers. * libgcrypt.vers (_gcry_generate_elg_prime): Removed this symbol; gnutls does not need it anymore. * secmem.c (mb_get_new): s/pool/block/ due to global pool. * misc.c (gcry_set_log_handler): s/logf/f/ to avoid shadowing warning against a builtin. * ath-pth-compat.c: cast pth_connect to get rid of the const prototype. * basic.c (check_aes128_cbc_cts_cipher): Make it a prototype * ac.c (check_run): Comment unused variable.
Diffstat (limited to 'acinclude.m4')
-rw-r--r--acinclude.m4406
1 files changed, 406 insertions, 0 deletions
diff --git a/acinclude.m4 b/acinclude.m4
index 9ac79b91..4c910731 100644
--- a/acinclude.m4
+++ b/acinclude.m4
@@ -321,3 +321,409 @@ AC_DEFUN(AM_PATH_GPG_ERROR,
AC_SUBST(GPG_ERROR_LIBS)
])
+dnl ##
+dnl ## GNU Pth - The GNU Portable Threads
+dnl ## Copyright (c) 1999-2002 Ralf S. Engelschall <rse@engelschall.com>
+dnl ##
+dnl ## This file is part of GNU Pth, a non-preemptive thread scheduling
+dnl ## library which can be found at http://www.gnu.org/software/pth/.
+dnl ##
+dnl ## This library is free software; you can redistribute it and/or
+dnl ## modify it under the terms of the GNU Lesser General Public
+dnl ## License as published by the Free Software Foundation; either
+dnl ## version 2.1 of the License, or (at your option) any later version.
+dnl ##
+dnl ## This library is distributed in the hope that it will be useful,
+dnl ## but WITHOUT ANY WARRANTY; without even the implied warranty of
+dnl ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+dnl ## Lesser General Public License for more details.
+dnl ##
+dnl ## You should have received a copy of the GNU Lesser General Public
+dnl ## License along with this library; if not, write to the Free Software
+dnl ## Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
+dnl ## USA, or contact Ralf S. Engelschall <rse@engelschall.com>.
+dnl ##
+dnl ## pth.m4: Autoconf macro for locating GNU Pth from within
+dnl ## configure.in of third-party software packages
+dnl ##
+
+dnl ##
+dnl ## Synopsis:
+dnl ## AC_CHECK_PTH([MIN-VERSION [, # minimum Pth version, e.g. 1.2.0
+dnl ## DEFAULT-WITH-PTH [, # default value for --with-pth option
+dnl ## DEFAULT-WITH-PTH-TEST [,# default value for --with-pth-test option
+dnl ## EXTEND-VARS [, # whether CFLAGS/LDFLAGS/etc are extended
+dnl ## ACTION-IF-FOUND [, # action to perform if Pth was found
+dnl ## ACTION-IF-NOT-FOUND # action to perform if Pth was not found
+dnl ## ]]]]]])
+dnl ## Examples:
+dnl ## AC_CHECK_PTH(1.2.0)
+dnl ## AC_CHECK_PTH(1.2.0,,,no,CFLAGS="$CFLAGS -DHAVE_PTH $PTH_CFLAGS")
+dnl ## AC_CHECK_PTH(1.2.0,yes,yes,yes,CFLAGS="$CFLAGS -DHAVE_PTH")
+dnl ##
+dnl
+dnl # auxilliary macros
+AC_DEFUN(_AC_PTH_ERROR, [dnl
+AC_MSG_RESULT([*FAILED*])
+dnl define(_ac_pth_line,dnl
+dnl "+------------------------------------------------------------------------+")
+dnl echo " _ac_pth_line" 1>&2
+cat <<EOT | sed -e 's/^[[ ]]*/ | /' -e 's/>>/ /' 1>&2
+$1
+EOT
+dnl echo " _ac_pth_line" 1>&2
+dnl undefine(_ac_pth_line)
+exit 1
+])
+AC_DEFUN(_AC_PTH_VERBOSE, [dnl
+if test ".$verbose" = .yes; then
+ AC_MSG_RESULT([ $1])
+fi
+])
+dnl # the user macro
+AC_DEFUN(AC_CHECK_PTH, [dnl
+dnl
+dnl # prerequisites
+AC_REQUIRE([AC_PROG_CC])dnl
+AC_REQUIRE([AC_PROG_CPP])dnl
+dnl
+PTH_CPPFLAGS=''
+PTH_CFLAGS=''
+PTH_LDFLAGS=''
+PTH_LIBS=''
+AC_SUBST(PTH_CPPFLAGS)
+AC_SUBST(PTH_CFLAGS)
+AC_SUBST(PTH_LDFLAGS)
+AC_SUBST(PTH_LIBS)
+dnl # command line options
+AC_MSG_CHECKING(for GNU Pth)
+_AC_PTH_VERBOSE([])
+AC_ARG_WITH(pth,dnl
+[ --with-pth[=ARG] Build with GNU Pth Library (default=]ifelse([$2],,yes,$2)[)],dnl
+,dnl
+with_pth="ifelse([$2],,yes,$2)"
+)dnl
+AC_ARG_WITH(pth-test,dnl
+[ --with-pth-test Perform GNU Pth Sanity Test (default=]ifelse([$3],,yes,$3)[)],dnl
+,dnl
+with_pth_test="ifelse([$3],,yes,$3)"
+)dnl
+_AC_PTH_VERBOSE([+ Command Line Options:])
+_AC_PTH_VERBOSE([ o --with-pth=$with_pth])
+_AC_PTH_VERBOSE([ o --with-pth-test=$with_pth_test])
+dnl
+dnl # configuration
+if test ".$with_pth" != .no; then
+ _pth_subdir=no
+ _pth_subdir_opts=''
+ case "$with_pth" in
+ subdir:* )
+ _pth_subdir=yes
+ changequote(, )dnl
+ _pth_subdir_opts=`echo $with_pth | sed -e 's/^subdir:[^ ]*[ ]*//'`
+ with_pth=`echo $with_pth | sed -e 's/^subdir:\([^ ]*\).*$/\1/'`
+ changequote([, ])dnl
+ ;;
+ esac
+ _pth_version=""
+ _pth_location=""
+ _pth_type=""
+ _pth_cppflags=""
+ _pth_cflags=""
+ _pth_ldflags=""
+ _pth_libs=""
+ if test ".$with_pth" = .yes; then
+ # via config script in $PATH
+ changequote(, )dnl
+ _pth_version=`(pth-config --version) 2>/dev/null |\
+ sed -e 's/^.*\([0-9]\.[0-9]*[ab.][0-9]*\).*$/\1/'`
+ changequote([, ])dnl
+ if test ".$_pth_version" != .; then
+ _pth_location=`pth-config --prefix`
+ _pth_type='installed'
+ _pth_cppflags=`pth-config --cflags`
+ _pth_cflags=`pth-config --cflags`
+ _pth_ldflags=`pth-config --ldflags`
+ _pth_libs=`pth-config --libs`
+ fi
+ elif test -d "$with_pth"; then
+ with_pth=`echo $with_pth | sed -e 's;/*$;;'`
+ _pth_found=no
+ # via locally included source tree
+ if test ".$_pth_subdir" = .yes; then
+ _pth_location="$with_pth"
+ _pth_type='local'
+ _pth_cppflags="-I$with_pth"
+ _pth_cflags="-I$with_pth"
+ if test -f "$with_pth/ltconfig"; then
+ _pth_ldflags="-L$with_pth/.libs"
+ else
+ _pth_ldflags="-L$with_pth"
+ fi
+ _pth_libs="-lpth"
+ changequote(, )dnl
+ _pth_version=`grep '^const char PTH_Hello' $with_pth/pth_vers.c |\
+ sed -e 's;^.*Version[ ]*\([0-9]*\.[0-9]*[.ab][0-9]*\)[ ].*$;\1;'`
+ changequote([, ])dnl
+ _pth_found=yes
+ ac_configure_args="$ac_configure_args --enable-subdir $_pth_subdir_opts"
+ with_pth_test=no
+ fi
+ # via config script under a specified directory
+ # (a standard installation, but not a source tree)
+ if test ".$_pth_found" = .no; then
+ for _dir in $with_pth/bin $with_pth; do
+ if test -f "$_dir/pth-config"; then
+ test -f "$_dir/pth-config.in" && continue # pth-config in source tree!
+ changequote(, )dnl
+ _pth_version=`($_dir/pth-config --version) 2>/dev/null |\
+ sed -e 's/^.*\([0-9]\.[0-9]*[ab.][0-9]*\).*$/\1/'`
+ changequote([, ])dnl
+ if test ".$_pth_version" != .; then
+ _pth_location=`$_dir/pth-config --prefix`
+ _pth_type="installed"
+ _pth_cppflags=`$_dir/pth-config --cflags`
+ _pth_cflags=`$_dir/pth-config --cflags`
+ _pth_ldflags=`$_dir/pth-config --ldflags`
+ _pth_libs=`$_dir/pth-config --libs`
+ _pth_found=yes
+ break
+ fi
+ fi
+ done
+ fi
+ # in any subarea under a specified directory
+ # (either a special installation or a Pth source tree)
+ if test ".$_pth_found" = .no; then
+ changequote(, )dnl
+ _pth_found=0
+ for _file in x `find $with_pth -name "pth.h" -type f -print`; do
+ test .$_file = .x && continue
+ _dir=`echo $_file | sed -e 's;[^/]*$;;' -e 's;\(.\)/$;\1;'`
+ _pth_version=`($_dir/pth-config --version) 2>/dev/null |\
+ sed -e 's/^.*\([0-9]\.[0-9]*[ab.][0-9]*\).*$/\1/'`
+ if test ".$_pth_version" = .; then
+ _pth_version=`grep '^#define PTH_VERSION_STR' $_file |\
+ sed -e 's;^#define[ ]*PTH_VERSION_STR[ ]*"\([0-9]*\.[0-9]*[.ab][0-9]*\)[ ].*$;\1;'`
+ fi
+ _pth_cppflags="-I$_dir"
+ _pth_cflags="-I$_dir"
+ _pth_found=`expr $_pth_found + 1`
+ done
+ for _file in x `find $with_pth -name "libpth.[aso]" -type f -print`; do
+ test .$_file = .x && continue
+ _dir=`echo $_file | sed -e 's;[^/]*$;;' -e 's;\(.\)/$;\1;'`
+ _pth_ldflags="-L$_dir"
+ _pth_libs="-lpth"
+ _pth_found=`expr $_pth_found + 1`
+ done
+ changequote([, ])dnl
+ if test ".$_pth_found" = .2; then
+ _pth_location="$with_pth"
+ _pth_type="uninstalled"
+ else
+ _pth_version=''
+ fi
+ fi
+ fi
+ _AC_PTH_VERBOSE([+ Determined Location:])
+ _AC_PTH_VERBOSE([ o path: $_pth_location])
+ _AC_PTH_VERBOSE([ o type: $_pth_type])
+ if test ".$_pth_version" = .; then
+ with_pth=no
+ else
+dnl if test ".$with_pth" != .yes; then
+dnl _AC_PTH_ERROR([dnl
+dnl Unable to locate GNU Pth under $with_pth.
+dnl Please specify the correct path to either a GNU Pth installation tree
+dnl (use --with-pth=DIR if you used --prefix=DIR for installing GNU Pth in
+dnl the past) or to a GNU Pth source tree (use --with-pth=DIR if DIR is a
+dnl path to a pth-X.Y.Z/ directory; but make sure the package is already
+dnl built, i.e., the "configure; make" step was already performed there).])
+dnl else
+dnl _AC_PTH_ERROR([dnl
+dnl Unable to locate GNU Pth in any system-wide location (see \$PATH).
+dnl Please specify the correct path to either a GNU Pth installation tree
+dnl (use --with-pth=DIR if you used --prefix=DIR for installing GNU Pth in
+dnl the past) or to a GNU Pth source tree (use --with-pth=DIR if DIR is a
+dnl path to a pth-X.Y.Z/ directory; but make sure the package is already
+dnl built, i.e., the "configure; make" step was already performed there).])
+dnl fi
+dnl fi
+ dnl #
+ dnl # Check whether the found version is sufficiently new
+ dnl #
+ _req_version="ifelse([$1],,1.0.0,$1)"
+ for _var in _pth_version _req_version; do
+ eval "_val=\"\$${_var}\""
+ _major=`echo $_val | sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\([[ab.]]\)\([[0-9]]*\)/\1/'`
+ _minor=`echo $_val | sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\([[ab.]]\)\([[0-9]]*\)/\2/'`
+ _rtype=`echo $_val | sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\([[ab.]]\)\([[0-9]]*\)/\3/'`
+ _micro=`echo $_val | sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\([[ab.]]\)\([[0-9]]*\)/\4/'`
+ case $_rtype in
+ "a" ) _rtype=0 ;;
+ "b" ) _rtype=1 ;;
+ "." ) _rtype=2 ;;
+ esac
+ _hex=`echo dummy | awk '{ printf("%d%02d%1d%02d", major, minor, rtype, micro); }' \
+ "major=$_major" "minor=$_minor" "rtype=$_rtype" "micro=$_micro"`
+ eval "${_var}_hex=\"\$_hex\""
+ done
+ _AC_PTH_VERBOSE([+ Determined Versions:])
+ _AC_PTH_VERBOSE([ o existing: $_pth_version -> 0x$_pth_version_hex])
+ _AC_PTH_VERBOSE([ o required: $_req_version -> 0x$_req_version_hex])
+ _ok=0
+ if test ".$_pth_version_hex" != .; then
+ if test ".$_req_version_hex" != .; then
+ if test $_pth_version_hex -ge $_req_version_hex; then
+ _ok=1
+ fi
+ fi
+ fi
+ if test ".$_ok" = .0; then
+ _AC_PTH_ERROR([dnl
+ Found Pth version $_pth_version, but required at least version $_req_version.
+ Upgrade Pth under $_pth_location to $_req_version or higher first, please.])
+ fi
+ dnl #
+ dnl # Perform Pth Sanity Compile Check
+ dnl #
+ if test ".$with_pth_test" = .yes; then
+ _ac_save_CPPFLAGS="$CPPFLAGS"
+ _ac_save_CFLAGS="$CFLAGS"
+ _ac_save_LDFLAGS="$LDFLAGS"
+ _ac_save_LIBS="$LIBS"
+ CPPFLAGS="$CPPFLAGS $_pth_cppflags"
+ CFLAGS="$CFLAGS $_pth_cflags"
+ LDFLAGS="$LDFLAGS $_pth_ldflags"
+ LIBS="$LIBS $_pth_libs"
+ _AC_PTH_VERBOSE([+ Test Build Environment:])
+ _AC_PTH_VERBOSE([ o CPPFLAGS=\"$CPPFLAGS\"])
+ _AC_PTH_VERBOSE([ o CFLAGS=\"$CFLAGS\"])
+ _AC_PTH_VERBOSE([ o LDFLAGS=\"$LDFLAGS\"])
+ _AC_PTH_VERBOSE([ o LIBS=\"$LIBS\"])
+ cross_compile=no
+ define(_code1, [dnl
+ #include <stdio.h>
+ #include <pth.h>
+ ])
+ define(_code2, [dnl
+ int main(int argc, char *argv[])
+ {
+ FILE *fp;
+ if (!(fp = fopen("conftestval", "w")))
+ exit(1);
+ fprintf(fp, "hmm");
+ fclose(fp);
+ pth_init();
+ pth_kill();
+ if (!(fp = fopen("conftestval", "w")))
+ exit(1);
+ fprintf(fp, "yes");
+ fclose(fp);
+ exit(0);
+ }
+ ])
+ _AC_PTH_VERBOSE([+ Performing Sanity Checks:])
+ _AC_PTH_VERBOSE([ o pre-processor test])
+ AC_TRY_CPP(_code1, _ok=yes, _ok=no)
+ if test ".$_ok" != .yes; then
+ _AC_PTH_ERROR([dnl
+ Found GNU Pth $_pth_version under $_pth_location, but
+ was unable to perform a sanity pre-processor check. This means
+ the GNU Pth header pth.h was not found.
+ We used the following build environment:
+ >> CPP="$CPP"
+ >> CPPFLAGS="$CPPFLAGS"
+ See config.log for possibly more details.])
+ fi
+ _AC_PTH_VERBOSE([ o link check])
+ AC_TRY_LINK(_code1, _code2, _ok=yes, _ok=no)
+ if test ".$_ok" != .yes; then
+ _AC_PTH_ERROR([dnl
+ Found GNU Pth $_pth_version under $_pth_location, but
+ was unable to perform a sanity linker check. This means
+ the GNU Pth library libpth.a was not found.
+ We used the following build environment:
+ >> CC="$CC"
+ >> CFLAGS="$CFLAGS"
+ >> LDFLAGS="$LDFLAGS"
+ >> LIBS="$LIBS"
+ See config.log for possibly more details.])
+ fi
+ _AC_PTH_VERBOSE([ o run-time check])
+ AC_TRY_RUN(_code1 _code2, _ok=`cat conftestval`, _ok=no, _ok=no)
+ if test ".$_ok" != .yes; then
+ if test ".$_ok" = .no; then
+ _AC_PTH_ERROR([dnl
+ Found GNU Pth $_pth_version under $_pth_location, but
+ was unable to perform a sanity execution check. This usually
+ means that the GNU Pth shared library libpth.so is present
+ but \$LD_LIBRARY_PATH is incomplete to execute a Pth test.
+ In this case either disable this test via --without-pth-test,
+ or extend \$LD_LIBRARY_PATH, or build GNU Pth as a static
+ library only via its --disable-shared Autoconf option.
+ We used the following build environment:
+ >> CC="$CC"
+ >> CFLAGS="$CFLAGS"
+ >> LDFLAGS="$LDFLAGS"
+ >> LIBS="$LIBS"
+ See config.log for possibly more details.])
+ else
+ _AC_PTH_ERROR([dnl
+ Found GNU Pth $_pth_version under $_pth_location, but
+ was unable to perform a sanity run-time check. This usually
+ means that the GNU Pth library failed to work and possibly
+ caused a core dump in the test program. In this case it
+ is strongly recommended that you re-install GNU Pth and this
+ time make sure that it really passes its "make test" procedure.
+ We used the following build environment:
+ >> CC="$CC"
+ >> CFLAGS="$CFLAGS"
+ >> LDFLAGS="$LDFLAGS"
+ >> LIBS="$LIBS"
+ See config.log for possibly more details.])
+ fi
+ fi
+ _extendvars="ifelse([$4],,yes,$4)"
+ if test ".$_extendvars" != .yes; then
+ CPPFLAGS="$_ac_save_CPPFLAGS"
+ CFLAGS="$_ac_save_CFLAGS"
+ LDFLAGS="$_ac_save_LDFLAGS"
+ LIBS="$_ac_save_LIBS"
+ fi
+ else
+ _extendvars="ifelse([$4],,yes,$4)"
+ if test ".$_extendvars" = .yes; then
+ if test ".$_pth_subdir" = .yes; then
+ CPPFLAGS="$CPPFLAGS $_pth_cppflags"
+ CFLAGS="$CFLAGS $_pth_cflags"
+ LDFLAGS="$LDFLAGS $_pth_ldflags"
+ LIBS="$LIBS $_pth_libs"
+ fi
+ fi
+ fi
+ PTH_CPPFLAGS="$_pth_cppflags"
+ PTH_CFLAGS="$_pth_cflags"
+ PTH_LDFLAGS="$_pth_ldflags"
+ PTH_LIBS="$_pth_libs"
+ AC_SUBST(PTH_CPPFLAGS)
+ AC_SUBST(PTH_CFLAGS)
+ AC_SUBST(PTH_LDFLAGS)
+ AC_SUBST(PTH_LIBS)
+ _AC_PTH_VERBOSE([+ Final Results:])
+ _AC_PTH_VERBOSE([ o PTH_CPPFLAGS=\"$PTH_CPPFLAGS\"])
+ _AC_PTH_VERBOSE([ o PTH_CFLAGS=\"$PTH_CFLAGS\"])
+ _AC_PTH_VERBOSE([ o PTH_LDFLAGS=\"$PTH_LDFLAGS\"])
+ _AC_PTH_VERBOSE([ o PTH_LIBS=\"$PTH_LIBS\"])
+fi
+fi
+if test ".$with_pth" != .no; then
+ AC_MSG_RESULT([version $_pth_version, $_pth_type under $_pth_location])
+ ifelse([$5], , :, [$5])
+else
+ AC_MSG_RESULT([no])
+ ifelse([$6], , :, [$6])
+fi
+])
+