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