1
dnl ---------------------------------------------------------------------------
2
dnl Macros for wxWidgets detection. Typically used in configure.in as:
7
dnl AM_OPTIONS_WXCONFIG
10
dnl AM_PATH_WXCONFIG(2.6.0, wxWin=1)
11
dnl if test "$wxWin" != 1; then
13
dnl wxWidgets must be installed on your system
14
dnl but wx-config script couldn't be found.
16
dnl Please check that wx-config is in path, the directory
17
dnl where wxWidgets libraries are installed (returned by
18
dnl 'wx-config --libs' command) is in LD_LIBRARY_PATH or
19
dnl equivalent variable and wxWidgets version is 2.3.4 or above.
22
dnl CPPFLAGS="$CPPFLAGS $WX_CPPFLAGS"
23
dnl CXXFLAGS="$CXXFLAGS $WX_CXXFLAGS_ONLY"
24
dnl CFLAGS="$CFLAGS $WX_CFLAGS_ONLY"
26
dnl LIBS="$LIBS $WX_LIBS"
27
dnl ---------------------------------------------------------------------------
29
dnl ---------------------------------------------------------------------------
30
dnl AM_OPTIONS_WXCONFIG
32
dnl adds support for --wx-prefix, --wx-exec-prefix, --with-wxdir and
33
dnl --wx-config command line options
34
dnl ---------------------------------------------------------------------------
36
AC_DEFUN([AM_OPTIONS_WXCONFIG],
39
[ --with-wxdir=PATH Use uninstalled version of wxWidgets in PATH],
40
[ wx_config_name="$withval/wx-config"
41
wx_config_args="--inplace"])
42
AC_ARG_WITH(wx-config,
43
[ --with-wx-config=CONFIG wx-config script to use (optional)],
44
wx_config_name="$withval" )
45
AC_ARG_WITH(wx-prefix,
46
[ --with-wx-prefix=PREFIX Prefix where wxWidgets is installed (optional)],
47
wx_config_prefix="$withval", wx_config_prefix="")
48
AC_ARG_WITH(wx-exec-prefix,
49
[ --with-wx-exec-prefix=PREFIX
50
Exec prefix where wxWidgets is installed (optional)],
51
wx_config_exec_prefix="$withval", wx_config_exec_prefix="")
54
dnl Helper macro for checking if wx version is at least $1.$2.$3, set's
55
dnl wx_ver_ok=yes if it is:
56
AC_DEFUN([_WX_PRIVATE_CHECK_VERSION],
59
if test "x$WX_VERSION" != x ; then
60
if test $wx_config_major_version -gt $1; then
63
if test $wx_config_major_version -eq $1; then
64
if test $wx_config_minor_version -gt $2; then
67
if test $wx_config_minor_version -eq $2; then
68
if test $wx_config_micro_version -ge $3; then
78
dnl ---------------------------------------------------------------------------
79
dnl AM_PATH_WXCONFIG(VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND
80
dnl [, WX-LIBS [, ADDITIONAL-WX-CONFIG-FLAGS]]]])
82
dnl Test for wxWidgets, and define WX_C*FLAGS, WX_LIBS and WX_LIBS_STATIC
83
dnl (the latter is for static linking against wxWidgets). Set WX_CONFIG_NAME
84
dnl environment variable to override the default name of the wx-config script
85
dnl to use. Set WX_CONFIG_PATH to specify the full path to wx-config - in this
86
dnl case the macro won't even waste time on tests for its existence.
88
dnl Optional WX-LIBS argument contains comma- or space-separated list of
89
dnl wxWidgets libraries to link against (it may include contrib libraries). If
90
dnl it is not specified then WX_LIBS and WX_LIBS_STATIC will contain flags to
91
dnl link with all of the core wxWidgets libraries.
93
dnl Optional ADDITIONAL-WX-CONFIG-FLAGS argument is appended to wx-config
94
dnl invocation command in present. It can be used to fine-tune lookup of
95
dnl best wxWidgets build available.
98
dnl AM_PATH_WXCONFIG([2.6.0], [wxWin=1], [wxWin=0], [html,core,net]
99
dnl [--unicode --debug])
100
dnl ---------------------------------------------------------------------------
103
dnl Get the cflags and libraries from the wx-config script
105
AC_DEFUN([AM_PATH_WXCONFIG],
107
dnl do we have wx-config name: it can be wx-config or wxd-config or ...
108
if test x${WX_CONFIG_NAME+set} != xset ; then
109
WX_CONFIG_NAME=wx-config
112
if test "x$wx_config_name" != x ; then
113
WX_CONFIG_NAME="$wx_config_name"
116
dnl deal with optional prefixes
117
if test x$wx_config_exec_prefix != x ; then
118
wx_config_args="$wx_config_args --exec-prefix=$wx_config_exec_prefix"
119
WX_LOOKUP_PATH="$wx_config_exec_prefix/bin"
121
if test x$wx_config_prefix != x ; then
122
wx_config_args="$wx_config_args --prefix=$wx_config_prefix"
123
WX_LOOKUP_PATH="$WX_LOOKUP_PATH:$wx_config_prefix/bin"
125
if test "$cross_compiling" = "yes"; then
126
wx_config_args="$wx_config_args --host=$host_alias"
129
dnl don't search the PATH if WX_CONFIG_NAME is absolute filename
130
if test -x "$WX_CONFIG_NAME" ; then
131
AC_MSG_CHECKING(for wx-config)
132
WX_CONFIG_PATH="$WX_CONFIG_NAME"
133
AC_MSG_RESULT($WX_CONFIG_PATH)
135
AC_PATH_PROG(WX_CONFIG_PATH, $WX_CONFIG_NAME, no, "$WX_LOOKUP_PATH:$PATH")
138
if test "$WX_CONFIG_PATH" != "no" ; then
141
min_wx_version=ifelse([$1], ,2.2.1,$1)
142
if test -z "$5" ; then
143
AC_MSG_CHECKING([for wxWidgets version >= $min_wx_version])
145
AC_MSG_CHECKING([for wxWidgets version >= $min_wx_version ($5)])
148
WX_CONFIG_WITH_ARGS="$WX_CONFIG_PATH $wx_config_args $5 $4"
150
WX_VERSION=`$WX_CONFIG_WITH_ARGS --version 2>/dev/null`
151
wx_config_major_version=`echo $WX_VERSION | \
152
sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'`
153
wx_config_minor_version=`echo $WX_VERSION | \
154
sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'`
155
wx_config_micro_version=`echo $WX_VERSION | \
156
sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'`
158
wx_requested_major_version=`echo $min_wx_version | \
159
sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'`
160
wx_requested_minor_version=`echo $min_wx_version | \
161
sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'`
162
wx_requested_micro_version=`echo $min_wx_version | \
163
sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'`
165
_WX_PRIVATE_CHECK_VERSION([$wx_requested_major_version],
166
[$wx_requested_minor_version],
167
[$wx_requested_micro_version])
169
if test -n "$wx_ver_ok"; then
171
AC_MSG_RESULT(yes (version $WX_VERSION))
172
WX_LIBS=`$WX_CONFIG_WITH_ARGS --libs`
174
dnl is this even still appropriate? --static is a real option now
175
dnl and WX_CONFIG_WITH_ARGS is likely to contain it if that is
176
dnl what the user actually wants, making this redundant at best.
177
dnl For now keep it in case anyone actually used it in the past.
178
AC_MSG_CHECKING([for wxWidgets static library])
179
WX_LIBS_STATIC=`$WX_CONFIG_WITH_ARGS --static --libs 2>/dev/null`
180
if test "x$WX_LIBS_STATIC" = "x"; then
186
dnl starting with version 2.2.6 wx-config has --cppflags argument
188
if test $wx_config_major_version -gt 2; then
191
if test $wx_config_major_version -eq 2; then
192
if test $wx_config_minor_version -gt 2; then
195
if test $wx_config_minor_version -eq 2; then
196
if test $wx_config_micro_version -ge 6; then
204
dnl starting with version 2.7.0 wx-config has --rescomp option
206
if test $wx_config_major_version -gt 2; then
209
if test $wx_config_major_version -eq 2; then
210
if test $wx_config_minor_version -ge 7; then
215
if test "x$wx_has_rescomp" = x ; then
216
dnl cannot give any useful info for resource compiler
219
WX_RESCOMP=`$WX_CONFIG_WITH_ARGS --rescomp`
222
if test "x$wx_has_cppflags" = x ; then
223
dnl no choice but to define all flags like CFLAGS
224
WX_CFLAGS=`$WX_CONFIG_WITH_ARGS --cflags`
225
WX_CPPFLAGS=$WX_CFLAGS
226
WX_CXXFLAGS=$WX_CFLAGS
228
WX_CFLAGS_ONLY=$WX_CFLAGS
229
WX_CXXFLAGS_ONLY=$WX_CFLAGS
231
dnl we have CPPFLAGS included in CFLAGS included in CXXFLAGS
232
WX_CPPFLAGS=`$WX_CONFIG_WITH_ARGS --cppflags`
233
WX_CXXFLAGS=`$WX_CONFIG_WITH_ARGS --cxxflags`
234
WX_CFLAGS=`$WX_CONFIG_WITH_ARGS --cflags`
236
WX_CFLAGS_ONLY=`echo $WX_CFLAGS | sed "s@^$WX_CPPFLAGS *@@"`
237
WX_CXXFLAGS_ONLY=`echo $WX_CXXFLAGS | sed "s@^$WX_CFLAGS *@@"`
240
ifelse([$2], , :, [$2])
244
if test "x$WX_VERSION" = x; then
245
dnl no wx-config at all
248
AC_MSG_RESULT(no (version $WX_VERSION is not new enough))
257
ifelse([$3], , :, [$3])
269
ifelse([$3], , :, [$3])
273
AC_SUBST(WX_CPPFLAGS)
275
AC_SUBST(WX_CXXFLAGS)
276
AC_SUBST(WX_CFLAGS_ONLY)
277
AC_SUBST(WX_CXXFLAGS_ONLY)
279
AC_SUBST(WX_LIBS_STATIC)
284
dnl ---------------------------------------------------------------------------
285
dnl Get information on the wxrc program for making C++, Python and xrs
288
dnl AC_ARG_ENABLE(...)
291
dnl AM_OPTIONS_WXCONFIG
293
dnl AM_PATH_WXCONFIG(2.6.0, wxWin=1)
294
dnl if test "$wxWin" != 1; then
296
dnl wxWidgets must be installed on your system
297
dnl but wx-config script couldn't be found.
299
dnl Please check that wx-config is in path, the directory
300
dnl where wxWidgets libraries are installed (returned by
301
dnl 'wx-config --libs' command) is in LD_LIBRARY_PATH or
302
dnl equivalent variable and wxWidgets version is 2.6.0 or above.
306
dnl AM_PATH_WXRC([HAVE_WXRC=1], [HAVE_WXRC=0])
307
dnl if test "x$HAVE_WXRC" != x1; then
309
dnl The wxrc program was not installed or not found.
311
dnl Please check the wxWidgets installation.
315
dnl CPPFLAGS="$CPPFLAGS $WX_CPPFLAGS"
316
dnl CXXFLAGS="$CXXFLAGS $WX_CXXFLAGS_ONLY"
317
dnl CFLAGS="$CFLAGS $WX_CFLAGS_ONLY"
319
dnl LDFLAGS="$LDFLAGS $WX_LIBS"
320
dnl ---------------------------------------------------------------------------
324
dnl ---------------------------------------------------------------------------
325
dnl AM_PATH_WXRC([ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]])
327
dnl Test for wxWidgets' wxrc program for creating either C++, Python or XRS
328
dnl resources. The variable WXRC will be set and substituted in the configure
329
dnl script and Makefiles.
332
dnl AM_PATH_WXRC([wxrc=1], [wxrc=0])
333
dnl ---------------------------------------------------------------------------
336
dnl wxrc program from the wx-config script
338
AC_DEFUN([AM_PATH_WXRC],
340
AC_ARG_VAR([WXRC], [Path to wxWidget's wxrc resource compiler])
342
if test "x$WX_CONFIG_NAME" = x; then
343
AC_MSG_ERROR([The wxrc tests must run after wxWidgets test.])
346
AC_MSG_CHECKING([for wxrc])
348
if test "x$WXRC" = x ; then
349
dnl wx-config --utility is a new addition to wxWidgets:
350
_WX_PRIVATE_CHECK_VERSION(2,5,3)
351
if test -n "$wx_ver_ok"; then
352
WXRC=`$WX_CONFIG_WITH_ARGS --utility=wxrc`
356
if test "x$WXRC" = x ; then
357
AC_MSG_RESULT([not found])
358
ifelse([$2], , :, [$2])
360
AC_MSG_RESULT([$WXRC])
361
ifelse([$1], , :, [$1])