Add WX_CHECK_FUNCS (instead of WX_CHECK_DECLS). It checks for functions in
both headers and libs. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@40888 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
66
acinclude.m4
66
acinclude.m4
@@ -227,6 +227,72 @@ AC_DEFUN([WX_CPP_EXPLICIT],
|
||||
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 ---------------------------------------------------------------------------
|
||||
|
Reference in New Issue
Block a user