1 dnl Process this file with autoconf to produce a configure script.
4 dnl ---------------------------------------------------------------------------
6 dnl Top-level configure.in for wxWindows by Robert Roebling, Phil Blecker and
9 dnl This script is under the wxWindows licence.
12 dnl ---------------------------------------------------------------------------
14 dnl ---------------------------------------------------------------------------
16 dnl ---------------------------------------------------------------------------
18 dnl the file passed to AC_INIT should be speicific to our package
23 dnl When making releases do:
25 dnl WX_RELEASE_NUMBER += 1
26 dnl WX_INTERFACE_AGE += 1
27 dnl WX_BINARY_AGE += 1
29 dnl if any functions have been added, do:
31 dnl WX_INTERFACE_AGE = 0
33 WX_MAJOR_VERSION_NUMBER=2
34 WX_MINOR_VERSION_NUMBER=1
40 WX_VERSION=$WX_MAJOR_VERSION_NUMBER.$WX_MINOR_VERSION_NUMBER.$WX_RELEASE_NUMBER
42 AM_INIT_AUTOMAKE(wxWindows, $WX_VERSION)
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`
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.
59 LIBOBJS="$LIBOBJS ../common/extended.o"
61 dnl ------------------------------------------------------------------------
62 dnl Check platform (host system)
63 dnl ------------------------------------------------------------------------
86 dnl the list of all available toolkits
87 ALL_TOOLKITS="CYGWIN GTK MINGW MOTIF WINE"
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
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
107 DEFAULT_DEFAULT_wxUSE_MOTIF=1
114 if test "x$TMP" = "xalpha"; then
118 DEFAULT_DEFAULT_wxUSE_GTK=1
120 *-*-irix5* | *-*-irix6* )
125 DEFAULT_DEFAULT_wxUSE_MOTIF=1
132 AC_DEFINE(__SOLARIS__)
134 DEFAULT_DEFAULT_wxUSE_MOTIF=1
143 DEFAULT_DEFAULT_wxUSE_MOTIF=1
145 *-*-freebsd* | *-*-netbsd*)
148 AC_DEFINE(__FREEBSD__)
150 DEFAULT_DEFAULT_wxUSE_GTK=1
157 DEFAULT_DEFAULT_wxUSE_MOTIF=1
164 DEFAULT_DEFAULT_wxUSE_MOTIF=1
171 DEFAULT_DEFAULT_wxUSE_MOTIF=1
180 DEFAULT_DEFAULT_wxUSE_MOTIF=1
186 AC_MSG_ERROR(unknown system type $(host).)
189 if test "$USE_UNIX" = 1 ; then
192 EXTRA_VPATH="$EXTRA_VPATH:\$(srcdir)/../unix"
193 SRC_SUBDIRS="$SRC_SUBDIRS unix"
194 INCLUDE_SUBDIRS="$INCLUDE_SUBDIRS unix"
197 dnl Linux: test for libc5/glibc2: glibc2 has gettext() included
198 if test "$USE_LINUX" = 1; then
199 AC_CHECK_LIB(c,gettext,AC_DEFINE(wxHAVE_GLIBC2))
202 dnl TODO cross-compiling for Windows not yet supported
205 dnl if eval "test $USE_CYGWIN != 1 -a $USE_MINGW32 != 1"; then
206 dnl AC_DEFINE(__UNIX__)
208 dnl AC_DEFINE(__WINDOWS__)
209 dnl DEFAULT_wxUSE_MSW=1
212 dnl ---------------------------------------------------------------------------
213 dnl command line options for configure
214 dnl ---------------------------------------------------------------------------
216 dnl the default values for all options - we collect them all here to simplify
217 dnl modification of the default values (for example, if the defaults for some
218 dnl platform should be changed, it can be done here too)
220 dnl NB: see also DEFAULT_wxUSE<toolkit> variables defined above
224 dnl useful to test the compilation with minimum options, define as 0 for normal
227 if test $DEBUG_CONFIGURE = 1; then
228 DEFAULT_wxUSE_THREADS=yes
230 DEFAULT_wxUSE_OPTIMISE=no
231 DEFAULT_wxUSE_PROFILE=no
232 DEFAULT_wxUSE_DEBUG_FLAG=yes
233 DEFAULT_wxUSE_DEBUG_INFO=yes
234 DEFAULT_wxUSE_DEBUG_GDB=yes
235 DEFAULT_wxUSE_MEM_TRACING=no
236 DEFAULT_wxUSE_DEBUG_CONTEXT=no
237 DEFAULT_wxUSE_DMALLOC=no
238 DEFAULT_wxUSE_APPLE_IEEE=no
240 DEFAULT_wxUSE_LOG=yes
242 DEFAULT_wxUSE_GUI=yes
244 DEFAULT_wxUSE_ZLIB=no
245 DEFAULT_wxUSE_LIBPNG=no
246 DEFAULT_wxUSE_LIBGIF=no
247 DEFAULT_wxUSE_LIBJPEG=no
248 DEFAULT_wxUSE_ODBC=no
250 DEFAULT_wxUSE_FILE=no
251 DEFAULT_wxUSE_TEXTFILE=no
252 DEFAULT_wxUSE_TIMEDATE=no
253 DEFAULT_wxUSE_WAVE=no
254 DEFAULT_wxUSE_INTL=no
255 DEFAULT_wxUSE_CONFIG=no
256 DEFAULT_wxUSE_STREAMS=no
257 DEFAULT_wxUSE_SOCKETS=no
258 DEFAULT_wxUSE_SERIAL=no
259 DEFAULT_wxUSE_JOYSTICK=no
260 DEFAULT_wxUSE_DYNLIB_CLASS=no
261 DEFAULT_wxUSE_LONGLONG=no
263 DEFAULT_wxUSE_AFM_FOR_POSTSCRIPT=no
264 DEFAULT_wxUSE_NORMALIZED_PS_FONTS=no
265 DEFAULT_wxUSE_POSTSCRIPT=no
267 DEFAULT_wxUSE_X_RESOURCES=no
268 DEFAULT_wxUSE_CLIPBOARD=no
269 DEFAULT_wxUSE_TOOLTIPS=no
270 DEFAULT_wxUSE_DRAG_AND_DROP=no
271 DEFAULT_wxUSE_SPLINES=no
273 DEFAULT_wxUSE_MDI_ARCHITECTURE=no
274 DEFAULT_wxUSE_DOC_VIEW_ARCHITECTURE=no
275 DEFAULT_wxUSE_PRINTING_ARCHITECTURE=no
277 DEFAULT_wxUSE_PROLOGIO=no
278 DEFAULT_wxUSE_RESOURCES=no
279 DEFAULT_wxUSE_CONSTRAINTS=no
281 DEFAULT_wxUSE_HELP=no
282 DEFAULT_wxUSE_WXTREE=no
283 DEFAULT_wxUSE_METAFILE=no
285 DEFAULT_wxUSE_COMMONDLGS=no
286 DEFAULT_wxUSE_MINIFRAME=no
287 DEFAULT_wxUSE_VALIDATORS=yes
289 DEFAULT_wxUSE_ACCEL=no
290 DEFAULT_wxUSE_CARET=no
291 DEFAULT_wxUSE_BMPBUTTON=no
292 DEFAULT_wxUSE_CHECKBOX=no
293 DEFAULT_wxUSE_CHECKLST=no
294 DEFAULT_wxUSE_COMBOBOX=no
295 DEFAULT_wxUSE_GAUGE=no
296 DEFAULT_wxUSE_GRID=no
297 DEFAULT_wxUSE_IMAGLIST=no
298 DEFAULT_wxUSE_LISTBOX=no
299 DEFAULT_wxUSE_LISTCTRL=no
300 DEFAULT_wxUSE_NOTEBOOK=no
301 DEFAULT_wxUSE_RADIOBOX=no
302 DEFAULT_wxUSE_RADIOBTN=no
303 DEFAULT_wxUSE_SASH=no
304 DEFAULT_wxUSE_SCROLLBAR=no
305 DEFAULT_wxUSE_SLIDER=no
306 DEFAULT_wxUSE_SPINBTN=no
307 DEFAULT_wxUSE_SPLITTER=no
308 DEFAULT_wxUSE_STATBMP=no
309 DEFAULT_wxUSE_STATBOX=no
310 DEFAULT_wxUSE_STATLINE=no
311 DEFAULT_wxUSE_STATUSBAR=yes
312 DEFAULT_wxUSE_TABDIALOG=no
313 DEFAULT_wxUSE_TOOLBAR=no
314 DEFAULT_wxUSE_TREECTRL=no
316 DEFAULT_wxUSE_UNICODE=no
317 DEFAULT_wxUSE_WCSRTOMBS=no
319 DEFAULT_wxUSE_THREADS=yes
321 DEFAULT_wxUSE_OPTIMISE=yes
322 DEFAULT_wxUSE_PROFILE=no
323 DEFAULT_wxUSE_DEBUG_FLAG=no
324 DEFAULT_wxUSE_DEBUG_INFO=no
325 DEFAULT_wxUSE_DEBUG_GDB=no
326 DEFAULT_wxUSE_MEM_TRACING=no
327 DEFAULT_wxUSE_DEBUG_CONTEXT=no
328 DEFAULT_wxUSE_DMALLOC=no
329 DEFAULT_wxUSE_APPLE_IEEE=yes
331 DEFAULT_wxUSE_LOG=yes
333 DEFAULT_wxUSE_GUI=yes
335 DEFAULT_wxUSE_ZLIB=yes
336 DEFAULT_wxUSE_LIBPNG=yes
337 DEFAULT_wxUSE_LIBGIF=yes
338 DEFAULT_wxUSE_LIBJPEG=yes
339 DEFAULT_wxUSE_ODBC=no
341 DEFAULT_wxUSE_FILE=yes
342 DEFAULT_wxUSE_TEXTFILE=yes
343 DEFAULT_wxUSE_TIMEDATE=yes
344 DEFAULT_wxUSE_WAVE=no
345 DEFAULT_wxUSE_INTL=yes
346 DEFAULT_wxUSE_CONFIG=yes
347 DEFAULT_wxUSE_STREAMS=yes
348 DEFAULT_wxUSE_SOCKETS=yes
349 DEFAULT_wxUSE_SERIAL=yes
350 DEFAULT_wxUSE_JOYSTICK=yes
351 DEFAULT_wxUSE_DYNLIB_CLASS=yes
352 DEFAULT_wxUSE_LONGLONG=no
354 DEFAULT_wxUSE_AFM_FOR_POSTSCRIPT=yes
355 DEFAULT_wxUSE_NORMALIZED_PS_FONTS=yes
356 DEFAULT_wxUSE_POSTSCRIPT=yes
358 DEFAULT_wxUSE_X_RESOURCES=no
359 DEFAULT_wxUSE_CLIPBOARD=yes
360 DEFAULT_wxUSE_TOOLTIPS=yes
361 DEFAULT_wxUSE_DRAG_AND_DROP=yes
362 DEFAULT_wxUSE_SPLINES=yes
364 DEFAULT_wxUSE_MDI_ARCHITECTURE=yes
365 DEFAULT_wxUSE_DOC_VIEW_ARCHITECTURE=yes
366 DEFAULT_wxUSE_PRINTING_ARCHITECTURE=yes
368 DEFAULT_wxUSE_PROLOGIO=yes
369 DEFAULT_wxUSE_RESOURCES=yes
370 DEFAULT_wxUSE_CONSTRAINTS=yes
371 DEFAULT_wxUSE_IPC=yes
372 DEFAULT_wxUSE_HELP=yes
373 DEFAULT_wxUSE_WXTREE=yes
374 DEFAULT_wxUSE_METAFILE=yes
376 DEFAULT_wxUSE_COMMONDLGS=yes
377 DEFAULT_wxUSE_MINIFRAME=yes
378 DEFAULT_wxUSE_VALIDATORS=yes
380 DEFAULT_wxUSE_ACCEL=yes
381 DEFAULT_wxUSE_CARET=yes
382 DEFAULT_wxUSE_BMPBUTTON=yes
383 DEFAULT_wxUSE_CHECKBOX=yes
384 DEFAULT_wxUSE_CHECKLST=yes
385 DEFAULT_wxUSE_COMBOBOX=yes
386 DEFAULT_wxUSE_GAUGE=yes
387 DEFAULT_wxUSE_GRID=yes
388 DEFAULT_wxUSE_IMAGLIST=yes
389 DEFAULT_wxUSE_LISTBOX=yes
390 DEFAULT_wxUSE_LISTCTRL=yes
391 DEFAULT_wxUSE_NOTEBOOK=yes
392 DEFAULT_wxUSE_RADIOBOX=yes
393 DEFAULT_wxUSE_RADIOBTN=yes
394 DEFAULT_wxUSE_SASH=yes
395 DEFAULT_wxUSE_SCROLLBAR=yes
396 DEFAULT_wxUSE_SLIDER=yes
397 DEFAULT_wxUSE_SPINBTN=yes
398 DEFAULT_wxUSE_SPLITTER=yes
399 DEFAULT_wxUSE_STATBMP=yes
400 DEFAULT_wxUSE_STATBOX=yes
401 DEFAULT_wxUSE_STATLINE=yes
402 DEFAULT_wxUSE_STATUSBAR=yes
403 DEFAULT_wxUSE_TABDIALOG=no
404 DEFAULT_wxUSE_TOOLBAR=yes
405 DEFAULT_wxUSE_TREECTRL=yes
407 DEFAULT_wxUSE_UNICODE=no
408 DEFAULT_wxUSE_WCSRTOMBS=no
411 dnl WX_ARG_WITH should be used to select whether an external package will be
412 dnl used or not, to configure compile-time features of this package itself,
413 dnl use WX_ARG_ENABLE instead
415 dnl ============================
416 dnl external package dependecies
417 dnl ============================
419 dnl TODO should support these options!
421 dnl AC_ARG_WITH(gtk-prefix, [ --with-gtk-prefix=PFX prefix where GTK is installed],
422 dnl gtk_config_prefix="$withval", gtk_config_prefix="")
423 dnl AC_ARG_WITH(gtk-exec-prefix,
424 dnl [ --with-gtk-exec-prefix=PFX exec prefix where GTK is installed], gtk_config_exec_prefix="$withval", gtk_config_exec_prefix="")
426 dnl these options use AC_ARG_WITH and not WX_ARG_WITH on purpose - we cache
427 dnl these values manually
428 for toolkit in `echo $ALL_TOOLKITS`; do
429 LINE=`grep "wxUSE_$toolkit" ${wx_arg_cache_file}`
430 if test "x$LINE" != x ; then
431 has_toolkit_in_cache=1
433 eval "CACHE_$toolkit=1"
437 AC_ARG_WITH(gtk, [ --with-gtk use GTK+], [wxUSE_GTK="$withval" CACHE_GTK=1 TOOLKIT_GIVEN=1])
438 AC_ARG_WITH(motif, [ --with-motif use Motif/Lesstif], [wxUSE_MOTIF="$withval" CACHE_MOTIF=1 TOOLKIT_GIVEN=1])
439 AC_ARG_WITH(wine, [ --with-wine use WINE], [wxUSE_WINE="$withval" CACHE_WINE=1 TOOLKIT_GIVEN=1])
440 AC_ARG_WITH(cygwin, [ --with-cygwin use Cygwin for MS-Windows], [wxUSE_CYGWIN="$withval" CACHE_CYGWIN=1 TOOLKIT_GIVEN=1])
441 AC_ARG_WITH(mingw, [ --with-mingw use GCC Minimal MS-Windows], [wxUSE_MINGW="$withval" CACHE_MINGW=1 TOOLKIT_GIVEN=1])
443 WX_ARG_WITH(dmalloc, [ --with-dmalloc use dmalloc library (www.letters.com/dmalloc)], wxUSE_DMALLOC)
444 WX_ARG_WITH(zlib, [ --with-zlib use zlib for LZW compression], wxUSE_ZLIB)
445 WX_ARG_WITH(libpng, [ --with-libpng use libpng (PNG image format)], wxUSE_LIBPNG)
446 WX_ARG_WITH(libgif, [ --with-libgif use libgif (GIF file format)], wxUSE_LIBGIF)
447 WX_ARG_WITH(libjpeg, [ --with-libjpeg use libjpeg (JPEG file format)], wxUSE_LIBJPEG)
448 WX_ARG_WITH(opengl, [ --with-opengl use OpenGL (or Mesa)], wxUSE_OPENGL)
449 WX_ARG_WITH(odbc, [ --with-odbc use the IODBC and wxODBC classes], wxUSE_ODBC)
451 dnl ====================
452 dnl compile-time options
453 dnl ====================
455 dnl ---------------------------------------------------------------------------
457 dnl ---------------------------------------------------------------------------
459 WX_ARG_ENABLE(optimise, [ --enable-optimise create optimised code], wxUSE_OPTIMISE)
460 WX_ARG_ENABLE(debug, [ --enable-debug same as debug_flag and debug_info], wxUSE_DEBUG)
462 if test "$wxUSE_DEBUG" = "yes"; then
463 DEFAULT_wxUSE_DEBUG_FLAG=yes
464 DEFAULT_wxUSE_DEBUG_INFO=yes
465 elif test "$wxUSE_DEBUG" = "no"; then
466 DEFAULT_wxUSE_DEBUG_FLAG=no
467 DEFAULT_wxUSE_DEBUG_INFO=no
470 WX_ARG_ENABLE(debug_flag, [ --enable-debug_flag set __WXDEBUG__ flag (recommended for developers!)], wxUSE_DEBUG_FLAG)
471 WX_ARG_ENABLE(debug_info, [ --enable-debug_info create code with debugging information], wxUSE_DEBUG_INFO)
472 WX_ARG_ENABLE(debug_gdb, [ --enable-debug_gdb create code with extra GDB debugging information], wxUSE_DEBUG_GDB)
473 WX_ARG_ENABLE(debug_cntxt, [ --enable-debug_cntxt use wxDebugContext], wxUSE_DEBUG_CONTEXT)
474 WX_ARG_ENABLE(mem_tracing, [ --enable-mem_tracing create code with memory tracing], wxUSE_MEM_TRACING)
475 WX_ARG_ENABLE(profile, [ --enable-profile create code with profiling information], wxUSE_PROFILE)
477 dnl ---------------------------------------------------------------------------
478 dnl --disable-gui will build only non-GUI part of wxWindows
480 dnl NB: this is still in testing stage, don't use if you don't know what you're
482 dnl ---------------------------------------------------------------------------
484 WX_ARG_ENABLE(gui, [ --enable-gui use GUI classes], wxUSE_GUI)
486 dnl ---------------------------------------------------------------------------
487 dnl (small) optional non GUI classes
488 dnl ---------------------------------------------------------------------------
490 WX_ARG_ENABLE(intl, [ --enable-intl use internationalization system], wxUSE_INTL)
491 WX_ARG_ENABLE(config, [ --enable-config use wxConfig (and derived) classes], wxUSE_CONFIG)
492 WX_ARG_ENABLE(sockets, [ --enable-sockets use socket/network classes], wxUSE_SOCKETS)
493 WX_ARG_ENABLE(ipc, [ --enable-ipc use interprocess communication (wxSocket etc.)], wxUSE_IPC)
494 WX_ARG_ENABLE(apple_ieee, [ --enable-apple_ieee use the Apple IEEE codec], wxUSE_APPLE_IEEE)
495 WX_ARG_ENABLE(timedate, [ --enable-timedate use date/time classes], wxUSE_TIMEDATE)
496 WX_ARG_ENABLE(wave, [ --enable-wave use wxWave class], wxUSE_WAVE)
497 WX_ARG_ENABLE(fraction, [ --enable-fraction use wxFraction class], wxUSE_FRACTION)
498 WX_ARG_ENABLE(dynlib, [ --enable-dynlib use wxLibrary class for DLL loading], wxUSE_DYNLIB_CLASS)
499 WX_ARG_ENABLE(longlong, [ --enable-longlong use wxLongLong class], wxUSE_LONGLONG)
500 WX_ARG_ENABLE(log, [ --enable-log use logging system], wxUSE_LOG)
501 WX_ARG_ENABLE(streams, [ --enable-streams use wxStream etc classes], wxUSE_STREAMS)
502 WX_ARG_ENABLE(file, [ --enable-file use wxFile classes], wxUSE_FILE)
503 WX_ARG_ENABLE(textfile, [ --enable-textfile use wxTextFile classes], wxUSE_TEXTFILE)
504 WX_ARG_ENABLE(unicode, [ --enable-unicode compile wxString with Unicode support], wxUSE_UNICODE)
505 WX_ARG_ENABLE(wcsrtombs, [ --enable-wcsrtombs use wcsrtombs instead of buggy (GNU libc1/Linux libc5) wcstombs], wxUSE_WCSRTOMBS)
506 WX_ARG_ENABLE(wxprintfv, [ --enable-wxprintfv use wxWindows implementation of vprintf()], wxUSE_EXPERIMENTAL_PRINTF)
507 WX_ARG_ENABLE(joystick, [ --enable-joystick compile in joystick support (Linux only)], wxUSE_JOYSTICK)
509 dnl ---------------------------------------------------------------------------
510 dnl "big" options (i.e. those which change a lot of things throughout the library)
511 dnl ---------------------------------------------------------------------------
513 WX_ARG_ENABLE(threads, [ --enable-threads use threads], wxUSE_THREADS)
514 WX_ARG_ENABLE(serial, [ --enable-serial use class serialization], wxUSE_SERIAL)
516 dnl ---------------------------------------------------------------------------
517 dnl "big" GUI options
518 dnl ---------------------------------------------------------------------------
520 WX_ARG_ENABLE(docview, [ --enable-docview use document view architecture], wxUSE_DOC_VIEW_ARCHITECTURE)
521 WX_ARG_ENABLE(help, [ --enable-help use help (using external browser at present)], wxUSE_HELP)
522 WX_ARG_ENABLE(constraints, [ --enable-constraints use layout-constraints system], wxUSE_CONSTRAINTS)
523 WX_ARG_ENABLE(printarch, [ --enable-printarch use printing architecture], wxUSE_PRINTING_ARCHITECTURE)
524 WX_ARG_ENABLE(mdi, [ --enable-mdi use multiple document interface architecture], wxUSE_MDI_ARCHITECTURE)
526 dnl ---------------------------------------------------------------------------
527 dnl PostScript options
528 dnl ---------------------------------------------------------------------------
529 WX_ARG_ENABLE(postscript, [ --enable-postscript use wxPostscriptDC device context (default for gtk+)], wxUSE_POSTSCRIPT)
531 dnl VZ: these options seem to be always on, if someone wants to change it please do
532 dnl WX_ARG_ENABLE(PS-normalized, [ --enable-PS-normalized use normalized PS fonts], dnl wxUSE_NORMALIZED_PS_FONTS)
533 dnl WX_ARG_ENABLE(afmfonts, [ --enable-afmfonts use Adobe Font Metric Font table], dnl wxUSE_AFM_FOR_POSTSCRIPT)
535 dnl ---------------------------------------------------------------------------
537 dnl ---------------------------------------------------------------------------
538 WX_ARG_ENABLE(prologio, [ --enable-prologio use Prolog IO library], wxUSE_PROLOGIO)
539 WX_ARG_ENABLE(resources, [ --enable-resources use wxWindows resources], wxUSE_RESOURCES)
541 WX_ARG_ENABLE(xresources, [ --enable-xresources use X resources for save (default for gtk+)], wxUSE_X_RESOURCES)
543 dnl ---------------------------------------------------------------------------
545 dnl ---------------------------------------------------------------------------
547 WX_ARG_ENABLE(clipboard, [ --enable-clipboard use wxClipboard classes], wxUSE_CLIPBOARD)
548 WX_ARG_ENABLE(dnd, [ --enable-dnd use Drag'n'Drop classes], wxUSE_DRAG_AND_DROP)
550 dnl TODO: doesn't work yet
551 WX_ARG_ENABLE(wxtree, [ --enable-wxtree make wxTree library], wxUSE_WXTREE)
553 dnl ---------------------------------------------------------------------------
554 dnl optional GUI controls (in alphabetical order except the first one)
555 dnl ---------------------------------------------------------------------------
557 WX_ARG_ENABLE(controls, [ --enable-controls use all usual controls], wxUSE_CONTROLS)
559 dnl even with --enable-controls, some may be disabled by giving
560 dnl --disable-<control> later on the command line - but by default all will be
561 dnl used (and vice versa)
562 if test "$wxUSE_CONTROLS" = "yes"; then
563 DEFAULT_wxUSE_ACCEL=yes
564 DEFAULT_wxUSE_CARET=yes
565 DEFAULT_wxUSE_COMBOBOX=yes
566 DEFAULT_wxUSE_BMPBUTTON=yes
567 DEFAULT_wxUSE_CHECKBOX=yes
568 DEFAULT_wxUSE_CHECKLISTBOX=yes
569 DEFAULT_wxUSE_GAUGE=yes
570 DEFAULT_wxUSE_GRID=yes
571 DEFAULT_wxUSE_IMAGLIST=yes
572 DEFAULT_wxUSE_LISTBOX=yes
573 DEFAULT_wxUSE_LISTCTRL=yes
574 DEFAULT_wxUSE_NOTEBOOK=yes
575 DEFAULT_wxUSE_RADIOBOX=yes
576 DEFAULT_wxUSE_RADIOBTN=yes
577 DEFAULT_wxUSE_SASH=yes
578 DEFAULT_wxUSE_SCROLLBAR=yes
579 DEFAULT_wxUSE_SLIDER=yes
580 DEFAULT_wxUSE_SPINBTN=yes
581 DEFAULT_wxUSE_SPLITTER=yes
582 DEFAULT_wxUSE_STATBMP=yes
583 DEFAULT_wxUSE_STATBOX=yes
584 DEFAULT_wxUSE_STATLINE=yes
585 DEFAULT_wxUSE_STATUSBAR=yes
586 DEFAULT_wxUSE_TAB_DIALOG=yes
587 DEFAULT_wxUSE_TOOLBAR=yes
588 DEFAULT_wxUSE_TOOLTIPS=yes
589 DEFAULT_wxUSE_TREECTRL=yes
590 elif test "$wxUSE_CONTROLS" = "no"; then
591 DEFAULT_wxUSE_ACCEL=no
592 DEFAULT_wxUSE_CARET=no
593 DEFAULT_wxUSE_COMBOBOX=no
594 DEFAULT_wxUSE_BMPBUTTON=no
595 DEFAULT_wxUSE_CHECKBOX=no
596 DEFAULT_wxUSE_CHECKLISTBOX=no
597 DEFAULT_wxUSE_GAUGE=no
598 DEFAULT_wxUSE_GRID=no
599 DEFAULT_wxUSE_IMAGLIST=no
600 DEFAULT_wxUSE_LISTBOX=no
601 DEFAULT_wxUSE_LISTCTRL=no
602 DEFAULT_wxUSE_NOTEBOOK=no
603 DEFAULT_wxUSE_RADIOBOX=no
604 DEFAULT_wxUSE_RADIOBTN=no
605 DEFAULT_wxUSE_SASH=no
606 DEFAULT_wxUSE_SCROLLBAR=no
607 DEFAULT_wxUSE_SLIDER=no
608 DEFAULT_wxUSE_SPINBTN=no
609 DEFAULT_wxUSE_SPLITTER=no
610 DEFAULT_wxUSE_STATBMP=no
611 DEFAULT_wxUSE_STATBOX=no
612 DEFAULT_wxUSE_STATLINE=no
613 DEFAULT_wxUSE_STATUSBAR=no
614 DEFAULT_wxUSE_TAB_DIALOG=no
615 DEFAULT_wxUSE_TOOLBAR=no
616 DEFAULT_wxUSE_TOOLTIPS=no
617 DEFAULT_wxUSE_TREECTRL=no
620 WX_ARG_ENABLE(accel, [ --enable-accel use accelerators], wxUSE_ACCEL)
621 WX_ARG_ENABLE(caret, [ --enable-caret use wxCaret class], wxUSE_CARET)
622 WX_ARG_ENABLE(bmpbutton, [ --enable-bmpbutton use wxBitmapButton class], wxUSE_BMPBUTTON)
623 WX_ARG_ENABLE(checkbox, [ --enable-checkbox use wxCheckBox class], wxUSE_CHECKBOX)
624 WX_ARG_ENABLE(checklst, [ --enable-checklst use wxCheckListBox (listbox with checkboxes) class], wxUSE_CHECKLST)
625 WX_ARG_ENABLE(combobox, [ --enable-combobox use wxChoice and wxComboBox classes], wxUSE_COMBOBOX)
626 WX_ARG_ENABLE(gauge, [ --enable-gauge use wxGauge class], wxUSE_GAUGE)
627 WX_ARG_ENABLE(grid, [ --enable-grid use wxGrid class], wxUSE_GRID)
628 WX_ARG_ENABLE(imaglist, [ --enable-imaglist use wxImageList class], wxUSE_IMAGLIST)
629 WX_ARG_ENABLE(listbox, [ --enable-listbox use wxListBox class], wxUSE_LISTBOX)
630 WX_ARG_ENABLE(listctrl, [ --enable-listctrl use wxListCtrl class], wxUSE_LISTCTRL)
631 WX_ARG_ENABLE(notebook, [ --enable-notebook use wxNotebook class], wxUSE_NOTEBOOK)
632 WX_ARG_ENABLE(radiobox, [ --enable-radiobox use wxRadioBox class], wxUSE_RADIOBOX)
633 WX_ARG_ENABLE(radiobtn, [ --enable-radiobtn use wxRadioButton class], wxUSE_RADIOBTN)
634 WX_ARG_ENABLE(sash, [ --enable-sash use wxSashWindow class], wxUSE_SASH)
635 WX_ARG_ENABLE(scrollbar, [ --enable-scrollbar use wxScrollBar class and scrollable windows], wxUSE_SCROLLBAR)
636 WX_ARG_ENABLE(slider, [ --enable-slider use wxSlider class], wxUSE_SLIDER)
637 WX_ARG_ENABLE(spinbtn, [ --enable-spinbtn use wxSpinButton class], wxUSE_SPINBTN)
638 WX_ARG_ENABLE(splitter, [ --enable-splitter use wxSplitterWindow class], wxUSE_SPLITTER)
639 WX_ARG_ENABLE(statbmp, [ --enable-statbmp use wxStaticBitmap class], wxUSE_STATBMP)
640 WX_ARG_ENABLE(statbox, [ --enable-statbox use wxStaticBox class], wxUSE_STATBOX)
641 WX_ARG_ENABLE(statline, [ --enable-statline use wxStaticLine class], wxUSE_STATLINE)
642 WX_ARG_ENABLE(statusbar, [ --enable-statusbar use wxStatusBar class], wxUSE_STATUSBAR)
643 WX_ARG_ENABLE(tabdialog, [ --enable-tabdialog use wxTabControl class], wxUSE_TABDIALOG)
644 WX_ARG_ENABLE(toolbar, [ --enable-toolbar use wxToolBar class], wxUSE_TOOLBAR)
645 WX_ARG_ENABLE(treectrl, [ --enable-treectrl use wxTreeCtrl class], wxUSE_TREECTRL)
647 dnl ---------------------------------------------------------------------------
649 dnl ---------------------------------------------------------------------------
651 WX_ARG_ENABLE(commondlg, [ --enable-commondlg use common dialogs (wxDirDialog, wxProgressDialog, wxTextDialog, ...)], wxUSE_COMMONDLGS)
652 WX_ARG_ENABLE(miniframe, [ --enable-miniframe use wxMiniFrame class], wxUSE_MINIFRAME)
653 WX_ARG_ENABLE(tooltips, [ --enable-tooltips use wxToolTip class], wxUSE_TOOLTIPS)
654 WX_ARG_ENABLE(splines, [ --enable-splines use spline drawing code], wxUSE_SPLINES)
655 WX_ARG_ENABLE(validators, [ --enable-validators use wxValidator and derived classes], wxUSE_VALIDATORS)
657 dnl cache the options values before (may be) aborting below
660 dnl check that no more than one toolkit is given and that if none are given that
661 dnl we have a default one
663 AC_MSG_CHECKING(for toolkit)
665 if test "$TOOLKIT_GIVEN" = 1; then
666 dnl convert "yes" to 1 and "no" to 0
667 for toolkit in `echo $ALL_TOOLKITS`; do
669 eval "value=\$${var}"
670 eval "$var=`echo \$value | sed -e "s/yes/1/" -e "s/no/0/"`"
673 dnl try to guess the most apropriate toolkit for this platform
674 for toolkit in `echo $ALL_TOOLKITS`; do
675 if test "$has_toolkit_in_cache" != 1; then
676 var=DEFAULT_DEFAULT_wxUSE_$toolkit
678 var=DEFAULT_wxUSE_$toolkit
680 eval "wxUSE_$toolkit=\$${var}"
684 dnl we suppose that expr exists...
685 NUM_TOOLKITS=`expr ${wxUSE_GTK:-0} + ${wxUSE_MOTIF:-0} + ${wxUSE_WINE:-0} + ${wxUSE_MINGW:-0} + ${wxUSE_CYGWIN:-0}`
687 case "$NUM_TOOLKITS" in
691 AC_MSG_ERROR(Please specify a toolkit - cannot determine the default for ${host})
694 AC_MSG_ERROR(Please specify at most one toolkit (may be some are cached?))
697 dnl cache the wxUSE_<TOOLKIT> values too
698 for toolkit in `echo $ALL_TOOLKITS`; do
700 eval "value=\$${var}"
701 if test "x$value" != x; then
702 cache_var=CACHE_$toolkit
703 eval "cache=\$${cache_var}"
704 if test "$cache" = 1; then
705 echo "$var=$value" >> ${wx_arg_cache_file}
707 if test "$value" = 1; then
708 AC_MSG_RESULT(`echo $toolkit | tr [[A-Z]] [[a-z]]`)
713 dnl ---------------------------------------------------------------------------
714 dnl Checks for programs
715 dnl ---------------------------------------------------------------------------
717 dnl flush the cache because checking for programs might abort
720 dnl cross-compiling support: we're cross compiling if the build system is
721 dnl different from the target one (assume host and target be always the same)
722 if eval "test $host != $build"; then
723 if eval "test $build != NONE"; then
726 RANLIB="$build-ranlib"
731 dnl C-compiler checks
732 dnl defines CC with the compiler to use
733 dnl defines GCC with yes if using gcc
734 dnl defines GCC empty if not using gcc
738 CFLAGS=`echo "$CFLAGS" | sed 's/-g//g'`
740 dnl what is the c-preprocessor
741 dnl defines CPP with the c-preprocessor
744 dnl is -traditional needed for correct compilations
745 dnl adds -traditional for gcc if needed
746 AC_PROG_GCC_TRADITIONAL
751 dnl C++-compiler checks
752 dnl defines CXX with the compiler to use
753 dnl defines GXX with yes if using gxx
754 dnl defines GXX empty if not using gxx
758 dnl what is the C++-preprocessor
759 dnl defines CXXCPP with the C++-preprocessor
762 CXXFLAGS=`echo "$CXXFLAGS" | sed 's/-g//g'`
767 dnl defines RANLIB with the appropriate command
771 dnl defines AR with the appropriate command
772 AC_CHECK_PROG(AR, ar, ar, ar)
775 dnl defines INSTALL with the appropriate command
779 dnl defines STRIP as strip or nothing if not found
780 AC_CHECK_PROG(STRIP, strip, strip, true)
782 dnl check if VPATH works
783 AC_MSG_CHECKING("make for VPATH support")
785 cat - << EOF > confMake
791 if test ! -d sub ; then
794 echo dummy > sub/file
795 ${MAKE-make} -f confMake VPATH=sub 2> config.log > /dev/null
797 rm -f sub/file check final_file confMake
799 if test "$RESULT" = 0; then
804 You need a make-utility that is able to use the variable
806 If your version of make does not support VPATH correctly,
807 please install GNU-make (possibly as gmake), and start
808 configure with the following command:
809 export MAKE=gmake; ./configure for sh-type shells
810 setenv MAKE gmake; ./configure for csh-type shells
811 Also please do remember to use gmake in this case every time
812 you are trying to compile.
817 dnl defines YACC with the appropriate command
821 dnl defines LEX with the appropriate command
822 dnl defines LEXLIB with the appropriate library
823 dnl this AM version (don't use AC_PROG_LEX!) also
824 dnl defines YYTEXT_POINTER if yytext is char*
825 dnl defines LEX_OUTPUT_ROOT as to the base of the
826 dnl filename output by the lexer
829 dnl needed for making link to setup.h
832 dnl libtool checks (disable static libs by default, this takes too much time...)
836 dnl ---------------------------------------------------------------------------
837 dnl Define search path for includes and libraries: all headers and libs will be
838 dnl looked for in all directories of this path
839 dnl ---------------------------------------------------------------------------
842 /usr/Motif-1.2/include \
843 /usr/Motif-2.1/include \
845 /usr/include/Motif1.2 \
846 /opt/xpm/include/X11 \
848 /usr/Motif1.2/include \
864 /usr/local/X11R6/include \
865 /usr/local/X11R5/include \
866 /usr/local/X11R4/include \
868 /usr/local/include/X11R6 \
869 /usr/local/include/X11R5 \
870 /usr/local/include/X11R4 \
874 /usr/local/X11/include \
875 /usr/local/include/X11 \
879 /usr/XFree86/include/X11 \
885 /usr/local/include/gtk \
887 /usr/local/include/glib \
890 /usr/local/include/qt \
893 /usr/local/include/wine \
895 /usr/unsupported/include \
896 /usr/athena/include \
897 /usr/local/x11r5/include \
898 /usr/lpp/Xamples/include \
900 /usr/openwin/include \
901 /usr/openwin/share/include \
904 SEARCH_LIB="`echo "$SEARCH_INCLUDE" | sed s/include/lib/g` "
906 dnl ------------------------------------------------------------------------
907 dnl Check for libraries
908 dnl ------------------------------------------------------------------------
910 dnl flush the cache because checking for libraries below might abort
913 dnl ----------------------------------------------------------------
914 dnl search for toolkit (widget sets)
915 dnl ----------------------------------------------------------------
929 if test "$wxUSE_GTK" = 1; then
930 dnl avoid calling AM_PATH_GTK twice, so check first for the newer version and
931 dnl only then, if it wasn't found, for an older one
932 AM_PATH_GTK(1.2.0, WXGTK12=1)
933 if test "$WXGTK12" != 1; then
934 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?))
937 TOOLKIT_INCLUDE="$GTK_CFLAGS"
938 GUI_TK_LIBRARY="$GTK_LIBS"
942 if test "$wxUSE_WINE" = 1; then
943 AC_MSG_CHECKING(for WINE includes)
944 WX_PATH_FIND_INCLUDES($SEARCH_INCLUDE, windows.h)
945 if test "$ac_find_includes" != "" ; then
946 AC_MSG_RESULT(found $ac_find_includes)
947 TOOLKIT_INCLUDE="$TOOLKIT_INCLUDE -I$ac_find_includes"
950 AC_MSG_ERROR(please set CFLAGS to contain the location of windows.h)
954 AC_MSG_CHECKING(for Xpm library)
955 WX_PATH_FIND_LIBRARIES($SEARCH_LIB,Xpm)
956 if test "$ac_find_libraries" != "" ; then
957 GUI_TK_LIBRARY="-L$ac_find_libraries"
959 AC_DEFINE(wxHAVE_LIB_XPM)
960 AC_MSG_RESULT(found at $ac_find_libraries)
963 AC_MSG_WARN(library will be compiled without support for images in XPM format)
967 AC_MSG_CHECKING(for Mesa library)
968 WX_PATH_FIND_LIBRARIES($SEARCH_LIB,MesaGL)
969 if test "$ac_find_libraries" != "" ; then
970 GUI_TK_LIBRARY="$GUI_TK_LIBRARY -L$ac_find_libraries"
972 AC_MSG_RESULT(found at $ac_find_libraries)
977 GUI_TK_LINK="-lwine $MESA_LINK $XPM_LINK -lXxf86dga -lXxf86vm -lSM -lICE -lXext -lXmu -lX11 -lncurses -ldl -lm"
978 GUI_TK_LIBRARY="$GUI_TK_LIBRARY $GUI_TK_LINK"
983 if test "$wxUSE_MOTIF" = 1; then
984 dnl find the X11 include and library files
985 dnl defines x_includes and x_libraries
988 if test "$no_x" = "yes"; then
989 AC_MSG_ERROR(X11 libraries not found, aborting)
992 TOOLKIT_INCLUDE="$X_CFLAGS"
993 GUI_TK_LIBRARY="$X_LIBS"
995 AC_MSG_CHECKING(for Motif/Lesstif includes)
996 WX_PATH_FIND_INCLUDES($SEARCH_INCLUDE, Xm/Xm.h)
997 if test "$ac_find_includes" != "" ; then
998 AC_MSG_RESULT(found $ac_find_includes)
1001 AC_MSG_ERROR(please set CFLAGS to contain the location of Xm/Xm.h)
1004 AC_MSG_CHECKING(for Motif/Lesstif library)
1005 WX_PATH_FIND_LIBRARIES($SEARCH_LIB, Xm)
1006 if test "$ac_find_libraries" != "" ; then
1007 WX_INCLUDE_PATH_EXIST($ac_find_includes, $TOOLKIT_INCLUDE)
1008 WX_LINK_PATH_EXIST($ac_find_libraries, $GUI_TK_LIBRARY)
1010 CHECK_LINK="$GUI_TK_LIBRARY $ac_path_to_link"
1011 TOOLKIT_INCLUDE="$TOOLKIT_INCLUDE $ac_path_to_include"
1012 AC_MSG_RESULT(found at $ac_find_libraries)
1015 AC_MSG_ERROR(please set LDFLAGS to contain the location of libXm)
1018 AC_MSG_CHECKING(for Xt library)
1019 WX_PATH_FIND_LIBRARIES($SEARCH_LIB,Xt)
1020 if test "$ac_find_libraries" != "" ; then
1021 WX_LINK_PATH_EXIST($ac_find_libraries,$GUI_TK_LIBRARY)
1022 CHECK_LINK="$GUI_TK_LIBRARY $ac_path_to_link"
1023 AC_MSG_RESULT(found at $ac_find_libraries)
1026 AC_MSG_ERROR(please set LDFLAGS to contain the location of libXt)
1030 AC_MSG_CHECKING(for Xpm library)
1031 WX_PATH_FIND_LIBRARIES($SEARCH_LIB,Xpm)
1032 if test "$ac_find_libraries" != "" ; then
1033 WX_LINK_PATH_EXIST($ac_find_libraries,$GUI_TK_LIBRARY)
1034 CHECK_LINK="$GUI_TK_LIBRARY $ac_path_to_link"
1036 AC_DEFINE(wxHAVE_LIB_XPM)
1037 AC_MSG_RESULT(found at $ac_find_libraries)
1040 AC_MSG_WARN(library will be compiled without support for images in XPM format)
1043 GUI_TK_LINK="-lXm $XPM_LINK -lXmu -lXt -lX11 -lm"
1044 GUI_TK_LIBRARY="$GUI_TK_LIBRARY $GUI_TK_LINK"
1048 dnl the name of the directory where the files for this toolkit live
1049 TOOLKIT_DIR=`echo ${TOOLKIT} | tr "A-Z" "a-z"`
1051 dnl the symbol which allows conditional compilation for the given toolkit
1052 TOOLKIT_DEF=-D__WX${TOOLKIT}__
1054 dnl the name of the (libtool) library
1055 WX_LIBRARY_NAME="libwx_${TOOLKIT_DIR}.la"
1057 dnl the name of the library to be linked reported by wx-config
1058 WX_LIBRARY="wx_${TOOLKIT_DIR}"
1060 dnl ------------------------------------------------------------------------
1061 dnl Check for headers
1062 dnl ------------------------------------------------------------------------
1064 dnl defines HAVE_STRINGS_H (where some string functions live on AIX for example)
1065 AC_CHECK_HEADERS(strings.h)
1066 dnl defines HAVE_UNISTD_H
1067 AC_CHECK_HEADERS(unistd.h)
1068 dnl defines HAVE_WCHAR_H
1069 AC_CHECK_HEADERS(wchar.h)
1070 dnl defines HAVE_WCSTR_H
1071 AC_CHECK_HEADERS(wcstr.h)
1072 dnl defines HAVE_FNMATCH_H
1073 AC_CHECK_HEADERS(fnmatch.h)
1074 dnl defines HAVE_X11_XKBLIB_H
1075 AC_CHECK_HEADERS(X11/XKBlib.h)
1077 dnl ---------------------------------------------------------------------------
1078 dnl Checks for typedefs
1079 dnl ---------------------------------------------------------------------------
1081 dnl defines mode_t if not already defined
1083 dnl defines off_t if not already defined
1085 dnl defines pid_t if not already defined
1087 dnl defines size_t if not already defined
1089 dnl defines uid_t and gid_t if not already defined
1092 dnl ---------------------------------------------------------------------------
1093 dnl Checks for structures
1094 dnl ---------------------------------------------------------------------------
1096 dnl ---------------------------------------------------------------------------
1097 dnl Checks for compiler characteristics
1098 dnl ---------------------------------------------------------------------------
1100 dnl defines const to be empty if c-compiler does not support const fully
1102 dnl defines inline to a sensible value for the c-compiler
1105 dnl check the sizes of integral types (give some reasonable default values for
1106 dnl cross-compiling)
1107 dnl defines the size of certain types of variables in SIZEOF_<TYPE>
1108 AC_CHECK_SIZEOF(char, 1)
1109 AC_CHECK_SIZEOF(short, 2)
1110 AC_CHECK_SIZEOF(int *, 4)
1111 AC_CHECK_SIZEOF(int, 4)
1112 AC_CHECK_SIZEOF(long, 4)
1113 AC_CHECK_SIZEOF(long long, 0)
1115 dnl for bytesex stuff (don't use AC_C_BIGENDIAN to allow cross-compiling)
1118 dnl check for iostream (as opposed to iostream.h) standard header
1119 WX_CPP_NEW_HEADERS(, AC_DEFINE(wxUSE_IOSTREAMH))
1121 dnl check whether C++ compiler supports bool built-in type
1124 dnl check whether overloading on size_t/int parameter works
1125 WX_CPP_SIZE_T_IS_NOT_INT
1127 dnl ---------------------------------------------------------------------------
1128 dnl Check for functions
1129 dnl ---------------------------------------------------------------------------
1131 dnl check for wcslen
1132 AC_CHECK_LIB(c, wcslen, [
1133 AC_DEFINE(HAVE_WCSLEN)
1136 AC_CHECK_LIB(w, wcslen, [
1137 AC_DEFINE(HAVE_WCSLEN)
1142 dnl check for vprintf/vsprintf() which are GNU extensions
1145 dnl check for vsnprintf() - a safe version of vsprintf()
1146 AC_CHECK_FUNCS(vsnprintf,
1147 AC_DEFINE(HAVE_VSNPRINTF),
1148 AC_MSG_WARN(unsafe function sprintf will be used instead of snprintf)
1151 dnl check for vfork() (even if it's the same as fork() in modern Unices)
1152 AC_CHECK_FUNCS(vfork)
1155 AC_CHECK_FUNCS(nanosleep, AC_DEFINE(HAVE_NANOSLEEP), [
1156 AC_CHECK_LIB(posix4, nanosleep, [
1157 AC_DEFINE(HAVE_NANOSLEEP)
1158 POSIX4_LINK="-lposix4"
1160 AC_CHECK_FUNCS(usleep,
1161 AC_DEFINE(HAVE_USLEEP),
1162 AC_MSG_WARN([wxSleep() function will not work]))
1166 dnl check for uname (POSIX) and gethostname (BSD)
1167 AC_CHECK_FUNCS(uname gethostname, break)
1169 dnl ===========================================================================
1170 dnl Now we have all the info we need - use it!
1171 dnl ===========================================================================
1176 dnl ---------------------------------------------------------------------------
1178 dnl ---------------------------------------------------------------------------
1181 dnl defines THREADS_OBJ which contains the object files to build
1182 dnl defines THREADS_LINK which contains the thread library to link with
1183 dnl defines wxUSE_THREADS=1 if thread support is activated
1188 if test "$wxUSE_THREADS" = "yes"; then
1189 if test "$wxUSE_WINE" = 1; then
1190 AC_MSG_WARN([Threads are not supported under WINE])
1195 if test "$wxUSE_THREADS" = "yes"; then
1196 dnl find if POSIX threads are available
1198 dnl standard lib name is pthread
1199 dnl We no longer test for pthread-0.7 as it breaks compilation on some
1200 dnl glibc2 systems, especially for static linkage.
1201 AC_CHECK_LIB(pthread, pthread_create, [
1202 THREADS_OBJ="threadpsx.lo"
1203 THREADS_LINK="pthread"
1205 dnl thread functions are in libc_r under FreeBSD
1206 AC_CHECK_LIB(c_r, pthread_create, [
1207 THREADS_OBJ="threadpsx.lo"
1210 dnl VZ: SGI threads are not supported currently
1211 AC_CHECK_HEADER(sys/prctl.h, [
1212 THREADS_OBJ="threadsgi.lo"
1216 if test "$THREADS_LINK" != ""; then
1217 AC_DEFINE(wxUSE_THREADS)
1219 AC_MSG_WARN(No thread support on this system)
1223 if test -z "$THREADS_OBJ"; then
1227 dnl do other tests only if we are using threads
1228 if test "$wxUSE_THREADS" = "yes"; then
1229 dnl must define _REENTRANT for multithreaded code
1230 CFLAGS="${CFLAGS} -D_REENTRANT"
1231 CXXFLAGS="${CXXFLAGS} -D_REENTRANT"
1233 SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS thread"
1234 dnl LTLIBOBJS="$LTLIBOBJS $THREADS_OBJ"
1236 dnl define autoconf macro to check for given function in both pthread and
1237 dnl posix4 libraries
1238 dnl usage: AC_FUNC_THREAD(FUNCTION_NAME)
1240 dnl AC_DEFUN(AC_FUNC_THREAD,
1242 dnl AC_CHECK_LIB($THREADS_LINK, $1,
1243 dnl AC_DEFINE(HAVE_`'translit($1, `A-Z', 'a-z'),
1244 dnl [AC_CHECK_LIB("posix4", $1,
1245 dnl [AC_DEFINE(HAVE_`'translit($1, `A-Z', 'a-z'))
1246 dnl POSIX4_LINK="-lposix4"
1251 AC_CHECK_HEADERS(sched.h)
1253 AC_CHECK_LIB($THREADS_LINK, sched_yield,
1254 AC_DEFINE(HAVE_SCHED_YIELD),
1255 [AC_CHECK_LIB("posix4", sched_yield,
1256 [AC_DEFINE(HAVE_SCHED_YIELD) POSIX4_LINK="-lposix4"],
1257 AC_MSG_WARN(wxThread::Yield will not work properly)
1261 dnl VZ: we should be checking for all of the following functions instead:
1262 dnl 1. pthread_attr_getschedpolicy
1263 dnl 2. sched_get_priority_min and sched_get_priority_max
1264 dnl 3. pthread_attr_getschedparam and pthread_attr_setschedparam
1265 dnl but it seems that if the first one is there, the other ones are too (of
1266 dnl course the proper solution would be to implement AC_FUNC_THREAD above
1267 dnl and do test for them all - anyone?)
1268 AC_CHECK_LIB($THREADS_LINK, pthread_attr_getschedpolicy,
1269 AC_DEFINE(HAVE_THREAD_PRIORITY_FUNCTIONS),
1270 [AC_CHECK_LIB("posix4", pthread_attr_getschedpolicy,
1271 [AC_DEFINE(HAVE_THREAD_PRIORITY_FUNCTIONS) POSIX4_LINK="-lposix4"],
1272 AC_MSG_WARN(Setting thread priority will not work)
1276 AC_CHECK_LIB($THREADS_LINK, pthread_cancel,
1277 AC_DEFINE(HAVE_PTHREAD_CANCEL),
1278 AC_MSG_WARN([wxThread::Kill() will not work properly]))
1280 AC_CACHE_CHECK([for pthread_cleanup_push/pop], wx_cv_func_pthread_cleanup_push,
1282 AC_TRY_COMPILE([#include <pthread.h>],
1284 pthread_cleanup_push(NULL, NULL);
1285 pthread_cleanup_pop(0);
1287 wx_cv_func_pthread_cleanup_push=yes
1288 AC_DEFINE(HAVE_THREAD_CLEANUP_FUNCTIONS)
1290 wx_cv_func_pthread_cleanup_push=no
1294 THREADS_LINK="-l$THREADS_LINK"
1297 if test "$WXGTK12" = 1 ; then
1298 AC_DEFINE_UNQUOTED(__WXGTK12__,$WXGTK12)
1301 if test "$WXWINE" = 1 ; then
1302 TOOLKIT_DEF="${TOOLKIT_DEF} -D__WXWINE__"
1306 if test "$wxUSE_DEBUG_GDB" = "yes" ; then
1307 wxUSE_DEBUG_INFO=yes
1311 if test "$wxUSE_DEBUG_INFO" = "yes" ; then
1316 if test "$wxUSE_DEBUG_FLAG" = "yes" ; then
1318 WXDEBUG_DEFINE="-D__WXDEBUG__"
1320 WXDEBUG_DEFINE="-DGTK_NO_CHECK_CASTS"
1323 if test "$wxUSE_MEM_TRACING" = "yes" ; then
1324 AC_DEFINE(wxUSE_MEMORY_TRACING)
1325 AC_DEFINE(wxUSE_GLOBAL_MEMORY_OPERATORS)
1326 SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS memcheck"
1329 if test "$wxUSE_DMALLOC" = "yes" ; then
1330 DMALLOC_LINK="-ldmalloc"
1334 if test "$wxUSE_PROFILE" = "yes" ; then
1338 CXXFLAGS=`echo "${CXXFLAGS}" | sed "s/\-O.//g" `
1339 CFLAGS=`echo "${CFLAGS}" | sed "s/\-O.//g" `
1340 if test "$wxUSE_OPTIMISE" = "no" ; then
1343 if test "$GCC" = yes ; then
1347 OPTIMISE="${OPTIMISE} "
1355 dnl ---------------------------------------------------------------------------
1356 dnl Optional libraries
1357 dnl ---------------------------------------------------------------------------
1360 if test "$wxUSE_ZLIB" = "yes" ; then
1361 AC_DEFINE(wxUSE_ZLIB)
1362 EXTRA_VPATH="$EXTRA_VPATH:\${srcdir}/../zlib"
1363 ZLIB_INCLUDE="-I\${srcdir}/../zlib"
1364 LTLIBOBJS="$LTLIBOBJS adler32.lo compress.lo crc32.lo gzio.lo uncompr.lo deflate.lo \
1365 trees.lo zutil.lo inflate.lo infblock.lo inftrees.lo infcodes.lo \
1366 infutil.lo inffast.lo"
1370 if test "$wxUSE_LIBPNG" = "yes" ; then
1371 AC_DEFINE(wxUSE_LIBPNG)
1372 LTLIBOBJS="$LTLIBOBJS png.lo pngset.lo pngget.lo pngrutil.lo pngtrans.lo pngwutil.lo \
1373 pngread.lo pngrio.lo pngwio.lo pngwrite.lo pngrtran.lo pngwtran.lo \
1374 pngmem.lo pngerror.lo pngpread.lo"
1375 EXTRA_VPATH="$EXTRA_VPATH:\${srcdir}/../png"
1376 PNG_INCLUDE="-I\${srcdir}/../png"
1377 SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS png"
1380 if test "$wxUSE_LIBGIF" = "yes" ; then
1381 AC_DEFINE(wxUSE_LIBGIF)
1385 if test "$wxUSE_LIBJPEG" = "yes" ; then
1386 AC_DEFINE(wxUSE_LIBJPEG)
1387 EXTRA_VPATH="$EXTRA_VPATH:\${srcdir}/../jpeg"
1388 JPEG_INCLUDE="-I\${srcdir}/../jpeg"
1389 LTLIBOBJS="$LTLIBOBJS \
1390 jcomapi.lo jutils.lo jerror.lo jmemmgr.lo jmemnobs.lo \
1391 jcapimin.lo jcapistd.lo jctrans.lo jcparam.lo jdatadst.lo \
1392 jcinit.lo jcmaster.lo jcmarker.lo jcmainct.lo jcprepct.lo \
1393 jccoefct.lo jccolor.lo jcsample.lo jchuff.lo jcphuff.lo \
1394 jcdctmgr.lo jfdctfst.lo jfdctflt.lo jfdctint.lo \
1395 jdapimin.lo jdapistd.lo jdtrans.lo jdatasrc.lo \
1396 jdmaster.lo jdinput.lo jdmarker.lo jdhuff.lo jdphuff.lo \
1397 jdmainct.lo jdcoefct.lo jdpostct.lo jddctmgr.lo jidctfst.lo \
1398 jidctflt.lo jidctint.lo jidctred.lo jdsample.lo jdcolor.lo \
1399 jquant1.lo jquant2.lo jdmerge.lo"
1402 if test "$wxUSE_OPENGL" = "yes"; then
1403 AC_CHECK_HEADER(GL/gl.h, [
1404 AC_CHECK_LIB(GL, glInitNames, [
1406 AC_DEFINE(wxUSE_OPENGL)
1407 UTILS_SUBDIRS="$UTILS_SUBDIRS glcanvas/src"
1409 AC_CHECK_LIB(MesaGL, glInitNames, [
1410 OPENGL_LINK="-lMesaGL"
1411 AC_DEFINE(wxUSE_OPENGL)
1412 UTILS_SUBDIRS="$UTILS_SUBDIRS glcanvas/src"
1418 dnl ---------------------------------------------------------------------------
1419 dnl the library may be built without GUI classes at all
1420 dnl ---------------------------------------------------------------------------
1422 if test "$wxUSE_GUI" = "yes"; then
1423 AC_DEFINE(wxUSE_GUI)
1425 dnl the things we always pull in the GUI version of the library:
1426 dnl 1. basic things like wxApp, wxWindow, wxControl, wxFrame, wxDialog (the
1427 dnl library really can't be built without those)
1428 dnl 2. basic controls: wxButton, wxStaticText, wxTextCtrl (these are used in
1429 dnl almost any program and the first 2 are needed to show a message box
1430 dnl which want to be always able to do)
1431 dnl 3. GDI stuff: icon, cursors and all that. Although it would be very nice
1432 dnl to compile without them (if the app doesn't do any drawing, it doesn't
1433 dnl need the dcs, pens, brushes, ...), this just can't be done now
1434 dnl 4. menu stuff: wxMenu, wxMenuBar, wxMenuItem
1435 dnl 5. misc stuff: timers, settings, message box
1436 dnl LTLIBOBJS="$LTLIBOBJS \
1437 dnl main.lo app.lo event.lo wincmn.lo window.lo control.lo framecmn.lo frame.lo dialog.lo panelg.lo \
1438 dnl button.lo stattext.lo textctrl.lo \
1439 dnl bitmap.lo brush.lo colour.lo cursor.lo data.lo dc.lo dcbase.lo dcclient.lo \
1440 dnl dcmemory.lo dcscreen.lo font.lo gdicmn.lo gdiobj.lo icon.lo palette.lo pen.lo region.lo \
1442 dnl settings.lo timer.lo msgdlgg.lo"
1444 AC_DEFINE(wxUSE_NOGUI)
1447 dnl ---------------------------------------------------------------------------
1449 dnl ---------------------------------------------------------------------------
1451 if test "$wxUSE_UNIX" = "yes"; then
1452 AC_DEFINE(wxUSE_UNIX)
1455 dnl ---------------------------------------------------------------------------
1456 dnl Register non-GUI class options for makefiles and setup.h
1457 dnl ---------------------------------------------------------------------------
1459 if test "$wxUSE_APPLE_IEEE" = "yes"; then
1460 AC_DEFINE(wxUSE_APPLE_IEEE)
1463 if test "$wxUSE_TIMEDATE" = "yes"; then
1464 AC_DEFINE(wxUSE_TIMEDATE)
1465 SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS typetest"
1468 if test "$wxUSE_WAVE" = "yes"; then
1469 AC_DEFINE(wxUSE_WAVE)
1472 if test "$wxUSE_FILE" = "yes"; then
1473 AC_DEFINE(wxUSE_FILE)
1476 if test "$wxUSE_TEXTFILE" = "yes"; then
1477 if test "$wxUSE_FILE" != "yes"; then
1478 AC_MSG_WARN(wxTextFile requires wxFile and it won't be compiled without it)
1480 AC_DEFINE(wxUSE_TEXTFILE)
1484 if test "$wxUSE_CONFIG" = "yes" ; then
1485 if test "$wxUSE_TEXTFILE" != "yes"; then
1486 AC_MSG_WARN(wxConfig requires wxTextFile and it won't be compiled without it)
1488 AC_DEFINE(wxUSE_CONFIG)
1489 SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS config"
1493 if test "$wxUSE_INTL" = "yes" ; then
1494 if test "$wxUSE_FILE" != "yes"; then
1495 AC_MSG_WARN(I18n code requires wxFile and it won't be compiled without it)
1497 AC_DEFINE(wxUSE_INTL)
1498 SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS internat"
1502 if test "$wxUSE_LOG" = "yes"; then
1503 AC_DEFINE(wxUSE_LOG)
1506 if test "$wxUSE_LONGLONG" = "yes"; then
1507 AC_DEFINE(wxUSE_LONGLONG)
1510 if test "$wxUSE_SOCKETS" = "yes" ; then
1511 if test "$wxUSE_THREADS" = "yes" ; then
1512 AC_DEFINE(wxUSE_SOCKETS)
1513 SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS wxsocket"
1514 INCLUDE_SUBDIRS="$INCLUDE_SUBDIRS protocol"
1516 AC_MSG_WARN(Socket classes require --with-threads and won't be compiled without it)
1521 if test "$wxUSE_STREAMS" = "yes" ; then
1522 AC_DEFINE(wxUSE_STREAMS)
1525 if test "$wxUSE_SERIAL" = "yes" ; then
1526 AC_DEFINE(wxUSE_SERIAL)
1529 dnl ------------------------------------------------------------------------
1531 dnl ------------------------------------------------------------------------
1533 if test "$wxUSE_SOCKETS" = "yes"; then
1536 dnl determine the type of third argument for getsockname
1537 AC_MSG_CHECKING(the type of the third argument of getsockname)
1539 [#include <sys/socket.h>],
1540 [socklen_t len; getsockname(0, NULL, &len);],
1541 AC_DEFINE(SOCKLEN_T, socklen_t) AC_MSG_RESULT(socklen_t),
1543 [#include <sys/socket.h>],
1544 [size_t len; getsockname(0, NULL, &len);],
1545 AC_DEFINE(SOCKLEN_T, size_t) AC_MSG_RESULT(size_t),
1547 [#include <sys/socket.h>],
1548 [int len; getsockname(0, NULL, &len);],
1549 AC_DEFINE(SOCKLEN_T, int) AC_MSG_RESULT(int),
1550 AC_MSG_RESULT(unknown)
1557 dnl ---------------------------------------------------------------------------
1558 dnl Joystick support
1559 dnl ---------------------------------------------------------------------------
1561 if test "$wxUSE_JOYSTICK" = 1; then
1562 dnl joystick support is only for Linux 2.1.x or greater
1563 AC_CHECK_HEADERS(linux/joystick.h)
1564 if test "$ac_cv_header_linux_joystick_h" = "yes"; then
1565 AC_DEFINE(wxUSE_JOYSTICK)
1566 SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS joytest"
1570 dnl ------------------------------------------------------------------------
1572 dnl ------------------------------------------------------------------------
1576 if test "$wxUSE_DYNLIB_CLASS" = "yes"; then
1577 dnl the test is a bit complicated because we check for dlopen() both with
1578 dnl and without -ldl
1579 AC_CHECK_FUNCS(dlopen,
1580 [AC_DEFINE(HAVE_DLOPEN) HAVE_DL_FUNCS=1],
1581 [AC_CHECK_LIB(dl, dlopen,
1582 [AC_DEFINE(HAVE_DLOPEN) HAVE_DL_FUNCS=1])])
1583 AC_CHECK_FUNCS( shl_load,
1584 [AC_DEFINE(HAVE_SHL_LOAD) HAVE_DL_FUNCS=1 HAVE_SHL_FUNCS=1])
1586 if test "$HAVE_DL_FUNCS" = 0; then
1587 AC_MSG_WARN("--with-dynlib and --with-odbc will be disabled due to missing shared library support")
1589 wxUSE_DYNLIB_CLASS=no
1593 if test "$wxUSE_DYNLIB_CLASS" = "yes" ; then
1594 AC_DEFINE(wxUSE_DYNLIB_CLASS)
1597 dnl ---------------------------------------------------------------------------
1599 dnl ---------------------------------------------------------------------------
1601 if test "$wxUSE_UNICODE" = "yes" ; then
1602 AC_DEFINE(wxUSE_UNICODE)
1605 if test "$wxUSE_WCSRTOMBS" = "yes" ; then
1606 AC_DEFINE(wxUSE_WCSRTOMBS)
1609 if test "$wxUSE_wxUSE_EXPERIMENTAL_PRINTF" = "yes"; then
1610 AC_DEFINE(wxUSE_EXPERIMENTAL_PRINTF)
1613 dnl ----------------------------------------------------------------
1615 dnl ----------------------------------------------------------------
1618 if test "$wxUSE_ODBC" = "yes" ; then
1619 AC_DEFINE(wxUSE_ODBC)
1620 EXTRA_VPATH="$EXTRA_VPATH:\$(srcdir)/../iodbc"
1621 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"
1622 SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS db"
1625 dnl ----------------------------------------------------------------
1626 dnl Register PostScript options for makefiles and setup.h
1627 dnl ----------------------------------------------------------------
1629 if test "$wxUSE_POSTSCRIPT" = "yes" ; then
1630 AC_DEFINE(wxUSE_POSTSCRIPT)
1633 AC_DEFINE(wxUSE_AFM_FOR_POSTSCRIPT)
1635 AC_DEFINE(wxUSE_NORMALIZED_PS_FONTS)
1637 dnl ---------------------------------------------------------------------------
1638 dnl big GUI components: MDI, doc/view, printing, help, ...
1639 dnl ---------------------------------------------------------------------------
1641 if test "$wxUSE_CONSTRAINTS" = "yes"; then
1642 AC_DEFINE(wxUSE_CONSTRAINTS)
1643 SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS layout"
1646 if test "$wxUSE_MDI_ARCHITECTURE" = "yes"; then
1647 AC_DEFINE(wxUSE_MDI_ARCHITECTURE)
1648 SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS mdi"
1651 if test "$wxUSE_DOC_VIEW_ARCHITECTURE" = "yes" ; then
1652 AC_DEFINE(wxUSE_DOC_VIEW_ARCHITECTURE)
1653 SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS docview"
1654 if test "$wxUSE_MDI_ARCHITECTURE" = "yes"; then
1655 SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS docvwmdi"
1659 if test "$wxUSE_HELP" = "yes"; then
1660 AC_DEFINE(wxUSE_HELP)
1661 SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS help"
1664 if test "$wxUSE_PRINTING_ARCHITECTURE" = "yes" ; then
1665 AC_DEFINE(wxUSE_PRINTING_ARCHITECTURE)
1666 SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS printing"
1669 if test "$wxUSE_PROLOGIO" = "yes" ; then
1670 AC_DEFINE(wxUSE_PROLOGIO)
1673 if test "$wxUSE_RESOURCES" = "yes" ; then
1674 if test "$wxUSE_PROLOGIO" = "yes" ; then
1675 AC_DEFINE(wxUSE_RESOURCES)
1676 SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS resource"
1678 AC_MSG_WARN([wxWindows ressource system requires PrologIO and can't be compiled without it.])
1682 if test "$wxUSE_X_RESOURCES" = "yes"; then
1683 AC_DEFINE(wxUSE_X_RESOURCES)
1686 dnl ---------------------------------------------------------------------------
1687 dnl IPC: IPC, d-n-d, clipboard, ...
1688 dnl ---------------------------------------------------------------------------
1690 if test "$wxUSE_IPC" = "yes"; then
1691 AC_DEFINE(wxUSE_IPC)
1694 if test "$wxUSE_CLIPBOARD" = "yes"; then
1695 AC_DEFINE(wxUSE_CLIPBOARD)
1698 if test "$wxUSE_DRAG_AND_DROP" = "yes" ; then
1699 if test "$WXGTK12" = 1 ; then
1700 AC_DEFINE(wxUSE_DRAG_AND_DROP)
1701 SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS dnd"
1703 AC_MSG_WARN([Drag and drop is only supported under wxGTK 2.1])
1707 if test "$wxUSE_SPLINES" = "yes" ; then
1708 AC_DEFINE(wxUSE_SPLINES)
1711 dnl ---------------------------------------------------------------------------
1713 dnl ---------------------------------------------------------------------------
1715 if test "$wxUSE_ACCEL" = "yes"; then
1716 AC_DEFINE(wxUSE_ACCEL)
1719 if test "$wxUSE_CARET" = "yes"; then
1720 AC_DEFINE(wxUSE_CARET)
1721 SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS caret"
1724 if test "$wxUSE_COMBOBOX" = "yes"; then
1725 AC_DEFINE(wxUSE_COMBOBOX)
1728 if test "$wxUSE_BMPBUTTON" = "yes"; then
1729 AC_DEFINE(wxUSE_BMPBUTTON)
1732 if test "$wxUSE_CHECKBOX" = "yes"; then
1733 AC_DEFINE(wxUSE_CHECKBOX)
1736 if test "$wxUSE_CHECKLST" = "yes"; then
1737 AC_DEFINE(wxUSE_CHECKLISTBOX)
1738 SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS checklst"
1741 if test "$wxUSE_GAUGE" = "yes"; then
1742 AC_DEFINE(wxUSE_GAUGE)
1745 if test "$wxUSE_GRID" = "yes"; then
1746 AC_DEFINE(wxUSE_GRID)
1747 SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS grid"
1750 if test "$wxUSE_IMAGLIST" = "yes"; then
1751 AC_DEFINE(wxUSE_IMAGLIST)
1754 if test "$wxUSE_LISTBOX" = "yes"; then
1755 AC_DEFINE(wxUSE_LISTBOX)
1758 if test "$wxUSE_LISTCTRL" = "yes"; then
1759 if test "$wxUSE_IMAGLIST" = "yes"; then
1760 AC_DEFINE(wxUSE_LISTCTRL)
1761 SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS listctrl"
1763 AC_MSG_WARN([wxListCtrl requires wxImageList and won't be compiled without it])
1767 if test "$wxUSE_NOTEBOOK" = "yes"; then
1768 AC_DEFINE(wxUSE_NOTEBOOK)
1769 SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS notebook"
1772 if test "$wxUSE_RADIOBOX" = "yes"; then
1773 AC_DEFINE(wxUSE_RADIOBOX)
1776 if test "$wxUSE_RADIOBTN" = "yes"; then
1777 AC_DEFINE(wxUSE_RADIOBTN)
1780 if test "$wxUSE_SASH" = "yes"; then
1781 AC_DEFINE(wxUSE_SASH)
1782 SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS sashtest"
1785 if test "$wxUSE_SCROLLBAR" = "yes"; then
1786 AC_DEFINE(wxUSE_SCROLLBAR)
1787 SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS scroll"
1790 if test "$wxUSE_SLIDER" = "yes"; then
1791 AC_DEFINE(wxUSE_SLIDER)
1794 if test "$wxUSE_SPINBTN" = "yes"; then
1795 AC_DEFINE(wxUSE_SPINBTN)
1798 if test "$wxUSE_SPLITTER" = "yes"; then
1799 AC_DEFINE(wxUSE_SPLITTER)
1800 SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS splitter"
1803 if test "$wxUSE_STATBMP" = "yes"; then
1804 AC_DEFINE(wxUSE_STATBMP)
1807 if test "$wxUSE_STATBOX" = "yes"; then
1808 AC_DEFINE(wxUSE_STATBOX)
1811 if test "$wxUSE_STATLINE" = "yes"; then
1812 AC_DEFINE(wxUSE_STATLINE)
1815 if test "$wxUSE_STATUSBAR" = "yes"; then
1816 AC_DEFINE(wxUSE_STATUSBAR)
1819 if test "$wxUSE_TABDIALOG" = "yes"; then
1820 AC_DEFINE(wxUSE_TAB_DIALOG)
1821 SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS tab"
1824 if test "$wxUSE_TOOLBAR" = "yes"; then
1825 AC_DEFINE(wxUSE_TOOLBAR)
1826 SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS toolbar"
1829 if test "$wxUSE_TOOLTIPS" = "yes"; then
1830 if test "$wxUSE_MOTIF" = 1; then
1831 AC_MSG_WARN(Tooltips are not supported yet under Motif)
1833 if test "$wxUSE_WINE" = 1; then
1834 AC_MSG_WARN(Tooltips are not supported yet under WINE)
1836 AC_DEFINE(wxUSE_TOOLTIPS)
1841 if test "$wxUSE_TREECTRL" = "yes"; then
1842 if test "$wxUSE_IMAGLIST" = "yes"; then
1843 AC_DEFINE(wxUSE_TREECTRL)
1844 SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS treectrl"
1846 AC_MSG_WARN([wxTreeCtrl requires wxImageList and won't be compiled without it])
1850 dnl ---------------------------------------------------------------------------
1852 dnl ---------------------------------------------------------------------------
1854 dnl TODO this is unused for now...
1855 dnl if test "$wxUSE_WXTREE" = "yes"; then
1856 dnl AC_DEFINE(wxUSE_WXTREE)
1859 if test "$wxUSE_METAFILE" = "yes"; then
1860 AC_DEFINE(wxUSE_METAFILE)
1863 if test "$wxUSE_COMMONDLGS" = "yes"; then
1864 dnl these classes don't depend on anything at all
1866 if test "$wxUSE_CONSTRAINTS" != "yes"; then
1867 AC_MSG_WARN(many common dialogs cannot be used without constraints so they won't be compiled without them)
1869 AC_DEFINE(wxUSE_CONSTRAINTS)
1870 AC_DEFINE(wxUSE_TEXTDLG)
1872 if test "$wxUSE_TREECTRL" != "yes"; then
1873 AC_MSG_WARN(wxDirDialog cannot be used without wxTreeCtrl and it won't be compiled without it)
1875 AC_DEFINE(wxUSE_DIRDLG)
1879 if test "$wxUSE_PRINTING_ARCHITECTURE" = "no"; then
1880 AC_MSG_WARN([wxPrintDialog class won't be compiled without printing support])
1884 if test "$wxUSE_MINIFRAME" = "yes"; then
1885 AC_DEFINE(wxUSE_MINIFRAME)
1886 SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS minifram"
1889 if test "$wxUSE_VALIDATORS" = "yes"; then
1890 AC_DEFINE(wxUSE_VALIDATORS)
1891 SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS validate"
1894 dnl ---------------------------------------------------------------------------
1895 dnl Output the makefiles and such from the results found above
1896 dnl ---------------------------------------------------------------------------
1898 dnl if we add wxUSE_GUI in the future, it might be handy to separate the libs
1899 dnl into GUI and non-GUI parts
1900 GUILIBS="$GUI_TK_LIBRARY $OPENGL_LINK $LIBPNG_LINK $ZLIB_LINK $TOOLKIT_LINK"
1902 dnl all additional libraries (except wxWindows itself) we link with
1903 EXTRA_LIBS="$LIBS $POSIX4_LINK $WCHAR_LINK $THREADS_LINK $DMALLOC_LINK $GUILIBS"
1905 dnl all the libraries needed to link wxWindows programs (when the library is not
1907 LIBS="\${top_builddir}/src/${TOOLKIT_DIR}/${WX_LIBRARY_NAME} $EXTRA_LIBS"
1909 dnl all -I options we must pass to the compiler
1910 INCLUDES="-I. -I\${top_builddir}/include -I\${top_srcdir}/include $ZLIB_INCLUDE $PNG_INCLUDE $JPEG_INCLUDE $TOOLKIT_INCLUDE"
1912 dnl C/C++ compiler options used to compile wxWindows
1913 if test "$ac_cv_prog_gcc" = "yes"; then
1914 dnl CXXWARNINGS="-Wall -W -Wcast-qual -Werror"
1916 dnl there is one weird warning in docview.h:71 which prevents me from doing
1918 dnl CXXWARNINGS="-Wall -Werror"
1920 EXTRA_CFLAGS="$WXDEBUG $PROFILE $OPTIMISE $INCLUDES"
1922 CFLAGS="$CFLAGS $EXTRA_CFLAGS"
1923 CXXFLAGS="$CXXFLAGS $EXTRA_CFLAGS $CXXWARNINGS"
1925 if test "$wxUSE_GUI" = "yes"; then
1926 dnl TODO add checks that these samples will really compile (i.e. all the
1927 dnl library features they need are present)
1929 dnl TODO some samples are never built so far:
1930 dnl mfc, nativdlg, oleauto, ownerdrw, proplist
1931 SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS bombs controls dialogs drawing dynamic \
1932 forty fractal image richedit wxpoem"
1935 dnl for convenience, sort the files to build in alphabetical order
1937 dnl another shell command to do it which might be faster but is less clear:
1938 dnl LTLIBOBJS="`for obj in $LTLIBOBJS; do echo $obj; done | sort | sed 's@^@ @'`"
1939 LTLIBOBJS="`echo $LTLIBOBJS | tr -s ' ' | tr ' ' '\n' | sort | tr '\n' ' '`"
1941 dnl for convenience, sort the samples in alphabetical order
1943 dnl FIXME For some mysterious reasons, sometimes the directories are duplicated
1944 dnl in this list - hence uniq. But normally, this shouldn't be needed!
1945 SAMPLES_SUBDIRS="`echo $SAMPLES_SUBDIRS | tr -s ' ' | tr ' ' '\n' | sort | uniq | tr '\n' ' '`"
1948 AC_SUBST(WX_MAJOR_VERSION_NUMBER)
1949 AC_SUBST(WX_MINOR_VERSION_NUMBER)
1950 AC_SUBST(WX_RELEASE_NUMBER)
1951 AC_SUBST(WX_LIBRARY_NAME)
1952 AC_SUBST(WX_LIBRARY)
1954 dnl suppress libtool's informational messages - they duplicate its command line
1955 LIBTOOL="$LIBTOOL --silent"
1958 dnl debugging options
1959 AC_SUBST(WXDEBUG_DEFINE)
1963 AC_SUBST(TOOLKIT_DEF)
1964 AC_SUBST(TOOLKIT_DIR)
1965 AC_SUBST(TOOLKIT_INCLUDE)
1967 dnl additional sources
1968 AC_SUBST(EXTRA_VPATH)
1971 dnl additional subdirectories where we will build
1972 AC_SUBST(SRC_SUBDIRS)
1973 AC_SUBST(INCLUDE_SUBDIRS)
1974 AC_SUBST(UTILS_SUBDIRS)
1975 AC_SUBST(DOCS_SUBDIRS)
1976 AC_SUBST(SAMPLES_SUBDIRS)
1977 AC_SUBST(USER_SUBDIRS)
1979 dnl additional libraries
1980 AC_SUBST(EXTRA_LIBS)
1983 dnl create the configuration header file from the template
1985 dnl NB: automake can't work correctly if our header lives in a directory which
1986 dnl is only determined at configure time, so we create it on the top-level
1987 dnl and make a link to allow '#include "wx/setup.h"' to still work
1988 AM_CONFIG_HEADER(setup.h)
1990 dnl MAKE_SET will be replaced with "MAKE=..." or nothing if make sets MAKE
1991 dnl itself (this is macro is required if SUBDIRS variable is used in Makefile.am
1992 dnl - and we do use it)
1995 dnl create each of the files in the space separated list from the file.in
1996 dnl (the original file name may be overriden by appending another name after a
2007 include/wx/generic/Makefile
2008 include/wx/gtk/Makefile
2009 include/wx/motif/Makefile
2010 include/wx/msw/Makefile
2011 include/wx/protocol/Makefile
2012 include/wx/unix/Makefile
2015 misc/gs_afm/Makefile
2017 samples/bombs/Makefile
2018 samples/caret/Makefile
2019 samples/checklst/Makefile
2020 samples/config/Makefile
2021 samples/controls/Makefile
2023 samples/dialogs/Makefile
2024 samples/dnd/Makefile
2025 samples/docview/Makefile
2026 samples/docvwmdi/Makefile
2027 samples/drawing/Makefile
2028 samples/dynamic/Makefile
2029 samples/forty/Makefile
2030 samples/fractal/Makefile
2031 samples/grid/Makefile
2032 samples/help/Makefile
2033 samples/image/Makefile
2034 samples/internat/Makefile
2035 samples/joytest/Makefile
2036 samples/layout/Makefile
2037 samples/listctrl/Makefile
2038 samples/mdi/Makefile
2039 samples/memcheck/Makefile
2040 samples/mfc/Makefile
2041 samples/minifram/Makefile
2042 samples/minimal/Makefile
2043 samples/nativdlg/Makefile
2044 samples/notebook/Makefile
2045 samples/oleauto/Makefile
2046 samples/ownerdrw/Makefile
2047 samples/png/Makefile
2048 samples/printing/Makefile
2049 samples/proplist/Makefile
2050 samples/regtest/Makefile
2051 samples/resource/Makefile
2052 samples/richedit/Makefile
2053 samples/sashtest/Makefile
2054 samples/scroll/Makefile
2055 samples/splitter/Makefile
2056 samples/tab/Makefile
2057 samples/taskbar/Makefile
2058 samples/text/Makefile
2059 samples/thread/Makefile
2060 samples/toolbar/Makefile
2061 samples/treectrl/Makefile
2062 samples/typetest/Makefile
2063 samples/validate/Makefile
2064 samples/wxpoem/Makefile
2065 samples/wxsocket/Makefile
2069 dnl The following line is more elegant but test -e is not supported by all
2071 dnl if test ! -e include/wx/${TOOLKIT_DIR}/setup.h; then
2072 cat include/wx/${TOOLKIT_DIR}/setup.h >/dev/null 2>&1
2073 if test $? != 0; then
2074 ${LN_S} `pwd`/setup.h include/wx/${TOOLKIT_DIR}/setup.h
2078 LN_S="${ac_cv_prog_LN_S}"
2079 TOOLKIT_DIR="${TOOLKIT_DIR}"