~thomir-deactivatedaccount/ceed/trunk

« back to all changes in this revision

Viewing changes to acinclude.m4

  • Committer: Thomi Richards
  • Date: 2013-02-07 05:23:17 UTC
  • Revision ID: thomi.richards@canonical.com-20130207052317-par21njx8r4cfgqq
InitialĀ codeĀ import

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
      if test "x$wx_has_cppflags" = x ; then
 
205
         dnl no choice but to define all flags like CFLAGS
 
206
         WX_CFLAGS=`$WX_CONFIG_WITH_ARGS --cflags`
 
207
         WX_CPPFLAGS=$WX_CFLAGS
 
208
         WX_CXXFLAGS=$WX_CFLAGS
 
209
 
 
210
         WX_CFLAGS_ONLY=$WX_CFLAGS
 
211
         WX_CXXFLAGS_ONLY=$WX_CFLAGS
 
212
      else
 
213
         dnl we have CPPFLAGS included in CFLAGS included in CXXFLAGS
 
214
         WX_CPPFLAGS=`$WX_CONFIG_WITH_ARGS --cppflags`
 
215
         WX_CXXFLAGS=`$WX_CONFIG_WITH_ARGS --cxxflags`
 
216
         WX_CFLAGS=`$WX_CONFIG_WITH_ARGS --cflags`
 
217
 
 
218
         WX_CFLAGS_ONLY=`echo $WX_CFLAGS | sed "s@^$WX_CPPFLAGS *@@"`
 
219
         WX_CXXFLAGS_ONLY=`echo $WX_CXXFLAGS | sed "s@^$WX_CFLAGS *@@"`
 
220
      fi
 
221
 
 
222
      ifelse([$2], , :, [$2])
 
223
 
 
224
    else
 
225
 
 
226
       if test "x$WX_VERSION" = x; then
 
227
          dnl no wx-config at all
 
228
          AC_MSG_RESULT(no)
 
229
       else
 
230
          AC_MSG_RESULT(no (version $WX_VERSION is not new enough))
 
231
       fi
 
232
 
 
233
       WX_CFLAGS=""
 
234
       WX_CPPFLAGS=""
 
235
       WX_CXXFLAGS=""
 
236
       WX_LIBS=""
 
237
       WX_LIBS_STATIC=""
 
238
       ifelse([$3], , :, [$3])
 
239
 
 
240
    fi
 
241
  else
 
242
 
 
243
    WX_CFLAGS=""
 
244
    WX_CPPFLAGS=""
 
245
    WX_CXXFLAGS=""
 
246
    WX_LIBS=""
 
247
    WX_LIBS_STATIC=""
 
248
    ifelse([$3], , :, [$3])
 
249
 
 
250
  fi
 
251
 
 
252
  AC_SUBST(WX_CPPFLAGS)
 
253
  AC_SUBST(WX_CFLAGS)
 
254
  AC_SUBST(WX_CXXFLAGS)
 
255
  AC_SUBST(WX_CFLAGS_ONLY)
 
256
  AC_SUBST(WX_CXXFLAGS_ONLY)
 
257
  AC_SUBST(WX_LIBS)
 
258
  AC_SUBST(WX_LIBS_STATIC)
 
259
  AC_SUBST(WX_VERSION)
 
260
])
 
261
 
 
262
dnl ---------------------------------------------------------------------------
 
263
dnl Get information on the wxrc program for making C++, Python and xrs
 
264
dnl resource files.
 
265
dnl
 
266
dnl     AC_ARG_ENABLE(...)
 
267
dnl     AC_ARG_WITH(...)
 
268
dnl        ...
 
269
dnl     AM_OPTIONS_WXCONFIG
 
270
dnl     AM_OPTIONS_WXRC
 
271
dnl        ...
 
272
dnl     AM_PATH_WXCONFIG(2.6.0, wxWin=1)
 
273
dnl     if test "$wxWin" != 1; then
 
274
dnl        AC_MSG_ERROR([
 
275
dnl                wxWidgets must be installed on your system
 
276
dnl                but wx-config script couldn't be found.
 
277
dnl
 
278
dnl                Please check that wx-config is in path, the directory
 
279
dnl                where wxWidgets libraries are installed (returned by
 
280
dnl                'wx-config --libs' command) is in LD_LIBRARY_PATH or
 
281
dnl                equivalent variable and wxWidgets version is 2.6.0 or above.
 
282
dnl        ])
 
283
dnl     fi
 
284
dnl
 
285
dnl     AM_PATH_WXRC([HAVE_WXRC=1], [HAVE_WXRC=0])
 
286
dnl     if test "x$HAVE_WXRC" != x1; then
 
287
dnl         AC_MSG_ERROR([
 
288
dnl                The wxrc program was not installed or not found.
 
289
dnl     
 
290
dnl                Please check the wxWidgets installation.
 
291
dnl         ])
 
292
dnl     fi
 
293
dnl
 
294
dnl     CPPFLAGS="$CPPFLAGS $WX_CPPFLAGS"
 
295
dnl     CXXFLAGS="$CXXFLAGS $WX_CXXFLAGS_ONLY"
 
296
dnl     CFLAGS="$CFLAGS $WX_CFLAGS_ONLY"
 
297
dnl
 
298
dnl     LDFLAGS="$LDFLAGS $WX_LIBS"
 
299
dnl ---------------------------------------------------------------------------
 
300
 
 
301
 
 
302
 
 
303
dnl ---------------------------------------------------------------------------
 
304
dnl AM_PATH_WXRC([ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]])
 
305
dnl
 
306
dnl Test for wxWidgets' wxrc program for creating either C++, Python or XRS
 
307
dnl resources.  The variable WXRC will be set and substituted in the configure
 
308
dnl script and Makefiles.
 
309
dnl
 
310
dnl Example use:
 
311
dnl   AM_PATH_WXRC([wxrc=1], [wxrc=0])
 
312
dnl ---------------------------------------------------------------------------
 
313
 
 
314
dnl
 
315
dnl wxrc program from the wx-config script
 
316
dnl
 
317
AC_DEFUN([AM_PATH_WXRC],
 
318
[
 
319
  AC_ARG_VAR([WXRC], [Path to wxWidget's wxrc resource compiler])
 
320
    
 
321
  if test "x$WX_CONFIG_NAME" = x; then
 
322
    AC_MSG_ERROR([The wxrc tests must run after wxWidgets test.])
 
323
  else
 
324
    
 
325
    AC_MSG_CHECKING([for wxrc])
 
326
    
 
327
    if test "x$WXRC" = x ; then
 
328
      dnl wx-config --utility is a new addition to wxWidgets:
 
329
      _WX_PRIVATE_CHECK_VERSION(2,5,3)
 
330
      if test -n "$wx_ver_ok"; then
 
331
        WXRC=`$WX_CONFIG_WITH_ARGS --utility=wxrc`
 
332
      fi
 
333
    fi
 
334
 
 
335
    if test "x$WXRC" = x ; then
 
336
      AC_MSG_RESULT([not found])
 
337
      ifelse([$2], , :, [$2])
 
338
    else
 
339
      AC_MSG_RESULT([$WXRC])
 
340
      ifelse([$1], , :, [$1])
 
341
    fi
 
342
    
 
343
    AC_SUBST(WXRC)
 
344
  fi
 
345
])