aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Stenberg <daniel@haxx.se>2006-10-16 08:30:54 +0000
committerDaniel Stenberg <daniel@haxx.se>2006-10-16 08:30:54 +0000
commit67e8d22958ff607065fa7def640822ca8c70acf4 (patch)
tree2faaf347301de7559aaf38e1236a2191790e212b
parent10d1fc0e73cf23a06433ad6a933c3dcfef034a6c (diff)
Added a check in configure that simply tries to run a program (not when
cross-compiling) in order to detect problems with run-time libraries that otherwise would occur when the sizeof tests for curl_off_t would run and thus be much more confusing to users. The check of course should run after all lib-checks are done and before any other test is used that would run an executable built for testing-purposes.
-rw-r--r--CHANGES8
-rw-r--r--acinclude.m434
-rw-r--r--configure.ac1
3 files changed, 43 insertions, 0 deletions
diff --git a/CHANGES b/CHANGES
index 6e2d9e32a..340d727a1 100644
--- a/CHANGES
+++ b/CHANGES
@@ -6,6 +6,14 @@
Changelog
+Daniel (16 October 2006)
+- Added a check in configure that simply tries to run a program (not when
+ cross-compiling) in order to detect problems with run-time libraries that
+ otherwise would occur when the sizeof tests for curl_off_t would run and
+ thus be much more confusing to users. The check of course should run after
+ all lib-checks are done and before any other test is used that would run an
+ executable built for testing-purposes.
+
Dan F (13 October 2006)
- The tagging of application/x-www-form-urlencoded POST body data sent
to the CURLOPT_DEBUGFUNCTION callback has been fixed (it was erroneously
diff --git a/acinclude.m4 b/acinclude.m4
index 7317974bd..820e3ac20 100644
--- a/acinclude.m4
+++ b/acinclude.m4
@@ -1873,3 +1873,37 @@ else
AC_MSG_WARN([`missing' script is too old or missing])
fi
])
+
+
+dnl CURL_VERIFY_RUNTIMELIBS
+dnl -------------------------------------------------
+dnl Verify that the shared libs found so far can be used when running
+dnl programs, since otherwise the situation will create odd configure errors
+dnl that are misleading people.
+dnl
+dnl Make sure this test is run BEFORE the first test in the script that
+dnl runs anything, which at the time of this writing is the AC_CHECK_SIZEOF
+dnl macro. It must also run AFTER all lib-checking macros are complete.
+
+AC_DEFUN([CURL_VERIFY_RUNTIMELIBS], [
+
+ dnl this test is of course not sensible if we are cross-compiling!
+ if test "x$cross_compiling" != xyes; then
+
+ dnl just run a program to verify that the libs checked for previous to this
+ dnl point also is available run-time!
+ AC_MSG_CHECKING([run-time libs availability])
+ AC_TRY_RUN([
+main()
+{
+ return 0;
+}
+],
+ AC_MSG_RESULT([fine]),
+ AC_MSG_RESULT([failed])
+ AC_MSG_ERROR([one or more libs available at link-time are not available run-time. Libs used at link-time: $LIBS])
+ )
+
+ dnl if this test fails, configure has already stopped
+ fi
+])
diff --git a/configure.ac b/configure.ac
index 31c00a384..a53c819d7 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1528,6 +1528,7 @@ AC_C_CONST
AC_TYPE_SIZE_T
AC_HEADER_TIME
CURL_CHECK_STRUCT_TIMEVAL
+CURL_VERIFY_RUNTIMELIBS
AC_CHECK_SIZEOF(curl_off_t, ,[
#include <stdio.h>