Unicode fix.
[wxWidgets.git] / configure.in
1 dnl Process this file with autoconf to produce a configure script.
2 AC_REVISION($Id$)dnl
3
4 dnl ---------------------------------------------------------------------------
5 dnl
6 dnl Top-level configure.in for wxWindows by Robert Roebling, Phil Blecker and
7 dnl Vadim Zeitlin
8 dnl
9 dnl This script is under the wxWindows licence.
10 dnl
11 dnl Version: $Id$
12 dnl ---------------------------------------------------------------------------
13
14 dnl ---------------------------------------------------------------------------
15 dnl initialization
16 dnl ---------------------------------------------------------------------------
17
18 dnl the file passed to AC_INIT should be specific to our package
19 AC_INIT(wx-config.in)
20
21 AC_CANONICAL_HOST
22
23 dnl When making releases do:
24 dnl
25 dnl WX_RELEASE_NUMBER += 1
26 dnl WX_INTERFACE_AGE += 1
27 dnl WX_BINARY_AGE += 1
28 dnl
29 dnl if any functions have been added, do:
30 dnl
31 dnl WX_INTERFACE_AGE = 0
32
33 WX_MAJOR_VERSION_NUMBER=2
34 WX_MINOR_VERSION_NUMBER=1
35 WX_RELEASE_NUMBER=0
36
37 WX_INTERFACE_AGE=0
38 WX_BINARY_AGE=0
39
40 WX_VERSION=$WX_MAJOR_VERSION_NUMBER.$WX_MINOR_VERSION_NUMBER.$WX_RELEASE_NUMBER
41
42 AM_INIT_AUTOMAKE(wxWindows, $WX_VERSION)
43
44 dnl libtool versioning
45 LT_RELEASE=$WX_MAJOR_VERSION_NUMBER.$WX_MINOR_VERSION_NUMBER
46 LT_CURRENT=`expr $WX_RELEASE_NUMBER - $WX_INTERFACE_AGE`
47 LT_REVISION=$WX_INTERFACE_AGE
48 LT_AGE=`expr $WX_BINARY_AGE - $WX_INTERFACE_AGE`
49 AC_SUBST(LT_RELEASE)
50 AC_SUBST(LT_CURRENT)
51 AC_SUBST(LT_REVISION)
52 AC_SUBST(LT_AGE)
53
54 dnl FIXME this hack suppresses automake 1.4 warning about @LTLIBOBJS@ being
55 dnl       never defined in configure.in (remove these lines to see what I'm
56 dnl       speaking about) - Tom Tromey <tromey@cygnus.com> told me that it will
57 dnl       be fixed in the next release.
58 LIBOBJS=
59 LIBOBJS="$LIBOBJS ../common/extended.o"
60
61 dnl ------------------------------------------------------------------------
62 dnl Check platform (host system)
63 dnl ------------------------------------------------------------------------
64
65 dnl assume Unix
66 USE_UNIX=1
67 USE_LINUX=
68 USE_SGI=
69 USE_HPUX=
70 USE_SYSV=
71 USE_SVR4=
72 USE_AIX=
73 USE_SUN=
74 USE_SOLARIS=
75 USE_SUNOS=
76 USE_ALPHA=
77 USE_OSF=
78 USE_BSD=
79 USE_FREEBSD=
80 USE_VMS=
81 USE_ULTRIX=
82 USE_CYGWIN=
83 USE_MINGW32=
84 USE_DATA_GENERAL=
85
86 dnl the list of all available toolkits
87 ALL_TOOLKITS="CYGWIN GTK MINGW MOTIF WINE"
88
89 dnl NB: these wxUSE_XXX constants have value of 0 or 1 unlike all the other ones
90 dnl     which are either yes or no
91 DEFAULT_wxUSE_GTK=0
92 DEFAULT_wxUSE_MOTIF=0
93 DEFAULT_wxUSE_MSW=0
94 DEFAULT_wxUSE_WINE=0
95
96 dnl these are the values which are really default for the given platform -
97 dnl they're not cached and are only used if no --with-toolkit was given *and*
98 dnl nothing was found in the cache
99 DEFAULT_DEFAULT_wxUSE_GTK=0
100 DEFAULT_DEFAULT_wxUSE_MOTIF=0
101 DEFAULT_DEFAULT_wxUSE_MSW=0
102 DEFAULT_DEFAULT_wxUSE_WINE=0
103
104 case "${host}" in
105   *-hp-hpux* )
106     USE_HPUX=1
107     DEFAULT_DEFAULT_wxUSE_MOTIF=1
108     AC_DEFINE(__HPUX__)
109   ;;
110   *-*-linux* )
111     USE_LINUX=1
112     AC_DEFINE(__LINUX__)
113     TMP=`uname -m`
114     if test "x$TMP" = "xalpha"; then
115       USE_ALPHA=1
116       AC_DEFINE(__ALPHA__)
117     fi
118     DEFAULT_DEFAULT_wxUSE_GTK=1
119   ;;
120   *-*-irix5* | *-*-irix6* )
121     USE_SGI=1
122     USE_SVR4=1
123     AC_DEFINE(__SGI__)
124     AC_DEFINE(__SVR4__)
125     DEFAULT_DEFAULT_wxUSE_MOTIF=1
126   ;;
127   *-*-solaris2* )
128     USE_SUN=1
129     USE_SOLARIS=1
130     USE_SVR4=1
131     AC_DEFINE(__SUN__)
132     AC_DEFINE(__SOLARIS__)
133     AC_DEFINE(__SVR4__)
134     DEFAULT_DEFAULT_wxUSE_MOTIF=1
135   ;;
136   *-*-sunos4* )
137     USE_SUN=1
138     USE_SUNOS=1
139     USE_BSD=1
140     AC_DEFINE(__SUN__)
141     AC_DEFINE(__SUNOS__)
142     AC_DEFINE(__BSD__)
143     DEFAULT_DEFAULT_wxUSE_MOTIF=1
144   ;;
145   *-*-freebsd* | *-*-netbsd*)
146     USE_BSD=1
147     USE_FREEBSD=1
148     AC_DEFINE(__FREEBSD__)
149     AC_DEFINE(__BSD__)
150     DEFAULT_DEFAULT_wxUSE_GTK=1
151   ;;
152   *-*-osf* )
153     USE_ALPHA=1
154     USE_OSF=1
155     AC_DEFINE(__ALPHA__)
156     AC_DEFINE(__OSF__)
157     DEFAULT_DEFAULT_wxUSE_MOTIF=1
158   ;;
159   *-*-dgux5* )
160     USE_ALPHA=1
161     USE_SVR4=1
162     AC_DEFINE(__ALPHA__)
163     AC_DEFINE(__SVR4__)
164     DEFAULT_DEFAULT_wxUSE_MOTIF=1
165   ;;
166   *-*-sysv5* )
167     USE_SYSV=1
168     USE_SVR4=1
169     AC_DEFINE(__SYSV__)
170     AC_DEFINE(__SVR4__)
171     DEFAULT_DEFAULT_wxUSE_MOTIF=1
172   ;;
173   *-*-aix* )
174     USE_AIX=1
175     USE_SYSV=1
176     USE_SVR4=1
177     AC_DEFINE(__AIX__)
178     AC_DEFINE(__SYSV__)
179     AC_DEFINE(__SVR4__)
180     DEFAULT_DEFAULT_wxUSE_MOTIF=1
181   ;;
182
183   *-*-cygwin32* )
184     USE_UNIX=0
185     AC_DEFINE(__WIN32__)
186     AC_DEFINE(__WIN95__)
187     AC_DEFINE(__WINDOWS__)
188     AC_DEFINE(__GNUWIN32__)
189     DEFAULT_DEFAULT_wxUSE_MSW=1
190   ;;
191
192   *-pc-os2_emx )
193     AC_DEFINE(__EMX__)
194   ;;
195
196   *)
197     AC_MSG_ERROR(unknown system type ${host}.)
198 esac
199
200 if test "$USE_UNIX" = 1 ; then
201   wxUSE_UNIX=yes
202   AC_DEFINE(__UNIX__)
203   EXTRA_VPATH="$EXTRA_VPATH:\$(srcdir)/../unix"
204   SRC_SUBDIRS="$SRC_SUBDIRS unix"
205   INCLUDE_SUBDIRS="$INCLUDE_SUBDIRS unix"
206 fi
207
208 dnl Linux: test for libc5/glibc2: glibc2 has gettext() included
209 if test "$USE_LINUX" = 1; then
210   AC_CHECK_LIB(c,gettext,AC_DEFINE(wxHAVE_GLIBC2))
211 fi
212
213 dnl ---------------------------------------------------------------------------
214 dnl command line options for configure
215 dnl ---------------------------------------------------------------------------
216
217 dnl the default values for all options - we collect them all here to simplify
218 dnl modification of the default values (for example, if the defaults for some
219 dnl platform should be changed, it can be done here too)
220 dnl
221 dnl NB: see also DEFAULT_wxUSE<toolkit> variables defined above
222
223 WX_ARG_CACHE_INIT
224
225 dnl useful to test the compilation with minimum options, define as 0 for normal
226 dnl usage
227 DEBUG_CONFIGURE=0
228 if test $DEBUG_CONFIGURE = 1; then
229   DEFAULT_wxUSE_THREADS=yes
230
231   DEFAULT_wxUSE_OPTIMISE=no
232   DEFAULT_wxUSE_PROFILE=no
233   DEFAULT_wxUSE_NO_RTTI=no
234   DEFAULT_wxUSE_NO_EXCEPTIONS=no
235   DEFAULT_wxUSE_DEBUG_FLAG=yes
236   DEFAULT_wxUSE_DEBUG_INFO=yes
237   DEFAULT_wxUSE_DEBUG_GDB=yes
238   DEFAULT_wxUSE_MEM_TRACING=no
239   DEFAULT_wxUSE_DEBUG_CONTEXT=no
240   DEFAULT_wxUSE_DMALLOC=no
241   DEFAULT_wxUSE_APPLE_IEEE=no
242
243   DEFAULT_wxUSE_LOG=yes
244
245   DEFAULT_wxUSE_GUI=yes
246
247   DEFAULT_wxUSE_ZLIB=no
248   DEFAULT_wxUSE_LIBPNG=no
249   DEFAULT_wxUSE_LIBGIF=no
250   DEFAULT_wxUSE_LIBJPEG=no
251   DEFAULT_wxUSE_ODBC=no
252
253   DEFAULT_wxUSE_FILE=no
254   DEFAULT_wxUSE_TEXTFILE=no
255   DEFAULT_wxUSE_TIMEDATE=no
256   DEFAULT_wxUSE_WAVE=no
257   DEFAULT_wxUSE_INTL=no
258   DEFAULT_wxUSE_CONFIG=no
259   DEFAULT_wxUSE_STREAMS=no
260   DEFAULT_wxUSE_SOCKETS=no
261   DEFAULT_wxUSE_SERIAL=no
262   DEFAULT_wxUSE_JOYSTICK=no
263   DEFAULT_wxUSE_DYNLIB_CLASS=no
264   DEFAULT_wxUSE_LONGLONG=no
265
266   DEFAULT_wxUSE_AFM_FOR_POSTSCRIPT=no
267   DEFAULT_wxUSE_NORMALIZED_PS_FONTS=no
268   DEFAULT_wxUSE_POSTSCRIPT=no
269
270   DEFAULT_wxUSE_X_RESOURCES=no
271   DEFAULT_wxUSE_CLIPBOARD=no
272   DEFAULT_wxUSE_TOOLTIPS=no
273   DEFAULT_wxUSE_DRAG_AND_DROP=no
274   DEFAULT_wxUSE_SPLINES=no
275
276   DEFAULT_wxUSE_MDI_ARCHITECTURE=no
277   DEFAULT_wxUSE_DOC_VIEW_ARCHITECTURE=no
278   DEFAULT_wxUSE_PRINTING_ARCHITECTURE=no
279
280   DEFAULT_wxUSE_PROLOGIO=no
281   DEFAULT_wxUSE_RESOURCES=no
282   DEFAULT_wxUSE_CONSTRAINTS=no
283   DEFAULT_wxUSE_IPC=no
284   DEFAULT_wxUSE_HELP=no
285   DEFAULT_wxUSE_WXTREE=no
286   DEFAULT_wxUSE_METAFILE=no
287
288   DEFAULT_wxUSE_COMMONDLGS=no
289   DEFAULT_wxUSE_DIRDLG=no
290   DEFAULT_wxUSE_TEXTDLG=no
291   DEFAULT_wxUSE_PROGRESSDLG=no
292   DEFAULT_wxUSE_MINIFRAME=no
293   DEFAULT_wxUSE_VALIDATORS=yes
294
295   DEFAULT_wxUSE_ACCEL=no
296   DEFAULT_wxUSE_CARET=no
297   DEFAULT_wxUSE_BMPBUTTON=no
298   DEFAULT_wxUSE_CHECKBOX=no
299   DEFAULT_wxUSE_CHECKLST=no
300   DEFAULT_wxUSE_CHOICE=yes
301   DEFAULT_wxUSE_COMBOBOX=no
302   DEFAULT_wxUSE_GAUGE=no
303   DEFAULT_wxUSE_GRID=no
304   DEFAULT_wxUSE_IMAGLIST=no
305   DEFAULT_wxUSE_LISTBOX=no
306   DEFAULT_wxUSE_LISTCTRL=no
307   DEFAULT_wxUSE_NOTEBOOK=no
308   DEFAULT_wxUSE_RADIOBOX=no
309   DEFAULT_wxUSE_RADIOBTN=no
310   DEFAULT_wxUSE_SASH=no
311   DEFAULT_wxUSE_SCROLLBAR=no
312   DEFAULT_wxUSE_SLIDER=no
313   DEFAULT_wxUSE_SPINBTN=no
314   DEFAULT_wxUSE_SPLITTER=no
315   DEFAULT_wxUSE_STATBMP=no
316   DEFAULT_wxUSE_STATBOX=no
317   DEFAULT_wxUSE_STATLINE=no
318   DEFAULT_wxUSE_STATUSBAR=yes
319   DEFAULT_wxUSE_TABDIALOG=no
320   DEFAULT_wxUSE_TOOLBAR=no
321   DEFAULT_wxUSE_TREECTRL=no
322
323   DEFAULT_wxUSE_UNICODE=no
324   DEFAULT_wxUSE_WCSRTOMBS=no
325 else
326   DEFAULT_wxUSE_THREADS=yes
327
328   DEFAULT_wxUSE_OPTIMISE=yes
329   DEFAULT_wxUSE_PROFILE=no
330   DEFAULT_wxUSE_NO_RTTI=no
331   DEFAULT_wxUSE_NO_EXCEPTIONS=no
332   DEFAULT_wxUSE_DEBUG_FLAG=no
333   DEFAULT_wxUSE_DEBUG_INFO=no
334   DEFAULT_wxUSE_DEBUG_GDB=no
335   DEFAULT_wxUSE_MEM_TRACING=no
336   DEFAULT_wxUSE_DEBUG_CONTEXT=no
337   DEFAULT_wxUSE_DMALLOC=no
338   DEFAULT_wxUSE_APPLE_IEEE=yes
339
340   DEFAULT_wxUSE_LOG=yes
341
342   DEFAULT_wxUSE_GUI=yes
343
344   DEFAULT_wxUSE_ZLIB=yes
345   DEFAULT_wxUSE_LIBPNG=yes
346   DEFAULT_wxUSE_LIBGIF=yes
347   DEFAULT_wxUSE_LIBJPEG=yes
348   DEFAULT_wxUSE_ODBC=no
349
350   DEFAULT_wxUSE_FILE=yes
351   DEFAULT_wxUSE_TEXTFILE=yes
352   DEFAULT_wxUSE_TIMEDATE=yes
353   DEFAULT_wxUSE_WAVE=no
354   DEFAULT_wxUSE_INTL=yes
355   DEFAULT_wxUSE_CONFIG=yes
356   DEFAULT_wxUSE_STREAMS=yes
357   DEFAULT_wxUSE_SOCKETS=yes
358   DEFAULT_wxUSE_SERIAL=yes
359   DEFAULT_wxUSE_JOYSTICK=yes
360   DEFAULT_wxUSE_DYNLIB_CLASS=yes
361   DEFAULT_wxUSE_LONGLONG=no
362
363   DEFAULT_wxUSE_AFM_FOR_POSTSCRIPT=yes
364   DEFAULT_wxUSE_NORMALIZED_PS_FONTS=yes
365   DEFAULT_wxUSE_POSTSCRIPT=yes
366
367   DEFAULT_wxUSE_X_RESOURCES=no
368   DEFAULT_wxUSE_CLIPBOARD=yes
369   DEFAULT_wxUSE_TOOLTIPS=yes
370   DEFAULT_wxUSE_DRAG_AND_DROP=yes
371   DEFAULT_wxUSE_SPLINES=yes
372
373   DEFAULT_wxUSE_MDI_ARCHITECTURE=yes
374   DEFAULT_wxUSE_DOC_VIEW_ARCHITECTURE=yes
375   DEFAULT_wxUSE_PRINTING_ARCHITECTURE=yes
376
377   DEFAULT_wxUSE_PROLOGIO=yes
378   DEFAULT_wxUSE_RESOURCES=yes
379   DEFAULT_wxUSE_CONSTRAINTS=yes
380   DEFAULT_wxUSE_IPC=yes
381   DEFAULT_wxUSE_HELP=yes
382   DEFAULT_wxUSE_WXTREE=yes
383   DEFAULT_wxUSE_METAFILE=yes
384
385   DEFAULT_wxUSE_COMMONDLGS=yes
386   DEFAULT_wxUSE_DIRDLG=yes
387   DEFAULT_wxUSE_TEXTDLG=yes
388   DEFAULT_wxUSE_PROGRESSDLG=yes
389   DEFAULT_wxUSE_MINIFRAME=yes
390   DEFAULT_wxUSE_VALIDATORS=yes
391
392   DEFAULT_wxUSE_ACCEL=yes
393   DEFAULT_wxUSE_CARET=yes
394   DEFAULT_wxUSE_BMPBUTTON=yes
395   DEFAULT_wxUSE_CHECKBOX=yes
396   DEFAULT_wxUSE_CHECKLST=yes
397   DEFAULT_wxUSE_CHOICE=yes
398   DEFAULT_wxUSE_COMBOBOX=yes
399   DEFAULT_wxUSE_GAUGE=yes
400   DEFAULT_wxUSE_GRID=yes
401   DEFAULT_wxUSE_IMAGLIST=yes
402   DEFAULT_wxUSE_LISTBOX=yes
403   DEFAULT_wxUSE_LISTCTRL=yes
404   DEFAULT_wxUSE_NOTEBOOK=yes
405   DEFAULT_wxUSE_RADIOBOX=yes
406   DEFAULT_wxUSE_RADIOBTN=yes
407   DEFAULT_wxUSE_SASH=yes
408   DEFAULT_wxUSE_SCROLLBAR=yes
409   DEFAULT_wxUSE_SLIDER=yes
410   DEFAULT_wxUSE_SPINBTN=yes
411   DEFAULT_wxUSE_SPLITTER=yes
412   DEFAULT_wxUSE_STATBMP=yes
413   DEFAULT_wxUSE_STATBOX=yes
414   DEFAULT_wxUSE_STATLINE=yes
415   DEFAULT_wxUSE_STATUSBAR=yes
416   DEFAULT_wxUSE_TABDIALOG=no
417   DEFAULT_wxUSE_TOOLBAR=yes
418   DEFAULT_wxUSE_TREECTRL=yes
419
420   DEFAULT_wxUSE_UNICODE=no
421   DEFAULT_wxUSE_WCSRTOMBS=no
422 fi
423
424 dnl WX_ARG_WITH should be used to select whether an external package will be
425 dnl used or not, to configure compile-time features of this package itself,
426 dnl use WX_ARG_ENABLE instead
427
428 dnl ============================
429 dnl external package dependecies
430 dnl ============================
431
432 dnl these options use AC_ARG_WITH and not WX_ARG_WITH on purpose - we cache
433 dnl these values manually
434 for toolkit in `echo $ALL_TOOLKITS`; do
435   LINE=`grep "wxUSE_$toolkit" ${wx_arg_cache_file}`
436   if test "x$LINE" != x ; then
437     has_toolkit_in_cache=1
438     eval "DEFAULT_$LINE"
439     eval "CACHE_$toolkit=1"
440   fi
441 done
442
443 AC_ARG_WITH(gtk,           [  --with-gtk              use GTK+], [wxUSE_GTK="$withval" CACHE_GTK=1 TOOLKIT_GIVEN=1])
444 AC_ARG_WITH(motif,         [  --with-motif            use Motif/Lesstif], [wxUSE_MOTIF="$withval" CACHE_MOTIF=1 TOOLKIT_GIVEN=1])
445 AC_ARG_WITH(wine,          [  --with-wine             use WINE], [wxUSE_WINE="$withval" CACHE_WINE=1 TOOLKIT_GIVEN=1])
446 AC_ARG_WITH(cygwin,        [  --with-cygwin           use Cygwin for MS-Windows], [wxUSE_CYGWIN="$withval" CACHE_CYGWIN=1 TOOLKIT_GIVEN=1])
447 AC_ARG_WITH(mingw,         [  --with-mingw            use GCC Minimal MS-Windows], [wxUSE_MINGW="$withval" CACHE_MINGW=1 TOOLKIT_GIVEN=1])
448
449 AC_ARG_WITH(gtk-prefix,    [  --with-gtk-prefix=PFX   Prefix where GTK is installed],
450             gtk_config_prefix="$withval", gtk_config_prefix="")
451 AC_ARG_WITH(gtk-exec-prefix, [  --with-gtk-exec-prefix=PFX  Exec prefix where GTK is installed],
452             gtk_config_exec_prefix="$withval", gtk_config_exec_prefix="")
453
454 WX_ARG_WITH(dmalloc,       [  --with-dmalloc          use dmalloc library (www.letters.com/dmalloc)], wxUSE_DMALLOC)
455 WX_ARG_WITH(zlib,          [  --with-zlib             use zlib for LZW compression], wxUSE_ZLIB)
456 WX_ARG_WITH(libpng,        [  --with-libpng           use libpng (PNG image format)], wxUSE_LIBPNG)
457 WX_ARG_WITH(libgif,        [  --with-libgif           use libgif (GIF file format)], wxUSE_LIBGIF)
458 WX_ARG_WITH(libjpeg,       [  --with-libjpeg          use libjpeg (JPEG file format)], wxUSE_LIBJPEG)
459 WX_ARG_WITH(opengl,        [  --with-opengl           use OpenGL (or Mesa)], wxUSE_OPENGL)
460 WX_ARG_WITH(odbc,          [  --with-odbc             use the IODBC and wxODBC classes], wxUSE_ODBC)
461
462 dnl ====================
463 dnl compile-time options
464 dnl ====================
465
466 dnl ---------------------------------------------------------------------------
467 dnl compile options
468 dnl ---------------------------------------------------------------------------
469
470 WX_ARG_ENABLE(optimise,    [  --enable-optimise       create optimised code], wxUSE_OPTIMISE)
471 WX_ARG_ENABLE(debug,       [  --enable-debug          same as debug_flag and debug_info], wxUSE_DEBUG)
472
473 if test "$wxUSE_DEBUG" = "yes"; then
474   DEFAULT_wxUSE_DEBUG_FLAG=yes
475   DEFAULT_wxUSE_DEBUG_INFO=yes
476 elif test "$wxUSE_DEBUG" = "no"; then
477   DEFAULT_wxUSE_DEBUG_FLAG=no
478   DEFAULT_wxUSE_DEBUG_INFO=no
479 fi
480
481 WX_ARG_ENABLE(debug_flag,    [  --enable-debug_flag     set __WXDEBUG__ flag (recommended for developers!)], wxUSE_DEBUG_FLAG)
482 WX_ARG_ENABLE(debug_info,    [  --enable-debug_info     create code with debugging information], wxUSE_DEBUG_INFO)
483 WX_ARG_ENABLE(debug_gdb,     [  --enable-debug_gdb      create code with extra GDB debugging information], wxUSE_DEBUG_GDB)
484 WX_ARG_ENABLE(debug_cntxt,   [  --enable-debug_cntxt    use wxDebugContext], wxUSE_DEBUG_CONTEXT)
485 WX_ARG_ENABLE(mem_tracing,   [  --enable-mem_tracing    create code with memory tracing], wxUSE_MEM_TRACING)
486 WX_ARG_ENABLE(profile,       [  --enable-profile        create code with profiling information], wxUSE_PROFILE)
487 WX_ARG_ENABLE(no_rtti,       [  --enable-no_rtti        create code without RTTI information], wxUSE_NO_RTTI)
488 WX_ARG_ENABLE(no_exceptions, [  --enable-no_exceptions  create code without exceptions information], wxUSE_NO_EXCEPTIONS)
489
490 dnl ---------------------------------------------------------------------------
491 dnl --disable-gui will build only non-GUI part of wxWindows
492 dnl
493 dnl NB: this is still in testing stage, don't use if you don't know what you're
494 dnl     doing
495 dnl ---------------------------------------------------------------------------
496
497 WX_ARG_ENABLE(gui,         [  --enable-gui            use GUI classes], wxUSE_GUI)
498
499 dnl ---------------------------------------------------------------------------
500 dnl (small) optional non GUI classes
501 dnl ---------------------------------------------------------------------------
502
503 WX_ARG_ENABLE(intl,        [  --enable-intl           use internationalization system], wxUSE_INTL)
504 WX_ARG_ENABLE(config,      [  --enable-config         use wxConfig (and derived) classes], wxUSE_CONFIG)
505 WX_ARG_ENABLE(sockets,     [  --enable-sockets        use socket/network classes], wxUSE_SOCKETS)
506 WX_ARG_ENABLE(ipc,         [  --enable-ipc            use interprocess communication (wxSocket etc.)], wxUSE_IPC)
507 WX_ARG_ENABLE(apple_ieee,  [  --enable-apple_ieee     use the Apple IEEE codec], wxUSE_APPLE_IEEE)
508 WX_ARG_ENABLE(timedate,    [  --enable-timedate       use date/time classes], wxUSE_TIMEDATE)
509 WX_ARG_ENABLE(wave,        [  --enable-wave           use wxWave class], wxUSE_WAVE)
510 WX_ARG_ENABLE(fraction,    [  --enable-fraction       use wxFraction class], wxUSE_FRACTION)
511 WX_ARG_ENABLE(dynlib,      [  --enable-dynlib         use wxLibrary class for DLL loading], wxUSE_DYNLIB_CLASS)
512 WX_ARG_ENABLE(longlong,    [  --enable-longlong       use wxLongLong class], wxUSE_LONGLONG)
513 WX_ARG_ENABLE(log,         [  --enable-log            use logging system], wxUSE_LOG)
514 WX_ARG_ENABLE(streams,     [  --enable-streams        use wxStream etc classes], wxUSE_STREAMS)
515 WX_ARG_ENABLE(file,        [  --enable-file           use wxFile classes], wxUSE_FILE)
516 WX_ARG_ENABLE(textfile,    [  --enable-textfile       use wxTextFile classes], wxUSE_TEXTFILE)
517 WX_ARG_ENABLE(unicode,     [  --enable-unicode        compile wxString with Unicode support], wxUSE_UNICODE)
518 WX_ARG_ENABLE(wcsrtombs,   [  --enable-wcsrtombs      use wcsrtombs instead of buggy (GNU libc1/Linux libc5) wcstombs], wxUSE_WCSRTOMBS)
519 WX_ARG_ENABLE(wxprintfv,   [  --enable-wxprintfv      use wxWindows implementation of vprintf()], wxUSE_EXPERIMENTAL_PRINTF)
520 WX_ARG_ENABLE(joystick,    [  --enable-joystick       compile in joystick support (Linux only)], wxUSE_JOYSTICK)
521
522 dnl ---------------------------------------------------------------------------
523 dnl "big" options (i.e. those which change a lot of things throughout the library)
524 dnl ---------------------------------------------------------------------------
525
526 WX_ARG_ENABLE(threads,     [  --enable-threads        use threads], wxUSE_THREADS)
527 WX_ARG_ENABLE(serial,      [  --enable-serial         use class serialization], wxUSE_SERIAL)
528
529 dnl ---------------------------------------------------------------------------
530 dnl "big" GUI options
531 dnl ---------------------------------------------------------------------------
532
533 WX_ARG_ENABLE(docview,     [  --enable-docview        use document view architecture], wxUSE_DOC_VIEW_ARCHITECTURE)
534 WX_ARG_ENABLE(help,        [  --enable-help           use help (using external browser at present)], wxUSE_HELP)
535 WX_ARG_ENABLE(constraints, [  --enable-constraints    use layout-constraints system], wxUSE_CONSTRAINTS)
536 WX_ARG_ENABLE(printarch,   [  --enable-printarch      use printing architecture], wxUSE_PRINTING_ARCHITECTURE)
537 WX_ARG_ENABLE(mdi,         [  --enable-mdi            use multiple document interface architecture], wxUSE_MDI_ARCHITECTURE)
538
539 dnl ---------------------------------------------------------------------------
540 dnl PostScript options
541 dnl ---------------------------------------------------------------------------
542 WX_ARG_ENABLE(postscript,  [  --enable-postscript     use wxPostscriptDC device context (default for gtk+)], wxUSE_POSTSCRIPT)
543
544 dnl VZ: these options seem to be always on, if someone wants to change it please do
545 dnl WX_ARG_ENABLE(PS-normalized,    [  --enable-PS-normalized  use normalized PS fonts], dnl             wxUSE_NORMALIZED_PS_FONTS)
546 dnl WX_ARG_ENABLE(afmfonts,        [  --enable-afmfonts       use Adobe Font Metric Font table], dnl             wxUSE_AFM_FOR_POSTSCRIPT)
547
548 dnl ---------------------------------------------------------------------------
549 dnl resources
550 dnl ---------------------------------------------------------------------------
551 WX_ARG_ENABLE(prologio,    [  --enable-prologio       use Prolog IO library], wxUSE_PROLOGIO)
552 WX_ARG_ENABLE(resources,   [  --enable-resources      use wxWindows resources], wxUSE_RESOURCES)
553
554 WX_ARG_ENABLE(xresources,  [  --enable-xresources     use X resources for save (default for gtk+)], wxUSE_X_RESOURCES)
555
556 dnl ---------------------------------------------------------------------------
557 dnl IPC &c
558 dnl ---------------------------------------------------------------------------
559
560 WX_ARG_ENABLE(clipboard,   [  --enable-clipboard      use wxClipboard classes], wxUSE_CLIPBOARD)
561 WX_ARG_ENABLE(dnd,         [  --enable-dnd            use Drag'n'Drop classes], wxUSE_DRAG_AND_DROP)
562
563 dnl TODO: doesn't work yet
564 WX_ARG_ENABLE(wxtree,      [  --enable-wxtree         make wxTree library], wxUSE_WXTREE)
565
566 dnl ---------------------------------------------------------------------------
567 dnl optional GUI controls (in alphabetical order except the first one)
568 dnl ---------------------------------------------------------------------------
569
570 WX_ARG_ENABLE(controls,    [  --enable-controls       use all usual controls], wxUSE_CONTROLS)
571
572 dnl even with --enable-controls, some may be disabled by giving
573 dnl --disable-<control> later on the command line - but by default all will be
574 dnl used (and vice versa)
575 if test "$wxUSE_CONTROLS" = "yes"; then
576   DEFAULT_wxUSE_ACCEL=yes
577   DEFAULT_wxUSE_CARET=yes
578   DEFAULT_wxUSE_COMBOBOX=yes
579   DEFAULT_wxUSE_BMPBUTTON=yes
580   DEFAULT_wxUSE_CHECKBOX=yes
581   DEFAULT_wxUSE_CHECKLISTBOX=yes
582   DEFAULT_wxUSE_CHOICE=yes
583   DEFAULT_wxUSE_GAUGE=yes
584   DEFAULT_wxUSE_GRID=yes
585   DEFAULT_wxUSE_IMAGLIST=yes
586   DEFAULT_wxUSE_LISTBOX=yes
587   DEFAULT_wxUSE_LISTCTRL=yes
588   DEFAULT_wxUSE_NOTEBOOK=yes
589   DEFAULT_wxUSE_RADIOBOX=yes
590   DEFAULT_wxUSE_RADIOBTN=yes
591   DEFAULT_wxUSE_SASH=yes
592   DEFAULT_wxUSE_SCROLLBAR=yes
593   DEFAULT_wxUSE_SLIDER=yes
594   DEFAULT_wxUSE_SPINBTN=yes
595   DEFAULT_wxUSE_SPLITTER=yes
596   DEFAULT_wxUSE_STATBMP=yes
597   DEFAULT_wxUSE_STATBOX=yes
598   DEFAULT_wxUSE_STATLINE=yes
599   DEFAULT_wxUSE_STATUSBAR=yes
600   DEFAULT_wxUSE_TAB_DIALOG=yes
601   DEFAULT_wxUSE_TOOLBAR=yes
602   DEFAULT_wxUSE_TOOLTIPS=yes
603   DEFAULT_wxUSE_TREECTRL=yes
604 elif test "$wxUSE_CONTROLS" = "no"; then
605   DEFAULT_wxUSE_ACCEL=no
606   DEFAULT_wxUSE_CARET=no
607   DEFAULT_wxUSE_COMBOBOX=no
608   DEFAULT_wxUSE_BMPBUTTON=no
609   DEFAULT_wxUSE_CHECKBOX=no
610   DEFAULT_wxUSE_CHECKLISTBOX=no
611   DEFAULT_wxUSE_CHOICE=no
612   DEFAULT_wxUSE_GAUGE=no
613   DEFAULT_wxUSE_GRID=no
614   DEFAULT_wxUSE_IMAGLIST=no
615   DEFAULT_wxUSE_LISTBOX=no
616   DEFAULT_wxUSE_LISTCTRL=no
617   DEFAULT_wxUSE_NOTEBOOK=no
618   DEFAULT_wxUSE_RADIOBOX=no
619   DEFAULT_wxUSE_RADIOBTN=no
620   DEFAULT_wxUSE_SASH=no
621   DEFAULT_wxUSE_SCROLLBAR=no
622   DEFAULT_wxUSE_SLIDER=no
623   DEFAULT_wxUSE_SPINBTN=no
624   DEFAULT_wxUSE_SPLITTER=no
625   DEFAULT_wxUSE_STATBMP=no
626   DEFAULT_wxUSE_STATBOX=no
627   DEFAULT_wxUSE_STATLINE=no
628   DEFAULT_wxUSE_STATUSBAR=no
629   DEFAULT_wxUSE_TAB_DIALOG=no
630   DEFAULT_wxUSE_TOOLBAR=no
631   DEFAULT_wxUSE_TOOLTIPS=no
632   DEFAULT_wxUSE_TREECTRL=no
633 fi
634
635 WX_ARG_ENABLE(accel,       [  --enable-accel          use accelerators], wxUSE_ACCEL)
636 WX_ARG_ENABLE(caret,       [  --enable-caret          use wxCaret class], wxUSE_CARET)
637 WX_ARG_ENABLE(bmpbutton,   [  --enable-bmpbutton      use wxBitmapButton class], wxUSE_BMPBUTTON)
638 WX_ARG_ENABLE(checkbox,    [  --enable-checkbox       use wxCheckBox class], wxUSE_CHECKBOX)
639 WX_ARG_ENABLE(checklst,    [  --enable-checklst       use wxCheckListBox (listbox with checkboxes) class], wxUSE_CHECKLST)
640 WX_ARG_ENABLE(choice,      [  --enable-choice         use wxChoice class], wxUSE_CHOICE)
641 WX_ARG_ENABLE(combobox,    [  --enable-combobox       use wxComboBox classes], wxUSE_COMBOBOX)
642 WX_ARG_ENABLE(gauge,       [  --enable-gauge          use wxGauge class], wxUSE_GAUGE)
643 WX_ARG_ENABLE(grid,        [  --enable-grid           use wxGrid class], wxUSE_GRID)
644 WX_ARG_ENABLE(imaglist,    [  --enable-imaglist       use wxImageList class], wxUSE_IMAGLIST)
645 WX_ARG_ENABLE(listbox,     [  --enable-listbox        use wxListBox class], wxUSE_LISTBOX)
646 WX_ARG_ENABLE(listctrl,    [  --enable-listctrl       use wxListCtrl class], wxUSE_LISTCTRL)
647 WX_ARG_ENABLE(notebook,    [  --enable-notebook       use wxNotebook class], wxUSE_NOTEBOOK)
648 WX_ARG_ENABLE(radiobox,    [  --enable-radiobox       use wxRadioBox class], wxUSE_RADIOBOX)
649 WX_ARG_ENABLE(radiobtn,    [  --enable-radiobtn       use wxRadioButton class], wxUSE_RADIOBTN)
650 WX_ARG_ENABLE(sash,        [  --enable-sash           use wxSashWindow class], wxUSE_SASH)
651 WX_ARG_ENABLE(scrollbar,   [  --enable-scrollbar      use wxScrollBar class and scrollable windows], wxUSE_SCROLLBAR)
652 WX_ARG_ENABLE(slider,      [  --enable-slider         use wxSlider class], wxUSE_SLIDER)
653 WX_ARG_ENABLE(spinbtn,     [  --enable-spinbtn        use wxSpinButton class], wxUSE_SPINBTN)
654 WX_ARG_ENABLE(splitter,    [  --enable-splitter       use wxSplitterWindow class], wxUSE_SPLITTER)
655 WX_ARG_ENABLE(statbmp,     [  --enable-statbmp        use wxStaticBitmap class], wxUSE_STATBMP)
656 WX_ARG_ENABLE(statbox,     [  --enable-statbox        use wxStaticBox class], wxUSE_STATBOX)
657 WX_ARG_ENABLE(statline,    [  --enable-statline       use wxStaticLine class], wxUSE_STATLINE)
658 WX_ARG_ENABLE(statusbar,   [  --enable-statusbar      use wxStatusBar class], wxUSE_STATUSBAR)
659 WX_ARG_ENABLE(tabdialog,   [  --enable-tabdialog      use wxTabControl class], wxUSE_TABDIALOG)
660 WX_ARG_ENABLE(toolbar,     [  --enable-toolbar        use wxToolBar class], wxUSE_TOOLBAR)
661 WX_ARG_ENABLE(treectrl,    [  --enable-treectrl       use wxTreeCtrl class], wxUSE_TREECTRL)
662
663 dnl ---------------------------------------------------------------------------
664 dnl misc GUI options
665 dnl ---------------------------------------------------------------------------
666
667 WX_ARG_ENABLE(commondlg,   [  --enable-commondlg      use common dialogs (wxDirDialog, wxProgressDialog, wxTextDialog, ...)], wxUSE_COMMONDLGS)
668 WX_ARG_ENABLE(dirdlg,      [  --enable-dirdlg         use wxDirDialog], wxUSE_DIRDLG)
669 WX_ARG_ENABLE(textdlg,     [  --enable-textdlg        use wxTextDialog], wxUSE_TEXTDLG)
670 WX_ARG_ENABLE(progressdlg, [  --enable-progressdlg    use wxProgressDialog], wxUSE_PROGRESSDLG)
671 WX_ARG_ENABLE(miniframe,   [  --enable-miniframe      use wxMiniFrame class], wxUSE_MINIFRAME)
672 WX_ARG_ENABLE(tooltips,    [  --enable-tooltips       use wxToolTip class], wxUSE_TOOLTIPS)
673 WX_ARG_ENABLE(splines,     [  --enable-splines        use spline drawing code], wxUSE_SPLINES)
674 WX_ARG_ENABLE(validators,  [  --enable-validators     use wxValidator and derived classes], wxUSE_VALIDATORS)
675
676 dnl cache the options values before (may be) aborting below
677 WX_ARG_CACHE_FLUSH
678
679 dnl check that no more than one toolkit is given and that if none are given that
680 dnl we have a default one
681
682 AC_MSG_CHECKING(for toolkit)
683
684 if test "$TOOLKIT_GIVEN" = 1; then
685   dnl convert "yes" to 1 and "no" to 0
686   for toolkit in `echo $ALL_TOOLKITS`; do
687     var=wxUSE_$toolkit
688     eval "value=\$${var}"
689     eval "$var=`echo \$value | sed -e "s/yes/1/" -e "s/no/0/"`"
690   done
691 else
692   dnl try to guess the most apropriate toolkit for this platform
693   for toolkit in `echo $ALL_TOOLKITS`; do
694     if test "$has_toolkit_in_cache" != 1; then
695       var=DEFAULT_DEFAULT_wxUSE_$toolkit
696     else
697       var=DEFAULT_wxUSE_$toolkit
698     fi
699     eval "wxUSE_$toolkit=\$${var}"
700   done
701 fi
702
703 dnl we suppose that expr exists...
704 NUM_TOOLKITS=`expr ${wxUSE_GTK:-0} + ${wxUSE_MOTIF:-0} + ${wxUSE_WINE:-0} + ${wxUSE_MINGW:-0} + ${wxUSE_CYGWIN:-0}`
705
706 case "$NUM_TOOLKITS" in
707   1)
708   ;;
709   0)
710     AC_MSG_ERROR(Please specify a toolkit - cannot determine the default for ${host})
711   ;;
712   *)
713     AC_MSG_ERROR(Please specify at most one toolkit (may be some are cached?))
714 esac
715
716 dnl cache the wxUSE_<TOOLKIT> values too
717 for toolkit in `echo $ALL_TOOLKITS`; do
718   var=wxUSE_$toolkit
719   eval "value=\$${var}"
720   if test "x$value" != x; then
721     cache_var=CACHE_$toolkit
722     eval "cache=\$${cache_var}"
723     if test "$cache" = 1; then
724       echo "$var=$value" >> ${wx_arg_cache_file}
725     fi
726     if test "$value" = 1; then
727       AC_MSG_RESULT(`echo $toolkit | tr [[A-Z]] [[a-z]]`)
728     fi
729   fi
730 done
731
732 dnl ---------------------------------------------------------------------------
733 dnl Checks for programs
734 dnl ---------------------------------------------------------------------------
735
736 dnl flush the cache because checking for programs might abort
737 AC_CACHE_SAVE
738
739 dnl cross-compiling support: we're cross compiling if the build system is
740 dnl different from the target one (assume host and target be always the same)
741 if eval "test $host != $build"; then
742   if eval "test $build != NONE"; then
743     CC="$build-gcc"
744     CXX="$build-g++"
745     RANLIB="$build-ranlib"
746     NM="$build-nm"
747   fi
748 fi
749
750 dnl C-compiler checks
751 dnl   defines CC with the compiler to use
752 dnl   defines GCC with yes if using gcc
753 dnl   defines GCC empty if not using gcc
754 dnl   defines CFLAGS
755 AC_PROG_CC
756
757 CFLAGS=`echo "$CFLAGS" | sed 's/-g//g'`
758
759 dnl what is the c-preprocessor
760 dnl   defines CPP with the c-preprocessor
761 AC_PROG_CPP
762
763 dnl is -traditional needed for correct compilations
764 dnl   adds -traditional for gcc if needed
765 AC_PROG_GCC_TRADITIONAL
766
767 AC_LANG_SAVE
768 AC_LANG_CPLUSPLUS
769
770 dnl C++-compiler checks
771 dnl   defines CXX with the compiler to use
772 dnl   defines GXX with yes if using gxx
773 dnl   defines GXX empty if not using gxx
774 dnl   defines CXXFLAGS
775 AC_PROG_CXX
776
777 dnl what is the C++-preprocessor
778 dnl   defines CXXCPP with the C++-preprocessor
779 AC_PROG_CXXCPP
780
781 CXXFLAGS=`echo "$CXXFLAGS" | sed 's/-g//g'`
782
783 AC_LANG_RESTORE
784
785 dnl ranlib command
786 dnl   defines RANLIB with the appropriate command
787 AC_PROG_RANLIB
788
789 dnl ar command
790 dnl   defines AR with the appropriate command
791 AC_CHECK_PROG(AR, ar, ar, ar)
792
793 dnl install checks
794 dnl   defines INSTALL with the appropriate command
795 AC_PROG_INSTALL
796
797 dnl strip command
798 dnl   defines STRIP as strip or nothing if not found
799 AC_CHECK_PROG(STRIP, strip, strip, true)
800
801 dnl check if VPATH works
802 AC_MSG_CHECKING("make for VPATH support")
803 dnl create Makefile
804 cat - << EOF > confMake
805 check : file
806         cp \$? \$@
807         cp \$? final_file
808 EOF
809
810 if test ! -d sub ; then
811   mkdir sub
812 fi
813 echo dummy > sub/file
814 ${MAKE-make} -f confMake VPATH=sub 2> config.log > /dev/null
815 RESULT=$?
816 rm -f sub/file check final_file confMake
817 rmdir sub
818 if test "$RESULT" = 0; then
819   AC_MSG_RESULT(yes)
820 else
821   AC_MSG_RESULT(no)
822   AC_MSG_ERROR(
823 You need a make-utility that is able to use the variable
824 VPATH correctly.
825 If your version of make does not support VPATH correctly,
826 please install GNU-make (possibly as gmake), and start
827 configure with the following command:
828 export MAKE=gmake; ./configure  for sh-type shells
829 setenv MAKE gmake; ./configure  for csh-type shells
830 Also please do remember to use gmake in this case every time
831 you are trying to compile.
832 )
833 fi
834
835 dnl YACC checks
836 dnl   defines YACC with the appropriate command
837 AC_PROG_YACC
838
839 dnl LEX checks
840 dnl   defines LEX with the appropriate command
841 dnl   defines LEXLIB with the appropriate library
842 dnl this AM version (don't use AC_PROG_LEX!) also
843 dnl   defines YYTEXT_POINTER  if yytext is char*
844 dnl   defines LEX_OUTPUT_ROOT as to the base of the
845 dnl                           filename output by the lexer
846 AM_PROG_LEX
847
848 dnl needed for making link to setup.h
849 AC_PROG_LN_S
850
851 dnl without this (which just means that we use WXDLLEXPORT) libtool won't build
852 dnl DLLs under Win32.
853 dnl AC_LIBTOOL_WIN32_DLL
854
855 dnl disable static libs by default, this takes too much time...
856 AM_DISABLE_STATIC
857 AM_PROG_LIBTOOL
858
859 dnl ---------------------------------------------------------------------------
860 dnl Define search path for includes and libraries: all headers and libs will be
861 dnl looked for in all directories of this path
862 dnl ---------------------------------------------------------------------------
863
864 SEARCH_INCLUDE="\
865     /usr/Motif-1.2/include    \
866     /usr/Motif-2.1/include    \
867                               \
868     /usr/include/Motif1.2     \
869     /opt/xpm/include/X11      \
870                               \
871     /usr/Motif1.2/include     \
872     /usr/dt/include           \
873     /usr/include/Xm           \
874                               \
875     /usr/X11R6/include        \
876     /usr/X11R5/include        \
877     /usr/X11R4/include        \
878                               \
879     /usr/X11R6/lib            \
880     /usr/X11R5/lib            \
881     /usr/X11R4/lib            \
882                               \
883     /usr/include/X11R6        \
884     /usr/include/X11R5        \
885     /usr/include/X11R4        \
886                               \
887     /usr/local/X11R6/include  \
888     /usr/local/X11R5/include  \
889     /usr/local/X11R4/include  \
890                               \
891     /usr/local/include/X11R6  \
892     /usr/local/include/X11R5  \
893     /usr/local/include/X11R4  \
894                               \
895     /usr/X11/include          \
896     /usr/include/X11          \
897     /usr/local/X11/include    \
898     /usr/local/include/X11    \
899                               \
900     /usr/X386/include         \
901     /usr/x386/include         \
902     /usr/XFree86/include/X11  \
903                               \
904     /usr/include              \
905     /usr/local/include        \
906                               \
907     /usr/include/gtk          \
908     /usr/local/include/gtk    \
909     /usr/include/glib         \
910     /usr/local/include/glib   \
911                               \
912     /usr/include/qt           \
913     /usr/local/include/qt     \
914                               \
915     /usr/include/windows      \
916     /usr/include/wine         \
917     /usr/local/include/wine   \
918                               \
919     /usr/unsupported/include  \
920     /usr/athena/include       \
921     /usr/local/x11r5/include  \
922     /usr/lpp/Xamples/include  \
923                               \
924     /usr/openwin/include      \
925     /usr/openwin/share/include \
926     "
927
928 SEARCH_LIB="`echo "$SEARCH_INCLUDE" | sed s/include/lib/g` "
929
930 dnl ------------------------------------------------------------------------
931 dnl Check for libraries
932 dnl ------------------------------------------------------------------------
933
934 dnl flush the cache because checking for libraries below might abort
935 AC_CACHE_SAVE
936
937 dnl ----------------------------------------------------------------
938 dnl search for toolkit (widget sets)
939 dnl ----------------------------------------------------------------
940
941 TOOLKIT=
942 TOOLKIT_INCLUDE=
943
944 GUI_TK_LIBRARY=
945 GUI_TK_LINK=
946
947 WXGTK12=
948
949 WXWINE=
950
951 if test "$wxUSE_CYGWIN" = 1; then
952   AC_MSG_CHECKING(for Windows headers)
953   WX_PATH_FIND_INCLUDES($SEARCH_INCLUDE, windows.h)
954
955   if test "$ac_find_includes" != "" ; then
956     AC_MSG_RESULT(found $ac_find_includes)
957     TOOLKIT_INCLUDE="$TOOLKIT_INCLUDE -I$ac_find_includes"
958   else
959     AC_MSG_RESULT(no)
960     AC_MSG_ERROR(please set CFLAGS to contain the location of windows.h)
961   fi
962
963   TOOLKIT=MSW
964 fi
965
966 if test "$wxUSE_GTK" = 1; then
967   dnl avoid calling AM_PATH_GTK twice, so check first for the newer version and
968   dnl only then, if it wasn't found, for an older one
969   AM_PATH_GTK(1.2.0, WXGTK12=1)
970   if test "$WXGTK12" != 1; then
971     AM_PATH_GTK(1.0.0, , AC_MSG_ERROR(Is gtk-config in path and GTK+ is version 1.2.X or 1.0.X?))
972   fi
973
974   TOOLKIT_INCLUDE="$GTK_CFLAGS"
975   GUI_TK_LIBRARY="$GTK_LIBS"
976   TOOLKIT=GTK
977 fi
978
979 if test "$wxUSE_WINE" = 1; then
980     AC_MSG_CHECKING(for WINE includes)
981     WX_PATH_FIND_INCLUDES($SEARCH_INCLUDE, windows.h)
982     if test "$ac_find_includes" != "" ; then
983         AC_MSG_RESULT(found $ac_find_includes)
984         TOOLKIT_INCLUDE="$TOOLKIT_INCLUDE -I$ac_find_includes"
985     else
986         AC_MSG_RESULT(no)
987         AC_MSG_ERROR(please set CFLAGS to contain the location of windows.h)
988     fi
989
990     XPM_LINK=""
991     AC_MSG_CHECKING(for Xpm library)
992     WX_PATH_FIND_LIBRARIES($SEARCH_LIB,Xpm)
993     if test "$ac_find_libraries" != "" ; then
994         GUI_TK_LIBRARY="-L$ac_find_libraries"
995         XPM_LINK="-lXpm"
996         AC_DEFINE(wxHAVE_LIB_XPM)
997         AC_MSG_RESULT(found at $ac_find_libraries)
998     else
999         AC_MSG_RESULT(no)
1000         AC_MSG_WARN(library will be compiled without support for images in XPM format)
1001     fi
1002     
1003     MESA_LINK=""
1004     AC_MSG_CHECKING(for Mesa library)
1005     WX_PATH_FIND_LIBRARIES($SEARCH_LIB,MesaGL)
1006     if test "$ac_find_libraries" != "" ; then
1007         GUI_TK_LIBRARY="$GUI_TK_LIBRARY -L$ac_find_libraries"
1008         MESA_LINK="-lMesaGL"
1009         AC_MSG_RESULT(found at $ac_find_libraries)
1010     else
1011         AC_MSG_ERROR(no)
1012     fi
1013
1014     GUI_TK_LINK="-lwine $MESA_LINK $XPM_LINK -lXxf86dga -lXxf86vm -lSM -lICE -lXext -lXmu -lX11 -lncurses -ldl -lm"
1015     GUI_TK_LIBRARY="$GUI_TK_LIBRARY $GUI_TK_LINK"
1016     WXWINE=1
1017     TOOLKIT=MSW
1018     LTLIBOBJS="$LTLIBOBJS winestub.lo"
1019 fi
1020
1021 if test "$wxUSE_MOTIF" = 1; then
1022     dnl find the X11 include and library files
1023     dnl   defines x_includes and x_libraries
1024     AC_PATH_XTRA
1025
1026     if test "$no_x" = "yes"; then
1027       AC_MSG_ERROR(X11 libraries not found, aborting)
1028     fi
1029
1030     TOOLKIT_INCLUDE="$X_CFLAGS"
1031     GUI_TK_LIBRARY="$X_LIBS"
1032
1033     AC_MSG_CHECKING(for Motif/Lesstif includes)
1034     WX_PATH_FIND_INCLUDES($SEARCH_INCLUDE, Xm/Xm.h)
1035     if test "$ac_find_includes" != "" ; then
1036         AC_MSG_RESULT(found $ac_find_includes)
1037     else
1038         AC_MSG_RESULT(no)
1039         AC_MSG_ERROR(please set CFLAGS to contain the location of Xm/Xm.h)
1040     fi
1041
1042     AC_MSG_CHECKING(for Motif/Lesstif library)
1043     WX_PATH_FIND_LIBRARIES($SEARCH_LIB, Xm)
1044     if test "$ac_find_libraries" != "" ; then
1045         WX_INCLUDE_PATH_EXIST($ac_find_includes, $TOOLKIT_INCLUDE)
1046         WX_LINK_PATH_EXIST($ac_find_libraries, $GUI_TK_LIBRARY)
1047
1048         CHECK_LINK="$GUI_TK_LIBRARY $ac_path_to_link"
1049         TOOLKIT_INCLUDE="$TOOLKIT_INCLUDE $ac_path_to_include"
1050         AC_MSG_RESULT(found at $ac_find_libraries)
1051     else
1052         AC_MSG_RESULT(no)
1053         AC_MSG_ERROR(please set LDFLAGS to contain the location of libXm)
1054     fi
1055
1056     AC_MSG_CHECKING(for Xt library)
1057     WX_PATH_FIND_LIBRARIES($SEARCH_LIB,Xt)
1058     if test "$ac_find_libraries" != "" ; then
1059         WX_LINK_PATH_EXIST($ac_find_libraries,$GUI_TK_LIBRARY)
1060         CHECK_LINK="$GUI_TK_LIBRARY $ac_path_to_link"
1061         AC_MSG_RESULT(found at $ac_find_libraries)
1062     else
1063         AC_MSG_RESULT(no)
1064         AC_MSG_ERROR(please set LDFLAGS to contain the location of libXt)
1065     fi
1066
1067     XPM_LINK=""
1068     AC_MSG_CHECKING(for Xpm library)
1069     WX_PATH_FIND_LIBRARIES($SEARCH_LIB,Xpm)
1070     if test "$ac_find_libraries" != "" ; then
1071         WX_LINK_PATH_EXIST($ac_find_libraries,$GUI_TK_LIBRARY)
1072         CHECK_LINK="$GUI_TK_LIBRARY $ac_path_to_link"
1073         XPM_LINK="-lXpm "
1074         AC_DEFINE(wxHAVE_LIB_XPM)
1075         AC_MSG_RESULT(found at $ac_find_libraries)
1076     else
1077         AC_MSG_RESULT(no)
1078         AC_MSG_WARN(library will be compiled without support for images in XPM format)
1079     fi
1080
1081     GUI_TK_LINK="-lXm $XPM_LINK -lXmu -lXt -lX11 -lm"
1082     GUI_TK_LIBRARY="$GUI_TK_LIBRARY $GUI_TK_LINK"
1083     TOOLKIT=MOTIF
1084 fi
1085
1086 dnl the name of the directory where the files for this toolkit live
1087 TOOLKIT_DIR=`echo ${TOOLKIT} | tr "A-Z" "a-z"`
1088
1089 dnl the symbol which allows conditional compilation for the given toolkit
1090 TOOLKIT_DEF=-D__WX${TOOLKIT}__
1091
1092 dnl the name of the (libtool) library
1093 WX_LIBRARY_NAME="libwx_${TOOLKIT_DIR}.la"
1094
1095 dnl the name of the library to be linked reported by wx-config
1096 WX_LIBRARY="wx_${TOOLKIT_DIR}"
1097
1098 dnl ------------------------------------------------------------------------
1099 dnl Check for headers
1100 dnl ------------------------------------------------------------------------
1101
1102 dnl defines HAVE_STRINGS_H (where some string functions live on AIX for example)
1103 AC_CHECK_HEADERS(strings.h)
1104 dnl defines HAVE_UNISTD_H
1105 AC_CHECK_HEADERS(unistd.h)
1106 dnl defines HAVE_WCHAR_H
1107 AC_CHECK_HEADERS(wchar.h)
1108 dnl defines HAVE_WCSTR_H
1109 AC_CHECK_HEADERS(wcstr.h)
1110 dnl defines HAVE_FNMATCH_H
1111 AC_CHECK_HEADERS(fnmatch.h)
1112 dnl defines HAVE_X11_XKBLIB_H
1113 AC_CHECK_HEADERS(X11/XKBlib.h)
1114
1115 dnl ---------------------------------------------------------------------------
1116 dnl Checks for typedefs
1117 dnl ---------------------------------------------------------------------------
1118
1119 dnl   defines mode_t if not already defined
1120 AC_TYPE_MODE_T
1121 dnl   defines off_t if not already defined
1122 AC_TYPE_OFF_T
1123 dnl   defines pid_t if not already defined
1124 AC_TYPE_PID_T
1125 dnl   defines size_t if not already defined
1126 AC_TYPE_SIZE_T
1127 dnl   defines uid_t and gid_t if not already defined
1128 AC_TYPE_UID_T
1129
1130 dnl ---------------------------------------------------------------------------
1131 dnl Checks for structures
1132 dnl ---------------------------------------------------------------------------
1133
1134 dnl ---------------------------------------------------------------------------
1135 dnl Checks for compiler characteristics
1136 dnl ---------------------------------------------------------------------------
1137
1138 dnl defines const to be empty if c-compiler does not support const fully
1139 AC_C_CONST
1140 dnl defines inline to a sensible value for the c-compiler
1141 AC_C_INLINE
1142
1143 dnl check the sizes of integral types (give some reasonable default values for
1144 dnl cross-compiling)
1145 dnl   defines the size of certain types of variables in SIZEOF_<TYPE>
1146 AC_CHECK_SIZEOF(char, 1)
1147 AC_CHECK_SIZEOF(short, 2)
1148 AC_CHECK_SIZEOF(int *, 4)
1149 AC_CHECK_SIZEOF(int, 4)
1150 AC_CHECK_SIZEOF(long, 4)
1151 AC_CHECK_SIZEOF(long long, 0)
1152
1153 dnl for bytesex stuff (don't use AC_C_BIGENDIAN to allow cross-compiling)
1154 WX_C_BIGENDIAN
1155
1156 dnl check for iostream (as opposed to iostream.h) standard header
1157 WX_CPP_NEW_HEADERS(, AC_DEFINE(wxUSE_IOSTREAMH))
1158
1159 dnl check whether C++ compiler supports bool built-in type
1160 WX_CPP_BOOL
1161
1162 dnl check whether overloading on size_t/int parameter works
1163 WX_CPP_SIZE_T_IS_NOT_INT
1164
1165 dnl ---------------------------------------------------------------------------
1166 dnl Check for functions
1167 dnl ---------------------------------------------------------------------------
1168
1169 dnl check for wcslen
1170 AC_CHECK_LIB(c, wcslen, [
1171             AC_DEFINE(HAVE_WCSLEN)
1172             WCHAR_LINK=""
1173         ], [
1174             AC_CHECK_LIB(w, wcslen, [
1175                 AC_DEFINE(HAVE_WCSLEN)
1176                 WCHAR_LINK="-lw"
1177             ])
1178         ])
1179
1180 dnl check for vprintf/vsprintf() which are GNU extensions
1181 AC_FUNC_VPRINTF
1182
1183 dnl check for vsnprintf() - a safe version of vsprintf()
1184 AC_CHECK_FUNCS(vsnprintf,
1185                AC_DEFINE(HAVE_VSNPRINTF),
1186                AC_MSG_WARN(unsafe function sprintf will be used instead of snprintf)
1187               )
1188
1189 dnl check for vfork() (even if it's the same as fork() in modern Unices)
1190 AC_CHECK_FUNCS(vfork)
1191
1192 POSIX4_LINK=
1193 AC_CHECK_FUNCS(nanosleep, AC_DEFINE(HAVE_NANOSLEEP), [
1194     AC_CHECK_LIB(posix4, nanosleep, [
1195       AC_DEFINE(HAVE_NANOSLEEP)
1196       POSIX4_LINK="-lposix4"
1197     ], [
1198     AC_CHECK_FUNCS(usleep,
1199         AC_DEFINE(HAVE_USLEEP),
1200         AC_MSG_WARN([wxSleep() function will not work]))
1201     ])
1202 ])
1203
1204 dnl check for uname (POSIX) and gethostname (BSD)
1205 AC_CHECK_FUNCS(uname gethostname, break)
1206
1207 dnl ===========================================================================
1208 dnl Now we have all the info we need - use it!
1209 dnl ===========================================================================
1210
1211 dnl flush the cache
1212 AC_CACHE_SAVE
1213
1214 dnl ---------------------------------------------------------------------------
1215 dnl thread support for Unix (always available under Win32)
1216 dnl ---------------------------------------------------------------------------
1217
1218 if test "$USE_UNIX" = 1; then
1219
1220 dnl the code below:
1221 dnl   defines THREADS_OBJ which contains the object files to build
1222 dnl   defines THREADS_LINK which contains the thread library to link with
1223 dnl   defines wxUSE_THREADS=1 if thread support is activated
1224
1225 THREADS_LINK=""
1226 THREADS_OBJ=""
1227
1228 if test "$wxUSE_THREADS" = "yes" ; then
1229     if test "$wxUSE_WINE" = 1 ; then
1230         AC_MSG_WARN([Threads are not supported under WINE])
1231         wxUSE_THREADS="no"
1232     fi
1233 fi
1234
1235 if test "$wxUSE_THREADS" = "yes" ; then
1236     dnl find if POSIX threads are available
1237     
1238     dnl standard lib name is pthread
1239     dnl We no longer test for pthread-0.7 as it breaks compilation on some
1240     dnl glibc2 systems, especially for static linkage.
1241     AC_CHECK_LIB(pthread, pthread_create, [
1242             THREADS_OBJ="threadpsx.lo"
1243             THREADS_LINK="pthread"
1244         ], [
1245             dnl thread functions are in libc_r under FreeBSD
1246             AC_CHECK_LIB(c_r, pthread_create, [
1247                 THREADS_OBJ="threadpsx.lo"
1248                 THREADS_LINK="c_r"
1249             ], [
1250                 dnl VZ: SGI threads are not supported currently
1251                 AC_CHECK_HEADER(sys/prctl.h, [
1252                     THREADS_OBJ="threadsgi.lo"
1253                 ])
1254             ])
1255         ])
1256 fi
1257
1258 if test -z "$THREADS_OBJ" ; then
1259     wxUSE_THREADS=no
1260     AC_MSG_WARN(No thread support on this system)
1261 fi
1262
1263 dnl do other tests only if we are using threads
1264 if test "$wxUSE_THREADS" = "yes" ; then
1265   dnl  LTLIBOBJS="$LTLIBOBJS $THREADS_OBJ"
1266
1267   dnl define autoconf macro to check for given function in both pthread and
1268   dnl posix4 libraries
1269   dnl usage: AC_FUNC_THREAD(FUNCTION_NAME)
1270   dnl VZ: TODO
1271   dnl AC_DEFUN(AC_FUNC_THREAD,
1272   dnl [
1273   dnl     AC_CHECK_LIB($THREADS_LINK, $1,
1274   dnl            AC_DEFINE(HAVE_`'translit($1, `A-Z', 'a-z'),
1275   dnl            [AC_CHECK_LIB("posix4", $1,
1276   dnl                [AC_DEFINE(HAVE_`'translit($1, `A-Z', 'a-z'))
1277   dnl                 POSIX4_LINK="-lposix4"
1278   dnl             ])
1279   dnl            ])
1280   dnl ])
1281
1282   AC_CHECK_HEADERS(sched.h)
1283
1284   AC_CHECK_LIB($THREADS_LINK, sched_yield,
1285                AC_DEFINE(HAVE_SCHED_YIELD),
1286                [AC_CHECK_LIB("posix4", sched_yield,
1287                    [AC_DEFINE(HAVE_SCHED_YIELD) POSIX4_LINK="-lposix4"],
1288                    AC_MSG_WARN(wxThread::Yield will not work properly)
1289                 )]
1290                )
1291
1292   dnl VZ: we should be checking for all of the following functions instead:
1293   dnl   1. pthread_attr_getschedpolicy
1294   dnl   2. sched_get_priority_min and sched_get_priority_max
1295   dnl   3. pthread_attr_getschedparam and pthread_attr_setschedparam
1296   dnl but it seems that if the first one is there, the other ones are too (of
1297   dnl course the proper solution would be to implement AC_FUNC_THREAD above
1298   dnl and do test for them all - anyone?)
1299   AC_CHECK_LIB($THREADS_LINK, pthread_attr_getschedpolicy,
1300                AC_DEFINE(HAVE_THREAD_PRIORITY_FUNCTIONS),
1301                [AC_CHECK_LIB("posix4", pthread_attr_getschedpolicy,
1302                    [AC_DEFINE(HAVE_THREAD_PRIORITY_FUNCTIONS) POSIX4_LINK="-lposix4"],
1303                    AC_MSG_WARN(Setting thread priority will not work)
1304                 )]
1305                )
1306
1307   AC_CHECK_LIB($THREADS_LINK, pthread_cancel,
1308                AC_DEFINE(HAVE_PTHREAD_CANCEL),
1309                AC_MSG_WARN([wxThread::Kill() will not work properly]))
1310
1311   AC_CACHE_CHECK([for pthread_cleanup_push/pop], wx_cv_func_pthread_cleanup_push,
1312   [
1313     AC_TRY_COMPILE([#include <pthread.h>],
1314                  [
1315                     pthread_cleanup_push(NULL, NULL);
1316                     pthread_cleanup_pop(0);
1317                  ], [
1318                     wx_cv_func_pthread_cleanup_push=yes
1319                     AC_DEFINE(HAVE_THREAD_CLEANUP_FUNCTIONS)
1320                  ], [
1321                     wx_cv_func_pthread_cleanup_push=no
1322                  ])
1323   ])
1324
1325   THREADS_LINK="-l$THREADS_LINK"
1326 fi
1327
1328 dnl from if USE_UNIX
1329 fi
1330
1331 if test "$wxUSE_THREADS" = "yes"; then
1332   AC_DEFINE(wxUSE_THREADS)
1333
1334   dnl must define _REENTRANT for multithreaded code
1335   CFLAGS="${CFLAGS} -D_REENTRANT"
1336   CXXFLAGS="${CXXFLAGS} -D_REENTRANT"
1337
1338   SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS thread"
1339 fi
1340
1341 if test "$WXGTK12" = 1 ; then
1342   AC_DEFINE_UNQUOTED(__WXGTK12__,$WXGTK12)
1343 fi
1344
1345 if test "$WXWINE" = 1 ; then
1346   TOOLKIT_DEF="${TOOLKIT_DEF} -D__WXWINE__"
1347 fi
1348
1349 if test "$wxUSE_CYGWIN" = 1 ; then
1350   TOOLKIT_DEF="${TOOLKIT_DEF} -D__WIN95__"
1351 fi
1352
1353 WXDEBUG=
1354 if test "$wxUSE_DEBUG_GDB" = "yes" ; then
1355     wxUSE_DEBUG_INFO=yes
1356     WXDEBUG="-ggdb"
1357 fi
1358
1359 if test "$wxUSE_DEBUG_INFO" = "yes" ; then
1360     WXDEBUG="-g"
1361     wxUSE_OPTIMISE=no
1362 fi
1363
1364 if test "$wxUSE_DEBUG_FLAG" = "yes" ; then
1365     AC_DEFINE(WXDEBUG)
1366     WXDEBUG_DEFINE="-D__WXDEBUG__"
1367 else
1368     if test "$wxUSE_GTK" = 1 ; then
1369         WXDEBUG_DEFINE="-DGTK_NO_CHECK_CASTS"
1370     fi
1371 fi
1372
1373 if test "$wxUSE_MEM_TRACING" = "yes" ; then
1374     AC_DEFINE(wxUSE_MEMORY_TRACING)
1375     AC_DEFINE(wxUSE_GLOBAL_MEMORY_OPERATORS)
1376     SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS memcheck"
1377 fi
1378
1379 if test "$wxUSE_DMALLOC" = "yes" ; then
1380     DMALLOC_LINK="-ldmalloc"
1381 fi
1382
1383 PROFILE=
1384 if test "$wxUSE_PROFILE" = "yes" ; then
1385     PROFILE="-pg"
1386 fi
1387
1388 if test "$GCC" = yes ; then
1389     if test "$wxUSE_NO_RTTI" = "yes" ; then
1390         WXDEBUG_DEFINE="$WXDEBUG_DEFINE -fno-rtti"
1391     fi
1392     if test "$wxUSE_NO_EXCEPTIONS" = "yes" ; then
1393         WXDEBUG_DEFINE="$WXDEBUG_DEFINE -fno-exceptions"
1394     fi
1395 fi  
1396           
1397           
1398 CXXFLAGS=`echo "${CXXFLAGS}" | sed "s/\-O.//g" `
1399 CFLAGS=`echo "${CFLAGS}" | sed "s/\-O.//g" `
1400 if test "$wxUSE_OPTIMISE" = "no" ; then
1401     OPTIMISE=
1402 else
1403     if test "$GCC" = yes ; then
1404         OPTIMISE="-O2"
1405         case "${host}" in
1406             i586-*-*|i686-*-* )
1407             OPTIMISE="${OPTIMISE} "
1408         ;;
1409         esac
1410     else
1411         OPTIMISE="-O"
1412     fi
1413 fi
1414
1415 dnl ---------------------------------------------------------------------------
1416 dnl Optional libraries
1417 dnl ---------------------------------------------------------------------------
1418
1419 ZLIB_INCLUDE=
1420 if test "$wxUSE_ZLIB" = "yes" ; then
1421   AC_DEFINE(wxUSE_ZLIB)
1422   EXTRA_VPATH="$EXTRA_VPATH:\${srcdir}/../zlib"
1423   ZLIB_INCLUDE="-I\${srcdir}/../zlib"
1424   LTLIBOBJS="$LTLIBOBJS adler32.lo compress.lo crc32.lo gzio.lo uncompr.lo deflate.lo \
1425                         trees.lo zutil.lo inflate.lo infblock.lo inftrees.lo infcodes.lo \
1426                         infutil.lo inffast.lo"
1427 fi
1428
1429 PNG_INCLUDE=
1430 if test "$wxUSE_LIBPNG" = "yes" ; then
1431   AC_DEFINE(wxUSE_LIBPNG)
1432   LTLIBOBJS="$LTLIBOBJS png.lo pngset.lo pngget.lo pngrutil.lo pngtrans.lo pngwutil.lo \
1433                         pngread.lo pngrio.lo pngwio.lo pngwrite.lo pngrtran.lo pngwtran.lo \
1434                         pngmem.lo pngerror.lo pngpread.lo"
1435   EXTRA_VPATH="$EXTRA_VPATH:\${srcdir}/../png"
1436   PNG_INCLUDE="-I\${srcdir}/../png"
1437   SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS png"
1438 fi
1439
1440 if test "$wxUSE_LIBGIF" = "yes" ; then
1441   AC_DEFINE(wxUSE_LIBGIF)
1442 fi
1443
1444 JPEG_INCLUDE=
1445 if test "$wxUSE_LIBJPEG" = "yes" ; then
1446   AC_DEFINE(wxUSE_LIBJPEG)
1447   EXTRA_VPATH="$EXTRA_VPATH:\${srcdir}/../jpeg"
1448   JPEG_INCLUDE="-I\${srcdir}/../jpeg"
1449   LTLIBOBJS="$LTLIBOBJS \
1450              jcomapi.lo jutils.lo jerror.lo jmemmgr.lo jmemnobs.lo \
1451              jcapimin.lo jcapistd.lo jctrans.lo jcparam.lo jdatadst.lo \
1452              jcinit.lo jcmaster.lo jcmarker.lo jcmainct.lo jcprepct.lo \
1453              jccoefct.lo jccolor.lo jcsample.lo jchuff.lo jcphuff.lo \
1454              jcdctmgr.lo jfdctfst.lo jfdctflt.lo jfdctint.lo \
1455              jdapimin.lo jdapistd.lo jdtrans.lo jdatasrc.lo \
1456              jdmaster.lo jdinput.lo jdmarker.lo jdhuff.lo jdphuff.lo \
1457              jdmainct.lo jdcoefct.lo jdpostct.lo jddctmgr.lo jidctfst.lo \
1458              jidctflt.lo jidctint.lo jidctred.lo jdsample.lo jdcolor.lo \
1459              jquant1.lo jquant2.lo jdmerge.lo"
1460 fi
1461
1462 if test "$wxUSE_OPENGL" = "yes"; then
1463   AC_CHECK_HEADER(GL/gl.h, [
1464     AC_CHECK_LIB(GL, glInitNames, [
1465       OPENGL_LINK="-lGL"
1466       AC_DEFINE(wxUSE_OPENGL)
1467       UTILS_SUBDIRS="$UTILS_SUBDIRS glcanvas/src"
1468     ],[
1469         AC_CHECK_LIB(MesaGL, glInitNames, [
1470         OPENGL_LINK="-lMesaGL"
1471         AC_DEFINE(wxUSE_OPENGL)
1472         UTILS_SUBDIRS="$UTILS_SUBDIRS glcanvas/src"
1473       ],wxUSE_OPENGL=0)
1474      ],wxUSE_OPENGL=0)
1475     ],wxUSE_OPENGL=0)
1476 fi
1477
1478 dnl ---------------------------------------------------------------------------
1479 dnl the library may be built without GUI classes at all
1480 dnl ---------------------------------------------------------------------------
1481
1482 if test "$wxUSE_GUI" = "yes"; then
1483   AC_DEFINE(wxUSE_GUI)
1484
1485   dnl the things we always pull in the GUI version of the library:
1486   dnl 1. basic things like wxApp, wxWindow, wxControl, wxFrame, wxDialog (the
1487   dnl    library really can't be built without those)
1488   dnl 2. basic controls: wxButton, wxStaticText, wxTextCtrl (these are used in
1489   dnl    almost any program and the first 2 are needed to show a message box
1490   dnl    which want to be always able to do)
1491   dnl 3. GDI stuff: icon, cursors and all that. Although it would be very nice
1492   dnl    to compile without them (if the app doesn't do any drawing, it doesn't
1493   dnl    need the dcs, pens, brushes, ...), this just can't be done now
1494   dnl 4. menu stuff: wxMenu, wxMenuBar, wxMenuItem
1495   dnl 5. misc stuff: timers, settings, message box
1496   dnl   LTLIBOBJS="$LTLIBOBJS \
1497   dnl main.lo app.lo event.lo wincmn.lo window.lo control.lo framecmn.lo frame.lo dialog.lo panelg.lo \
1498   dnl button.lo stattext.lo textctrl.lo \
1499   dnl bitmap.lo brush.lo colour.lo cursor.lo data.lo dc.lo dcbase.lo dcclient.lo \
1500   dnl dcmemory.lo dcscreen.lo font.lo gdicmn.lo gdiobj.lo icon.lo palette.lo pen.lo region.lo \
1501   dnl menu.lo \
1502   dnl settings.lo timer.lo msgdlgg.lo"
1503 else
1504   AC_DEFINE(wxUSE_NOGUI)
1505 fi
1506
1507 dnl ---------------------------------------------------------------------------
1508 dnl Unix/Windows
1509 dnl ---------------------------------------------------------------------------
1510
1511 if test "$wxUSE_UNIX" = "yes"; then
1512   AC_DEFINE(wxUSE_UNIX)
1513 fi
1514
1515 dnl ---------------------------------------------------------------------------
1516 dnl Register non-GUI class options for makefiles and setup.h
1517 dnl ---------------------------------------------------------------------------
1518
1519 if test "$wxUSE_APPLE_IEEE" = "yes"; then
1520   AC_DEFINE(wxUSE_APPLE_IEEE)
1521 fi
1522
1523 if test "$wxUSE_TIMEDATE" = "yes"; then
1524   AC_DEFINE(wxUSE_TIMEDATE)
1525   SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS typetest"
1526 fi
1527
1528 if test "$wxUSE_WAVE" = "yes"; then
1529   AC_DEFINE(wxUSE_WAVE)
1530 fi
1531
1532 if test "$wxUSE_FILE" = "yes"; then
1533   AC_DEFINE(wxUSE_FILE)
1534 fi
1535
1536 if test "$wxUSE_TEXTFILE" = "yes"; then
1537   if test "$wxUSE_FILE" != "yes"; then
1538     AC_MSG_WARN(wxTextFile requires wxFile and it won't be compiled without it)
1539   else
1540     AC_DEFINE(wxUSE_TEXTFILE)
1541   fi
1542 fi
1543
1544 if test "$wxUSE_CONFIG" = "yes" ; then
1545   if test "$wxUSE_TEXTFILE" != "yes"; then
1546     AC_MSG_WARN(wxConfig requires wxTextFile and it won't be compiled without it)
1547   else
1548     AC_DEFINE(wxUSE_CONFIG)
1549     SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS config"
1550   fi
1551 fi
1552
1553 if test "$wxUSE_INTL" = "yes" ; then
1554   if test "$wxUSE_FILE" != "yes"; then
1555     AC_MSG_WARN(I18n code requires wxFile and it won't be compiled without it)
1556   else
1557     AC_DEFINE(wxUSE_INTL)
1558     SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS internat"
1559   fi
1560 fi
1561
1562 if test "$wxUSE_LOG" = "yes"; then
1563   AC_DEFINE(wxUSE_LOG)
1564 fi
1565
1566 if test "$wxUSE_LONGLONG" = "yes"; then
1567   AC_DEFINE(wxUSE_LONGLONG)
1568 fi
1569
1570 if test "$wxUSE_SOCKETS" = "yes" ; then
1571     if test "$wxUSE_THREADS" = "yes" ; then
1572         AC_DEFINE(wxUSE_SOCKETS)
1573         SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS wxsocket"
1574         INCLUDE_SUBDIRS="$INCLUDE_SUBDIRS protocol"
1575     else
1576         AC_MSG_WARN(Socket classes require --with-threads and won't be compiled without it)
1577         wxUSE_SOCKETS=0
1578     fi
1579 fi
1580
1581 if test "$wxUSE_STREAMS" = "yes" ; then
1582   AC_DEFINE(wxUSE_STREAMS)
1583 fi
1584
1585 if test "$wxUSE_SERIAL" = "yes" ; then
1586   AC_DEFINE(wxUSE_SERIAL)
1587 fi
1588
1589 dnl ------------------------------------------------------------------------
1590 dnl wxSocket
1591 dnl ------------------------------------------------------------------------
1592
1593 if test "$wxUSE_SOCKETS" = "yes"; then
1594     AC_LANG_SAVE
1595     AC_LANG_CPLUSPLUS
1596     dnl determine the type of third argument for getsockname
1597     AC_MSG_CHECKING(the type of the third argument of getsockname)
1598     AC_TRY_COMPILE(
1599         [#include <sys/socket.h>],
1600         [socklen_t len; getsockname(0, NULL, &len);],
1601         AC_DEFINE(SOCKLEN_T, socklen_t) AC_MSG_RESULT(socklen_t),
1602            AC_TRY_COMPILE(
1603             [#include <sys/socket.h>],
1604             [size_t len; getsockname(0, NULL, &len);],
1605             AC_DEFINE(SOCKLEN_T, size_t) AC_MSG_RESULT(size_t),
1606             AC_TRY_COMPILE(
1607                 [#include <sys/socket.h>],
1608                 [int len; getsockname(0, NULL, &len);],
1609                 AC_DEFINE(SOCKLEN_T, int) AC_MSG_RESULT(int),
1610             AC_MSG_RESULT(unknown)
1611         )
1612         )
1613     )
1614     AC_LANG_RESTORE
1615 fi
1616
1617 dnl ---------------------------------------------------------------------------
1618 dnl Joystick support
1619 dnl ---------------------------------------------------------------------------
1620
1621 if test "$wxUSE_JOYSTICK" = 1; then
1622   dnl joystick support is only for Linux 2.1.x or greater
1623   AC_CHECK_HEADERS(linux/joystick.h)
1624   if test "$ac_cv_header_linux_joystick_h" = "yes"; then
1625     AC_DEFINE(wxUSE_JOYSTICK)
1626     SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS joytest"
1627   fi
1628 fi
1629
1630 dnl ------------------------------------------------------------------------
1631 dnl DLL support
1632 dnl ------------------------------------------------------------------------
1633
1634 HAVE_DL_FUNCS=0
1635 HAVE_SHL_FUNCS=0
1636 if test "$wxUSE_DYNLIB_CLASS" = "yes"; then
1637     dnl the test is a bit complicated because we check for dlopen() both with
1638     dnl and without -ldl
1639     AC_CHECK_FUNCS(dlopen,
1640         [AC_DEFINE(HAVE_DLOPEN) HAVE_DL_FUNCS=1],
1641         [AC_CHECK_LIB(dl, dlopen,
1642             [AC_DEFINE(HAVE_DLOPEN) HAVE_DL_FUNCS=1])])
1643     AC_CHECK_FUNCS( shl_load,
1644                     [AC_DEFINE(HAVE_SHL_LOAD) HAVE_DL_FUNCS=1 HAVE_SHL_FUNCS=1])
1645
1646     if test "$HAVE_DL_FUNCS" = 0; then
1647         AC_MSG_WARN("--with-dynlib and --with-odbc will be disabled due to missing shared library support")
1648         wxUSE_ODBC=no
1649         wxUSE_DYNLIB_CLASS=no
1650     fi
1651 fi
1652
1653 if test "$wxUSE_DYNLIB_CLASS" = "yes" ; then
1654   AC_DEFINE(wxUSE_DYNLIB_CLASS)
1655 fi
1656
1657 dnl ---------------------------------------------------------------------------
1658 dnl String stuff
1659 dnl ---------------------------------------------------------------------------
1660
1661 if test "$wxUSE_UNICODE" = "yes" ; then
1662   AC_DEFINE(wxUSE_UNICODE)
1663 fi
1664
1665 if test "$wxUSE_WCSRTOMBS" = "yes" ; then
1666   AC_DEFINE(wxUSE_WCSRTOMBS)
1667 fi
1668
1669 if test "$wxUSE_wxUSE_EXPERIMENTAL_PRINTF" = "yes"; then
1670   AC_DEFINE(wxUSE_EXPERIMENTAL_PRINTF)
1671 fi
1672
1673 dnl ----------------------------------------------------------------
1674 dnl iODBC support
1675 dnl ----------------------------------------------------------------
1676
1677 IODBC_C_SRC=""
1678 if test "$wxUSE_ODBC" = "yes" ; then
1679   AC_DEFINE(wxUSE_ODBC)
1680   EXTRA_VPATH="$EXTRA_VPATH:\$(srcdir)/../iodbc"
1681   LTLIBOBJS="$LTLIBOBJS catalog.lo connect.lo dlf.lo dlproc.lo execute.lo fetch.lo hdbc.lo henv.lo herr.lo hstmt.lo info.lo itrace.lo misc.lo prepare.lo result.lo"
1682   SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS db"
1683 fi
1684
1685 dnl ----------------------------------------------------------------
1686 dnl Register PostScript options for makefiles and setup.h
1687 dnl ----------------------------------------------------------------
1688
1689 if test "$wxUSE_POSTSCRIPT" = "yes" ; then
1690   AC_DEFINE(wxUSE_POSTSCRIPT)
1691 fi
1692
1693 AC_DEFINE(wxUSE_AFM_FOR_POSTSCRIPT)
1694
1695 AC_DEFINE(wxUSE_NORMALIZED_PS_FONTS)
1696
1697 dnl ---------------------------------------------------------------------------
1698 dnl big GUI components: MDI, doc/view, printing, help, ...
1699 dnl ---------------------------------------------------------------------------
1700
1701 if test "$wxUSE_CONSTRAINTS" = "yes"; then
1702     AC_DEFINE(wxUSE_CONSTRAINTS)
1703     SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS layout"
1704 fi
1705
1706 if test "$wxUSE_MDI_ARCHITECTURE" = "yes"; then
1707     AC_DEFINE(wxUSE_MDI_ARCHITECTURE)
1708     SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS mdi"
1709 fi
1710
1711 if test "$wxUSE_DOC_VIEW_ARCHITECTURE" = "yes" ; then
1712     AC_DEFINE(wxUSE_DOC_VIEW_ARCHITECTURE)
1713     SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS docview"
1714     if test "$wxUSE_MDI_ARCHITECTURE" = "yes"; then
1715         SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS docvwmdi"
1716     fi
1717 fi
1718
1719 if test "$wxUSE_HELP" = "yes"; then
1720     AC_DEFINE(wxUSE_HELP)
1721     SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS help"
1722 fi
1723
1724 if test "$wxUSE_PRINTING_ARCHITECTURE" = "yes" ; then
1725     if test "$wxUSE_CONSTRAINTS" != "yes"; then
1726         AC_MSG_WARN(Printing support cannot be used without constraints so it won't be compiled without it)
1727     else
1728         AC_DEFINE(wxUSE_PRINTING_ARCHITECTURE)
1729     fi
1730     SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS printing"
1731 fi
1732
1733 if test "$wxUSE_PROLOGIO" = "yes" ; then
1734     AC_DEFINE(wxUSE_PROLOGIO)
1735 fi
1736
1737 if test "$wxUSE_RESOURCES" = "yes" ; then
1738     if test "$wxUSE_PROLOGIO" = "yes" ; then
1739         AC_DEFINE(wxUSE_RESOURCES)
1740         SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS resource"
1741     else
1742         AC_MSG_WARN([wxWindows ressource system requires PrologIO and can't be compiled without it.])
1743     fi
1744 fi
1745
1746 if test "$wxUSE_X_RESOURCES" = "yes"; then
1747     AC_DEFINE(wxUSE_X_RESOURCES)
1748 fi
1749
1750 dnl ---------------------------------------------------------------------------
1751 dnl IPC: IPC, Drag'n'Drop, Clipboard, ...
1752 dnl ---------------------------------------------------------------------------
1753
1754 if test "$wxUSE_IPC" = "yes"; then
1755     AC_DEFINE(wxUSE_IPC)
1756 fi
1757
1758 if test "$wxUSE_CLIPBOARD" = "yes"; then
1759     AC_DEFINE(wxUSE_CLIPBOARD)
1760 fi
1761
1762 if test "$wxUSE_DRAG_AND_DROP" = "yes" ; then
1763     if test "$wxUSE_GTK" = 1; then
1764         if test "$WXGTK12" != 1; then
1765             AC_MSG_WARN([Drag and drop is only supported under wxGTK 2.1])
1766         fi
1767     fi
1768
1769     if test "$wxUSE_MOTIF" = 1; then
1770         AC_MSG_WARN([Drag and drop is not yet supported under Motif])
1771     fi
1772
1773     if test "$wxUSE_DRAG_AND_DROP" = "yes"; then
1774         AC_DEFINE(wxUSE_DRAG_AND_DROP)
1775         SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS dnd"
1776     fi
1777 fi
1778
1779 if test "$wxUSE_SPLINES" = "yes" ; then
1780   AC_DEFINE(wxUSE_SPLINES)
1781 fi
1782
1783 dnl ---------------------------------------------------------------------------
1784 dnl GUI controls
1785 dnl ---------------------------------------------------------------------------
1786
1787 if test "$wxUSE_ACCEL" = "yes"; then
1788   AC_DEFINE(wxUSE_ACCEL)
1789 fi
1790
1791 if test "$wxUSE_CARET" = "yes"; then
1792   AC_DEFINE(wxUSE_CARET)
1793   SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS caret"
1794 fi
1795
1796 if test "$wxUSE_COMBOBOX" = "yes"; then
1797   AC_DEFINE(wxUSE_COMBOBOX)
1798 fi
1799
1800 if test "$wxUSE_CHOICE" = "yes"; then
1801   AC_DEFINE(wxUSE_CHOICE)
1802 fi
1803
1804 if test "$wxUSE_BMPBUTTON" = "yes"; then
1805   AC_DEFINE(wxUSE_BMPBUTTON)
1806 fi
1807
1808 if test "$wxUSE_CHECKBOX" = "yes"; then
1809   AC_DEFINE(wxUSE_CHECKBOX)
1810 fi
1811
1812 if test "$wxUSE_CHECKLST" = "yes"; then
1813   AC_DEFINE(wxUSE_CHECKLISTBOX)
1814   SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS checklst"
1815 fi
1816
1817 if test "$wxUSE_GAUGE" = "yes"; then
1818   AC_DEFINE(wxUSE_GAUGE)
1819 fi
1820
1821 if test "$wxUSE_GRID" = "yes"; then
1822   AC_DEFINE(wxUSE_GRID)
1823   SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS grid"
1824 fi
1825
1826 if test "$wxUSE_IMAGLIST" = "yes"; then
1827     AC_DEFINE(wxUSE_IMAGLIST)
1828 fi
1829
1830 if test "$wxUSE_LISTBOX" = "yes"; then
1831     AC_DEFINE(wxUSE_LISTBOX)
1832 fi
1833
1834 if test "$wxUSE_LISTCTRL" = "yes"; then
1835     if test "$wxUSE_IMAGLIST" = "yes"; then
1836         AC_DEFINE(wxUSE_LISTCTRL)
1837         SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS listctrl"
1838     else
1839         AC_MSG_WARN([wxListCtrl requires wxImageList and won't be compiled without it])
1840     fi
1841 fi
1842
1843 if test "$wxUSE_NOTEBOOK" = "yes"; then
1844     AC_DEFINE(wxUSE_NOTEBOOK)
1845     SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS notebook"
1846 fi
1847
1848 if test "$wxUSE_RADIOBOX" = "yes"; then
1849     AC_DEFINE(wxUSE_RADIOBOX)
1850 fi
1851
1852 if test "$wxUSE_RADIOBTN" = "yes"; then
1853     AC_DEFINE(wxUSE_RADIOBTN)
1854 fi
1855
1856 if test "$wxUSE_SASH" = "yes"; then
1857     AC_DEFINE(wxUSE_SASH)
1858     SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS sashtest"
1859 fi
1860
1861 if test "$wxUSE_SCROLLBAR" = "yes"; then
1862     AC_DEFINE(wxUSE_SCROLLBAR)
1863     SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS scroll"
1864 fi
1865
1866 if test "$wxUSE_SLIDER" = "yes"; then
1867     AC_DEFINE(wxUSE_SLIDER)
1868 fi
1869
1870 if test "$wxUSE_SPINBTN" = "yes"; then
1871     AC_DEFINE(wxUSE_SPINBTN)
1872 fi
1873
1874 if test "$wxUSE_SPLITTER" = "yes"; then
1875     AC_DEFINE(wxUSE_SPLITTER)
1876     SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS splitter"
1877 fi
1878
1879 if test "$wxUSE_STATBMP" = "yes"; then
1880     AC_DEFINE(wxUSE_STATBMP)
1881 fi
1882
1883 if test "$wxUSE_STATBOX" = "yes"; then
1884     AC_DEFINE(wxUSE_STATBOX)
1885 fi
1886
1887 if test "$wxUSE_STATLINE" = "yes"; then
1888     if test "$wxUSE_WINE" = 1 ; then
1889         AC_MSG_WARN([wxStaticLine is not supported under WINE])
1890     else
1891         AC_DEFINE(wxUSE_STATLINE)
1892     fi
1893 fi
1894
1895 if test "$wxUSE_STATUSBAR" = "yes"; then
1896     AC_DEFINE(wxUSE_STATUSBAR)
1897 fi
1898
1899 if test "$wxUSE_TABDIALOG" = "yes"; then
1900     AC_DEFINE(wxUSE_TAB_DIALOG)
1901     SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS tab"
1902 fi
1903
1904 if test "$wxUSE_TOOLBAR" = "yes"; then
1905     AC_DEFINE(wxUSE_TOOLBAR)
1906     SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS toolbar"
1907 fi
1908
1909 if test "$wxUSE_TOOLTIPS" = "yes"; then
1910     if test "$wxUSE_MOTIF" = 1; then
1911         AC_MSG_WARN(Tooltips are not supported yet under Motif)
1912     else
1913         if test "$wxUSE_WINE" = 1; then
1914             AC_MSG_WARN(Tooltips are not supported yet under WINE)
1915         else
1916             AC_DEFINE(wxUSE_TOOLTIPS)
1917         fi
1918     fi
1919 fi
1920
1921 if test "$wxUSE_TREECTRL" = "yes"; then
1922     if test "$wxUSE_IMAGLIST" = "yes"; then
1923         AC_DEFINE(wxUSE_TREECTRL)
1924         SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS treectrl"
1925     else
1926         AC_MSG_WARN([wxTreeCtrl requires wxImageList and won't be compiled without it])
1927     fi
1928 fi
1929
1930 dnl ---------------------------------------------------------------------------
1931 dnl misc options
1932 dnl ---------------------------------------------------------------------------
1933
1934 dnl TODO this is unused for now...
1935 dnl if test "$wxUSE_WXTREE" = "yes"; then
1936 dnl   AC_DEFINE(wxUSE_WXTREE)
1937 dnl fi
1938
1939 if test "$wxUSE_METAFILE" = "yes"; then
1940     AC_DEFINE(wxUSE_METAFILE)
1941 fi
1942
1943 if test "$wxUSE_DIRDLG" = "yes"; then
1944     if test "$wxUSE_CONSTRAINTS" != "yes"; then
1945        AC_MSG_WARN(wxDirDialog requires constraints so it won't be compiled without them)
1946     else
1947         if test "$wxUSE_TREECTRL" != "yes"; then
1948             AC_MSG_WARN(wxDirDialog requires wxTreeCtrl so it won't be compiled without it)
1949         else
1950             AC_DEFINE(wxUSE_DIRDLG)
1951         fi
1952     fi
1953 fi
1954
1955 if test "$wxUSE_TEXTDLG" = "yes"; then
1956     AC_DEFINE(wxUSE_TEXTDLG)
1957 fi
1958
1959 if test "$wxUSE_PROGRESSDLG" = "yes"; then
1960     if test "$wxUSE_CONSTRAINTS" != "yes"; then
1961        AC_MSG_WARN(wxProgressDialog requires constraints so it won't be compiled without them)
1962     else
1963         AC_DEFINE(wxUSE_PROGRESSDLG)
1964     fi
1965 fi
1966
1967 if test "$wxUSE_MINIFRAME" = "yes"; then
1968     AC_DEFINE(wxUSE_MINIFRAME)
1969     SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS minifram"
1970 fi
1971
1972 if test "$wxUSE_VALIDATORS" = "yes"; then
1973     AC_DEFINE(wxUSE_VALIDATORS)
1974     SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS validate"
1975 fi
1976
1977 dnl ---------------------------------------------------------------------------
1978 dnl Output the makefiles and such from the results found above
1979 dnl ---------------------------------------------------------------------------
1980
1981 dnl if we add wxUSE_GUI in the future, it might be handy to separate the libs
1982 dnl into GUI and non-GUI parts
1983 GUILIBS="$GUI_TK_LIBRARY $OPENGL_LINK $LIBPNG_LINK $ZLIB_LINK $TOOLKIT_LINK"
1984
1985 dnl all additional libraries (except wxWindows itself) we link with
1986 EXTRA_LIBS="$LIBS $POSIX4_LINK $WCHAR_LINK $THREADS_LINK $DMALLOC_LINK $GUILIBS"
1987
1988 dnl all the libraries needed to link wxWindows programs (when the library is not
1989 dnl yet installed)
1990 LIBS="\${top_builddir}/src/${TOOLKIT_DIR}/${WX_LIBRARY_NAME} $EXTRA_LIBS"
1991
1992 dnl all -I options we must pass to the compiler
1993 INCLUDES="-I. -I\${top_builddir}/include -I\${top_srcdir}/include $ZLIB_INCLUDE $PNG_INCLUDE $JPEG_INCLUDE $TOOLKIT_INCLUDE"
1994
1995 dnl C/C++ compiler options used to compile wxWindows
1996 if test "$ac_cv_prog_gcc" = "yes"; then
1997     dnl CXXWARNINGS="-Wall -W -Wcast-qual -Werror"
1998     CXXWARNINGS="-Wall"
1999     dnl there is one weird warning in docview.h:71 which prevents me from doing
2000     dnl this...
2001     dnl CXXWARNINGS="-Wall -Werror"
2002 fi
2003 EXTRA_CFLAGS="$WXDEBUG $PROFILE $OPTIMISE $INCLUDES"
2004
2005 CPPFLAGS="-I\${top_srcdir}/include $CPPFLAGS"
2006 CFLAGS="$CFLAGS $EXTRA_CFLAGS"
2007 CXXFLAGS="$CXXFLAGS $EXTRA_CFLAGS $CXXWARNINGS"
2008
2009 if test "$wxUSE_GUI" = "yes"; then
2010     dnl TODO add checks that these samples will really compile (i.e. all the
2011     dnl      library features they need are present)
2012
2013     dnl TODO some samples are never built so far:
2014     dnl      mfc, nativdlg, oleauto, ownerdrw, proplist
2015     SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS bombs controls dialogs drawing dynamic \
2016                      forty fractal image richedit wxpoem"
2017 fi
2018
2019 dnl for convenience, sort the files to build in alphabetical order
2020 dnl
2021 dnl another shell command to do it which might be faster but is less clear:
2022 dnl  LTLIBOBJS="`for obj in $LTLIBOBJS; do echo $obj; done | sort | sed 's@^@ @'`"
2023 LTLIBOBJS="`echo $LTLIBOBJS | tr -s ' ' | tr ' ' '\n' | sort | tr '\n' ' '`"
2024
2025 dnl for convenience, sort the samples in alphabetical order
2026 dnl
2027 dnl FIXME For some mysterious reasons, sometimes the directories are duplicated
2028 dnl       in this list - hence uniq. But normally, this shouldn't be needed!
2029 SAMPLES_SUBDIRS="`echo $SAMPLES_SUBDIRS | tr -s ' ' | tr ' ' '\n' | sort | uniq | tr '\n' ' '`"
2030
2031 dnl global options
2032 AC_SUBST(WX_MAJOR_VERSION_NUMBER)
2033 AC_SUBST(WX_MINOR_VERSION_NUMBER)
2034 AC_SUBST(WX_RELEASE_NUMBER)
2035 AC_SUBST(WX_LIBRARY_NAME)
2036 AC_SUBST(WX_LIBRARY)
2037
2038 dnl suppress libtool's informational messages - they duplicate its command line
2039 LIBTOOL="$LIBTOOL --silent"
2040 AC_SUBST(LIBTOOL)
2041
2042 dnl debugging options
2043 AC_SUBST(WXDEBUG_DEFINE)
2044
2045 dnl toolkit options
2046 AC_SUBST(TOOLKIT)
2047 AC_SUBST(TOOLKIT_DEF)
2048 AC_SUBST(TOOLKIT_DIR)
2049 AC_SUBST(TOOLKIT_INCLUDE)
2050
2051 dnl additional sources
2052 AC_SUBST(EXTRA_VPATH)
2053 AC_SUBST(LTLIBOBJS)
2054
2055 dnl additional subdirectories where we will build
2056 AC_SUBST(SRC_SUBDIRS)
2057 AC_SUBST(INCLUDE_SUBDIRS)
2058 AC_SUBST(UTILS_SUBDIRS)
2059 AC_SUBST(DOCS_SUBDIRS)
2060 AC_SUBST(SAMPLES_SUBDIRS)
2061 AC_SUBST(USER_SUBDIRS)
2062
2063 dnl additional libraries
2064 AC_SUBST(EXTRA_LIBS)
2065 AC_SUBST(LIBS)
2066
2067 dnl create the configuration header file from the template
2068 dnl
2069 dnl NB: automake can't work correctly if our header lives in a directory which
2070 dnl     is only determined at configure time, so we create it on the top-level
2071 dnl     and make a link to allow '#include "wx/setup.h"' to still work
2072 AM_CONFIG_HEADER(setup.h)
2073
2074 dnl MAKE_SET will be replaced with "MAKE=..." or nothing if make sets MAKE
2075 dnl itself (this is macro is required if SUBDIRS variable is used in Makefile.am
2076 dnl - and we do use it)
2077 AC_PROG_MAKE_SET
2078
2079 dnl create each of the files in the space separated list from the file.in
2080 dnl (the original file name may be overriden by appending another name after a
2081 dnl colon)
2082 AC_OUTPUT([
2083             wx-config
2084             Makefile
2085             src/Makefile
2086
2087 dnl just for testing, will remove soon (VZ)
2088 dnl             src/msw/Makefile
2089 dnl             include/Makefile include/wx/Makefile include/wx/generic/Makefile
2090 dnl             include/wx/msw/Makefile
2091 dnl             samples/Makefile samples/minimal/Makefile
2092
2093             src/gtk/Makefile
2094             src/motif/Makefile
2095             src/msw/Makefile
2096             include/Makefile
2097             include/wx/Makefile
2098             include/wx/generic/Makefile
2099             include/wx/gtk/Makefile
2100             include/wx/motif/Makefile
2101             include/wx/msw/Makefile
2102             include/wx/protocol/Makefile
2103             include/wx/unix/Makefile
2104             misc/Makefile
2105             misc/afm/Makefile
2106             misc/gs_afm/Makefile
2107             samples/Makefile
2108             samples/bombs/Makefile
2109             samples/caret/Makefile
2110             samples/checklst/Makefile
2111             samples/config/Makefile
2112             samples/controls/Makefile
2113             samples/db/Makefile
2114             samples/dialogs/Makefile
2115             samples/dnd/Makefile
2116             samples/docview/Makefile
2117             samples/docvwmdi/Makefile
2118             samples/drawing/Makefile
2119             samples/dynamic/Makefile
2120             samples/forty/Makefile
2121             samples/fractal/Makefile
2122             samples/grid/Makefile
2123             samples/help/Makefile
2124             samples/image/Makefile
2125             samples/internat/Makefile
2126             samples/joytest/Makefile
2127             samples/layout/Makefile
2128             samples/listctrl/Makefile
2129             samples/mdi/Makefile
2130             samples/memcheck/Makefile
2131             samples/mfc/Makefile
2132             samples/minifram/Makefile
2133             samples/minimal/Makefile
2134             samples/nativdlg/Makefile
2135             samples/notebook/Makefile
2136             samples/oleauto/Makefile
2137             samples/ownerdrw/Makefile
2138             samples/png/Makefile
2139             samples/printing/Makefile
2140             samples/proplist/Makefile
2141             samples/regtest/Makefile
2142             samples/resource/Makefile
2143             samples/richedit/Makefile
2144             samples/sashtest/Makefile
2145             samples/scroll/Makefile
2146             samples/splitter/Makefile
2147             samples/tab/Makefile
2148             samples/taskbar/Makefile
2149             samples/text/Makefile
2150             samples/thread/Makefile
2151             samples/toolbar/Makefile
2152             samples/treectrl/Makefile
2153             samples/typetest/Makefile
2154             samples/validate/Makefile
2155             samples/wxpoem/Makefile
2156             samples/wxsocket/Makefile
2157           ],
2158           [
2159             chmod +x wx-config
2160 dnl The following line is more elegant but test -e is not supported by all
2161 dnl test varieties.
2162 dnl            if test ! -e include/wx/${TOOLKIT_DIR}/setup.h; then
2163             cat include/wx/${TOOLKIT_DIR}/setup.h >/dev/null 2>&1
2164             if test $? != 0; then
2165               ${LN_S} `pwd`/setup.h include/wx/${TOOLKIT_DIR}/setup.h
2166             fi
2167           ],
2168           [
2169             LN_S="${ac_cv_prog_LN_S}"
2170             TOOLKIT_DIR="${TOOLKIT_DIR}"
2171           ]
2172          )
2173