]> git.saurik.com Git - wxWidgets.git/blame - configure.in
CSS colour compatibility after #1473731.
[wxWidgets.git] / configure.in
CommitLineData
9a98a854
VZ
1dnl Process this file with autoconf to produce a configure script.
2AC_REVISION($Id$)dnl
3
44309ea1 4AC_PREREQ(2.58)
e6cc62c6 5
9a98a854
VZ
6dnl ---------------------------------------------------------------------------
7dnl
77ffb593 8dnl Top-level configure.in for wxWidgets by Robert Roebling, Phil Blecker,
3a922bb4 9dnl Vadim Zeitlin and Ron Lee
9a98a854 10dnl
77ffb593 11dnl This script is under the wxWidgets licence.
9a98a854
VZ
12dnl
13dnl Version: $Id$
bcd2b961 14dnl ---------------------------------------------------------------------------
9a98a854
VZ
15
16dnl ---------------------------------------------------------------------------
17dnl initialization
18dnl ---------------------------------------------------------------------------
19
dd8df4fc 20AC_INIT([wxWidgets], [2.7.0], [wx-dev@lists.wxwidgets.org])
e6cc62c6
VS
21
22dnl the file passed to AC_CONFIG_SRCDIR should be specific to our package
23AC_CONFIG_SRCDIR([wx-config.in])
9a98a854 24
e59890c3 25dnl sets build, host, target variables and the same with _alias
e6cc62c6
VS
26AC_CANONICAL_BUILD
27AC_CANONICAL_HOST
28AC_CANONICAL_TARGET
29
7c66a493
VZ
30
31dnl When making releases do:
32dnl
ceec2216 33dnl wx_release_number += 1
9a98a854 34
ceec2216 35wx_major_version_number=2
dd8df4fc
VZ
36wx_minor_version_number=7
37wx_release_number=0
38wx_subrelease_number=0
9a98a854 39
ceec2216
RL
40WX_RELEASE=$wx_major_version_number.$wx_minor_version_number
41WX_VERSION=$WX_RELEASE.$wx_release_number
42WX_SUBVERSION=$WX_VERSION.$wx_subrelease_number
6426998c 43
ceec2216 44WX_MSW_VERSION=$wx_major_version_number$wx_minor_version_number$wx_release_number
978f1259 45
6426998c 46
9a98a854
VZ
47
48dnl ------------------------------------------------------------------------
49dnl Check platform (host system)
50dnl ------------------------------------------------------------------------
51
4a8900f2 52dnl OS (assume Unix)
9a98a854 53USE_UNIX=1
5cc55caf 54USE_OS2=0
4882bf1b 55USE_WIN32=0
f9bc1684 56USE_DOS=0
b12915c1 57USE_BEOS=0
1216f52d 58USE_MAC=0
b12915c1 59
4a8900f2 60dnl Unix kind
9a98a854 61USE_AIX=
32b38f99
VZ
62USE_BSD= dnl any BSD
63USE_DARWIN= dnl a.k.a. Mac OS X
9a98a854 64USE_FREEBSD=
32b38f99 65USE_GNU= dnl GNU/Hurd
4a8900f2
VZ
66USE_HPUX=
67USE_LINUX=
f6bcfd97 68USE_NETBSD=
4a8900f2 69USE_OPENBSD=
32b38f99 70USE_OSF= dnl OSF/1 (obsolete?)
4a8900f2 71USE_SGI=
32b38f99
VZ
72USE_SOLARIS= dnl Solaris ("SunOS" >= 5)
73USE_SUN= dnl SunOS or Solaris
74USE_SUNOS= dnl old/real SunOS (obsolete)
75USE_SVR4= dnl SysV R4
76USE_SYSV= dnl any System V
9a98a854
VZ
77USE_VMS=
78USE_ULTRIX=
4a8900f2
VZ
79USE_UNIXWARE=
80
81dnl hardware platform
82USE_ALPHA=
9a98a854 83
ab9b9eab
VZ
84dnl on some platforms xxx_r() functions are declared inside "#ifdef
85dnl _REENTRANT" and it's easier to just define this symbol for these platforms
86dnl than checking it during run-time
87NEEDS_D_REENTRANT_FOR_R_FUNCS=0
88
ced859c3 89dnl the list of all available toolkits
1e6feb95
VZ
90dnl
91dnl update NUM_TOOLKITS calculation below when adding a new toolkit here!
ac0c4cc3 92ALL_TOOLKITS="COCOA GTK MAC MGL MICROWIN MOTIF MSW PM X11"
ced859c3 93
9a98a854
VZ
94dnl NB: these wxUSE_XXX constants have value of 0 or 1 unlike all the other ones
95dnl which are either yes or no
ac0c4cc3 96DEFAULT_wxUSE_COCOA=0
9a98a854 97DEFAULT_wxUSE_GTK=0
1e6feb95
VZ
98DEFAULT_wxUSE_MAC=0
99DEFAULT_wxUSE_MGL=0
1725144d 100DEFAULT_wxUSE_MICROWIN=0
9a98a854
VZ
101DEFAULT_wxUSE_MOTIF=0
102DEFAULT_wxUSE_MSW=0
e07802fc 103DEFAULT_wxUSE_PM=0
7f5c07ab 104DEFAULT_wxUSE_X11=0
9a98a854 105
143121c5
VZ
106dnl these are the values which are really default for the given platform -
107dnl they're not cached and are only used if no --with-toolkit was given *and*
108dnl nothing was found in the cache
ac0c4cc3 109DEFAULT_DEFAULT_wxUSE_COCOA=0
143121c5 110DEFAULT_DEFAULT_wxUSE_GTK=0
1e6feb95
VZ
111DEFAULT_DEFAULT_wxUSE_MAC=0
112DEFAULT_DEFAULT_wxUSE_MGL=0
1725144d 113DEFAULT_DEFAULT_wxUSE_MICROWIN=0
143121c5
VZ
114DEFAULT_DEFAULT_wxUSE_MOTIF=0
115DEFAULT_DEFAULT_wxUSE_MSW=0
e07802fc 116DEFAULT_DEFAULT_wxUSE_PM=0
7f5c07ab 117DEFAULT_DEFAULT_wxUSE_X11=0
143121c5 118
d6a55c4b 119PROGRAM_EXT=
3a922bb4 120SO_SUFFIX=so
fe0895cf 121SAMPLES_RPATH_FLAG=
ef0add05 122SAMPLES_RPATH_POSTLINK=
d6a55c4b 123
a03b8b04
RD
124DEFAULT_STD_FLAG=yes
125
b12915c1
VZ
126dnl to support a new system, you need to add its canonical name (as determined
127dnl by config.sub or specified by the configure command line) to this "case"
128dnl and also define the shared library flags below - search for
129dnl SHARED_LIB_SETUP to find the exact place
9a98a854
VZ
130case "${host}" in
131 *-hp-hpux* )
132 USE_HPUX=1
143121c5 133 DEFAULT_DEFAULT_wxUSE_MOTIF=1
ab9b9eab 134 NEEDS_D_REENTRANT_FOR_R_FUNCS=1
3a922bb4 135 SO_SUFFIX=sl
9a98a854 136 AC_DEFINE(__HPUX__)
65baafba
VZ
137
138 dnl many standard declarations in HP-UX headers are only included if either
139 dnl _HPUX_SOURCE is defined, see stdsyms(5)
c92ad099 140 CPPFLAGS="-D_HPUX_SOURCE $CPPFLAGS"
9a98a854
VZ
141 ;;
142 *-*-linux* )
143 USE_LINUX=1
144 AC_DEFINE(__LINUX__)
145 TMP=`uname -m`
146 if test "x$TMP" = "xalpha"; then
147 USE_ALPHA=1
148 AC_DEFINE(__ALPHA__)
149 fi
143121c5 150 DEFAULT_DEFAULT_wxUSE_GTK=1
9a98a854 151 ;;
e1293dcf 152 *-*-gnu* | *-*-k*bsd*-gnu )
32b38f99 153 USE_GNU=1
32b38f99
VZ
154 TMP=`uname -m`
155 if test "x$TMP" = "xalpha"; then
156 USE_ALPHA=1
157 AC_DEFINE(__ALPHA__)
158 fi
159 DEFAULT_DEFAULT_wxUSE_GTK=1
160 ;;
9a98a854
VZ
161 *-*-irix5* | *-*-irix6* )
162 USE_SGI=1
163 USE_SVR4=1
164 AC_DEFINE(__SGI__)
165 AC_DEFINE(__SVR4__)
143121c5 166 DEFAULT_DEFAULT_wxUSE_MOTIF=1
9a98a854
VZ
167 ;;
168 *-*-solaris2* )
169 USE_SUN=1
170 USE_SOLARIS=1
171 USE_SVR4=1
172 AC_DEFINE(__SUN__)
173 AC_DEFINE(__SOLARIS__)
174 AC_DEFINE(__SVR4__)
143121c5 175 DEFAULT_DEFAULT_wxUSE_MOTIF=1
ab9b9eab 176 NEEDS_D_REENTRANT_FOR_R_FUNCS=1
9a98a854
VZ
177 ;;
178 *-*-sunos4* )
179 USE_SUN=1
180 USE_SUNOS=1
181 USE_BSD=1
182 AC_DEFINE(__SUN__)
183 AC_DEFINE(__SUNOS__)
184 AC_DEFINE(__BSD__)
143121c5 185 DEFAULT_DEFAULT_wxUSE_MOTIF=1
9a98a854 186 ;;
f6bcfd97 187 *-*-freebsd*)
9a98a854
VZ
188 USE_BSD=1
189 USE_FREEBSD=1
190 AC_DEFINE(__FREEBSD__)
191 AC_DEFINE(__BSD__)
143121c5 192 DEFAULT_DEFAULT_wxUSE_GTK=1
9a98a854 193 ;;
1cf8c0a9
VZ
194 *-*-openbsd*)
195 USE_BSD=1
196 USE_OPENBSD=1
1cf8c0a9 197 AC_DEFINE(__OPENBSD__)
2b5f62a0 198 AC_DEFINE(__BSD__)
1cf8c0a9
VZ
199 DEFAULT_DEFAULT_wxUSE_GTK=1
200 ;;
f6bcfd97
BP
201 *-*-netbsd*)
202 USE_BSD=1
203 USE_NETBSD=1
f6bcfd97 204 AC_DEFINE(__NETBSD__)
2b5f62a0 205 AC_DEFINE(__BSD__)
f6bcfd97 206 DEFAULT_DEFAULT_wxUSE_GTK=1
728258f4 207 NEEDS_D_REENTRANT_FOR_R_FUNCS=1
def7c04a
SN
208
209 dnl some standard declarations in NetBSD headers are only included if
210 dnl _NETBSD_SOURCE and _LIBC are defined, e.g. getservbyname_r in netdb.h
211 CPPFLAGS="-D_NETBSD_SOURCE -D_LIBC $CPPFLAGS"
f6bcfd97 212 ;;
9a98a854
VZ
213 *-*-osf* )
214 USE_ALPHA=1
215 USE_OSF=1
216 AC_DEFINE(__ALPHA__)
217 AC_DEFINE(__OSF__)
143121c5 218 DEFAULT_DEFAULT_wxUSE_MOTIF=1
f6bcfd97 219 NEEDS_D_REENTRANT_FOR_R_FUNCS=1
9a98a854
VZ
220 ;;
221 *-*-dgux5* )
222 USE_ALPHA=1
223 USE_SVR4=1
224 AC_DEFINE(__ALPHA__)
225 AC_DEFINE(__SVR4__)
143121c5 226 DEFAULT_DEFAULT_wxUSE_MOTIF=1
9a98a854
VZ
227 ;;
228 *-*-sysv5* )
229 USE_SYSV=1
230 USE_SVR4=1
231 AC_DEFINE(__SYSV__)
232 AC_DEFINE(__SVR4__)
143121c5 233 DEFAULT_DEFAULT_wxUSE_MOTIF=1
9a98a854
VZ
234 ;;
235 *-*-aix* )
236 USE_AIX=1
237 USE_SYSV=1
238 USE_SVR4=1
2b5f62a0
VZ
239 dnl quoting from http://www-1.ibm.com/servers/esdd/articles/gnu.html:
240 dnl
241 dnl Both archive libraries and shared libraries on AIX have an .a
242 dnl extension. This will explain why you can't link with an .so and
1542ea39 243 dnl why it works with the name changed to .a.
321d2b14 244 SO_SUFFIX=a
9a98a854
VZ
245 AC_DEFINE(__AIX__)
246 AC_DEFINE(__SYSV__)
247 AC_DEFINE(__SVR4__)
143121c5 248 DEFAULT_DEFAULT_wxUSE_MOTIF=1
9a98a854 249 ;;
a9b5e89f 250
4a8900f2
VZ
251 *-*-*UnixWare*)
252 USE_SYSV=1
253 USE_SVR4=1
254 USE_UNIXWARE=1
255 AC_DEFINE(__UNIXWARE__)
256 ;;
257
1c8183e2 258 *-*-cygwin* | *-*-mingw32* )
17234b26
MB
259 dnl MBN: some of the defines have been moved after toolkit detection
260 dnl because for wxMotif/wxGTK/wxX11 to build on Cygwin
261 dnl USE_UNIX must be set and not USE_WIN32
3a922bb4 262 SO_SUFFIX=dll
cf27ef00 263 PROGRAM_EXT=".exe"
a9b5e89f 264 DEFAULT_DEFAULT_wxUSE_MSW=1
a03b8b04 265 DEFAULT_STD_FLAG=no
a9b5e89f
VZ
266 ;;
267
f9bc1684
VS
268 *-pc-msdosdjgpp )
269 USE_UNIX=0
270 USE_DOS=1
271 AC_DEFINE(__DOS__)
272 PROGRAM_EXT=".exe"
273 DEFAULT_DEFAULT_wxUSE_MGL=1
f9bc1684
VS
274 ;;
275
9829f277 276 *-pc-os2_emx | *-pc-os2-emx )
91b8de8d 277 AC_DEFINE(__EMX__)
5cc55caf 278 USE_OS2=1
ff398597 279 AC_DEFINE(__OS2__)
cf27ef00 280 PROGRAM_EXT=".exe"
e07802fc 281 DEFAULT_DEFAULT_wxUSE_PM=1
35c49c4b
SN
282 dnl "c++" wrapper is not always available, so always use plain gcc.
283 CXX=gcc
dc4118b8 284 LDFLAGS="$LDFLAGS -Zcrtdll"
e223b099
SN
285 dnl
286 dnl Some special code that's automatically added by autoconf-2.57 for OS/2
287 dnl and hopefully also by autoconf-2.58 and newer on all other platforms.
288 dnl For now however, we still need it to make sure the configure script
289 dnl works on OS/2 no matter what platform it is generated on.
290 ac_executable_extensions=".exe"
291 export ac_executable_extensions
292 dnl This strange code is necessary to deal with handling of
293 dnl backslashes by ksh and pdksh's sh variant.
294 ac_save_IFS="$IFS"
4199367e 295 IFS='\\'
e223b099
SN
296 ac_TEMP_PATH=
297 for ac_dir in $PATH; do
298 IFS=$ac_save_IFS
299 if test -z "$ac_TEMP_PATH"; then
300 ac_TEMP_PATH="$ac_dir"
301 else
302 ac_TEMP_PATH="$ac_TEMP_PATH/$ac_dir"
303 fi
304 done
305 export PATH="$ac_TEMP_PATH"
306 unset ac_TEMP_PATH
a03b8b04 307 DEFAULT_STD_FLAG=no
91b8de8d 308 ;;
a9b5e89f 309
cfda0ea8
DE
310 *-*-darwin* )
311 dnl Darwin based distributions (including Mac OS X)
b4085ce6 312 USE_BSD=1
f11bdd03 313 USE_DARWIN=1
3a922bb4 314 SO_SUFFIX=dylib
b4085ce6 315 AC_DEFINE(__BSD__)
f11bdd03 316 AC_DEFINE(__DARWIN__)
82d43113 317 AC_DEFINE(TARGET_CARBON)
b4085ce6 318 DEFAULT_DEFAULT_wxUSE_MAC=1
a03b8b04 319 DEFAULT_STD_FLAG=no
b4085ce6 320 ;;
031e9160
DE
321 powerpc-apple-macos* )
322 dnl Classic Mac OS (< X)
323 USE_UNIX=0
324 dnl For some reason the test that should be cross-compiler capable fails
325 dnl However, there is no doubt that MacOS PowerPC is big endian.
326 ac_cv_c_bigendian=yes
327 SO_SUFFIX=shlib
328 dnl AC_DEFINE(TARGET_CARBON)
329 dnl platform.h needs TARGET_CARBON before setup.h, we'll add it to CPPFLAGS
330 DEFAULT_DEFAULT_wxUSE_MAC=1
a03b8b04 331 DEFAULT_STD_FLAG=no
031e9160 332 ;;
b4085ce6 333
b12915c1
VZ
334 *-*-beos* )
335 dnl leave USE_UNIX on - BeOS is sufficiently Unix-like for this
336 USE_BEOS=1
337 AC_DEFINE(__BEOS__)
338 ;;
339
9a98a854 340 *)
a9b5e89f 341 AC_MSG_ERROR(unknown system type ${host}.)
9a98a854
VZ
342esac
343
9a98a854
VZ
344dnl ---------------------------------------------------------------------------
345dnl command line options for configure
346dnl ---------------------------------------------------------------------------
347
348dnl the default values for all options - we collect them all here to simplify
349dnl modification of the default values (for example, if the defaults for some
350dnl platform should be changed, it can be done here too)
351dnl
352dnl NB: see also DEFAULT_wxUSE<toolkit> variables defined above
353
143121c5
VZ
354WX_ARG_CACHE_INIT
355
9a98a854
VZ
356dnl useful to test the compilation with minimum options, define as 0 for normal
357dnl usage
358DEBUG_CONFIGURE=0
359if test $DEBUG_CONFIGURE = 1; then
1e6feb95 360 DEFAULT_wxUSE_UNIVERSAL=no
df5168c4 361 DEFAULT_wxUSE_STL=no
1e6feb95 362
6ec507fd
JS
363 DEFAULT_wxUSE_NANOX=no
364
9a98a854
VZ
365 DEFAULT_wxUSE_THREADS=yes
366
2aa88730 367 DEFAULT_wxUSE_SHARED=yes
1e6feb95 368 DEFAULT_wxUSE_OPTIMISE=no
9a98a854 369 DEFAULT_wxUSE_PROFILE=no
5586805b 370 DEFAULT_wxUSE_NO_DEPS=no
8f4a9a10
RR
371 DEFAULT_wxUSE_NO_RTTI=no
372 DEFAULT_wxUSE_NO_EXCEPTIONS=no
32df13a5 373 DEFAULT_wxUSE_UNIVERSAL_BINARY=no
ffa0583f 374 DEFAULT_wxUSE_RPATH=yes
5586805b 375 DEFAULT_wxUSE_PERMISSIVE=no
9a98a854
VZ
376 DEFAULT_wxUSE_DEBUG_FLAG=yes
377 DEFAULT_wxUSE_DEBUG_INFO=yes
378 DEFAULT_wxUSE_DEBUG_GDB=yes
379 DEFAULT_wxUSE_MEM_TRACING=no
143121c5 380 DEFAULT_wxUSE_DEBUG_CONTEXT=no
9a98a854
VZ
381 DEFAULT_wxUSE_DMALLOC=no
382 DEFAULT_wxUSE_APPLE_IEEE=no
383
4199367e 384 DEFAULT_wxUSE_EXCEPTIONS=no
9a98a854 385 DEFAULT_wxUSE_LOG=yes
1e6feb95
VZ
386 DEFAULT_wxUSE_LOGWINDOW=no
387 DEFAULT_wxUSE_LOGGUI=no
69d27ff7 388 DEFAULT_wxUSE_LOGDIALOG=no
9a98a854
VZ
389
390 DEFAULT_wxUSE_GUI=yes
1e6feb95 391 DEFAULT_wxUSE_CONTROLS=no
9a98a854 392
3e44f09d 393 DEFAULT_wxUSE_REGEX=no
672abd7a
VS
394 DEFAULT_wxUSE_XML=no
395 DEFAULT_wxUSE_EXPAT=no
9a98a854
VZ
396 DEFAULT_wxUSE_ZLIB=no
397 DEFAULT_wxUSE_LIBPNG=no
9a98a854 398 DEFAULT_wxUSE_LIBJPEG=no
c7a2bf27 399 DEFAULT_wxUSE_LIBTIFF=no
89fe663f 400 DEFAULT_wxUSE_LIBXPM=no
f93ca9fd
VS
401 DEFAULT_wxUSE_LIBMSPACK=no
402 DEFAULT_wxUSE_LIBSDL=no
7c72311f 403 DEFAULT_wxUSE_LIBGNOMEPRINT=no
2b850ae1 404 DEFAULT_wxUSE_LIBGNOMEVFS=no
3565d135 405 DEFAULT_wxUSE_LIBHILDON=no
9a98a854 406 DEFAULT_wxUSE_ODBC=no
bdad4e7e 407 DEFAULT_wxUSE_OPENGL=no
9a98a854 408
eb4efbdc 409 DEFAULT_wxUSE_ON_FATAL_EXCEPTION=no
eaff0f0d 410 DEFAULT_wxUSE_STACKWALKER=no
36b6448c 411 DEFAULT_wxUSE_DEBUGREPORT=no
4f3c5f06 412 DEFAULT_wxUSE_SNGLINST_CHECKER=no
fd15d8f1 413 DEFAULT_wxUSE_STD_IOSTREAM=no
668d55c9 414 DEFAULT_wxUSE_STD_STRING=no
1e6feb95
VZ
415 DEFAULT_wxUSE_CMDLINE_PARSER=no
416 DEFAULT_wxUSE_DATETIME=no
1e6feb95
VZ
417 DEFAULT_wxUSE_TIMER=no
418 DEFAULT_wxUSE_STOPWATCH=no
9a98a854 419 DEFAULT_wxUSE_FILE=no
1e6feb95 420 DEFAULT_wxUSE_FFILE=no
07158944 421 DEFAULT_wxUSE_STDPATHS=no
a3a584a7 422 DEFAULT_wxUSE_TEXTBUFFER=no
9a98a854 423 DEFAULT_wxUSE_TEXTFILE=no
002ed9af 424 DEFAULT_wxUSE_SOUND=no
5ff751d6 425 DEFAULT_wxUSE_MEDIACTRL=no
557002cf 426 DEFAULT_wxUSE_GSTREAMER8=no
9a98a854
VZ
427 DEFAULT_wxUSE_INTL=no
428 DEFAULT_wxUSE_CONFIG=no
1e6feb95 429 DEFAULT_wxUSE_FONTMAP=no
9a98a854
VZ
430 DEFAULT_wxUSE_STREAMS=no
431 DEFAULT_wxUSE_SOCKETS=no
3bce6687
JS
432 DEFAULT_wxUSE_OLE=no
433 DEFAULT_wxUSE_DATAOBJ=no
1c8515f9 434 DEFAULT_wxUSE_DIALUP_MANAGER=no
9a98a854 435 DEFAULT_wxUSE_JOYSTICK=no
6bff71f8 436 DEFAULT_wxUSE_DYNLIB_CLASS=no
0b9ab0bd 437 DEFAULT_wxUSE_DYNAMIC_LOADER=no
9a98a854 438 DEFAULT_wxUSE_LONGLONG=no
e8f65ba6 439 DEFAULT_wxUSE_GEOMETRY=no
9a98a854
VZ
440
441 DEFAULT_wxUSE_AFM_FOR_POSTSCRIPT=no
442 DEFAULT_wxUSE_NORMALIZED_PS_FONTS=no
443 DEFAULT_wxUSE_POSTSCRIPT=no
444
9a98a854
VZ
445 DEFAULT_wxUSE_CLIPBOARD=no
446 DEFAULT_wxUSE_TOOLTIPS=no
447 DEFAULT_wxUSE_DRAG_AND_DROP=no
24fd6d87 448 DEFAULT_wxUSE_DRAGIMAGE=no
9a98a854 449 DEFAULT_wxUSE_SPLINES=no
060e10d9 450 DEFAULT_wxUSE_MOUSEWHEEL=no
9a98a854 451
efd17a1d 452 DEFAULT_wxUSE_MDI=no
9a98a854
VZ
453 DEFAULT_wxUSE_MDI_ARCHITECTURE=no
454 DEFAULT_wxUSE_DOC_VIEW_ARCHITECTURE=no
455 DEFAULT_wxUSE_PRINTING_ARCHITECTURE=no
456
9a98a854
VZ
457 DEFAULT_wxUSE_RESOURCES=no
458 DEFAULT_wxUSE_CONSTRAINTS=no
459 DEFAULT_wxUSE_IPC=no
460 DEFAULT_wxUSE_HELP=no
29fd3c0c 461 DEFAULT_wxUSE_MS_HTML_HELP=no
3379ed37 462 DEFAULT_wxUSE_WXHTML_HELP=no
24176f2c 463 DEFAULT_wxUSE_TREELAYOUT=no
9a98a854 464 DEFAULT_wxUSE_METAFILE=no
1e6feb95 465 DEFAULT_wxUSE_MIMETYPE=no
4cdb0ab0
VS
466 DEFAULT_wxUSE_SYSTEM_OPTIONS=no
467 DEFAULT_wxUSE_PROTOCOL=no
468 DEFAULT_wxUSE_PROTOCOL_HTTP=no
469 DEFAULT_wxUSE_PROTOCOL_FTP=no
470 DEFAULT_wxUSE_PROTOCOL_FILE=no
471 DEFAULT_wxUSE_URL=no
3bd8fb5f 472
9a98a854 473 DEFAULT_wxUSE_COMMONDLGS=no
1e6feb95
VZ
474 DEFAULT_wxUSE_CHOICEDLG=no
475 DEFAULT_wxUSE_COLOURDLG=no
ce4169a4 476 DEFAULT_wxUSE_DIRDLG=no
1e6feb95 477 DEFAULT_wxUSE_FILEDLG=no
8db37e06 478 DEFAULT_wxUSE_FINDREPLDLG=no
1e6feb95
VZ
479 DEFAULT_wxUSE_FONTDLG=no
480 DEFAULT_wxUSE_MSGDLG=no
481 DEFAULT_wxUSE_NUMBERDLG=no
c11584af 482 DEFAULT_wxUSE_TEXTDLG=no
cbca9943 483 DEFAULT_wxUSE_SPLASH=no
a641505f 484 DEFAULT_wxUSE_STARTUP_TIPS=no
ce4169a4 485 DEFAULT_wxUSE_PROGRESSDLG=no
b1f5d087
VZ
486 DEFAULT_wxUSE_WIZARDDLG=no
487
1e6feb95 488 DEFAULT_wxUSE_MENUS=no
9a98a854 489 DEFAULT_wxUSE_MINIFRAME=no
5526e819 490 DEFAULT_wxUSE_HTML=no
5d7836c4 491 DEFAULT_wxUSE_RICHTEXT=no
9a8f0513 492 DEFAULT_wxUSE_XRC=no
ec9f9256 493 DEFAULT_wxUSE_WEBKIT=no
24528b0c 494 DEFAULT_wxUSE_FILESYSTEM=no
e3e717ec
VZ
495 DEFAULT_wxUSE_FS_INET=no
496 DEFAULT_wxUSE_FS_ZIP=no
d78b3d64 497 DEFAULT_wxUSE_BUSYINFO=no
9e8e867f 498 DEFAULT_wxUSE_ARCHIVE_STREAMS=no
d78b3d64 499 DEFAULT_wxUSE_ZIPSTREAM=no
1e6feb95 500 DEFAULT_wxUSE_VALIDATORS=no
9a98a854
VZ
501
502 DEFAULT_wxUSE_ACCEL=no
1e6feb95 503 DEFAULT_wxUSE_BUTTON=no
9a98a854 504 DEFAULT_wxUSE_BMPBUTTON=no
1e6feb95
VZ
505 DEFAULT_wxUSE_CALCTRL=no
506 DEFAULT_wxUSE_CARET=no
9a98a854
VZ
507 DEFAULT_wxUSE_CHECKBOX=no
508 DEFAULT_wxUSE_CHECKLST=no
1e6feb95 509 DEFAULT_wxUSE_CHOICE=no
92bbdbcd 510 DEFAULT_wxUSE_CHOICEBOOK=no
9a98a854 511 DEFAULT_wxUSE_COMBOBOX=no
da98e9be 512 DEFAULT_wxUSE_DATEPICKCTRL=no
ddb4769e 513 DEFAULT_wxUSE_DISPLAY=no
9a98a854
VZ
514 DEFAULT_wxUSE_GAUGE=no
515 DEFAULT_wxUSE_GRID=no
20e34ecc 516 DEFAULT_wxUSE_DATAVIEWCTRL=no
9a98a854 517 DEFAULT_wxUSE_IMAGLIST=no
e9c0df38 518 DEFAULT_wxUSE_LISTBOOK=no
9a98a854
VZ
519 DEFAULT_wxUSE_LISTBOX=no
520 DEFAULT_wxUSE_LISTCTRL=no
521 DEFAULT_wxUSE_NOTEBOOK=no
522 DEFAULT_wxUSE_RADIOBOX=no
523 DEFAULT_wxUSE_RADIOBTN=no
e602002e 524 DEFAULT_wxUSE_SASH=no
9a98a854
VZ
525 DEFAULT_wxUSE_SCROLLBAR=no
526 DEFAULT_wxUSE_SLIDER=no
527 DEFAULT_wxUSE_SPINBTN=no
66f38406 528 DEFAULT_wxUSE_SPINCTRL=no
9a98a854
VZ
529 DEFAULT_wxUSE_SPLITTER=no
530 DEFAULT_wxUSE_STATBMP=no
531 DEFAULT_wxUSE_STATBOX=no
532 DEFAULT_wxUSE_STATLINE=no
1e6feb95 533 DEFAULT_wxUSE_STATTEXT=no
9a98a854 534 DEFAULT_wxUSE_STATUSBAR=yes
db6d3918 535 DEFAULT_wxUSE_TAB_DIALOG=no
1e6feb95 536 DEFAULT_wxUSE_TEXTCTRL=no
1db8dc4a 537 DEFAULT_wxUSE_TOGGLEBTN=no
9a98a854 538 DEFAULT_wxUSE_TOOLBAR=no
360d6699
VZ
539 DEFAULT_wxUSE_TOOLBAR_NATIVE=no
540 DEFAULT_wxUSE_TOOLBAR_SIMPLE=no
eca15c0d 541 DEFAULT_wxUSE_TREEBOOK=no
7dcea26b 542 DEFAULT_wxUSE_TOOLBOOK=no
9a98a854 543 DEFAULT_wxUSE_TREECTRL=no
9f41d601 544 DEFAULT_wxUSE_POPUPWIN=no
0b01706f 545 DEFAULT_wxUSE_TIPWINDOW=no
9a98a854
VZ
546
547 DEFAULT_wxUSE_UNICODE=no
a72a4bfa 548 DEFAULT_wxUSE_UNICODE_MSLU=no
9a98a854 549 DEFAULT_wxUSE_WCSRTOMBS=no
e90c1d2a 550
d275c7eb 551 DEFAULT_wxUSE_PALETTE=no
0046ff7c 552 DEFAULT_wxUSE_IMAGE=no
0940bcf7
HH
553 DEFAULT_wxUSE_GIF=no
554 DEFAULT_wxUSE_PCX=no
555 DEFAULT_wxUSE_PNM=no
4b6b4dfc 556 DEFAULT_wxUSE_IFF=no
0046ff7c 557 DEFAULT_wxUSE_XPM=no
658974ae 558 DEFAULT_wxUSE_ICO_CUR=no
7bb2947d 559 DEFAULT_wxUSE_ACCESSIBILITY=no
5ff751d6 560
e9e0dc15 561 DEFAULT_wxUSE_MONOLITHIC=no
f93ca9fd 562 DEFAULT_wxUSE_PLUGINS=no
029b47ad 563 DEFAULT_wxUSE_OFFICIAL_BUILD=no
9a98a854 564else
1e6feb95 565 DEFAULT_wxUSE_UNIVERSAL=no
df5168c4 566 DEFAULT_wxUSE_STL=no
1e6feb95 567
6ec507fd
JS
568 DEFAULT_wxUSE_NANOX=no
569
9a98a854
VZ
570 DEFAULT_wxUSE_THREADS=yes
571
2aa88730 572 DEFAULT_wxUSE_SHARED=yes
9a98a854
VZ
573 DEFAULT_wxUSE_OPTIMISE=yes
574 DEFAULT_wxUSE_PROFILE=no
5586805b 575 DEFAULT_wxUSE_NO_DEPS=no
8f4a9a10
RR
576 DEFAULT_wxUSE_NO_RTTI=no
577 DEFAULT_wxUSE_NO_EXCEPTIONS=no
32df13a5 578 DEFAULT_wxUSE_UNIVERSAL_BINARY=no
ffa0583f 579 DEFAULT_wxUSE_RPATH=yes
5586805b 580 DEFAULT_wxUSE_PERMISSIVE=no
9a98a854
VZ
581 DEFAULT_wxUSE_DEBUG_FLAG=no
582 DEFAULT_wxUSE_DEBUG_INFO=no
583 DEFAULT_wxUSE_DEBUG_GDB=no
584 DEFAULT_wxUSE_MEM_TRACING=no
143121c5 585 DEFAULT_wxUSE_DEBUG_CONTEXT=no
9a98a854
VZ
586 DEFAULT_wxUSE_DMALLOC=no
587 DEFAULT_wxUSE_APPLE_IEEE=yes
588
4199367e 589 DEFAULT_wxUSE_EXCEPTIONS=yes
9a98a854 590 DEFAULT_wxUSE_LOG=yes
d73be714
VZ
591 DEFAULT_wxUSE_LOGWINDOW=yes
592 DEFAULT_wxUSE_LOGGUI=yes
69d27ff7 593 DEFAULT_wxUSE_LOGDIALOG=yes
9a98a854
VZ
594
595 DEFAULT_wxUSE_GUI=yes
596
aa2d9ecc 597 DEFAULT_wxUSE_REGEX=yes
672abd7a 598 DEFAULT_wxUSE_XML=yes
aa2d9ecc
VZ
599 DEFAULT_wxUSE_EXPAT=yes
600 DEFAULT_wxUSE_ZLIB=yes
601 DEFAULT_wxUSE_LIBPNG=yes
602 DEFAULT_wxUSE_LIBJPEG=yes
603 DEFAULT_wxUSE_LIBTIFF=yes
604 DEFAULT_wxUSE_LIBXPM=yes
3527f29c 605 DEFAULT_wxUSE_LIBMSPACK=yes
f93ca9fd 606 DEFAULT_wxUSE_LIBSDL=no
a65f8220 607 DEFAULT_wxUSE_LIBGNOMEPRINT=no
2b850ae1 608 DEFAULT_wxUSE_LIBGNOMEVFS=no
3565d135 609 DEFAULT_wxUSE_LIBHILDON=no
16b52fa1 610 DEFAULT_wxUSE_ODBC=no
52cb607e 611 DEFAULT_wxUSE_OPENGL=no
9a98a854 612
eb4efbdc 613 DEFAULT_wxUSE_ON_FATAL_EXCEPTION=yes
eaff0f0d 614 DEFAULT_wxUSE_STACKWALKER=yes
61639efb 615 DEFAULT_wxUSE_DEBUGREPORT=yes
4f3c5f06 616 DEFAULT_wxUSE_SNGLINST_CHECKER=yes
a03b8b04
RD
617 DEFAULT_wxUSE_STD_IOSTREAM=$DEFAULT_STD_FLAG
618 DEFAULT_wxUSE_STD_STRING=$DEFAULT_STD_FLAG
1e6feb95
VZ
619 DEFAULT_wxUSE_CMDLINE_PARSER=yes
620 DEFAULT_wxUSE_DATETIME=yes
1e6feb95
VZ
621 DEFAULT_wxUSE_TIMER=yes
622 DEFAULT_wxUSE_STOPWATCH=yes
9a98a854 623 DEFAULT_wxUSE_FILE=yes
1e6feb95 624 DEFAULT_wxUSE_FFILE=yes
07158944 625 DEFAULT_wxUSE_STDPATHS=yes
a3a584a7 626 DEFAULT_wxUSE_TEXTBUFFER=yes
9a98a854 627 DEFAULT_wxUSE_TEXTFILE=yes
002ed9af 628 DEFAULT_wxUSE_SOUND=yes
103e7595 629 DEFAULT_wxUSE_MEDIACTRL=no
557002cf 630 DEFAULT_wxUSE_GSTREAMER8=no
9a98a854
VZ
631 DEFAULT_wxUSE_INTL=yes
632 DEFAULT_wxUSE_CONFIG=yes
1e6feb95 633 DEFAULT_wxUSE_FONTMAP=yes
9a98a854
VZ
634 DEFAULT_wxUSE_STREAMS=yes
635 DEFAULT_wxUSE_SOCKETS=yes
3bce6687
JS
636 DEFAULT_wxUSE_OLE=yes
637 DEFAULT_wxUSE_DATAOBJ=yes
1c8515f9 638 DEFAULT_wxUSE_DIALUP_MANAGER=yes
9a98a854 639 DEFAULT_wxUSE_JOYSTICK=yes
6bff71f8 640 DEFAULT_wxUSE_DYNLIB_CLASS=yes
9337b578 641 DEFAULT_wxUSE_DYNAMIC_LOADER=yes
b685cd9b 642 DEFAULT_wxUSE_LONGLONG=yes
e8f65ba6 643 DEFAULT_wxUSE_GEOMETRY=yes
9a98a854
VZ
644
645 DEFAULT_wxUSE_AFM_FOR_POSTSCRIPT=yes
646 DEFAULT_wxUSE_NORMALIZED_PS_FONTS=yes
647 DEFAULT_wxUSE_POSTSCRIPT=yes
648
9a98a854
VZ
649 DEFAULT_wxUSE_CLIPBOARD=yes
650 DEFAULT_wxUSE_TOOLTIPS=yes
651 DEFAULT_wxUSE_DRAG_AND_DROP=yes
24fd6d87 652 DEFAULT_wxUSE_DRAGIMAGE=yes
9a98a854 653 DEFAULT_wxUSE_SPLINES=yes
060e10d9 654 DEFAULT_wxUSE_MOUSEWHEEL=yes
9a98a854 655
efd17a1d 656 DEFAULT_wxUSE_MDI=yes
9a98a854
VZ
657 DEFAULT_wxUSE_MDI_ARCHITECTURE=yes
658 DEFAULT_wxUSE_DOC_VIEW_ARCHITECTURE=yes
659 DEFAULT_wxUSE_PRINTING_ARCHITECTURE=yes
660
2b5f62a0 661 DEFAULT_wxUSE_RESOURCES=no
9a98a854
VZ
662 DEFAULT_wxUSE_CONSTRAINTS=yes
663 DEFAULT_wxUSE_IPC=yes
664 DEFAULT_wxUSE_HELP=yes
29fd3c0c 665 DEFAULT_wxUSE_MS_HTML_HELP=yes
3379ed37 666 DEFAULT_wxUSE_WXHTML_HELP=yes
24176f2c 667 DEFAULT_wxUSE_TREELAYOUT=yes
9a98a854 668 DEFAULT_wxUSE_METAFILE=yes
1e6feb95 669 DEFAULT_wxUSE_MIMETYPE=yes
0cbff120 670 DEFAULT_wxUSE_SYSTEM_OPTIONS=yes
4cdb0ab0
VS
671 DEFAULT_wxUSE_PROTOCOL=yes
672 DEFAULT_wxUSE_PROTOCOL_HTTP=yes
673 DEFAULT_wxUSE_PROTOCOL_FTP=yes
674 DEFAULT_wxUSE_PROTOCOL_FILE=yes
675 DEFAULT_wxUSE_URL=yes
9a98a854
VZ
676
677 DEFAULT_wxUSE_COMMONDLGS=yes
1e6feb95
VZ
678 DEFAULT_wxUSE_CHOICEDLG=yes
679 DEFAULT_wxUSE_COLOURDLG=yes
ce4169a4 680 DEFAULT_wxUSE_DIRDLG=yes
1e6feb95 681 DEFAULT_wxUSE_FILEDLG=yes
8db37e06 682 DEFAULT_wxUSE_FINDREPLDLG=yes
1e6feb95
VZ
683 DEFAULT_wxUSE_FONTDLG=yes
684 DEFAULT_wxUSE_MSGDLG=yes
685 DEFAULT_wxUSE_NUMBERDLG=yes
c11584af 686 DEFAULT_wxUSE_TEXTDLG=yes
cbca9943 687 DEFAULT_wxUSE_SPLASH=yes
a641505f 688 DEFAULT_wxUSE_STARTUP_TIPS=yes
ce4169a4 689 DEFAULT_wxUSE_PROGRESSDLG=yes
f33f19dd
VZ
690 DEFAULT_wxUSE_WIZARDDLG=yes
691
1e6feb95 692 DEFAULT_wxUSE_MENUS=yes
9a98a854 693 DEFAULT_wxUSE_MINIFRAME=yes
d4c241b9 694 DEFAULT_wxUSE_HTML=yes
5d7836c4 695 DEFAULT_wxUSE_RICHTEXT=yes
9a8f0513 696 DEFAULT_wxUSE_XRC=yes
ec9f9256 697 DEFAULT_wxUSE_WEBKIT=yes
24528b0c 698 DEFAULT_wxUSE_FILESYSTEM=yes
d4c241b9
RR
699 DEFAULT_wxUSE_FS_INET=yes
700 DEFAULT_wxUSE_FS_ZIP=yes
701 DEFAULT_wxUSE_BUSYINFO=yes
9e8e867f 702 DEFAULT_wxUSE_ARCHIVE_STREAMS=yes
d4c241b9 703 DEFAULT_wxUSE_ZIPSTREAM=yes
9a98a854
VZ
704 DEFAULT_wxUSE_VALIDATORS=yes
705
706 DEFAULT_wxUSE_ACCEL=yes
1e6feb95 707 DEFAULT_wxUSE_BUTTON=yes
9a98a854 708 DEFAULT_wxUSE_BMPBUTTON=yes
1e6feb95
VZ
709 DEFAULT_wxUSE_CALCTRL=yes
710 DEFAULT_wxUSE_CARET=yes
9a98a854
VZ
711 DEFAULT_wxUSE_CHECKBOX=yes
712 DEFAULT_wxUSE_CHECKLST=yes
ce4169a4 713 DEFAULT_wxUSE_CHOICE=yes
92bbdbcd 714 DEFAULT_wxUSE_CHOICEBOOK=yes
9a98a854 715 DEFAULT_wxUSE_COMBOBOX=yes
da98e9be 716 DEFAULT_wxUSE_DATEPICKCTRL=yes
45b7f819 717 DEFAULT_wxUSE_DISPLAY=yes
9a98a854
VZ
718 DEFAULT_wxUSE_GAUGE=yes
719 DEFAULT_wxUSE_GRID=yes
20e34ecc 720 DEFAULT_wxUSE_DATAVIEWCTRL=no
9a98a854 721 DEFAULT_wxUSE_IMAGLIST=yes
e9c0df38 722 DEFAULT_wxUSE_LISTBOOK=yes
9a98a854
VZ
723 DEFAULT_wxUSE_LISTBOX=yes
724 DEFAULT_wxUSE_LISTCTRL=yes
725 DEFAULT_wxUSE_NOTEBOOK=yes
726 DEFAULT_wxUSE_RADIOBOX=yes
727 DEFAULT_wxUSE_RADIOBTN=yes
e602002e 728 DEFAULT_wxUSE_SASH=yes
9a98a854
VZ
729 DEFAULT_wxUSE_SCROLLBAR=yes
730 DEFAULT_wxUSE_SLIDER=yes
731 DEFAULT_wxUSE_SPINBTN=yes
66f38406 732 DEFAULT_wxUSE_SPINCTRL=yes
9a98a854
VZ
733 DEFAULT_wxUSE_SPLITTER=yes
734 DEFAULT_wxUSE_STATBMP=yes
735 DEFAULT_wxUSE_STATBOX=yes
736 DEFAULT_wxUSE_STATLINE=yes
1e6feb95 737 DEFAULT_wxUSE_STATTEXT=yes
9a98a854 738 DEFAULT_wxUSE_STATUSBAR=yes
db6d3918 739 DEFAULT_wxUSE_TAB_DIALOG=no
1e6feb95 740 DEFAULT_wxUSE_TEXTCTRL=yes
1db8dc4a 741 DEFAULT_wxUSE_TOGGLEBTN=yes
9a98a854 742 DEFAULT_wxUSE_TOOLBAR=yes
360d6699
VZ
743 DEFAULT_wxUSE_TOOLBAR_NATIVE=yes
744 DEFAULT_wxUSE_TOOLBAR_SIMPLE=yes
eca15c0d 745 DEFAULT_wxUSE_TREEBOOK=yes
7dcea26b 746 DEFAULT_wxUSE_TOOLBOOK=yes
9a98a854 747 DEFAULT_wxUSE_TREECTRL=yes
9f41d601 748 DEFAULT_wxUSE_POPUPWIN=yes
0b01706f 749 DEFAULT_wxUSE_TIPWINDOW=yes
9a98a854 750
78de529b 751 DEFAULT_wxUSE_UNICODE=no
a72a4bfa 752 DEFAULT_wxUSE_UNICODE_MSLU=yes
9a98a854 753 DEFAULT_wxUSE_WCSRTOMBS=no
e90c1d2a 754
d275c7eb 755 DEFAULT_wxUSE_PALETTE=yes
0046ff7c 756 DEFAULT_wxUSE_IMAGE=yes
0940bcf7
HH
757 DEFAULT_wxUSE_GIF=yes
758 DEFAULT_wxUSE_PCX=yes
cc0e8480 759 DEFAULT_wxUSE_IFF=no
0940bcf7 760 DEFAULT_wxUSE_PNM=yes
0046ff7c 761 DEFAULT_wxUSE_XPM=yes
658974ae 762 DEFAULT_wxUSE_ICO_CUR=yes
7bb2947d 763 DEFAULT_wxUSE_ACCESSIBILITY=no
5ff751d6 764
e9e0dc15 765 DEFAULT_wxUSE_MONOLITHIC=no
f93ca9fd 766 DEFAULT_wxUSE_PLUGINS=no
029b47ad 767 DEFAULT_wxUSE_OFFICIAL_BUILD=no
9f45f08e 768
f34ca037
MW
769 dnl Appliable only when --with-gtk was used:
770 DEFAULT_wxUSE_GTK2=yes
9a98a854
VZ
771fi
772
f34ca037 773
143121c5 774dnl WX_ARG_WITH should be used to select whether an external package will be
9a98a854 775dnl used or not, to configure compile-time features of this package itself,
143121c5 776dnl use WX_ARG_ENABLE instead
9a98a854
VZ
777
778dnl ============================
779dnl external package dependecies
780dnl ============================
781
143121c5
VZ
782dnl these options use AC_ARG_WITH and not WX_ARG_WITH on purpose - we cache
783dnl these values manually
ced859c3 784for toolkit in `echo $ALL_TOOLKITS`; do
d74f4b5a
VZ
785 LINE=`grep "wxUSE_$toolkit=" ${wx_arg_cache_file}`
786 if test "x$LINE" != "x" ; then
143121c5
VZ
787 has_toolkit_in_cache=1
788 eval "DEFAULT_$LINE"
ced859c3 789 eval "CACHE_$toolkit=1"
5ff751d6 790
f34ca037
MW
791 LINE=`grep "wx${toolkit}_VERSION=" ${wx_arg_cache_file}`
792 if test "x$LINE" != "x" ; then
793 eval "DEFAULT_$LINE"
794 fi
143121c5
VZ
795 fi
796done
797
e90c1d2a 798dnl ---------------------------------------------------------------------------
77ffb593 799dnl --disable-gui will build only non-GUI part of wxWidgets: check for this
e90c1d2a
VZ
800dnl first to disable many other switches if it's given
801dnl
802dnl NB: this is still in testing stage, don't use if you don't know what you're
803dnl doing
804dnl ---------------------------------------------------------------------------
805
806WX_ARG_ENABLE(gui, [ --enable-gui use GUI classes], wxUSE_GUI)
77ffb593
JS
807WX_ARG_ENABLE(monolithic, [ --enable-monolithic build wxWidgets as single library], wxUSE_MONOLITHIC)
808WX_ARG_ENABLE(plugins, [ --enable-plugins build parts of wxWidgets as loadable components], wxUSE_PLUGINS)
1c14217d 809WX_ARG_WITH(subdirs, [ --without-subdirs don't generate makefiles for samples/demos/...], wxWITH_SUBDIRS, without)
e90c1d2a 810
b12915c1 811if test "$wxUSE_GUI" = "yes"; then
e90c1d2a 812
77ffb593 813WX_ARG_ENABLE(universal, [ --enable-universal use wxWidgets GUI controls instead of native ones], wxUSE_UNIVERSAL)
f34ca037 814AC_ARG_WITH(gtk, [[ --with-gtk[=VERSION] use GTK+, VERSION can be 2 (default), 1 or "any"]], [wxUSE_GTK="$withval" CACHE_GTK=1 TOOLKIT_GIVEN=1])
ced859c3 815AC_ARG_WITH(motif, [ --with-motif use Motif/Lesstif], [wxUSE_MOTIF="$withval" CACHE_MOTIF=1 TOOLKIT_GIVEN=1])
c228d3a4
RN
816AC_ARG_WITH(mac, [ --with-mac use Mac OS X], [wxUSE_MAC="$withval" CACHE_MAC=1 TOOLKIT_GIVEN=1])
817AC_ARG_WITH(cocoa, [ --with-cocoa use Cocoa], [wxUSE_COCOA="$withval" CACHE_COCOA=1 TOOLKIT_GIVEN=1])
d1188635 818AC_ARG_WITH(wine, [ --with-wine use Wine], [wxUSE_WINE="$withval" CACHE_WINE=1])
b4efce5e 819AC_ARG_WITH(msw, [ --with-msw use MS-Windows], [wxUSE_MSW="$withval" CACHE_MSW=1 TOOLKIT_GIVEN=1])
e07802fc 820AC_ARG_WITH(pm, [ --with-pm use OS/2 Presentation Manager], [wxUSE_PM="$withval" CACHE_PM=1 TOOLKIT_GIVEN=1])
6c657b52 821AC_ARG_WITH(mgl, [ --with-mgl use SciTech MGL], [wxUSE_MGL="$withval" wxUSE_UNIVERSAL="yes" CACHE_MGL=1 TOOLKIT_GIVEN=1])
1725144d 822AC_ARG_WITH(microwin, [ --with-microwin use MicroWindows], [wxUSE_MICROWIN="$withval" CACHE_MICROWIN=1 TOOLKIT_GIVEN=1])
3c011993 823AC_ARG_WITH(x11, [ --with-x11 use X11], [wxUSE_X11="$withval" wxUSE_UNIVERSAL="yes" CACHE_X11=1 TOOLKIT_GIVEN=1])
ba875e66 824WX_ARG_ENABLE(nanox, [ --enable-nanox use NanoX], wxUSE_NANOX)
143121c5 825
f34ca037 826AC_ARG_ENABLE(gtk2, [ --disable-gtk2 use GTK+ 1.2 instead of 2.0], [wxUSE_GTK2="$enableval"])
16bd311d 827WX_ARG_ENABLE(gpe, [ --enable-gpe use GNOME PDA Environment features if possible], wxUSE_GPE)
a9b5e89f 828
422107f9
VZ
829WX_ARG_SYS_WITH(libpng, [ --with-libpng use libpng (PNG image format)], wxUSE_LIBPNG)
830WX_ARG_SYS_WITH(libjpeg, [ --with-libjpeg use libjpeg (JPEG file format)], wxUSE_LIBJPEG)
0dcf9893 831WX_ARG_SYS_WITH(libtiff, [ --with-libtiff use libtiff (TIFF file format)], wxUSE_LIBTIFF)
c8818622 832WX_ARG_SYS_WITH(libxpm, [ --with-libxpm use libxpm (XPM file format)], wxUSE_LIBXPM)
3527f29c 833WX_ARG_WITH(libmspack, [ --with-libmspack use libmspack (CHM help files loading)], wxUSE_LIBMSPACK)
f93ca9fd 834WX_ARG_WITH(sdl, [ --with-sdl use SDL for audio on Unix], wxUSE_LIBSDL)
2b850ae1
RR
835WX_ARG_WITH(gnomeprint, [ --with-gnomeprint use GNOME print for printing under GNOME], wxUSE_LIBGNOMEPRINT)
836WX_ARG_WITH(gnomevfs, [ --with-gnomevfs use GNOME VFS for associating MIME types], wxUSE_LIBGNOMEVFS)
3565d135 837WX_ARG_WITH(hildon, [ --with-hildon use Hildon framework for Nokia 770], wxUSE_LIBHILDON)
143121c5 838WX_ARG_WITH(opengl, [ --with-opengl use OpenGL (or Mesa)], wxUSE_OPENGL)
b12915c1
VZ
839
840fi
841dnl for GUI only
842
d0e9b150 843WX_ARG_WITH(dmalloc, [ --with-dmalloc use dmalloc library (http://dmalloc.com/)], wxUSE_DMALLOC)
3e44f09d 844WX_ARG_SYS_WITH(regex, [ --with-regex enable support for wxRegEx class], wxUSE_REGEX)
422107f9 845WX_ARG_SYS_WITH(zlib, [ --with-zlib use zlib for LZW compression], wxUSE_ZLIB)
8647bec6 846WX_ARG_SYS_WITH(odbc, [ --with-odbc use the IODBC and wxODBC classes], wxUSE_ODBC)
672abd7a 847WX_ARG_SYS_WITH(expat, [ --with-expat enable XML support using expat parser], wxUSE_EXPAT)
9a98a854 848
9a98a854
VZ
849dnl ---------------------------------------------------------------------------
850dnl compile options
851dnl ---------------------------------------------------------------------------
852
2aa88730 853WX_ARG_ENABLE(shared, [ --enable-shared create shared library code], wxUSE_SHARED)
143121c5 854WX_ARG_ENABLE(optimise, [ --enable-optimise create optimised code], wxUSE_OPTIMISE)
143121c5 855WX_ARG_ENABLE(debug, [ --enable-debug same as debug_flag and debug_info], wxUSE_DEBUG)
df5168c4 856WX_ARG_ENABLE(stl, [ --enable-stl use STL for containers], wxUSE_STL)
3cceb09b 857if test "$USE_OS2" = "1"; then
f47af52b 858 DEFAULT_wxUSE_OMF=no
3cceb09b
SN
859 WX_ARG_ENABLE(omf, [ --enable-omf use OMF object format], wxUSE_OMF)
860fi
70d1b3cf
VZ
861
862if test "$wxUSE_DEBUG" = "yes"; then
863 DEFAULT_wxUSE_DEBUG_FLAG=yes
864 DEFAULT_wxUSE_DEBUG_INFO=yes
6c67131a 865 BUILD=debug
70d1b3cf
VZ
866elif test "$wxUSE_DEBUG" = "no"; then
867 DEFAULT_wxUSE_DEBUG_FLAG=no
868 DEFAULT_wxUSE_DEBUG_INFO=no
6c67131a 869 BUILD=release
70d1b3cf
VZ
870fi
871
f7bdcdd7
RR
872WX_ARG_ENABLE(debug_flag, [ --enable-debug_flag set __WXDEBUG__ flag (recommended for developers!)], wxUSE_DEBUG_FLAG)
873WX_ARG_ENABLE(debug_info, [ --enable-debug_info create code with debugging information], wxUSE_DEBUG_INFO)
874WX_ARG_ENABLE(debug_gdb, [ --enable-debug_gdb create code with extra GDB debugging information], wxUSE_DEBUG_GDB)
875WX_ARG_ENABLE(debug_cntxt, [ --enable-debug_cntxt use wxDebugContext], wxUSE_DEBUG_CONTEXT)
876WX_ARG_ENABLE(mem_tracing, [ --enable-mem_tracing create code with memory tracing], wxUSE_MEM_TRACING)
877WX_ARG_ENABLE(profile, [ --enable-profile create code with profiling information], wxUSE_PROFILE)
878WX_ARG_ENABLE(no_rtti, [ --enable-no_rtti create code without RTTI information], wxUSE_NO_RTTI)
b3e8d00a 879WX_ARG_ENABLE(no_exceptions, [ --enable-no_exceptions create code without C++ exceptions handling], wxUSE_NO_EXCEPTIONS)
5586805b
RR
880WX_ARG_ENABLE(permissive, [ --enable-permissive compile code disregarding strict ANSI], wxUSE_PERMISSIVE)
881WX_ARG_ENABLE(no_deps, [ --enable-no_deps create code without dependency information], wxUSE_NO_DEPS)
7afc46ab 882WX_ARG_ENABLE(universal_binary, [ --enable-universal_binary create Mac PowerPC and Intel Universal binary (not yet working)], wxUSE_UNIVERSAL_BINARY)
9a98a854 883
dee1a63f
MB
884WX_ARG_ENABLE(compat24, [ --enable-compat24 enable wxWidgets 2.4 compatibility], WXWIN_COMPATIBILITY_2_4, enable)
885WX_ARG_ENABLE(compat26, [ --disable-compat26 disable wxWidgets 2.6 compatibility], WXWIN_COMPATIBILITY_2_6, disable)
54276ccf 886
ffa0583f 887WX_ARG_ENABLE(rpath, [ --disable-rpath disable use of rpath for uninstalled builds], wxUSE_RPATH)
3bd8fb5f
RD
888
889
9a98a854
VZ
890dnl ---------------------------------------------------------------------------
891dnl (small) optional non GUI classes
892dnl ---------------------------------------------------------------------------
893
fd15d8f1
RR
894WX_ARG_ENABLE(intl, [ --enable-intl use internationalization system], wxUSE_INTL)
895WX_ARG_ENABLE(config, [ --enable-config use wxConfig (and derived) classes], wxUSE_CONFIG)
b12915c1 896
a5d46b73
VZ
897WX_ARG_ENABLE(protocols, [ --enable-protocols use wxProtocol and derived classes], wxUSE_PROTOCOL)
898WX_ARG_ENABLE(ftp, [ --enable-ftp use wxFTP (requires wxProtocol], wxUSE_PROTOCOL_FTP)
899WX_ARG_ENABLE(http, [ --enable-http use wxHTTP (requires wxProtocol], wxUSE_PROTOCOL_HTTP)
900WX_ARG_ENABLE(fileproto, [ --enable-fileproto use wxFileProto class (requires wxProtocol], wxUSE_PROTOCOL_FILE)
fd15d8f1 901WX_ARG_ENABLE(sockets, [ --enable-sockets use socket/network classes], wxUSE_SOCKETS)
4199367e 902WX_ARG_ENABLE(ole, [ --enable-ole use OLE classes (Win32 only)], wxUSE_OLE)
3bce6687 903WX_ARG_ENABLE(dataobj, [ --enable-dataobj use data object classes], wxUSE_DATAOBJ)
b12915c1 904
fd15d8f1 905WX_ARG_ENABLE(ipc, [ --enable-ipc use interprocess communication (wxSocket etc.)], wxUSE_IPC)
eb4efbdc 906
4199367e
VZ
907dnl please keep the settings below in alphabetical order
908WX_ARG_ENABLE(apple_ieee, [ --enable-apple_ieee use the Apple IEEE codec], wxUSE_APPLE_IEEE)
9e8e867f 909WX_ARG_ENABLE(arcstream, [ --enable-arcstream use wxArchive streams], wxUSE_ARCHIVE_STREAMS)
eaff0f0d 910WX_ARG_ENABLE(backtrace, [ --enable-backtrace use wxStackWalker class for getting backtraces], wxUSE_STACKWALKER)
36b6448c 911WX_ARG_ENABLE(catch_segvs, [ --enable-catch_segvs catch signals in wxApp::OnFatalException (Unix only)], wxUSE_ON_FATAL_EXCEPTION)
1e6feb95
VZ
912WX_ARG_ENABLE(cmdline, [ --enable-cmdline use wxCmdLineParser class], wxUSE_CMDLINE_PARSER)
913WX_ARG_ENABLE(datetime, [ --enable-datetime use wxDateTime class], wxUSE_DATETIME)
36b6448c 914WX_ARG_ENABLE(debugreport, [ --enable-debugreport use wxDebugReport class], wxUSE_DEBUGREPORT)
eb4efbdc 915WX_ARG_ENABLE(dialupman, [ --enable-dialupman use dialup network classes], wxUSE_DIALUP_MANAGER)
fd15d8f1 916WX_ARG_ENABLE(dynlib, [ --enable-dynlib use wxLibrary class for DLL loading], wxUSE_DYNLIB_CLASS)
0b9ab0bd 917WX_ARG_ENABLE(dynamicloader, [ --enable-dynamicloader use (new) wxDynamicLibrary class], wxUSE_DYNAMIC_LOADER)
4199367e
VZ
918WX_ARG_ENABLE(exceptions, [ --enable-exceptions build exception-safe library], wxUSE_EXCEPTIONS)
919WX_ARG_ENABLE(ffile, [ --enable-ffile use wxFFile class], wxUSE_FFILE)
920WX_ARG_ENABLE(file, [ --enable-file use wxFile class], wxUSE_FILE)
921WX_ARG_ENABLE(filesystem, [ --enable-filesystem use virtual file systems classes], wxUSE_FILESYSTEM)
922WX_ARG_ENABLE(fontmap, [ --enable-fontmap use font encodings conversion classes], wxUSE_FONTMAP)
923WX_ARG_ENABLE(fs_inet, [ --enable-fs_inet use virtual HTTP/FTP filesystems], wxUSE_FS_INET)
924WX_ARG_ENABLE(fs_zip, [ --enable-fs_zip use virtual ZIP filesystems], wxUSE_FS_ZIP)
e8f65ba6 925WX_ARG_ENABLE(geometry, [ --enable-geometry use geometry class], wxUSE_GEOMETRY)
fd15d8f1 926WX_ARG_ENABLE(log, [ --enable-log use logging system], wxUSE_LOG)
4199367e
VZ
927WX_ARG_ENABLE(longlong, [ --enable-longlong use wxLongLong class], wxUSE_LONGLONG)
928WX_ARG_ENABLE(mimetype, [ --enable-mimetype use wxMimeTypesManager], wxUSE_MIMETYPE)
929WX_ARG_ENABLE(mslu, [ --enable-mslu use MS Layer for Unicode on Windows 9x (Win32 only)], wxUSE_UNICODE_MSLU)
930WX_ARG_ENABLE(snglinst, [ --enable-snglinst use wxSingleInstanceChecker class], wxUSE_SNGLINST_CHECKER)
4199367e 931WX_ARG_ENABLE(std_iostreams, [ --enable-std_iostreams use standard C++ stream classes], wxUSE_STD_IOSTREAM)
668d55c9 932WX_ARG_ENABLE(std_string, [ --enable-std_string use standard C++ string classes], wxUSE_STD_STRING)
07158944 933WX_ARG_ENABLE(stdpaths, [ --enable-stdpaths use wxStandardPaths class], wxUSE_STDPATHS)
4199367e 934WX_ARG_ENABLE(stopwatch, [ --enable-stopwatch use wxStopWatch class], wxUSE_STOPWATCH)
07158944 935WX_ARG_ENABLE(streams, [ --enable-streams use wxStream etc classes], wxUSE_STREAMS)
4199367e 936WX_ARG_ENABLE(system_options,[ --enable-sysoptions use wxSystemOptions], wxUSE_SYSTEM_OPTIONS)
a3a584a7
VZ
937WX_ARG_ENABLE(textbuf, [ --enable-textbuf use wxTextBuffer class], wxUSE_TEXTBUFFER)
938WX_ARG_ENABLE(textfile, [ --enable-textfile use wxTextFile class], wxUSE_TEXTFILE)
4199367e 939WX_ARG_ENABLE(timer, [ --enable-timer use wxTimer class], wxUSE_TIMER)
fd15d8f1 940WX_ARG_ENABLE(unicode, [ --enable-unicode compile wxString with Unicode support], wxUSE_UNICODE)
002ed9af 941WX_ARG_ENABLE(sound, [ --enable-sound use wxSound class], wxUSE_SOUND)
103e7595 942WX_ARG_ENABLE(mediactrl, [ --enable-mediactrl use wxMediaCtrl class], wxUSE_MEDIACTRL)
557002cf 943WX_ARG_ENABLE(gstreamer8, [ --enable-gstreamer8 force GStreamer 0.8 instead of 0.10 with the wxMediaCtrl class on unix], wxUSE_GSTREAMER8)
77ffb593 944WX_ARG_ENABLE(wxprintfv, [ --enable-wxprintfv use wxWidgets implementation of vprintf()], wxUSE_EXPERIMENTAL_PRINTF)
81f90336 945WX_ARG_ENABLE(zipstream, [ --enable-zipstream use wxZip streams], wxUSE_ZIPSTREAM)
9a98a854 946
4cdb0ab0
VS
947WX_ARG_ENABLE(url, [ --enable-url use wxURL class], wxUSE_URL)
948WX_ARG_ENABLE(protocol, [ --enable-protocol use wxProtocol class], wxUSE_PROTOCOL)
949WX_ARG_ENABLE(protocol_http, [ --enable-protocol-http HTTP support in wxProtocol], wxUSE_PROTOCOL_HTTP)
950WX_ARG_ENABLE(protocol_ftp, [ --enable-protocol-ftp FTP support in wxProtocol], wxUSE_PROTOCOL_FTP)
951WX_ARG_ENABLE(protocol_file, [ --enable-protocol-file FILE support in wxProtocol], wxUSE_PROTOCOL_FILE)
952
953
9a98a854
VZ
954dnl ---------------------------------------------------------------------------
955dnl "big" options (i.e. those which change a lot of things throughout the library)
956dnl ---------------------------------------------------------------------------
957
143121c5 958WX_ARG_ENABLE(threads, [ --enable-threads use threads], wxUSE_THREADS)
9a98a854 959
b12915c1
VZ
960if test "$wxUSE_GUI" = "yes"; then
961
9a98a854
VZ
962dnl ---------------------------------------------------------------------------
963dnl "big" GUI options
964dnl ---------------------------------------------------------------------------
965
143121c5 966WX_ARG_ENABLE(docview, [ --enable-docview use document view architecture], wxUSE_DOC_VIEW_ARCHITECTURE)
3379ed37 967WX_ARG_ENABLE(help, [ --enable-help use help subsystem], wxUSE_HELP)
29fd3c0c 968WX_ARG_ENABLE(mshtmlhelp, [ --enable-mshtmlhelp use MS HTML Help (win32)], wxUSE_MS_HTML_HELP)
3379ed37
VZ
969WX_ARG_ENABLE(html, [ --enable-html use wxHTML sub-library], wxUSE_HTML)
970WX_ARG_ENABLE(htmlhelp, [ --enable-htmlhelp use wxHTML-based help], wxUSE_WXHTML_HELP)
9a8f0513 971WX_ARG_ENABLE(xrc, [ --enable-xrc use XRC resources sub-library], wxUSE_XRC)
143121c5
VZ
972WX_ARG_ENABLE(constraints, [ --enable-constraints use layout-constraints system], wxUSE_CONSTRAINTS)
973WX_ARG_ENABLE(printarch, [ --enable-printarch use printing architecture], wxUSE_PRINTING_ARCHITECTURE)
efd17a1d
VZ
974WX_ARG_ENABLE(mdi, [ --enable-mdi use multiple document interface architecture], wxUSE_MDI)
975WX_ARG_ENABLE(mdidoc, [ --enable-mdidoc use docview architecture with MDI], wxUSE_MDI_ARCHITECTURE)
1e6feb95
VZ
976WX_ARG_ENABLE(loggui, [ --enable-loggui use standard GUI logger], wxUSE_LOGGUI)
977WX_ARG_ENABLE(logwin, [ --enable-logwin use wxLogWindow], wxUSE_LOGWINDOW)
69d27ff7 978WX_ARG_ENABLE(logdialog, [ --enable-logdialog use wxLogDialog], wxUSE_LOGDIALOG)
ec9f9256 979WX_ARG_ENABLE(webkit, [ --enable-webkit use wxWebKitCtrl (Mac)], wxUSE_WEBKIT)
5d7836c4 980WX_ARG_ENABLE(html, [ --enable-richtext use wxRichTextCtrl], wxUSE_RICHTEXT)
9a98a854
VZ
981
982dnl ---------------------------------------------------------------------------
983dnl PostScript options
984dnl ---------------------------------------------------------------------------
143121c5 985WX_ARG_ENABLE(postscript, [ --enable-postscript use wxPostscriptDC device context (default for gtk+)], wxUSE_POSTSCRIPT)
9a98a854
VZ
986
987dnl VZ: these options seem to be always on, if someone wants to change it please do
143121c5
VZ
988dnl WX_ARG_ENABLE(PS-normalized, [ --enable-PS-normalized use normalized PS fonts], dnl wxUSE_NORMALIZED_PS_FONTS)
989dnl WX_ARG_ENABLE(afmfonts, [ --enable-afmfonts use Adobe Font Metric Font table], dnl wxUSE_AFM_FOR_POSTSCRIPT)
9a98a854
VZ
990
991dnl ---------------------------------------------------------------------------
992dnl resources
993dnl ---------------------------------------------------------------------------
1e6feb95 994
1b86c3ac
VZ
995WX_ARG_ENABLE(prologio, [ --enable-prologio not available; see contrib], wxUSE_PROLOGIO)
996WX_ARG_ENABLE(resources, [ --enable-resources not available; see contrib], wxUSE_RESOURCES)
143121c5 997
9a98a854
VZ
998dnl ---------------------------------------------------------------------------
999dnl IPC &c
1000dnl ---------------------------------------------------------------------------
9a98a854 1001
ddb4769e 1002WX_ARG_ENABLE(clipboard, [ --enable-clipboard use wxClipboard class], wxUSE_CLIPBOARD)
143121c5 1003WX_ARG_ENABLE(dnd, [ --enable-dnd use Drag'n'Drop classes], wxUSE_DRAG_AND_DROP)
b64f0a5f 1004WX_ARG_ENABLE(metafile, [ --enable-metafile use win32 metafiles], wxUSE_METAFILE)
143121c5 1005
2fc9385a 1006dnl WX_ARG_ENABLE(treelayout, [ --enable-treelayout use wxTreeLayout class], wxUSE_TREELAYOUT)
9a98a854
VZ
1007
1008dnl ---------------------------------------------------------------------------
1009dnl optional GUI controls (in alphabetical order except the first one)
1010dnl ---------------------------------------------------------------------------
1011
143121c5 1012WX_ARG_ENABLE(controls, [ --enable-controls use all usual controls], wxUSE_CONTROLS)
9a98a854
VZ
1013
1014dnl even with --enable-controls, some may be disabled by giving
1015dnl --disable-<control> later on the command line - but by default all will be
1016dnl used (and vice versa)
1017if test "$wxUSE_CONTROLS" = "yes"; then
1018 DEFAULT_wxUSE_ACCEL=yes
1e6feb95
VZ
1019 DEFAULT_wxUSE_BMPBUTTON=yes
1020 DEFAULT_wxUSE_BUTTON=yes
da98e9be 1021 DEFAULT_wxUSE_CALCTRL=yes
9a98a854
VZ
1022 DEFAULT_wxUSE_CARET=yes
1023 DEFAULT_wxUSE_COMBOBOX=yes
9a98a854
VZ
1024 DEFAULT_wxUSE_CHECKBOX=yes
1025 DEFAULT_wxUSE_CHECKLISTBOX=yes
ce4169a4 1026 DEFAULT_wxUSE_CHOICE=yes
92bbdbcd 1027 DEFAULT_wxUSE_CHOICEBOOK=yes
da98e9be 1028 DEFAULT_wxUSE_DATEPICKCTRL=yes
9a98a854
VZ
1029 DEFAULT_wxUSE_GAUGE=yes
1030 DEFAULT_wxUSE_GRID=yes
20e34ecc 1031 DEFAULT_wxUSE_DATAVIEWCTRL=no
9a98a854 1032 DEFAULT_wxUSE_IMAGLIST=yes
e9c0df38 1033 DEFAULT_wxUSE_LISTBOOK=yes
9a98a854
VZ
1034 DEFAULT_wxUSE_LISTBOX=yes
1035 DEFAULT_wxUSE_LISTCTRL=yes
1036 DEFAULT_wxUSE_NOTEBOOK=yes
1037 DEFAULT_wxUSE_RADIOBOX=yes
1038 DEFAULT_wxUSE_RADIOBTN=yes
1039 DEFAULT_wxUSE_SASH=yes
1040 DEFAULT_wxUSE_SCROLLBAR=yes
1041 DEFAULT_wxUSE_SLIDER=yes
1042 DEFAULT_wxUSE_SPINBTN=yes
66f38406 1043 DEFAULT_wxUSE_SPINCTRL=yes
9a98a854
VZ
1044 DEFAULT_wxUSE_SPLITTER=yes
1045 DEFAULT_wxUSE_STATBMP=yes
1046 DEFAULT_wxUSE_STATBOX=yes
1047 DEFAULT_wxUSE_STATLINE=yes
1048 DEFAULT_wxUSE_STATUSBAR=yes
1049 DEFAULT_wxUSE_TAB_DIALOG=yes
1db8dc4a 1050 DEFAULT_wxUSE_TOGGLEBTN=yes
9a98a854 1051 DEFAULT_wxUSE_TOOLBAR=yes
360d6699
VZ
1052 DEFAULT_wxUSE_TOOLBAR_NATIVE=yes
1053 DEFAULT_wxUSE_TOOLBAR_SIMPLE=yes
9a98a854 1054 DEFAULT_wxUSE_TOOLTIPS=yes
eca15c0d 1055 DEFAULT_wxUSE_TREEBOOK=yes
7dcea26b 1056 DEFAULT_wxUSE_TOOLBOOK=yes
9a98a854 1057 DEFAULT_wxUSE_TREECTRL=yes
9f41d601 1058 DEFAULT_wxUSE_POPUPWIN=yes
0b01706f 1059 DEFAULT_wxUSE_TIPWINDOW=yes
9a98a854
VZ
1060elif test "$wxUSE_CONTROLS" = "no"; then
1061 DEFAULT_wxUSE_ACCEL=no
1e6feb95
VZ
1062 DEFAULT_wxUSE_BMPBUTTON=no
1063 DEFAULT_wxUSE_BUTTON=no
1064 DEFAULT_wxUSE_CALCTRL=no
9a98a854
VZ
1065 DEFAULT_wxUSE_CARET=no
1066 DEFAULT_wxUSE_COMBOBOX=no
9a98a854
VZ
1067 DEFAULT_wxUSE_CHECKBOX=no
1068 DEFAULT_wxUSE_CHECKLISTBOX=no
ce4169a4 1069 DEFAULT_wxUSE_CHOICE=no
92bbdbcd 1070 DEFAULT_wxUSE_CHOICEBOOK=no
da98e9be 1071 DEFAULT_wxUSE_DATEPICKCTRL=no
9a98a854
VZ
1072 DEFAULT_wxUSE_GAUGE=no
1073 DEFAULT_wxUSE_GRID=no
20e34ecc 1074 DEFAULT_wxUSE_DATAVIEWCTRL=no
9a98a854 1075 DEFAULT_wxUSE_IMAGLIST=no
e9c0df38 1076 DEFAULT_wxUSE_LISTBOOK=no
9a98a854
VZ
1077 DEFAULT_wxUSE_LISTBOX=no
1078 DEFAULT_wxUSE_LISTCTRL=no
1079 DEFAULT_wxUSE_NOTEBOOK=no
1080 DEFAULT_wxUSE_RADIOBOX=no
1081 DEFAULT_wxUSE_RADIOBTN=no
1082 DEFAULT_wxUSE_SASH=no
1083 DEFAULT_wxUSE_SCROLLBAR=no
1084 DEFAULT_wxUSE_SLIDER=no
1085 DEFAULT_wxUSE_SPINBTN=no
66f38406 1086 DEFAULT_wxUSE_SPINCTRL=no
9a98a854
VZ
1087 DEFAULT_wxUSE_SPLITTER=no
1088 DEFAULT_wxUSE_STATBMP=no
1089 DEFAULT_wxUSE_STATBOX=no
1090 DEFAULT_wxUSE_STATLINE=no
1091 DEFAULT_wxUSE_STATUSBAR=no
1092 DEFAULT_wxUSE_TAB_DIALOG=no
1db8dc4a 1093 DEFAULT_wxUSE_TOGGLEBTN=no
9a98a854 1094 DEFAULT_wxUSE_TOOLBAR=no
360d6699
VZ
1095 DEFAULT_wxUSE_TOOLBAR_NATIVE=no
1096 DEFAULT_wxUSE_TOOLBAR_SIMPLE=no
9a98a854 1097 DEFAULT_wxUSE_TOOLTIPS=no
eca15c0d 1098 DEFAULT_wxUSE_TREEBOOK=no
7dcea26b 1099 DEFAULT_wxUSE_TOOLBOOK=no
9a98a854 1100 DEFAULT_wxUSE_TREECTRL=no
9f41d601 1101 DEFAULT_wxUSE_POPUPWIN=no
0b01706f 1102 DEFAULT_wxUSE_TIPWINDOW=no
9a98a854
VZ
1103fi
1104
143121c5 1105WX_ARG_ENABLE(accel, [ --enable-accel use accelerators], wxUSE_ACCEL)
1e6feb95 1106WX_ARG_ENABLE(button, [ --enable-button use wxButton class], wxUSE_BUTTON)
143121c5 1107WX_ARG_ENABLE(bmpbutton, [ --enable-bmpbutton use wxBitmapButton class], wxUSE_BMPBUTTON)
1e6feb95
VZ
1108WX_ARG_ENABLE(calendar, [ --enable-calendar use wxCalendarCtrl class], wxUSE_CALCTRL)
1109WX_ARG_ENABLE(caret, [ --enable-caret use wxCaret class], wxUSE_CARET)
143121c5
VZ
1110WX_ARG_ENABLE(checkbox, [ --enable-checkbox use wxCheckBox class], wxUSE_CHECKBOX)
1111WX_ARG_ENABLE(checklst, [ --enable-checklst use wxCheckListBox (listbox with checkboxes) class], wxUSE_CHECKLST)
ce4169a4 1112WX_ARG_ENABLE(choice, [ --enable-choice use wxChoice class], wxUSE_CHOICE)
92bbdbcd 1113WX_ARG_ENABLE(choicebook, [ --enable-choicebook use wxChoicebook class], wxUSE_CHOICEBOOK)
ddb4769e 1114WX_ARG_ENABLE(combobox, [ --enable-combobox use wxComboBox class], wxUSE_COMBOBOX)
da98e9be 1115WX_ARG_ENABLE(datepick, [ --enable-datepick use wxDatePickerCtrl class], wxUSE_DATEPICKCTRL)
ddb4769e 1116WX_ARG_ENABLE(display, [ --enable-display use wxDisplay class], wxUSE_DISPLAY)
143121c5
VZ
1117WX_ARG_ENABLE(gauge, [ --enable-gauge use wxGauge class], wxUSE_GAUGE)
1118WX_ARG_ENABLE(grid, [ --enable-grid use wxGrid class], wxUSE_GRID)
20e34ecc 1119WX_ARG_ENABLE(dataviewctrl,[ --enable-dataviewctrl, use wxDataViewCtrl class], wxUSE_DATAVIEWCTRL)
143121c5 1120WX_ARG_ENABLE(imaglist, [ --enable-imaglist use wxImageList class], wxUSE_IMAGLIST)
e9c0df38 1121WX_ARG_ENABLE(listbook, [ --enable-listbook use wxListbook class], wxUSE_LISTBOOK)
143121c5
VZ
1122WX_ARG_ENABLE(listbox, [ --enable-listbox use wxListBox class], wxUSE_LISTBOX)
1123WX_ARG_ENABLE(listctrl, [ --enable-listctrl use wxListCtrl class], wxUSE_LISTCTRL)
1124WX_ARG_ENABLE(notebook, [ --enable-notebook use wxNotebook class], wxUSE_NOTEBOOK)
1125WX_ARG_ENABLE(radiobox, [ --enable-radiobox use wxRadioBox class], wxUSE_RADIOBOX)
1126WX_ARG_ENABLE(radiobtn, [ --enable-radiobtn use wxRadioButton class], wxUSE_RADIOBTN)
1127WX_ARG_ENABLE(sash, [ --enable-sash use wxSashWindow class], wxUSE_SASH)
1128WX_ARG_ENABLE(scrollbar, [ --enable-scrollbar use wxScrollBar class and scrollable windows], wxUSE_SCROLLBAR)
1129WX_ARG_ENABLE(slider, [ --enable-slider use wxSlider class], wxUSE_SLIDER)
1130WX_ARG_ENABLE(spinbtn, [ --enable-spinbtn use wxSpinButton class], wxUSE_SPINBTN)
66f38406 1131WX_ARG_ENABLE(spinctrl, [ --enable-spinctrl use wxSpinCtrl class], wxUSE_SPINCTRL)
143121c5
VZ
1132WX_ARG_ENABLE(splitter, [ --enable-splitter use wxSplitterWindow class], wxUSE_SPLITTER)
1133WX_ARG_ENABLE(statbmp, [ --enable-statbmp use wxStaticBitmap class], wxUSE_STATBMP)
1134WX_ARG_ENABLE(statbox, [ --enable-statbox use wxStaticBox class], wxUSE_STATBOX)
1135WX_ARG_ENABLE(statline, [ --enable-statline use wxStaticLine class], wxUSE_STATLINE)
1e6feb95 1136WX_ARG_ENABLE(stattext, [ --enable-stattext use wxStaticText class], wxUSE_STATTEXT)
143121c5 1137WX_ARG_ENABLE(statusbar, [ --enable-statusbar use wxStatusBar class], wxUSE_STATUSBAR)
db6d3918 1138WX_ARG_ENABLE(tabdialog, [ --enable-tabdialog use wxTabControl class], wxUSE_TAB_DIALOG)
1e6feb95 1139WX_ARG_ENABLE(textctrl, [ --enable-textctrl use wxTextCtrl class], wxUSE_TEXTCTRL)
1db8dc4a 1140WX_ARG_ENABLE(togglebtn, [ --enable-togglebtn use wxToggleButton class], wxUSE_TOGGLEBTN)
143121c5 1141WX_ARG_ENABLE(toolbar, [ --enable-toolbar use wxToolBar class], wxUSE_TOOLBAR)
360d6699
VZ
1142WX_ARG_ENABLE(tbarnative, [ --enable-tbarnative use native wxToolBar class], wxUSE_TOOLBAR_NATIVE)
1143WX_ARG_ENABLE(tbarsmpl, [ --enable-tbarsmpl use wxToolBarSimple class], wxUSE_TOOLBAR_SIMPLE)
eca15c0d 1144WX_ARG_ENABLE(treebook, [ --enable-treebook use wxTreebook class], wxUSE_TREEBOOK)
7dcea26b 1145WX_ARG_ENABLE(toolbook, [ --enable-toolbook use wxToolbook class], wxUSE_TOOLBOOK)
143121c5 1146WX_ARG_ENABLE(treectrl, [ --enable-treectrl use wxTreeCtrl class], wxUSE_TREECTRL)
0b01706f 1147WX_ARG_ENABLE(tipwindow, [ --enable-tipwindow use wxTipWindow class], wxUSE_TIPWINDOW)
9f41d601 1148WX_ARG_ENABLE(popupwin, [ --enable-popupwin use wxPopUpWindow class], wxUSE_POPUPWIN)
9a98a854
VZ
1149
1150dnl ---------------------------------------------------------------------------
b1f5d087 1151dnl common dialogs
9a98a854
VZ
1152dnl ---------------------------------------------------------------------------
1153
b3e8d00a 1154WX_ARG_ENABLE(commondlg, [ --enable-commondlg use all common dialogs], wxUSE_COMMONDLGS)
1e6feb95
VZ
1155WX_ARG_ENABLE(choicedlg, [ --enable-choicedlg use wxChoiceDialog], wxUSE_CHOICEDLG)
1156WX_ARG_ENABLE(coldlg, [ --enable-coldlg use wxColourDialog], wxUSE_COLOURDLG)
1157WX_ARG_ENABLE(filedlg, [ --enable-filedlg use wxFileDialog], wxUSE_FILEDLG)
69d27ff7 1158WX_ARG_ENABLE(finddlg, [ --enable-finddlg use wxFindReplaceDialog], wxUSE_FINDREPLDLG)
1e6feb95 1159WX_ARG_ENABLE(fontdlg, [ --enable-fontdlg use wxFontDialog], wxUSE_FONTDLG)
ce4169a4 1160WX_ARG_ENABLE(dirdlg, [ --enable-dirdlg use wxDirDialog], wxUSE_DIRDLG)
1e6feb95
VZ
1161WX_ARG_ENABLE(msgdlg, [ --enable-msgdlg use wxMessageDialog], wxUSE_MSGDLG)
1162WX_ARG_ENABLE(numberdlg, [ --enable-numberdlg use wxNumberEntryDialog], wxUSE_NUMBERDLG)
cbca9943 1163WX_ARG_ENABLE(splash, [ --enable-splash use wxSplashScreen], wxUSE_SPLASH)
c11584af 1164WX_ARG_ENABLE(textdlg, [ --enable-textdlg use wxTextDialog], wxUSE_TEXTDLG)
a641505f 1165WX_ARG_ENABLE(tipdlg, [ --enable-tipdlg use startup tips], wxUSE_STARTUP_TIPS)
ce4169a4 1166WX_ARG_ENABLE(progressdlg, [ --enable-progressdlg use wxProgressDialog], wxUSE_PROGRESSDLG)
b1f5d087
VZ
1167WX_ARG_ENABLE(wizarddlg, [ --enable-wizarddlg use wxWizard], wxUSE_WIZARDDLG)
1168
1169dnl ---------------------------------------------------------------------------
1170dnl misc GUI options
1171dnl ---------------------------------------------------------------------------
1172
1e6feb95 1173WX_ARG_ENABLE(menus, [ --enable-menus use wxMenu/wxMenuBar/wxMenuItem classes], wxUSE_MENUS)
143121c5
VZ
1174WX_ARG_ENABLE(miniframe, [ --enable-miniframe use wxMiniFrame class], wxUSE_MINIFRAME)
1175WX_ARG_ENABLE(tooltips, [ --enable-tooltips use wxToolTip class], wxUSE_TOOLTIPS)
1176WX_ARG_ENABLE(splines, [ --enable-splines use spline drawing code], wxUSE_SPLINES)
060e10d9 1177WX_ARG_ENABLE(mousewheel, [ --enable-mousewheel use mousewheel], wxUSE_MOUSEWHEEL)
143121c5 1178WX_ARG_ENABLE(validators, [ --enable-validators use wxValidator and derived classes], wxUSE_VALIDATORS)
d78b3d64 1179WX_ARG_ENABLE(busyinfo, [ --enable-busyinfo use wxBusyInfo], wxUSE_BUSYINFO)
4cb1d3da 1180WX_ARG_ENABLE(joystick, [ --enable-joystick use wxJoystick], wxUSE_JOYSTICK)
38b4a946 1181WX_ARG_ENABLE(metafile, [ --enable-metafiles use wxMetaFile (Win32 only)], wxUSE_METAFILE)
24fd6d87 1182WX_ARG_ENABLE(dragimage, [ --enable-dragimage use wxDragImage], wxUSE_DRAGIMAGE)
7bb2947d 1183WX_ARG_ENABLE(accessibility,[ --enable-accessibility enable accessibility support], wxUSE_ACCESSIBILITY)
143121c5 1184
38b4a946
VZ
1185if test "$wxUSE_MSW" = "1"; then
1186 WX_ARG_ENABLE(dccache, [ --enable-dccache cache temporary wxDC objects (Win32 only)], wxUSE_DC_CACHEING)
1187fi
1188
0940bcf7
HH
1189dnl ---------------------------------------------------------------------------
1190dnl support for image formats that do not rely on external library
1191dnl ---------------------------------------------------------------------------
1192
d275c7eb 1193WX_ARG_ENABLE(palette, [ --enable-palette use wxPalette class], wxUSE_PALETTE)
0046ff7c 1194WX_ARG_ENABLE(image, [ --enable-image use wxImage class], wxUSE_IMAGE)
6b5286d1
HH
1195WX_ARG_ENABLE(gif, [ --enable-gif use gif images (GIF file format)], wxUSE_GIF)
1196WX_ARG_ENABLE(pcx, [ --enable-pcx use pcx images (PCX file format)], wxUSE_PCX)
4b6b4dfc 1197WX_ARG_ENABLE(iff, [ --enable-iff use iff images (IFF file format)], wxUSE_IFF)
6b5286d1 1198WX_ARG_ENABLE(pnm, [ --enable-pnm use pnm images (PNM file format)], wxUSE_PNM)
69d27ff7 1199WX_ARG_ENABLE(xpm, [ --enable-xpm use xpm images (XPM file format)], wxUSE_XPM)
c7206e64 1200WX_ARG_ENABLE(ico_cur, [ --enable-icocur use Windows ICO and CUR formats], wxUSE_ICO_CUR)
0940bcf7 1201
b12915c1 1202fi
590b1a4d 1203
ceec2216
RL
1204dnl ---------------------------------------------------------------------------
1205dnl flavour support
1206dnl ---------------------------------------------------------------------------
1207
1208dnl Should this be --enable? I flip-flopped a couple of times and this seems
1209dnl in the spirit if not the letter, we have gtk-prefix and the like in this group.
1210dnl It doesn't actually change anything but the output file names.
1211AC_ARG_WITH(flavour, [ --with-flavour=NAME specify a name to identify this build], [WX_FLAVOUR="$withval"])
1212
029b47ad
VS
1213dnl ---------------------------------------------------------------------------
1214dnl some win32 settings
1215dnl ---------------------------------------------------------------------------
1216
77ffb593 1217WX_ARG_ENABLE(official_build, [ --enable-official_build official build of wxWidgets (win32 DLL only)], wxUSE_OFFICIAL_BUILD)
029b47ad
VS
1218AC_ARG_ENABLE(vendor, [ --enable-vendor=VENDOR vendor name (win32 DLL only)], [VENDOR="$enableval"])
1219if test "x$VENDOR" = "x"; then
1220 VENDOR="custom"
1221fi
1222
590b1a4d 1223
b12915c1
VZ
1224dnl for GUI only
1225
143121c5
VZ
1226dnl cache the options values before (may be) aborting below
1227WX_ARG_CACHE_FLUSH
9a98a854
VZ
1228
1229dnl check that no more than one toolkit is given and that if none are given that
1230dnl we have a default one
efeb0365 1231
143121c5
VZ
1232AC_MSG_CHECKING(for toolkit)
1233
d1188635
JS
1234# In Wine, we need to default to MSW, not GTK or MOTIF
1235if test "$wxUSE_WINE" = "yes"; then
1236 DEFAULT_DEFAULT_wxUSE_GTK=0
1237 DEFAULT_DEFAULT_wxUSE_MOTIF=0
1238 DEFAULT_DEFAULT_wxUSE_MSW=1
d030c68a 1239 wxUSE_SHARED=no
d1188635
JS
1240fi
1241
f597b41c 1242
e90c1d2a
VZ
1243if test "$wxUSE_GUI" = "yes"; then
1244
3a922bb4
RL
1245 if test "$USE_BEOS" = 1; then
1246 AC_MSG_ERROR([BeOS GUI is not supported yet, use --disable-gui])
1247 fi
b12915c1 1248
3a922bb4 1249 if test "$TOOLKIT_GIVEN" = 1; then
f34ca037 1250 dnl convert "yes", "any" or a number to 1 and "no" to 0
3a922bb4
RL
1251 for toolkit in `echo $ALL_TOOLKITS`; do
1252 var=wxUSE_$toolkit
1253 eval "value=\$${var}"
f34ca037
MW
1254 if test "x$value" = "xno"; then
1255 eval "$var=0"
1256 elif test "x$value" != "x"; then
1257 eval "$var=1"
1258 fi
1259
1260 if test "x$value" != "x" -a "x$value" != "xyes" -a "x$value" != "xno"; then
1261 eval "wx${toolkit}_VERSION=$value"
1262 fi
3a922bb4 1263 done
143121c5 1264 else
3a922bb4
RL
1265 dnl try to guess the most apropriate toolkit for this platform
1266 for toolkit in `echo $ALL_TOOLKITS`; do
1267 if test "$has_toolkit_in_cache" != 1; then
1268 var=DEFAULT_DEFAULT_wxUSE_$toolkit
1269 else
1270 var=DEFAULT_wxUSE_$toolkit
f34ca037
MW
1271
1272 eval "version=\$DEFAULT_wx${toolkit}_VERSION"
1273 if test "x$version" != "x"; then
1274 eval "wx${toolkit}_VERSION=$version"
1275 fi
3a922bb4
RL
1276 fi
1277 eval "wxUSE_$toolkit=\$${var}"
1278 done
143121c5 1279 fi
4c0ed911 1280
3a922bb4
RL
1281 dnl we suppose that expr is available (maybe there is a better way to do
1282 dnl this? what about using ALL_TOOLKITS? TODO)
ac0c4cc3
DE
1283 NUM_TOOLKITS=`expr ${wxUSE_COCOA:-0} + ${wxUSE_GTK:-0} + ${wxUSE_MAC:-0} \
1284 + ${wxUSE_MGL:-0} + ${wxUSE_MICROWIN:-0} \
1285 + ${wxUSE_MOTIF:-0} + ${wxUSE_MSW:-0} + ${wxUSE_X11:-0}`
9a98a854 1286
3a922bb4 1287 dnl Allow wxUSE_PM only for OS/2 with EMX.
3a922bb4 1288 case "${host}" in
9829f277 1289 *-pc-os2_emx | *-pc-os2-emx )
3a922bb4 1290 NUM_TOOLKITS=`expr ${NUM_TOOLKITS} + ${wxUSE_PM:-0}`
3a922bb4 1291 esac
9a98a854 1292
3a922bb4
RL
1293 case "$NUM_TOOLKITS" in
1294 1)
1295 ;;
1296 0)
d74f4b5a 1297 AC_MSG_ERROR(Please specify a toolkit -- cannot determine the default for ${host})
3a922bb4
RL
1298 ;;
1299 *)
d74f4b5a 1300 AC_MSG_ERROR(Please specify at most one toolkit (maybe some are cached in configarg.cache?))
3a922bb4 1301 esac
143121c5 1302
f34ca037
MW
1303 # to be removed when --disable-gtk2 isn't needed
1304 if test "x$wxUSE_GTK2" = "xyes"; then
1305 wxGTK_VERSION=2
1306 elif test "x$wxUSE_GTK2" = "xno"; then
1307 wxGTK_VERSION=1
1308 fi
1309
3a922bb4
RL
1310 dnl cache the wxUSE_<TOOLKIT> values too
1311 for toolkit in `echo $ALL_TOOLKITS`; do
1312 var=wxUSE_$toolkit
1313 eval "value=\$${var}"
1314 if test "x$value" != x; then
1315 cache_var=CACHE_$toolkit
1316 eval "cache=\$${cache_var}"
1317 if test "$cache" = 1; then
1318 echo "$var=$value" >> ${wx_arg_cache_file}
f34ca037
MW
1319 eval "version=\$wx${toolkit}_VERSION"
1320 if test "x$version" != "x"; then
1321 echo "wx${toolkit}_VERSION=$version" >> ${wx_arg_cache_file}
1322 fi
3a922bb4
RL
1323 fi
1324 if test "$value" = 1; then
aa961a51 1325 toolkit_echo=`echo $toolkit | tr "[[A-Z]]" "[[a-z]]"`
3a922bb4
RL
1326 AC_MSG_RESULT($toolkit_echo)
1327 fi
1328 fi
1329 done
e90c1d2a 1330else
9de9b8f0
VZ
1331 if test "x$host_alias" != "x"; then
1332 AC_MSG_RESULT(base ($host_alias hosted) only)
1333 else
1334 AC_MSG_RESULT(base only)
1335 fi
e90c1d2a
VZ
1336fi
1337
17234b26
MB
1338dnl ---------------------------------------------------------------------------
1339dnl When we are using Cygwin with Motif/GTK+, we want it to appear like
1340dnl 'just' a POSIX platform, so the Win32 API must not be available
1341dnl ---------------------------------------------------------------------------
43d99b6d
VS
1342dnl (Windows-only piece)
1343wants_win32=0
1344doesnt_want_win32=0
17234b26
MB
1345case "${host}" in
1346 *-*-cygwin*)
1347 if test "$wxUSE_MSW" = 1 ; then
43d99b6d 1348 wants_win32=1
7275146d 1349 BAKEFILE_FORCE_PLATFORM=win32
43d99b6d
VS
1350 else
1351 doesnt_want_win32=1
17234b26
MB
1352 fi
1353 ;;
1354 *-*-mingw*)
43d99b6d 1355 wants_win32=1
17234b26
MB
1356 ;;
1357esac
1358
d1188635
JS
1359dnl ---------------------------------------------------------------------------
1360dnl Wine is a virtual platform, we need to patch things up a bit
1361dnl ---------------------------------------------------------------------------
1362if test "$wxUSE_WINE" = "yes"; then
1363 wants_win32=1
1364 dnl FIXME: we should do a better job of testing for these
1365 CC=winegcc
1366 CXX=wineg++
06b042dc 1367 LDFLAGS_GUI="-mwindows"
d1188635
JS
1368fi
1369
43d99b6d
VS
1370dnl NB: The two tests bellow are *NOT* mutually exclusive! They should only
1371dnl take effect on Cygwin/Mingw and not other platforms.
1372if test "$wants_win32" = 1 ; then
17234b26
MB
1373 USE_UNIX=0
1374 USE_WIN32=1
1375 AC_DEFINE(__WIN32__)
1376 AC_DEFINE(__WIN95__)
1377 AC_DEFINE(__WINDOWS__)
1378 AC_DEFINE(__GNUWIN32__)
1379 AC_DEFINE(STRICT)
1380 AC_DEFINE(WINVER, 0x0400)
43d99b6d
VS
1381fi
1382if test "$doesnt_want_win32" = 1 ; then
17234b26
MB
1383 USE_UNIX=1
1384 USE_WIN32=0
1385fi
43d99b6d 1386dnl (end of Windows-only piece)
17234b26
MB
1387
1388if test "$USE_UNIX" = 1 ; then
1389 wxUSE_UNIX=yes
1390 AC_DEFINE(__UNIX__)
1391fi
1392
9a98a854
VZ
1393dnl ---------------------------------------------------------------------------
1394dnl Checks for programs
1395dnl ---------------------------------------------------------------------------
1396
1397dnl flush the cache because checking for programs might abort
1398AC_CACHE_SAVE
1399
9a98a854
VZ
1400dnl C-compiler checks
1401dnl defines CC with the compiler to use
1402dnl defines GCC with yes if using gcc
1403dnl defines GCC empty if not using gcc
1404dnl defines CFLAGS
04727afd
VZ
1405dnl
1406dnl this magic incantation is needed to prevent AC_PROG_CC from setting the
2b5f62a0 1407dnl default CFLAGS (something like "-g -O2") -- we don't need this as we add
04727afd 1408dnl -g and -O flags ourselves below
ec603395 1409CFLAGS=${CFLAGS:=}
6dcfc289 1410AC_BAKEFILE_PROG_CC
9a98a854 1411
9a98a854
VZ
1412dnl is -traditional needed for correct compilations
1413dnl adds -traditional for gcc if needed
1414AC_PROG_GCC_TRADITIONAL
1415
8006bf3c
VZ
1416dnl do all checks from now on using the C++ compiler: this saves us a lot of
1417dnl problems with various functions which may be available in libc but not
1418dnl declared in the header and various pointer conversions which compile with
1419dnl the C compiler but not in C++
c52e0d0e 1420AC_LANG_PUSH(C++)
9a98a854
VZ
1421
1422dnl C++-compiler checks
1423dnl defines CXX with the compiler to use
1424dnl defines GXX with yes if using gxx
1425dnl defines GXX empty if not using gxx
1426dnl defines CXXFLAGS
04727afd
VZ
1427dnl
1428dnl see CFLAGS line above
ec603395 1429CXXFLAGS=${CXXFLAGS:=}
6dcfc289 1430AC_BAKEFILE_PROG_CXX
9a98a854 1431
9a98a854
VZ
1432dnl ranlib command
1433dnl defines RANLIB with the appropriate command
1434AC_PROG_RANLIB
1435
1436dnl ar command
1437dnl defines AR with the appropriate command
8c80d384 1438AC_CHECK_TOOL(AR, ar)
911740e7 1439if test "x$AR" = "x" ; then
77ffb593 1440 AC_MSG_ERROR([ar is needed to build wxWidgets])
911740e7 1441fi
9a98a854
VZ
1442
1443dnl install checks
1444dnl defines INSTALL with the appropriate command
6054113a 1445AC_PROG_INSTALL
2e033fd1 1446
ab9f788e
SN
1447dnl make install path absolute (if not already);
1448dnl will fail with (some) MSDOS paths
2e033fd1
CE
1449case ${INSTALL} in
1450 /* ) # Absolute
1451 ;;
ab9f788e
SN
1452 ?:* ) # Drive letter, considered as absolute.
1453 ;;
3bd8fb5f 1454 *)
2e033fd1
CE
1455 INSTALL=`pwd`/${INSTALL} ;;
1456esac
1457
1458
d6853540
RL
1459case "${host}" in
1460
b5853384
GD
1461 dnl The other BSD's should probably go in here too, since this is
1462 dnl to workaround a strange static lib BSDism.
1463 dnl Mac OS X install seems to ignore -p option...
cfda0ea8 1464 *-*-darwin* )
eb99ae0b
GD
1465 INSTALL_PROGRAM="cp -fp"
1466 INSTALL_DATA="cp -fp"
d6853540
RL
1467 ;;
1468 *)
6054113a 1469 ;;
d6853540 1470esac
9a98a854 1471
9a98a854 1472dnl strip command
8c80d384
DE
1473dnl defines STRIP as strip or nothing (true) if not found
1474AC_CHECK_TOOL(STRIP, strip, true)
1475
1476dnl Win32 tools
1477if test "$wxUSE_WINE" = "yes"; then
891ace05 1478 AC_CHECK_TOOL(WINDRES, wrc)
004ee6da 1479 RESCOMP="$WINDRES"
8c80d384
DE
1480else
1481 case "${host}" in
1482 *-*-cygwin* | *-*-mingw32* )
891ace05 1483 dnl Bakefile CVS (as of 2005-11-24) now detects windres properly
004ee6da
RL
1484 dnl ... maybe it does, but it does not make it available here
1485 dnl anymore, so do it ourselves still.
1486 AC_CHECK_TOOL(WINDRES, windres)
1487 RESCOMP="$WINDRES"
8c80d384
DE
1488 AC_CHECK_TOOL(DLLTOOL, dlltool)
1489 ;;
1490 esac
1491fi
9a98a854 1492
414eab6d
VZ
1493dnl does make support "-include" (only GNU make does AFAIK)?
1494AC_CACHE_CHECK([if make is GNU make], wx_cv_prog_makeisgnu,
1495[
1496 if ( ${SHELL-sh} -c "${MAKE-make} --version" 2> /dev/null |
c13b1125 1497 egrep -s GNU > /dev/null); then
414eab6d
VZ
1498 wx_cv_prog_makeisgnu="yes"
1499 else
1500 wx_cv_prog_makeisgnu="no"
1501 fi
1502])
1503
1504if test "x$wx_cv_prog_makeisgnu" = "xyes"; then
1505 IF_GNU_MAKE=""
1506else
1507 IF_GNU_MAKE="#"
1508fi
1509
1510AC_SUBST(IF_GNU_MAKE)
1511
1512dnl we don't need to check for VPATH support in GNU make - it does have it
1513if test "x$wx_cv_prog_makeisgnu" != "xyes"; then
9a98a854 1514dnl check if VPATH works
04e7a216 1515AC_CACHE_CHECK([if make supports VPATH], wx_cv_prog_makevpath, [
9a98a854
VZ
1516dnl create Makefile
1517cat - << EOF > confMake
1518check : file
1519 cp \$? \$@
1520 cp \$? final_file
1521EOF
1522
1523if test ! -d sub ; then
1524 mkdir sub
1525fi
1526echo dummy > sub/file
f6bcfd97 1527${MAKE-make} -f confMake VPATH=sub 2>&5 > /dev/null
9a98a854
VZ
1528RESULT=$?
1529rm -f sub/file check final_file confMake
1530rmdir sub
1531if test "$RESULT" = 0; then
04e7a216 1532 wx_cv_prog_makevpath="yes"
9a98a854 1533else
04e7a216
VZ
1534 wx_cv_prog_makevpath="no"
1535fi
1536])
1537
1538if test "x$wx_cv_prog_makevpath" != "xyes"; then
1539AC_MSG_ERROR([
9a98a854
VZ
1540You need a make-utility that is able to use the variable
1541VPATH correctly.
1542If your version of make does not support VPATH correctly,
1543please install GNU-make (possibly as gmake), and start
1544configure with the following command:
1545export MAKE=gmake; ./configure for sh-type shells
1546setenv MAKE gmake; ./configure for csh-type shells
1547Also please do remember to use gmake in this case every time
1548you are trying to compile.
1e487827 1549])
414eab6d
VZ
1550fi dnl make without VPATH
1551fi dnl not GNU make
613d0995 1552
c7114f59
VZ
1553dnl needed for making link to setup.h
1554AC_PROG_LN_S
1555
bcaab0f9 1556
a3603620
SN
1557dnl ------------------------------------------------------------------------
1558dnl Platform specific tests
1559dnl ------------------------------------------------------------------------
1560
4a4aafb2 1561dnl xlC needs -qunique under AIX so that one source file can be
9273ffba 1562dnl compiled to multiple object files and safely linked together.
4a4aafb2 1563if test "x$XLCXX" = "xyes" -a "x$USE_AIX" = "x1"; then
c92ad099 1564 CXXFLAGS="-qunique $CXXFLAGS"
9273ffba
DE
1565fi
1566
cfda0ea8 1567dnl This case is for PowerPC OS X vs. everything else
4d7ec9f1
DE
1568case "${host}" in
1569 powerpc-*-darwin* )
1570 AC_MSG_CHECKING([if __POWERPC__ is already defined])
1571 AC_TRY_COMPILE([],[#ifndef __POWERPC__
1572 choke me for lack of PowerPC
1573#endif
1574],
1575 [AC_MSG_RESULT([yes])],
1576 [AC_MSG_RESULT([no])
1577 AC_DEFINE(__POWERPC__)
1578 ])
cfda0ea8
DE
1579 ;;
1580esac
1581
1582dnl This case is for OS X vs. everything else
1583case "${host}" in
1584 *-*-darwin* )
4d7ec9f1
DE
1585 AC_MSG_CHECKING([if CoreFoundation/CFBase.h is usable])
1586 AC_TRY_COMPILE([#include <CoreFoundation/CFBase.h>
1587],[],
1588 [AC_MSG_RESULT([yes])],
1589 [AC_MSG_RESULT([no])
1590 AC_MSG_CHECKING([if __CF_USE_FRAMEWORK_INCLUDES__ is required])
1591 AC_TRY_COMPILE([#define __CF_USE_FRAMEWORK_INCLUDES__
1592#include <CoreFoundation/CFBase.h>
1593 ],[],
1594 [AC_MSG_RESULT([yes])
1595 dnl We must use -D so source files that don't include wx/setup.h
1596 dnl but do include CFBase will work.
c92ad099 1597 CPPFLAGS="-D__CF_USE_FRAMEWORK_INCLUDES__ $CPPFLAGS"],
4d7ec9f1
DE
1598 [AC_MSG_FAILURE([no. CoreFoundation not available.])]
1599 )
1600 ]
1601 )
1602 ;;
1603esac
1604
1605dnl This case is for OS/2 vs. everything else
2b5f62a0
VZ
1606case "${host}" in
1607 *-pc-os2_emx | *-pc-os2-emx )
a3603620
SN
1608 dnl ---------------------------------------------------------------------
1609 dnl When we are using gcc on OS/2, we want to be either using resources
1610 dnl (PM) or a more complete POSIX emulation for Motif/GTK+/X11.
1611 dnl Moreover we need to link explicitly against either stdcpp.a or
1612 dnl stdcxx.a (depending on compiler version), since we are using "gcc",
1613 dnl not "g++/c++".
1614 dnl ---------------------------------------------------------------------
1615 dnl (OS/2-only piece)
2b5f62a0
VZ
1616 if test "$wxUSE_MOTIF" = 1 -o "$wxUSE_GTK" = 1 -o "$wxUSE_X11" = 1; then
1617 dnl More complete Unix emulation for unix-like ports
1618 dnl by linking in POSIX/2's cExt (if available).
1619 AC_CHECK_LIB(cExt, drand48, LIBS="$LIBS -lcExt")
1620 else
1621 dnl Include resources for the "native" port (wxPM).
1622 RESPROGRAMOBJ="\${top_srcdir}/include/wx/os2/wx.res"
1623 fi
7f8c0d74
SN
1624 dnl Check for the gcc version (and thereby for the C runtime library).
1625 dnl wx_cv_gccversion = EMX2 -> Standard EMX environment
1626 dnl wx_cv_gccversion = EMX3 -> EMX with gcc-3.0.3 or gcc-3.2.1
1627 dnl wx_cv_gccversion = Innotek5 -> gcc-3.2.2 with Innotek libc5
1628 dnl wx_cv_gccversion = Innotek6 -> gcc-3.3.5 with Innotek libc6.
f47af52b 1629 AC_CACHE_CHECK([for gcc/libc version], wx_cv_gccversion,[
7f8c0d74 1630 AC_TRY_RUN(
5ff751d6 1631 dnl Check the gcc version macro.
4cbbb631 1632 [
7f8c0d74
SN
1633 #include <stdio.h>
1634
1635 int main()
1636 {
1637 FILE *f=fopen("conftestval", "w");
1638 if (!f) exit(1);
1639 fprintf(f,
4cbbb631 1640 #if (__GNUC__ < 3)
7f8c0d74
SN
1641 "EMX2"
1642 #elif (__GNUC__==3) && ((__GNUC_MINOR__ < 2) || ((__GNUC_MINOR__==2) && (__GNUC_PATCHLEVEL__<2)))
1643 "EMX3"
1644 #elif (__GNUC__==3) && (__GNUC_MINOR__==2) && (__GNUC_PATCHLEVEL__==2)
1645 "Innotek5"
1646 #else
1647 "Innotek6"
4cbbb631 1648 #endif
7f8c0d74
SN
1649 );
1650 exit(0);
1651 }
4cbbb631 1652 ],
7f8c0d74
SN
1653 wx_cv_gccversion=`cat conftestval`,
1654 wx_cv_gccversion="EMX2",
1655 dnl Compilation error: Assuming standard EMX environment
1656 wx_cv_gccversion="EMX2"
4cbbb631
SN
1657 )
1658 ])
7f8c0d74 1659 if test "$wx_cv_gccversion" = "EMX2"; then
4cbbb631 1660 LIBS="$LIBS -lstdcpp"
dc4118b8 1661 LDFLAGS="$LDFLAGS -Zsysv-signals"
4cbbb631 1662 else
7f8c0d74 1663 if test "$wx_cv_gccversion" = "EMX3"; then
1ff6a165 1664 LIBS="$LIBS -lstdcxx -lgcc"
dc4118b8
SN
1665 LDFLAGS="$LDFLAGS -Zsysv-signals"
1666 else
1667 LIBS="$LIBS -lstdc++"
1668 fi
4cbbb631 1669 fi
f6a9b35e
SN
1670 if test "$wxUSE_SHARED" = "yes" -a "$wxUSE_OMF" = "no"; then
1671 AC_MSG_WARN([Building DLLs requires OMF mode, enabled])
1672 wxUSE_OMF=yes
e201b348 1673 enable_omf=yes
f6a9b35e 1674 fi
a3603620
SN
1675 dnl (end of OS/2-only piece)
1676 ;;
1677 *)
1678 dnl ---------------------------------------------------------------------
1679 dnl look for strcasecmp() in string.h and then strings.h if it's not
1680 dnl there. Don't do this on OS/2, where "stricmp" is the function to be
1681 dnl used.
1682 dnl ---------------------------------------------------------------------
1683 dnl (non-OS/2-only piece)
1684
a3603620
SN
1685 AC_CACHE_CHECK([for strcasecmp() in string.h], ac_cv_string_strcasecmp, [
1686 AC_TRY_LINK([
1687 #include <string.h>
1688 ],
1689 [
1690 strcasecmp("foo", "bar");
1691 ],
1692 ac_cv_string_strcasecmp=yes,
1693 ac_cv_string_strcasecmp=no
1694 )
1695 ])
1696
1697 if test x"$ac_cv_string_strcasecmp" = "xyes"; then
1698 AC_DEFINE(HAVE_STRCASECMP_IN_STRING_H)
1699 else
1700 AC_CACHE_CHECK([for strcasecmp() in strings.h], ac_cv_strings_strcasecmp, [
1701 AC_TRY_LINK([
1702 #include <strings.h>
1703 ],
1704 [
1705 strcasecmp("foo", "bar");
1706 ],
1707 ac_cv_strings_strcasecmp=yes,
1708 ac_cv_strings_strcasecmp=no
1709 )
1710 ])
1711
858e1e7c 1712 if test x"$ac_cv_strings_strcasecmp" = "xyes"; then
a3603620
SN
1713 AC_DEFINE(HAVE_STRCASECMP_IN_STRINGS_H)
1714 else
1715 AC_MSG_ERROR([No case-insensitive string comparison function found.])
1716 fi
1717 fi
1718
a3603620 1719 dnl (end of non-OS/2-only piece)
2b5f62a0
VZ
1720 ;;
1721esac
2b5f62a0 1722
21d1c967
GD
1723dnl ------------------------------------------------------------------------
1724dnl Check for headers
1725dnl ------------------------------------------------------------------------
1726
21d1c967
GD
1727dnl defines HAVE_STDLIB_H
1728AC_CHECK_HEADERS(stdlib.h)
1729dnl defines HAVE_MALLOC_H
1730AC_CHECK_HEADERS(malloc.h)
1731dnl defines HAVE_UNISTD_H
1732AC_CHECK_HEADERS(unistd.h)
1733dnl defines HAVE_WCHAR_H
1734AC_CHECK_HEADERS(wchar.h)
1735
1736dnl maybe wchar_t is in wcstr.h if we don't have wchar.h?
1737if test "$ac_cv_header_wchar_h" != "yes"; then
1738 dnl defines HAVE_WCSTR_H
1739 AC_CHECK_HEADERS(wcstr.h)
1740fi
1741
21d1c967
GD
1742dnl defines HAVE_FNMATCH_H
1743AC_CHECK_HEADERS(fnmatch.h)
1744
21d1c967
GD
1745dnl defines HAVE_LANGINFO_H (GNU libc locale parameters)
1746AC_CHECK_HEADERS(langinfo.h)
1747
ab9f788e
SN
1748case "${host}" in
1749 *-pc-os2_emx | *-pc-os2-emx )
7f8c0d74
SN
1750 dnl Explicitly link -lintl if langinfo.h is available
1751 dnl and intl not yet included in libc
1752 if test $ac_cv_header_langinfo_h = "yes" \
1753 -a \( "$wx_cv_gccversion" = "EMX2" \
1754 -o "$wx_cv_gccversion" = "EMX3" \
1755 -o "$wx_cv_gccversion" = "Innotek5" \); then
ab9f788e
SN
1756 LIBS="$LIBS -lintl"
1757 fi
1758 ;;
1759esac
1542ea39 1760
90dd450c
VZ
1761dnl ---------------------------------------------------------------------------
1762dnl Checks for compiler characteristics
1763dnl ---------------------------------------------------------------------------
1764
1765dnl defines const to be empty if c-compiler does not support const fully
1766AC_C_CONST
1767dnl defines inline to a sensible value for the c-compiler
1768AC_C_INLINE
1769
1770dnl check the sizes of integral types (give some reasonable default values for
1771dnl cross-compiling)
1772dnl defines the size of certain types of variables in SIZEOF_<TYPE>
1773AC_CHECK_SIZEOF(char, 1)
1774AC_CHECK_SIZEOF(short, 2)
1775AC_CHECK_SIZEOF(void *, 4)
1776AC_CHECK_SIZEOF(int, 4)
1777AC_CHECK_SIZEOF(long, 4)
a369f7c8 1778AC_CHECK_SIZEOF(size_t, 4)
90dd450c
VZ
1779
1780case "${host}" in
1781 arm-*-linux* )
1782 AC_CHECK_SIZEOF(long long, 8)
1783 ;;
4f57cf11
GD
1784 *-hp-hpux* )
1785 AC_CHECK_SIZEOF(long long, 0)
1786 if test "$ac_cv_sizeof_long_long" != "0"; then
1787 dnl HPUX 10.20 headers need this define in order to use long long definitions
c92ad099 1788 CPPFLAGS="-D_INCLUDE_LONGLONG $CPPFLAGS"
4f57cf11
GD
1789 fi
1790 ;;
90dd450c
VZ
1791 * )
1792 AC_CHECK_SIZEOF(long long, 0)
1793esac
1794
238ecede
MW
1795dnl SGI/Irix's stdio.h does not include wchar_t. Mac OS X does not provide
1796dnl wchar.h and wchar_t is defined by stdlib.h (GD)
1797AC_CHECK_SIZEOF(wchar_t, 0,
1798 [
db6d93de
MW
1799 /* DJGPP's wchar_t is now a keyword in C++ (still not C though) */
1800 #if defined(__DJGPP__) && !( (__GNUC_MINOR__ >= 8 && __GNUC__ == 2 ) || __GNUC__ >= 3 )
238ecede
MW
1801 # error "fake wchar_t"
1802 #endif
1803 #ifdef HAVE_WCHAR_H
1804 # ifdef __CYGWIN__
1805 # include <stddef.h>
1806 # endif
1807 # include <wchar.h>
1808 #endif
1809 #ifdef HAVE_STDLIB_H
1810 # include <stdlib.h>
1811 #endif
1812 #include <stdio.h>
1813 ]
1814)
61c213fe
MW
1815if test "$ac_cv_sizeof_wchar_t" != "0"; then
1816 wxUSE_WCHAR_T=yes
1817else
1818 wxUSE_WCHAR_T=no
1819fi
90dd450c 1820
8fa53e0e
VZ
1821dnl checks needed to define wxVaCopy
1822AC_CACHE_CHECK([for va_copy],
1823 wx_cv_func_va_copy,
1824 [
ba3d13e1 1825 AC_LINK_IFELSE([
8fa53e0e
VZ
1826 #include <stdarg.h>
1827 void foo(char *f, ...)
1828 {
1829 va_list ap1, ap2;
1830 va_start(ap1, f);
1831 va_copy(ap2, ap1);
1832 va_end(ap2);
1833 va_end(ap1);
5886b072
VZ
1834 }
1835 int main()
1836 {
b902e639
VZ
1837 foo("hi", 17);
1838 return 0;
8fa53e0e
VZ
1839 }],
1840 wx_cv_func_va_copy=yes,
1841 wx_cv_func_va_copy=no
1842 )
1843 ]
1844)
1845
1846if test $wx_cv_func_va_copy = "yes"; then
1847 AC_DEFINE(HAVE_VA_COPY)
1848else
1849 dnl try to understand how can we copy va_lists
1850 AC_CACHE_CHECK([if va_list can be copied by value],
1851 wx_cv_type_va_list_lvalue,
1852 [
1853 AC_RUN_IFELSE([
1854 #include <stdarg.h>
1855 int foo(char *f, ...)
1856 {
1857 va_list ap1, ap2;
1858 va_start(ap1, f);
1859 ap2 = ap1;
1860 if ( va_arg(ap1, int) != 17 || va_arg(ap2, int) != 17 )
1861 return 1;
1862 va_end(ap2);
1863 va_end(ap1);
1864 return 0;
1865 }
1866 int main()
1867 {
1868 return foo("hi", 17);
1869 }],
1870 wx_cv_type_va_list_lvalue=yes,
1871 wx_cv_type_va_list_lvalue=no,
1872 dnl assume most common case for cross-compiling...
1873 wx_cv_type_va_list_lvalue=yes
1874 )
1875 ]
1876 )
1877
1878 if test $wx_cv_type_va_list_lvalue != "yes"; then
1879 dnl we suppose that the only thing which can't be copied like this
1880 dnl are arrays... only experience will show whether this is really true
1881 AC_DEFINE(VA_LIST_IS_ARRAY)
1882 fi
1883fi
1884
90dd450c
VZ
1885dnl check for large file support
1886AC_SYS_LARGEFILE
1887
f02444d0
VZ
1888dnl we need to define _FILE_OFFSET_BITS or _LARGE_FILES on the compiler command
1889dnl line because otherwise the system headers risk being included before
1890dnl wx/defs.h which defines these constants leading to inconsistent
1891dnl sizeof(off_t) in different source files of the same program and linking
1892dnl problems
1893if test "x$wx_largefile" = "xyes"; then
e26c13cf 1894 if test "x$ac_cv_sys_file_offset_bits" = "x64"; then
5ff751d6 1895 WXCONFIG_CPPFLAGS="$WXCONFIG_CPPFLAGS -D_FILE_OFFSET_BITS=64 -D_LARGE_FILES"
00421666
MW
1896
1897 dnl We get "Large Files (ILP32) not supported in strict ANSI mode."
1898 dnl #error from HP standard headers unless __STDC_EXT__ is defined.
1899 dnl The compiler should define it automatically, but some old g++
1900 dnl versions don't define it, so test and add it if necessary. AFAIK
1901 dnl the problem only affects the C++ compiler so it is added to
1902 dnl CXXFLAGS only.
1903 if test "$USE_HPUX" = 1 -a "$GXX" = "yes"; then
1904 AC_CACHE_CHECK(
1905 [if -D__STDC_EXT__ is required],
1906 wx_cv_STDC_EXT_required,
1907 [
00421666
MW
1908 AC_TRY_COMPILE(
1909 [],
1910 [
1911 #ifndef __STDC_EXT__
1912 choke me
1913 #endif
1914 ],
1915 wx_cv_STDC_EXT_required=no,
1916 wx_cv_STDC_EXT_required=yes
1917 )
00421666
MW
1918 ]
1919 )
1920 if test "x$wx_cv_STDC_EXT_required" = "xyes"; then
5ff751d6 1921 WXCONFIG_CXXFLAGS="$WXCONFIG_CXXFLAGS -D__STDC_EXT__"
00421666
MW
1922 fi
1923 fi
f02444d0 1924 else
5ff751d6 1925 WXCONFIG_CPPFLAGS="$WXCONFIG_CPPFLAGS -D_LARGE_FILES"
f02444d0 1926 fi
026d8152
SN
1927 dnl AC_FUNC_FSEEKO sets HAVE_FSEEKO and $ac_cv_sys_largefile_source
1928 AC_FUNC_FSEEKO
1929 if test "$ac_cv_sys_largefile_source" != no; then
5ff751d6 1930 WXCONFIG_CPPFLAGS="$WXCONFIG_CPPFLAGS -D_LARGEFILE_SOURCE=$ac_cv_sys_largefile_source"
026d8152 1931 fi
f02444d0
VZ
1932fi
1933
90dd450c
VZ
1934dnl check for bytesex stuff (don't use AC_C_BIGENDIAN to allow cross-compiling)
1935WX_C_BIGENDIAN
1936
1937dnl check for iostream (as opposed to iostream.h) standard header
1938WX_CPP_NEW_HEADERS(, AC_DEFINE(wxUSE_IOSTREAMH))
1939
1940dnl check whether C++ compiler supports bool built-in type
1941WX_CPP_BOOL
1942
986ecc86
VZ
1943dnl check whether C++ compiler supports explicit keyword
1944WX_CPP_EXPLICIT
1945
521196a2
MB
1946dnl check whether C++ compiler supports C++ casts
1947AC_CXX_CONST_CAST
4ebb542f 1948AC_CXX_REINTERPRET_CAST
ecfd48ca 1949AC_CXX_STATIC_CAST
5df6b3dc
VZ
1950dnl we don't use HAVE_DYNAMIC_CAST anywhere right now...
1951dnl AC_CXX_DYNAMIC_CAST
521196a2 1952
8bc9a2f0
MW
1953dnl With Sun CC, temporaries have block scope by default. This flag is needed
1954dnl to get the expression scope behaviour that conforms to the standard.
1955if test "x$SUNCXX" = xyes; then
c92ad099 1956 CXXFLAGS="-features=tmplife $CXXFLAGS"
8bc9a2f0
MW
1957fi
1958
9122d155
VZ
1959dnl Sun X11 headers are (still, in 2005!) non-ANSI and the best they could do
1960dnl was to hack their C++ compiler to accept them silently -- but C compiler
1961dnl still spits out dozens of warnings for each X include file, so suppress
1962dnl them
1963if test "x$SUNCC" = xyes; then
c92ad099 1964 CFLAGS="-erroff=E_NO_EXPLICIT_TYPE_GIVEN $CFLAGS"
9122d155
VZ
1965fi
1966
15b17d22
VZ
1967dnl SGI mipsPro compiler gives this warning for "conversion from pointer to
1968dnl same-sized integral type" even when there is an explicit cast and as there
1969dnl is no way to turn it off and there are hundreds of these warnings in wx
1970dnl sources, just turn it off for now
1971dnl
1972dnl a better long term solution would be to use #pragma set/reset woff in
1973dnl wxPtrToUInt() and use it instead of casts elsewhere
1974if test "x$SGICC" = "xyes"; then
c92ad099 1975 CFLAGS="-woff 3970 $CFLAGS"
15b17d22
VZ
1976fi
1977if test "x$SGICXX" = "xyes"; then
c92ad099 1978 CXXFLAGS="-woff 3970 $CXXFLAGS"
15b17d22
VZ
1979fi
1980
76f13e90
VZ
1981dnl HP-UX c89/aCC compiler warnings
1982if test "x$HPCC" = "xyes"; then
1983 dnl 2011: "unrecognized preprocessor directive": nice warning but it's given
1984 dnl even for directives inside #if which is not true (i.e. which are
1985 dnl used for other compilers/OS) and so we have no way to get rid of it
1986 dnl 2450: "long long is non standard" -- yes, we know
c92ad099 1987 CFLAGS="+W 2011,2450 $CFLAGS"
76f13e90
VZ
1988fi
1989if test "x$HPCXX" = "xyes"; then
1990 dnl 2340: "value copied to temporary, reference to temporary used": very
1991 dnl painful as triggered by any occurrence of user-defined conversion
c92ad099 1992 CXXFLAGS="+W 2340 $CXXFLAGS"
76f13e90
VZ
1993fi
1994
179daed8
VZ
1995dnl DEC/Compaq/HP cxx warnings
1996if test "x$COMPAQCXX" = "xyes"; then
1997 dnl -w0 enables all warnings, then we disable some of them:
1998 dnl basclsnondto: base class dtor non virtual (sometimes we do want this)
1999 dnl unrimpret: "end of routine block may be unreachable" is given for
2000 dnl every "if ( ) return ...; else return ...;"
2001 dnl intconlosbit: "conversion to integral type of smaller size could lose
2002 dnl data" this is a useful warning but there are too many of
2003 dnl them for now
2004 CXXFLAGS="-w0 -msg_disable basclsnondto,unrimpret,intconlosbit"
2005fi
2006
f56c22b4
MW
2007dnl check for std::string or std::wstring
2008if test "$wxUSE_STD_STRING" = "yes" -o "$wxUSE_STL" = "yes"; then
f56c22b4
MW
2009 if test "$wxUSE_UNICODE" = "yes"; then
2010 std_string="std::wstring"
2011 char_type="wchar_t"
2012 else
2013 std_string="std::string"
2014 char_type="char"
2015 fi
2016
0a08f02a 2017 dnl check if <string> declares std::wstring
f56c22b4 2018 AC_MSG_CHECKING([for $std_string in <string>])
0a08f02a 2019 AC_TRY_COMPILE([#include <string>],
f56c22b4 2020 [$std_string foo;],
0a08f02a
MB
2021 [AC_MSG_RESULT(yes)
2022 AC_DEFINE(HAVE_STD_WSTRING)],
2023 [AC_MSG_RESULT(no)
f56c22b4 2024 AC_MSG_CHECKING([if std::basic_string<$char_type> works])
0a08f02a
MB
2025 AC_TRY_COMPILE([
2026 #ifdef HAVE_WCHAR_H
2027 # ifdef __CYGWIN__
2028 # include <stddef.h>
2029 # endif
2030 # include <wchar.h>
2031 #endif
2032 #ifdef HAVE_STDLIB_H
2033 # include <stdlib.h>
2034 #endif
2035 #include <stdio.h>
2036 #include <string>
2037 ],
f56c22b4
MW
2038 [std::basic_string<$char_type> foo;
2039 const $char_type* dummy = foo.c_str();],
0a08f02a
MB
2040 [AC_MSG_RESULT(yes)],
2041 [AC_MSG_RESULT([no])
f56c22b4 2042 if test "$wxUSE_STL" = "yes"; then
4b9918c5
MW
2043 AC_MSG_ERROR([Can't use --enable-stl without $std_string or std::basic_string<$char_type>])
2044 elif grep wxUSE_STD_STRING $wx_arg_cache_file >/dev/null; then
2045 AC_MSG_ERROR([Can't use --enable-std_string without $std_string or std::basic_string<$char_type>])
f56c22b4
MW
2046 else
2047 AC_MSG_WARN([No $std_string or std::basic_string<$char_type>, switching to --disable-std_string])
2048 wxUSE_STD_STRING=no
2049 fi
2050 ]
0a08f02a
MB
2051 )
2052 ])
0a08f02a
MB
2053fi
2054
f56c22b4 2055if test "$wxUSE_STD_IOSTREAM" = "yes"; then
f56c22b4
MW
2056 AC_CHECK_TYPES([std::istream, std::ostream],,
2057 [wxUSE_STD_IOSTREAM=no],
2058 [#include <iostream>])
2059
2060 if test "$wxUSE_STD_IOSTREAM" != "yes"; then
4b9918c5
MW
2061 if grep wxUSE_STD_IOSTREAM $wx_arg_cache_file >/dev/null; then
2062 AC_MSG_ERROR([Can't use --enable-std_iostreams without std::istream and std::ostream])
2063 else
2064 AC_MSG_WARN([No std::iostreams, switching to --disable-std_iostreams])
2065 fi
f56c22b4 2066 fi
f56c22b4
MW
2067fi
2068
e87b7833 2069if test "$wxUSE_STL" = "yes"; then
e87b7833
MB
2070 dnl check for basic STL functionality
2071 AC_MSG_CHECKING([for basic STL functionality])
2072 AC_TRY_COMPILE([#include <string>
2073 #include <functional>
2074 #include <algorithm>
2075 #include <vector>
2076 #include <list>],
2077 [std::vector<int> moo;
2078 std::list<int> foo;
5ff751d6 2079 std::vector<int>::iterator it =
e87b7833
MB
2080 std::find_if(moo.begin(), moo.end(),
2081 std::bind2nd(std::less<int>(), 3));],
2082 [AC_MSG_RESULT([yes])],
2083 [AC_MSG_RESULT([no])
2084 AC_MSG_ERROR([Basic STL functionality missing])])
2085
e87b7833
MB
2086 dnl check for compliant std::string::compare
2087 AC_MSG_CHECKING([for compliant std::string::compare])
2088 AC_TRY_COMPILE([#include <string>],
2089 [std::string foo, bar;
2090 foo.compare(bar);
2091 foo.compare(1, 1, bar);
2092 foo.compare(1, 1, bar, 1, 1);
2093 foo.compare("");
2094 foo.compare(1, 1, "");
2095 foo.compare(1, 1, "", 2);],
2096 [AC_MSG_RESULT(yes)
2097 AC_DEFINE(HAVE_STD_STRING_COMPARE)],
2098 [AC_MSG_RESULT(no)])
2099
bdcade0a
MB
2100 dnl check for hash_map and hash_set headers
2101 AC_CHECK_HEADER([hash_map],
2102 [AC_MSG_CHECKING([for hash_map and hash_set])
2103 AC_TRY_COMPILE([#include <hash_map>
2104 #include <hash_set>],
2105 [std::hash_map<double*, char*, std::hash<double*>, std::equal_to<double*> > test1;
2106 std::hash_set<char*, std::hash<char*>, std::equal_to<char*> > test2;],
2107 [AC_MSG_RESULT(yes)
2108 AC_DEFINE(HAVE_HASH_MAP)
2109 AC_DEFINE(HAVE_STD_HASH_MAP)],
2110 [AC_MSG_RESULT(no)])
2111 ])
2112
2113 AC_CHECK_HEADER([ext/hash_map],
2114 [AC_MSG_CHECKING([for hash_map and hash_set])
2115 AC_TRY_COMPILE([#include <ext/hash_map>
2116 #include <ext/hash_set>],
2117 [__gnu_cxx::hash_map<double*, char*, __gnu_cxx::hash<double*>, std::equal_to<double*> > test1;
2118 __gnu_cxx::hash_set<char*, __gnu_cxx::hash<char*>, std::equal_to<char*> > test2;],
2119 [AC_MSG_RESULT(yes)
2120 AC_DEFINE(HAVE_EXT_HASH_MAP)
2121 AC_DEFINE(HAVE_GNU_CXX_HASH_MAP)],
2122 [AC_MSG_RESULT(no)])
2123 ])
e87b7833
MB
2124fi
2125
9a98a854
VZ
2126dnl ---------------------------------------------------------------------------
2127dnl Define search path for includes and libraries: all headers and libs will be
2128dnl looked for in all directories of this path
2129dnl ---------------------------------------------------------------------------
2130
2b5f62a0
VZ
2131dnl Notice that /usr/include should *not* be in this list, otherwise it breaks
2132dnl compilation on Solaris/AIX/... with gcc because standard (non ANSI C)
2133dnl headers are included instead of the "fixed" (ANSI-fied) gcc ones.
afc31813
VZ
2134dnl
2135dnl Also try to put all directories which may contain X11R6 before those which
2136dnl may contain X11R5/4 - we want to use R6 on machines which have both!
789c5f4a
VZ
2137dnl
2138dnl In the same vein. Motif 2.1 should be tried before Motif 1.2 for the
2139dnl systems which have both (AIX 4.x does)
9a98a854 2140SEARCH_INCLUDE="\
ee31c269
VZ
2141 /usr/local/include \
2142 \
9a98a854 2143 /usr/Motif-2.1/include \
789c5f4a 2144 /usr/Motif-1.2/include \
9a98a854 2145 /usr/include/Motif1.2 \
9a98a854 2146 \
9a98a854 2147 /usr/dt/include \
afc31813
VZ
2148 /usr/openwin/include \
2149 \
9a98a854
VZ
2150 /usr/include/Xm \
2151 \
2152 /usr/X11R6/include \
afc31813 2153 /usr/X11R6.4/include \
9a98a854
VZ
2154 /usr/X11R5/include \
2155 /usr/X11R4/include \
2156 \
9a98a854
VZ
2157 /usr/include/X11R6 \
2158 /usr/include/X11R5 \
2159 /usr/include/X11R4 \
2160 \
2161 /usr/local/X11R6/include \
2162 /usr/local/X11R5/include \
2163 /usr/local/X11R4/include \
2164 \
2165 /usr/local/include/X11R6 \
2166 /usr/local/include/X11R5 \
2167 /usr/local/include/X11R4 \
2168 \
2169 /usr/X11/include \
2170 /usr/include/X11 \
2171 /usr/local/X11/include \
2172 /usr/local/include/X11 \
2173 \
9a98a854 2174 /usr/XFree86/include/X11 \
e051b34e
MW
2175 /usr/pkg/include \
2176 \
2b5f62a0 2177 /usr/openwin/share/include"
9a98a854 2178
c687b303
VZ
2179dnl try to find out the standard lib locations for the systems with multiple
2180dnl ABIs
0aaa804e
MW
2181AC_MSG_CHECKING([for libraries directory])
2182
c687b303 2183case "${host}" in
0aaa804e
MW
2184 *-*-irix6* )
2185 AC_CACHE_VAL(
c687b303
VZ
2186 wx_cv_std_libpath,
2187 [
2188 for d in WX_STD_LIBPATH(); do
2189 for e in a so sl dylib dll.a; do
2190 libc="$d/libc.$e"
2191 if test -f $libc; then
2192 save_LIBS="$LIBS"
2193 LIBS="$libc"
2194 AC_LINK_IFELSE([int main() { return 0; }],
2195 wx_cv_std_libpath=`echo $d | sed s@/usr/@@`)
2196 LIBS="$save_LIBS"
2197 if test "x$wx_cv_std_libpath" != "x"; then
2198 break 2
2199 fi
2200 fi
2201 done
2202 done
2203 if test "x$wx_cv_std_libpath" = "x"; then
2204 wx_cv_std_libpath="lib"
e7272c08 2205 fi
c687b303
VZ
2206 ]
2207 )
2208 ;;
2209
0aaa804e
MW
2210 *-*-solaris2* )
2211 dnl use ../lib or ../lib/64 depending on the size of void*
2212 if test "$ac_cv_sizeof_void_p" = 8 -a -d "/usr/lib/64"; then
2213 wx_cv_std_libpath="lib/64"
2214 else
2215 wx_cv_std_libpath="lib"
2216 fi
2217 ;;
2218
2219 *-*-linux* )
2220 dnl use ../lib or ../lib64 depending on the size of void*
2221 if test "$ac_cv_sizeof_void_p" = 8 -a \
2222 -d "/usr/lib64" -a ! -h "/usr/lib64"; then
2223 wx_cv_std_libpath="lib64"
2224 else
2225 wx_cv_std_libpath="lib"
2226 fi
2227 ;;
2228
c687b303
VZ
2229 *)
2230 wx_cv_std_libpath="lib";
2231 ;;
2232esac
e7272c08 2233
0aaa804e
MW
2234AC_MSG_RESULT($wx_cv_std_libpath)
2235
2236SEARCH_LIB="`echo "$SEARCH_INCLUDE" | sed s@include@$wx_cv_std_libpath@g` /usr/$wx_cv_std_libpath"
9a98a854 2237
3eca31dc
MW
2238dnl Cross compiling with gcc?
2239if test "$build" != "$host" -a "$GCC" = yes; then
2240 dnl for gcc cross-compilers "$CC -print-prog-name=ld" prints the path to
2241 dnl the linker. Stripping off the trailing '/bin/ld' gives us a candiate
2242 dnl for a 'root' below which libraries and headers for the target system
2243 dnl might be installed.
2244 if cross_root=`$CC -print-prog-name=ld 2>/dev/null`; then
2245 cross_root=`dirname $cross_root`
2246 cross_root=`dirname $cross_root`
2247
2248 dnl substitute this candiate root for '^/usr' in the search lists,
2249 dnl strip out any that don't start '^/usr'.
2250 SEARCH_LIB=`for x in $SEARCH_LIB; do echo $x; done | sed -ne "s|^/usr|$cross_root|p"`
2251 SEARCH_INCLUDE=`for x in $SEARCH_INCLUDE; do echo $x; done | sed -ne "s|^/usr|$cross_root|p"`
e4809643 2252 SEARCH_INCLUDE="$SEARCH_INCLUDE $cross_root/include"
3eca31dc
MW
2253
2254 dnl also have pkg-config search for *.pc files under this 'root'
2255 if test -z "$PKG_CONFIG_PATH"; then
2256 PKG_CONFIG_PATH="$cross_root/local/lib/pkgconfig:$cross_root/lib/pkgconfig"
2257 export PKG_CONFIG_PATH
2258 fi
2259
2260 dnl AC_PATH_XTRA doesn't work currently unless -x-includes and
2261 dnl -x-libraries are given on the command line. So if they are not
2262 dnl set then set them here to plausible defaults.
2263 if test -z "$x_includes" -o "$x_includes" = NONE; then
2264 WX_PATH_FIND_INCLUDES($SEARCH_INCLUDE, X11/Intrinsic.h)
2265 x_includes=$ac_find_includes
2266 fi
2267 if test -z "$x_libraries" -o "$x_libraries" = NONE; then
2268 WX_PATH_FIND_LIBRARIES($SEARCH_LIB, Xt)
2269 x_libraries=$ac_find_libraries
2270 fi
2271 fi
2272fi
2273
9a98a854
VZ
2274dnl ------------------------------------------------------------------------
2275dnl Check for libraries
2276dnl ------------------------------------------------------------------------
2277
143121c5 2278dnl flush the cache because checking for libraries below might abort
9a98a854
VZ
2279AC_CACHE_SAVE
2280
19bc6aad 2281dnl check for glibc version
efdc61a6
VZ
2282dnl
2283dnl VZ: I have no idea why had this check been there originally, but now
5c0a20c3 2284dnl we could probably do without it by just always adding _GNU_SOURCE
32b38f99 2285if test "$USE_LINUX" = 1 -o "$USE_GNU" = 1; then
19bc6aad
VZ
2286 AC_CACHE_CHECK([for glibc 2.1 or later], wx_cv_lib_glibc21,[
2287 AC_TRY_COMPILE([#include <features.h>],
2288 [
efdc61a6 2289 #if (__GLIBC__ < 2) || (__GLIBC_MINOR__ < 1)
dd6abbac 2290 not glibc 2.1
19bc6aad
VZ
2291 #endif
2292 ],
2293 [
2294 wx_cv_lib_glibc21=yes
2295 ],
2296 [
2297 wx_cv_lib_glibc21=no
2298 ]
2299 )
2300 ])
2301 if test "$wx_cv_lib_glibc21" = "yes"; then
2302 AC_DEFINE(wxHAVE_GLIBC2)
2303 fi
2304fi
2305
5c0a20c3
VZ
2306dnl we may need _GNU_SOURCE for 2 things:
2307dnl
2308dnl 1. to get PTHREAD_MUTEX_RECURSIVE with glibc 2.1+ (strictly speaking we
2309dnl only need _XOPEN_SOURCE=500 but just defining this disables _BSD_SOURCE
2310dnl which breaks libtiff compilation, so it is simpler to just define
2311dnl _GNU_SOURCE to get everything)
2312dnl
2313dnl 2. for Unicode functions
2314if test "x$wx_cv_lib_glibc21" = "xyes"; then
2315 if test "$wxUSE_UNICODE" = "yes" -o "$wxUSE_THREADS" = "yes"; then
2316 AC_DEFINE(_GNU_SOURCE)
2317 fi
2318fi
2319
8006bf3c
VZ
2320dnl Only add the -lm library if floating point functions cannot be used
2321dnl without it. This check is important on cygwin because of the bizarre
2322dnl way that they have organized functions into libraries. On cygwin, both
2323dnl libc.a and libm.a are symbolic links to a single lib libcygwin.a. This
2324dnl means that
2325dnl 1) linking with -lm is not necessary, and
2326dnl 2) linking with -lm is dangerous if the order of libraries is wrong
2327dnl In particular, if you compile any program with -mno-cygwin and link with
2328dnl -lm, it will crash instantly when it is run. This happens because the
2329dnl linker incorrectly links the Cygwin libm.a (==libcygwin.a), which replaces
2330dnl the ___main function instead of allowing it to be defined by
2331dnl /usr/lib/mingw/libmingw32.a as it should be.
2332dnl
2333dnl On MacOS X, this test will find that -lm is unnecessary and leave it out.
2334dnl
2335dnl Just check a few floating point functions. If they are all found without
2336dnl -lm, then we must not need -lm.
2337have_cos=0
2338have_floor=0
2339AC_CHECK_FUNCS(cos, have_cos=1)
2340AC_CHECK_FUNCS(floor, have_floor=1)
2341AC_MSG_CHECKING(if floating point functions link without -lm)
2342if test "$have_cos" = 1 -a "$have_floor" = 1; then
2343 AC_MSG_RESULT(yes)
2344else
2345 AC_MSG_RESULT(no)
2346 LIBS="$LIBS -lm"
2347 # use different functions to avoid configure caching
2348 have_sin=0
2349 have_ceil=0
2350 AC_CHECK_FUNCS(sin, have_sin=1)
2351 AC_CHECK_FUNCS(ceil, have_ceil=1)
2352 AC_MSG_CHECKING(if floating point functions link with -lm)
2353 if test "$have_sin" = 1 -a "$have_ceil" = 1; then
2354 AC_MSG_RESULT(yes)
2355 else
2356 AC_MSG_RESULT(no)
2357 # not sure we should warn the user, crash, etc.
2358 fi
2359fi
2360
4f14bcd8
GD
2361dnl ---------------------------------------------------------------------------
2362dnl Optional libraries
2363dnl
2364dnl --with-<lib>=sys
2365dnl looks for system library and fails if not found
2366dnl
2367dnl --with-<lib>
2368dnl --with-<lib>=yes
2369dnl looks for system library and, if not found, prints a warning,
2370dnl falls back to the builtin wx version, and continues configuration
2371dnl
2372dnl --with-<lib>=builtin
2373dnl uses builtin wx version without searching for system library
2374dnl
2375dnl --with-<lib>=no
2376dnl --without-<lib>
2377dnl do not use library (neither system nor builtin wx version)
2378dnl
2379dnl ---------------------------------------------------------------------------
2380
18dbb1f6
VZ
2381dnl ------------------------------------------------------------------------
2382dnl Check for regex libraries
2383dnl ------------------------------------------------------------------------
2384
18dbb1f6 2385if test "$wxUSE_REGEX" != "no"; then
4f14bcd8 2386 AC_DEFINE(wxUSE_REGEX)
5ff751d6 2387
30f2fa6c 2388 if test "$wxUSE_UNICODE" = "yes" -a "$wxUSE_REGEX" = "yes"; then
4996f261 2389 AC_MSG_WARN([Defaulting to the the builtin regex library for Unicode build.])
30f2fa6c
VS
2390 wxUSE_REGEX=builtin
2391 fi
4f14bcd8
GD
2392
2393 if test "$wxUSE_REGEX" = "sys" -o "$wxUSE_REGEX" = "yes" ; then
2394 dnl according to Unix 98 specs, regcomp() is in libc but I believe that
2395 dnl on some old systems it may be in libregex - check for it too?
ab0f0edd 2396 AC_CHECK_HEADER(regex.h, [AC_CHECK_FUNCS(regcomp re_search)])
4f14bcd8
GD
2397
2398 if test "x$ac_cv_func_regcomp" != "xyes"; then
2399 if test "$wxUSE_REGEX" = "sys" ; then
2400 AC_MSG_ERROR([system regex library not found! Use --with-regex to use built-in version])
2401 else
a3df447d 2402 AC_MSG_WARN([system regex library not found, will use built-in instead])
4f14bcd8
GD
2403 wxUSE_REGEX=builtin
2404 fi
2405 else
2406 dnl we are using the system library
2407 wxUSE_REGEX=sys
4996f261
VS
2408 dnl only the built-in supports advanced REs
2409 AC_DEFINE(WX_NO_REGEX_ADVANCED)
18dbb1f6 2410 fi
4f14bcd8 2411 fi
4f14bcd8 2412fi
18dbb1f6 2413
4f14bcd8
GD
2414dnl ------------------------------------------------------------------------
2415dnl Check for zlib compression library
2416dnl ------------------------------------------------------------------------
2417
4f14bcd8
GD
2418ZLIB_LINK=
2419if test "$wxUSE_ZLIB" != "no" ; then
2420 AC_DEFINE(wxUSE_ZLIB)
2421
2422 if test "$wxUSE_ZLIB" = "sys" -o "$wxUSE_ZLIB" = "yes" ; then
d775acfa
VZ
2423 dnl don't test for zlib under Mac -- its verson there is 1.1.3 but we
2424 dnl should still use it because hopefully (can someone confirm this?)
2425 dnl Apple did fix the security problem in it and not using the system
2426 dnl library results in a whole bunch of warnings when linking with
2427 dnl Carbon framework
2428 if test "$USE_DARWIN" = 1; then
2429 system_zlib_h_ok="yes"
2430 else
2431 dnl we have troubles with ancient zlib versions (e.g. 1.0.4 is
2432 dnl known to not work) and although I don't know which is
2433 dnl the minimal required version it's safer to test for 1.1.4 as
2434 dnl it fixes a security problem in 1.1.3 -- and hopefully nobody
2435 dnl has anything more ancient (1.1.3 was released in July 1998)
2436 dnl anyhow
2437 AC_CACHE_CHECK([for zlib.h >= 1.1.4], ac_cv_header_zlib_h,
ef33c576
VZ
2438 [AC_TRY_RUN(
2439 dnl zlib.h defines ZLIB_VERSION="x.y.z"
d775acfa 2440 [
d775acfa
VZ
2441 #include <zlib.h>
2442 #include <stdio.h>
2443
d775acfa
VZ
2444 int main()
2445 {
2446 FILE *f=fopen("conftestval", "w");
2447 if (!f) exit(1);
2448 fprintf(f, "%s",
2449 ZLIB_VERSION[0] == '1' &&
2450 (ZLIB_VERSION[2] > '1' ||
2451 (ZLIB_VERSION[2] == '1' &&
2452 ZLIB_VERSION[4] >= '4')) ? "yes" : "no");
2453 exit(0);
2454 }
d775acfa
VZ
2455 ],
2456 ac_cv_header_zlib_h=`cat conftestval`,
2457 ac_cv_header_zlib_h=no,
d1188635
JS
2458 dnl cross-compiling: don't have an answer, try later
2459 unset ac_cv_header_zlib_h
ef33c576 2460 )]
d643b80e 2461 )
d1188635
JS
2462 dnl If the test above did not come up with a value (e.g. cross
2463 dnl compiling) then this should give a definitive answer
2464 AC_CHECK_HEADER(zlib.h)
d643b80e 2465
d775acfa
VZ
2466 system_zlib_h_ok=$ac_cv_header_zlib_h
2467 fi
2468
2469 if test "$system_zlib_h_ok" = "yes"; then
d643b80e
VZ
2470 AC_CHECK_LIB(z, deflate, ZLIB_LINK=" -lz")
2471 fi
4f14bcd8
GD
2472
2473 if test "x$ZLIB_LINK" = "x" ; then
2474 if test "$wxUSE_ZLIB" = "sys" ; then
d643b80e 2475 AC_MSG_ERROR([zlib library not found or too old! Use --with-zlib=builtin to use built-in version])
4f14bcd8 2476 else
d643b80e 2477 AC_MSG_WARN([zlib library not found or too old, will use built-in instead])
4f14bcd8
GD
2478 wxUSE_ZLIB=builtin
2479 fi
2480 else
2481 dnl we are using the system library
2482 wxUSE_ZLIB=sys
2483 fi
2484 fi
4f14bcd8
GD
2485fi
2486
2487dnl ------------------------------------------------------------------------
2488dnl Check for png library
2489dnl ------------------------------------------------------------------------
2490
4f14bcd8
GD
2491PNG_LINK=
2492if test "$wxUSE_LIBPNG" != "no" ; then
2493 AC_DEFINE(wxUSE_LIBPNG)
3bd8fb5f 2494
81809c07
VS
2495 if test "$wxUSE_MGL" = 1 -a "$wxUSE_LIBPNG" = "builtin" ; then
2496 AC_MSG_WARN([wxMGL doesn't work with builtin png library, will use MGL one instead])
2497 wxUSE_LIBPNG=sys
2498 fi
4f14bcd8
GD
2499
2500 dnl for the check below to have a chance to succeed, we must already have
81809c07
VS
2501 dnl libz somewhere (don't do this when bulding wxMGL since its libpng
2502 dnl doesn't depend on zlib)
2503 if test "$wxUSE_MGL" != 1 -a "$wxUSE_LIBPNG" = "sys" -a "$wxUSE_ZLIB" != "sys" ; then
a3df447d 2504 AC_MSG_WARN([system png library doesn't work without system zlib, will use built-in instead])
4f14bcd8
GD
2505 wxUSE_LIBPNG=builtin
2506 fi
2507
81809c07
VS
2508 if test "$wxUSE_MGL" != 1 ; then
2509 dnl Don't check for libpng when building wxMGL, libmgl contains it
2510 if test "$wxUSE_LIBPNG" = "sys" -o "$wxUSE_LIBPNG" = "yes" ; then
5d3f766d
VZ
2511 dnl libpng version 0.9 is known to not work, if an even newer
2512 dnl version is required, just bump it up in the test below
2513 AC_CACHE_CHECK([for png.h > 0.90], ac_cv_header_png_h,
ef33c576
VZ
2514 [AC_TRY_RUN(
2515 dnl png.h defines PNG_LIBPNG_VER=number
5d3f766d 2516 [
5d3f766d
VZ
2517 #include <png.h>
2518 #include <stdio.h>
2519
2520 int main()
2521 {
2522 FILE *f=fopen("conftestval", "w");
2523 if (!f) exit(1);
2524 fprintf(f, "%s",
2525 PNG_LIBPNG_VER > 90 ? "yes" : "no");
2526 exit(0);
2527 }
2528 ],
2529 ac_cv_header_png_h=`cat conftestval`,
2530 ac_cv_header_png_h=no,
d1188635
JS
2531 dnl cross-compiling: test (later) if we have any png.h
2532 unset ac_cv_header_png_h
ef33c576 2533 )]
5d3f766d 2534 )
d1188635 2535 AC_CHECK_HEADER(png.h)
5d3f766d
VZ
2536
2537 if test "$ac_cv_header_png_h" = "yes"; then
b3c7058a 2538 AC_CHECK_LIB(png, png_check_sig, PNG_LINK=" -lpng -lz", , [-lz -lm])
5d3f766d 2539 fi
81809c07
VS
2540
2541 if test "x$PNG_LINK" = "x" ; then
2542 if test "$wxUSE_LIBPNG" = "sys" ; then
0c98a14e 2543 AC_MSG_ERROR([system png library not found or too old! Use --with-libpng=builtin to use built-in version])
81809c07 2544 else
0c98a14e 2545 AC_MSG_WARN([system png library not found or too old, will use built-in instead])
81809c07
VS
2546 wxUSE_LIBPNG=builtin
2547 fi
4f14bcd8 2548 else
81809c07 2549 dnl we are using the system library
2b5f62a0 2550 wxUSE_LIBPNG=sys
4f14bcd8 2551 fi
4f14bcd8
GD
2552 fi
2553 fi
2554
4f14bcd8
GD
2555 SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS png"
2556fi
2557
2558dnl ------------------------------------------------------------------------
2559dnl Check for jpeg library
2560dnl ------------------------------------------------------------------------
2561
4f14bcd8
GD
2562JPEG_LINK=
2563if test "$wxUSE_LIBJPEG" != "no" ; then
2564 AC_DEFINE(wxUSE_LIBJPEG)
2565
81809c07
VS
2566 if test "$wxUSE_MGL" = 1 -a "$wxUSE_LIBJPEG" = "builtin" ; then
2567 AC_MSG_WARN([wxMGL doesn't work with builtin jpeg library, will use MGL one instead])
2568 wxUSE_LIBJPEG=sys
2569 fi
2570
2571 if test "$wxUSE_MGL" != 1 ; then
2572 dnl Don't check for libjpeg when building wxMGL, libmgl contains it
2573 if test "$wxUSE_LIBJPEG" = "sys" -o "$wxUSE_LIBJPEG" = "yes" ; then
2574 dnl can't use AC_CHECK_HEADER as jconfig.h defines things like
2575 dnl HAVE_STDLIB_H which are already defined and this provokes
2576 dnl a compiler warning which configure considers as an error...
2577 AC_MSG_CHECKING(for jpeglib.h)
2578 AC_CACHE_VAL(ac_cv_header_jpeglib_h,
2579 AC_TRY_COMPILE(
2580 [
2581 #undef HAVE_STDLIB_H
2582 #include <stdio.h>
2583 #include <jpeglib.h>
2584 ],
2585 [
2586 ],
2587 ac_cv_header_jpeglib_h=yes,
2588 ac_cv_header_jpeglib_h=no
2589 )
4f14bcd8 2590 )
81809c07 2591 AC_MSG_RESULT($ac_cv_header_jpeglib_h)
4f14bcd8 2592
81809c07
VS
2593 if test "$ac_cv_header_jpeglib_h" = "yes"; then
2594 AC_CHECK_LIB(jpeg, jpeg_read_header, JPEG_LINK=" -ljpeg")
2595 fi
4f14bcd8 2596
81809c07
VS
2597 if test "x$JPEG_LINK" = "x" ; then
2598 if test "$wxUSE_LIBJPEG" = "sys" ; then
2599 AC_MSG_ERROR([system jpeg library not found! Use --with-libjpeg=builtin to use built-in version])
2600 else
2601 AC_MSG_WARN([system jpeg library not found, will use built-in instead])
2602 wxUSE_LIBJPEG=builtin
2603 fi
4f14bcd8 2604 else
81809c07
VS
2605 dnl we are using the system library
2606 wxUSE_LIBJPEG=sys
4f14bcd8 2607 fi
4f14bcd8
GD
2608 fi
2609 fi
4f14bcd8
GD
2610fi
2611
2612dnl ------------------------------------------------------------------------
2613dnl Check for tiff library
2614dnl ------------------------------------------------------------------------
2615
4f14bcd8 2616TIFF_LINK=
2b5f62a0 2617TIFF_PREREQ_LINKS=-lm
4f14bcd8
GD
2618if test "$wxUSE_LIBTIFF" != "no" ; then
2619 AC_DEFINE(wxUSE_LIBTIFF)
2620
2621 if test "$wxUSE_LIBTIFF" = "sys" -o "$wxUSE_LIBTIFF" = "yes" ; then
2b5f62a0
VZ
2622 dnl libtiff may depend on libjpeg and libz so use them in the test
2623 dnl below or it would fail
2624 if test "$wxUSE_LIBJPEG" = "sys"; then
2625 TIFF_PREREQ_LINKS="$TIFF_PREREQ_LINKS $JPEG_LINK"
2626 fi
2627 if test "$wxUSE_ZLIB" = "sys"; then
2628 TIFF_PREREQ_LINKS="$TIFF_PREREQ_LINKS $ZLIB_LINK"
2629 fi
4f14bcd8 2630 AC_CHECK_HEADER(tiffio.h,
4c15b7af
SN
2631 [
2632 AC_CHECK_LIB(tiff, TIFFError,
2633 TIFF_LINK=" -ltiff",
2634 ,
2635 $TIFF_PREREQ_LINKS)
2636 ]
4f14bcd8
GD
2637 )
2638
2639 if test "x$TIFF_LINK" = "x" ; then
2640 if test "$wxUSE_LIBTIFF" = "sys" ; then
2641 AC_MSG_ERROR([system tiff library not found! Use --with-libtiff=builtin to use built-in version])
2642 else
a3df447d 2643 AC_MSG_WARN([system tiff library not found, will use built-in instead])
4f14bcd8
GD
2644 wxUSE_LIBTIFF=builtin
2645 fi
2646 else
2647 dnl we are using the system library
2648 wxUSE_LIBTIFF=sys
2649 fi
2650 fi
4f14bcd8
GD
2651fi
2652
672abd7a
VS
2653dnl ------------------------------------------------------------------------
2654dnl Check for expat libraries
2655dnl ------------------------------------------------------------------------
2656
61c213fe
MW
2657if test "$wxUSE_WCHAR_T" != "yes"; then
2658 if test "$wxUSE_EXPAT" != "no"; then
2659 AC_MSG_WARN([wxWidgets requires wchar_t to use expat, disabling])
2660 wxUSE_EXPAT=no
2661 fi
2662 if test "$wxUSE_XML" != "no"; then
2663 AC_MSG_WARN([wxWidgets requires wchar_t to use xml, disabling])
2664 wxUSE_XML=no
2665 fi
2666fi
2667
672abd7a 2668if test "$wxUSE_EXPAT" != "no"; then
8bcf2d20 2669 wxUSE_XML=yes
672abd7a
VS
2670 AC_DEFINE(wxUSE_EXPAT)
2671 AC_DEFINE(wxUSE_XML)
5ff751d6
VZ
2672
2673 if test "$wxUSE_EXPAT" = "sys" -o "$wxUSE_EXPAT" = "yes" ; then
5f0b6dff
VS
2674 AC_CHECK_HEADER([expat.h], [found_expat_h=1])
2675 if test "x$found_expat_h" = "x1"; then
2676 dnl Expat 1.95.6 comes with broken expat.h:
2677 AC_CACHE_CHECK([if expat.h is valid C++ header],
2678 wx_cv_expat_is_not_broken,
2679 [
5f0b6dff
VS
2680 AC_TRY_COMPILE([#include <expat.h>],[],
2681 wx_cv_expat_is_not_broken=yes,
2682 wx_cv_expat_is_not_broken=no
2683 )
5f0b6dff
VS
2684 ]
2685 )
2686 if test "$wx_cv_expat_is_not_broken" = "yes" ; then
2687 AC_CHECK_LIB(expat, XML_ParserCreate, EXPAT_LINK=" -lexpat")
2688 fi
672abd7a
VS
2689 fi
2690 if test "x$EXPAT_LINK" = "x" ; then
2691 if test "$wxUSE_EXPAT" = "sys" ; then
2692 AC_MSG_ERROR([system expat library not found! Use --with-expat=builtin to use built-in version])
2693 else
2694 AC_MSG_WARN([system expat library not found, will use built-in instead])
2695 wxUSE_EXPAT=builtin
2696 fi
2697 else
2698 dnl we are using the system library
2699 wxUSE_EXPAT=sys
2700 fi
2701 fi
2702 if test "$wxUSE_EXPAT" = "builtin" ; then
2703 dnl Expat needs this:
2704 AC_CONFIG_SUBDIRS([src/expat])
2705 fi
2706fi
2707
2708
3527f29c
VS
2709dnl ------------------------------------------------------------------------
2710dnl Check for libmspack
2711dnl ------------------------------------------------------------------------
2712
2713if test "$wxUSE_LIBMSPACK" != "no"; then
3527f29c
VS
2714 AC_CHECK_HEADER([mspack.h], [found_mspack_h=1])
2715 if test "x$found_mspack_h" = "x1"; then
2716 AC_CHECK_LIB(mspack, mspack_create_chm_decompressor,
2717 MSPACK_LINK=" -lmspack")
2718 fi
2719 if test "x$MSPACK_LINK" = "x" ; then
2720 wxUSE_LIBMSPACK=no
3527f29c
VS
2721 fi
2722fi
2723
dd3a2d96
VZ
2724if test "$wxUSE_LIBMSPACK" != "no"; then
2725 AC_DEFINE(wxUSE_LIBMSPACK)
dd3a2d96
VZ
2726fi
2727
3527f29c 2728
9a98a854
VZ
2729dnl ----------------------------------------------------------------
2730dnl search for toolkit (widget sets)
2731dnl ----------------------------------------------------------------
2732
dad6c0ea 2733AFMINSTALL=
2b5f62a0 2734WIN32INSTALL=
dad6c0ea 2735
3a922bb4
RL
2736TOOLKIT=
2737TOOLKIT_INCLUDE=
2738WIDGET_SET=
e90c1d2a 2739
3a922bb4
RL
2740dnl are we building for a win32 target environment?
2741dnl If so, setup common stuff needed for both GUI and Base libs.
2742if test "$USE_WIN32" = 1 ; then
2743 AC_CHECK_HEADERS(w32api.h)
2744 AC_CHECK_HEADER(windows.h, [],
2745 [
2746 AC_MSG_ERROR(please set CFLAGS to contain the location of windows.h)
2747 ])
dad6c0ea 2748
3a922bb4
RL
2749 dnl --- FIXME: This is still a somewhat random list of libs,
2750 dnl --- some of them should probably be included conditionally.
b3dfbbc9 2751 LIBS="$LIBS -lwinspool -lwinmm -lshell32 -lcomctl32 -lcomdlg32 -lctl3d32 -ladvapi32 -lwsock32 -lgdi32"
9a98a854 2752
7bb2947d
MB
2753 if test "$wxUSE_ACCESSIBILITY" = "yes" ; then
2754 LIBS="$LIBS -loleacc"
2755 fi
2756
77e13408
RL
2757 case "${host}" in
2758 *-*-cygwin* )
2759 dnl Cygwin doesn't include these by default
b3dfbbc9 2760 LIBS="$LIBS -lkernel32 -luser32"
77e13408 2761 esac
7b7a7637 2762
3a922bb4 2763 dnl add extra odbc libs if we have compiled in odbc
8647bec6
RG
2764 if test "$wxUSE_ODBC" = "sys" ; then
2765 wxUSE_ODBC = "yes"
2766 fi
3a922bb4 2767 if test "$wxUSE_ODBC" = "yes" ; then
a72a4bfa 2768 LIBS=" -lodbc32 -lole32 -loleaut32 $LIBS"
8647bec6 2769 AC_DEFINE(wxUSE_ODBC)
3a922bb4 2770 fi
8647bec6 2771 dnl We might want to abort here if wxUSE_ODBC="builtin" isn't supported on msw.
9a98a854 2772
370d2fd7 2773 dnl This one is still used by some sample makefiles.
3a922bb4
RL
2774 RESFLAGS="--include-dir \$(top_srcdir)/include --include-dir \$(top_srcdir)/\$(program_dir) --define __WIN32__ --define __WIN95__ --define __GNUWIN32__"
2775 RESPROGRAMOBJ="\$(PROGRAM)_resources.o"
2b5f62a0 2776
004ee6da
RL
2777 dnl This lot we export to wx-config. It must add the relevant
2778 dnl include directories at the point when they can be known.
2779 dnl (but are these (still) required anyway?)
2780 WXCONFIG_RESFLAGS="--define __WIN32__ --define __WIN95__ --define __GNUWIN32__"
370d2fd7 2781
2b5f62a0
VZ
2782 dnl install Win32-specific files in "make install"
2783 WIN32INSTALL=win32install
3a922bb4 2784fi
3f0f0161 2785
3a922bb4
RL
2786if test "$wxUSE_GUI" = "yes"; then
2787 USE_GUI=1
a9b5e89f 2788
3a922bb4 2789 GUI_TK_LIBRARY=
32832908 2790
3a922bb4
RL
2791 WXGTK12=
2792 WXGTK127=
2793 WXGTK20=
16bd311d 2794 WXGPE=
32832908 2795
207bc66c
RN
2796 if test "$wxUSE_COCOA" = 1 ; then
2797 if test "$wxUSE_PRINTING_ARCHITECTURE" = "yes"; then
2798 AC_MSG_WARN([Printing not supported under wxCocoa yet, disabled])
2799 wxUSE_PRINTING_ARCHITECTURE=no
2800 fi
2801 if test "$wxUSE_DRAG_AND_DROP" = "yes"; then
2802 AC_MSG_WARN([Drag and Drop not supported under wxCocoa yet, disabled])
2803 wxUSE_DRAG_AND_DROP=no
2804 fi
2805 if test "$wxUSE_DRAGIMAGE" = "yes"; then
2806 AC_MSG_WARN([Drag Image and DandD not supported under wxCocoa yet, disabled])
2807 wxUSE_DRAGIMAGE=no
2808 fi
2809 fi
2810
77e13408 2811 if test "$wxUSE_MSW" = 1 ; then
1e6feb95
VZ
2812 TOOLKIT=MSW
2813 GUIDIST=MSW_DIST
ffef10f6
VS
2814
2815 dnl -mwindows causes a heap of other default gui libs to be linked in.
ffef10f6
VS
2816 case "${host}" in
2817 *-*-mingw32* )
2818 WXCONFIG_LDFLAGS_GUI="$LDFLAGS -Wl,--subsystem,windows -mwindows"
2819 esac
7e99ad86
VZ
2820 fi
2821
1e6feb95 2822 if test "$wxUSE_GTK" = 1; then
d84cedb3
VZ
2823 dnl GTK+ test program must be compiled with C compiler
2824 AC_LANG_PUSH(C)
2825
8168de4c 2826 AC_MSG_CHECKING([for GTK+ version])
b9fa850d 2827
8168de4c
VZ
2828 gtk_version_cached=1
2829 AC_CACHE_VAL(wx_cv_lib_gtk,
2830 [
2831 dnl stupid GTK+ AM macros produce their own messages, so we
2832 dnl have to pass to the next line
2833 gtk_version_cached=0
d48ad9bd 2834 AC_MSG_RESULT()
8168de4c 2835
3f345b47
VZ
2836 dnl we must link against lgthread unless the user
2837 dnl used --disable-threads
2838 GTK_MODULES=
2839 if test "$wxUSE_THREADS" = "yes"; then
2840 GTK_MODULES=gthread
2841 fi
2842
f34ca037 2843 dnl detect GTK2
8168de4c 2844 wx_cv_lib_gtk=
5001df0d
MW
2845 if test "x$wxGTK_VERSION" != "x1"
2846 then
2847 dnl The gthread.pc that ships with solaris returns '-mt',
2848 dnl it's correct for Sun CC, but gcc requires '-pthreads'.
2849 dnl So disable the compile check and remove the -mt below.
2850 case "${host}" in
2851 *-*-solaris2* )
2852 if test "$wxUSE_THREADS" = "yes" -a "$GCC" = yes; then
5ff751d6 2853 enable_gtktest=no
5001df0d
MW
2854 fi
2855 esac
2856
1ae7bd02 2857 AM_PATH_GTK_2_0(2.0.0, wx_cv_lib_gtk=2.0, , $GTK_MODULES)
5001df0d
MW
2858
2859 dnl Remove the '-mt' for gcc on solaris
2860 case "${host}" in
2861 *-*-solaris2* )
2862 if test "$wxUSE_THREADS" = "yes" -a "$GCC" = yes; then
2863 GTK_CFLAGS=`echo $GTK_CFLAGS | sed 's/-mt//'`
2864 GTK_LIBS=`echo $GTK_LIBS | sed 's/-mt//'`
2865 fi
2866 dnl solaris also requires -lX11 for static lib
2867 if test "$wxUSE_SHARED" != "yes"; then
2868 GTK_LIBS="$GTK_LIBS -lX11"
2869 fi
2870 esac
f597b41c
MW
2871 fi
2872
f34ca037
MW
2873 dnl detect GTK1.x
2874 if test -z "$wx_cv_lib_gtk"; then
2875 if test "x$wxGTK_VERSION" = "x1" -o "x$wxGTK_VERSION" = "xany" ; then
2876 AM_PATH_GTK(1.2.7, wx_cv_lib_gtk=1.2.7, , $GTK_MODULES)
8168de4c 2877
f34ca037
MW
2878 if test -z "$wx_cv_lib_gtk"; then
2879 AM_PATH_GTK(1.2.3, wx_cv_lib_gtk=1.2.3, , $GTK_MODULES)
2880 fi
2b5f62a0 2881 fi
8168de4c
VZ
2882 fi
2883
2884 if test -z "$wx_cv_lib_gtk"; then
2885 dnl looks better in AC_MSG_RESULT
2886 wx_cv_lib_gtk=none
138be253
VZ
2887 else
2888 dnl we need to cache GTK_CFLAGS and GTK_LIBS for the
2889 dnl subsequent runs
2890 wx_cv_cflags_gtk=$GTK_CFLAGS
631e67db 2891 wx_cv_libs_gtk=`echo $GTK_LIBS | sed -e 's/ -l[[^ ]]*cairo[[^ ]]*//g'`
8168de4c
VZ
2892 fi
2893 ]
2894 )
b9fa850d 2895
8168de4c
VZ
2896 dnl if it wasn't cached, the messages from AM_PATH_GTK() above are
2897 dnl enough
2898 if test "$gtk_version_cached" = 1; then
2899 AC_MSG_RESULT($wx_cv_lib_gtk)
2900 fi
b9fa850d 2901
8168de4c
VZ
2902 case "$wx_cv_lib_gtk" in
2903 2.0) WXGTK20=1
2b5f62a0 2904 TOOLKIT_VERSION=2
8168de4c
VZ
2905 ;;
2906 1.2.7) WXGTK127=1
d1a8d972 2907 WXGTK12=1
8168de4c
VZ
2908 ;;
2909 1.2.3) WXGTK12=1
2910 ;;
2911 *) AC_MSG_ERROR([
f597b41c
MW
2912The development files for GTK+ were not found. For GTK+ 2, please
2913ensure that pkg-config is in the path and that gtk+-2.0.pc is
2914installed. For GTK+ 1.2 please check that gtk-config is in the path,
2915and that the version is 1.2.3 or above. Also check that the
2916libraries returned by 'pkg-config gtk+-2.0 --libs' or 'gtk-config
2917--libs' are in the LD_LIBRARY_PATH or equivalent.
8168de4c
VZ
2918 ])
2919 ;;
2920 esac
c596875e 2921
b13cd66e 2922 if test "$WXGTK20" = 1; then
e56f4f9e 2923 save_CXXFLAGS="$CFLAGS"
304205f1 2924 save_LIBS="$LIBS"
c92ad099 2925 CFLAGS="$wx_cv_cflags_gtk $CFLAGS"
fb4c95cb 2926 LIBS="$LIBS $wx_cv_libs_gtk"
6ebeb4c7 2927
abc736fd
MW
2928 dnl gtk_icon_size_lookup is not available in the GTK+ headers
2929 dnl that have shipped with some versions of Sun's JDS. Not using
2930 dnl AC_CHECK_FUNCS here since it only checks the function exists
2931 dnl in the lib (not the header).
2932 AC_MSG_CHECKING([if gtk_icon_size_lookup is missing])
2933 AC_TRY_COMPILE([
2934 #include <gtk/gtk.h>
2935 ],
2936 [
2937 void *f = gtk_icon_size_lookup;
2938 ],
2939 [
2940 AC_MSG_RESULT([no])
2941 ],
2942 [
2943 AC_DEFINE(NEED_GTK_ICON_SIZE_LOOKUP)
2944 AC_MSG_RESULT([yes])
2945 ])
6ebeb4c7 2946
9755e73b
VS
2947 dnl test if we have at least GTK+ 2.4:
2948 AC_MSG_CHECKING([if GTK+ is version >= 2.4])
2949 AC_TRY_COMPILE([
2950 #include <gtk/gtk.h>
2951 ],
2952 [
2953 #if !GTK_CHECK_VERSION(2,4,0)
dd6abbac 2954 Not GTK+ 2.4
9755e73b
VS
2955 #endif
2956 ],
2957 [
2958 AC_DEFINE(__WXGTK24__)
2959 AC_MSG_RESULT([yes])
2960 ],
2961 [
2962 AC_MSG_RESULT([no])
2963 ])
6ebeb4c7 2964
304205f1
VS
2965 CFLAGS="$save_CFLAGS"
2966 LIBS="$save_LIBS"
2b5f62a0
VZ
2967 else
2968 if test "$wxUSE_UNICODE" = "yes"; then
2969 AC_MSG_WARN([Unicode configuration not supported with GTK+ 1.x])
2970 wxUSE_UNICODE=no
2971 fi
2972 fi
2973
e56f4f9e
VZ
2974 AC_LANG_POP
2975
2b5f62a0
VZ
2976 dnl we need poll() in src/gtk/app.cpp (we know that Darwin doesn't
2977 dnl have it but we do the check for the others)
2978 if test "$USE_DARWIN" != 1; then
2979 AC_CHECK_FUNCS(poll)
f09359cf
VS
2980 fi
2981
138be253 2982 TOOLKIT_INCLUDE="$wx_cv_cflags_gtk"
c74dc163 2983 GUI_TK_LIBRARY="$wx_cv_libs_gtk $GUI_TK_LIBRARY"
7799a2d7 2984
1e6feb95
VZ
2985 AFMINSTALL=afminstall
2986 TOOLKIT=GTK
2987 GUIDIST=GTK_DIST
9a98a854 2988
1e6feb95
VZ
2989 dnl test for XIM support in libgdk
2990 AC_CHECK_LIB(gdk, gdk_im_open, AC_DEFINE(HAVE_XIM))
5ff751d6
VZ
2991
2992
16bd311d
RR
2993 dnl test for external libxpm if we're configured to use it
2994 if test "$wxUSE_GPE" = "yes"; then
2995 AC_MSG_CHECKING(for gpewidget library)
2996 WX_PATH_FIND_LIBRARIES($SEARCH_LIB,gpewidget)
2997 if test "$ac_find_libraries" != "" ; then
2998 WX_LINK_PATH_EXIST($ac_find_libraries,$GUI_TK_LIBRARY)
2999 dnl -lgpewidget must be before all GTK libs and
3000 dnl we guess its path from the prefix
3001 GUI_TK_LIBRARY="-L${prefix}/lib -lgpewidget $GUI_TK_LIBRARY"
3002 WXGPE=1
a8793ff9 3003 AC_MSG_RESULT([found in $ac_find_libraries])
16bd311d
RR
3004 else
3005 AC_MSG_RESULT(not found)
3006 fi
3007
3008 dnl AC_MSG_CHECKING(for gpe library)
3009 dnl WX_PATH_FIND_LIBRARIES($SEARCH_LIB,gpe)
3010 dnl if test "$ac_find_libraries" != "" ; then
3011 dnl WX_LINK_PATH_EXIST($ac_find_libraries,$GUI_TK_LIBRARY)
3012 dnl GUI_TK_LIBRARY="$GUI_TK_LIBRARY -lgpe"
a8793ff9 3013 dnl AC_MSG_RESULT(found in $ac_find_libraries)
16bd311d
RR
3014 dnl else
3015 dnl AC_MSG_RESULT(not found)
3016 dnl fi
3017 fi
5a92d200
RR
3018 fi
3019
1e6feb95 3020 if test "$wxUSE_MGL" = 1; then
63a76696 3021 AC_MSG_CHECKING(for SciTech MGL library)
1e6feb95
VZ
3022 if test "x$MGL_ROOT" = x ; then
3023 AC_MSG_RESULT(not found)
3024 AC_MSG_ERROR([Cannot find MGL library. Make sure MGL_ROOT is set.])
3025 else
3026 AC_MSG_RESULT($MGL_ROOT)
3027 fi
5a92d200 3028
63a76696 3029 AC_MSG_CHECKING(for libmgl location)
f9bc1684 3030 dnl Find MGL library that we want
e46d2a18
VS
3031 dnl FIXME_MGL - test for MGL variants for freebsd etc.;
3032 dnl and for non-x86 versions
f9bc1684
VS
3033 case "${host}" in
3034 *-*-linux* )
e46d2a18
VS
3035 dnl glibc.so, glibc are for older versions of MGL,
3036 dnl x86/a, x86/so are used by >= 5.0 R11
63a76696 3037 if test "x$wxUSE_SHARED" = xyes ; then
e46d2a18 3038 mgl_os_candidates="linux/gcc/x86/so linux/gcc/x86/a linux/gcc/glibc.so linux/gcc/glibc"
63a76696 3039 else
e46d2a18 3040 mgl_os_candidates="linux/gcc/x86/a linux/gcc/x86/so linux/gcc/glibc linux/gcc/glibc.so"
63a76696 3041 fi
f9bc1684
VS
3042 ;;
3043 *-pc-msdosdjgpp )
63a76696 3044 mgl_os_candidates="dos32/dj2"
f9bc1684
VS
3045 ;;
3046 *)
3047 AC_MSG_ERROR(This system type ${host} is not yet supported by wxMGL.)
3048 esac
3049
3a922bb4 3050 mgl_lib_type=""
63a76696
VS
3051 mgl_os=""
3052
3053 for mgl_os_i in $mgl_os_candidates ; do
3054 if test "x$mgl_os" = x ; then
3055 if test "$wxUSE_DEBUG_FLAG" = yes ; then
3056 if test -f $MGL_ROOT/lib/debug/$mgl_os_i/libmgl.a -o \
3057 -f $MGL_ROOT/lib/debug/$mgl_os_i/libmgl.so; then
3058 mgl_lib_type=debug
3059 mgl_os=$mgl_os_i
3060 fi
3061 fi
3062 if test "x$mgl_lib_type" = x ; then
3063 if test -f $MGL_ROOT/lib/release/$mgl_os_i/libmgl.a -o \
3064 -f $MGL_ROOT/lib/release/$mgl_os_i/libmgl.so; then
3065 mgl_lib_type=release
3066 mgl_os=$mgl_os_i
3067 fi
3068 fi
1e6feb95 3069 fi
63a76696 3070 done
264de0cc 3071
63a76696
VS
3072 if test "x$mgl_os" = x ; then
3073 AC_MSG_RESULT(not found)
3074 AC_MSG_ERROR([Cannot find MGL libraries, make sure they are compiled.])
3075 fi
3076 AC_MSG_RESULT("$MGL_ROOT/lib/$mgl_lib_type/$mgl_os")
1542ea39 3077
1d1b75ac
VZ
3078 wxUSE_UNIVERSAL="yes"
3079
1e6feb95 3080 TOOLKIT_INCLUDE="-I$MGL_ROOT/include"
3a922bb4 3081 GUI_TK_LIBRARY="-L$MGL_ROOT/lib/$mgl_lib_type/$mgl_os -lmgl -lmglcpp -lpm"
d607e6c3 3082
1e6feb95
VZ
3083 AFMINSTALL=afminstall
3084 TOOLKIT=MGL
3085 GUIDIST=MGL_DIST
d607e6c3 3086 fi
143121c5 3087
1725144d
RR
3088 if test "$wxUSE_MICROWIN" = 1; then
3089 AC_MSG_CHECKING(for MicroWindows)
3090 if test "x$MICROWINDOWS" = x ; then
3091 AC_MSG_RESULT(not found)
3092 AC_MSG_ERROR([Cannot find MicroWindows library. Make sure MICROWINDOWS is set.])
3093 else
3094 AC_MSG_RESULT($MICROWINDOWS)
3095 fi
3096
3097 if test -f $MICROWINDOWS/lib/libmwin.a; then
3098 AC_MSG_RESULT(MicroWindows' libraries found.)
3099 else
3100 AC_MSG_ERROR([Cannot find MicroWindows libraries, make sure they are compiled.])
3101 fi
3102
3103 TOOLKIT_INCLUDE="-I$MICROWINDOWS/include"
3104 GUI_TK_LIBRARY="-L$MICROWINDOWS/lib -lmwin -lmwengine -mwfonts -mwdrivers -mwinlib"
3105
1d1b75ac
VZ
3106 wxUSE_UNIVERSAL="yes"
3107
1725144d
RR
3108 AFMINSTALL=afminstall
3109 TOOLKIT=MICROWIN
3110 GUIDIST=MICROWIN_DIST
1d1b75ac
VZ
3111
3112 TOOLCHAIN_DEFS="${TOOLCHAIN_DEFS} -D__WXMSW__ -D__WIN95__ -D__WIN32__ -DMWIN -DMICROWIN_NOCONTROLS -DMICROWIN_TODO=1"
1725144d
RR
3113 fi
3114
0acc5a40
VZ
3115 dnl common part of X11 and Motif port checks
3116 if test "$wxUSE_X11" = 1 -o "$wxUSE_MOTIF" = 1; then
3117 dnl use standard macros to check for X headers/libs, this brings
3118 dnl support for the standard configure options --x-includes,
3119 dnl --x-libraries and --no-x
7f5c07ab
JS
3120 AC_PATH_XTRA
3121
3122 if test "$no_x" = "yes"; then
89d90d6d 3123 AC_MSG_ERROR([X11 not found, please use --x-includes and/or --x-libraries options (see config.log for details)])
7f5c07ab
JS
3124 fi
3125
0acc5a40
VZ
3126 dnl for some reason AC_PATH_XTRA seems to add -INONE and -LNONE (and
3127 dnl also sometimes -RNONE) to X_CFLAGS and X_LIBS respectively, filter
3128 dnl this junk out
3129 GUI_TK_LIBRARY=`echo $X_LIBS | sed 's/ -LNONE//' | sed 's/ -RNONE//'`
3130 TOOLKIT_INCLUDE=`echo $X_CFLAGS | sed 's/ -INONE//'`
7f5c07ab
JS
3131 AFMINSTALL=afminstall
3132 COMPILED_X_PROGRAM=0
3133
0acc5a40
VZ
3134 fi
3135
3136 if test "$wxUSE_X11" = 1; then
256d631a 3137 if test "$wxUSE_NANOX" = "yes"; then
6ec507fd
JS
3138 AC_MSG_CHECKING(for MicroWindows/NanoX distribution)
3139 if test "x$MICROWIN" = x ; then
3140 AC_MSG_RESULT(not found)
3141 AC_MSG_ERROR([Cannot find MicroWindows library. Make sure MICROWIN is set.])
3142 else
3143 AC_MSG_RESULT($MICROWIN)
c79a329d 3144 AC_DEFINE(wxUSE_NANOX)
6ec507fd
JS
3145 fi
3146 fi
3147
2b5f62a0
VZ
3148 if test "$wxUSE_UNICODE" = "yes"; then
3149 PKG_CHECK_MODULES(PANGOX, pangox,
3150 [
c92ad099 3151 CXXFLAGS="$PANGOX_CFLAGS $CXXFLAGS"
c74dc163 3152 GUI_TK_LIBRARY="$GUI_TK_LIBRARY $PANGOX_LIBS"
2b5f62a0
VZ
3153 ],
3154 [
3155 AC_MSG_ERROR([pangox library not found, library cannot be compiled in Unicode mode])
3156 ]
3157 )
3158 PKG_CHECK_MODULES(PANGOFT2, pangoft2,
3159 [
c92ad099 3160 CXXFLAGS="$PANGOFT2_CFLAGS $CXXFLAGS"
c74dc163 3161 GUI_TK_LIBRARY="$GUI_TK_LIBRARY $PANGOFT2_LIBS"
2b5f62a0
VZ
3162 ],
3163 [
3164 AC_MSG_WARN([pangoft2 library not found, library will be compiled without printing support])
3165 wxUSE_PRINTING_ARCHITECTURE="no"
3166 ]
3167 )
3168 PKG_CHECK_MODULES(PANGOXFT, pangoxft,
3169 [
4ae1af05 3170 AC_DEFINE(HAVE_PANGO_XFT)
c92ad099 3171 CXXFLAGS="$PANGOXFT_CFLAGS $CXXFLAGS"
c74dc163 3172 GUI_TK_LIBRARY="$GUI_TK_LIBRARY $PANGOXFT_LIBS"
2b5f62a0
VZ
3173 ],
3174 [
3175 AC_MSG_WARN([pangoxft library not found, library will be compiled without anti-aliasing support])
3176 ]
3177 )
e56f4f9e 3178 save_CXXFLAGS="$CXXFLAGS"
304205f1 3179 save_LIBS="$LIBS"
e56f4f9e 3180 CXXFLAGS="$PANGOX_CFLAGS $CXXFLAGS"
304205f1
VS
3181 LIBS="$LIBS $PANGOX_LIBS"
3182 AC_CHECK_FUNCS([pango_font_family_is_monospace])
e56f4f9e 3183 CXXFLAGS="$save_CXXFLAGS"
304205f1 3184 LIBS="$save_LIBS"
2b5f62a0
VZ
3185 fi
3186
1d1b75ac
VZ
3187 wxUSE_UNIVERSAL="yes"
3188
256d631a 3189 if test "$wxUSE_NANOX" = "yes"; then
4e5a4800 3190 TOOLKIT_INCLUDE="-I\$(top_srcdir)/include/wx/x11/nanox -I\$(MICROWIN)/src/include $TOOLKIT_INCLUDE"
32b38f99 3191 TOOLCHAIN_DEFS="${TOOLCHAIN_DEFS} -D__NANOX__ -DMWPIXEL_FORMAT=MWPF_TRUECOLOR0888 -DHAVE_FILEIO -DHAVE_BMP_SUPPORT=1 -DHAVE_GIF_SUPPORT=1 -DHAVE_PNM_SUPPORT=1 -DHAVE_XPM_SUPPORT=1 -DUNIX=1 -DUSE_EXPOSURE -DSCREEN_HEIGHT=480 -DSCREEN_WIDTH=640 -DSCREEN_DEPTH=4 -DX11=1"
461e93f9 3192 GUI_TK_LIBRARY="$GUI_TK_LIBRARY \$(MICROWIN)/src/lib/libnano-X.a"
6ec507fd 3193 else
93a543aa 3194 GUI_TK_LIBRARY="$GUI_TK_LIBRARY -lX11"
6ec507fd
JS
3195 fi
3196
7f5c07ab
JS
3197 TOOLKIT=X11
3198 GUIDIST=X11_DIST
7f5c07ab
JS
3199 fi
3200
1e6feb95 3201 if test "$wxUSE_MOTIF" = 1; then
0a08f02a
MB
3202 if test "$wxUSE_UNICODE" = "yes"; then
3203 AC_MSG_ERROR([Unicode configuration not supported with Motif])
3204 fi
3205
1e6feb95
VZ
3206 AC_MSG_CHECKING(for Motif/Lesstif headers)
3207 WX_PATH_FIND_INCLUDES($SEARCH_INCLUDE, Xm/Xm.h)
3208 if test "$ac_find_includes" != "" ; then
dd0e4a90
VZ
3209 AC_MSG_RESULT(found in $ac_find_includes)
3210 WX_INCLUDE_PATH_EXIST($ac_find_includes, $TOOLKIT_INCLUDE)
3211 TOOLKIT_INCLUDE="$TOOLKIT_INCLUDE$ac_path_to_include"
cd6d6d5b 3212 else
e56f4f9e
VZ
3213 save_CXXFLAGS=$CXXFLAGS
3214 CXXFLAGS="$TOOLKIT_INCLUDE $CXXFLAGS"
e051b34e 3215
cd6d6d5b
VZ
3216 AC_TRY_COMPILE(
3217 [
3218 #include <Xm/Xm.h>
3219 ],
3220 [
3221 int version;
cd6d6d5b
VZ
3222 version = xmUseVersion;
3223 ],
3224 [
3225 AC_MSG_RESULT(found in default search path)
3226 COMPILED_X_PROGRAM=1
3227 ],
3228 [
3229 AC_MSG_RESULT(no)
e051b34e 3230 AC_MSG_ERROR(please set CPPFLAGS to contain the location of Xm/Xm.h)
cd6d6d5b
VZ
3231 ]
3232 )
e051b34e 3233
e56f4f9e 3234 CXXFLAGS=$save_CXXFLAGS
cd6d6d5b 3235 fi
9a98a854 3236
1e6feb95 3237
e7272c08
VZ
3238 AC_MSG_CHECKING(for Motif/Lesstif library)
3239 WX_PATH_FIND_LIBRARIES($SEARCH_LIB, Xm)
dd0e4a90 3240
e7272c08
VZ
3241 if test "x$ac_find_libraries" != "x" ; then
3242 AC_MSG_RESULT(found in $ac_find_libraries)
3243
3244 WX_LINK_PATH_EXIST($ac_find_libraries, $GUI_TK_LIBRARY)
3245 GUI_TK_LIBRARY="$GUI_TK_LIBRARY$ac_path_to_link"
3246 else
3247 dnl it might happen that we found headers in one of the standard
3248 dnl paths but the libs are elsewhere but still in default (linker)
3249 dnl path -- try to compile a test program to check for this
e56f4f9e
VZ
3250 save_CXXFLAGS=$CXXFLAGS
3251 CXXFLAGS="$TOOLKIT_INCLUDE $CXXFLAGS"
214774ce
MW
3252 save_LIBS="$LIBS"
3253 LIBS="$GUI_TK_LIBRARY -lXm -lXmu -lXext -lX11"
e7272c08
VZ
3254
3255 AC_TRY_LINK(
3256 [
3257 #include <Xm/Xm.h>
3258 ],
3259 [
3260 int version;
3261 version = xmUseVersion;
3262 ],
3263 [
3264 AC_MSG_RESULT(found in default search path)
3265 COMPILED_X_PROGRAM=1
3266 ],
3267 [
214774ce
MW
3268 AC_MSG_RESULT(no)
3269 AC_MSG_ERROR(please set LDFLAGS to contain the location of libXm)
3270 ]
3271 )
dd0e4a90 3272
e56f4f9e 3273 CXXFLAGS=$save_CXXFLAGS
214774ce 3274 LIBS="$save_LIBS"
1e6feb95
VZ
3275 fi
3276
6a30f1c8
MB
3277 AC_MSG_CHECKING([if we need -lXp and/or -lSM -lICE])
3278 libp_link=""
3279 libsm_ice_link=""
3280 libs_found=0
3281 for libp in "" " -lXp"; do
3282 if test "$libs_found" = "0"; then
ccabcd49 3283 for libsm_ice in "" " -lSM -lICE"; do
e26c13cf 3284 if test "$libs_found" = "0"; then
6a30f1c8 3285 save_LIBS="$LIBS"
93a543aa 3286 LIBS="$GUI_TK_LIBRARY -lXm ${libp} -lXmu -lXext -lXt${libsm_ice} -lX11"
e56f4f9e
VZ
3287 save_CXXFLAGS=$CXXFLAGS
3288 CXXFLAGS="$TOOLKIT_INCLUDE $CXXFLAGS"
dd0e4a90 3289
6a30f1c8
MB
3290 AC_TRY_LINK(
3291 [
3292 #include <Xm/Xm.h>
3293 #include <Xm/List.h>
3294 ],
3295 [
3296 XmString string = NULL;
3297 Widget w = NULL;
3298 int position = 0;
3299 XmListAddItem(w, string, position);
3300 ],
3301 [
3302 libp_link="$libp"
3303 libsm_ice_link="$libsm_ice"
3304 AC_MSG_RESULT(
3305 [need${libp_link}${libsm_ice_link}])
3306 libs_found=1
3307 ], []
3308 )
dd0e4a90 3309
6a30f1c8 3310 LIBS="$save_LIBS"
e56f4f9e 3311 CXXFLAGS=$save_CXXFLAGS
6a30f1c8
MB
3312 fi
3313 done
3314 fi
3315 done
3316
3317 if test "$libs_found" = "0"; then
3318 AC_MSG_RESULT([can't find the right libraries])
3319 AC_MSG_ERROR([can't link a simple motif program])
3320 fi
17234b26 3321
e08ed308
VZ
3322 dnl this seems to be needed under IRIX and shouldn't do any harm
3323 dnl elsewhere
3324 AC_CHECK_LIB(Sgm, [SgCreateList], [libsgm_link=" -lSgm"])
3325
e56f4f9e
VZ
3326 save_CXXFLAGS=$CXXFLAGS
3327 CXXFLAGS="$TOOLKIT_INCLUDE $CXXFLAGS"
72e4e6a3
VZ
3328
3329 AC_CACHE_CHECK([for Motif 2],
3330 wx_cv_lib_motif2,
3331 AC_TRY_COMPILE([
3332 #include <Xm/Xm.h>
3333 ],
3334 [
3335 #if XmVersion < 2000
3336 Not Motif 2
3337 #endif
3338 ],
3339 wx_cv_lib_motif2="yes",
3340 wx_cv_lib_motif2="no"))
3341 if test "$wx_cv_lib_motif2" = "yes"; then
3342 AC_DEFINE(__WXMOTIF20__,1)
3343 else
3344 AC_DEFINE(__WXMOTIF20__,0)
3345 fi
3346
3347 AC_CACHE_CHECK([whether Motif is Lesstif],
3348 wx_cv_lib_lesstif,
3349 AC_TRY_COMPILE([
3350 #include <Xm/Xm.h>
3351 ],
3352 [
3353 #if !defined(LesstifVersion) || LesstifVersion <= 0
3354 Not Lesstif
3355 #endif
3356 ],
3357 wx_cv_lib_lesstif="yes",
3358 wx_cv_lib_lesstif="no")
3359 )
3360 if test "$wx_cv_lib_lesstif" = "yes"; then
3361 AC_DEFINE(__WXLESSTIF__,1)
3362 else
3363 AC_DEFINE(__WXLESSTIF__,0)
3364 fi
3365
e56f4f9e 3366 CXXFLAGS=$save_CXXFLAGS
da494b40 3367
e08ed308 3368 GUI_TK_LIBRARY="$GUI_TK_LIBRARY${libsgm_link} -lXm${libp_link} -lXmu -lXext -lXt${libsm_ice_link} -lX11"
1e6feb95
VZ
3369 TOOLKIT=MOTIF
3370 GUIDIST=MOTIF_DIST
f7f78039
MB
3371 fi
3372
0acc5a40 3373 dnl more tests common to X11 and Motif:
c8818622
VZ
3374 if test "$wxUSE_X11" = 1 -o "$wxUSE_MOTIF" = 1; then
3375 dnl test for external libxpm if we're configured to use it
3376 if test "$wxUSE_LIBXPM" = "sys"; then
3377 AC_MSG_CHECKING(for Xpm library)
3378 WX_PATH_FIND_LIBRARIES($SEARCH_LIB,Xpm)
3379 if test "$ac_find_libraries" != "" ; then
3380 WX_LINK_PATH_EXIST($ac_find_libraries,$GUI_TK_LIBRARY)
3381 GUI_TK_LIBRARY="$GUI_TK_LIBRARY$ac_path_to_link"
a8793ff9 3382 AC_MSG_RESULT(found in $ac_find_libraries)
f7f78039 3383
89fe663f
VZ
3384 AC_CACHE_CHECK([for X11/xpm.h],
3385 wx_cv_x11_xpm_h,
c8818622 3386 [
e56f4f9e
VZ
3387 save_CXXFLAGS=$CXXFLAGS
3388 CXXFLAGS="$TOOLKIT_INCLUDE $CXXFLAGS"
89fe663f
VZ
3389
3390 AC_TRY_COMPILE(
3391 [
3392 #include <X11/xpm.h>
3393 ],
3394 [
3395 int version;
3396 version = XpmLibraryVersion();
3397 ],
3398 wx_cv_x11_xpm_h=yes,
3399 wx_cv_x11_xpm_h=no
3400 )
3401
e56f4f9e 3402 CXXFLAGS=$save_CXXFLAGS
c8818622
VZ
3403 ]
3404 )
3405
89fe663f 3406 if test $wx_cv_x11_xpm_h = "yes"; then
93a543aa 3407 GUI_TK_LIBRARY="$GUI_TK_LIBRARY -lXpm"
89fe663f
VZ
3408 AC_DEFINE(wxHAVE_LIB_XPM)
3409 else
3410 AC_MSG_WARN([built-in less efficient XPM decoder will be used])
3411 fi
c8818622
VZ
3412 fi
3413
3414 fi
3415
3416 dnl XShapeQueryExtension checks: first the library, then prototype
3417 AC_CHECK_LIB([Xext], [XShapeQueryExtension],
3418 [
3419 GUI_TK_LIBRARY="$GUI_TK_LIBRARY -lXext"
3420 wxHAVE_XEXT_LIB=1
3421 ],
3422 [], [$GUI_TK_LIBRARY -lX11])
3423
3424 if test "$wxHAVE_XEXT_LIB" = 1; then
e56f4f9e
VZ
3425 save_CXXFLAGS="$CXXFLAGS"
3426 CXXFLAGS="$TOOLKIT_INCLUDE $CXXFLAGS"
c8818622
VZ
3427
3428 AC_MSG_CHECKING([for X11/extensions/shape.h])
3429 AC_TRY_COMPILE([
5ff751d6 3430 #include <X11/Xlib.h>
c8818622
VZ
3431 #include <X11/extensions/shape.h>
3432 ],
3433 [
3434 int dummy1, dummy2;
3435 XShapeQueryExtension((Display*)NULL,
3436 (int*)NULL, (int*)NULL);
3437 ],
3438 [
3439 AC_DEFINE(HAVE_XSHAPE)
3440 AC_MSG_RESULT([found])
3441 ],
3442 [
3443 AC_MSG_RESULT([not found])
3444 ])
e56f4f9e 3445 CXXFLAGS="$save_CXXFLAGS"
c8818622
VZ
3446
3447 fi
1e6feb95 3448 fi
b4085ce6 3449
1e6feb95 3450 if test "$wxUSE_MAC" = 1; then
8e91c6f3
VZ
3451 AC_MSG_CHECKING([for compiler syntax to enable Pascal strings])
3452 if test "$GCC" = yes; then
3453 AC_MSG_RESULT([gcc])
3454 CPPFLAGS_PASCAL="-fpascal-strings"
3455 elif test "`echo $CXX | sed -e 's@.*/@@'`" = "xlC"; then
3456 AC_MSG_RESULT([xlc])
3457 CPPFLAGS_PASCAL="-qmacpstr"
3458 else
3459 AC_MSG_RESULT([none])
3460 fi
3461
031e9160 3462 if test "x$wxUSE_UNIX" = "xyes"; then
c92ad099 3463 CPPFLAGS="$CPPFLAGS_PASCAL -I\${top_srcdir}/src/mac/carbon/morefilex -I/Developer/Headers/FlatCarbon $CPPFLAGS"
031e9160
DE
3464 else
3465 dnl platform.h needs TARGET_CARBON before setup.h
c92ad099 3466 CPPFLAGS="$CPPFLAGS_PASCAL -I\${top_srcdir}/src/mac/carbon/morefilex -DTARGET_CARBON $CPPFLAGS"
031e9160 3467 fi
d08b457b 3468
1e6feb95 3469 TOOLKIT=MAC
683dccda 3470 dnl we can't call this MAC_DIST or autoconf thinks its a macro
1e6feb95 3471 GUIDIST=MACX_DIST
cf615ebb
VS
3472 dnl wxMac version of wxBase and wxCocoa or wxBase-only built on Darwin
3473 dnl are different, so they need different names:
dd21ced8 3474 WXBASEPORT="_carbon"
1e6feb95 3475 fi
e07802fc 3476
ac0c4cc3 3477 if test "$wxUSE_COCOA" = 1; then
ac0c4cc3
DE
3478 TOOLKIT=COCOA
3479 GUIDIST=COCOA_DIST
3480 fi
3481
1e6feb95
VZ
3482 if test "$wxUSE_PM" = 1; then
3483 TOOLKIT=PM
0ed330b4
SN
3484 GUIDIST=PM_DIST
3485 AC_CACHE_CHECK([for type SPBCDATA],
3486 wx_cv_spbcdata,
3487 [
3488 AC_TRY_COMPILE(
3489 [
3490 #define INCL_PM
3491 #include <os2.h>
3492 ],
3493 [
3494 SPBCDATA test;
3495 ],
3496 wx_cv_spbcdata=yes,
3497 wx_cv_spbcdata=no
3498 )
3499 ]
3500 )
3501
3502 if test $wx_cv_spbcdata = "yes"; then
3503 AC_DEFINE(HAVE_SPBCDATA)
3504 fi
1e6feb95
VZ
3505 fi
3506
3507 dnl the name of the directory where the files for this toolkit live
3a922bb4 3508 if test "$TOOLKIT" = "PM" ; then
1e6feb95 3509 TOOLKIT_DIR="os2"
f6bcfd97 3510 else
aa961a51 3511 TOOLKIT_DIR=`echo ${TOOLKIT} | tr "[[A-Z]]" "[[a-z]]"`
1e6feb95 3512 fi
9a98a854 3513
1e6feb95 3514 if test "$wxUSE_UNIVERSAL" = "yes"; then
3a922bb4
RL
3515 TOOLCHAIN_DEFS="${TOOLCHAIN_DEFS} -D__WXUNIVERSAL__"
3516 WIDGET_SET=univ
d9d8273d 3517 fi
2224580a 3518
2224580a
VZ
3519 dnl distribute samples/demos/utils with GUI versions
3520 GUIDIST="${GUIDIST} SAMPLES_DIST DEMOS_DIST UTILS_DIST MISC_DIST"
3521 DISTDIR="wx\$(TOOLKIT)"
e90c1d2a 3522else
dad6c0ea
VZ
3523 USE_GUI=0
3524
3a922bb4
RL
3525 dnl this doesn't quite work right for wxBase, but the places
3526 dnl where it is wrong aren't fatal (yet) though.
07eb77a6 3527 TOOLKIT_DIR="base"
f6bcfd97 3528
e90c1d2a 3529 dnl the sources, their dependenices and the headers
3a922bb4 3530 if test "$USE_WIN32" = 1 ; then
3a922bb4
RL
3531 dnl yes, the toolkit for wxBase on win32 is actually MSW
3532 dnl wxBase on unix does not need a 'TOOLKIT' defined.
3533 TOOLKIT="MSW"
a20b6d3a
VZ
3534 fi
3535
2224580a
VZ
3536 dnl distribute only wxBase sources/headers
3537 GUIDIST="BASE_DIST"
3538 DISTDIR="wxBase"
e90c1d2a
VZ
3539fi
3540
4f14bcd8
GD
3541dnl ---------------------------------------------------------------------------
3542dnl Optional libraries included when system library is not used
3543dnl ---------------------------------------------------------------------------
e45387bf 3544
2971ea9d
VZ
3545dnl do this after test for X11 above so that we have a chance of finding Xlib.h
3546if test "$wxUSE_GUI" = "yes"; then
3547 if test "$wxUSE_UNIX" = "yes" -a "$wxUSE_PM" != 1; then
3548 dnl defines HAVE_X11_XKBLIB_H
3549 AC_CHECK_HEADERS(X11/Xlib.h)
5ff751d6 3550 AC_CHECK_HEADERS([X11/XKBlib.h], [], [],
2971ea9d
VZ
3551 [
3552 #if HAVE_X11_XLIB_H
3553 #include <X11/Xlib.h>
3554 #endif
3555 ])
3556 fi
3557fi
3558
8647bec6
RG
3559
3560dnl ----------------------------------------------------------------
3561dnl iODBC support
3562dnl ----------------------------------------------------------------
3563
3564IODBC_C_SRC=""
3565
3566
5ff751d6 3567dnl ODBC is handled separately for MSW
8647bec6
RG
3568if test "$TOOLKIT" != "MSW" ; then
3569
bb41dcbe
VS
3570 if test "$wxUSE_ODBC" = "sys" -o "$wxUSE_ODBC" = "yes" ; then
3571 dnl This is not ideal we really ough to use the unixodbc-config
3572 dnl or iodbc-config if they exist.
3573
3574 AC_CHECK_HEADER([sql.h], [found_sql_h=1])
3575 if test "x$found_sql_h" = "x1" ; then
84dfd58f 3576 AC_CHECK_LIB(iodbc, SQLAllocEnv, ODBC_LINK=" -liodbc",
bb41dcbe 3577 [
84dfd58f 3578 AC_CHECK_LIB(unixodbc, SQLAllocEnv, ODBC_LINK=" -lunixodbc",
bb41dcbe 3579 [
84dfd58f 3580 AC_CHECK_LIB(odbc, SQLAllocEnv, ODBC_LINK=" -lodbc")
bb41dcbe
VS
3581 ])
3582 ])
5ff751d6 3583 fi
bb41dcbe
VS
3584 if test "x$ODBC_LINK" = "x" ; then
3585 if test "$wxUSE_ODBC" = "sys" ; then
3586 AC_MSG_ERROR([system ODBC library not found! Use --with-odbc=builtin to use built-in version])
3587 else
3588 AC_MSG_WARN([system ODBC library not found, will use built-in instead])
3589 wxUSE_ODBC=builtin
3590 fi
3591 else
3592 dnl we are using the system library
3593 wxUSE_ODBC=sys
3594 fi
3595 fi
a8e4cf25
VZ
3596
3597 if test "$wxUSE_ODBC" = "builtin" ; then
3598 AC_DEFINE(wxUSE_BUILTIN_IODBC)
8647bec6 3599 fi
e45387bf
VZ
3600fi
3601
a8e4cf25
VZ
3602if test "$wxUSE_ODBC" != "no" ; then
3603 AC_DEFINE(wxUSE_ODBC)
3604 SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS db"
3605
3606 dnl is this still necessary?
5ff751d6 3607 WXCONFIG_CPPFLAGS="$WXCONFIG_CPPFLAGS -D_IODBC_"
a8e4cf25 3608fi
3a922bb4 3609
b3bfe4e5 3610dnl ---------------------------------------------------------------------------
01cb68df 3611dnl wxDisplay Sanity checks
b3bfe4e5 3612dnl ---------------------------------------------------------------------------
01cb68df 3613
b3bfe4e5 3614if test "$wxUSE_DISPLAY" = "yes"; then
01cb68df
RG
3615dnl ---------------------------------------------------------------------------
3616dnl Xinerama (for unix ) - Brian Victor
3617dnl ---------------------------------------------------------------------------
2a5d7a98 3618 if test "$wxUSE_UNIX" = "yes" -a "$wxUSE_MAC" != 1 -a "$wxUSE_COCOA" != 1; then
b3bfe4e5
RN
3619 AC_MSG_CHECKING([for Xinerama])
3620 WX_PATH_FIND_LIBRARIES([$SEARCH_LIB],Xinerama)
3621 if test "$ac_find_libraries" != "" ; then
3622 WX_LINK_PATH_EXIST([$ac_find_libraries],[$LDFLAGS])
3623 if test "$ac_path_to_link" != " -L/usr/lib" ; then
3624 LDFLAGS="$LDFLAGS $ac_path_to_link"
3625 fi
3626 GUI_TK_LIBRARY="$GUI_TK_LIBRARY -lXinerama"
3627 AC_MSG_RESULT([yes])
505c8ccd
VS
3628
3629 AC_MSG_CHECKING([for Xxf86vm extension])
3630 WX_PATH_FIND_LIBRARIES([$SEARCH_LIB],Xxf86vm)
3631 if test "$ac_find_libraries" != "" ; then
3632 AC_MSG_RESULT([yes])
3633 AC_CHECK_HEADERS([X11/extensions/xf86vmode.h],
3634 [
3635 GUI_TK_LIBRARY="$GUI_TK_LIBRARY -lXxf86vm"
3636 ],
5ff751d6 3637 [],
505c8ccd
VS
3638 [
3639 #if HAVE_X11_XLIB_H
3640 #include <X11/Xlib.h>
3641 #endif
3642 ])
3643 else
3644 AC_MSG_RESULT([no])
3645 fi
5ff751d6 3646
b3bfe4e5
RN
3647 else
3648 AC_MSG_RESULT([no])
dcc1b6ad 3649 AC_MSG_WARN([Xinerama not found; disabling wxDisplay])
b3bfe4e5
RN
3650 wxUSE_DISPLAY="no"
3651 fi
01cb68df
RG
3652 elif test "$wxUSE_MSW" = 1; then
3653dnl ---------------------------------------------------------------------------
01c54165 3654dnl DirectDraw for MSW - optionally used by WxDisplay.
01cb68df 3655dnl ---------------------------------------------------------------------------
01c54165 3656 AC_CHECK_HEADERS([ddraw.h], [], [], [#include <windows.h>])
b3bfe4e5
RN
3657 fi
3658fi
3659
4f14bcd8
GD
3660dnl ---------------------------------------------------------------------------
3661dnl OpenGL libraries
3662dnl ---------------------------------------------------------------------------
be505a65 3663
4d264332 3664USE_OPENGL=0
3a922bb4 3665if test "$wxUSE_OPENGL" = "yes"; then
ac0c4cc3 3666 if test "$wxUSE_MAC" = 1 -o "$wxUSE_COCOA" = "1"; then
62d0491b 3667 OPENGL_LIBS="-framework OpenGL -framework AGL"
be505a65
VZ
3668 elif test "$wxUSE_MSW" = 1; then
3669 OPENGL_LIBS="-lopengl32 -lglu32"
62d0491b 3670 else
01aa5863
VS
3671 dnl David Elliott: Without this snippet AC_CHECK_HEADER fails to find
3672 dnl GL/gl.h on Mac OS X where it is located in
3673 dnl /usr/X11R6/include/GL/gl.h:
3674
3675 WX_PATH_FIND_INCLUDES($SEARCH_INCLUDE, GL/gl.h)
3676 if test "$ac_find_includes" != "" ; then
3677 AC_MSG_RESULT(found in $ac_find_includes)
01aa5863 3678 WX_INCLUDE_PATH_EXIST($ac_find_includes, $CPPFLAGS)
c92ad099 3679 CPPFLAGS="$ac_path_to_include $CPPFLAGS"
01aa5863
VS
3680 fi
3681
62d0491b
RL
3682 AC_CHECK_HEADER(GL/gl.h,
3683 [
021fde89
VZ
3684 found_gl=0
3685
1352efdf 3686 AC_MSG_CHECKING([for -lGL])
021fde89 3687 WX_PATH_FIND_LIBRARIES([$SEARCH_LIB],GL)
62d0491b 3688 if test "$ac_find_libraries" != "" ; then
69120ee4
VZ
3689 AC_MSG_RESULT([yes])
3690
62d0491b 3691 WX_LINK_PATH_EXIST([$ac_find_libraries],[$LDFLAGS])
021fde89
VZ
3692 if test "$ac_path_to_link" != " -L/usr/lib" ; then
3693 LDFLAGS_GL="$ac_path_to_link"
4b6b4dfc 3694 fi
021fde89
VZ
3695
3696 dnl don't suppose that libGL and libGLU are always in the
3697 dnl same directory -- this is not true for some common
3698 dnl distributions
69120ee4 3699 AC_MSG_CHECKING([for -lGLU])
021fde89
VZ
3700 WX_PATH_FIND_LIBRARIES([$SEARCH_LIB],GLU)
3701 if test "$ac_find_libraries" != "" ; then
3702 WX_LINK_PATH_EXIST([$ac_find_libraries],[$LDFLAGS])
3703 if test "$ac_path_to_link" != " -L/usr/lib" -a \
3704 "$ac_path_to_link" != "$LDFLAGS_GL"; then
3705 LDFLAGS_GL="$LDFLAGS_GL$ac_path_to_link"
3706 fi
3707
3708 found_gl=1
3709 OPENGL_LIBS="-lGL -lGLU"
3710 AC_MSG_RESULT([yes])
69120ee4
VZ
3711 else
3712 AC_MSG_RESULT([no])
021fde89 3713 fi
69120ee4
VZ
3714 else
3715 AC_MSG_RESULT([no])
021fde89
VZ
3716 fi
3717
bb41dcbe 3718 if test "$found_gl" != 1; then
1352efdf 3719 AC_MSG_CHECKING([for -lMesaGL])
021fde89 3720 WX_PATH_FIND_LIBRARIES([$SEARCH_LIB],MesaGL)
62d0491b
RL
3721 if test "$ac_find_libraries" != "" ; then
3722 WX_LINK_PATH_EXIST([$ac_find_libraries],[$LDFLAGS])
3723 LDFLAGS_GL="$LDFLAGS$ac_path_to_link"
3724 OPENGL_LIBS="-lMesaGL -lMesaGLU"
1352efdf
RL
3725 AC_MSG_RESULT([yes])
3726 else
3727 AC_MSG_RESULT([no])
62d0491b
RL
3728 fi
3729 fi
3730 ])
fb56368a 3731
62d0491b
RL
3732 if test "x$OPENGL_LIBS" = "x"; then
3733 dnl it should be an error and not a warning because OpenGL is not on
3103e8a9 3734 dnl by default and so if it had been explicitly requested, we
62d0491b
RL
3735 dnl shouldn't just fall back to compiling the library without it
3736 AC_MSG_ERROR(OpenGL libraries not available)
3737 fi
6f754473 3738 fi
6f754473 3739
62d0491b 3740 if test "$wxUSE_OPENGL" = "yes"; then
4d264332 3741 USE_OPENGL=1
62d0491b
RL
3742 AC_DEFINE(wxUSE_OPENGL)
3743 AC_DEFINE(wxUSE_GLCANVAS)
520755bb 3744 SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS opengl opengl/cube opengl/penguin opengl/isosurf"
62d0491b 3745 fi
3a922bb4
RL
3746fi
3747
3a922bb4
RL
3748
3749dnl the symbol which allows conditional compilation for the given toolkit
3750if test -n "$TOOLKIT" ; then
3751 TOOLCHAIN_DEFS="${TOOLCHAIN_DEFS} -D__WX${TOOLKIT}__"
3752fi
3753
978f1259 3754
3a922bb4 3755dnl --- the marker for quick search, leave it here: SHARED_LIB_SETUP ---
55e80573 3756
4222829b
VS
3757if test "$wxUSE_SHARED" = "yes"; then
3758 case "${host}" in
4222829b
VS
3759 *-pc-msdosdjgpp )
3760 dnl only static for now
3761 wxUSE_SHARED=no
3762 AC_MSG_WARN([Host system doesn't support shared libraries, disabling])
3763 ;;
3764 esac
3765fi
3766
3a922bb4 3767if test "$wxUSE_SHARED" = "yes"; then
55e80573 3768
2b5f62a0 3769 dnl use versioned symbols if available on the platform
e6cc62c6 3770 WX_VERSIONED_SYMBOLS([\$(top_builddir)version-script])
2b5f62a0 3771
55e80573 3772 case "${host}" in
32b38f99 3773 *-*-linux* | *-*-gnu* )
e6cc62c6 3774 SAMPLES_RPATH_FLAG="-Wl,-rpath,\$(top_builddir)lib"
ffa0583f 3775 WXCONFIG_RPATH="-Wl,-rpath,\$libdir"
6ebeb4c7 3776 ;;
55e80573 3777
de87c353
RR
3778 *-*-solaris2* )
3779 if test "$GCC" = yes ; then
f6bcfd97
BP
3780 dnl newer versions of gcc need -isystem to compile X headers on
3781 dnl Solaris (which use old style C syntax)
c92ad099 3782 CPPFLAGS="-isystem /usr/openwin/include $CPPFLAGS"
fe0895cf
VS
3783
3784 dnl gcc may use Sun's ld, in which case -rpath gives a confusing
3785 dnl error message. We have to try both -Wl,-rpath and -Wl,-R:
3786 saveLdflags="$LDFLAGS"
3787 LDFLAGS="$saveLdflags -Wl,-rpath,/"
3788 AC_MSG_CHECKING([if the linker accepts -rpath])
3789 AC_TRY_LINK(
3790 [],[],
3791 [
3792 AC_MSG_RESULT([yes])
e6cc62c6 3793 SAMPLES_RPATH_FLAG="-Wl,-rpath,\$(top_builddir)lib"
ffa0583f
RL
3794 WXCONFIG_RPATH="-Wl,-rpath,\$libdir"
3795 ],[
fe0895cf
VS
3796 AC_MSG_RESULT([no])
3797 AC_MSG_CHECKING([if the linker accepts -R])
3798 LDFLAGS="$saveLdflags -Wl,-R,/"
3799 AC_TRY_LINK(
3800 [],[],
3801 [
ffa0583f
RL
3802 AC_MSG_RESULT([yes])
3803 SAMPLES_RPATH_FLAG="-Wl,-R,\$(top_builddir)lib"
3804 WXCONFIG_RPATH="-Wl,-R,\$libdir"
3805 ],[
fe0895cf 3806 AC_MSG_RESULT([no])
5ff751d6 3807 ])
fe0895cf
VS
3808 ])
3809 LDFLAGS="$saveLdflags"
de87c353 3810 else
e6cc62c6 3811 SAMPLES_RPATH_FLAG="-R\$(top_builddir)lib"
ffa0583f 3812 WXCONFIG_RPATH="-R\$libdir"
de87c353 3813 fi
de87c353 3814 ;;
5ff751d6 3815
cfda0ea8 3816 *-*-darwin* )
0caebc27
MW
3817 install_name_tool=`which install_name_tool`
3818 if test "$install_name_tool" -a -x "$install_name_tool"; then
3819 SAMPLES_RPATH_POSTLINK="\$(top_builddir)change-install-names \$(LIBDIRNAME) \$(prefix) \$@"
3820 cat <<EOF >change-install-names
ef0add05
VS
3821#!/bin/sh
3822libnames=\`cd \${1} ; ls -1 | grep '\.[[0-9]][[0-9]]*\.dylib\$'\`
3823inst_cmd="install_name_tool "
3824for i in \${libnames} ; do
3825 inst_cmd="\${inst_cmd} -change \${2}/lib/\${i} \${1}/\${i}"
3826done
3827\${inst_cmd} \${3}
3828EOF
0caebc27
MW
3829 chmod +x change-install-names
3830 fi
ef0add05 3831 ;;
5ff751d6 3832
e194780e 3833 *-*-cygwin* | *-*-mingw32* )
5ff751d6
VZ
3834 dnl this one shouldn't be used for the library build so put it in a
3835 dnl separate variable from WXCONFIG_CPPFLAGS
3836 WXCONFIG_ONLY_CPPFLAGS="$WXCONFIG_ONLY_CPPFLAGS -DWXUSINGDLL"
3837 ;;
3838
2fc79cf2
MW
3839 *-*-hpux* )
3840 SAMPLES_RPATH_FLAG="-Wl,+b,\$(top_builddir)lib"
3841 WXCONFIG_RPATH="-Wl,+b,\$libdir"
5ff751d6
VZ
3842 ;;
3843
de87c353 3844 esac
f6bcfd97 3845
ffa0583f
RL
3846 if test $wxUSE_RPATH = "no"; then
3847 SAMPLES_RPATH_FLAG=''
3848 SAMPLES_RPATH_POSTLINK=''
3849 WXCONFIG_RPATH=''
3850 fi
3851
3852 SHARED=1
3853
3854else
3855
ceec2216
RL
3856 config_linkage_component="-static"
3857 SHARED=0
ffa0583f 3858
ceec2216 3859fi
f6bcfd97 3860
f6bcfd97 3861
ceec2216
RL
3862UNICODE=0
3863lib_unicode_suffix=
3864WX_CHARTYPE="ansi"
3865if test "$wxUSE_UNICODE" = "yes"; then
3866 lib_unicode_suffix=u
3867 WX_CHARTYPE="unicode"
3868 UNICODE=1
3869fi
6fa882bd 3870
ceec2216
RL
3871lib_debug_suffix=
3872WX_DEBUGTYPE="release"
3873DEBUG_FLAG=0
3874if test "$wxUSE_DEBUG_FLAG" = "yes"; then
3875 lib_debug_suffix=d
3876 WX_DEBUGTYPE="debug"
3877 DEBUG_FLAG=1
3878fi
3a922bb4 3879
ceec2216
RL
3880WX_FLAVOUR=${WX_FLAVOUR:+-$WX_FLAVOUR}
3881WX_LIB_FLAVOUR=`echo $WX_FLAVOUR | tr '-' '_'`
3a922bb4 3882
ceec2216
RL
3883DEBUG_INFO=0
3884if test "$wxUSE_DEBUG_INFO" = "yes"; then
3885 DEBUG_INFO=1
3886fi
2bffed64 3887
ceec2216
RL
3888WX_VERSION_TAG=`echo WX${lib_unicode_suffix}${lib_debug_suffix}${WX_LIB_FLAVOUR}_${WX_RELEASE} | tr "[[a-z]]" "[[A-Z]]"`
3889
3890TOOLCHAIN_NAME="${TOOLKIT_DIR}${TOOLKIT_VERSION}${WIDGET_SET}${lib_unicode_suffix}${lib_debug_suffix}${WX_LIB_FLAVOUR}-${WX_RELEASE}"
3891
3892TOOLCHAIN_FULLNAME="${TOOLKIT_DIR}${TOOLKIT_VERSION}${WIDGET_SET}-${WX_CHARTYPE}-${WX_DEBUGTYPE}${config_linkage_component}-${WX_RELEASE}${WX_FLAVOUR}"
3893
3894if test "$cross_compiling" = "yes"; then
3895 HOST_SUFFIX="-$host_alias"
3896 TOOLCHAIN_NAME="$TOOLCHAIN_NAME$HOST_SUFFIX"
3897 TOOLCHAIN_FULLNAME="${host_alias}-$TOOLCHAIN_FULLNAME"
517a619d
RR
3898fi
3899
ceec2216
RL
3900dnl library link name
3901dnl These just save us from exporting lib_{unicode,debug,flavour}_suffix.
3902dnl If we ever need to do that, we won't need to keep these.
dd21ced8 3903WX_LIBRARY_BASENAME_NOGUI="wx_base${WXBASEPORT}${lib_unicode_suffix}${lib_debug_suffix}${WX_LIB_FLAVOUR}"
b9efe021
SN
3904if test "${TOOLKIT_DIR}" = "os2"; then
3905 WX_LIBRARY_BASENAME_GUI="wx_pm${WIDGET_SET}${lib_unicode_suffix}${lib_debug_suffix}${WX_LIB_FLAVOUR}"
3906else
3907 WX_LIBRARY_BASENAME_GUI="wx_${TOOLKIT_DIR}${TOOLKIT_VERSION}${WIDGET_SET}${lib_unicode_suffix}${lib_debug_suffix}${WX_LIB_FLAVOUR}"
3908fi
ceec2216
RL
3909
3910
3911
1d1af5ea
DE
3912if test "$wxUSE_COCOA" = 1; then
3913 AC_LANG_SAVE
3914 AC_WX_LANG_OBJECTIVEC
3915dnl Recent AppKit/NSEvent.h include parts of IOKit which eventually
3916dnl gets IOKit/graphics/IOGraphicsTypes.h included which typedefs
3917dnl Point but only if MacTypes.h was not included first. Of course,
3918dnl if MacTypes.h is included later then you're screwed when it
3919dnl tries to typedef Point. Defining __Point__ will cause IOGraphicsTypes.h
3920dnl to not typedef Point and thus fix the problem.
3921 AC_MSG_CHECKING([if AppKit/NSEvent.h conflicts with CoreFoundation])
3922 AC_TRY_COMPILE([#include <AppKit/NSEvent.h>
3923#include <CoreFoundation/CoreFoundation.h>
3924 ],[],
3925 [AC_MSG_RESULT([no])],
3926 [AC_MSG_RESULT([yes])
3927 AC_MSG_CHECKING([if defining __Point__ will fix it])
3928 AC_TRY_COMPILE([#define __Point__ 1
3929#include <AppKit/NSEvent.h>
3930#include <CoreFoundation/CoreFoundation.h>
3931 ],[],
3932 [AC_MSG_RESULT([yes])
3933 AC_DEFINE(__Point__)
3934 ],
3935 [AC_MSG_FAILURE([no])]
3936 )]
3937 )
3938 AC_LANG_RESTORE
3939fi
3940
09d3439c 3941if test "$wxUSE_MAC" = 1 -o "$wxUSE_COCOA" = 1; then
ceec2216
RL
3942 dnl base name of the resource file for wxMac must be the same
3943 dnl as library installation base name (-install_name)
abb9aae7
VZ
3944 WX_RESOURCES_MACOSX_ASCII="libwx_${TOOLCHAIN_NAME}.${wx_release_number}.r"
3945 WX_RESOURCES_MACOSX_DATA="libwx_${TOOLCHAIN_NAME}.${wx_release_number}.rsrc"
ceec2216 3946
d08b457b 3947 dnl add the resources target for wxMac
e6cc62c6 3948 LIBWXMACRES="\$(top_builddir)lib/${WX_RESOURCES_MACOSX_ASCII}"
09d3439c 3949
891ace05 3950 AC_CHECK_PROG(REZ, Rez, Rez, /Developer/Tools/Rez)
9f8148b1 3951 AC_CHECK_PROG(DEREZ, DeRez, DeRez, /Developer/Tools/DeRez)
36825681 3952 AC_CHECK_PROG(SETFILE, SetFile, SetFile, /Developer/Tools/SetFile)
09d3439c
VZ
3953
3954 MACSETFILE="\$(SETFILE)"
3955
2b5f62a0
VZ
3956 dnl resources are bundled both with shared library and applications
3957 dnl since the carb resource *must* be included in the application
09d3439c 3958 if test "$wxUSE_MAC" = 1; then
891ace05 3959 POSTLINK_COMMAND="\$(REZ) -d __DARWIN__ -t APPL Carbon.r -o"
004ee6da
RL
3960 RESCOMP="$REZ"
3961 WXCONFIG_RESFLAGS="-d __DARWIN__ -t APPL Carbon.r -o"
09d3439c 3962 else
004ee6da
RL
3963 POSTLINK_COMMAND="echo -n | \$(REZ) -d __DARWIN__ -t APPL ${LIBWXMACRES}"
3964 RESCOMP="echo -n \| $REZ"
3965 WXCONFIG_RESFLAGS="-d __DARWIN__ -t APPL \$libdir/$WX_RESOURCES_MACOSX_ASCII"
09d3439c 3966 fi
004ee6da 3967
590b1a4d 3968else
09d3439c 3969 dnl default value is to (silently) do nothing in the makefile
68e24a7b 3970 MACSETFILE="@true"
09d3439c 3971
590b1a4d 3972 if test "$wxUSE_PM" = 1; then
004ee6da
RL
3973 RESCOMP="emxbind"
3974 WXCONFIG_RESFLAGS="-ep"
3975
3976 dnl Is this one really used anywhere for pm?
3977 POSTLINK_COMMAND="$RESCOMP $WXCONFIG_RESFLAGS"
09d3439c 3978 else
891ace05 3979 POSTLINK_COMMAND="@true"
590b1a4d 3980 fi
004ee6da 3981
d08b457b
GD
3982fi
3983
f93ca9fd 3984
9a98a854
VZ
3985dnl ---------------------------------------------------------------------------
3986dnl Checks for typedefs
3987dnl ---------------------------------------------------------------------------
3988
3989dnl defines mode_t if not already defined
3990AC_TYPE_MODE_T
3991dnl defines off_t if not already defined
3992AC_TYPE_OFF_T
3993dnl defines pid_t if not already defined
3994AC_TYPE_PID_T
3995dnl defines size_t if not already defined
3996AC_TYPE_SIZE_T
3997dnl defines uid_t and gid_t if not already defined
3998AC_TYPE_UID_T
3999
d51253e8
RL
4000dnl sets HAVE_SSIZE_T if ssize_t is defined
4001AC_CHECK_TYPES(ssize_t)
4002
d836ee96 4003dnl check what exactly size_t is on this machine - this is necessary to avoid
ef33c576 4004dnl ambiguous overloads in several places, notably wx/string.h and wx/array.h
d836ee96
VZ
4005AC_CACHE_CHECK([if size_t is unsigned int],
4006 wx_cv_size_t_is_uint,
ef33c576 4007 [
dd2c8b7c
VZ
4008 dnl an obvious check like AC_TRY_COMPILE[struct Foo { ... };] doesn't work
4009 dnl with egcs (at least) up to 1.1.1 as it allows you to compile duplicate
4010 dnl methods in a local class (i.e. class inside a function) declaration
4011 dnl without any objections!!
4012 dnl
4013 dnl hence the hack below: we must have Foo at global scope!
d836ee96
VZ
4014 AC_TRY_COMPILE([#include <stddef.h>],
4015 [
dd2c8b7c
VZ
4016 return 0; }
4017
d836ee96 4018 struct Foo { void foo(size_t); void foo(unsigned int); };
dd2c8b7c
VZ
4019
4020 int bar() {
d836ee96
VZ
4021 ],
4022 wx_cv_size_t_is_uint=no,
4023 wx_cv_size_t_is_uint=yes
4024 )
ef33c576 4025 ]
d836ee96
VZ
4026)
4027
4028if test "$wx_cv_size_t_is_uint" = "yes"; then
4029 AC_DEFINE(wxSIZE_T_IS_UINT)
4030else
4031 AC_CACHE_CHECK([if size_t is unsigned long],
4032 wx_cv_size_t_is_ulong,
4033 AC_TRY_COMPILE([#include <stddef.h>],
4034 [
dd2c8b7c
VZ
4035 return 0; }
4036
d836ee96 4037 struct Foo { void foo(size_t); void foo(unsigned long); };
dd2c8b7c
VZ
4038
4039 int bar() {
d836ee96
VZ
4040 ],
4041 wx_cv_size_t_is_ulong=no,
4042 wx_cv_size_t_is_ulong=yes
4043 )
4044 )
4045
4046 if test "$wx_cv_size_t_is_ulong" = "yes"; then
4047 AC_DEFINE(wxSIZE_T_IS_ULONG)
4048 fi
4049fi
4050
9a98a854
VZ
4051dnl ---------------------------------------------------------------------------
4052dnl Checks for structures
4053dnl ---------------------------------------------------------------------------
4054
b12915c1
VZ
4055dnl does passwd struct has the pw_gecos field?
4056AC_CACHE_CHECK([for pw_gecos in struct passwd], wx_cv_struct_pw_gecos,
4057 [
4058 AC_TRY_COMPILE([#include <pwd.h>],
4059 [
4060 char *p;
4061 struct passwd *pw;
4062 p = pw->pw_gecos;
4063 ],
4064 [
4065 wx_cv_struct_pw_gecos=yes
b12915c1
VZ
4066 ],
4067 [
4068 wx_cv_struct_pw_gecos=no
4069 ]
4070 )
4071 ]
4072)
4073
bd3277fe
VZ
4074if test "$wx_cv_struct_pw_gecos" = "yes"; then
4075 AC_DEFINE(HAVE_PW_GECOS)
4076fi
4077
9a98a854 4078dnl ---------------------------------------------------------------------------
9a98a854
VZ
4079dnl Check for functions
4080dnl ---------------------------------------------------------------------------
4081
d29b553b 4082dnl don't check for wchar_t functions if we haven't got wchar_t itself
61c213fe 4083if test "$wxUSE_WCHAR_T" = "yes"; then
d74f4b5a
VZ
4084 AC_DEFINE(wxUSE_WCHAR_T)
4085
4086 dnl check for wcslen in all possible places
4087 WCSLEN_FOUND=0
d29b553b 4088 WCHAR_LINK=
d74f4b5a 4089 AC_CHECK_FUNCS(wcslen, WCSLEN_FOUND=1)
d29b553b 4090
d74f4b5a 4091 if test "$WCSLEN_FOUND" = 0; then
7a30264c 4092 if test "$TOOLKIT" = "MSW"; then
d74f4b5a 4093 AC_CHECK_LIB(msvcrt, wcslen, WCHAR_OK=1)
7a30264c
VZ
4094 else
4095 AC_CHECK_LIB(w, wcslen, [
7a30264c 4096 WCHAR_LINK=" -lw"
d74f4b5a 4097 WCSLEN_FOUND=1
7a30264c
VZ
4098 ])
4099 fi
d29b553b 4100 fi
9a98a854 4101
d74f4b5a
VZ
4102 if test "$WCSLEN_FOUND" = 1; then
4103 AC_DEFINE(HAVE_WCSLEN)
4104 fi
d29b553b 4105
f43dc7d3
MW
4106 dnl On HP-UX aCC need this define to find mbstrtowcs() &c
4107 dnl Can't be used for g++ since the mbstate_t in wchar.h can conflict
4108 dnl with g++'s in <cwchar> (unless -D_INCLUDE__STDC_A1_SOURCE is in the
4109 dnl flags when g++ is configured, it will declare it's own).
4110 if test "$USE_HPUX" = 1 -a "$GCC" != "yes"; then
c92ad099 4111 CPPFLAGS="-D_INCLUDE__STDC_A1_SOURCE $CPPFLAGS"
acaffac9
VZ
4112 fi
4113
f43dc7d3
MW
4114 dnl Try to use wcsrtombs instead of wcstombs which is buggy in old GNU
4115 dnl libc versions if possible. AC_CHECK_FUNCS only checks it's in the
4116 dnl library, not the header, so do a header check for mbstate_t first.
4117 AC_CHECK_TYPES([mbstate_t],
4118 [AC_CHECK_FUNCS(wcsrtombs)],
4119 [],
4120 [#include <wchar.h>])
d29b553b 4121else
d74f4b5a 4122 AC_MSG_WARN([Wide character support is unavailable])
d29b553b 4123fi
b3e8d00a 4124
247f5006 4125dnl check for vsnprintf() -- a safe version of vsprintf())
ec0d6da3 4126dnl
b5887a83 4127dnl the trouble here is that on some systems (e.g HP-UX 10) this function is
ec0d6da3
VZ
4128dnl present in libc but not in the system headers and so AC_CHECK_FUNCS (which,
4129dnl stupidly, provides a dummy function declaration inside its extension)
77ffb593 4130dnl succeeds, even with C++ compiler, but the compilation of wxWidgets fails
ec0d6da3
VZ
4131dnl
4132dnl so we first check if the function is in the library
4a767dd5 4133AC_CHECK_FUNCS(snprintf vsnprintf)
9d8deca0 4134
ec0d6da3
VZ
4135if test "$ac_cv_func_vsnprintf" = "yes"; then
4136 dnl yes it is -- now check if it is in the headers
4137 AC_CACHE_CHECK([for vsnprintf declaration], wx_cv_func_vsnprintf_decl,
4138 [
b5887a83
VZ
4139 dnl our troubles are not over: HP-UX 11 prototypes vsnprintf() as
4140 dnl taking "char *" and not "const char *" while Metrowerks does
4141 dnl provide a correct vsnprintf declaration but in C++ mode it's
4142 dnl always in std namespace and so we have to bring it in scope
ec0d6da3
VZ
4143 AC_TRY_COMPILE(
4144 [
4145 #include <stdio.h>
4146 #include <stdarg.h>
b5887a83
VZ
4147 #ifdef __MSL__
4148 #if __MSL__ >= 0x6000
4149 namespace std {}
4150 using namespace std;
4151 #endif
4152 #endif
ec0d6da3
VZ
4153 ],
4154 [
4155 char *buf;
4156 va_list ap;
62fa8b3a 4157 vsnprintf(buf, 10u, "%s", ap);
ec0d6da3
VZ
4158 ],
4159 wx_cv_func_vsnprintf_decl=yes,
b5887a83 4160 wx_cv_func_vsnprintf_decl=no
ec0d6da3
VZ
4161 )
4162 ]
4163 )
4164
4165 if test "$wx_cv_func_vsnprintf_decl" = "yes"; then
4166 AC_DEFINE(HAVE_VSNPRINTF_DECL)
62fa8b3a
MW
4167
4168 dnl we know there is a vsnprintf declaration, but some old headers
4169 dnl may have one taking a "char *" format instead of "const char *"
4170 AC_CACHE_CHECK([if vsnprintf declaration is broken], wx_cv_func_broken_vsnprintf_decl,
4171 [
4172 AC_TRY_COMPILE(
4173 [
4174 #include <stdio.h>
4175 #include <stdarg.h>
4176 #ifdef __MSL__
4177 #if __MSL__ >= 0x6000
4178 namespace std {}
4179 using namespace std;
4180 #endif
4181 #endif
4182 ],
4183 [
4184 char *buf;
4185 va_list ap;
4186 const char *fmt = "%s";
4187 vsnprintf(buf, 10u, fmt, ap);
4188 ],
4189 wx_cv_func_broken_vsnprintf_decl=no,
4190 wx_cv_func_broken_vsnprintf_decl=yes
4191 )
4192 ]
4193 )
4194
4195 if test "$wx_cv_func_broken_vsnprintf_decl" = "yes"; then
4196 AC_DEFINE(HAVE_BROKEN_VSNPRINTF_DECL)
4197 fi
ec0d6da3
VZ
4198 fi
4199fi
4200
4a767dd5
VZ
4201dnl the same as above but for snprintf() now: it's not present in at least AIX
4202dnl 4.2 headers
4203if test "$ac_cv_func_snprintf" = "yes"; then
4204 AC_CACHE_CHECK([for snprintf declaration], wx_cv_func_snprintf_decl,
4205 [
4206 AC_TRY_COMPILE(
4207 [
4208 #include <stdio.h>
4209 #include <stdarg.h>
4210 #ifdef __MSL__
4211 #if __MSL__ >= 0x6000
4212 namespace std {}
4213 using namespace std;
4214 #endif
4215 #endif
4216 ],
4217 [
4218 char *buf;
62fa8b3a 4219 snprintf(buf, 10u, "%s", "wx");
4a767dd5
VZ
4220 ],
4221 wx_cv_func_snprintf_decl=yes,
4222 wx_cv_func_snprintf_decl=no
4223 )
4224 ]
4225 )
4226
4227 if test "$wx_cv_func_snprintf_decl" = "yes"; then
4228 AC_DEFINE(HAVE_SNPRINTF_DECL)
62fa8b3a
MW
4229
4230 dnl we know there is an snprintf declaration, but some old headers
4231 dnl may have one taking a "char *" format instead of "const char *"
4232 AC_CACHE_CHECK([if snprintf declaration is broken], wx_cv_func_broken_snprintf_decl,
4233 [
4234 AC_TRY_COMPILE(
4235 [
4236 #include <stdio.h>
4237 #include <stdarg.h>
4238 #ifdef __MSL__
4239 #if __MSL__ >= 0x6000
4240 namespace std {}
4241 using namespace std;
4242 #endif
4243 #endif
4244 ],
4245 [
4246 char *buf;
4247 const char *fmt = "%s";
4248 snprintf(buf, 10u, fmt, "wx");
4249 ],
4250 wx_cv_func_broken_snprintf_decl=no,
4251 wx_cv_func_broken_snprintf_decl=yes
4252 )
4253 ]
4254 )
4255
4256 if test "$wx_cv_func_broken_snprintf_decl" = "yes"; then
4257 AC_DEFINE(HAVE_BROKEN_SNPRINTF_DECL)
4258 fi
4a767dd5
VZ
4259 fi
4260fi
4261
d74f4b5a 4262if test "$wxUSE_UNICODE" = yes; then
247f5006 4263 dnl also look if we have wide char IO functions
fbe47c7b 4264 AC_CHECK_FUNCS(wputc wputchar putws fputws wprintf vswprintf)
ec0d6da3 4265
79668cae
MB
4266 dnl MinGW has a vswprintf with a different prototype, and
4267 dnl a _vsnwprintf with the correct prototype, but AC_CHECK_FUNCS
4268 dnl finds it even if it is not declared in some versions...
4269 AC_MSG_CHECKING([for _vsnwprintf])
4270 AC_TRY_COMPILE([#include <wchar.h>],
4271 [&_vsnwprintf;],
4272 [AC_MSG_RESULT([yes])
4273 AC_DEFINE(HAVE__VSNWPRINTF)],
4274 [AC_MSG_RESULT([no])]);
d74f4b5a
VZ
4275fi
4276
6ebeb4c7
VZ
4277if test "x$ac_cv_header_fnmatch_h" = "xyes"; then
4278 AC_CHECK_FUNCS(fnmatch)
4279fi
4280
4281if test "$wxUSE_FILE" = "yes"; then
4282 AC_CHECK_FUNCS(fsync)
4283fi
247f5006
VZ
4284
4285
f6bcfd97 4286dnl the following tests are for Unix(like) systems only
b089607b 4287if test "$TOOLKIT" != "MSW"; then
a0c79abb 4288
95c8801c
VS
4289dnl check for available version of iconv()
4290
b040e242
VS
4291AM_ICONV
4292LIBS="$LIBICONV $LIBS"
95c8801c 4293
eb4efbdc
VZ
4294dnl check for POSIX signals if we need them
4295if test "$wxUSE_ON_FATAL_EXCEPTION" = "yes" -a "$wxUSE_UNIX" = "yes"; then
4296 AC_CHECK_FUNCS(sigaction)
4297
4298 if test "$ac_cv_func_sigaction" = "no"; then
4299 AC_MSG_WARN([No POSIX signal functions on this system, wxApp::OnFatalException will not be called])
4300 wxUSE_ON_FATAL_EXCEPTION=no
4301 fi
f6bcfd97
BP
4302
4303 if test "$wxUSE_ON_FATAL_EXCEPTION" = "yes"; then
f6bcfd97
BP
4304 AC_CACHE_CHECK([for sa_handler type], wx_cv_type_sa_handler,
4305 [
4306 AC_TRY_COMPILE([#include <signal.h>],
4307 [
4308 extern void testSigHandler(int);
4309
4310 struct sigaction sa;
4311 sa.sa_handler = testSigHandler;
4312 ], [
4313 wx_cv_type_sa_handler=int
4314 ], [
4315 wx_cv_type_sa_handler=void
4316 ])
4317 ])
4318
f6bcfd97
BP
4319 AC_DEFINE_UNQUOTED(wxTYPE_SA_HANDLER, $wx_cv_type_sa_handler)
4320 fi
eb4efbdc
VZ
4321fi
4322
eaff0f0d
VZ
4323dnl backtrace() and backtrace_symbols() for wxStackWalker
4324if test "$wxUSE_STACKWALKER" = "yes" -a "$wxUSE_UNIX" = "yes"; then
eaff0f0d
VZ
4325 AC_CACHE_CHECK([for backtrace() in <execinfo.h>], wx_cv_func_backtrace,
4326 [
4327 AC_TRY_COMPILE([#include <execinfo.h>],
4328 [
4329 void *trace[1];
4330 char **messages;
4331
4332 backtrace(trace, 1);
4333 messages = backtrace_symbols(trace, 1);
4334 ],
4335 wx_cv_func_backtrace=yes,
4336 wx_cv_func_backtrace=no
4337 )
4338 ]
4339 )
4340
4341
4342 if test "$wx_cv_func_backtrace" = "no"; then
4343 AC_MSG_WARN([backtrace() is not available, wxStackWalker will not be available])
4344 wxUSE_STACKWALKER=no
4345 else
4346 AC_CACHE_CHECK([for __cxa_demangle() in <cxxabi.h>], wx_cv_func_cxa_demangle,
4347 [
dfe0c803 4348 AC_TRY_LINK([#include <cxxabi.h>],
eaff0f0d
VZ
4349 [
4350 int rc;
4351 __cxxabiv1::__cxa_demangle("foo", 0, 0, &rc);
4352 ],
4353 wx_cv_func_cxa_demangle=yes,
4354 wx_cv_func_cxa_demangle=no
4355 )
4356 ]
4357 )
4358
4359 if test "$wx_cv_func_cxa_demangle" = "yes"; then
4360 AC_DEFINE(HAVE_CXA_DEMANGLE)
4361 fi
4362 fi
eaff0f0d
VZ
4363fi
4364
5ff751d6 4365if test "$wxUSE_STACKWALKER" = "yes" -a "$USE_WIN32" != "1" -a "$USE_UNIX" != "1"; then
898beab1
DE
4366 AC_MSG_WARN([wxStackWalker is only available on Win32 and UNIX... disabled])
4367 wxUSE_STACKWALKER=no
4368fi
4369
4370
ade35f11
VZ
4371dnl check for the function for temp files creation
4372AC_CHECK_FUNCS(mkstemp mktemp, break)
4373
9952adac
VZ
4374dnl get the library function to use for wxGetDiskSpace(): it is statfs() under
4375dnl Linux and *BSD and statvfs() under Solaris
52e8b690
VZ
4376AC_CACHE_CHECK(for statfs, wx_cv_func_statfs,
4377 AC_TRY_COMPILE(
4378 [
9952adac 4379 #if defined(__BSD__)
84ae7ca4
VZ
4380 #include <sys/param.h>
4381 #include <sys/mount.h>
d08b457b 4382 #else
84ae7ca4 4383 #include <sys/vfs.h>
d08b457b 4384 #endif
52e8b690
VZ
4385 ],
4386 [
4387 long l;
4388 struct statfs fs;
4389 statfs("/", &fs);
4390 l = fs.f_bsize;
4391 l += fs.f_blocks;
4392 l += fs.f_bavail;
4393 ],
84ae7ca4
VZ
4394 wx_cv_func_statfs=yes,
4395 wx_cv_func_statfs=no
4396 )
4397)
4398
4399if test "$wx_cv_func_statfs" = "yes"; then
4400 dnl check whether we have its dcelaration too: some systems (AIX 4) lack it
84ae7ca4 4401 AC_CACHE_CHECK(for statfs declaration, wx_cv_func_statfs_decl,
0683aca6
VZ
4402 AC_TRY_COMPILE(
4403 [
4404 #if defined(__BSD__)
4405 #include <sys/param.h>
4406 #include <sys/mount.h>
4407 #else
4408 #include <sys/vfs.h>
4409 #endif
4410 ],
4411 [
4412 struct statfs fs;
4413 statfs("", &fs);
4414 ],
4415 wx_cv_func_statfs_decl=yes,
4416 wx_cv_func_statfs_decl=no
4417 )
52e8b690 4418 )
84ae7ca4
VZ
4419
4420 if test "$wx_cv_func_statfs_decl" = "yes"; then
4421 AC_DEFINE(HAVE_STATFS_DECL)
4422 fi
52e8b690 4423
54ab82b3 4424 wx_cv_type_statvfs_t="struct statfs"
52e8b690
VZ
4425 AC_DEFINE(HAVE_STATFS)
4426else
9952adac
VZ
4427 AC_CACHE_CHECK(for statvfs, wx_cv_func_statvfs,
4428 AC_TRY_COMPILE(
4429 [
54ab82b3
VZ
4430 #include <stddef.h>
4431 #include <sys/statvfs.h>
9952adac
VZ
4432 ],
4433 [
54ab82b3 4434 statvfs("/", NULL);
9952adac 4435 ],
54ab82b3
VZ
4436 wx_cv_func_statvfs=yes,
4437 wx_cv_func_statvfs=no
9952adac 4438 )
af15babd 4439 )
9952adac
VZ
4440
4441 if test "$wx_cv_func_statvfs" = "yes"; then
54ab82b3
VZ
4442 dnl we also have to check whether we should use statvfs_t (works under
4443 dnl Solaris 8, doesn't work under Solaris 7) or "struct statvfs" (vice
4444 dnl versa) as the argument for statvfs in 64 bit off_t mode (in 32 bit
4445 dnl mode both work fine)
4446 dnl
4447 dnl for this check C++ compiler has to be used as passing incompatible
4448 dnl pointers is just a warning and not an error in C
54ab82b3
VZ
4449 AC_CACHE_CHECK(for statvfs argument type, wx_cv_type_statvfs_t,
4450 AC_TRY_COMPILE(
4451 [
4452 #include <sys/statvfs.h>
4453 ],
4454 [
4455 long l;
4456 statvfs_t fs;
4457 statvfs("/", &fs);
4458 l = fs.f_bsize;
4459 l += fs.f_blocks;
4460 l += fs.f_bavail;
4461 ],
4462 wx_cv_type_statvfs_t=statvfs_t,
4463 [
4464 AC_TRY_COMPILE(
4465 [
4466 #include <sys/statvfs.h>
4467 ],
4468 [
4469 long l;
e107213f 4470 struct statvfs fs;
54ab82b3
VZ
4471 statvfs("/", &fs);
4472 l = fs.f_bsize;
4473 l += fs.f_blocks;
4474 l += fs.f_bavail;
4475 ],
4476 wx_cv_type_statvfs_t="struct statvfs",
4477 wx_cv_type_statvfs_t="unknown"
4478 )
4479 ]
4480 )
4481 )
4482
54ab82b3
VZ
4483 if test "$wx_cv_type_statvfs_t" != "unknown"; then
4484 AC_DEFINE(HAVE_STATVFS)
4485 fi
9952adac 4486 else
54ab82b3
VZ
4487 dnl set it for the test below
4488 wx_cv_type_statvfs_t="unknown"
9952adac 4489 fi
52e8b690
VZ
4490fi
4491
54ab82b3
VZ
4492if test "$wx_cv_type_statvfs_t" != "unknown"; then
4493 AC_DEFINE_UNQUOTED(WX_STATFS_T, $wx_cv_type_statvfs_t)
4494else
4495 AC_MSG_WARN([wxGetDiskSpace() function won't work without statfs()])
4496fi
4497
4f3c5f06
VZ
4498dnl check for fcntl() or at least flock() needed by Unix implementation of
4499dnl wxSingleInstanceChecker
4500if test "$wxUSE_SNGLINST_CHECKER" = "yes"; then
4501 AC_CHECK_FUNCS(fcntl flock, break)
4502
4503 if test "$ac_cv_func_fcntl" != "yes" -a "$ac_cv_func_flock" != "yes"; then
4504 AC_MSG_WARN(wxSingleInstanceChecker not available)
4505 wxUSE_SNGLINST_CHECKER=no
4506 fi
4507fi
4508
270a909e
VZ
4509dnl check for timegm() used by datetime.cpp
4510AC_CHECK_FUNCS(timegm)
4511
4f3c5f06 4512dnl look for a function to modify the environment
8fd0d89b
VZ
4513AC_CHECK_FUNCS(putenv setenv, break)
4514
b12915c1
VZ
4515HAVE_SOME_SLEEP_FUNC=0
4516if test "$USE_BEOS" = 1; then
4517 dnl BeOS has its own (wonder where did they get it from) sleep() function
4518 dnl in unistd.h
4519 AC_DEFINE(HAVE_SLEEP)
4520 HAVE_SOME_SLEEP_FUNC=1
4521fi
4522
f11bdd03 4523if test "$USE_DARWIN" = 1; then
b2fee376 4524 dnl Mac OS X/Darwin has both nanosleep and usleep
b4085ce6
GD
4525 dnl but only usleep is defined in unistd.h
4526 AC_DEFINE(HAVE_USLEEP)
4527 HAVE_SOME_SLEEP_FUNC=1
4528fi
4529
b12915c1
VZ
4530if test "$HAVE_SOME_SLEEP_FUNC" != 1; then
4531 dnl try nanosleep() in libc and libposix4, if this fails - usleep()
4532 POSIX4_LINK=
4533 AC_CHECK_FUNCS(nanosleep,
4534 AC_DEFINE(HAVE_NANOSLEEP),
4535 [
4536 AC_CHECK_LIB(posix4, nanosleep,
4537 [
4538 AC_DEFINE(HAVE_NANOSLEEP)
3d63bc3a 4539 POSIX4_LINK=" -lposix4"
b12915c1
VZ
4540 ],
4541 [
b4085ce6 4542 AC_CHECK_FUNCS(usleep,
4f3c5f06
VZ
4543 AC_DEFINE(HAVE_USLEEP),
4544 AC_MSG_WARN([wxSleep() function will not work])
4545 )
b12915c1
VZ
4546 ]
4547 )
4548 ]
4549 )
4550fi
9a98a854
VZ
4551
4552dnl check for uname (POSIX) and gethostname (BSD)
4553AC_CHECK_FUNCS(uname gethostname, break)
4554
e90c1d2a
VZ
4555AC_CHECK_FUNCS(strtok_r)
4556
c63c7106 4557dnl check for inet_addr and inet_aton (these may live either in libc, or in
c6712985 4558dnl libnsl or libresolv or libsocket)
c63c7106
VZ
4559INET_LINK=
4560AC_CHECK_FUNCS(inet_addr,
4561 AC_DEFINE(HAVE_INET_ADDR),
4562 [
4563 AC_CHECK_LIB(nsl, inet_addr,
270a909e 4564 INET_LINK="nsl",
4c15b7af
SN
4565 [
4566 AC_CHECK_LIB(resolv, inet_addr,
4567 INET_LINK="resolv",
4568 [
4569 AC_CHECK_LIB(socket, inet_addr,
4570 INET_LINK="socket"
4571 )
4572 ]
c6712985 4573 )
4c15b7af 4574 ]
c63c7106
VZ
4575 )
4576 ]
4577)
4578
4579AC_CHECK_FUNCS(inet_aton,
4580 AC_DEFINE(HAVE_INET_ATON),
4581 [
4582 dnl only check it in the same lib
4583 AC_CHECK_LIB($INET_LINK, inet_aton, AC_DEFINE(HAVE_INET_ATON))
4584 ])
4585
4586if test "x$INET_LINK" != "x"; then
4587 AC_DEFINE(HAVE_INET_ADDR)
3d63bc3a 4588 INET_LINK=" -l$INET_LINK"
c63c7106 4589fi
e96ac54e 4590
a0c79abb 4591fi
b089607b 4592dnl if !MSW
a0c79abb 4593
e6cc62c6
VS
4594
4595dnl ------------------------------------------
4596dnl Checks specific to contrib libs (MMedia)
4597dnl ------------------------------------------
4598
4599dnl Check for ESD:
edd891e2
VS
4600EXTRALIBS_ESD=
4601AC_CHECK_LIB(esd, esd_close, [
4602 AC_CHECK_HEADERS([esd.h], [
4603 EXTRALIBS_ESD="-lesd"
e6cc62c6
VS
4604 ])
4605])
edd891e2 4606AC_SUBST(EXTRALIBS_ESD)
e6cc62c6 4607
d19d1899
MB
4608dnl check for known CD-ROM interface
4609AC_MSG_CHECKING([for known CD-ROM interface])
4610AC_TRY_COMPILE([#ifdef __linux__
4611 #include <linux/cdrom.h>
4612 #else
4613 /* For Solaris */
4614 #include <sys/cdio.h>
4615 #endif
4616 ],
4617 [struct cdrom_tocentry entry, old_entry;],
4618 [AC_MSG_RESULT([yes])
4619 AC_DEFINE(HAVE_KNOWN_CDROM_INTERFACE)],
4620 [AC_MSG_RESULT([no])])
e6cc62c6 4621
9a98a854
VZ
4622dnl ===========================================================================
4623dnl Now we have all the info we need - use it!
4624dnl ===========================================================================
4625
4626dnl flush the cache
4627AC_CACHE_SAVE
4628
4629dnl ---------------------------------------------------------------------------
5cc55caf
SN
4630dnl thread support for Unix (for Win32 and OS/2 see past
4631dnl the next matching "else")
9a98a854
VZ
4632dnl ---------------------------------------------------------------------------
4633
a0b9e27f 4634dnl under MSW (except mingw32) we always have thread support
5cc55caf 4635if test "$TOOLKIT" != "MSW" -a "$USE_OS2" != 1; then
a9b5e89f 4636
7274f1c7 4637 dnl the code below:
009fead0 4638 dnl
e56f4f9e 4639 dnl defines THREADS_LINK and THREADS_CXXFLAGS which are the options
009fead0
VZ
4640 dnl necessary to build the MT programs for the linker and compiler
4641 dnl respectively
4642 dnl
4643 dnl sets wxUSE_THREADS=1 if thread support is activated
7274f1c7
RL
4644
4645 THREADS_LINK=
e56f4f9e 4646 THREADS_CXXFLAGS=
7274f1c7
RL
4647
4648 if test "$wxUSE_THREADS" = "yes" ; then
d1188635 4649 if test "$USE_BEOS" = 1; then
156b2523 4650 AC_MSG_WARN([BeOS threads are not yet supported... disabled])
7274f1c7
RL
4651 wxUSE_THREADS="no"
4652 fi
77c85c2b 4653 fi
39c9d5ac 4654
7274f1c7
RL
4655 if test "$wxUSE_THREADS" = "yes" ; then
4656 dnl find if POSIX threads are available
009fead0
VZ
4657 dnl
4658 dnl the tests here are based on ACX_PTHREAD macro from autoconf macro
4659 dnl archive from http://ac-archive.sourceforge.net/
4660 dnl
4661 dnl thanks to Steven G. Johnson <stevenj@alum.mit.edu> and Alejandro
4662 dnl Forero Cuervo <bachue@bachue.com> for the original code
4663
4664 dnl TODO: cache the result
4665
4666 dnl define the list of the thread options to try in the loop below
4667 dnl with the convention that anything starting with '-' is a cpp flag
4668 dnl while anything else is a library (i.e. there is an implicit "-l")
4669 THREAD_OPTS="-pthread"
4670 case "${host}" in
4671 *-*-solaris2* | *-*-sunos4* )
4672 if test "x$GCC" = "xyes"; then
126be6b4
VZ
4673 dnl Solaris/gcc combination use this one for some reason
4674 THREAD_OPTS="-pthreads $THREAD_OPTS"
009fead0
VZ
4675 else
4676 THREAD_OPTS="-mt $THREAD_OPTS"
4677 fi
4678 ;;
4679 *-*-freebsd*)
4680 dnl look, in order, for the kernel threads, then Linux threads
4681 dnl and finally the userland threads
4682 THREAD_OPTS="-kthread lthread $THREAD_OPTS c_r"
4683 ;;
17234b26 4684 *-*-darwin* | *-*-cygwin* )
4101db81 4685 dnl Darwin / Mac OS X just uses -lpthread tested below
17234b26 4686 dnl and so does Cygwin
4101db81
GD
4687 THREAD_OPTS=""
4688 ;;
4689 *-*-aix*)
009fead0
VZ
4690 dnl AIX calls the library libpthreads - thanks IBM!
4691 THREAD_OPTS="pthreads"
4692 ;;
4f5a7f74 4693 *-hp-hpux* )
00421666
MW
4694 if test "x$GCC" = "xyes"; then
4695 dnl g++ versions before 3.3.2 don't support -pthread.
4696 $CXX -dumpspecs | grep 'pthread:' >/dev/null ||
5ff751d6 4697 THREAD_OPTS=""
00421666 4698 else
54770337
VZ
4699 dnl HP-UX aCC (tested with version B3910B A.06.05 [Jul 25
4700 dnl 2005]) supports -mt
4701 THREAD_OPTS="-mt"
4f5a7f74 4702 fi
89e3b3e4 4703 ;;
260d6849
VZ
4704
4705 *-*-irix* )
4706 dnl gcc under IRIX doesn't seem to like -pthread, but it
4707 dnl doesn't give an error for it neither, just a warning
4708 dnl message -- but this is still very annoying
4709 if test "x$GCC" = "xyes"; then
4710 THREAD_OPTS=""
4711 fi
4712 ;;
4713
4714 *-*-*UnixWare*)
4715 dnl flying by man pages here: Caldera online docs use this
4716 if test "x$GCC" != "xyes"; then
4717 THREAD_OPTS="-Ethread"
4718 fi
4719 ;;
009fead0 4720 esac
c596875e 4721
595e0e44
VZ
4722 dnl simply linking with libpthread should make the test below work but
4723 dnl it's far from certain that the threaded programs compiled without
4724 dnl any special switches actually work, so try it after all the others
02a1dfba 4725 THREAD_OPTS="$THREAD_OPTS pthread none"
595e0e44 4726
009fead0
VZ
4727 dnl now test for all possibilities
4728 THREADS_OK=no
4729 for flag in $THREAD_OPTS; do
4730 case $flag in
4731 none)
4732 AC_MSG_CHECKING([whether pthreads work without any flags])
4733 ;;
f6bcfd97 4734
009fead0
VZ
4735 -*)
4736 AC_MSG_CHECKING([whether pthreads work with $flag])
e56f4f9e 4737 THREADS_CXXFLAGS="$flag"
009fead0 4738 ;;
9a98a854 4739
009fead0
VZ
4740 *)
4741 AC_MSG_CHECKING([for the pthreads library -l$flag])
4742 THREADS_LINK="-l$flag"
4743 ;;
4744 esac
4745
4746 save_LIBS="$LIBS"
e56f4f9e 4747 save_CXXFLAGS="$CXXFLAGS"
009fead0 4748 LIBS="$THREADS_LINK $LIBS"
e56f4f9e 4749 CXXFLAGS="$THREADS_CXXFLAGS $CXXFLAGS"
009fead0
VZ
4750
4751 AC_TRY_LINK([#include <pthread.h>],
4752 [pthread_create(0,0,0,0);],
4753 THREADS_OK=yes)
4754
4755 LIBS="$save_LIBS"
e56f4f9e 4756 CXXFLAGS="$save_CXXFLAGS"
009fead0
VZ
4757
4758 AC_MSG_RESULT($THREADS_OK)
4759 if test "x$THREADS_OK" = "xyes"; then
4760 break;
4761 fi
4762
4763 THREADS_LINK=""
e56f4f9e 4764 THREADS_CXXFLAGS=""
009fead0
VZ
4765 done
4766
4767 if test "x$THREADS_OK" != "xyes"; then
4768 wxUSE_THREADS=no
4769 AC_MSG_WARN([No thread support on this system... disabled])
4770 else
fe5a9cab
VZ
4771 dnl yes, these special compiler flags should be used with the
4772 dnl linker as well
e56f4f9e 4773 LDFLAGS="$THREADS_CXXFLAGS $LDFLAGS"
db82f09e 4774 LIBS="$THREADS_LINK $LIBS"
fe5a9cab 4775
009fead0
VZ
4776 AC_MSG_CHECKING([if more special flags are required for pthreads])
4777 flag=no
4778 case "${host}" in
2b5f62a0
VZ
4779 *-aix*)
4780 dnl again quoting from
4781 dnl http://www-1.ibm.com/servers/esdd/articles/gnu.html:
4782 dnl
4783 dnl When compiling and linking with -pthread, the library
4784 dnl search path should include -L/usr/lib/threads at the
4785 dnl beginning of the path.
4786 LDFLAGS="-L/usr/lib/threads $LDFLAGS"
4787 flag="-D_THREAD_SAFE"
4788 ;;
4789 *-freebsd*)
009fead0
VZ
4790 flag="-D_THREAD_SAFE"
4791 ;;
06313569
GD
4792 *-hp-hpux* )
4793 flag="-D_REENTRANT"
4f5a7f74
VZ
4794 if test "x$GCC" != "xyes"; then
4795 dnl see http://docs.hp.com/hpux/onlinedocs/2213/threads.htm
4796 flag="$flag -D_RWSTD_MULTI_THREAD"
4797 fi
06313569 4798 ;;
009fead0
VZ
4799 *solaris* | alpha*-osf*)
4800 flag="-D_REENTRANT"
4801 ;;
4802 esac
4803 AC_MSG_RESULT(${flag})
4804 if test "x$flag" != xno; then
e56f4f9e 4805 THREADS_CXXFLAGS="$THREADS_CXXFLAGS $flag"
009fead0
VZ
4806 fi
4807
5ff751d6 4808 dnl don't add these options to CPPFLAGS as cpp might not know them
e56f4f9e 4809 WXCONFIG_CXXFLAGS="$WXCONFIG_CXXFLAGS $THREADS_CXXFLAGS"
009fead0 4810 fi
aea02638 4811 fi
9a98a854 4812
7274f1c7
RL
4813 dnl do other tests only if we are using threads
4814 if test "$wxUSE_THREADS" = "yes" ; then
4815 AC_CHECK_FUNCS(thr_setconcurrency)
4816
6ebeb4c7
VZ
4817 dnl can't use AC_CHECK_FUNCS for this one as it's usually a macro and so
4818 dnl wouldn't be found by it
4819 AC_CACHE_CHECK([for pthread_cleanup_push/pop], wx_cv_func_pthread_cleanup,
4820 [
4821 AC_TRY_COMPILE([#include <pthread.h>
4822 void ThreadCleanupFunc(void *p);
4823 ],
4824 [
4825 void *p;
4826 pthread_cleanup_push(ThreadCleanupFunc, p);
4827 pthread_cleanup_pop(0);
4828 ], [
4829 wx_cv_func_pthread_cleanup=yes
4830 ], [
4831 wx_cv_func_pthread_cleanup=no
4832 ]
4833 )
4834 ])
4835 if test "x$wx_cv_func_pthread_cleanup" = "xyes"; then
4836 AC_DEFINE(wxHAVE_PTHREAD_CLEANUP)
4837 fi
4838
7274f1c7 4839 AC_CHECK_HEADERS(sched.h)
009fead0
VZ
4840 if test "$ac_cv_header_sched_h" = "yes"; then
4841 AC_CHECK_FUNC(sched_yield,
4842 AC_DEFINE(HAVE_SCHED_YIELD),
4843 [
4844 AC_CHECK_LIB(posix4,
4845 sched_yield,
4846 [AC_DEFINE(HAVE_SCHED_YIELD) POSIX4_LINK=" -lposix4"],
4847 AC_MSG_WARN(wxThread::Yield will not work properly)
4848 )
4849 ]
4850 )
4851 fi
9a98a854 4852
7274f1c7
RL
4853 dnl to be able to set the thread priority, we need to have all of the
4854 dnl following functions:
4855 dnl 1. pthread_attr_getschedpolicy
4856 dnl 2. sched_get_priority_min and sched_get_priority_max
4857 dnl (this one can be in either libpthread or libposix4 (under Solaris))
4858 dnl 3. pthread_attr_getschedparam and pthread_attr_setschedparam
4859 HAVE_PRIOR_FUNCS=0
009fead0 4860 AC_CHECK_FUNC(pthread_attr_getschedpolicy,
ef33c576
VZ
4861 [AC_CHECK_FUNC(pthread_attr_setschedparam,
4862 [AC_CHECK_FUNC(sched_get_priority_max,
7274f1c7 4863 HAVE_PRIOR_FUNCS=1,
ef33c576 4864 [AC_CHECK_LIB([posix4], sched_get_priority_max,
7274f1c7
RL
4865 [
4866 HAVE_PRIOR_FUNCS=1
4867 POSIX4_LINK=" -lposix4"
4868 ],
ef33c576
VZ
4869 )]
4870 )]
4871 )]
7274f1c7 4872 )
f6bcfd97 4873
7274f1c7
RL
4874 if test "$HAVE_PRIOR_FUNCS" = 1; then
4875 AC_DEFINE(HAVE_THREAD_PRIORITY_FUNCTIONS)
4876 else
4877 AC_MSG_WARN(Setting thread priority will not work)
4878 fi
9a98a854 4879
009fead0
VZ
4880 AC_CHECK_FUNC(pthread_cancel,
4881 AC_DEFINE(HAVE_PTHREAD_CANCEL),
4882 AC_MSG_WARN([wxThread::Kill() will not work properly]))
9a98a854 4883
219577d0
SN
4884 AC_CHECK_FUNC(pthread_attr_setstacksize,
4885 AC_DEFINE(HAVE_PTHREAD_ATTR_SETSTACKSIZE))
ab252f7b 4886
7274f1c7
RL
4887 dnl mutexattr_t initialization is done in quite different ways on different
4888 dnl platforms, so check for a few things:
4889 dnl
4890 dnl HAVE_MUTEX_RECURSIVE means that we can create recursive mutexes
4891 dnl HAVE_MUTEXATTR_SETTYPE means that we do it using
4892 dnl pthread_mutexattr_settype(PTHREAD_MUTEX_RECURSIVE) and if it is not
4893 dnl defined, we do it by directly assigned
4894 dnl PTHREAD_MUTEX_RECURSIVE_MUTEX_INITIALIZER_NP to attr
4895
7274f1c7
RL
4896 AC_CACHE_CHECK([for pthread_mutexattr_t], wx_cv_type_pthread_mutexattr_t,
4897 [
d9b9876f
VZ
4898 AC_TRY_COMPILE([#include <pthread.h>],
4899 [
7274f1c7
RL
4900 pthread_mutexattr_t attr;
4901 pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_RECURSIVE);
123dca7d
VZ
4902 ],
4903 wx_cv_type_pthread_mutexattr_t=yes,
4904 wx_cv_type_pthread_mutexattr_t=no
d9b9876f 4905 )
7274f1c7 4906 ])
d9b9876f 4907
7274f1c7
RL
4908 if test "$wx_cv_type_pthread_mutexattr_t" = "yes"; then
4909 AC_DEFINE(HAVE_PTHREAD_MUTEXATTR_T)
123dca7d
VZ
4910
4911 dnl check if we already have the declaration we need, it is not
4912 dnl present in some systems' headers
4913 AC_CACHE_CHECK([for pthread_mutexattr_settype declaration],
4914 wx_cv_func_pthread_mutexattr_settype_decl, [
4915 AC_TRY_COMPILE([#include <pthread.h>],
4916 [
4917 pthread_mutexattr_t attr;
4918 pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_RECURSIVE);
4919 ],
4920 wx_cv_func_pthread_mutexattr_settype_decl=yes,
4921 wx_cv_func_pthread_mutexattr_settype_decl=no
4922 )
4923 ])
4924 if test "$wx_cv_func_pthread_mutexattr_settype_decl" = "yes"; then
4925 AC_DEFINE(HAVE_PTHREAD_MUTEXATTR_SETTYPE_DECL)
4926 fi
7274f1c7
RL
4927 else
4928 dnl don't despair, there may be another way to do it
4929 AC_CACHE_CHECK([for PTHREAD_RECURSIVE_MUTEX_INITIALIZER],
4930 wx_cv_type_pthread_rec_mutex_init,
4931 [
4932 AC_TRY_COMPILE([#include <pthread.h>],
4933 [
4934 pthread_mutex_t attr = PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP;
4935 ], [
4936 wx_cv_type_pthread_rec_mutex_init=yes
4937 ], [
4938 wx_cv_type_pthread_rec_mutex_init=no
4939 ]
4940 )
4941 ])
4942 if test "$wx_cv_type_pthread_rec_mutex_init" = "yes"; then
4943 AC_DEFINE(HAVE_PTHREAD_RECURSIVE_MUTEX_INITIALIZER)
4944 else
4945 dnl this may break code working elsewhere, so at least warn about it
4946 AC_MSG_WARN([wxMutex won't be recursive on this platform])
4947 fi
4948 fi
7274f1c7 4949 fi
9a98a854 4950
b089607b 4951dnl from if !MSW
a0b9e27f
MB
4952else
4953 if test "$wxUSE_THREADS" = "yes" ; then
4954 case "${host}" in
4955 *-*-mingw32* )
ca8e52b3
VZ
4956 dnl check if the compiler accepts -mthreads
4957 AC_CACHE_CHECK([if compiler supports -mthreads],
4958 wx_cv_cflags_mthread,
4959 [
e56f4f9e
VZ
4960 CXXFLAGS_OLD="$CXXFLAGS"
4961 CXXFLAGS="-mthreads $CXXFLAGS"
ca8e52b3
VZ
4962 AC_TRY_COMPILE([], [],
4963 wx_cv_cflags_mthread=yes,
4964 wx_cv_cflags_mthread=no
4965 )
4966 ]
4967 )
4968
4969 if test "$wx_cv_cflags_mthread" = "yes"; then
4970 dnl it does, use it
e56f4f9e 4971 WXCONFIG_CXXFLAGS="$WXCONFIG_CXXFLAGS -mthreads"
ca8e52b3
VZ
4972 LDFLAGS="$LDFLAGS -mthreads"
4973 else
4974 dnl it doesn't
e56f4f9e 4975 CXXFLAGS="$CXXFLAGS_OLD"
ca8e52b3 4976 fi
a0b9e27f 4977 ;;
5cc55caf 4978 *-pc-os2*emx )
5ff751d6
VZ
4979 WXCONFIG_CFLAGS="$WXCONFIG_CFLAGS -Zmt -D__ST_MT_ERRNO__"
4980 WXCONFIG_CXXFLAGS="$WXCONFIG_CXXFLAGS -Zmt -D__ST_MT_ERRNO__"
5cc55caf
SN
4981 LDFLAGS="$LDFLAGS -Zmt"
4982 ;;
a0b9e27f
MB
4983 esac
4984 fi
a9b5e89f
VZ
4985fi
4986
bebf40d5 4987AC_CHECK_FUNC(localtime_r, [ AC_DEFINE(HAVE_LOCALTIME_R) ])
bebf40d5 4988AC_CHECK_FUNC(gmtime_r, [ AC_DEFINE(HAVE_GMTIME_R) ])
bebf40d5 4989AC_CHECK_FUNC(readdir_r, [ AC_DEFINE(HAVE_READDIR_R) ])
b41e7f68
SN
4990dnl By preference, we probably should use getaddrinfo which avoids thread
4991dnl safety issues and supports IPv6, however there currently is no code
4992dnl for it, so testing for it is temporarily disabled and we are restricted
4993dnl to gethostbyname_r/gethostbyaddr_r and getservbyname_r
4994
4995dnl AC_CHECK_FUNC(getaddrinfo, AC_DEFINE(HAVE_GETADDRINFO), [
bebf40d5
SN
4996 dnl no getaddrinfo, so check for gethostbyname_r and
4997 dnl related functions (taken from python's configure.in)
4998 dnl sigh -- gethostbyname_r is a mess; it can have 3, 5 or 6 arguments
b41e7f68 4999 AX_FUNC_WHICH_GETHOSTBYNAME_R
bebf40d5
SN
5000 if test "x$ac_cv_func_which_gethostbyname_r" = "xno" -o \
5001 "x$ac_cv_func_which_gethostbyname_r" = "xunknown" ; then
5002 AC_CHECK_FUNC(gethostbyname, [ AC_DEFINE(HAVE_GETHOSTBYNAME) ])
5003 fi
bebf40d5
SN
5004 dnl A similar test for getservbyname_r
5005 dnl I'm tempted to just not do this test which is taking much time and
5006 dnl do something similar as for gethostbyaddr_r, but OTOH the macro
5007 dnl doing the test already exists, so using it is easy enough. - SN
5008 AC_raf_FUNC_WHICH_GETSERVBYNAME_R
5009 if test "x$ac_cv_func_which_getservbyname_r" = "xno" -o \
5010 "x$ac_cv_func_which_getservbyname_r" = "xunknown" ; then
5011 AC_CHECK_FUNCS(getservbyname,[ AC_DEFINE(HAVE_GETSERVBYNAME) ])
5012 fi
bebf40d5
SN
5013 dnl For gethostbyaddr_r, we currently do no separate test, instead, we
5014 dnl silently assume it's available exactly if gethostbyname_r is
5015 dnl available and always requires two more arguments than
5016 dnl gethostbyname_r.
5017 dnl (also, I'm lazy and there no m4 file that's ready for use for this
5018 dnl function, although it should be easy to rewrite the gethostbyname_r
5019 dnl check to fit this case, if it's really needed. - SN )
b41e7f68
SN
5020dnl ]
5021dnl )
bebf40d5 5022
a9b5e89f
VZ
5023if test "$wxUSE_THREADS" = "yes"; then
5024 AC_DEFINE(wxUSE_THREADS)
5025
a9b5e89f 5026 SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS thread"
d64af447 5027else
b12915c1 5028 dnl on some systems, _REENTRANT should be defined if we want to use any _r()
d64af447
VZ
5029 dnl functions - add tests for other functions here as well
5030 if test "$ac_cv_func_strtok_r" = "yes"; then
ab9b9eab
VZ
5031 AC_MSG_CHECKING(if -D_REENTRANT is needed)
5032 if test "$NEEDS_D_REENTRANT_FOR_R_FUNCS" = 1; then
5ff751d6 5033 WXCONFIG_CPPFLAGS="$WXCONFIG_CPPFLAGS -D_REENTRANT"
ab9b9eab
VZ
5034 AC_MSG_RESULT(yes)
5035 else
5036 AC_MSG_RESULT(no)
ee31c269 5037 fi
d64af447 5038 fi
a9b5e89f
VZ
5039fi
5040
6f72b082
OK
5041if test "$WXGTK20" = 1 ; then
5042 AC_DEFINE_UNQUOTED(__WXGTK20__,$WXGTK20)
13111b2a
VZ
5043 WXGTK12=1
5044fi
5045
9a98a854
VZ
5046if test "$WXGTK12" = 1 ; then
5047 AC_DEFINE_UNQUOTED(__WXGTK12__,$WXGTK12)
5048fi
5049
f6bcfd97
BP
5050if test "$WXGTK127" = 1 ; then
5051 AC_DEFINE_UNQUOTED(__WXGTK127__,$WXGTK127)
5052fi
5053
16bd311d
RR
5054if test "$WXGPE" = 1 ; then
5055 AC_DEFINE_UNQUOTED(__WXGPE__,$WXGPE)
5056fi
5057
8aeeb05c
VZ
5058dnl DEBUG_CFLAGS contains debugging options (supposed to be the same for C and C++
5059dnl compilers: we'd need a separate DEBUG_CXXFLAGS if this is ever not the case)
5060DEBUG_CFLAGS=
9a98a854 5061if test "$wxUSE_DEBUG_INFO" = "yes" ; then
8aeeb05c 5062 DEBUG_CFLAGS="-g"
9a98a854
VZ
5063 wxUSE_OPTIMISE=no
5064fi
5065
5586805b
RR
5066if test "$wxUSE_DEBUG_GDB" = "yes" ; then
5067 wxUSE_DEBUG_INFO=yes
ab7704fd 5068 if test "$GCC" = yes; then
8aeeb05c 5069 DEBUG_CFLAGS="-ggdb"
ab7704fd 5070 fi
5586805b
RR
5071fi
5072
9a98a854 5073if test "$wxUSE_DEBUG_FLAG" = "yes" ; then
77c85c2b 5074 AC_DEFINE(WXDEBUG)
5ff751d6 5075 WXCONFIG_CPPFLAGS="$WXCONFIG_CPPFLAGS -D__WXDEBUG__"
9a98a854 5076else
04338f96 5077 if test "$wxUSE_GTK" = 1 ; then
0c897818
MR
5078 if test "x$wxGTK_VERSION" = "x1" ; then
5079 CPPFLAGS="-DGTK_NO_CHECK_CASTS $CPPFLAGS"
5080 fi
04338f96 5081 fi
9a98a854
VZ
5082fi
5083
5084if test "$wxUSE_MEM_TRACING" = "yes" ; then
77c85c2b
RR
5085 AC_DEFINE(wxUSE_MEMORY_TRACING)
5086 AC_DEFINE(wxUSE_GLOBAL_MEMORY_OPERATORS)
47c13eb7 5087 AC_DEFINE(wxUSE_DEBUG_NEW_ALWAYS)
77c85c2b 5088 SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS memcheck"
9a98a854
VZ
5089fi
5090
5091if test "$wxUSE_DMALLOC" = "yes" ; then
4cfa7abe 5092 DMALLOC_LIBS="-ldmallocthcxx"
9a98a854
VZ
5093fi
5094
5ff751d6 5095dnl cc/cxx/ld option for profiling
8aeeb05c 5096PROFILE_FLAGS=
9a98a854 5097if test "$wxUSE_PROFILE" = "yes" ; then
8aeeb05c 5098 PROFILE_FLAGS=" -pg"
9a98a854
VZ
5099fi
5100
88e30f2b 5101if test "$GCC" = "yes" ; then
f7bdcdd7 5102 if test "$wxUSE_NO_RTTI" = "yes" ; then
5ff751d6 5103 WXCONFIG_CXXFLAGS="$WXCONFIG_CXXFLAGS -fno-rtti"
f7bdcdd7
RR
5104 fi
5105 if test "$wxUSE_NO_EXCEPTIONS" = "yes" ; then
5ff751d6 5106 WXCONFIG_CXXFLAGS="$WXCONFIG_CXXFLAGS -fno-exceptions"
f7bdcdd7 5107 fi
5586805b 5108 if test "$wxUSE_PERMISSIVE" = "yes" ; then
5ff751d6 5109 WXCONFIG_CFLAGS="$WXCONFIG_CFLAGS -fpermissive"
5586805b 5110 fi
1d1b75ac
VZ
5111
5112 dnl Ian Brown <ian.brown@printsoft.de> reports that versions of gcc before
5113 dnl 3.0 overflow the table of contents on rs6000 as they create an entry
5114 dnl for each subroutine by default -- using the switch below only creates
5115 dnl one entry per file instead at the price of minor performance penalty
5116 dnl
2b5f62a0
VZ
5117 dnl As of wx2.4 a bug in the hppa gcc compiler causes a similar problem
5118 dnl without -ffunction-sections. No idea how long we'll need to maintain
5119 dnl this, or even the extent of gcc/wx version combinations affected, but
5120 dnl also as above, this 'fix' does not come without side effects.
5121 dnl
1d1b75ac
VZ
5122 dnl TODO: test for the gcc version here (how?)
5123 case "${host}" in
5124 powerpc*-*-aix* )
5ff751d6 5125 WXCONFIG_CFLAGS="$WXCONFIG_CFLAGS -mminimal-toc"
1d1b75ac 5126 ;;
2b5f62a0 5127 *-hppa* )
5ff751d6 5128 WXCONFIG_CFLAGS="$WXCONFIG_CFLAGS -ffunction-sections"
2b5f62a0 5129 ;;
1d1b75ac 5130 esac
c596875e
RD
5131fi
5132
5ff751d6 5133dnl C/C++ compiler option for optimization (supposed to be the same for both)
8aeeb05c 5134OPTIMISE_CFLAGS=
9a98a854 5135if test "$wxUSE_OPTIMISE" = "no" ; then
af7b5345
VZ
5136 if test "$GCC" = yes ; then
5137 dnl use -O0 because compiling with it is faster than compiling with no
5138 dnl optimization options at all (at least with g++ 3.2)
8aeeb05c 5139 OPTIMISE_CFLAGS="-O0"
af7b5345 5140 fi
9a98a854 5141else
77c85c2b 5142 if test "$GCC" = yes ; then
6433b7f4
SN
5143 case "${host}" in
5144 *-pc-os2_emx | *-pc-os2-emx )
5145 dnl Not all of the supported gcc versions understand
5146 dnl -fstrict-aliasing and none actually needs it (yet).
5147 OPTIMISE_CFLAGS="-O2"
5148 ;;
5149 *)
5150 dnl Switch on optimisation but keep strict-aliasing off for
5151 dnl now (see -fstrict-aliasing in the gcc manual). When it is
5152 dnl switched back on consider using -Wstrict-aliasing=2.
5153 OPTIMISE_CFLAGS="-O2 -fno-strict-aliasing"
5154 ;;
5155 esac
77c85c2b 5156 else
8aeeb05c 5157 OPTIMISE_CFLAGS="-O"
77c85c2b 5158 fi
9a98a854
VZ
5159fi
5160
677eb52d
VZ
5161dnl ---------------------------------------------------------------------------
5162dnl compatibility level
5163dnl ---------------------------------------------------------------------------
5164
dee1a63f
MB
5165if test "x$WXWIN_COMPATIBILITY_2_4" = "xyes"; then
5166 AC_DEFINE(WXWIN_COMPATIBILITY_2_4)
677eb52d 5167
dee1a63f 5168 WXWIN_COMPATIBILITY_2_6="yes"
54276ccf
VZ
5169fi
5170
dee1a63f
MB
5171if test "x$WXWIN_COMPATIBILITY_2_6" != "xno"; then
5172 AC_DEFINE(WXWIN_COMPATIBILITY_2_6)
65d8ef1e
VS
5173fi
5174
9a98a854
VZ
5175dnl ---------------------------------------------------------------------------
5176dnl the library may be built without GUI classes at all
5177dnl ---------------------------------------------------------------------------
5178
5179if test "$wxUSE_GUI" = "yes"; then
881bfcd6
VZ
5180 AC_DEFINE(wxUSE_GUI)
5181
5182 dnl the things we always pull in the GUI version of the library:
5183 dnl 1. basic things like wxApp, wxWindow, wxControl, wxFrame, wxDialog (the
5184 dnl library really can't be built without those)
5185 dnl 2. basic controls: wxButton, wxStaticText, wxTextCtrl (these are used in
5186 dnl almost any program and the first 2 are needed to show a message box
5187 dnl which want to be always able to do)
5188 dnl 3. GDI stuff: icon, cursors and all that. Although it would be very nice
5189 dnl to compile without them (if the app doesn't do any drawing, it doesn't
5190 dnl need the dcs, pens, brushes, ...), this just can't be done now
5191 dnl 4. menu stuff: wxMenu, wxMenuBar, wxMenuItem
5192 dnl 5. misc stuff: timers, settings, message box
9a98a854
VZ
5193fi
5194
5195dnl ---------------------------------------------------------------------------
5196dnl Unix/Windows
5197dnl ---------------------------------------------------------------------------
5198
5199if test "$wxUSE_UNIX" = "yes"; then
5200 AC_DEFINE(wxUSE_UNIX)
9a98a854
VZ
5201fi
5202
f93ca9fd
VS
5203dnl ------------------------------------------------------------------------
5204dnl DLL support
5205dnl ------------------------------------------------------------------------
5206
5207dnl under MSW we always have LoadLibrary/GetProcAddress
5208if test "$TOOLKIT" != "MSW" -a "$USE_OS2" != 1; then
5209
5210 HAVE_DL_FUNCS=0
5211 HAVE_SHL_FUNCS=0
5212 if test "$wxUSE_DYNAMIC_LOADER" = "yes" -o "$wxUSE_DYNLIB_CLASS" = "yes" ; then
5213 if test "$USE_DARWIN" = 1; then
5214 dnl dlopen/dlerror is implemented in dynlib.cpp for Darwin/Mac OS X
5215 HAVE_DL_FUNCS=1
3af30018
MW
5216 elif test "$USE_DOS" = 1; then
5217 HAVE_DL_FUNCS=0
f93ca9fd
VS
5218 else
5219 dnl the test is a bit complicated because we check for dlopen() both with
5220 dnl and without -ldl and we also try to find shl_load() if there is no
5221 dnl dlopen() on this system
5222 AC_CHECK_FUNCS(dlopen,
5223 [
5224 AC_DEFINE(HAVE_DLOPEN)
5225 HAVE_DL_FUNCS=1
5226 ],
5227 [
5228 AC_CHECK_LIB(dl, dlopen,
5229 [
5230 AC_DEFINE(HAVE_DLOPEN)
5231 HAVE_DL_FUNCS=1
5232 DL_LINK=" -ldl$DL_LINK"
5233 ],
5234 [
5235 AC_CHECK_FUNCS(shl_load,
5236 [
5237 AC_DEFINE(HAVE_SHL_LOAD)
5238 HAVE_SHL_FUNCS=1
5239 ],
5240 [
5241 AC_CHECK_LIB(shl_load, dld,
5242 [
5243 HAVE_SHL_FUNCS=1
5244 DL_LINK=" -ldld$DL_LINK"
5245 ])
5246 ])
5247 ])
5248 ])
5249
5250 dnl check also for dlerror()
5251 if test "$HAVE_DL_FUNCS" = 1; then
5252 AC_CHECK_FUNCS(dlerror,
5253 AC_DEFINE(HAVE_DLERROR),
5254 [
5255 AC_CHECK_LIB(dl, dlerror, AC_DEFINE(HAVE_DLERROR))
5256 ]
5257 )
5258 fi
5259 fi
5260
5261 if test "$HAVE_DL_FUNCS" = 0; then
5262 if test "$HAVE_SHL_FUNCS" = 0; then
3af30018 5263 if test "$USE_UNIX" = 1 -o "$USE_DOS" = 1; then
f93ca9fd
VS
5264 AC_MSG_WARN([Missing dynamic loading support, several features will be disabled])
5265 wxUSE_DYNAMIC_LOADER=no
5266 wxUSE_DYNLIB_CLASS=no
5267 else
5268 AC_MSG_WARN([Assuming wxLibrary class works on this platform])
5269 fi
5270 fi
5271 fi
5272 fi
5273fi
5274
5275if test "$wxUSE_DYNAMIC_LOADER" = "yes" ; then
5276 AC_DEFINE(wxUSE_DYNAMIC_LOADER)
5277fi
5278if test "$wxUSE_DYNLIB_CLASS" = "yes" ; then
5279 AC_DEFINE(wxUSE_DYNLIB_CLASS)
5280fi
5281
5282
5283dnl ---------------------------------------------------------------------------
5284dnl Verify consistency of plugins/monolithic/shared settings:
5285dnl ---------------------------------------------------------------------------
5286
5287if test "$wxUSE_PLUGINS" = "yes" ; then
5288 if test "$wxUSE_SHARED" = "no" ; then
5289 AC_MSG_WARN([plugins supported only in shared build, disabling])
5290 wxUSE_PLUGINS=no
5291 fi
5292 if test "$wxUSE_MONOLITHIC" = "yes" ; then
5293 AC_MSG_WARN([plugins not supported monolithic build, disabling])
5294 wxUSE_PLUGINS=no
5295 fi
5296 if test "$wxUSE_DYNLIB_CLASS" = "no" ; then
5297 AC_MSG_WARN([plugins require wxDynamicLibrary, disabling])
5298 wxUSE_PLUGINS=no
5299 fi
5300 if test "$wxUSE_PLUGINS" = "yes" ; then
5301 AC_DEFINE(wxUSE_PLUGINS)
5302 fi
5303fi
5304
9a98a854
VZ
5305dnl ---------------------------------------------------------------------------
5306dnl Register non-GUI class options for makefiles and setup.h
5307dnl ---------------------------------------------------------------------------
5308
df5168c4
MB
5309if test "$wxUSE_STL" = "yes"; then
5310 AC_DEFINE(wxUSE_STL)
5311fi
5312
9a98a854
VZ
5313if test "$wxUSE_APPLE_IEEE" = "yes"; then
5314 AC_DEFINE(wxUSE_APPLE_IEEE)
9a98a854
VZ
5315fi
5316
1e6feb95
VZ
5317if test "$wxUSE_TIMER" = "yes"; then
5318 AC_DEFINE(wxUSE_TIMER)
5319fi
5320
9c112555
MW
5321dnl Unix implementation needs additional checks because audio support
5322dnl comes in many favours:
5323if test "$USE_UNIX" = "1" ; then
aca2d2de
VZ
5324 dnl it's not enough to check for just the header because OSS under NetBSD
5325 dnl redefines ioctl as oss_ioctrl inside it and so we also need to test
5326 dnl whether we need -lossaudio at link-time
5327 AC_CACHE_CHECK([for ioctl() in sys/soundcard.h], ac_cv_header_sys_soundcard, [
5328 AC_TRY_LINK([
5329 #include <sys/soundcard.h>
5330 ],
5331 [
5332 ioctl(0, SNDCTL_DSP_SYNC, 0);
5333 ],
5334 ac_cv_header_sys_soundcard=yes,
5335 [
5336 saveLibs="$LIBS"
5337 LIBS="$saveLibs -lossaudio"
5338 AC_TRY_LINK([
5339 #include <sys/soundcard.h>
5340 ],
5341 [
5342 ioctl(0, SNDCTL_DSP_SYNC, 0);
5343 ],
5344 ac_cv_header_sys_soundcard=yes,
5345 [
5346 LIBS="$saveLibs"
5347 ac_cv_header_sys_soundcard=no
5348 ]
5349 )
5350 ]
5351 )
5352 ])
5353
5354 if test "$ac_cv_header_sys_soundcard" = "yes"; then
5355 AC_DEFINE(HAVE_SYS_SOUNDCARD_H)
5356 else
5357 DISABLED_CONTRIB="$DISABLED_CONTRIB mmedia"
5358 fi
9c112555 5359fi
f93ca9fd 5360WITH_PLUGIN_SDL=0
002ed9af 5361if test "$wxUSE_SOUND" = "yes"; then
f93ca9fd 5362 if test "$USE_UNIX" = "1" ; then
f93ca9fd
VS
5363 if test "$wxUSE_LIBSDL" != "no"; then
5364 AM_PATH_SDL([1.2.0],
5365 [
5366 EXTRALIBS_SDL="$SDL_LIBS"
c92ad099 5367 CXXFLAGS="$SDL_CFLAGS $CXXFLAGS"
f93ca9fd
VS
5368 AC_DEFINE(wxUSE_LIBSDL)
5369 ],
5370 [wxUSE_LIBSDL="no"])
5371 if test "$wxUSE_LIBSDL" = "yes" -a "$wxUSE_PLUGINS" = "yes" ; then
5372 WITH_PLUGIN_SDL=1
5373 fi
5374 fi
5375 fi
5ff751d6 5376
002ed9af 5377 AC_DEFINE(wxUSE_SOUND)
f93ca9fd 5378 SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS sound"
2749089a
KB
5379fi
5380
7c72311f
RR
5381if test "$WXGTK20" = 1; then
5382 if test "$wxUSE_PRINTING_ARCHITECTURE" = "yes" ; then
5383 if test "$wxUSE_LIBGNOMEPRINT" = "yes" ; then
5ff751d6
VZ
5384
5385 PKG_CHECK_MODULES(LIBGNOMEPRINTUI,
ffa762ff 5386 [libgnomeprintui-2.2 >= 2.8],
7c72311f 5387 [
3314e67b 5388dnl EXTRALIBS_GNOMEPRINT="$LIBGNOMEPRINTUI_LIBS"
c92ad099 5389 CXXFLAGS="$LIBGNOMEPRINTUI_CFLAGS $CXXFLAGS"
45fb81e5 5390 AC_DEFINE(wxUSE_LIBGNOMEPRINT)
7c72311f
RR
5391 ],
5392 [
5393 AC_MSG_WARN([libgnomeprintui not found, library will use standard PostScript printing])
5394 wxUSE_LIBGNOMEPRINT="no"
5395 ]
5396 )
5397 fi
5398 fi
5399fi
5400
2b850ae1
RR
5401if test "$WXGTK20" = 1; then
5402 if test "$wxUSE_MIMETYPE" = "yes" ; then
5403 if test "$wxUSE_LIBGNOMEVFS" = "yes" ; then
5404
5405 PKG_CHECK_MODULES(GNOMEVFS,
5406 [gnome-vfs-2.0 >= 2.0],
5407 [
5408dnl EXTRALIBS_GNOMEVFS="$LIBGNOMEVFS_LIBS"
5409 CXXFLAGS="$GNOMEVFS_CFLAGS $CXXFLAGS"
5410 AC_DEFINE(wxUSE_LIBGNOMEVFS)
5411 ],
5412 [
5413 AC_MSG_WARN([libgnomevfs not found, library won't be able to associate MIME type])
5414 wxUSE_LIBGNOMEVFS="no"
5415 ]
5416 )
5417 fi
5418 fi
5419fi
5420
3565d135
RR
5421if test "$WXGTK20" = 1; then
5422 if test "$wxUSE_LIBHILDON" = "yes" ; then
5423 PKG_CHECK_MODULES(HILDON,
5424 [hildon-lgpl >= 0.9],
5425 [
5426 EXTRALIBS_HILDON="$HILDON_LIBS"
5427 CXXFLAGS="$CXXFLAGS $HILDON_CFLAGS"
5428 AC_DEFINE(wxUSE_LIBHILDON)
5429 ],
5430 [
5431 AC_MSG_WARN([libhildon_lgpl not found])
5432 wxUSE_LIBHILDON="no"
5433 ]
5434 )
5435 fi
5436fi
7c72311f 5437
1e6feb95
VZ
5438if test "$wxUSE_CMDLINE_PARSER" = "yes"; then
5439 AC_DEFINE(wxUSE_CMDLINE_PARSER)
5440fi
5441
5442if test "$wxUSE_STOPWATCH" = "yes"; then
5443 AC_DEFINE(wxUSE_STOPWATCH)
5444fi
5445
5446if test "$wxUSE_DATETIME" = "yes"; then
5447 AC_DEFINE(wxUSE_DATETIME)
5448fi
5449
9a98a854
VZ
5450if test "$wxUSE_FILE" = "yes"; then
5451 AC_DEFINE(wxUSE_FILE)
9a98a854
VZ
5452fi
5453
1e6feb95
VZ
5454if test "$wxUSE_FFILE" = "yes"; then
5455 AC_DEFINE(wxUSE_FFILE)
5456fi
5457
24528b0c
VS
5458if test "$wxUSE_FILESYSTEM" = "yes"; then
5459 AC_DEFINE(wxUSE_FILESYSTEM)
5460fi
5461
e3e717ec
VZ
5462if test "$wxUSE_FS_ZIP" = "yes"; then
5463 AC_DEFINE(wxUSE_FS_ZIP)
5464fi
5465
9e8e867f
MW
5466if test "$wxUSE_ARCHIVE_STREAMS" = "yes"; then
5467 AC_DEFINE(wxUSE_ARCHIVE_STREAMS)
81f90336
MW
5468fi
5469
d78b3d64 5470if test "$wxUSE_ZIPSTREAM" = "yes"; then
9e8e867f 5471 if test "$wxUSE_ARCHIVE_STREAMS" != "yes"; then
81f90336
MW
5472 AC_MSG_WARN(wxZip requires wxArchive... disabled)
5473 elif test "$wxUSE_ZLIB" = "no"; then
5474 AC_MSG_WARN(wxZip requires wxZlib... disabled)
5475 else
5476 AC_DEFINE(wxUSE_ZIPSTREAM)
5477 fi
d78b3d64
VS
5478fi
5479
eb4efbdc 5480if test "$wxUSE_ON_FATAL_EXCEPTION" = "yes"; then
18228ab4
MW
5481 if test "$USE_UNIX" != 1; then
5482 AC_MSG_WARN([Catching fatal exceptions not currently supported on this system, wxApp::OnFatalException will not be called])
5483 wxUSE_ON_FATAL_EXCEPTION=no
5484 else
5485 AC_DEFINE(wxUSE_ON_FATAL_EXCEPTION)
5486 fi
eb4efbdc 5487fi
eaff0f0d
VZ
5488
5489if test "$wxUSE_STACKWALKER" = "yes"; then
5490 AC_DEFINE(wxUSE_STACKWALKER)
5491fi
eb4efbdc 5492
36b6448c 5493if test "$wxUSE_DEBUGREPORT" = "yes"; then
18228ab4
MW
5494 if test "$USE_UNIX" != "1" -a "$USE_WIN32" != "1"; then
5495 AC_MSG_WARN([Creating debug reports not currently supported on this system, disabled])
bec7df87
SN
5496 wxUSE_DEBUGREPORT=no
5497 else
5498 AC_DEFINE(wxUSE_DEBUGREPORT)
21dfc162
MW
5499 if test "$wxUSE_ON_FATAL_EXCEPTION" = "yes"; then
5500 SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS debugrpt"
5501 fi
bec7df87 5502 fi
36b6448c
VZ
5503fi
5504
4f3c5f06
VZ
5505if test "$wxUSE_SNGLINST_CHECKER" = "yes"; then
5506 AC_DEFINE(wxUSE_SNGLINST_CHECKER)
5507fi
5508
d78b3d64
VS
5509if test "$wxUSE_BUSYINFO" = "yes"; then
5510 AC_DEFINE(wxUSE_BUSYINFO)
5511fi
5512
fd15d8f1
RR
5513if test "$wxUSE_STD_IOSTREAM" = "yes"; then
5514 AC_DEFINE(wxUSE_STD_IOSTREAM)
5515fi
5516
668d55c9
RR
5517if test "$wxUSE_STD_STRING" = "yes"; then
5518 AC_DEFINE(wxUSE_STD_STRING)
5519fi
5520
07158944
VZ
5521if test "$wxUSE_STDPATHS" = "yes"; then
5522 AC_DEFINE(wxUSE_STDPATHS)
5523fi
5524
a3a584a7
VZ
5525if test "$wxUSE_TEXTBUFFER" = "yes"; then
5526 AC_DEFINE(wxUSE_TEXTBUFFER)
5527fi
5528
9a98a854 5529if test "$wxUSE_TEXTFILE" = "yes"; then
a3a584a7 5530 if test "$wxUSE_FILE" != "yes" -o "$wxUSE_TEXTBUFFER" != "yes" ; then
156b2523 5531 AC_MSG_WARN(wxTextFile requires wxFile and wxTextBuffer... disabled)
9a98a854
VZ
5532 else
5533 AC_DEFINE(wxUSE_TEXTFILE)
9a98a854
VZ
5534 fi
5535fi
5536
5537if test "$wxUSE_CONFIG" = "yes" ; then
5538 if test "$wxUSE_TEXTFILE" != "yes"; then
156b2523 5539 AC_MSG_WARN(wxConfig requires wxTextFile... disabled)
9a98a854
VZ
5540 else
5541 AC_DEFINE(wxUSE_CONFIG)
89be85c2 5542 AC_DEFINE(wxUSE_CONFIG_NATIVE)
9a98a854
VZ
5543 SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS config"
5544 fi
5545fi
5546
5547if test "$wxUSE_INTL" = "yes" ; then
5548 if test "$wxUSE_FILE" != "yes"; then
156b2523 5549 AC_MSG_WARN(I18n code requires wxFile... disabled)
9a98a854
VZ
5550 else
5551 AC_DEFINE(wxUSE_INTL)
9a98a854 5552 SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS internat"
f6bcfd97 5553 GUIDIST="$GUIDIST INTL_DIST"
9a98a854
VZ
5554 fi
5555fi
5556
5557if test "$wxUSE_LOG" = "yes"; then
5558 AC_DEFINE(wxUSE_LOG)
d73be714
VZ
5559
5560 if test "$wxUSE_LOGGUI" = "yes"; then
5561 AC_DEFINE(wxUSE_LOGGUI)
5562 fi
5563
5564 if test "$wxUSE_LOGWINDOW" = "yes"; then
5565 AC_DEFINE(wxUSE_LOGWINDOW)
5566 fi
69d27ff7
MB
5567
5568 if test "$wxUSE_LOGDIALOG" = "yes"; then
5569 AC_DEFINE(wxUSE_LOG_DIALOG)
5570 fi
0b78747f
MW
5571
5572 dnl the keyboard sample requires wxUSE_LOG
5573 SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS keyboard"
9a98a854
VZ
5574fi
5575
5576if test "$wxUSE_LONGLONG" = "yes"; then
5577 AC_DEFINE(wxUSE_LONGLONG)
9a98a854
VZ
5578fi
5579
e8f65ba6
RR
5580if test "$wxUSE_GEOMETRY" = "yes"; then
5581 AC_DEFINE(wxUSE_GEOMETRY)
5582fi
5583
9a98a854
VZ
5584if test "$wxUSE_STREAMS" = "yes" ; then
5585 AC_DEFINE(wxUSE_STREAMS)
9a98a854
VZ
5586fi
5587
52e8b690 5588dnl ---------------------------------------------------------------------------
afc31813 5589dnl time/date functions
f536f005 5590dnl ---------------------------------------------------------------------------
afc31813 5591
1e6feb95 5592if test "$wxUSE_DATETIME" = "yes"; then
f536f005 5593 dnl check for strptime and for its declaration as some systems lack it
83307f33 5594 AC_CHECK_FUNCS(strptime)
f536f005
VZ
5595 if test "$ac_cv_func_strptime" = "yes"; then
5596 AC_CACHE_CHECK([for strptime declaration], wx_cv_func_strptime_decl,
5597 [
f536f005
VZ
5598 AC_TRY_COMPILE(
5599 [
5600 #include <time.h>
5601 ],
5602 [
5603 struct tm t;
5604 strptime("foo", "bar", &t);
5605 ],
5606 wx_cv_func_strptime_decl=yes,
5607 wx_cv_func_strptime_decl=no
5608 )
f536f005
VZ
5609 ]
5610 )
5611 fi
5612 if test "$wx_cv_func_strptime_decl" = "yes"; then
5613 AC_DEFINE(HAVE_STRPTIME_DECL)
5614 fi
83307f33 5615
360d6699 5616 dnl check for timezone variable
62cc730f 5617 dnl doesn't exist under Darwin / Mac OS X which uses tm_gmtoff instead
360d6699
VZ
5618 AC_CACHE_CHECK(for timezone variable in <time.h>,
5619 wx_cv_var_timezone,
5620 [
5621 AC_TRY_COMPILE(
5622 [
5623 #include <time.h>
5624 ],
5625 [
5626 int tz;
4f11a343 5627 tz = timezone;
360d6699
VZ
5628 ],
5629 [
4f11a343 5630 wx_cv_var_timezone=timezone
360d6699
VZ
5631 ],
5632 [
5633 AC_TRY_COMPILE(
5634 [
5635 #include <time.h>
5636 ],
5637 [
5638 int tz;
5639 tz = _timezone;
5640 ],
5641 [
5642 wx_cv_var_timezone=_timezone
5643 ],
5357c8e8
VZ
5644 [
5645 AC_TRY_COMPILE(
5646 [
5647 #include <time.h>
5648 ],
5649 [
5650 int tz;
4f11a343 5651 tz = __timezone;
5357c8e8
VZ
5652 ],
5653 [
4f11a343 5654 wx_cv_var_timezone=__timezone
5357c8e8 5655 ],
f9bc1684
VS
5656 [
5657 if test "$USE_DOS" = 0 ; then
62cc730f 5658 AC_MSG_WARN(no timezone variable, will use tm_gmtoff instead)
f9bc1684
VS
5659 fi
5660 ]
5357c8e8
VZ
5661 )
5662 ]
360d6699
VZ
5663 )
5664 ]
5665 )
5666 ]
5667 )
5668
5669 dnl as we want $wx_cv_var_timezone to be expanded, use AC_DEFINE_UNQUOTED
f9bc1684
VS
5670 if test "x$wx_cv_var_timezone" != x ; then
5671 AC_DEFINE_UNQUOTED(WX_TIMEZONE, $wx_cv_var_timezone)
5672 fi
360d6699 5673
3fcdd07b
VZ
5674 dnl check for localtime (it's POSIX, but the check can do no harm...)
5675 AC_CHECK_FUNCS(localtime)
afc31813 5676
0470b1e6
VZ
5677 if test "$ac_cv_func_localtime" = "yes"; then
5678 AC_CACHE_CHECK(for tm_gmtoff in struct tm,
5679 wx_cv_struct_tm_has_gmtoff,
5680 [
5681 AC_TRY_COMPILE(
5682 [
5683 #include <time.h>
5684 ],
5685 [
5686 struct tm tm;
5687 tm.tm_gmtoff++;
5688 ],
5689 [
f03a98d8 5690 wx_cv_struct_tm_has_gmtoff=yes
0470b1e6
VZ
5691 ],
5692 wx_cv_struct_tm_has_gmtoff=no
5693 )
5694 ])
3fcdd07b
VZ
5695 fi
5696
6232543b
VS
5697 if test "$wx_cv_struct_tm_has_gmtoff" = "yes"; then
5698 AC_DEFINE(WX_GMTOFF_IN_TM)
5699 fi
5700
3fcdd07b
VZ
5701 dnl check for gettimeofday (SVr4, BSD 4.3) and ftime (V7, BSD 4.3) for the
5702 dnl function to be used for high resolution timers
5703 AC_CHECK_FUNCS(gettimeofday ftime, break)
5704
5705 if test "$ac_cv_func_gettimeofday" = "yes"; then
afc31813
VZ
5706 AC_CACHE_CHECK([whether gettimeofday takes two arguments],
5707 wx_cv_func_gettimeofday_has_2_args,
5708 [
5709 dnl on some _really_ old systems it takes only 1 argument
afc31813
VZ
5710 AC_TRY_COMPILE(
5711 [
5712 #include <sys/time.h>
5713 #include <unistd.h>
5714 ],
5715 [
5716 struct timeval tv;
776862b4 5717 gettimeofday(&tv, NULL);
afc31813
VZ
5718 ],
5719 wx_cv_func_gettimeofday_has_2_args=yes,
5720 AC_TRY_COMPILE(
5721 [
5722 #include <sys/time.h>
5723 #include <unistd.h>
5724 ],
5725 [
5726 struct timeval tv;
5727 gettimeofday(&tv);
5728 ],
5729 wx_cv_func_gettimeofday_has_2_args=no,
776862b4
VZ
5730 [
5731 AC_MSG_WARN([failed to determine number of gettimeofday() arguments])
5732 wx_cv_func_gettimeofday_has_2_args=unknown
5733 ]
afc31813
VZ
5734 )
5735 )
afc31813
VZ
5736 ])
5737
5738 if test "$wx_cv_func_gettimeofday_has_2_args" != "yes"; then
5739 AC_DEFINE(WX_GETTIMEOFDAY_NO_TZ)
5740 fi
5741 fi
5742
afc31813
VZ
5743 SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS typetest"
5744fi
5745
9a98a854
VZ
5746dnl ------------------------------------------------------------------------
5747dnl wxSocket
5748dnl ------------------------------------------------------------------------
5749
3879ecda 5750dnl VZ: the GUI hooks wxSocket needs are not implemented yet in some toolkits
0feee163 5751if test "$wxUSE_SOCKETS" = "yes"; then
6c657b52
VS
5752 if test "$wxUSE_MGL" = "1"; then
5753 AC_MSG_WARN([wxSocket not yet supported under MGL... disabled])
5754 wxUSE_SOCKETS="no"
5755 fi
0feee163 5756fi
b089607b 5757
0feee163
VZ
5758if test "$wxUSE_SOCKETS" = "yes"; then
5759 dnl under MSW we always have sockets
5760 if test "$TOOLKIT" != "MSW"; then
590b1a4d 5761 dnl under Solaris and OS/2, socket functions live in -lsocket
3a922bb4 5762 AC_CHECK_FUNC(socket,,
4c15b7af
SN
5763 [
5764 AC_CHECK_LIB(socket, socket,
5765 if test "$INET_LINK" != " -lsocket"; then
5766 INET_LINK="$INET_LINK -lsocket"
5767 fi,
5768 [
5769 AC_MSG_WARN([socket library not found - sockets will be disabled])
5770 wxUSE_SOCKETS=no
5771 ]
5772 )
5773 ]
afc31813 5774 )
3a922bb4 5775 fi
0feee163 5776fi
afc31813 5777
0feee163 5778if test "$wxUSE_SOCKETS" = "yes" ; then
3a922bb4
RL
5779 dnl this test may be appropriate if building under cygwin
5780 dnl right now I'm assuming it also uses the winsock stuff
5781 dnl like mingw does.. -- RL
0feee163 5782 if test "$TOOLKIT" != "MSW"; then
3a922bb4 5783 dnl determine the type of third argument for getsockname
6944b203
SN
5784 dnl This test needs to be done in C++ mode since gsocket.cpp now
5785 dnl is C++ code and pointer cast that are possible even without
5786 dnl warning in C still fail in C++.
3a922bb4
RL
5787 AC_CACHE_CHECK([what is the type of the third argument of getsockname],
5788 wx_cv_type_getsockname3,
5789 [
51a9faba
VZ
5790 AC_TRY_COMPILE(
5791 [
4370c5b2 5792 #include <sys/types.h>
51a9faba
VZ
5793 #include <sys/socket.h>
5794 ],
5795 [
3a922bb4 5796 socklen_t len;
51a9faba
VZ
5797 getsockname(0, 0, &len);
5798 ],
3a922bb4 5799 wx_cv_type_getsockname3=socklen_t,
210c92a3
VZ
5800 [
5801 dnl the compiler will compile the version with size_t
5802 dnl even if the real type of the last parameter is int
5803 dnl but it should give at least a warning about
5804 dnl converting between incompatible pointer types, so
5805 dnl try to use it to get the correct behaviour at
5806 dnl least with gcc (otherwise we'd always use size_t)
6459a506 5807 CXXFLAGS_OLD="$CXXFLAGS"
210c92a3 5808 if test "$GCC" = yes ; then
c92ad099 5809 CXXFLAGS="-Werror $CXXFLAGS"
210c92a3
VZ
5810 fi
5811
3a922bb4
RL
5812 AC_TRY_COMPILE(
5813 [
5814 #include <sys/types.h>
5815 #include <sys/socket.h>
5816 ],
5817 [
210c92a3 5818 size_t len;
3a922bb4
RL
5819 getsockname(0, 0, &len);
5820 ],
210c92a3
VZ
5821 wx_cv_type_getsockname3=size_t,
5822 AC_TRY_COMPILE(
5823 [
5824 #include <sys/types.h>
5825 #include <sys/socket.h>
5826 ],
5827 [
5828 int len;
5829 getsockname(0, 0, &len);
5830 ],
5831 wx_cv_type_getsockname3=int,
5832 wx_cv_type_getsockname3=unknown
5833 )
3a922bb4 5834 )
c63c7106 5835
6459a506 5836 CXXFLAGS="$CXXFLAGS_OLD"
210c92a3
VZ
5837 ]
5838 )
3a922bb4 5839 ])
51a9faba 5840
3a922bb4
RL
5841 if test "$wx_cv_type_getsockname3" = "unknown"; then
5842 wxUSE_SOCKETS=no
5843 AC_MSG_WARN([Couldn't find socklen_t synonym for this system])
5844 else
9e03e02d 5845 AC_DEFINE_UNQUOTED(WX_SOCKLEN_T, $wx_cv_type_getsockname3)
3a922bb4 5846 fi
ddc1a35f
DE
5847 dnl Do this again for getsockopt as it may be different
5848 AC_CACHE_CHECK([what is the type of the fifth argument of getsockopt],
5849 wx_cv_type_getsockopt5,
5850 [
5851 AC_TRY_COMPILE(
5852 [
5853 #include <sys/types.h>
5854 #include <sys/socket.h>
5855 ],
5856 [
5857 socklen_t len;
5858 getsockopt(0, 0, 0, 0, &len);
5859 ],
5860 wx_cv_type_getsockopt5=socklen_t,
5861 [
5862 dnl the compiler will compile the version with size_t
5863 dnl even if the real type of the last parameter is int
5864 dnl but it should give at least a warning about
5865 dnl converting between incompatible pointer types, so
5866 dnl try to use it to get the correct behaviour at
5867 dnl least with gcc (otherwise we'd always use size_t)
6459a506 5868 CXXFLAGS_OLD="$CXXFLAGS"
ddc1a35f 5869 if test "$GCC" = yes ; then
c92ad099 5870 CXXFLAGS="-Werror $CXXFLAGS"
ddc1a35f
DE
5871 fi
5872
5873 AC_TRY_COMPILE(
5874 [
5875 #include <sys/types.h>
5876 #include <sys/socket.h>
5877 ],
5878 [
5879 size_t len;
5880 getsockopt(0, 0, 0, 0, &len);
5881 ],
5882 wx_cv_type_getsockopt5=size_t,
5883 AC_TRY_COMPILE(
5884 [
5885 #include <sys/types.h>
5886 #include <sys/socket.h>
5887 ],
5888 [
5889 int len;
5890 getsockopt(0, 0, 0, 0, &len);
5891 ],
5892 wx_cv_type_getsockopt5=int,
5893 wx_cv_type_getsockopt5=unknown
5894 )
5895 )
5896
6459a506 5897 CXXFLAGS="$CXXFLAGS_OLD"
ddc1a35f
DE
5898 ]
5899 )
5900 ])
5901
5902 if test "$wx_cv_type_getsockopt5" = "unknown"; then
5903 wxUSE_SOCKETS=no
5904 AC_MSG_WARN([Couldn't find socklen_t synonym for this system])
5905 else
5906 AC_DEFINE_UNQUOTED(SOCKOPTLEN_T, $wx_cv_type_getsockopt5)
5907 fi
51a9faba
VZ
5908 fi
5909fi
c521c494 5910
51a9faba 5911if test "$wxUSE_SOCKETS" = "yes" ; then
afc31813 5912 AC_DEFINE(wxUSE_SOCKETS)
70f7a477 5913 SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS sockets"
9a98a854
VZ
5914fi
5915
3879ecda
VZ
5916if test "$wxUSE_PROTOCOL" = "yes"; then
5917 if test "$wxUSE_SOCKETS" != "yes"; then
5918 AC_MSG_WARN(Protocol classes require sockets... disabled)
5919 wxUSE_PROTOCOL=no
5920 fi
5921fi
5922
5923if test "$wxUSE_PROTOCOL" = "yes"; then
5924 AC_DEFINE(wxUSE_PROTOCOL)
5925
5926 if test "$wxUSE_PROTOCOL_HTTP" = "yes"; then
5927 AC_DEFINE(wxUSE_PROTOCOL_HTTP)
5928 fi
5929 if test "$wxUSE_PROTOCOL_FTP" = "yes"; then
5930 AC_DEFINE(wxUSE_PROTOCOL_FTP)
5931 fi
5932 if test "$wxUSE_PROTOCOL_FILE" = "yes"; then
5933 AC_DEFINE(wxUSE_PROTOCOL_FILE)
5934 fi
5935else
5936 if test "$wxUSE_FS_INET" = "yes"; then
5ff751d6 5937 AC_MSG_WARN([HTTP filesystem require protocol classes... disabled])
3879ecda
VZ
5938 wxUSE_FS_INET="no"
5939 fi
5940fi
5941
5942if test "$wxUSE_URL" = "yes"; then
5943 if test "$wxUSE_PROTOCOL" != "yes"; then
5944 AC_MSG_WARN(wxURL class requires wxProtocol... disabled)
5945 wxUSE_URL=no
5946 fi
5947 if test "$wxUSE_URL" = "yes"; then
5948 AC_DEFINE(wxUSE_URL)
5949 fi
5950fi
5951
5952if test "$wxUSE_FS_INET" = "yes"; then
5953 AC_DEFINE(wxUSE_FS_INET)
5954fi
5955
9a98a854
VZ
5956dnl ---------------------------------------------------------------------------
5957dnl Joystick support
5958dnl ---------------------------------------------------------------------------
5959
ee45c548
MW
5960if test "$wxUSE_GUI" = "yes" -a "$wxUSE_JOYSTICK" = "yes"; then
5961 wxUSE_JOYSTICK=no
9a98a854 5962
ee45c548
MW
5963 dnl under MSW we always have joystick support
5964 if test "$TOOLKIT" = "MSW"; then
5965 wxUSE_JOYSTICK=yes
4cb1d3da 5966
ee45c548
MW
5967 dnl mac only available on darwin
5968 elif test "$TOOLKIT" = "MAC" -o "$TOOLKIT" = "COCOA"; then
5969 if test "$USE_DARWIN" = 1; then
5970 dnl check for a bug in the headers, some have bad setEventCallout
5971 AC_MSG_CHECKING([headers have declarations needed for joystick support])
ee45c548
MW
5972 AC_TRY_COMPILE( [ #include <IOKit/hid/IOHIDLib.h> ],
5973 [ IOHIDQueueInterface *qi = NULL;
5974 IOHIDCallbackFunction cb = NULL;
5975 qi->setEventCallout(NULL, cb, NULL, NULL); ],
5976 [ wxUSE_JOYSTICK=yes ]
5977 )
ee45c548 5978 AC_MSG_RESULT($wxUSE_JOYSTICK)
4cb1d3da 5979 fi
ee45c548
MW
5980
5981 dnl joystick support is only for Linux 2.1.x or greater
5982 else
5983 AC_CHECK_HEADERS(linux/joystick.h, wxUSE_JOYSTICK=yes)
5984 fi
5985
5986 if test "$wxUSE_JOYSTICK" = "yes"; then
5987 AC_DEFINE(wxUSE_JOYSTICK)
5988 SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS joytest"
5989 else
5ff751d6 5990 AC_MSG_WARN(Joystick not supported by this system... disabled)
3a922bb4 5991 fi
dc3d889d 5992fi
dc3d889d 5993
9a98a854 5994
9a98a854 5995dnl ---------------------------------------------------------------------------
ced859c3 5996dnl String stuff
9a98a854
VZ
5997dnl ---------------------------------------------------------------------------
5998
1e6feb95
VZ
5999if test "$wxUSE_FONTMAP" = "yes" ; then
6000 AC_DEFINE(wxUSE_FONTMAP)
6001fi
6002
9a98a854
VZ
6003if test "$wxUSE_UNICODE" = "yes" ; then
6004 AC_DEFINE(wxUSE_UNICODE)
3bd8fb5f 6005
eb854003 6006 if test "$USE_WIN32" != 1; then
bbc3925a
VS
6007 wxUSE_UNICODE_MSLU=no
6008 fi
a72a4bfa 6009
eb854003 6010 if test "$USE_WIN32" = 1 -a "$wxUSE_UNICODE_MSLU" = "yes"; then
a72a4bfa
VS
6011 AC_CHECK_LIB(unicows,main,
6012 [
6013 AC_DEFINE(wxUSE_UNICODE_MSLU)
6014 ],
6015 [
6016 AC_MSG_WARN([Compiler doesn't support MSLU (libunicows.a), disabled.
6017 Applications will only run on Windows NT/2000/XP!])
6018 wxUSE_UNICODE_MSLU=no
6019 ])
6020 fi
9a98a854
VZ
6021fi
6022
ced859c3
VZ
6023if test "$wxUSE_wxUSE_EXPERIMENTAL_PRINTF" = "yes"; then
6024 AC_DEFINE(wxUSE_EXPERIMENTAL_PRINTF)
6025fi
6026
9a98a854
VZ
6027dnl ----------------------------------------------------------------
6028dnl Register PostScript options for makefiles and setup.h
6029dnl ----------------------------------------------------------------
6030
6031if test "$wxUSE_POSTSCRIPT" = "yes" ; then
6032 AC_DEFINE(wxUSE_POSTSCRIPT)
9a98a854
VZ
6033fi
6034
6035AC_DEFINE(wxUSE_AFM_FOR_POSTSCRIPT)
6036
6037AC_DEFINE(wxUSE_NORMALIZED_PS_FONTS)
6038
6039dnl ---------------------------------------------------------------------------
6040dnl big GUI components: MDI, doc/view, printing, help, ...
6041dnl ---------------------------------------------------------------------------
6042
6043if test "$wxUSE_CONSTRAINTS" = "yes"; then
ce4169a4
RR
6044 AC_DEFINE(wxUSE_CONSTRAINTS)
6045 SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS layout"
9a98a854
VZ
6046fi
6047
efd17a1d
VZ
6048if test "$wxUSE_MDI" = "yes"; then
6049 AC_DEFINE(wxUSE_MDI)
6050
6051 if test "$wxUSE_MDI_ARCHITECTURE" = "yes"; then
6052 AC_DEFINE(wxUSE_MDI_ARCHITECTURE)
6053 SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS mdi"
6054 fi
9a98a854
VZ
6055fi
6056
6057if test "$wxUSE_DOC_VIEW_ARCHITECTURE" = "yes" ; then
ce4169a4
RR
6058 AC_DEFINE(wxUSE_DOC_VIEW_ARCHITECTURE)
6059 SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS docview"
6060 if test "$wxUSE_MDI_ARCHITECTURE" = "yes"; then
6061 SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS docvwmdi"
6062 fi
9a98a854
VZ
6063fi
6064
6065if test "$wxUSE_HELP" = "yes"; then
ce4169a4
RR
6066 AC_DEFINE(wxUSE_HELP)
6067 SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS help"
3379ed37 6068
77e13408 6069 if test "$wxUSE_MSW" = 1; then
031d8228 6070 if test "$wxUSE_MS_HTML_HELP" = "yes"; then
3b7bc64a 6071 AC_DEFINE(wxUSE_MS_HTML_HELP)
29fd3c0c 6072 fi
3379ed37 6073 fi
031d8228
VS
6074
6075 if test "$wxUSE_WXHTML_HELP" = "yes"; then
6076 if test "$wxUSE_HTML" = "yes"; then
6077 AC_DEFINE(wxUSE_WXHTML_HELP)
6078 else
6079 AC_MSG_WARN(Cannot use wxHTML-based help without wxHTML so it won't be compiled)
6080 wxUSE_WXHTML_HELP=no
6081 fi
6082 fi
9a98a854
VZ
6083fi
6084
6085if test "$wxUSE_PRINTING_ARCHITECTURE" = "yes" ; then
ce4169a4
RR
6086 if test "$wxUSE_CONSTRAINTS" != "yes"; then
6087 AC_MSG_WARN(Printing support cannot be used without constraints so it won't be compiled without it)
6088 else
6089 AC_DEFINE(wxUSE_PRINTING_ARCHITECTURE)
6090 fi
6091 SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS printing"
9a98a854
VZ
6092fi
6093
fd3d7534 6094if test "$wxUSE_PROLOGIO" = "yes" -o "$wxUSE_RESOURCES" = "yes"; then
1b86c3ac
VZ
6095 AC_MSG_ERROR([wxExpr and old-style resources are now available in contrib only])
6096fi
9a98a854 6097
f2555abd
MW
6098dnl ---------------------------------------------------------------------------
6099dnl wxMetafile availability
6100dnl ---------------------------------------------------------------------------
6101
6102if test "$wxUSE_METAFILE" = "yes"; then
6103 if test "$wxUSE_MSW" != 1 -a "$wxUSE_MAC" != 1 -a "$wxUSE_PM" != 1; then
6104 AC_MSG_WARN([wxMetafile is not available on this system... disabled])
6105 wxUSE_METAFILE=no
6106 fi
6107fi
6108
9a98a854 6109dnl ---------------------------------------------------------------------------
77c85c2b 6110dnl IPC: IPC, Drag'n'Drop, Clipboard, ...
9a98a854
VZ
6111dnl ---------------------------------------------------------------------------
6112
2b9bdf71
VZ
6113dnl check for ole headers and disable a few features requiring it if not
6114dnl present (earlier versions of mingw32 don't have ole2.h)
f95e4495 6115if test "$USE_WIN32" = 1 -a \( "$wxUSE_DATAOBJ" = "yes" \
77e13408 6116 -o "$wxUSE_CLIPBOARD" = "yes" \
3bce6687 6117 -o "$wxUSE_OLE" = "yes" \
77e13408 6118 -o "$wxUSE_DRAG_AND_DROP" = "yes" \) ; then
2b9bdf71
VZ
6119 AC_CHECK_HEADERS(ole2.h)
6120
6121 if test "$ac_cv_header_ole2_h" = "yes" ; then
6122 if test "$GCC" = yes ; then
8284b0c5
MB
6123 AC_MSG_CHECKING([if g++ requires -fvtable-thunks])
6124 AC_TRY_COMPILE([#include <windows.h>
6125 #include <ole2.h>],
6126 [],
6127 [AC_MSG_RESULT(no)],
6128 [AC_MSG_RESULT(yes)
5ff751d6 6129 WXCONFIG_CXXFLAGS="$WXCONFIG_CXXFLAGS -fvtable-thunks"])
3d63bc3a 6130 LIBS=" -lrpcrt4 -loleaut32 -lole32 -luuid$LIBS"
f95e4495
VS
6131 if test "$wxUSE_OLE" = "yes" ; then
6132 AC_DEFINE(wxUSE_OLE)
0b78747f 6133 SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS oleauto"
f95e4495 6134 fi
2b9bdf71
VZ
6135 fi
6136
6137 dnl for OLE clipboard and dnd
f95e4495
VS
6138 if test "$wxUSE_DATAOBJ" = "yes" ; then
6139 AC_DEFINE(wxUSE_DATAOBJ)
6140 fi
2b9bdf71
VZ
6141 else
6142 AC_MSG_WARN([Some features disabled because OLE headers not found])
6143
6144 wxUSE_CLIPBOARD=no
6145 wxUSE_DRAG_AND_DROP=no
6146 wxUSE_DATAOBJ=no
3bce6687
JS
6147 wxUSE_OLE=no
6148 fi
6149
6150 if test "$wxUSE_METAFILE" = "yes"; then
6151 AC_DEFINE(wxUSE_METAFILE)
6152
6153 dnl this one should probably be made separately configurable
6154 AC_DEFINE(wxUSE_ENH_METAFILE)
6155 fi
6156fi
6157
9a98a854 6158if test "$wxUSE_IPC" = "yes"; then
0b78747f 6159 if test "$wxUSE_SOCKETS" != "yes" -a "$USE_WIN32" != 1; then
77ffb593 6160 AC_MSG_WARN(wxWidgets IPC classes require sockets... disabled)
0b78747f 6161 wxUSE_IPC=no
eb4efbdc
VZ
6162 fi
6163
0b78747f
MW
6164 if test "$wxUSE_IPC" = "yes"; then
6165 AC_DEFINE(wxUSE_IPC)
6166 SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS ipc"
6167 fi
9a98a854
VZ
6168fi
6169
90cf46d9 6170if test "$wxUSE_DATAOBJ" = "yes"; then
b468fab2
MW
6171 if test "$wxUSE_MGL" = 1; then
6172 AC_MSG_WARN([wxDataObject not yet supported under MGL... disabled])
6173 wxUSE_DATAOBJ=no
6174 else
6175 AC_DEFINE(wxUSE_DATAOBJ)
6176 fi
90cf46d9
VZ
6177else
6178 AC_MSG_WARN([Clipboard and drag-and-drop require wxDataObject -- disabled])
6179 wxUSE_CLIPBOARD=no
6180 wxUSE_DRAG_AND_DROP=no
6181fi
6182
9a98a854 6183if test "$wxUSE_CLIPBOARD" = "yes"; then
6c657b52
VS
6184 if test "$wxUSE_MGL" = 1; then
6185 AC_MSG_WARN([Clipboard not yet supported under MGL... disabled])
6186 wxUSE_CLIPBOARD=no
6187 fi
178572bb 6188
6c657b52
VS
6189 if test "$wxUSE_CLIPBOARD" = "yes"; then
6190 AC_DEFINE(wxUSE_CLIPBOARD)
6c657b52 6191 fi
9a98a854
VZ
6192fi
6193
39c9d5ac 6194if test "$wxUSE_DRAG_AND_DROP" = "yes" ; then
ce4169a4
RR
6195 if test "$wxUSE_GTK" = 1; then
6196 if test "$WXGTK12" != 1; then
156b2523 6197 AC_MSG_WARN([Drag and drop is only supported under GTK+ 1.2... disabled])
e90c1d2a 6198 wxUSE_DRAG_AND_DROP=no
ce4169a4 6199 fi
a9b5e89f 6200 fi
a9b5e89f 6201
ce4169a4 6202 if test "$wxUSE_MOTIF" = 1; then
156b2523 6203 AC_MSG_WARN([Drag and drop not yet supported under Motif... disabled])
e90c1d2a 6204 wxUSE_DRAG_AND_DROP=no
ce4169a4 6205 fi
a9b5e89f 6206
7f5c07ab
JS
6207 if test "$wxUSE_X11" = 1; then
6208 AC_MSG_WARN([Drag and drop not yet supported under X11... disabled])
6209 wxUSE_DRAG_AND_DROP=no
6210 fi
6211
6c657b52
VS
6212 if test "$wxUSE_MGL" = 1; then
6213 AC_MSG_WARN([Drag and drop not yet supported under MGL... disabled])
6214 wxUSE_DRAG_AND_DROP=no
6215 fi
6216
ce4169a4
RR
6217 if test "$wxUSE_DRAG_AND_DROP" = "yes"; then
6218 AC_DEFINE(wxUSE_DRAG_AND_DROP)
ce4169a4 6219 fi
4882bf1b 6220
9a98a854
VZ
6221fi
6222
08938fe1
MB
6223if test "$wxUSE_DRAG_AND_DROP" = "yes" -o "$wxUSE_CLIPBOARD" = "yes"; then
6224 SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS dnd"
6225fi
6226
9a98a854
VZ
6227if test "$wxUSE_SPLINES" = "yes" ; then
6228 AC_DEFINE(wxUSE_SPLINES)
6229fi
6230
060e10d9
RR
6231if test "$wxUSE_MOUSEWHEEL" = "yes" ; then
6232 AC_DEFINE(wxUSE_MOUSEWHEEL)
6233fi
6234
9a98a854
VZ
6235dnl ---------------------------------------------------------------------------
6236dnl GUI controls
6237dnl ---------------------------------------------------------------------------
6238
1e6feb95
VZ
6239USES_CONTROLS=0
6240if test "$wxUSE_CONTROLS" = "yes"; then
6241 USES_CONTROLS=1
6242fi
6243
9a98a854
VZ
6244if test "$wxUSE_ACCEL" = "yes"; then
6245 AC_DEFINE(wxUSE_ACCEL)
1e6feb95
VZ
6246 USES_CONTROLS=1
6247fi
6248
6249if test "$wxUSE_BUTTON" = "yes"; then
6250 AC_DEFINE(wxUSE_BUTTON)
6251 USES_CONTROLS=1
6252fi
6253
6254if test "$wxUSE_BMPBUTTON" = "yes"; then
6255 AC_DEFINE(wxUSE_BMPBUTTON)
6256 USES_CONTROLS=1
6257fi
6258
6259if test "$wxUSE_CALCTRL" = "yes"; then
6260 AC_DEFINE(wxUSE_CALENDARCTRL)
6261 USES_CONTROLS=1
6262 SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS calendar"
9a98a854
VZ
6263fi
6264
6265if test "$wxUSE_CARET" = "yes"; then
6266 AC_DEFINE(wxUSE_CARET)
1e6feb95 6267 USES_CONTROLS=1
9a98a854
VZ
6268 SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS caret"
6269fi
6270
6271if test "$wxUSE_COMBOBOX" = "yes"; then
6272 AC_DEFINE(wxUSE_COMBOBOX)
1e6feb95 6273 USES_CONTROLS=1
9a98a854
VZ
6274fi
6275
ce4169a4
RR
6276if test "$wxUSE_CHOICE" = "yes"; then
6277 AC_DEFINE(wxUSE_CHOICE)
1e6feb95 6278 USES_CONTROLS=1
9a98a854
VZ
6279fi
6280
92bbdbcd
WS
6281if test "$wxUSE_CHOICEBOOK" = "yes"; then
6282 AC_DEFINE(wxUSE_CHOICEBOOK)
6283 USES_CONTROLS=1
6284fi
6285
9a98a854
VZ
6286if test "$wxUSE_CHECKBOX" = "yes"; then
6287 AC_DEFINE(wxUSE_CHECKBOX)
1e6feb95 6288 USES_CONTROLS=1
9a98a854
VZ
6289fi
6290
6291if test "$wxUSE_CHECKLST" = "yes"; then
6292 AC_DEFINE(wxUSE_CHECKLISTBOX)
1e6feb95 6293 USES_CONTROLS=1
9a98a854
VZ
6294 SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS checklst"
6295fi
6296
da98e9be
VZ
6297if test "$wxUSE_DATEPICKCTRL" = "yes"; then
6298 AC_DEFINE(wxUSE_DATEPICKCTRL)
6299 USES_CONTROLS=1
6300fi
6301
ddb4769e
VZ
6302if test "$wxUSE_DISPLAY" = "yes"; then
6303 AC_DEFINE(wxUSE_DISPLAY)
0b78747f 6304 SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS display multimon"
ddb4769e
VZ
6305fi
6306
9a98a854
VZ
6307if test "$wxUSE_GAUGE" = "yes"; then
6308 AC_DEFINE(wxUSE_GAUGE)
1e6feb95 6309 USES_CONTROLS=1
9a98a854
VZ
6310fi
6311
d6a55c4b
VZ
6312if test "$wxUSE_GRID" = "yes"; then
6313 AC_DEFINE(wxUSE_GRID)
1e6feb95 6314 USES_CONTROLS=1
d6a55c4b
VZ
6315 SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS grid"
6316fi
6317
20e34ecc
RR
6318if test "$wxUSE_DATAVIEWCTRL" = "yes"; then
6319 AC_DEFINE(wxUSE_DATAVIEWCTRL)
6320 USES_CONTROLS=1
6321 SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS dataview"
6322fi
6323
9a98a854 6324if test "$wxUSE_IMAGLIST" = "yes"; then
ce4169a4 6325 AC_DEFINE(wxUSE_IMAGLIST)
9a98a854
VZ
6326fi
6327
e9c0df38
VZ
6328if test "$wxUSE_LISTBOOK" = "yes"; then
6329 AC_DEFINE(wxUSE_LISTBOOK)
6330 USES_CONTROLS=1
6331fi
6332
9a98a854 6333if test "$wxUSE_LISTBOX" = "yes"; then
ce4169a4 6334 AC_DEFINE(wxUSE_LISTBOX)
1e6feb95 6335 USES_CONTROLS=1
0b78747f 6336 SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS listbox"
9a98a854
VZ
6337fi
6338
6339if test "$wxUSE_LISTCTRL" = "yes"; then
ce4169a4
RR
6340 if test "$wxUSE_IMAGLIST" = "yes"; then
6341 AC_DEFINE(wxUSE_LISTCTRL)
1e6feb95 6342 USES_CONTROLS=1
ce4169a4
RR
6343 SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS listctrl"
6344 else
6345 AC_MSG_WARN([wxListCtrl requires wxImageList and won't be compiled without it])
6346 fi
9a98a854
VZ
6347fi
6348
6349if test "$wxUSE_NOTEBOOK" = "yes"; then
ce4169a4 6350 AC_DEFINE(wxUSE_NOTEBOOK)
1e6feb95 6351 USES_CONTROLS=1
ce4169a4 6352 SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS notebook"
9a98a854
VZ
6353fi
6354
2fc9385a
JS
6355dnl if test "$wxUSE_PROPSHEET" = "yes"; then
6356dnl AC_DEFINE(wxUSE_PROPSHEET)
6357dnl USES_CONTROLS=1
6358dnl SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS proplist"
6359dnl fi
24176f2c 6360
9a98a854 6361if test "$wxUSE_RADIOBOX" = "yes"; then
ce4169a4 6362 AC_DEFINE(wxUSE_RADIOBOX)
1e6feb95 6363 USES_CONTROLS=1
9a98a854
VZ
6364fi
6365
6366if test "$wxUSE_RADIOBTN" = "yes"; then
ce4169a4 6367 AC_DEFINE(wxUSE_RADIOBTN)
1e6feb95 6368 USES_CONTROLS=1
9a98a854
VZ
6369fi
6370
79b00c62 6371if test "$wxUSE_SASH" = "yes"; then
ce4169a4
RR
6372 AC_DEFINE(wxUSE_SASH)
6373 SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS sashtest"
9a98a854
VZ
6374fi
6375
6376if test "$wxUSE_SCROLLBAR" = "yes"; then
ce4169a4 6377 AC_DEFINE(wxUSE_SCROLLBAR)
1e6feb95 6378 USES_CONTROLS=1
678b92a9 6379 SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS scroll scrollsub"
9a98a854
VZ
6380fi
6381
6382if test "$wxUSE_SLIDER" = "yes"; then
ce4169a4 6383 AC_DEFINE(wxUSE_SLIDER)
1e6feb95 6384 USES_CONTROLS=1
9a98a854
VZ
6385fi
6386
6387if test "$wxUSE_SPINBTN" = "yes"; then
ce4169a4 6388 AC_DEFINE(wxUSE_SPINBTN)
1e6feb95 6389 USES_CONTROLS=1
9a98a854
VZ
6390fi
6391
66f38406
RR
6392if test "$wxUSE_SPINCTRL" = "yes"; then
6393 AC_DEFINE(wxUSE_SPINCTRL)
1e6feb95 6394 USES_CONTROLS=1
66f38406
RR
6395fi
6396
9a98a854 6397if test "$wxUSE_SPLITTER" = "yes"; then
ce4169a4
RR
6398 AC_DEFINE(wxUSE_SPLITTER)
6399 SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS splitter"
9a98a854
VZ
6400fi
6401
6402if test "$wxUSE_STATBMP" = "yes"; then
ce4169a4 6403 AC_DEFINE(wxUSE_STATBMP)
1e6feb95 6404 USES_CONTROLS=1
9a98a854
VZ
6405fi
6406
6407if test "$wxUSE_STATBOX" = "yes"; then
ce4169a4 6408 AC_DEFINE(wxUSE_STATBOX)
1e6feb95
VZ
6409 USES_CONTROLS=1
6410fi
6411
6412if test "$wxUSE_STATTEXT" = "yes"; then
6413 AC_DEFINE(wxUSE_STATTEXT)
6414 USES_CONTROLS=1
9a98a854
VZ
6415fi
6416
6417if test "$wxUSE_STATLINE" = "yes"; then
d1188635
JS
6418 AC_DEFINE(wxUSE_STATLINE)
6419 USES_CONTROLS=1
9a98a854
VZ
6420fi
6421
6422if test "$wxUSE_STATUSBAR" = "yes"; then
da4486fb
VZ
6423 dnl this will get undefined in wx/chkconf.h if it's not supported
6424 AC_DEFINE(wxUSE_NATIVE_STATUSBAR)
ce4169a4 6425 AC_DEFINE(wxUSE_STATUSBAR)
1e6feb95 6426 USES_CONTROLS=1
2286341c
VZ
6427
6428 SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS statbar"
9a98a854
VZ
6429fi
6430
db6d3918 6431if test "$wxUSE_TAB_DIALOG" = "yes"; then
ce4169a4 6432 AC_DEFINE(wxUSE_TAB_DIALOG)
9a98a854
VZ
6433fi
6434
1e6feb95
VZ
6435if test "$wxUSE_TEXTCTRL" = "yes"; then
6436 AC_DEFINE(wxUSE_TEXTCTRL)
6437 USES_CONTROLS=1
6438 SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS text"
6439fi
6440
1db8dc4a 6441if test "$wxUSE_TOGGLEBTN" = "yes"; then
c14e9648 6442 if test "$wxUSE_COCOA" = 1 ; then
156b2523
GD
6443 AC_MSG_WARN([Toggle button not yet supported under Mac OS X... disabled])
6444 wxUSE_TOGGLEBTN=no
6445 fi
6446 if test "$wxUSE_UNIVERSAL" = "yes"; then
3c011993 6447 AC_MSG_WARN([Toggle button not yet supported under wxUniversal... disabled])
a45d7ab7
GD
6448 wxUSE_TOGGLEBTN=no
6449 fi
6450
6451 if test "$wxUSE_TOGGLEBTN" = "yes"; then
6452 AC_DEFINE(wxUSE_TOGGLEBTN)
1e6feb95 6453 USES_CONTROLS=1
a45d7ab7 6454 fi
1db8dc4a
VZ
6455fi
6456
360d6699
VZ
6457if test "$wxUSE_TOOLBAR_SIMPLE" = "yes"; then
6458 AC_DEFINE(wxUSE_TOOLBAR_SIMPLE)
6459 wxUSE_TOOLBAR="yes"
1e6feb95 6460 USES_CONTROLS=1
360d6699
VZ
6461fi
6462
9a98a854 6463if test "$wxUSE_TOOLBAR" = "yes"; then
ce4169a4 6464 AC_DEFINE(wxUSE_TOOLBAR)
1e6feb95 6465 USES_CONTROLS=1
360d6699
VZ
6466
6467 dnl if wxUSE_TOOLBAR and !wxUSE_TOOLBAR_SIMPLE => wxUSE_TOOLBAR_NATIVE
6468 if test "$wxUSE_TOOLBAR_SIMPLE" != "yes"; then
6469 wxUSE_TOOLBAR_NATIVE="yes"
6470 fi
6471
1e6feb95
VZ
6472 if test "$wxUSE_TOOLBAR_NATIVE" = "yes"; then
6473 AC_DEFINE(wxUSE_TOOLBAR_NATIVE)
6474 USES_CONTROLS=1
6475 fi
9a98a854 6476
1e6feb95 6477 SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS toolbar"
360d6699
VZ
6478fi
6479
39c9d5ac 6480if test "$wxUSE_TOOLTIPS" = "yes"; then
ced859c3 6481 if test "$wxUSE_MOTIF" = 1; then
156b2523 6482 AC_MSG_WARN([wxTooltip not supported yet under Motif... disabled])
9a98a854 6483 else
d1188635
JS
6484 if test "$wxUSE_UNIVERSAL" = "yes"; then
6485 AC_MSG_WARN([wxTooltip not supported yet in wxUniversal... disabled])
ce4169a4 6486 else
d1188635 6487 AC_DEFINE(wxUSE_TOOLTIPS)
ce4169a4 6488 fi
9a98a854
VZ
6489 fi
6490fi
6491
eca15c0d
VZ
6492if test "$wxUSE_TREEBOOK" = "yes"; then
6493 AC_DEFINE(wxUSE_TREEBOOK)
6494 USES_CONTROLS=1
6495fi
6496
7dcea26b
JS
6497if test "$wxUSE_TOOLBOOK" = "yes"; then
6498 AC_DEFINE(wxUSE_TOOLBOOK)
6499 USES_CONTROLS=1
6500fi
6501
9a98a854 6502if test "$wxUSE_TREECTRL" = "yes"; then
ce4169a4
RR
6503 if test "$wxUSE_IMAGLIST" = "yes"; then
6504 AC_DEFINE(wxUSE_TREECTRL)
1e6feb95 6505 USES_CONTROLS=1
ce4169a4
RR
6506 SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS treectrl"
6507 else
6508 AC_MSG_WARN([wxTreeCtrl requires wxImageList and won't be compiled without it])
6509 fi
9a98a854
VZ
6510fi
6511
9f41d601 6512if test "$wxUSE_POPUPWIN" = "yes"; then
ac0c4cc3 6513 if test "$wxUSE_MAC" = 1 -o "$wxUSE_COCOA" = 1 ; then
156b2523 6514 AC_MSG_WARN([Popup window not yet supported under Mac OS X... disabled])
6abe4b65 6515 else
833a51f6
MB
6516 if test "$wxUSE_PM" = 1; then
6517 AC_MSG_WARN([wxPopupWindow not yet supported under PM... disabled])
485cf710 6518 else
833a51f6 6519 AC_DEFINE(wxUSE_POPUPWIN)
0b78747f 6520 SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS popup"
0b01706f 6521
833a51f6 6522 USES_CONTROLS=1
485cf710 6523 fi
6abe4b65 6524 fi
9f41d601
RR
6525fi
6526
0dcd06dd 6527if test "$wxUSE_DIALUP_MANAGER" = "yes"; then
b843b628
MB
6528 if test "$wxUSE_MAC" = 1 -o "$wxUSE_COCOA" = 1 ; then
6529 AC_MSG_WARN([Dialup manager not yet supported under Mac OS X... disabled])
6530 else
6531 AC_DEFINE(wxUSE_DIALUP_MANAGER)
6532 SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS dialup"
6533 fi
6534fi
6535
dd964dcc 6536if test "$wxUSE_TIPWINDOW" = "yes"; then
c6712985
SN
6537 if test "$wxUSE_PM" = 1; then
6538 AC_MSG_WARN([wxTipWindow not yet supported under PM... disabled])
3bd8fb5f 6539 else
c6712985
SN
6540 AC_DEFINE(wxUSE_TIPWINDOW)
6541 fi
dd964dcc
VZ
6542fi
6543
1e6feb95
VZ
6544if test "$USES_CONTROLS" = 1; then
6545 AC_DEFINE(wxUSE_CONTROLS)
6546fi
6547
9a98a854
VZ
6548dnl ---------------------------------------------------------------------------
6549dnl misc options
6550dnl ---------------------------------------------------------------------------
6551
4199367e
VZ
6552dnl please keep the settings below in alphabetical order
6553if test "$wxUSE_ACCESSIBILITY" = "yes"; then
6554 AC_DEFINE(wxUSE_ACCESSIBILITY)
6555 SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS access"
6556fi
9a98a854 6557
38b4a946
VZ
6558if test "$wxUSE_DC_CACHEING" = "yes"; then
6559 AC_DEFINE(wxUSE_DC_CACHEING)
6560fi
6561
24fd6d87
VZ
6562if test "$wxUSE_DRAGIMAGE" = "yes"; then
6563 AC_DEFINE(wxUSE_DRAGIMAGE)
6564 SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS dragimag"
6565fi
6566
4199367e 6567if test "$wxUSE_EXCEPTIONS" = "yes"; then
2ad50b4f
VZ
6568 if test "$wxUSE_NO_EXCEPTIONS" = "yes" ; then
6569 AC_MSG_WARN([--enable-exceptions can't be used with --enable-no_exceptions])
6570 else
6571 AC_DEFINE(wxUSE_EXCEPTIONS)
6572 SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS except"
6573 fi
4199367e
VZ
6574fi
6575
6576USE_HTML=0
6577if test "$wxUSE_HTML" = "yes"; then
6578 AC_DEFINE(wxUSE_HTML)
6579 USE_HTML=1
6580 SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS html html/about html/help html/helpview html/printing html/test html/virtual html/widget html/zip htlbox"
7866e9c9
KO
6581 if test "$wxUSE_MAC" = 1; then
6582 SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS html/htmlctrl"
6583 fi
7bb2947d 6584fi
ec9f9256 6585if test "$wxUSE_WEBKIT" = "yes"; then
031e9160 6586 if test "$wxUSE_MAC" = 1 -a "$USE_DARWIN" = 1; then
07bea8f0 6587 old_CPPFLAGS="$CPPFLAGS"
c92ad099 6588 CPPFLAGS="-x objective-c++ $CPPFLAGS"
07bea8f0
VS
6589 AC_CHECK_HEADER([WebKit/HIWebView.h],
6590 [
6591 AC_DEFINE(wxUSE_WEBKIT)
6592 WEBKIT_LINK="-framework WebKit"
6593 ],
6594 [
6595 AC_MSG_WARN([WebKit headers not found; disabling wxWebKit])
6596 wxUSE_WEBKIT=no
6597 ],
6598 [#include <Carbon/Carbon.h>])
6599 CPPFLAGS="$old_CPPFLAGS"
6600 elif test "$wxUSE_COCOA" = 1; then
6601 AC_DEFINE(wxUSE_WEBKIT)
6602 else
6603 wxUSE_WEBKIT=no
6604 fi
ec9f9256
JS
6605fi
6606
9a8f0513
VS
6607USE_XRC=0
6608if test "$wxUSE_XRC" = "yes"; then
d2ebf0b7
VS
6609 if test "$wxUSE_XML" != "yes"; then
6610 AC_MSG_WARN([XML library not built, XRC resources disabled])
6611 wxUSE_XRC=no
6612 else
6613 AC_DEFINE(wxUSE_XRC)
6614 USE_XRC=1
6615 SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS xrc"
6616 fi
9a8f0513 6617fi
07bea8f0 6618
1e6feb95
VZ
6619if test "$wxUSE_MENUS" = "yes"; then
6620 AC_DEFINE(wxUSE_MENUS)
6621 SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS menu"
ce4169a4 6622fi
9a98a854 6623
1e6feb95
VZ
6624if test "$wxUSE_METAFILE" = "yes"; then
6625 AC_DEFINE(wxUSE_METAFILE)
c11584af
RR
6626fi
6627
1e6feb95
VZ
6628if test "$wxUSE_MIMETYPE" = "yes"; then
6629 AC_DEFINE(wxUSE_MIMETYPE)
9a98a854
VZ
6630fi
6631
6632if test "$wxUSE_MINIFRAME" = "yes"; then
ce4169a4
RR
6633 AC_DEFINE(wxUSE_MINIFRAME)
6634 SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS minifram"
9a98a854
VZ
6635fi
6636
4199367e
VZ
6637if test "$wxUSE_SYSTEM_OPTIONS" = "yes"; then
6638 AC_DEFINE(wxUSE_SYSTEM_OPTIONS)
6639 if test "$TOOLKIT" = "MSW" -o "$TOOLKIT" = "GTK" -o "$TOOLKIT" = "X11" -o \
f1d9e1ec 6640 "$TOOLKIT" = "MOTIF" -o "$TOOLKIT" = "COCOA"; then
4199367e
VZ
6641 SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS taskbar"
6642 fi
5526e819
VS
6643fi
6644
4199367e 6645
9a98a854 6646if test "$wxUSE_VALIDATORS" = "yes"; then
ce4169a4
RR
6647 AC_DEFINE(wxUSE_VALIDATORS)
6648 SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS validate"
9a98a854
VZ
6649fi
6650
d275c7eb
VZ
6651if test "$wxUSE_PALETTE" = "yes" ; then
6652 AC_DEFINE(wxUSE_PALETTE)
6653fi
6654
4199367e
VZ
6655if test "$wxUSE_UNICODE" = "yes" -a "$wxUSE_UNICODE_MSLU" = "yes" ; then
6656 dnl Must be done this late because -lunicows must be before all the other libs
6657 LIBS=" -lunicows $LIBS"
0046ff7c
VS
6658fi
6659
5d7836c4
JS
6660USE_RICHTEXT=0
6661if test "$wxUSE_RICHTEXT" = "yes"; then
6662 AC_DEFINE(wxUSE_RICHTEXT)
6663 USE_RICHTEXT=1
6664 SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS richtext"
6665fi
6666
4199367e
VZ
6667dnl ---------------------------------------------------------------------------
6668dnl wxImage options
6669dnl ---------------------------------------------------------------------------
0940bcf7 6670
4199367e
VZ
6671if test "$wxUSE_IMAGE" = "yes" ; then
6672 AC_DEFINE(wxUSE_IMAGE)
0940bcf7 6673
4199367e
VZ
6674 if test "$wxUSE_GIF" = "yes" ; then
6675 AC_DEFINE(wxUSE_GIF)
6676 fi
4b6b4dfc 6677
4199367e
VZ
6678 if test "$wxUSE_PCX" = "yes" ; then
6679 AC_DEFINE(wxUSE_PCX)
6680 fi
0940bcf7 6681
4199367e
VZ
6682 if test "$wxUSE_IFF" = "yes" ; then
6683 AC_DEFINE(wxUSE_IFF)
6684 fi
0046ff7c 6685
4199367e
VZ
6686 if test "$wxUSE_PNM" = "yes" ; then
6687 AC_DEFINE(wxUSE_PNM)
6688 fi
658974ae 6689
4199367e
VZ
6690 if test "$wxUSE_XPM" = "yes" ; then
6691 AC_DEFINE(wxUSE_XPM)
6692 fi
6693
6694 if test "$wxUSE_ICO_CUR" = "yes" ; then
6695 AC_DEFINE(wxUSE_ICO_CUR)
6696 fi
a72a4bfa
VS
6697fi
6698
1e6feb95 6699dnl ---------------------------------------------------------------------------
4199367e 6700dnl common dialogs
1e6feb95
VZ
6701dnl ---------------------------------------------------------------------------
6702
6703if test "$wxUSE_CHOICEDLG" = "yes"; then
6704 AC_DEFINE(wxUSE_CHOICEDLG)
6705fi
6706
6707if test "$wxUSE_COLOURDLG" = "yes"; then
6708 AC_DEFINE(wxUSE_COLOURDLG)
6709fi
6710
6711if test "$wxUSE_FILEDLG" = "yes"; then
6712 AC_DEFINE(wxUSE_FILEDLG)
6713fi
6714
8db37e06
VZ
6715if test "$wxUSE_FINDREPLDLG" = "yes"; then
6716 AC_DEFINE(wxUSE_FINDREPLDLG)
6717fi
6718
1e6feb95
VZ
6719if test "$wxUSE_FONTDLG" = "yes"; then
6720 AC_DEFINE(wxUSE_FONTDLG)
6721fi
6722
6723if test "$wxUSE_DIRDLG" = "yes"; then
ae1daed0
JS
6724 if test "$wxUSE_TREECTRL" != "yes"; then
6725 AC_MSG_WARN(wxDirDialog requires wxTreeCtrl so it won't be compiled without it)
1e6feb95 6726 else
ae1daed0 6727 AC_DEFINE(wxUSE_DIRDLG)
1e6feb95
VZ
6728 fi
6729fi
6730
6731if test "$wxUSE_MSGDLG" = "yes"; then
6732 AC_DEFINE(wxUSE_MSGDLG)
6733fi
6734
6735if test "$wxUSE_NUMBERDLG" = "yes"; then
6736 AC_DEFINE(wxUSE_NUMBERDLG)
6737fi
6738
6739if test "$wxUSE_PROGRESSDLG" = "yes"; then
6740 if test "$wxUSE_CONSTRAINTS" != "yes"; then
6741 AC_MSG_WARN(wxProgressDialog requires constraints so it won't be compiled without them)
6742 else
6743 AC_DEFINE(wxUSE_PROGRESSDLG)
6744 fi
6745fi
6746
cbca9943
VZ
6747if test "$wxUSE_SPLASH" = "yes"; then
6748 AC_DEFINE(wxUSE_SPLASH)
2057db16 6749 SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS splash"
cbca9943
VZ
6750fi
6751
1e6feb95
VZ
6752if test "$wxUSE_STARTUP_TIPS" = "yes"; then
6753 if test "$wxUSE_CONSTRAINTS" != "yes"; then
6754 AC_MSG_WARN(Startup tips requires constraints and won't be compiled without them)
6755 else
6756 AC_DEFINE(wxUSE_STARTUP_TIPS)
6757 fi
6758fi
6759
6760if test "$wxUSE_TEXTDLG" = "yes"; then
6761 AC_DEFINE(wxUSE_TEXTDLG)
6762fi
6763
b1f5d087
VZ
6764if test "$wxUSE_WIZARDDLG" = "yes"; then
6765 AC_DEFINE(wxUSE_WIZARDDLG)
6766 SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS wizard"
6767fi
6768
ce756cb0 6769dnl ---------------------------------------------------------------------------
5ff751d6 6770dnl wxMediaCtrl
ce756cb0
RN
6771dnl ---------------------------------------------------------------------------
6772
557002cf
VZ
6773USE_MEDIA=0
6774
ce756cb0 6775if test "$wxUSE_MEDIACTRL" = "yes"; then
ce756cb0 6776 dnl -----------------------------------------------------------------------
5ff751d6 6777 dnl GStreamer
ce756cb0
RN
6778 dnl -----------------------------------------------------------------------
6779 if test "$wxUSE_GTK" = 1; then
6780 wxUSE_GSTREAMER="yes"
5ff751d6 6781
dae87f93 6782 dnl -------------------------------------------------------------------
557002cf
VZ
6783 dnl Test for at least 0.8 gstreamer module from pkg-config
6784 dnl Even totem doesn't accept 0.9 evidently.
6785 dnl
6786 dnl So, we first check to see if 0.10 if available - if not we
6787 dnl try the older 0.8 version
dae87f93 6788 dnl -------------------------------------------------------------------
557002cf
VZ
6789 GST_VERSION_MAJOR=0
6790 GST_VERSION_MINOR=10
6791 GST_VERSION_RELEASE=0
6792 GSTREAMER_REQ=$GST_VERSION_MAJOR.$GST_VERSION_MINOR.$GST_VERSION_RELEASE
6793 GST_MAJORMINOR=$GST_VERSION_MAJOR.$GST_VERSION_MINOR
6794
6795 if test "$wxUSE_GSTREAMER8" = "no"; then
6796 PKG_CHECK_MODULES(GST, gstreamer-$GST_MAJORMINOR
6797 gstreamer-plugins-base-$GST_MAJORMINOR
6798 gconf-2.0,
dae87f93 6799 [
557002cf
VZ
6800 CPPFLAGS="$GST_CFLAGS $CPPFLAGS"
6801 LIBS="$LIBS $GST_LIBS -lgstinterfaces-$GST_MAJORMINOR"
dae87f93
RN
6802 ],
6803 [
557002cf 6804 GST_VERSION_MINOR=8
dae87f93 6805 ])
ce756cb0 6806 else
557002cf 6807 GST_VERSION_MINOR=8
dae87f93 6808 fi
5ff751d6 6809
557002cf
VZ
6810 GSTREAMER_REQ=$GST_VERSION_MAJOR.$GST_VERSION_MINOR.$GST_VERSION_RELEASE
6811 GST_MAJORMINOR=$GST_VERSION_MAJOR.$GST_VERSION_MINOR
5ff751d6 6812
557002cf
VZ
6813 if test x$GST_VERSION_MINOR = x8; then
6814 PKG_CHECK_MODULES(GST, gstreamer-$GST_MAJORMINOR
6815 gstreamer-interfaces-$GST_MAJORMINOR
6816 gstreamer-gconf-$GST_MAJORMINOR,
dae87f93 6817 [
557002cf
VZ
6818 CPPFLAGS="$GST_CFLAGS $CPPFLAGS"
6819 LIBS="$LIBS $GST_LIBS"
dae87f93 6820 ],
557002cf
VZ
6821 [
6822 AC_MSG_WARN([Proper GStreamer .8/.10 installation not found])
ce756cb0 6823 wxUSE_GSTREAMER="no"
557002cf 6824 ])
ce756cb0 6825 fi
5ff751d6 6826
557002cf 6827
ce756cb0 6828 if test "$wxUSE_GSTREAMER" = "yes"; then
dae87f93
RN
6829 AC_DEFINE(wxUSE_GSTREAMER)
6830 AC_MSG_RESULT([GStreamer detection successful])
ce756cb0
RN
6831 fi
6832 fi
557002cf 6833 USE_MEDIA=1
ce756cb0
RN
6834 SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS mediaplayer"
6835 AC_DEFINE(wxUSE_MEDIACTRL)
6836fi
6837
bdc72a22 6838dnl ---------------------------------------------------------------------------
db1d0193 6839dnl get the string with OS info - used by wxGetOsDescription() on MacOS X
bdc72a22
VZ
6840dnl ---------------------------------------------------------------------------
6841
32832908
VZ
6842if test "$cross_compiling" = "yes"; then
6843 dnl Use best guess from host as we can't use uname when cross compiling
6844 OSINFO="\"$host\""
6845else
6846 dnl attualy work out OS version
6847 OSINFO=`uname -s -r -m`
6848 OSINFO="\"$OSINFO\""
6849fi
6850
bdc72a22
VZ
6851AC_DEFINE_UNQUOTED(WXWIN_OS_DESCRIPTION, $OSINFO)
6852
7e67ed0d
VZ
6853dnl ---------------------------------------------------------------------------
6854dnl define the variable containing the installation prefix (used in dcpsg.cpp)
6855dnl ---------------------------------------------------------------------------
6856
06dda230
VZ
6857if test "x$prefix" != "xNONE"; then
6858 wxPREFIX=$prefix
6859else
6860 wxPREFIX=$ac_default_prefix
6861fi
6862
6863AC_DEFINE_UNQUOTED(wxINSTALL_PREFIX, "$wxPREFIX")
7e67ed0d 6864
edd891e2
VS
6865
6866dnl ---------------------------------------------------------------------------
6867dnl define variables with all built libraries for wx-config
6868dnl ---------------------------------------------------------------------------
6869
6870CORE_BASE_LIBS="net base"
6871CORE_GUI_LIBS="adv core"
6872
6873if test "$wxUSE_XML" = "yes" ; then
6874 CORE_BASE_LIBS="xml $CORE_BASE_LIBS"
6875fi
45293562
VS
6876if test "$wxUSE_ODBC" != "no" ; then
6877 CORE_BASE_LIBS="odbc $CORE_BASE_LIBS"
6878 CORE_GUI_LIBS="dbgrid $CORE_GUI_LIBS"
edd891e2
VS
6879fi
6880if test "$wxUSE_HTML" = "yes" ; then
6881 CORE_GUI_LIBS="html $CORE_GUI_LIBS"
6882fi
61639efb
VZ
6883if test "$wxUSE_DEBUGREPORT" = "yes" ; then
6884 CORE_GUI_LIBS="qa $CORE_GUI_LIBS"
6885fi
9a8f0513
VS
6886if test "$wxUSE_XRC" = "yes" ; then
6887 CORE_GUI_LIBS="xrc $CORE_GUI_LIBS"
6888fi
edd891e2 6889
57e7d4ac
VS
6890if test "$wxUSE_GUI" != "yes"; then
6891 CORE_GUI_LIBS=""
6892fi
6893
edd891e2
VS
6894AC_SUBST(CORE_BASE_LIBS)
6895AC_SUBST(CORE_GUI_LIBS)
6896
9a98a854
VZ
6897dnl ---------------------------------------------------------------------------
6898dnl Output the makefiles and such from the results found above
6899dnl ---------------------------------------------------------------------------
6900
8006bf3c
VZ
6901dnl no more tests from here
6902AC_LANG_POP
3d63bc3a 6903
8006bf3c 6904dnl all additional libraries (except wxWidgets itself) we link with
3a922bb4 6905
f11bdd03 6906if test "$wxUSE_MAC" = 1 ; then
a98bf0c0 6907 if test "$wxUSE_SOUND" = "yes" || test "$wxUSE_MEDIACTRL" = "yes"; then
031e9160
DE
6908 if test "$USE_DARWIN" = 1; then
6909 LDFLAGS="$LDFLAGS -framework QuickTime"
6910 else
6911 LDFLAGS="$LDFLAGS -lQuickTimeLib"
6912 fi
e586e41d 6913 fi
5dcf30a0 6914 if test "$USE_DARWIN" = 1; then
031e9160
DE
6915 LDFLAGS="$LDFLAGS -framework IOKit -framework Carbon -framework Cocoa -framework System"
6916 else
6917 LDFLAGS="$LDFLAGS -lCarbonLib"
5dcf30a0 6918 fi
b4085ce6 6919fi
ac0c4cc3 6920if test "$wxUSE_COCOA" = 1 ; then
4cb1d3da 6921 LDFLAGS="$LDFLAGS -framework IOKit -framework Cocoa"
4fc81cbc
RN
6922 if test "$wxUSE_MEDIACTRL" = "yes"; then
6923 LDFLAGS="$LDFLAGS -framework QuickTime"
6924 fi
ac0c4cc3 6925fi
19b27e78
MW
6926if test "$USE_DARWIN" = 1 -a "$wxUSE_MAC" != 1 -a "$wxUSE_COCOA" != 1 ; then
6927 LDFLAGS="$LDFLAGS -framework IOKit -framework CoreServices -framework System -framework ApplicationServices"
6928fi
3a922bb4 6929
2b5f62a0
VZ
6930LIBS="$ZLIB_LINK $POSIX4_LINK $INET_LINK $WCHAR_LINK $DL_LINK $LIBS"
6931
e90c1d2a 6932if test "$wxUSE_GUI" = "yes"; then
3d63bc3a 6933
3a922bb4
RL
6934 dnl TODO add checks that these samples will really compile (i.e. all the
6935 dnl library features they need are present)
6936
8bce5cda
MW
6937 dnl TODO some samples are never built so far: mfc (requires VC++)
6938 SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS artprov controls dialogs drawing \
6939 dynamic erase event exec font image minimal mobile \
6940 mobile/wxedit mobile/styles propsize render \
9e39d889 6941 rotate shaped vscroll widgets"
b625909c
VS
6942
6943 if test "$wxUSE_MONOLITHIC" != "yes"; then
6944 SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS console"
6945 fi
0b78747f 6946 if test "$TOOLKIT" = "MSW"; then
8bce5cda
MW
6947 SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS regtest"
6948 if test "$wxUSE_UNIVERSAL" != "yes"; then
6949 SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS ownerdrw nativdlg"
6950 fi
6951 fi
6952 if test "$TOOLKIT" = "PM" -a "$wxUSE_UNIVERSAL" != "yes"; then
6953 SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS ownerdrw"
0b78747f 6954 fi
3a922bb4
RL
6955else
6956 SAMPLES_SUBDIRS="console"
e90c1d2a 6957fi
9a98a854 6958
8e877c19 6959
77ffb593 6960dnl C/C++ compiler options used to compile wxWidgets
17a1ebd1
VZ
6961dnl
6962dnl check for icc before gcc as icc is also recognized as gcc
48f625bc 6963if test "x$INTELCC" = "xyes" ; then
17a1ebd1
VZ
6964 dnl Warnings which can't be easily suppressed in C code are disabled:
6965 dnl
6966 dnl remark #810: conversion from "x" to "y" may lose significant bits
6967 dnl remark #869: parameter "foo" was never referenced
6968 dnl remark #1572: floating-point equality and inequality comparisons
6969 dnl are unreliable
6970 dnl remark #1684: conversion from pointer to same-sized integral type
6971 dnl
6972 dnl (for others see below)
6973 CWARNINGS="-Wall -wd810,869,981,1418,1572,1684"
6974elif test "$GCC" = yes ; then
6ebeb4c7 6975 CWARNINGS="-Wall -Wundef"
17a1ebd1
VZ
6976fi
6977
48f625bc 6978if test "x$INTELCXX" = "xyes" ; then
17a1ebd1
VZ
6979 dnl Intel compiler gives some warnings which simply can't be worked
6980 dnl around or of which we have too many (810, 869) so it's impractical to
6981 dnl keep them enabled even if in theory it would be nice and some others
6982 dnl (279) are generated for standard macros and so there is nothing we can
6983 dnl do about them
6984 dnl
6985 dnl remark #279: controlling expression is constant
6986 dnl remark #383: value copied to temporary, reference to temporary used
6987 dnl remark #444: destructor for base class "xxx" is not virtual
6988 dnl remark #810: conversion from "x" to "y" may lose significant bits
6989 dnl remark #869: parameter "foo" was never referenced
6990 dnl remark #981: operands are evaluated in unspecified order
6991 dnl remark #1418: external definition with no prior declaration
6992 dnl remark #1419: external declaration in primary source file
7f47faf4 6993 CXXWARNINGS="-Wall -wd279,383,444,810,869,981,1418,1419"
17a1ebd1
VZ
6994elif test "$GXX" = yes ; then
6995 dnl CXXWARNINGS="-Wall -W -Wcast-qual -Werror"
5ff751d6 6996 CXXWARNINGS="-Wall -Wundef -Wno-ctor-dtor-privacy"
fddeb06b
VS
6997fi
6998
fddeb06b 6999
5ff751d6
VZ
7000dnl combine everything together and remove the extra white space while doing it
7001WXCONFIG_CFLAGS=`echo $WXCONFIG_CFLAGS`
7002WXCONFIG_CXXFLAGS=`echo $WXCONFIG_CFLAGS $WXCONFIG_CXXFLAGS`
7003
7004
7005dnl add -I options we use during library compilation
7006dnl
7007dnl note that the order is somewhat important: wxWidgets headers should
7008dnl come first and the one with setup.h should be before $(top_srcdir)/include
7009dnl in case the latter contains setup.h used by non-autoconf makefiles (e.g.
7010dnl CodeWarrior):
c92ad099 7011CPPFLAGS=`echo $WXCONFIG_CPPFLAGS \
bc6ee4ae 7012 -I\\${top_builddir}lib/wx/include/${TOOLCHAIN_FULLNAME} \
c92ad099
VZ
7013 -I\\${top_srcdir}/include $TOOLKIT_INCLUDE \
7014 $CPPFLAGS `
5ff751d6 7015
8aeeb05c 7016C_AND_CXX_FLAGS="$DEBUG_CFLAGS $PROFILE_FLAGS $OPTIMISE_CFLAGS"
c92ad099 7017CFLAGS=`echo $WXCONFIG_CFLAGS $CWARNINGS $C_AND_CXX_FLAGS $CFLAGS `
9cbac6d1 7018CXXFLAGS=`echo $WXCONFIG_CXXFLAGS $CXXWARNINGS $C_AND_CXX_FLAGS $CXXFLAGS `
5ff751d6
VZ
7019
7020dnl now that we added WXCONFIG_CPPFLAGS to CPPFLAGS we can add the wx-config
7021dnl only stuff to it
7022WXCONFIG_CPPFLAGS=`echo $WXCONFIG_CPPFLAGS $WXCONFIG_ONLY_CPPFLAGS`
7023
6ebeb4c7 7024
95986553
DE
7025if test "x$MWCC" = "xyes"; then
7026 dnl Correct MW 8.3 to be more similar to GCC. In particular we
7027 dnl must use <regex.h> from system not our local copy on OS X,
7028 dnl but must use local not system on OS 9.
7029 dnl The following should make all -I paths usable for <> includes
7030 dnl while first checking in real system paths. With 8.3 using
7031 dnl -gccincludes it will actually check local paths before system
7032 dnl even for <> which is totally wrong.
7033
7034 dnl Note that because this absolutely needs to be before any -I
7035 dnl that we have to tack it on to the end of the compiler commandline.
7036 CC="$CC -cwd source -I-"
7037 CXX="$CXX -cwd source -I-"
7038fi
7039
fddeb06b 7040
0c3c69fc 7041LIBS=`echo $LIBS`
c74dc163 7042EXTRALIBS="$LDFLAGS $LDFLAGS_VERSIONING $LIBS $DMALLOC_LIBS"
672abd7a 7043EXTRALIBS_XML="$EXPAT_LINK"
3527f29c 7044EXTRALIBS_HTML="$MSPACK_LINK"
bb41dcbe 7045EXTRALIBS_ODBC="$ODBC_LINK"
c74dc163 7046if test "$wxUSE_GUI" = "yes"; then
2b850ae1 7047 EXTRALIBS_GUI=`echo $GUI_TK_LIBRARY $PNG_LINK $JPEG_LINK $TIFF_LINK $WEBKIT_LINK $EXTRALIBS_HILDON $EXTRALIBS_GNOMEVFS $EXTRALIBS_GNOMEPRINT`
c74dc163 7048fi
34b08d2c
VS
7049if test "$wxUSE_OPENGL" = "yes"; then
7050 EXTRALIBS_OPENGL="$LDFLAGS_GL $OPENGL_LIBS"
7051fi
fddeb06b 7052
8aeeb05c 7053LDFLAGS="$LDFLAGS $PROFILE_FLAGS"
f6bcfd97 7054
5ff751d6 7055WXCONFIG_LIBS="$LIBS"
67c13b6c
VS
7056
7057dnl wx-config must output builtin 3rd party libs in --libs in static build:
7058if test "$wxUSE_REGEX" = "builtin" ; then
74802184 7059 wxconfig_3rdparty="regex${lib_unicode_suffix} $wxconfig_3rdparty"
67c13b6c
VS
7060fi
7061if test "$wxUSE_EXPAT" = "builtin" ; then
74802184 7062 wxconfig_3rdparty="expat $wxconfig_3rdparty"
67c13b6c
VS
7063fi
7064if test "$wxUSE_ODBC" = "builtin" ; then
74802184 7065 wxconfig_3rdparty="odbc $wxconfig_3rdparty"
67c13b6c
VS
7066fi
7067if test "$wxUSE_LIBTIFF" = "builtin" ; then
74802184 7068 wxconfig_3rdparty="tiff $wxconfig_3rdparty"
67c13b6c
VS
7069fi
7070if test "$wxUSE_LIBJPEG" = "builtin" ; then
74802184 7071 wxconfig_3rdparty="jpeg $wxconfig_3rdparty"
67c13b6c
VS
7072fi
7073if test "$wxUSE_LIBPNG" = "builtin" ; then
74802184 7074 wxconfig_3rdparty="png $wxconfig_3rdparty"
67c13b6c
VS
7075fi
7076if test "$wxUSE_ZLIB" = "builtin" ; then
74802184 7077 wxconfig_3rdparty="zlib $wxconfig_3rdparty"
bb41dcbe 7078fi
67c13b6c
VS
7079
7080for i in $wxconfig_3rdparty ; do
5ff751d6 7081 WXCONFIG_LIBS="-lwx${i}${lib_debug_suffix}${WX_LIB_FLAVOUR}-${WX_RELEASE}${HOST_SUFFIX} $WXCONFIG_LIBS"
67c13b6c
VS
7082done
7083
7084
fe0895cf
VS
7085if test "x$wxUSE_UNIVERSAL" = "xyes" ; then
7086 WXUNIV=1
7087else
7088 WXUNIV=0
7089fi
7090
7091AC_SUBST(wxUSE_ZLIB)
7092AC_SUBST(wxUSE_REGEX)
672abd7a 7093AC_SUBST(wxUSE_EXPAT)
fe0895cf
VS
7094AC_SUBST(wxUSE_ODBC)
7095AC_SUBST(wxUSE_LIBJPEG)
7096AC_SUBST(wxUSE_LIBPNG)
7097AC_SUBST(wxUSE_LIBTIFF)
7098
08b3ac36
VS
7099if test $wxUSE_MONOLITHIC = "yes" ; then
7100 MONOLITHIC=1
7101else
7102 MONOLITHIC=0
7103fi
fe0895cf 7104
f93ca9fd
VS
7105if test $wxUSE_PLUGINS = "yes" ; then
7106 USE_PLUGINS=1
7107else
7108 USE_PLUGINS=0
7109fi
7110
bb41dcbe
VS
7111if test $wxUSE_ODBC != "no" ; then
7112 USE_ODBC=1
7113else
7114 USE_ODBC=0
7115fi
7116
16358932
VZ
7117if test "$wxUSE_DEBUGREPORT" = "yes" ; then
7118 USE_QA=1
7119else
7120 USE_QA=0
7121fi
7122
029b47ad
VS
7123if test $wxUSE_OFFICIAL_BUILD = "yes" ; then
7124 OFFICIAL_BUILD=1
7125else
7126 OFFICIAL_BUILD=0
7127fi
7128
8ee2dd05
VS
7129AC_SUBST(VENDOR)
7130AC_SUBST(OFFICIAL_BUILD)
ceec2216
RL
7131AC_SUBST(WX_FLAVOUR)
7132AC_SUBST(WX_LIB_FLAVOUR)
8ee2dd05 7133
fe0895cf
VS
7134AC_SUBST(WXUNIV)
7135AC_SUBST(MONOLITHIC)
f93ca9fd 7136AC_SUBST(USE_PLUGINS)
cf615ebb 7137AC_SUBST(LIBS)
fe0895cf 7138AC_SUBST(EXTRALIBS)
672abd7a 7139AC_SUBST(EXTRALIBS_XML)
3527f29c 7140AC_SUBST(EXTRALIBS_HTML)
bb41dcbe 7141AC_SUBST(EXTRALIBS_ODBC)
c74dc163 7142AC_SUBST(EXTRALIBS_GUI)
34b08d2c 7143AC_SUBST(EXTRALIBS_OPENGL)
f93ca9fd
VS
7144AC_SUBST(EXTRALIBS_SDL)
7145AC_SUBST(WITH_PLUGIN_SDL)
7c72311f 7146AC_SUBST(EXTRALIBS_GNOMEPRINT)
2b850ae1 7147AC_SUBST(EXTRALIBS_GNOMEVFS)
3565d135 7148AC_SUBST(EXTRALIBS_HILDON)
fe0895cf
VS
7149AC_SUBST(UNICODE)
7150AC_SUBST(BUILD)
6c67131a
VS
7151AC_SUBST(DEBUG_INFO)
7152AC_SUBST(DEBUG_FLAG)
aa961a51 7153TOOLKIT_LOWERCASE=`echo $TOOLKIT | tr "[[A-Z]]" "[[a-z]]"`
fe0895cf
VS
7154AC_SUBST(TOOLKIT_LOWERCASE)
7155AC_SUBST(TOOLKIT_VERSION)
7156AC_SUBST(SAMPLES_RPATH_FLAG)
ef0add05 7157AC_SUBST(SAMPLES_RPATH_POSTLINK)
ea66c762 7158AC_SUBST(HOST_SUFFIX)
670ec357
VS
7159AC_SUBST(CPPUNIT_CFLAGS)
7160AC_SUBST(CPPUNIT_LIBS)
fe0895cf 7161
4d4ff94c
VZ
7162case "$TOOLKIT" in
7163 GTK)
7164 TOOLKIT_USER="GTK+"
7165 if test "$WXGTK20" = 1; then
7166 TOOLKIT_USER="$TOOLKIT_USER 2"
7167 fi
7168 ;;
7169
7170 *)
7171 TOOLKIT_USER=$TOOLKIT_LOWERCASE
7172 ;;
7173esac
7174
fb00f58d
JS
7175if test "$wxUSE_WINE" = "yes"; then
7176 BAKEFILE_FORCE_PLATFORM=win32
7177fi
7178
7afc46ab
KO
7179dnl ---------------------------------------------------------------------------
7180dnl Add Universal binary support
7181dnl Note we don't do this earlier because adding these cpp/ld flags could
7182dnl cause configure tests to fail.
7183dnl ---------------------------------------------------------------------------
7184if test "$wxUSE_MAC" = 1 ; then
7185 if test "$wxUSE_UNIVERSAL_BINARY" = "yes" ; then
7186 CXXFLAGS="-isysroot /Developer/SDKs/MacOSX10.4u.sdk -arch ppc -arch i386 $CXXFLAGS"
7187 CFLAGS="-isysroot /Developer/SDKs/MacOSX10.4u.sdk -arch ppc -arch i386 $CFLAGS"
7188 LDFLAGS="-isysroot /Developer/SDKs/MacOSX10.4u.sdk -arch ppc -arch i386 $LDFLAGS"
7189 bk_use_pch=no
7190 fi
7191 # TODO: where do we add "-syslibroot,/Developer/SDKs/MacOSX10.4u.sdk" for libtool (static builds only)?
7192 # The makefile currently uses AR and RANLIB, which libtool apparently supercedes.
7193 # TODO: how can we avoid a hardwired reference to the SDK, above? (Someone used -lSystemStubs to avoid it)
7194fi
7195
564872cf 7196AC_BAKEFILE([m4_include(autoconf_inc.m4)])
fe0895cf 7197
7afc46ab
KO
7198dnl HACK ALERT!!
7199dnl For now, we need to alter bk-deps not to generate deps
7200dnl when we've configured a Universal binary build.
7201dnl The next version of Bakefile will have the correct fix for this
7202dnl at which time, this hack can be removed.
7203
7204if test "$wxUSE_MAC" = 1 ; then
7205 if test "$wxUSE_UNIVERSAL_BINARY" = "yes" ; then
7206 sed "s/DEPSMODE=gcc/DEPSMODE=none/" < bk-deps > temp
7207 mv temp bk-deps
7208 chmod +x bk-deps
7209 fi
7210fi
7211
ceec2216
RL
7212if test "$wxUSE_SHARED" = "yes"; then
7213
7214 dnl We get the shared build linker from bakefile, since it
7215 dnl moved all the logic for this out of this file and into
7216 dnl its own macro. But it can't decide on whether to return
7217 dnl us $(VAR), ${VAR}, or the present expansion of VAR.
7218 dnl So normalise and expand everything here now, because its
7219 dnl not going to change inside wx-config anyway.
7220 sanitised_bakefile_mess=`echo "$SHARED_LD_CXX" | tr -d '()'`
7221 EXE_LINKER=`eval echo "$sanitised_bakefile_mess"`
7222
73213bc3
SN
7223 dnl Need addtional flag on OS/2, so override bakefiles value
7224 dnl (there currently is no suitable variable to which the
7225 dnl missing flags could be added, AFAICS. SN, 18.12.2004. )
7226 case "${host}" in
7227 *-pc-os2_emx | *-pc-os2-emx )
7228 SHARED_LD_CC="`pwd`/dllar.sh -name-mangler-script ./dllnames.sh -libf INITINSTANCE -libf TERMINSTANCE -o"
7229 SHARED_LD_CXX="`pwd`/dllar.sh -name-mangler-script ./dllnames.sh -libf INITINSTANCE -libf TERMINSTANCE -o"
7230 cp -p ${srcdir}/src/os2/dllnames.sh .
7231 cp -p ${srcdir}/src/os2/dllar.sh .
7232 ;;
7233 esac
ceec2216
RL
7234else
7235
7236 dnl No bakefile support for static builds, but this should be ok for most.
7237 EXE_LINKER="$CXX -o"
7238
7239fi
f47af52b
SN
7240if test "$wxUSE_OMF" = "yes"; then
7241 case "${host}" in
7242 *-pc-os2_emx | *-pc-os2-emx )
7243 LDFLAGS="$LDFLAGS -Zlinker /EXEPACK"
7244 LDFLAGS_GUI="-Zlinker /PMTYPE:PM"
7245 WXCONFIG_LDFLAGS_GUI="-Zlinker /PMTYPE:PM"
7246 ;;
7247 esac
7248fi
88e30f2b 7249
254e8e29
VZ
7250dnl find out if the compiler supports PCH
7251dnl
7252dnl TODO: this should be in bakefile
c08ebc62 7253if test $GCC_PCH = 1 ; then
254e8e29 7254 CPPFLAGS="-DWX_PRECOMP $CPPFLAGS"
45842500
VS
7255fi
7256
5ff751d6
VZ
7257dnl TOOLCHAIN_DEFS should be used for both wx and client code
7258WXCONFIG_CPPFLAGS="$WXCONFIG_CPPFLAGS $TOOLCHAIN_DEFS"
e694c22c 7259
70d1b3cf
VZ
7260dnl for convenience, sort the samples in alphabetical order
7261dnl
7262dnl FIXME For some mysterious reasons, sometimes the directories are duplicated
7263dnl in this list - hence uniq. But normally, this shouldn't be needed!
d6a55c4b
VZ
7264dnl
7265dnl Unfortunately, there is a bug in OS/2's tr, such that
d51e8205
SN
7266dnl tr ' ' '\n' introduces DOS-like line breaks, whereas tr '\n' ' '
7267dnl only removes the Unix-like part of the introduced line break.
7268SAMPLES_SUBDIRS="`echo $SAMPLES_SUBDIRS | tr -s ' ' | tr ' ' '\n' | sort | uniq | tr '\n' ' '| tr -d '\r'`"
7269
ceec2216
RL
7270dnl subtle bakefile goop.
7271dnl Used in wx-config now too, as its STATIC_FLAG with different makeup.
7272dnl I wish we would have called it something less likely to clash with
7273dnl things though.
7274AC_SUBST(SHARED)
70d1b3cf 7275
9a98a854 7276dnl global options
cf615ebb
VS
7277AC_SUBST(WX_LIBRARY_BASENAME_NOGUI)
7278AC_SUBST(WX_LIBRARY_BASENAME_GUI)
2bffed64 7279
9a98a854 7280dnl toolkit options
dad6c0ea
VZ
7281AC_SUBST(USE_GUI)
7282AC_SUBST(AFMINSTALL)
2b5f62a0 7283AC_SUBST(WIN32INSTALL)
9a98a854 7284AC_SUBST(TOOLKIT)
9a98a854 7285AC_SUBST(TOOLKIT_DIR)
3a922bb4 7286AC_SUBST(TOOLCHAIN_NAME)
ceec2216 7287AC_SUBST(TOOLCHAIN_FULLNAME)
3a922bb4
RL
7288
7289dnl wx-config options
77e13408 7290AC_SUBST(host_alias)
3a922bb4 7291AC_SUBST(cross_compiling)
ceec2216
RL
7292AC_SUBST(WIDGET_SET)
7293AC_SUBST(WX_RELEASE)
7294AC_SUBST(WX_VERSION)
7295AC_SUBST(WX_SUBVERSION)
7296AC_SUBST(WX_CHARTYPE)
7297AC_SUBST(WX_DEBUGTYPE)
5ff751d6
VZ
7298
7299dnl note that in addition to the usual CPP/C/CXXFLAGS which are used for
7300dnl building the library itself, we also have WXCONFIG_-prefixed variants which
7301dnl are used when building the libraries using the library
7302dnl
7303dnl so put anything which should be used only during the library build in, e.g.
7304dnl CXXFLAGS, but put everything else (by default) into WXCONFIG_CXXFLAGS
7305dnl
7306dnl and, finally, for some things which should be only used by wx-config but
7307dnl not during the library compilation, use WXCONFIG_ONLY_CPPFLAGS which is
7308dnl added to WXCONFIG_CPPFLAGS after adding the latter to CPPFLAGS
7309AC_SUBST(WXCONFIG_CPPFLAGS)
7310AC_SUBST(WXCONFIG_CFLAGS)
7311AC_SUBST(WXCONFIG_CXXFLAGS)
7312
7313AC_SUBST(WXCONFIG_LIBS)
3bd8fb5f 7314AC_SUBST(WXCONFIG_RPATH)
ffef10f6 7315AC_SUBST(WXCONFIG_LDFLAGS_GUI)
004ee6da 7316AC_SUBST(WXCONFIG_RESFLAGS)
ceec2216 7317AC_SUBST(EXE_LINKER)
2224580a
VZ
7318
7319dnl distribution vars
a4aad961 7320AC_SUBST(GUIDIST)
2224580a 7321AC_SUBST(DISTDIR)
073478b3 7322
9a98a854 7323dnl additional subdirectories where we will build
9a98a854 7324AC_SUBST(SAMPLES_SUBDIRS)
9a98a854 7325
e694c22c
VZ
7326dnl additional libraries and linker settings
7327AC_SUBST(LDFLAGS)
62d0491b 7328AC_SUBST(LDFLAGS_GL)
f6bcfd97 7329AC_SUBST(OPENGL_LIBS)
3d63bc3a 7330AC_SUBST(DMALLOC_LIBS)
2b5f62a0 7331AC_SUBST(WX_VERSION_TAG)
9a98a854 7332
32832908 7333dnl additional resurces settings
004ee6da 7334AC_SUBST(RESCOMP)
891ace05
DE
7335AC_SUBST(WINDRES)
7336AC_SUBST(REZ)
32832908 7337AC_SUBST(RESFLAGS)
3a922bb4 7338AC_SUBST(RESPROGRAMOBJ)
e95edd8d
GD
7339AC_SUBST(WX_RESOURCES_MACOSX_ASCII)
7340AC_SUBST(WX_RESOURCES_MACOSX_DATA)
3a922bb4 7341
2f51a9ec 7342dnl additional for Mac OS X
2f51a9ec 7343AC_SUBST(DEREZ)
2f51a9ec 7344AC_SUBST(LIBWXMACRES)
891ace05 7345AC_SUBST(POSTLINK_COMMAND)
36825681 7346AC_SUBST(MACSETFILE)
32832908 7347
2b5f62a0
VZ
7348dnl other tools
7349AC_SUBST(GCC)
32832908 7350AC_SUBST(DLLTOOL)
885d4bf5 7351
e6cc62c6 7352
9a98a854 7353dnl MAKE_SET will be replaced with "MAKE=..." or nothing if make sets MAKE
156b2523 7354dnl itself (this macro is required if SUBDIRS variable is used in Makefile.am
9a98a854
VZ
7355dnl - and we do use it)
7356AC_PROG_MAKE_SET
7357
014e19de 7358
ceec2216 7359AC_CONFIG_HEADERS([lib/wx/include/${TOOLCHAIN_FULLNAME}/wx/setup.h:setup.h.in])
2aa88730 7360
c8d58531
MW
7361if test "$USE_WIN32" = 1; then
7362 AC_CONFIG_COMMANDS(
7363 [
7364 rcdefs.h
7365 ],
7366 [
7367 mkdir -p $outdir &&
7368 $CPP $infile | sed 's/^# *[1-9].*//;s/^ *//;/./,/^$/!d' > $outdir/rcdefs.h
7369 ],
7370 [
7371 CPP="$CPP"
7372 infile="$srcdir/include/wx/msw/genrcdefs.h"
7373 outdir="lib/wx/include/$TOOLCHAIN_FULLNAME/wx/msw"
7374 ]
7375 )
7376fi
7377
ceec2216
RL
7378AC_CONFIG_FILES([ lib/wx/config/${TOOLCHAIN_FULLNAME}:wx-config.in ],
7379 [ chmod +x lib/wx/config/${TOOLCHAIN_FULLNAME} ],
7380 [ TOOLCHAIN_FULLNAME="${TOOLCHAIN_FULLNAME}" ])
e6cc62c6 7381
ceec2216
RL
7382AC_CONFIG_FILES([ lib/wx/config/inplace-${TOOLCHAIN_FULLNAME}:wx-config-inplace.in ],
7383 [ chmod +x lib/wx/config/inplace-${TOOLCHAIN_FULLNAME} ],
7384 [ TOOLCHAIN_FULLNAME="${TOOLCHAIN_FULLNAME}" ])
7385
7386AC_CONFIG_FILES([ version-script Makefile ])
7387
f9f75df7 7388AC_CONFIG_COMMANDS([wx-config],
ceec2216
RL
7389 [ rm -f wx-config
7390 ${LN_S} lib/wx/config/inplace-${TOOLCHAIN_FULLNAME} wx-config
7391 ],
7392 [ TOOLCHAIN_FULLNAME="${TOOLCHAIN_FULLNAME}"
7393 LN_S="${LN_S}"
7394 ])
9a98a854 7395
0506bbbf
RL
7396dnl This would give us us build dir that in every significant way
7397dnl resembles an installed wx in prefix=$builddir. It is troublesome
7398dnl though in this form because AC_CONFIG_LINKS will fail for directories
7399dnl on platforms that do not have symlinks.
7400dnl AC_CONFIG_LINKS([ include/wx-$WX_RELEASE$WX_FLAVOUR:include ])
7401dnl AC_CONFIG_LINKS([ contrib/include ])
9103d280 7402
1c14217d 7403if test "$wxWITH_SUBDIRS" != "no"; then
08b3ac36 7404dnl Configure samples, contrib etc. directories, but only if they are present:
6c3e36af
VZ
7405if test "$wxUSE_GUI" = "yes"; then
7406 SUBDIRS="samples demos utils contrib"
7407else dnl we build wxBase only
7408 dnl there are no wxBase programs in contrib nor demos
7409 SUBDIRS="samples utils"
7410fi
670ec357 7411dnl Add tests to the list of subdirs if cppunit 1.8.0+ is detected
c2218763 7412AM_PATH_CPPUNIT(1.8.0, [SUBDIRS="$SUBDIRS tests"])
6c3e36af 7413
166263e6 7414for subdir in `echo $SUBDIRS`; do
08b3ac36 7415 if test -d ${srcdir}/${subdir} ; then
6c3e36af 7416 if test "$wxUSE_GUI" = "yes"; then
166263e6
VZ
7417 if test ${subdir} = "samples"; then
7418 dnl only take those samples which compile in the current
7419 dnl configuration and which exist
8772a1a7 7420 makefiles="samples/Makefile.in $makefiles"
166263e6
VZ
7421 for sample in `echo $SAMPLES_SUBDIRS`; do
7422 if test -d $srcdir/samples/$sample; then
7423 makefiles="samples/$sample/Makefile.in $makefiles"
7424 fi
7425 done
9c112555
MW
7426 else
7427 dnl assume that everything compiles for utils &c
7428 dnl any that shouldn't be built can be added to
7429 dnl DISABLED_UTILS, DISABLED_CONTRIB or DISABLED_DEMOS
7430 disabled_var=DISABLED_`echo $subdir | tr [[a-z]] [[A-Z]]`;
7431 eval "disabled=\$$disabled_var"
7432 disabled=/`echo X $disabled | sed 's@ @/|/@g'`/
7433 makefiles=`(cd $srcdir ; find $subdir -name Makefile.in) | egrep -v "$disabled"`
166263e6 7434 fi
6c3e36af
VZ
7435 else dnl we build wxBase only
7436 dnl don't take all samples/utils, just those which build with
7437 dnl wxBase
7438 if test ${subdir} = "samples"; then
8772a1a7 7439 makefiles="samples/Makefile.in samples/console/Makefile.in"
670ec357 7440 elif test ${subdir} = "utils"; then
6537ccf8
VS
7441 makefiles=""
7442 for util in HelpGen tex2rtf ; do
7443 if test -d $srcdir/utils/$util ; then
7444 makefiles="utils/$util/Makefile.in \
7445 utils/$util/src/Makefile.in \
7446 $makefiles"
7447 fi
7448 done
670ec357
VS
7449 else dnl assume that everything compiles for tests
7450 makefiles=`(cd $srcdir ; find $subdir -name Makefile.in)`
6c3e36af
VZ
7451 fi
7452 fi
7453
08b3ac36
VS
7454 for mkin in $makefiles ; do
7455 mk=`echo $mkin | sed 's/Makefile\.in/Makefile/g'`
7456 AC_CONFIG_FILES([$mk])
7457 done
7458 fi
7459done
1c14217d 7460fi dnl wxWITH_SUBDIRS
e6cc62c6
VS
7461
7462AC_OUTPUT
7463
4d4ff94c 7464dnl report how we have been configured
2b5f62a0 7465echo
77ffb593 7466echo "Configured wxWidgets ${WX_VERSION} for \`${host}'"
2b5f62a0 7467echo ""
4d4ff94c 7468echo " Which GUI toolkit should wxWidgets use? ${TOOLKIT_USER:-base only}"
77ffb593 7469echo " Should wxWidgets be compiled into single library? ${wxUSE_MONOLITHIC:-yes}"
2b5f62a0 7470
77ffb593
JS
7471echo " Should wxWidgets be compiled in debug mode? ${wxUSE_DEBUG:-no}"
7472echo " Should wxWidgets be linked as a shared library? ${wxUSE_SHARED:-no}"
7473echo " Should wxWidgets be compiled in Unicode mode? ${wxUSE_UNICODE:-no}"
2b5f62a0 7474
77ffb593 7475echo " What level of wxWidgets compatibility should be enabled?"
dee1a63f
MB
7476echo " wxWidgets 2.4 ${WXWIN_COMPATIBILITY_2_4:-no}"
7477echo " wxWidgets 2.6 ${WXWIN_COMPATIBILITY_2_6:-yes}"
0c98a14e 7478
77ffb593 7479echo " Which libraries should wxWidgets use?"
2b5f62a0
VZ
7480echo " jpeg ${wxUSE_LIBJPEG-none}"
7481echo " png ${wxUSE_LIBPNG-none}"
7482echo " regex ${wxUSE_REGEX}"
7483echo " tiff ${wxUSE_LIBTIFF-none}"
89fe663f
VZ
7484if test "$wxUSE_X11" = 1 -o "$wxUSE_MOTIF" = 1; then
7485echo " xpm ${wxUSE_LIBXPM-none}"
7486fi
2b5f62a0 7487echo " zlib ${wxUSE_ZLIB}"
fd3d7534 7488echo " odbc ${wxUSE_ODBC}"
672abd7a 7489echo " expat ${wxUSE_EXPAT}"
3527f29c 7490echo " libmspack ${wxUSE_LIBMSPACK}"
f93ca9fd 7491echo " sdl ${wxUSE_LIBSDL}"
6d1ce868 7492echo " gnomeprint ${wxUSE_LIBGNOMEPRINT-none}"
2b850ae1 7493echo " gnomevfs ${wxUSE_LIBGNOMEVFS-none}"
3565d135 7494echo " hildon ${wxUSE_LIBHILDON-none}"
2b5f62a0
VZ
7495
7496echo ""
7497
7498dnl vi: set et sts=4 sw=4 com=\:dnl: