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