summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon Josefsson <simon@josefsson.org>2008-10-08 16:51:27 +0200
committerSimon Josefsson <simon@josefsson.org>2008-10-08 16:51:27 +0200
commitce23654ab3b8097241c1639ebe3e853c4f67b6d7 (patch)
treee79a4f6afee1d108a722316a5a3f313b37a1a40e
parentdd1db30fed37f343337409e4afa49510c14c8d11 (diff)
downloadgnutls-ce23654ab3b8097241c1639ebe3e853c4f67b6d7.tar.gz
Detect libtasn1 via AC_LIB_HAVE_LINKFLAGS.
-rw-r--r--NEWS2
-rw-r--r--configure.in33
-rw-r--r--lib/gnutls_global.c2
-rw-r--r--m4/libtasn1.m4160
4 files changed, 18 insertions, 179 deletions
diff --git a/NEWS b/NEWS
index 80037ad90f..f03d4fd516 100644
--- a/NEWS
+++ b/NEWS
@@ -19,6 +19,8 @@ from Thomas Viehmann <tv@beamnet.de>.
** tests: Make tests compile when using internal libtasn1.
Patch by ludo@gnu.org (Ludovic Courtès).
+** Changed detection of libtasn1 to avoid depending on libtasn1-config.
+
** API and ABI modifications:
gnutls_x509_crl_get_authority_key_id: ADDED
gnutls_x509_crl_get_number: ADDED
diff --git a/configure.in b/configure.in
index 4f024e576a..cb0a96bce5 100644
--- a/configure.in
+++ b/configure.in
@@ -42,9 +42,7 @@ SOVERSION=`expr ${LT_CURRENT} - ${LT_AGE}`
AC_SUBST(SOVERSION)
GNUTLS_GCRYPT_VERSION=1:1.2.4
-GNUTLS_LIBTASN1_VERSION=0.3.4
AC_DEFINE_UNQUOTED(GNUTLS_GCRYPT_VERSION, "$GNUTLS_GCRYPT_VERSION", [version of gcrypt])
-AC_DEFINE_UNQUOTED(GNUTLS_LIBTASN1_VERSION, "$GNUTLS_LIBTASN1_VERSION", [version of libtasn1])
# Compute numeric versions, used in includes/gnutls/gnutls.h.in.
AC_SUBST(MAJOR_VERSION, `echo $PACKAGE_VERSION | sed 's/\(.*\)\..*\..*/\1/g'`)
@@ -512,26 +510,25 @@ fi
AM_CONDITIONAL(ENABLE_OPENSSL, test "$ac_enable_openssl" = "yes")
-
+# Check for libtasn1
AC_ARG_WITH(included-libtasn1,
- AS_HELP_STRING([--with-included-libtasn1],
- [use the included libtasn1]),
- minitasn1_enabled=$withval,
- minitasn1_enabled=no)
-
-if test x$minitasn1_enabled = xno; then
-AM_PATH_LIBTASN1($GNUTLS_LIBTASN1_VERSION,,
- minitasn1_enabled=yes
- AC_MSG_WARN([[
+ AS_HELP_STRING([--with-included-libtasn1], [use the included libtasn1]),
+ included_libtasn1=$withval,
+ included_libtasn1=no)
+if test "$included_libtasn1" = "no"; then
+ AC_LIB_HAVE_LINKFLAGS(tasn1,, [#include <libtasn1.h>],
+ [asn1_check_version (NULL)])
+ if test "$ac_cv_libtasn1" != yes; then
+ included_libtasn1=yes
+ AC_MSG_WARN([[
***
-*** LibtASN1 ${GNUTLS_LIBTASN1_VERSION} was not found. Will use the included one.
-]]))
+*** Libtasn1 was not found. Will use the included one.
+]])
+ fi
fi
-
AC_MSG_CHECKING([whether to use the included minitasn1])
-AC_MSG_RESULT($minitasn1_enabled)
-
-AM_CONDITIONAL(ENABLE_MINITASN1, test "$minitasn1_enabled" = "yes")
+AC_MSG_RESULT($included_libtasn1)
+AM_CONDITIONAL(ENABLE_MINITASN1, test "$included_libtasn1" = "yes")
if test "$ac_full" != 1; then
AC_MSG_WARN([[
diff --git a/lib/gnutls_global.c b/lib/gnutls_global.c
index 4eda112735..b9184c9c27 100644
--- a/lib/gnutls_global.c
+++ b/lib/gnutls_global.c
@@ -266,7 +266,7 @@ gnutls_global_init (void)
* version.
*/
- if (asn1_check_version (GNUTLS_LIBTASN1_VERSION) == NULL)
+ if (asn1_check_version (LIBTASN1_VERSION) == NULL)
{
gnutls_assert ();
return GNUTLS_E_INCOMPATIBLE_LIBTASN1_LIBRARY;
diff --git a/m4/libtasn1.m4 b/m4/libtasn1.m4
deleted file mode 100644
index ea2e10f56d..0000000000
--- a/m4/libtasn1.m4
+++ /dev/null
@@ -1,160 +0,0 @@
-dnl Autoconf macros for libtasn1
-dnl $id$
-
-# Modified for LIBTASN1 -- nmav
-# Configure paths for LIBGCRYPT
-# Shamelessly stolen from the one of XDELTA by Owen Taylor
-# Werner Koch 99-12-09
-
-dnl AM_PATH_LIBTASN1([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND ]]])
-dnl Test for libtasn1, and define LIBTASN1_CFLAGS and LIBTASN1_LIBS
-dnl
-AC_DEFUN([AM_PATH_LIBTASN1],
-[dnl
-dnl Get the cflags and libraries from the libtasn1-config script
-dnl
-AC_ARG_WITH(libtasn1-prefix,
- [ --with-libtasn1-prefix=PFX Prefix where libtasn1 is installed (optional)],
- libtasn1_config_prefix="$withval", libtasn1_config_prefix="")
-
- if test x$libtasn1_config_prefix != x ; then
- if test x${LIBTASN1_CONFIG+set} != xset ; then
- LIBTASN1_CONFIG=$libtasn1_config_prefix/bin/libtasn1-config
- fi
- fi
-
- AC_PATH_PROG(LIBTASN1_CONFIG, libtasn1-config, no)
- min_libtasn1_version=ifelse([$1], ,0.1.0,$1)
- AC_MSG_CHECKING(for libtasn1 - version >= $min_libtasn1_version)
- no_libtasn1=""
- if test "$LIBTASN1_CONFIG" = "no" ; then
- no_libtasn1=yes
- else
- LIBTASN1_CFLAGS=`$LIBTASN1_CONFIG $libtasn1_config_args --cflags`
- LIBTASN1_LIBS=`$LIBTASN1_CONFIG $libtasn1_config_args --libs`
- libtasn1_config_version=`$LIBTASN1_CONFIG $libtasn1_config_args --version`
-
-
- ac_save_CFLAGS="$CFLAGS"
- ac_save_LIBS="$LIBS"
- CFLAGS="$CFLAGS $LIBTASN1_CFLAGS"
- LIBS="$LIBS $LIBTASN1_LIBS"
-dnl
-dnl Now check if the installed libtasn1 is sufficiently new. Also sanity
-dnl checks the results of libtasn1-config to some extent
-dnl
- rm -f conf.libtasn1test
- AC_TRY_RUN([
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <libtasn1.h>
-
-int
-main ()
-{
- system ("touch conf.libtasn1test");
-
- if( strcmp( asn1_check_version(NULL), "$libtasn1_config_version" ) )
- {
- printf("\n*** 'libtasn1-config --version' returned %s, but LIBTASN1 (%s)\n",
- "$libtasn1_config_version", asn1_check_version(NULL) );
- printf("*** was found! If libtasn1-config was correct, then it is best\n");
- printf("*** to remove the old version of LIBTASN1. You may also be able to fix the error\n");
- printf("*** by modifying your LD_LIBRARY_PATH enviroment variable, or by editing\n");
- printf("*** /etc/ld.so.conf. Make sure you have run ldconfig if that is\n");
- printf("*** required on your system.\n");
- printf("*** If libtasn1-config was wrong, set the environment variable LIBTASN1_CONFIG\n");
- printf("*** to point to the correct copy of libtasn1-config, and remove the file config.cache\n");
- printf("*** before re-running configure\n");
- }
- else if ( strcmp(asn1_check_version(NULL), LIBTASN1_VERSION ) )
- {
- printf("\n*** LIBTASN1 header file (version %s) does not match\n", LIBTASN1_VERSION);
- printf("*** library (version %s)\n", asn1_check_version(NULL) );
- }
- else
- {
- if ( asn1_check_version( "$min_libtasn1_version" ) )
- {
- return 0;
- }
- else
- {
- printf("no\n*** An old version of LIBTASN1 (%s) was found.\n",
- asn1_check_version(NULL) );
- printf("*** You need a version of LIBTASN1 newer than %s. The latest version of\n",
- "$min_libtasn1_version" );
- printf("*** LIBTASN1 is always available from ftp://gnutls.hellug.gr/pub/gnutls/libtasn1.\n");
- printf("*** \n");
- printf("*** If you have already installed a sufficiently new version, this error\n");
- printf("*** probably means that the wrong copy of the libtasn1-config shell script is\n");
- printf("*** being found. The easiest way to fix this is to remove the old version\n");
- printf("*** of LIBTASN1, but you can also set the LIBTASN1_CONFIG environment to point to the\n");
- printf("*** correct copy of libtasn1-config. (In this case, you will have to\n");
- printf("*** modify your LD_LIBRARY_PATH enviroment variable, or edit /etc/ld.so.conf\n");
- printf("*** so that the correct libraries are found at run-time))\n");
- }
- }
- return 1;
-}
-],, no_libtasn1=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"])
- CFLAGS="$ac_save_CFLAGS"
- LIBS="$ac_save_LIBS"
- fi
-
- if test "x$no_libtasn1" = x ; then
- AC_MSG_RESULT(yes)
- ifelse([$2], , :, [$2])
- else
- if test -f conf.libtasn1test ; then
- :
- else
- AC_MSG_RESULT(no)
- fi
- if test "$LIBTASN1_CONFIG" = "no" ; then
- echo "*** The libtasn1-config script installed by LIBTASN1 could not be found"
- echo "*** If LIBTASN1 was installed in PREFIX, make sure PREFIX/bin is in"
- echo "*** your path, or set the LIBTASN1_CONFIG environment variable to the"
- echo "*** full path to libtasn1-config."
- else
- if test -f conf.libtasn1test ; then
- :
- else
- echo "*** Could not run libtasn1 test program, checking why..."
- CFLAGS="$CFLAGS $LIBTASN1_CFLAGS"
- LIBS="$LIBS $LIBTASN1_LIBS"
- AC_TRY_LINK([
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <libtasn1.h>
-], [ return !!asn1_check_version(NULL); ],
- [ echo "*** The test program compiled, but did not run. This usually means"
- echo "*** that the run-time linker is not finding LIBTASN1 or finding the wrong"
- echo "*** version of LIBTASN1. If it is not finding LIBTASN1, you'll need to set your"
- echo "*** LD_LIBRARY_PATH environment variable, or edit /etc/ld.so.conf to point"
- echo "*** to the installed location Also, make sure you have run ldconfig if that"
- echo "*** is required on your system"
- echo "***"
- echo "*** If you have an old version installed, it is best to remove it, although"
- echo "*** you may also be able to get things to work by modifying LD_LIBRARY_PATH"
- echo "***" ],
- [ echo "*** The test program failed to compile or link. See the file config.log for the"
- echo "*** exact error that occured. This usually means LIBTASN1 was incorrectly installed"
- echo "*** or that you have moved LIBTASN1 since it was installed. In the latter case, you"
- echo "*** may want to edit the libtasn1-config script: $LIBTASN1_CONFIG" ])
- CFLAGS="$ac_save_CFLAGS"
- LIBS="$ac_save_LIBS"
- fi
- fi
- LIBTASN1_CFLAGS=""
- LIBTASN1_LIBS=""
- ifelse([$3], , :, [$3])
- fi
- rm -f conf.libtasn1test
- AC_SUBST(LIBTASN1_CFLAGS)
- AC_SUBST(LIBTASN1_LIBS)
-])
-
-dnl *-*wedit:notab*-* Please keep this as the last line.