2004-09-14 Marcus Brinkmann <marcus@g10code.de>

* acinclude.m4: Add copyright notice.
	(jm_GLIBC21, AM_PATH_GPG_ERROR, _AC_PTH_ERROR, _AC_PTH_VERBOSE,
	AC_CHECK_PTH): Removed.

m4/
2004-09-14  Marcus Brinkmann  <marcus@g10code.de>

	* glibc21.m4: New file.
	* gpg-error.m4: New file.
	* pth.m4: New file.
This commit is contained in:
Marcus Brinkmann 2004-09-14 18:30:23 +00:00
parent 92f095084a
commit 3e4881a65a
6 changed files with 545 additions and 506 deletions

View File

@ -1,3 +1,9 @@
2004-09-14 Marcus Brinkmann <marcus@g10code.de>
* acinclude.m4: Add copyright notice.
(jm_GLIBC21, AM_PATH_GPG_ERROR, _AC_PTH_ERROR, _AC_PTH_VERBOSE,
AC_CHECK_PTH): Removed.
2004-06-23 Marcus Brinkmann <marcus@g10code.de>
* configure.ac: Check for <sys/uio.h>.

View File

@ -1,11 +1,29 @@
dnl Macros to configure gpgme
dnl Macros to configure GPGME
dnl Copyright (C) 2004 g10 Code GmbH
dnl
dnl This file is part of GPGME.
dnl
dnl GPGME is free software; you can redistribute it and/or modify
dnl it under the terms of the GNU General Public License as published by
dnl the Free Software Foundation; either version 2 of the License, or
dnl (at your option) any later version.
dnl
dnl GPGME 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
dnl GNU General Public License for more details.
dnl
dnl You should have received a copy of the GNU General Public License
dnl along with this program; if not, write to the Free Software
dnl Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
dnl GNUPG_FIX_HDR_VERSION(FILE, NAME)
dnl Make the version number in gcrypt/gcrypt.h the same as the one here.
dnl (this is easier than to have a .in file just for one substitution)
dnl We must use a temp file in the current directory because make distcheck
dnl install all sourcefiles RO.
dnl (wk 2001-12-18)
dnl Make the version number stored in NAME in the header file FILE the
dnl same as the one here. This is easier than to have a .in file just
dnl for one substitution.
dnl We must use a temp file in the current directory because make
dnl distcheck installs all sourcefiles RO.
dnl (wk 2001-12-18)
AC_DEFUN(GNUPG_FIX_HDR_VERSION,
[ sed "s/^#define $2 \".*/#define $2 \"$VERSION\"/" $srcdir/$1 > fixhdr.tmp
if cmp -s $srcdir/$1 fixhdr.tmp 2>/dev/null; then
@ -25,413 +43,6 @@ AC_DEFUN(GNUPG_FIX_HDR_VERSION,
fi
])
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
])
dnl GNUPG_CHECK_VA_COPY()
dnl Do some check on how to implement va_copy.
dnl May define MUST_COPY_VA_BY_VAL.
@ -465,96 +76,3 @@ AC_DEFUN(GNUPG_CHECK_VA_COPY,
fi
AC_MSG_RESULT($gnupg_cv_must_copy_va_byval)
])
# glibc21.m4 serial 2 (fileutils-4.1.3, gettext-0.10.40)
dnl Copyright (C) 2000-2002 Free Software Foundation, Inc.
dnl This file is free software, distributed under the terms of the GNU
dnl General Public License. As a special exception to the GNU General
dnl Public License, this file may be distributed as part of a program
dnl that contains a configuration script generated by Autoconf, under
dnl the same distribution terms as the rest of that program.
# Test for the GNU C Library, version 2.1 or newer.
# From Bruno Haible.
AC_DEFUN([jm_GLIBC21],
[
AC_CACHE_CHECK(whether we are using the GNU C Library 2.1 or newer,
ac_cv_gnu_library_2_1,
[AC_EGREP_CPP([Lucky GNU user],
[
#include <features.h>
#ifdef __GNU_LIBRARY__
#if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 1) || (__GLIBC__ > 2)
Lucky GNU user
#endif
#endif
],
ac_cv_gnu_library_2_1=yes,
ac_cv_gnu_library_2_1=no)
]
)
AC_SUBST(GLIBC21)
GLIBC21="$ac_cv_gnu_library_2_1"
]
)
dnl AM_PATH_GPG_ERROR([MINIMUM-VERSION,
dnl [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND ]]])
dnl Test for libgpg-error and define GPG_ERROR_CFLAGS and GPG_ERROR_LIBS
dnl
dnl taken from libgpg-error 0.6
dnl
AC_DEFUN(AM_PATH_GPG_ERROR,
[ AC_ARG_WITH(gpg-error-prefix,
AC_HELP_STRING([--with-gpg-error-prefix=PFX],
[prefix where GPG Error is installed (optional)]),
gpg_error_config_prefix="$withval", gpg_error_config_prefix="")
if test x$gpg_error_config_prefix != x ; then
if test x${GPG_ERROR_CONFIG+set} != xset ; then
GPG_ERROR_CONFIG=$gpg_error_config_prefix/bin/gpg-error-config
fi
fi
AC_PATH_PROG(GPG_ERROR_CONFIG, gpg-error-config, no)
min_gpg_error_version=ifelse([$1], ,0.0,$1)
AC_MSG_CHECKING(for GPG Error - version >= $min_gpg_error_version)
ok=no
if test "$GPG_ERROR_CONFIG" != "no" ; then
req_major=`echo $min_gpg_error_version | \
sed 's/\([[0-9]]*\)\.\([[0-9]]*\)/\1/'`
req_minor=`echo $min_gpg_error_version | \
sed 's/\([[0-9]]*\)\.\([[0-9]]*\)/\2/'`
gpg_error_config_version=`$GPG_ERROR_CONFIG $gpg_error_config_args --version`
major=`echo $gpg_error_config_version | \
sed 's/\([[0-9]]*\)\.\([[0-9]]*\).*/\1/'`
minor=`echo $gpg_error_config_version | \
sed 's/\([[0-9]]*\)\.\([[0-9]]*\).*/\2/'`
if test "$major" -gt "$req_major"; then
ok=yes
else
if test "$major" -eq "$req_major"; then
if test "$minor" -ge "$req_minor"; then
ok=yes
fi
fi
fi
fi
if test $ok = yes; then
GPG_ERROR_CFLAGS=`$GPG_ERROR_CONFIG $gpg_error_config_args --cflags`
GPG_ERROR_LIBS=`$GPG_ERROR_CONFIG $gpg_error_config_args --libs`
AC_MSG_RESULT(yes)
ifelse([$2], , :, [$2])
else
GPG_ERROR_CFLAGS=""
GPG_ERROR_LIBS=""
AC_MSG_RESULT(no)
ifelse([$3], , :, [$3])
fi
AC_SUBST(GPG_ERROR_CFLAGS)
AC_SUBST(GPG_ERROR_LIBS)
])

15
m4/ChangeLog Normal file
View File

@ -0,0 +1,15 @@
2004-09-14 Marcus Brinkmann <marcus@g10code.de>
* glibc21.m4: New file.
* gpg-error.m4: New file.
* pth.m4: New file.
Copyright 2004 g10 Code GmbH
This file is free software; as a special exception the author gives
unlimited permission to copy and/or distribute it, with or without
modifications, as long as this notice is preserved.
This file is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

32
m4/glibc21.m4 Normal file
View File

@ -0,0 +1,32 @@
# glibc21.m4 serial 2 (fileutils-4.1.3, gettext-0.10.40)
dnl Copyright (C) 2000-2002 Free Software Foundation, Inc.
dnl This file is free software, distributed under the terms of the GNU
dnl General Public License. As a special exception to the GNU General
dnl Public License, this file may be distributed as part of a program
dnl that contains a configuration script generated by Autoconf, under
dnl the same distribution terms as the rest of that program.
# Test for the GNU C Library, version 2.1 or newer.
# From Bruno Haible.
AC_DEFUN([jm_GLIBC21],
[
AC_CACHE_CHECK(whether we are using the GNU C Library 2.1 or newer,
ac_cv_gnu_library_2_1,
[AC_EGREP_CPP([Lucky GNU user],
[
#include <features.h>
#ifdef __GNU_LIBRARY__
#if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 1) || (__GLIBC__ > 2)
Lucky GNU user
#endif
#endif
],
ac_cv_gnu_library_2_1=yes,
ac_cv_gnu_library_2_1=no)
]
)
AC_SUBST(GLIBC21)
GLIBC21="$ac_cv_gnu_library_2_1"
]
)

65
m4/gpg-error.m4 Normal file
View File

@ -0,0 +1,65 @@
# gpg-error.m4 - autoconf macro to detect libgpg-error.
# Copyright (C) 2002, 2003, 2004 g10 Code GmbH
#
# This file is free software; as a special exception the author gives
# unlimited permission to copy and/or distribute it, with or without
# modifications, as long as this notice is preserved.
#
# This file is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
dnl AM_PATH_GPG_ERROR([MINIMUM-VERSION,
dnl [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND ]]])
dnl Test for libgpg-error and define GPG_ERROR_CFLAGS and GPG_ERROR_LIBS
dnl
AC_DEFUN([AM_PATH_GPG_ERROR],
[ AC_ARG_WITH(gpg-error-prefix,
AC_HELP_STRING([--with-gpg-error-prefix=PFX],
[prefix where GPG Error is installed (optional)]),
gpg_error_config_prefix="$withval", gpg_error_config_prefix="")
if test x$gpg_error_config_prefix != x ; then
if test x${GPG_ERROR_CONFIG+set} != xset ; then
GPG_ERROR_CONFIG=$gpg_error_config_prefix/bin/gpg-error-config
fi
fi
AC_PATH_PROG(GPG_ERROR_CONFIG, gpg-error-config, no)
min_gpg_error_version=ifelse([$1], ,0.0,$1)
AC_MSG_CHECKING(for GPG Error - version >= $min_gpg_error_version)
ok=no
if test "$GPG_ERROR_CONFIG" != "no" ; then
req_major=`echo $min_gpg_error_version | \
sed 's/\([[0-9]]*\)\.\([[0-9]]*\)/\1/'`
req_minor=`echo $min_gpg_error_version | \
sed 's/\([[0-9]]*\)\.\([[0-9]]*\)/\2/'`
gpg_error_config_version=`$GPG_ERROR_CONFIG $gpg_error_config_args --version`
major=`echo $gpg_error_config_version | \
sed 's/\([[0-9]]*\)\.\([[0-9]]*\).*/\1/'`
minor=`echo $gpg_error_config_version | \
sed 's/\([[0-9]]*\)\.\([[0-9]]*\).*/\2/'`
if test "$major" -gt "$req_major"; then
ok=yes
else
if test "$major" -eq "$req_major"; then
if test "$minor" -ge "$req_minor"; then
ok=yes
fi
fi
fi
fi
if test $ok = yes; then
GPG_ERROR_CFLAGS=`$GPG_ERROR_CONFIG $gpg_error_config_args --cflags`
GPG_ERROR_LIBS=`$GPG_ERROR_CONFIG $gpg_error_config_args --libs`
AC_MSG_RESULT(yes)
ifelse([$2], , :, [$2])
else
GPG_ERROR_CFLAGS=""
GPG_ERROR_LIBS=""
AC_MSG_RESULT(no)
ifelse([$3], , :, [$3])
fi
AC_SUBST(GPG_ERROR_CFLAGS)
AC_SUBST(GPG_ERROR_LIBS)
])

403
m4/pth.m4 Normal file
View File

@ -0,0 +1,403 @@
dnl ##
dnl ## GNU Pth - The GNU Portable Threads
dnl ## Copyright (c) 1999-2003 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.ac 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*])
define(_ac_pth_line,dnl
"+------------------------------------------------------------------------+")
echo " _ac_pth_line" 1>&2
cat <<EOT | sed -e 's/^[[ ]]*/ | /' -e 's/>>/ /' 1>&2
$1
EOT
echo " _ac_pth_line" 1>&2
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
if test ".$with_pth" != .yes; then
_AC_PTH_ERROR([dnl
Unable to locate GNU Pth under $with_pth.
Please specify the correct path to either a GNU Pth installation tree
(use --with-pth=DIR if you used --prefix=DIR for installing GNU Pth in
the past) or to a GNU Pth source tree (use --with-pth=DIR if DIR is a
path to a pth-X.Y.Z/ directory; but make sure the package is already
built, i.e., the "configure; make" step was already performed there).])
else
_AC_PTH_ERROR([dnl
Unable to locate GNU Pth in any system-wide location (see \$PATH).
Please specify the correct path to either a GNU Pth installation tree
(use --with-pth=DIR if you used --prefix=DIR for installing GNU Pth in
the past) or to a GNU Pth source tree (use --with-pth=DIR if DIR is a
path to a pth-X.Y.Z/ directory; but make sure the package is already
built, i.e., the "configure; make" step was already performed there).])
fi
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
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
])