]> git.saurik.com Git - wxWidgets.git/blobdiff - acinclude.m4
Better fix
[wxWidgets.git] / acinclude.m4
index 4c86f58ec728b9eb936478ebb1f11c1056423ad8..bd3e379f7f4166e23c26490ebd6d60320f02e590 100644 (file)
@@ -132,7 +132,7 @@ AC_DEFUN([WX_CPP_NEW_HEADERS],
     AC_LANG_SAVE
     AC_LANG_CPLUSPLUS
 
-    AC_CHECK_HEADER(iostream,,, [ ])
+    AC_CHECK_HEADERS([iostream],,, [ ])
 
     if test "$ac_cv_header_iostream" = "yes" ; then
       ifelse([$1], , :, [$1])
@@ -284,7 +284,7 @@ AC_DEFUN([WX_CHECK_FUNCS],
 
     if eval test \$wx_cv_func_$wx_func = yes
     then
-      AC_DEFINE_UNQUOTED([HAVE_`echo $wx_func | tr 'a-z' 'A-Z'`])
+      AC_DEFINE_UNQUOTED([AS_TR_CPP([HAVE_$wx_func])])
       $2
     else
       :
@@ -332,60 +332,38 @@ fi
 ])
 
 dnl ---------------------------------------------------------------------------
-dnl override AC_ARG_ENABLE/WITH to cache the results in .cache file
+dnl override AC_ARG_ENABLE/WITH to handle options defaults
 dnl ---------------------------------------------------------------------------
 
-AC_DEFUN([WX_ARG_CACHE_INIT],
-        [
-          wx_arg_cache_file="configarg.cache"
-          echo "loading argument cache $wx_arg_cache_file"
-          rm -f ${wx_arg_cache_file}.tmp
-          touch ${wx_arg_cache_file}.tmp
-          touch ${wx_arg_cache_file}
-        ])
-
-AC_DEFUN([WX_ARG_CACHE_FLUSH],
-        [
-          echo "saving argument cache $wx_arg_cache_file"
-          mv ${wx_arg_cache_file}.tmp ${wx_arg_cache_file}
-        ])
-
 dnl this macro checks for a three-valued command line --with argument:
 dnl   possible arguments are 'yes', 'no', 'sys', or 'builtin'
 dnl usage: WX_ARG_SYS_WITH(option, helpmessage, variable-name)
+dnl
+dnl the default value (used if the option is not specified at all) is the value
+dnl of wxUSE_ALL_FEATURES (which is "yes" by default but can be changed by
+dnl giving configure --disable-all-features option)
 AC_DEFUN([WX_ARG_SYS_WITH],
         [
           AC_MSG_CHECKING([for --with-$1])
-          no_cache=0
           AC_ARG_WITH($1, [$2],
                       [
                         if test "$withval" = yes; then
-                          ac_cv_use_$1='$3=yes'
+                          AS_TR_SH(wx_cv_use_$1)='$3=yes'
                         elif test "$withval" = no; then
-                          ac_cv_use_$1='$3=no'
+                          AS_TR_SH(wx_cv_use_$1)='$3=no'
                         elif test "$withval" = sys; then
-                          ac_cv_use_$1='$3=sys'
+                          AS_TR_SH(wx_cv_use_$1)='$3=sys'
                         elif test "$withval" = builtin; then
-                          ac_cv_use_$1='$3=builtin'
+                          AS_TR_SH(wx_cv_use_$1)='$3=builtin'
                         else
                           AC_MSG_ERROR([Invalid value for --with-$1: should be yes, no, sys, or builtin])
                         fi
                       ],
                       [
-                        LINE=`grep "$3" ${wx_arg_cache_file}`
-                        if test "x$LINE" != x ; then
-                          eval "DEFAULT_$LINE"
-                        else
-                          no_cache=1
-                        fi
-
-                        ac_cv_use_$1='$3='$DEFAULT_$3
+                        AS_TR_SH(wx_cv_use_$1)='$3=${'DEFAULT_$3":-$wxUSE_ALL_FEATURES}"
                       ])
 
-          eval "$ac_cv_use_$1"
-          if test "$no_cache" != 1; then
-            echo $ac_cv_use_$1 >> ${wx_arg_cache_file}.tmp
-          fi
+          eval "$AS_TR_SH(wx_cv_use_$1)"
 
           if test "$$3" = yes; then
             AC_MSG_RESULT(yes)
@@ -400,86 +378,106 @@ AC_DEFUN([WX_ARG_SYS_WITH],
           fi
         ])
 
-dnl this macro checks for a command line argument and caches the result
+dnl this macro simply checks for a command line argument
 dnl usage: WX_ARG_WITH(option, helpmessage, variable-name, [withstring])
 AC_DEFUN([WX_ARG_WITH],
         [
           withstring=$4
+          defaultval=$wxUSE_ALL_FEATURES
+          if test -z "$defaultval"; then
+              if test x"$withstring" = xwithout; then
+                  defaultval=yes
+              else
+                  defaultval=no
+              fi
+          fi
           AC_MSG_CHECKING([for --${withstring:-with}-$1])
-          no_cache=0
           AC_ARG_WITH($1, [$2],
                       [
                         if test "$withval" = yes; then
-                          ac_cv_use_$1='$3=yes'
+                          AS_TR_SH(wx_cv_use_$1)='$3=yes'
                         else
-                          ac_cv_use_$1='$3=no'
+                          AS_TR_SH(wx_cv_use_$1)='$3=no'
                         fi
                       ],
                       [
-                        LINE=`grep "$3" ${wx_arg_cache_file}`
-                        if test "x$LINE" != x ; then
-                          eval "DEFAULT_$LINE"
-                        else
-                          no_cache=1
-                        fi
-
-                        ac_cv_use_$1='$3='$DEFAULT_$3
+                        AS_TR_SH(wx_cv_use_$1)='$3=${'DEFAULT_$3":-$defaultval}"
                       ])
 
-          eval "$ac_cv_use_$1"
-          if test "$no_cache" != 1; then
-            echo $ac_cv_use_$1 >> ${wx_arg_cache_file}.tmp
-          fi
+          eval "$AS_TR_SH(wx_cv_use_$1)"
 
-          if test "$$3" = yes; then
-            AC_MSG_RESULT(yes)
+          if test x"$withstring" = xwithout; then
+            if test $$3 = yes; then
+              result=no
+            else
+              result=yes
+            fi
           else
-            AC_MSG_RESULT(no)
+            result=$$3
           fi
+
+          AC_MSG_RESULT($result)
         ])
 
+dnl same as WX_ARG_WITH but makes it clear that the option is enabled by default
+AC_DEFUN([WX_ARG_WITHOUT], [WX_ARG_WITH($1, [$2], $3, without)])
+
 dnl like WX_ARG_WITH but uses AC_ARG_ENABLE instead of AC_ARG_WITH
-dnl usage: WX_ARG_ENABLE(option, helpmessage, variable-name, enablestring)
+dnl usage: WX_ARG_ENABLE(option, helpmessage, var, [enablestring], [default])
 dnl
-dnl enablestring is a hack and allows to show "checking for --disable-foo"
-dnl message when running configure instead of the default "checking for
-dnl --enable-foo" one whih is useful for the options enabled by default
+dnl enablestring can be omitted or a literal string "disable" and allows to
+dnl show "checking for --disable-foo" message when running configure instead of
+dnl the default "checking for --enable-foo" one whih is useful for the options
+dnl enabled by default
+dnl
+dnl the "default" argument can be omitted or contain the default value to use
+dnl for the option if it's unspecified
 AC_DEFUN([WX_ARG_ENABLE],
         [
           enablestring=$4
+          defaultval=$5
+          if test -z "$defaultval"; then
+              if test x"$enablestring" = xdisable; then
+                  defaultval=yes
+              else
+                  defaultval=no
+              fi
+          fi
+
           AC_MSG_CHECKING([for --${enablestring:-enable}-$1])
-          no_cache=0
           AC_ARG_ENABLE($1, [$2],
                         [
                           if test "$enableval" = yes; then
-                            ac_cv_use_$1='$3=yes'
+                            AS_TR_SH(wx_cv_use_$1)='$3=yes'
                           else
-                            ac_cv_use_$1='$3=no'
+                            AS_TR_SH(wx_cv_use_$1)='$3=no'
                           fi
                         ],
                         [
-                          LINE=`grep "$3" ${wx_arg_cache_file}`
-                          if test "x$LINE" != x ; then
-                            eval "DEFAULT_$LINE"
-                          else
-                            no_cache=1
-                          fi
-
-                          ac_cv_use_$1='$3='$DEFAULT_$3
+                          AS_TR_SH(wx_cv_use_$1)='$3=${'DEFAULT_$3":-$defaultval}"
                         ])
 
-          eval "$ac_cv_use_$1"
-          if test "$no_cache" != 1; then
-            echo $ac_cv_use_$1 >> ${wx_arg_cache_file}.tmp
-          fi
+          eval "$AS_TR_SH(wx_cv_use_$1)"
 
-          if test "$$3" = yes; then
-            AC_MSG_RESULT(yes)
+          if test x"$enablestring" = xdisable; then
+            if test $$3 = yes; then
+              result=no
+            else
+              result=yes
+            fi
           else
-            AC_MSG_RESULT(no)
+            result=$$3
           fi
+
+          AC_MSG_RESULT($result)
         ])
 
+dnl the same as WX_ARG_ENABLE but makes it more clear that the option is
+dnl enabled by default
+AC_DEFUN([WX_ARG_DISABLE], [WX_ARG_ENABLE($1, [$2], $3, disable)])
+
+dnl same as WX_ARG_ENABLE but defaults to wxUSE_ALL_FEATURES instead of "yes"
+AC_DEFUN([WX_ARG_FEATURE], [WX_ARG_ENABLE($1, [$2], $3,, $wxUSE_ALL_FEATURES)])
 
 dnl Like WX_ARG_ENABLE but accepts a parameter.
 dnl
@@ -492,32 +490,21 @@ dnl
 dnl  --enable-foo       wxUSE_FOO=yes
 dnl  --disable-foo      wxUSE_FOO=no
 dnl  --enable-foo=bar   wxUSE_FOO=bar
-dnl  <not given>        value from configarg.cache or wxUSE_FOO=no
+dnl  <not given>        wxUSE_FOO=$DEFAULT_wxUSE_FOO
 dnl
 AC_DEFUN([WX_ARG_ENABLE_PARAM],
         [
           enablestring=$4
           AC_MSG_CHECKING([for --${enablestring:-enable}-$1])
-          no_cache=0
           AC_ARG_ENABLE($1, [$2],
                         [
                           wx_cv_use_$1="$3='$enableval'"
                         ],
                         [
-                          LINE=`grep "$3" ${wx_arg_cache_file}`
-                          if test "x$LINE" != x ; then
-                            eval "DEFAULT_$LINE"
-                            wx_cv_use_$1='$3='$DEFAULT_$3
-                          else
-                            no_cache=1
-                            wx_cv_use_$1="$3=no"
-                          fi
+                          wx_cv_use_$1='$3='$DEFAULT_$3
                         ])
 
           eval "$wx_cv_use_$1"
-          if test "$no_cache" != 1; then
-            echo $wx_cv_use_$1 >> ${wx_arg_cache_file}.tmp
-          fi
 
           AC_MSG_RESULT([$$3])
         ])