]> git.ipfire.org Git - thirdparty/apache/httpd.git/commitdiff
Backport the APACHE_CHECK_VOID_PTR_LEN and APACHE_CHECK_APxVER autoconf macros
authorColm MacCarthaigh <colm@apache.org>
Tue, 11 Oct 2005 16:05:15 +0000 (16:05 +0000)
committerColm MacCarthaigh <colm@apache.org>
Tue, 11 Oct 2005 16:05:15 +0000 (16:05 +0000)
from the trunk branch.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/2.2.x@312904 13f79535-47bb-0310-9956-ffa450edef68

acinclude.m4
configure.in

index 38d3993fd62cf37ea256ef70332ebca1d3e2dcd1..360a47279e2054b0cbc25b320e9e51904e2cf777 100644 (file)
@@ -528,3 +528,65 @@ AC_DEFUN(APACHE_EXPORT_ARGUMENTS,[
   APACHE_SUBST_EXPANDED_ARG(proxycachedir)
 ])
 
+dnl 
+dnl APACHE_CHECK_APxVER({apr|apu}, major, minor, 
+dnl                     [actions-if-ok], [actions-if-not-ok])
+dnl
+dnl Checks for APR or APR-util of given major/minor version or later; 
+dnl if so, runs actions-if-ok; otherwise runs actions-if-not-ok if given.
+dnl If the version is not satisfactory and actions-if-not-ok is not
+dnl given, then an error is printed and the configure script is aborted.
+dnl
+dnl The first argument must be [apr] or [apu].
+dnl
+AC_DEFUN([APACHE_CHECK_APxVER], [
+define(ap_ckver_major, translit($1, [apru], [APRU])[_MAJOR_VERSION])
+define(ap_ckver_minor, translit($1, [apru], [APRU])[_MINOR_VERSION])
+define(ap_ckver_cvar, [ap_cv_$1ver$2$3])
+define(ap_ckver_name, ifelse([$1],[apr],[APR],[APR-util]))
+
+ap_ckver_CPPFLAGS="$CPPFLAGS"
+CPPFLAGS="$CPPFLAGS `$[$1]_config --includes`"
+
+AC_CACHE_CHECK([for ap_ckver_name version $2.$3.0 or later], ap_ckver_cvar, [
+AC_EGREP_CPP([good], [
+#include <$1_version.h>
+#if ]ap_ckver_major[ > $2 || (]ap_ckver_major[ == $2 && ]ap_ckver_minor[ >= $3)
+good
+#endif
+], [ap_ckver_cvar=yes], [ap_ckver_cvar=no])])
+
+if test "$ap_ckver_cvar" = "yes"; then
+  ifelse([$4],[],[:],[$4])
+else
+  ifelse([$5],[],[AC_MSG_ERROR([ap_ckver_name version $2.$3.0 or later is required])], [$5])
+fi
+
+CPPFLAGS="$ap_ckver_CPPFLAGS"
+
+undefine([ap_ckver_major])
+undefine([ap_ckver_minor])
+undefine([ap_ckver_cvar])
+undefine([ap_ckver_name])
+])
+
+dnl
+dnl APACHE_CHECK_VOID_PTR_LEN
+dnl
+dnl Checks if the size of a void pointer is at least as big as a "long" 
+dnl integer type.
+dnl
+AC_DEFUN([APACHE_CHECK_VOID_PTR_LEN], [
+
+AC_CACHE_CHECK([for void pointer length], [ap_void_ptr_lt_long],
+[AC_TRY_RUN([
+int main(void)
+{
+    return sizeof(void *) < sizeof(long); 
+}], [ap_void_ptr_lt_long=no], [ap_void_ptr_lt_long=yes], 
+    [ap_void_ptr_lt_long=yes])])
+
+if test "$ap_void_ptr_lt_long" = "yes"; then
+    AC_MSG_ERROR([Size of "void *" is less than size of "long"])
+fi
+])
index ea97e3849e2e156fa70c0678d8d114a103a19807..86ca5bee6783db84e3c0f4d9d91884d3fa036e53 100644 (file)
@@ -366,6 +366,9 @@ prctl \
 timegm \
 )
 
+dnl confirm that a void pointer is large enough to store a long integer
+APACHE_CHECK_VOID_PTR_LEN
+
 dnl ## Check for the tm_gmtoff field in struct tm to get the timezone diffs
 AC_CACHE_CHECK([for tm_gmtoff in struct tm], ac_cv_struct_tm_gmtoff,
 [AC_TRY_COMPILE([#include <sys/types.h>