])
dnl ---------------------------------------------------------------------------
-dnl WX_PATH_FIND_LIBRARIES helper
+dnl call WX_PATH_FIND_LIBRARIES(search path, lib name), sets ac_find_libraries
+dnl to the full name of the file that was found or leaves it empty if not found
dnl ---------------------------------------------------------------------------
-AC_DEFUN([WX_PATH_FIND_LIBRARIES_IN_PATH],
+AC_DEFUN([WX_PATH_FIND_LIBRARIES],
[
ac_find_libraries=
for ac_dir in $1;
dnl wx_cv_std_libpath needs to be updated
AC_DEFUN([WX_STD_LIBPATH], [/usr/lib /usr/lib32 /usr/lib/64 /usr/lib64])
-dnl ---------------------------------------------------------------------------
-dnl call WX_PATH_FIND_LIBRARIES(search path, lib name), sets ac_find_libraries
-dnl to the full name of the file that was found or leaves it empty if not found
-dnl ---------------------------------------------------------------------------
-AC_DEFUN([WX_PATH_FIND_LIBRARIES],
-[
- WX_PATH_FIND_LIBRARIES_IN_PATH($1, $2)
- if test "x$ac_find_libraries" = "x" ; then
- WX_PATH_FIND_LIBRARIES_IN_PATH(WX_STD_LIBPATH(), $2)
- if test "x$ac_find_libraries" != "x" ; then
- ac_find_libraries="default location"
- fi
- fi
-])
-
dnl ---------------------------------------------------------------------------
dnl Path to include, already defined
dnl ---------------------------------------------------------------------------
fi
])
+dnl ---------------------------------------------------------------------------
+dnl WX_CHECK_FUNCS(FUNCTIONS...,
+dnl [ACTION-IF-FOUND],
+dnl [ACTION-IF-NOT-FOUND],
+dnl [EXTRA-DEFINES-AND-INCLUDES],
+dnl [EXTRA-TEST-CODE])
+dnl
+dnl Checks that the functions listed in FUNCTIONS exist in the headers and the
+dnl libs. For each function, if it is found then defines 'HAVE_FUNCTION' and
+dnl executes ACTION-IF-FOUND, otherwise executes ACTION-IF-NOT-FOUND.
+dnl
+dnl The code from EXTRA-DEFINES-AND-INCLUDES is inserted into the test before
+dnl the default headers are included, and EXTRA-TEST-CODE is inserted into
+dnl the main() function after the default test for existence.
+dnl
+dnl Examples:
+dnl # the simple case
+dnl WX_CHECK_FUNCS(stat)
+dnl # use break to finish the loop early
+dnl WX_CHECK_FUNCS(mkstemp mktemp, break)
+dnl # extra defines
+dnl WX_CHECK_FUNCS(strtok_r, [], [], [#define _RREENTRANT])
+dnl # extra includes
+dnl WX_CHECK_FUNCS(swprintf, [], [], [#include <wchar.h>])
+dnl # checking the signature with extra test code
+dnl WX_CHECK_FUNCS(gettimeofday, [], [], [#include <sys/time.h>]
+dnl [struct timeval tv; struct timezone tz; gettimeofday(&tv, &tz)])
+dnl ---------------------------------------------------------------------------
+
+AC_DEFUN([WX_CHECK_FUNCS],
+[
+ for wx_func in $1
+ do
+ AC_CACHE_CHECK(
+ [for $wx_func],
+ [wx_cv_func_$wx_func],
+ [
+ AC_LINK_IFELSE(
+ [
+ AC_LANG_PROGRAM(
+ [
+ $4
+ AC_INCLUDES_DEFAULT
+ ],
+ [
+ #ifndef $wx_func
+ &$wx_func;
+ #endif
+ $5
+ ])
+ ],
+ [eval wx_cv_func_$wx_func=yes],
+ [eval wx_cv_func_$wx_func=no])
+ ])
+
+ if eval test \$wx_cv_func_$wx_func = yes
+ then
+ AC_DEFINE_UNQUOTED([HAVE_`echo $wx_func | tr 'a-z' 'A-Z'`])
+ $2
+ else
+ :
+ $3
+ fi
+ done
+])
+
dnl ---------------------------------------------------------------------------
dnl a slightly better AC_C_BIGENDIAN macro which allows cross-compiling
dnl ---------------------------------------------------------------------------
])
dnl this macro checks for a command line argument and caches the result
-dnl usage: WX_ARG_WITH(option, helpmessage, variable-name)
+dnl usage: WX_ARG_WITH(option, helpmessage, variable-name, [withstring])
AC_DEFUN([WX_ARG_WITH],
[
- AC_MSG_CHECKING([for --with-$1])
+ withstring=$4
+ AC_MSG_CHECKING([for --${withstring:-with}-$1])
no_cache=0
AC_ARG_WITH($1, [$2],
[
])
+dnl Like WX_ARG_ENABLE but accepts a parameter.
+dnl
+dnl Usage:
+dnl WX_ARG_ENABLE_PARAM(option, helpmessage, variable-name, enablestring)
+dnl
+dnl Example:
+dnl WX_ARG_ENABLE_PARAM(foo, [[ --enable-foo[=bar] use foo]], wxUSE_FOO)
+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
+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
+ ])
+
+ 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])
+ ])
+
dnl ===========================================================================
dnl Linker features test
dnl ===========================================================================