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