📄 acinclude.m4
字号:
dnl ---------------------------------------------------------------------------dnl Macros for wxWidgets detection. Typically used in configure.in as:dnldnl AC_ARG_ENABLE(...)dnl AC_ARG_WITH(...)dnl ...dnl AM_OPTIONS_WXCONFIGdnl ...dnl ...dnl AM_PATH_WXCONFIG(2.6.0, wxWin=1)dnl if test "$wxWin" != 1; thendnl AC_MSG_ERROR([dnl wxWidgets must be installed on your systemdnl but wx-config script couldn't be found.dnldnl Please check that wx-config is in path, the directorydnl where wxWidgets libraries are installed (returned bydnl 'wx-config --libs' command) is in LD_LIBRARY_PATH ordnl equivalent variable and wxWidgets version is 2.3.4 or above.dnl ])dnl fidnl CPPFLAGS="$CPPFLAGS $WX_CPPFLAGS"dnl CXXFLAGS="$CXXFLAGS $WX_CXXFLAGS_ONLY"dnl CFLAGS="$CFLAGS $WX_CFLAGS_ONLY"dnldnl LIBS="$LIBS $WX_LIBS"dnl ---------------------------------------------------------------------------dnl ---------------------------------------------------------------------------dnl AM_OPTIONS_WXCONFIGdnldnl adds support for --wx-prefix, --wx-exec-prefix, --with-wxdir anddnl --wx-config command line optionsdnl ---------------------------------------------------------------------------AC_DEFUN([AM_OPTIONS_WXCONFIG],[ AC_ARG_WITH(wxdir, [ --with-wxdir=PATH Use uninstalled version of wxWidgets in PATH], [ wx_config_name="$withval/wx-config" wx_config_args="--inplace"]) AC_ARG_WITH(wx-config, [ --with-wx-config=CONFIG wx-config script to use (optional)], wx_config_name="$withval" ) AC_ARG_WITH(wx-prefix, [ --with-wx-prefix=PREFIX Prefix where wxWidgets is installed (optional)], wx_config_prefix="$withval", wx_config_prefix="") AC_ARG_WITH(wx-exec-prefix, [ --with-wx-exec-prefix=PREFIX Exec prefix where wxWidgets is installed (optional)], wx_config_exec_prefix="$withval", wx_config_exec_prefix="")])dnl Helper macro for checking if wx version is at least $1.$2.$3, set'sdnl wx_ver_ok=yes if it is:AC_DEFUN([_WX_PRIVATE_CHECK_VERSION],[ wx_ver_ok="" if test "x$WX_VERSION" != x ; then if test $wx_config_major_version -gt $1; then wx_ver_ok=yes else if test $wx_config_major_version -eq $1; then if test $wx_config_minor_version -gt $2; then wx_ver_ok=yes else if test $wx_config_minor_version -eq $2; then if test $wx_config_micro_version -ge $3; then wx_ver_ok=yes fi fi fi fi fi fi])dnl ---------------------------------------------------------------------------dnl AM_PATH_WXCONFIG(VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUNDdnl [, WX-LIBS [, ADDITIONAL-WX-CONFIG-FLAGS]]]])dnldnl Test for wxWidgets, and define WX_C*FLAGS, WX_LIBS and WX_LIBS_STATICdnl (the latter is for static linking against wxWidgets). Set WX_CONFIG_NAMEdnl environment variable to override the default name of the wx-config scriptdnl to use. Set WX_CONFIG_PATH to specify the full path to wx-config - in thisdnl case the macro won't even waste time on tests for its existence.dnldnl Optional WX-LIBS argument contains comma- or space-separated list ofdnl wxWidgets libraries to link against (it may include contrib libraries). Ifdnl it is not specified then WX_LIBS and WX_LIBS_STATIC will contain flags todnl link with all of the core wxWidgets libraries.dnldnl Optional ADDITIONAL-WX-CONFIG-FLAGS argument is appended to wx-configdnl invocation command in present. It can be used to fine-tune lookup ofdnl best wxWidgets build available.dnldnl Example use:dnl AM_PATH_WXCONFIG([2.6.0], [wxWin=1], [wxWin=0], [html,core,net]dnl [--unicode --debug])dnl ---------------------------------------------------------------------------dnldnl Get the cflags and libraries from the wx-config scriptdnlAC_DEFUN([AM_PATH_WXCONFIG],[ dnl do we have wx-config name: it can be wx-config or wxd-config or ... if test x${WX_CONFIG_NAME+set} != xset ; then WX_CONFIG_NAME=wx-config fi if test "x$wx_config_name" != x ; then WX_CONFIG_NAME="$wx_config_name" fi dnl deal with optional prefixes if test x$wx_config_exec_prefix != x ; then wx_config_args="$wx_config_args --exec-prefix=$wx_config_exec_prefix" WX_LOOKUP_PATH="$wx_config_exec_prefix/bin" fi if test x$wx_config_prefix != x ; then wx_config_args="$wx_config_args --prefix=$wx_config_prefix" WX_LOOKUP_PATH="$WX_LOOKUP_PATH:$wx_config_prefix/bin" fi if test "$cross_compiling" = "yes"; then wx_config_args="$wx_config_args --host=$host_alias" fi dnl don't search the PATH if WX_CONFIG_NAME is absolute filename if test -x "$WX_CONFIG_NAME" ; then AC_MSG_CHECKING(for wx-config) WX_CONFIG_PATH="$WX_CONFIG_NAME" AC_MSG_RESULT($WX_CONFIG_PATH) else AC_PATH_PROG(WX_CONFIG_PATH, $WX_CONFIG_NAME, no, "$WX_LOOKUP_PATH:$PATH") fi if test "$WX_CONFIG_PATH" != "no" ; then WX_VERSION="" min_wx_version=ifelse([$1], ,2.2.1,$1) if test -z "$5" ; then AC_MSG_CHECKING([for wxWidgets version >= $min_wx_version]) else AC_MSG_CHECKING([for wxWidgets version >= $min_wx_version ($5)]) fi WX_CONFIG_WITH_ARGS="$WX_CONFIG_PATH $wx_config_args $5 $4" WX_VERSION=`$WX_CONFIG_WITH_ARGS --version 2>/dev/null` wx_config_major_version=`echo $WX_VERSION | \ sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'` wx_config_minor_version=`echo $WX_VERSION | \ sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'` wx_config_micro_version=`echo $WX_VERSION | \ sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'` wx_requested_major_version=`echo $min_wx_version | \ sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'` wx_requested_minor_version=`echo $min_wx_version | \ sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'` wx_requested_micro_version=`echo $min_wx_version | \ sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'` _WX_PRIVATE_CHECK_VERSION([$wx_requested_major_version], [$wx_requested_minor_version], [$wx_requested_micro_version]) if test -n "$wx_ver_ok"; then AC_MSG_RESULT(yes (version $WX_VERSION)) WX_LIBS=`$WX_CONFIG_WITH_ARGS --libs | sed -e "s/-isysroot \/Developer\/SDKs\/MacOSX10.4u.sdk//;"` dnl is this even still appropriate? --static is a real option now dnl and WX_CONFIG_WITH_ARGS is likely to contain it if that is dnl what the user actually wants, making this redundant at best. dnl For now keep it in case anyone actually used it in the past. AC_MSG_CHECKING([for wxWidgets static library]) WX_LIBS_STATIC=`$WX_CONFIG_WITH_ARGS --static --libs 2>/dev/null` if test "x$WX_LIBS_STATIC" = "x"; then AC_MSG_RESULT(no) else AC_MSG_RESULT(yes) fi dnl starting with version 2.2.6 wx-config has --cppflags argument wx_has_cppflags="" if test $wx_config_major_version -gt 2; then wx_has_cppflags=yes else if test $wx_config_major_version -eq 2; then if test $wx_config_minor_version -gt 2; then wx_has_cppflags=yes else if test $wx_config_minor_version -eq 2; then if test $wx_config_micro_version -ge 6; then wx_has_cppflags=yes fi fi fi fi fi if test "x$wx_has_cppflags" = x ; then dnl no choice but to define all flags like CFLAGS WX_CFLAGS=`$WX_CONFIG_WITH_ARGS --cflags` WX_CPPFLAGS=$WX_CFLAGS WX_CXXFLAGS=$WX_CFLAGS WX_CFLAGS_ONLY=$WX_CFLAGS WX_CXXFLAGS_ONLY=$WX_CFLAGS else dnl we have CPPFLAGS included in CFLAGS included in CXXFLAGS WX_CPPFLAGS=`$WX_CONFIG_WITH_ARGS --cppflags` WX_CXXFLAGS=`$WX_CONFIG_WITH_ARGS --cxxflags` WX_CFLAGS=`$WX_CONFIG_WITH_ARGS --cflags` WX_CFLAGS_ONLY=`echo $WX_CFLAGS | sed "s@^$WX_CPPFLAGS *@@"` WX_CXXFLAGS_ONLY=`echo $WX_CXXFLAGS | sed "s@^$WX_CFLAGS *@@"` fi ifelse([$2], , :, [$2]) else if test "x$WX_VERSION" = x; then dnl no wx-config at all AC_MSG_RESULT(no) else AC_MSG_RESULT(no (version $WX_VERSION is not new enough)) fi WX_CFLAGS="" WX_CPPFLAGS="" WX_CXXFLAGS="" WX_LIBS="" WX_LIBS_STATIC="" ifelse([$3], , :, [$3]) fi else WX_CFLAGS="" WX_CPPFLAGS="" WX_CXXFLAGS="" WX_LIBS="" WX_LIBS_STATIC="" ifelse([$3], , :, [$3]) fi AC_SUBST(WX_CPPFLAGS) AC_SUBST(WX_CFLAGS) AC_SUBST(WX_CXXFLAGS) AC_SUBST(WX_CFLAGS_ONLY) AC_SUBST(WX_CXXFLAGS_ONLY) AC_SUBST(WX_LIBS) AC_SUBST(WX_LIBS_STATIC) AC_SUBST(WX_VERSION)])dnl ---------------------------------------------------------------------------dnl Get information on the wxrc program for making C++, Python and xrsdnl resource files.dnldnl AC_ARG_ENABLE(...)dnl AC_ARG_WITH(...)dnl ...dnl AM_OPTIONS_WXCONFIGdnl AM_OPTIONS_WXRCdnl ...dnl AM_PATH_WXCONFIG(2.6.0, wxWin=1)dnl if test "$wxWin" != 1; thendnl AC_MSG_ERROR([dnl wxWidgets must be installed on your systemdnl but wx-config script couldn't be found.dnldnl Please check that wx-config is in path, the directorydnl where wxWidgets libraries are installed (returned bydnl 'wx-config --libs' command) is in LD_LIBRARY_PATH ordnl equivalent variable and wxWidgets version is 2.6.0 or above.dnl ])dnl fidnldnl AM_PATH_WXRC([HAVE_WXRC=1], [HAVE_WXRC=0])dnl if test "x$HAVE_WXRC" != x1; thendnl AC_MSG_ERROR([dnl The wxrc program was not installed or not found.dnl dnl Please check the wxWidgets installation.dnl ])dnl fidnldnl CPPFLAGS="$CPPFLAGS $WX_CPPFLAGS"dnl CXXFLAGS="$CXXFLAGS $WX_CXXFLAGS_ONLY"dnl CFLAGS="$CFLAGS $WX_CFLAGS_ONLY"dnldnl LDFLAGS="$LDFLAGS $WX_LIBS"dnl ---------------------------------------------------------------------------dnl ---------------------------------------------------------------------------dnl AM_PATH_WXRC([ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]])dnldnl Test for wxWidgets' wxrc program for creating either C++, Python or XRSdnl resources. The variable WXRC will be set and substituted in the configurednl script and Makefiles.dnldnl Example use:dnl AM_PATH_WXRC([wxrc=1], [wxrc=0])dnl ---------------------------------------------------------------------------dnldnl wxrc program from the wx-config scriptdnlAC_DEFUN([AM_PATH_WXRC],[ AC_ARG_VAR([WXRC], [Path to wxWidget's wxrc resource compiler]) if test "x$WX_CONFIG_NAME" = x; then AC_MSG_ERROR([The wxrc tests must run after wxWidgets test.]) else AC_MSG_CHECKING([for wxrc]) if test "x$WXRC" = x ; then dnl wx-config --utility is a new addition to wxWidgets: _WX_PRIVATE_CHECK_VERSION(2,5,3) if test -n "$wx_ver_ok"; then WXRC=`$WX_CONFIG_WITH_ARGS --utility=wxrc` fi fi if test "x$WXRC" = x ; then AC_MSG_RESULT([not found]) ifelse([$2], , :, [$2]) else AC_MSG_RESULT([$WXRC]) ifelse([$1], , :, [$1]) fi AC_SUBST(WXRC) fi])
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -