~ubuntu-branches/ubuntu/maverick/transmission/maverick

« back to all changes in this revision

Viewing changes to m4/wxwin.m4

  • Committer: Bazaar Package Importer
  • Author(s): Krzysztof Klimonda
  • Date: 2009-05-22 21:57:30 UTC
  • mfrom: (1.2.2 upstream)
  • mto: (2.1.18 sid) (1.3.8 upstream)
  • mto: This revision was merged to the branch mainline in revision 36.
  • Revision ID: james.westby@ubuntu.com-20090522215730-ly5kgv5aw9ig2u82
Tags: upstream-1.61
ImportĀ upstreamĀ versionĀ 1.61

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
dnl ---------------------------------------------------------------------------
2
 
dnl Macros for wxWidgets detection. Typically used in configure.in as:
3
 
dnl
4
 
dnl     AC_ARG_ENABLE(...)
5
 
dnl     AC_ARG_WITH(...)
6
 
dnl        ...
7
 
dnl     AM_OPTIONS_WXCONFIG
8
 
dnl        ...
9
 
dnl        ...
10
 
dnl     AM_PATH_WXCONFIG(2.6.0, wxWin=1)
11
 
dnl     if test "$wxWin" != 1; then
12
 
dnl        AC_MSG_ERROR([
13
 
dnl                wxWidgets must be installed on your system
14
 
dnl                but wx-config script couldn't be found.
15
 
dnl
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.
20
 
dnl        ])
21
 
dnl     fi
22
 
dnl     CPPFLAGS="$CPPFLAGS $WX_CPPFLAGS"
23
 
dnl     CXXFLAGS="$CXXFLAGS $WX_CXXFLAGS_ONLY"
24
 
dnl     CFLAGS="$CFLAGS $WX_CFLAGS_ONLY"
25
 
dnl
26
 
dnl     LIBS="$LIBS $WX_LIBS"
27
 
dnl ---------------------------------------------------------------------------
28
 
 
29
 
dnl ---------------------------------------------------------------------------
30
 
dnl AM_OPTIONS_WXCONFIG
31
 
dnl
32
 
dnl adds support for --wx-prefix, --wx-exec-prefix, --with-wxdir and
33
 
dnl --wx-config command line options
34
 
dnl ---------------------------------------------------------------------------
35
 
 
36
 
AC_DEFUN([AM_OPTIONS_WXCONFIG],
37
 
[
38
 
    AC_ARG_WITH(wxdir,
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="")
52
 
])
53
 
 
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],
57
 
[
58
 
    wx_ver_ok=""
59
 
    if test "x$WX_VERSION" != x ; then
60
 
      if test $wx_config_major_version -gt $1; then
61
 
        wx_ver_ok=yes
62
 
      else
63
 
        if test $wx_config_major_version -eq $1; then
64
 
           if test $wx_config_minor_version -gt $2; then
65
 
              wx_ver_ok=yes
66
 
           else
67
 
              if test $wx_config_minor_version -eq $2; then
68
 
                 if test $wx_config_micro_version -ge $3; then
69
 
                    wx_ver_ok=yes
70
 
                 fi
71
 
              fi
72
 
           fi
73
 
        fi
74
 
      fi
75
 
    fi
76
 
])
77
 
 
78
 
dnl ---------------------------------------------------------------------------
79
 
dnl AM_PATH_WXCONFIG(VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND
80
 
dnl                  [, WX-LIBS [, ADDITIONAL-WX-CONFIG-FLAGS]]]])
81
 
dnl
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.
87
 
dnl
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.
92
 
dnl
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.
96
 
dnl
97
 
dnl Example use:
98
 
dnl   AM_PATH_WXCONFIG([2.6.0], [wxWin=1], [wxWin=0], [html,core,net]
99
 
dnl                    [--unicode --debug])
100
 
dnl ---------------------------------------------------------------------------
101
 
 
102
 
dnl
103
 
dnl Get the cflags and libraries from the wx-config script
104
 
dnl
105
 
AC_DEFUN([AM_PATH_WXCONFIG],
106
 
[
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
110
 
  fi
111
 
 
112
 
  if test "x$wx_config_name" != x ; then
113
 
     WX_CONFIG_NAME="$wx_config_name"
114
 
  fi
115
 
 
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"
120
 
  fi
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"
124
 
  fi
125
 
  if test "$cross_compiling" = "yes"; then
126
 
     wx_config_args="$wx_config_args --host=$host_alias"
127
 
  fi
128
 
 
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)
134
 
  else
135
 
     AC_PATH_PROG(WX_CONFIG_PATH, $WX_CONFIG_NAME, no, "$WX_LOOKUP_PATH:$PATH")
136
 
  fi
137
 
 
138
 
  if test "$WX_CONFIG_PATH" != "no" ; then
139
 
    WX_VERSION=""
140
 
 
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])
144
 
    else
145
 
      AC_MSG_CHECKING([for wxWidgets version >= $min_wx_version ($5)])
146
 
    fi
147
 
 
148
 
    WX_CONFIG_WITH_ARGS="$WX_CONFIG_PATH $wx_config_args $5 $4"
149
 
 
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/'`
157
 
 
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/'`
164
 
 
165
 
    _WX_PRIVATE_CHECK_VERSION([$wx_requested_major_version],
166
 
                              [$wx_requested_minor_version],
167
 
                              [$wx_requested_micro_version])
168
 
 
169
 
    if test -n "$wx_ver_ok"; then
170
 
 
171
 
      AC_MSG_RESULT(yes (version $WX_VERSION))
172
 
      WX_LIBS=`$WX_CONFIG_WITH_ARGS --libs`
173
 
 
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
181
 
        AC_MSG_RESULT(no)
182
 
      else
183
 
        AC_MSG_RESULT(yes)
184
 
      fi
185
 
 
186
 
      dnl starting with version 2.2.6 wx-config has --cppflags argument
187
 
      wx_has_cppflags=""
188
 
      if test $wx_config_major_version -gt 2; then
189
 
        wx_has_cppflags=yes
190
 
      else
191
 
        if test $wx_config_major_version -eq 2; then
192
 
           if test $wx_config_minor_version -gt 2; then
193
 
              wx_has_cppflags=yes
194
 
           else
195
 
              if test $wx_config_minor_version -eq 2; then
196
 
                 if test $wx_config_micro_version -ge 6; then
197
 
                    wx_has_cppflags=yes
198
 
                 fi
199
 
              fi
200
 
           fi
201
 
        fi
202
 
      fi
203
 
 
204
 
      dnl starting with version 2.7.0 wx-config has --rescomp option
205
 
      wx_has_rescomp=""
206
 
      if test $wx_config_major_version -gt 2; then
207
 
        wx_has_rescomp=yes
208
 
      else
209
 
        if test $wx_config_major_version -eq 2; then
210
 
           if test $wx_config_minor_version -ge 7; then
211
 
              wx_has_rescomp=yes
212
 
           fi
213
 
        fi
214
 
      fi
215
 
      if test "x$wx_has_rescomp" = x ; then
216
 
         dnl cannot give any useful info for resource compiler
217
 
         WX_RESCOMP=
218
 
      else
219
 
         WX_RESCOMP=`$WX_CONFIG_WITH_ARGS --rescomp`
220
 
      fi
221
 
 
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
227
 
 
228
 
         WX_CFLAGS_ONLY=$WX_CFLAGS
229
 
         WX_CXXFLAGS_ONLY=$WX_CFLAGS
230
 
      else
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`
235
 
 
236
 
         WX_CFLAGS_ONLY=`echo $WX_CFLAGS | sed "s@^$WX_CPPFLAGS *@@"`
237
 
         WX_CXXFLAGS_ONLY=`echo $WX_CXXFLAGS | sed "s@^$WX_CFLAGS *@@"`
238
 
      fi
239
 
 
240
 
      ifelse([$2], , :, [$2])
241
 
 
242
 
    else
243
 
 
244
 
       if test "x$WX_VERSION" = x; then
245
 
          dnl no wx-config at all
246
 
          AC_MSG_RESULT(no)
247
 
       else
248
 
          AC_MSG_RESULT(no (version $WX_VERSION is not new enough))
249
 
       fi
250
 
 
251
 
       WX_CFLAGS=""
252
 
       WX_CPPFLAGS=""
253
 
       WX_CXXFLAGS=""
254
 
       WX_LIBS=""
255
 
       WX_LIBS_STATIC=""
256
 
       WX_RESCOMP=""
257
 
       ifelse([$3], , :, [$3])
258
 
 
259
 
    fi
260
 
  else
261
 
 
262
 
    WX_CFLAGS=""
263
 
    WX_CPPFLAGS=""
264
 
    WX_CXXFLAGS=""
265
 
    WX_LIBS=""
266
 
    WX_LIBS_STATIC=""
267
 
    WX_RESCOMP=""
268
 
 
269
 
    ifelse([$3], , :, [$3])
270
 
 
271
 
  fi
272
 
 
273
 
  AC_SUBST(WX_CPPFLAGS)
274
 
  AC_SUBST(WX_CFLAGS)
275
 
  AC_SUBST(WX_CXXFLAGS)
276
 
  AC_SUBST(WX_CFLAGS_ONLY)
277
 
  AC_SUBST(WX_CXXFLAGS_ONLY)
278
 
  AC_SUBST(WX_LIBS)
279
 
  AC_SUBST(WX_LIBS_STATIC)
280
 
  AC_SUBST(WX_VERSION)
281
 
  AC_SUBST(WX_RESCOMP)
282
 
])
283
 
 
284
 
dnl ---------------------------------------------------------------------------
285
 
dnl Get information on the wxrc program for making C++, Python and xrs
286
 
dnl resource files.
287
 
dnl
288
 
dnl     AC_ARG_ENABLE(...)
289
 
dnl     AC_ARG_WITH(...)
290
 
dnl        ...
291
 
dnl     AM_OPTIONS_WXCONFIG
292
 
dnl        ...
293
 
dnl     AM_PATH_WXCONFIG(2.6.0, wxWin=1)
294
 
dnl     if test "$wxWin" != 1; then
295
 
dnl        AC_MSG_ERROR([
296
 
dnl                wxWidgets must be installed on your system
297
 
dnl                but wx-config script couldn't be found.
298
 
dnl
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.
303
 
dnl        ])
304
 
dnl     fi
305
 
dnl
306
 
dnl     AM_PATH_WXRC([HAVE_WXRC=1], [HAVE_WXRC=0])
307
 
dnl     if test "x$HAVE_WXRC" != x1; then
308
 
dnl         AC_MSG_ERROR([
309
 
dnl                The wxrc program was not installed or not found.
310
 
dnl     
311
 
dnl                Please check the wxWidgets installation.
312
 
dnl         ])
313
 
dnl     fi
314
 
dnl
315
 
dnl     CPPFLAGS="$CPPFLAGS $WX_CPPFLAGS"
316
 
dnl     CXXFLAGS="$CXXFLAGS $WX_CXXFLAGS_ONLY"
317
 
dnl     CFLAGS="$CFLAGS $WX_CFLAGS_ONLY"
318
 
dnl
319
 
dnl     LDFLAGS="$LDFLAGS $WX_LIBS"
320
 
dnl ---------------------------------------------------------------------------
321
 
 
322
 
 
323
 
 
324
 
dnl ---------------------------------------------------------------------------
325
 
dnl AM_PATH_WXRC([ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]])
326
 
dnl
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.
330
 
dnl
331
 
dnl Example use:
332
 
dnl   AM_PATH_WXRC([wxrc=1], [wxrc=0])
333
 
dnl ---------------------------------------------------------------------------
334
 
 
335
 
dnl
336
 
dnl wxrc program from the wx-config script
337
 
dnl
338
 
AC_DEFUN([AM_PATH_WXRC],
339
 
[
340
 
  AC_ARG_VAR([WXRC], [Path to wxWidget's wxrc resource compiler])
341
 
    
342
 
  if test "x$WX_CONFIG_NAME" = x; then
343
 
    AC_MSG_ERROR([The wxrc tests must run after wxWidgets test.])
344
 
  else
345
 
    
346
 
    AC_MSG_CHECKING([for wxrc])
347
 
    
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`
353
 
      fi
354
 
    fi
355
 
 
356
 
    if test "x$WXRC" = x ; then
357
 
      AC_MSG_RESULT([not found])
358
 
      ifelse([$2], , :, [$2])
359
 
    else
360
 
      AC_MSG_RESULT([$WXRC])
361
 
      ifelse([$1], , :, [$1])
362
 
    fi
363
 
    
364
 
    AC_SUBST(WXRC)
365
 
  fi
366
 
])