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
22 AM_INIT_AUTOMAKE(wxWindows, 2.1.0)
24 WX_MAJOR_VERSION_NUMBER=2
25 WX_MINOR_VERSION_NUMBER=1
28 dnl FIXME this hack suppresses automake 1.4 warning about @LTLIBOBJS@ being
29 dnl never defined in configure.in (remove these lines to see what I'm
30 dnl speaking about) - Tom Tromey <tromey@cygnus.com> told me that it will
31 dnl be fixed in the next release.
33 dnl LIBOBJS="$LIBOBJS common/extended.o"
35 dnl ------------------------------------------------------------------------
36 dnl Check platform (host system)
37 dnl ------------------------------------------------------------------------
60 dnl NB: these wxUSE_XXX constants have value of 0 or 1 unlike all the other ones
61 dnl which are either yes or no
76 if test "x$TMP" = "xalpha"; then
82 *-*-irix5* | *-*-irix6* )
94 AC_DEFINE(__SOLARIS__)
105 DEFAULT_wxUSE_MOTIF=1
107 *-*-freebsd* | *-*-netbsd*)
110 AC_DEFINE(__FREEBSD__)
119 DEFAULT_wxUSE_MOTIF=1
126 DEFAULT_wxUSE_MOTIF=1
133 DEFAULT_wxUSE_MOTIF=1
142 DEFAULT_wxUSE_MOTIF=1
145 AC_MSG_ERROR(unknown system type $(host).)
148 if test "$USE_UNIX" = 1 ; then
151 EXTRA_VPATH="$EXTRA_VPATH:\$(srcdir)/../unix"
152 INCLUDE_SUBDIRS="$INCLUDE_SUBDIRS unix"
155 dnl Linux: test for libc5/glibc2: glibc2 has gettext() included
156 if test "$USE_LINUX" = 1; then
157 AC_CHECK_LIB(c,gettext,AC_DEFINE(wxHAVE_GLIBC2))
160 dnl TODO cross-compiling for Windows not yet supported
163 dnl if eval "test $USE_CYGWIN != 1 -a $USE_MINGW32 != 1"; then
164 dnl AC_DEFINE(__UNIX__)
166 dnl AC_DEFINE(__WINDOWS__)
167 dnl DEFAULT_wxUSE_MSW=1
170 dnl ---------------------------------------------------------------------------
171 dnl command line options for configure
172 dnl ---------------------------------------------------------------------------
174 dnl the default values for all options - we collect them all here to simplify
175 dnl modification of the default values (for example, if the defaults for some
176 dnl platform should be changed, it can be done here too)
178 dnl NB: see also DEFAULT_wxUSE<toolkit> variables defined above
180 dnl useful to test the compilation with minimum options, define as 0 for normal
183 if test $DEBUG_CONFIGURE = 1; then
184 DEFAULT_wxUSE_THREADS=yes
186 DEFAULT_wxUSE_OPTIMISE=no
187 DEFAULT_wxUSE_PROFILE=no
188 DEFAULT_wxUSE_DEBUG_FLAG=yes
189 DEFAULT_wxUSE_DEBUG_INFO=yes
190 DEFAULT_wxUSE_DEBUG_GDB=yes
191 DEFAULT_wxUSE_MEM_TRACING=no
192 DEFAULT_wxUSE_DMALLOC=no
193 DEFAULT_wxUSE_APPLE_IEEE=no
195 DEFAULT_wxUSE_LOG=yes
197 DEFAULT_wxUSE_GUI=yes
199 DEFAULT_wxUSE_ZLIB=no
200 DEFAULT_wxUSE_LIBPNG=no
201 DEFAULT_wxUSE_LIBGIF=no
202 DEFAULT_wxUSE_LIBJPEG=no
203 DEFAULT_wxUSE_ODBC=no
205 DEFAULT_wxUSE_FILE=no
206 DEFAULT_wxUSE_TEXTFILE=no
207 DEFAULT_wxUSE_TIMEDATE=no
208 DEFAULT_wxUSE_INTL=no
209 DEFAULT_wxUSE_CONFIG=no
210 DEFAULT_wxUSE_STREAMS=no
211 DEFAULT_wxUSE_SOCKETS=no
212 DEFAULT_wxUSE_SERIAL=no
213 DEFAULT_wxUSE_JOYSTICK=no
214 DEFAULT_wxUSE_DYNLIB_CLASS=no
215 DEFAULT_wxUSE_LONGLONG=no
217 DEFAULT_wxUSE_AFM_FOR_POSTSCRIPT=no
218 DEFAULT_wxUSE_NORMALIZED_PS_FONTS=no
219 DEFAULT_wxUSE_POSTSCRIPT=no
221 DEFAULT_wxUSE_X_RESOURCES=no
222 DEFAULT_wxUSE_CLIPBOARD=no
223 DEFAULT_wxUSE_TOOLTIPS=no
224 DEFAULT_wxUSE_DRAG_AND_DROP=no
225 DEFAULT_wxUSE_SPLINES=no
227 DEFAULT_wxUSE_MDI_ARCHITECTURE=no
228 DEFAULT_wxUSE_DOC_VIEW_ARCHITECTURE=no
229 DEFAULT_wxUSE_PRINTING_ARCHITECTURE=no
231 DEFAULT_wxUSE_PROLOGIO=no
232 DEFAULT_wxUSE_RESOURCES=no
233 DEFAULT_wxUSE_CONSTRAINTS=no
235 DEFAULT_wxUSE_HELP=no
236 DEFAULT_wxUSE_WXTREE=no
237 DEFAULT_wxUSE_METAFILE=no
239 DEFAULT_wxUSE_COMMONDLGS=no
240 DEFAULT_wxUSE_MINIFRAME=no
241 DEFAULT_wxUSE_VALIDATORS=yes
243 DEFAULT_wxUSE_ACCEL=no
244 DEFAULT_wxUSE_CARET=no
245 DEFAULT_wxUSE_BMPBUTTON=no
246 DEFAULT_wxUSE_CHECKBOX=no
247 DEFAULT_wxUSE_CHECKLST=no
248 DEFAULT_wxUSE_COMBOBOX=no
249 DEFAULT_wxUSE_GAUGE=no
250 DEFAULT_wxUSE_GRID=no
251 DEFAULT_wxUSE_IMAGLIST=no
252 DEFAULT_wxUSE_LISTBOX=no
253 DEFAULT_wxUSE_LISTCTRL=no
254 DEFAULT_wxUSE_NOTEBOOK=no
255 DEFAULT_wxUSE_RADIOBOX=no
256 DEFAULT_wxUSE_RADIOBTN=no
257 DEFAULT_wxUSE_SASH=no
258 DEFAULT_wxUSE_SCROLLBAR=no
259 DEFAULT_wxUSE_SLIDER=no
260 DEFAULT_wxUSE_SPINBTN=no
261 DEFAULT_wxUSE_SPLITTER=no
262 DEFAULT_wxUSE_STATBMP=no
263 DEFAULT_wxUSE_STATBOX=no
264 DEFAULT_wxUSE_STATLINE=no
265 DEFAULT_wxUSE_STATUSBAR=yes
266 DEFAULT_wxUSE_TABDIALOG=no
267 DEFAULT_wxUSE_TOOLBAR=no
268 DEFAULT_wxUSE_TREECTRL=no
270 DEFAULT_wxUSE_UNICODE=no
271 DEFAULT_wxUSE_WCSRTOMBS=no
273 DEFAULT_wxUSE_THREADS=yes
275 DEFAULT_wxUSE_OPTIMISE=yes
276 DEFAULT_wxUSE_PROFILE=no
277 DEFAULT_wxUSE_DEBUG_FLAG=no
278 DEFAULT_wxUSE_DEBUG_INFO=no
279 DEFAULT_wxUSE_DEBUG_GDB=no
280 DEFAULT_wxUSE_MEM_TRACING=no
281 DEFAULT_wxUSE_DMALLOC=no
282 DEFAULT_wxUSE_APPLE_IEEE=yes
284 DEFAULT_wxUSE_LOG=yes
286 DEFAULT_wxUSE_GUI=yes
288 DEFAULT_wxUSE_ZLIB=yes
289 DEFAULT_wxUSE_LIBPNG=yes
290 DEFAULT_wxUSE_LIBGIF=yes
291 DEFAULT_wxUSE_LIBJPEG=yes
292 DEFAULT_wxUSE_ODBC=no
294 DEFAULT_wxUSE_FILE=yes
295 DEFAULT_wxUSE_TEXTFILE=yes
296 DEFAULT_wxUSE_TIMEDATE=yes
297 DEFAULT_wxUSE_INTL=yes
298 DEFAULT_wxUSE_CONFIG=yes
299 DEFAULT_wxUSE_STREAMS=yes
300 DEFAULT_wxUSE_SOCKETS=yes
301 DEFAULT_wxUSE_SERIAL=yes
302 DEFAULT_wxUSE_JOYSTICK=yes
303 DEFAULT_wxUSE_DYNLIB_CLASS=yes
304 DEFAULT_wxUSE_LONGLONG=no
306 DEFAULT_wxUSE_AFM_FOR_POSTSCRIPT=yes
307 DEFAULT_wxUSE_NORMALIZED_PS_FONTS=yes
308 DEFAULT_wxUSE_POSTSCRIPT=yes
310 DEFAULT_wxUSE_X_RESOURCES=no
311 DEFAULT_wxUSE_CLIPBOARD=yes
312 DEFAULT_wxUSE_TOOLTIPS=yes
313 DEFAULT_wxUSE_DRAG_AND_DROP=yes
314 DEFAULT_wxUSE_SPLINES=yes
316 DEFAULT_wxUSE_MDI_ARCHITECTURE=yes
317 DEFAULT_wxUSE_DOC_VIEW_ARCHITECTURE=yes
318 DEFAULT_wxUSE_PRINTING_ARCHITECTURE=yes
320 DEFAULT_wxUSE_PROLOGIO=yes
321 DEFAULT_wxUSE_RESOURCES=yes
322 DEFAULT_wxUSE_CONSTRAINTS=yes
323 DEFAULT_wxUSE_IPC=yes
324 DEFAULT_wxUSE_HELP=yes
325 DEFAULT_wxUSE_WXTREE=yes
326 DEFAULT_wxUSE_METAFILE=yes
328 DEFAULT_wxUSE_COMMONDLGS=yes
329 DEFAULT_wxUSE_MINIFRAME=yes
330 DEFAULT_wxUSE_VALIDATORS=yes
332 DEFAULT_wxUSE_ACCEL=yes
333 DEFAULT_wxUSE_CARET=yes
334 DEFAULT_wxUSE_BMPBUTTON=yes
335 DEFAULT_wxUSE_CHECKBOX=yes
336 DEFAULT_wxUSE_CHECKLST=yes
337 DEFAULT_wxUSE_COMBOBOX=yes
338 DEFAULT_wxUSE_GAUGE=yes
339 DEFAULT_wxUSE_GRID=yes
340 DEFAULT_wxUSE_IMAGLIST=yes
341 DEFAULT_wxUSE_LISTBOX=yes
342 DEFAULT_wxUSE_LISTCTRL=yes
343 DEFAULT_wxUSE_NOTEBOOK=yes
344 DEFAULT_wxUSE_RADIOBOX=yes
345 DEFAULT_wxUSE_RADIOBTN=yes
346 DEFAULT_wxUSE_SASH=yes
347 DEFAULT_wxUSE_SCROLLBAR=yes
348 DEFAULT_wxUSE_SLIDER=yes
349 DEFAULT_wxUSE_SPINBTN=yes
350 DEFAULT_wxUSE_SPLITTER=yes
351 DEFAULT_wxUSE_STATBMP=yes
352 DEFAULT_wxUSE_STATBOX=yes
353 DEFAULT_wxUSE_STATLINE=yes
354 DEFAULT_wxUSE_STATUSBAR=yes
355 DEFAULT_wxUSE_TABDIALOG=no
356 DEFAULT_wxUSE_TOOLBAR=yes
357 DEFAULT_wxUSE_TREECTRL=yes
359 DEFAULT_wxUSE_UNICODE=no
360 DEFAULT_wxUSE_WCSRTOMBS=no
363 dnl AC_ARG_WITH should be used to select whether an external package will be
364 dnl used or not, to configure compile-time features of this package itself,
365 dnl use AC_ARG_ENABLE instead
367 dnl ============================
368 dnl external package dependecies
369 dnl ============================
371 AC_ARG_WITH(gtk-prefix, [ --with-gtk-prefix=PFX prefix where GTK is installed],
372 gtk_config_prefix="$withval", gtk_config_prefix="")
373 AC_ARG_WITH(gtk-exec-prefix, [ --with-gtk-exec-prefix=PFX exec prefix where GTK is installed],
374 gtk_config_exec_prefix="$withval", gtk_config_exec_prefix="")
375 AC_ARG_WITH(gtk, [ --with-gtk use GTK+],
376 [wxUSE_GTK="$withval" TOOLKIT_GIVEN=1])
377 AC_ARG_WITH(motif, [ --with-motif use Motif/Lesstif],
378 [wxUSE_MOTIF="$withval" TOOLKIT_GIVEN=1])
379 AC_ARG_WITH(cygwin, [ --with-cygwin use Cygwin for MS-Windows],
380 [wxUSE_CYGWIN="$withval" TOOLKIT_GIVEN=1])
381 AC_ARG_WITH(mingw, [ --with-mingw use GCC Minimal MS-Windows],
382 [wxUSE_MINGW="$withval" TOOLKIT_GIVEN=1])
384 AC_ARG_WITH(dmalloc, [ --with-dmalloc use dmalloc library (www.letters.com/dmalloc)],
385 wxUSE_DMALLOC="$withval",wxUSE_DMALLOC=$DEFAULT_wxUSE_DMALLOC)
386 AC_ARG_WITH(zlib, [ --with-zlib use zlib for LZW compression],
387 wxUSE_ZLIB="$withval",wxUSE_ZLIB=$DEFAULT_wxUSE_ZLIB)
388 AC_ARG_WITH(libpng, [ --with-libpng use libpng (PNG image format)],
389 wxUSE_LIBPNG="$withval",wxUSE_LIBPNG=$DEFAULT_wxUSE_LIBPNG)
390 AC_ARG_WITH(libgif, [ --with-libgif use libgif (GIF file format)],
391 wxUSE_LIBGIF="${withval}",wxUSE_LIBGIF=$DEFAULT_wxUSE_LIBGIF)
392 AC_ARG_WITH(libjpeg, [ --with-libjpeg use libjpeg (JPEG file format)],
393 wxUSE_LIBJPEG="${withval}",wxUSE_LIBJPEG=$DEFAULT_wxUSE_LIBJPEG)
394 AC_ARG_WITH(opengl, [ --with-opengl use OpenGL (or Mesa)],
395 wxUSE_OPENGL="$withval",wxUSE_OPENGL=$DEFAULT_wxUSE_OPENGL)
396 AC_ARG_WITH(odbc, [ --with-odbc use the IODBC and wxODBC classes],
397 wxUSE_ODBC="$withval",wxUSE_ODBC=$DEFAULT_wxUSE_ODBC)
399 dnl ====================
400 dnl compile-time options
401 dnl ====================
403 dnl ---------------------------------------------------------------------------
405 dnl ---------------------------------------------------------------------------
407 AC_ARG_ENABLE(optimise, [ --enable-optimise create optimised code],
408 wxUSE_OPTIMISE="$enableval",wxUSE_OPTIMISE=$DEFAULT_wxUSE_OPTIMISE)
409 AC_ARG_ENABLE(optimize, [ --enable-optimize create optimized code],
410 wxUSE_OPTIMISE="$enableval",wxUSE_OPTIMISE=$DEFAULT_wxUSE_OPTIMISE)
411 AC_ARG_ENABLE(debug, [ --enable-debug same as debug_flag and debug_info],
412 wxUSE_DEBUG="${enableval}",wxUSE_DEBUG=$DEFAULT_wxUSE_DEBUG)
414 if test "$wxUSE_DEBUG" = "yes"; then
415 DEFAULT_wxUSE_DEBUG_FLAG=yes
416 DEFAULT_wxUSE_DEBUG_INFO=yes
417 elif test "$wxUSE_DEBUG" = "no"; then
418 DEFAULT_wxUSE_DEBUG_FLAG=no
419 DEFAULT_wxUSE_DEBUG_INFO=no
422 AC_ARG_ENABLE(debug_flag, [ --enable-debug_flag set __WXDEBUG__ flag (recommended for developers!)],
423 wxUSE_DEBUG_FLAG="$enableval",wxUSE_DEBUG_FLAG=$DEFAULT_wxUSE_DEBUG_FLAG)
424 AC_ARG_ENABLE(debug_info, [ --enable-debug_info create code with debugging information],
425 wxUSE_DEBUG_INFO="$enableval",wxUSE_DEBUG_INFO=$DEFAULT_wxUSE_DEBUG_INFO)
426 AC_ARG_ENABLE(debug_gdb, [ --enable-debug_gdb create code with extra GDB debugging information],
427 wxUSE_DEBUG_GDB="$enableval",wxUSE_DEBUG_GDB=$DEFAULT_wxUSE_DEBUG_GDB)
428 AC_ARG_ENABLE(debug_cntxt, [ --enable-debug_cntxt use wxDebugContext],
429 AC_DEFINE(wxUSE_DEBUG_CONTEXT))
430 AC_ARG_ENABLE(mem_tracing, [ --enable-mem_tracing create code with memory tracing],
431 wxUSE_MEM_TRACING="$enableval", wxUSE_MEM_TRACING=$DEFAULT_wxUSE_MEM_TRACING)
432 AC_ARG_ENABLE(profile, [ --enable-profile create code with profiling information],
433 wxUSE_PROFILE="$enableval",wxUSE_PROFILE=$DEFAULT_wxUSE_PROFILE)
435 dnl ---------------------------------------------------------------------------
436 dnl --disable-gui will build only non-GUI part of wxWindows
438 dnl NB: this is still in testing stage, don't use if you don't know what you're
440 dnl ---------------------------------------------------------------------------
442 AC_ARG_ENABLE(gui, [ --enable-gui use GUI classes],
443 wxUSE_GUI="$enableval",wxUSE_GUI=$DEFAULT_wxUSE_GUI)
445 dnl ---------------------------------------------------------------------------
446 dnl (small) optional non GUI classes
447 dnl ---------------------------------------------------------------------------
449 AC_ARG_ENABLE(intl, [ --enable-intl use internationalization system],
450 wxUSE_INTL="$enableval",wxUSE_INTL=$DEFAULT_wxUSE_INTL)
451 AC_ARG_ENABLE(config, [ --enable-config use wxConfig (and derived) classes],
452 wxUSE_CONFIG="$enableval",wxUSE_CONFIG=$DEFAULT_wxUSE_CONFIG)
453 AC_ARG_ENABLE(sockets, [ --enable-sockets use socket/network classes],
454 wxUSE_SOCKETS="$enableval",wxUSE_SOCKETS=$DEFAULT_wxUSE_SOCKETS)
455 AC_ARG_ENABLE(ipc, [ --enable-ipc use interprocess communication (wxSocket etc.)],
456 wxUSE_IPC="$enableval",wxUSE_IPC=$DEFAULT_wxUSE_IPC)
457 AC_ARG_ENABLE(apple_ieee, [ --enable-apple_ieee use the Apple IEEE codec],
458 wxUSE_APPLE_IEEE="$enableval",wxUSE_APPLE_IEEE=$DEFAULT_wxUSE_APPLE_IEEE)
459 AC_ARG_ENABLE(timedate, [ --enable-timedate use date/time classes],
460 wxUSE_TIMEDATE="$enableval",wxUSE_TIMEDATE=$DEFAULT_wxUSE_TIMEDATE)
461 AC_ARG_ENABLE(fraction, [ --enable-fraction use wxFraction class],
462 wxUSE_FRACTION="$enableval",wxUSE_FRACTION=$DEFAULT_wxUSE_FRACTION)
463 AC_ARG_ENABLE(dynlib, [ --enable-dynlib use wxLibrary class for DLL loading],
464 wxUSE_DYNLIB_CLASS="$enableval",wxUSE_DYNLIB_CLASS=$DEFAULT_wxUSE_DYNLIB_CLASS)
465 AC_ARG_ENABLE(longlong, [ --enable-longlong use wxLongLong class],
466 wxUSE_LONGLONG="${enableval}",wxUSE_LONGLONG=$DEFAULT_wxUSE_LONGLONG)
467 AC_ARG_ENABLE(log, [ --enable-log use logging system],
468 wxUSE_LOG="$enableval",wxUSE_LOG=$DEFAULT_wxUSE_LOG)
469 AC_ARG_ENABLE(streams, [ --enable-streams use wxStream etc classes],
470 wxUSE_STREAMS="$enableval",wxUSE_STREAMS=$DEFAULT_wxUSE_STREAMS)
471 AC_ARG_ENABLE(file, [ --enable-file use wxFile classes],
472 wxUSE_FILE="$enableval",wxUSE_FILE=$DEFAULT_wxUSE_FILE)
473 AC_ARG_ENABLE(textfile, [ --enable-textfile use wxTextFile classes],
474 wxUSE_TEXTFILE="$enableval",wxUSE_TEXTFILE=$DEFAULT_wxUSE_TEXTFILE)
475 AC_ARG_ENABLE(unicode, [ --enable-unicode compile wxString with Unicode support],
476 wxUSE_UNICODE="$enableval",wxUSE_UNICODE=$DEFAULT_wxUSE_UNICODE)
477 AC_ARG_ENABLE(wcsrtombs, [ --enable-wcsrtombs use wcsrtombs instead of buggy (GNU libc1/Linux libc5) wcstombs],
478 wxUSE_WCSRTOMBS="$enableval",wxUSE_WCSRTOMBS=$DEFAULT_wxUSE_WCSRTOMBS)
479 AC_ARG_ENABLE(joystick, [ --enable-joystick compile in joystick support (Linux only)],
480 wxUSE_JOYSTICK="$enableval", wxUSE_JOYSTICK=$DEFAULT_wxUSE_JOYSTICK)
482 dnl ---------------------------------------------------------------------------
483 dnl "big" options (i.e. those which change a lot of things throughout the library)
484 dnl ---------------------------------------------------------------------------
486 AC_ARG_ENABLE(threads, [ --enable-threads use threads],
487 wxUSE_THREADS="${enableval}",wxUSE_THREADS=$DEFAULT_wxUSE_THREADS)
488 AC_ARG_ENABLE(serial, [ --enable-serial use class serialization],
489 wxUSE_SERIAL="${enableval}",wxUSE_SERIAL=$DEFAULT_wxUSE_SERIAL)
491 dnl ---------------------------------------------------------------------------
492 dnl "big" GUI options
493 dnl ---------------------------------------------------------------------------
495 AC_ARG_ENABLE(docview, [ --enable-docview use document view architecture],
496 wxUSE_DOC_VIEW_ARCHITECTURE="$enableval",wxUSE_DOC_VIEW_ARCHITECTURE=$DEFAULT_wxUSE_DOC_VIEW_ARCHITECTURE)
497 AC_ARG_ENABLE(help, [ --enable-help use help (using external browser at present)],
498 wxUSE_HELP="$enableval",wxUSE_HELP=$DEFAULT_wxUSE_HELP)
499 AC_ARG_ENABLE(constraints, [ --enable-constraints use layout-constraints system],
500 wxUSE_CONSTRAINTS="$enableval",wxUSE_CONSTRAINTS=$DEFAULT_wxUSE_CONSTRAINTS)
501 AC_ARG_ENABLE(printarch, [ --enable-printarch use printing architecture],
502 wxUSE_PRINTING_ARCHITECTURE="${enableval}",wxUSE_PRINTING_ARCHITECTURE=$DEFAULT_wxUSE_PRINTING_ARCHITECTURE)
503 AC_ARG_ENABLE(mdi, [ --enable-mdi use multiple document interface architecture],
504 wxUSE_MDI_ARCHITECTURE="${enableval}",wxUSE_MDI_ARCHITECTURE=$DEFAULT_wxUSE_MDI_ARCHITECTURE)
506 dnl ---------------------------------------------------------------------------
507 dnl PostScript options
508 dnl ---------------------------------------------------------------------------
509 AC_ARG_ENABLE(postscript, [ --enable-postscript use wxPostscriptDC device context (default for gtk+)],
510 wxUSE_POSTSCRIPT="$enableval",wxUSE_POSTSCRIPT=$DEFAULT_wxUSE_POSTSCRIPT)
512 dnl VZ: these options seem to be always on, if someone wants to change it please do
513 dnl AC_ARG_ENABLE(PS-normalized, [ --enable-PS-normalized use normalized PS fonts],
514 dnl wxUSE_NORMALIZED_PS_FONTS="${enableval}",wxUSE_NORMALIZED_PS_FONTS=$DEFAULT_wxUSE_NORMALIZED_PS_FONTS)
515 dnl AC_ARG_ENABLE(afmfonts, [ --enable-afmfonts use Adobe Font Metric Font table],
516 dnl wxUSE_AFM_FOR_POSTSCRIPT="${enableval}",wxUSE_AFM_FOR_POSTSCRIPT=$DEFAULT_wxUSE_AFM_FOR_POSTSCRIPT)
518 dnl ---------------------------------------------------------------------------
520 dnl ---------------------------------------------------------------------------
521 AC_ARG_ENABLE(prologio, [ --enable-prologio use Prolog IO library],
522 wxUSE_PROLOGIO="${enableval}",wxUSE_PROLOGIO=$DEFAULT_wxUSE_PROLOGIO)
523 AC_ARG_ENABLE(resources, [ --enable-resources use wxWindows resources],
524 wxUSE_RESOURCES="${enableval}",wxUSE_RESOURCES=$DEFAULT_wxUSE_RESOURCES)
526 AC_ARG_ENABLE(xresources, [ --enable-xresources use X resources for save (default for gtk+)],
527 wxUSE_X_RESOURCES="${enableval}",wxUSE_X_RESOURCES=$DEFAULT_wxUSE_X_RESOURCES)
528 dnl ---------------------------------------------------------------------------
530 dnl ---------------------------------------------------------------------------
531 AC_ARG_ENABLE(clipboard, [ --enable-clipboard use wxClipboard classes],
532 wxUSE_CLIPBOARD="${enableval}",wxUSE_CLIPBOARD=$DEFAULT_wxUSE_CLIPBOARD)
533 AC_ARG_ENABLE(dnd, [ --enable-dnd use Drag'n'Drop classes],
534 wxUSE_DRAG_AND_DROP="${enableval}",wxUSE_DRAG_AND_DROP=$DEFAULT_wxUSE_DRAG_AND_DROP)
536 dnl ---------------------------------------------------------------------------
537 dnl options which don't work yet
538 dnl ---------------------------------------------------------------------------
539 AC_ARG_ENABLE(wxtree, [ --enable-wxtree make wxTree library],
540 wxUSE_WXTREE="${enableval}",wxUSE_WXTREE=$DEFAULT_wxUSE_WXTREE)
542 dnl ---------------------------------------------------------------------------
543 dnl optional GUI controls (in alphabetical order except the first one)
544 dnl ---------------------------------------------------------------------------
546 AC_ARG_ENABLE(controls, [ --enable-controls use all usual controls],
547 wxUSE_CONTROLS="${enableval}")
549 dnl even with --enable-controls, some may be disabled by giving
550 dnl --disable-<control> later on the command line - but by default all will be
551 dnl used (and vice versa)
552 if test "$wxUSE_CONTROLS" = "yes"; then
553 DEFAULT_wxUSE_ACCEL=yes
554 DEFAULT_wxUSE_CARET=yes
555 DEFAULT_wxUSE_COMBOBOX=yes
556 DEFAULT_wxUSE_BMPBUTTON=yes
557 DEFAULT_wxUSE_CHECKBOX=yes
558 DEFAULT_wxUSE_CHECKLISTBOX=yes
559 DEFAULT_wxUSE_GAUGE=yes
560 DEFAULT_wxUSE_GRID=yes
561 DEFAULT_wxUSE_IMAGLIST=yes
562 DEFAULT_wxUSE_LISTBOX=yes
563 DEFAULT_wxUSE_LISTCTRL=yes
564 DEFAULT_wxUSE_NOTEBOOK=yes
565 DEFAULT_wxUSE_RADIOBOX=yes
566 DEFAULT_wxUSE_RADIOBTN=yes
567 DEFAULT_wxUSE_SASH=yes
568 DEFAULT_wxUSE_SCROLLBAR=yes
569 DEFAULT_wxUSE_SLIDER=yes
570 DEFAULT_wxUSE_SPINBTN=yes
571 DEFAULT_wxUSE_SPLITTER=yes
572 DEFAULT_wxUSE_STATBMP=yes
573 DEFAULT_wxUSE_STATBOX=yes
574 DEFAULT_wxUSE_STATLINE=yes
575 DEFAULT_wxUSE_STATUSBAR=yes
576 DEFAULT_wxUSE_TAB_DIALOG=yes
577 DEFAULT_wxUSE_TOOLBAR=yes
578 DEFAULT_wxUSE_TOOLTIPS=yes
579 DEFAULT_wxUSE_TREECTRL=yes
580 elif test "$wxUSE_CONTROLS" = "no"; then
581 DEFAULT_wxUSE_ACCEL=no
582 DEFAULT_wxUSE_CARET=no
583 DEFAULT_wxUSE_COMBOBOX=no
584 DEFAULT_wxUSE_BMPBUTTON=no
585 DEFAULT_wxUSE_CHECKBOX=no
586 DEFAULT_wxUSE_CHECKLISTBOX=no
587 DEFAULT_wxUSE_GAUGE=no
588 DEFAULT_wxUSE_GRID=no
589 DEFAULT_wxUSE_IMAGLIST=no
590 DEFAULT_wxUSE_LISTBOX=no
591 DEFAULT_wxUSE_LISTCTRL=no
592 DEFAULT_wxUSE_NOTEBOOK=no
593 DEFAULT_wxUSE_RADIOBOX=no
594 DEFAULT_wxUSE_RADIOBTN=no
595 DEFAULT_wxUSE_SASH=no
596 DEFAULT_wxUSE_SCROLLBAR=no
597 DEFAULT_wxUSE_SLIDER=no
598 DEFAULT_wxUSE_SPINBTN=no
599 DEFAULT_wxUSE_SPLITTER=no
600 DEFAULT_wxUSE_STATBMP=no
601 DEFAULT_wxUSE_STATBOX=no
602 DEFAULT_wxUSE_STATLINE=no
603 DEFAULT_wxUSE_STATUSBAR=no
604 DEFAULT_wxUSE_TAB_DIALOG=no
605 DEFAULT_wxUSE_TOOLBAR=no
606 DEFAULT_wxUSE_TOOLTIPS=no
607 DEFAULT_wxUSE_TREECTRL=no
610 AC_ARG_ENABLE(accel, [ --enable-accel use accelerators],
611 wxUSE_ACCEL="${enableval}",wxUSE_ACCEL=$DEFAULT_wxUSE_ACCEL)
612 AC_ARG_ENABLE(caret, [ --enable-caret use wxCaret class],
613 wxUSE_CARET="${enableval}",wxUSE_CARET=$DEFAULT_wxUSE_CARET)
614 AC_ARG_ENABLE(bmpbutton, [ --enable-bmpbutton use wxBitmapButton class],
615 wxUSE_BMPBUTTON="${enableval}",wxUSE_BMPBUTTON=$DEFAULT_wxUSE_BMPBUTTON)
616 AC_ARG_ENABLE(checkbox, [ --enable-checkbox use wxCheckBox class],
617 wxUSE_CHECKBOX="${enableval}",wxUSE_CHECKBOX=$DEFAULT_wxUSE_CHECKBOX)
618 AC_ARG_ENABLE(checklst, [ --enable-checklst use wxCheckListBox (listbox with checkboxes) class],
619 wxUSE_CHECKLST="${enableval}",wxUSE_CHECKLST=$DEFAULT_wxUSE_CHECKLST)
620 AC_ARG_ENABLE(combobox, [ --enable-combobox use wxChoice and wxComboBox classes],
621 wxUSE_COMBOBOX="${enableval}",wxUSE_COMBOBOX=$DEFAULT_wxUSE_COMBOBOX)
622 AC_ARG_ENABLE(gauge, [ --enable-gauge use wxGauge class],
623 wxUSE_GAUGE="${enableval}",wxUSE_GAUGE=$DEFAULT_wxUSE_GAUGE)
624 AC_ARG_ENABLE(grid, [ --enable-grid use wxGrid class],
625 wxUSE_GRID="${enableval}",wxUSE_GRID=$DEFAULT_wxUSE_GRID)
626 AC_ARG_ENABLE(imaglist, [ --enable-imaglist use wxImageList class],
627 wxUSE_IMAGLIST="${enableval}",wxUSE_IMAGLIST=$DEFAULT_wxUSE_IMAGLIST)
628 AC_ARG_ENABLE(listbox, [ --enable-listbox use wxListBox class],
629 wxUSE_LISTBOX="${enableval}",wxUSE_LISTBOX=$DEFAULT_wxUSE_LISTBOX)
630 AC_ARG_ENABLE(listctrl, [ --enable-listctrl use wxListCtrl class],
631 wxUSE_LISTCTRL="${enableval}",wxUSE_LISTCTRL=$DEFAULT_wxUSE_LISTCTRL)
632 AC_ARG_ENABLE(notebook, [ --enable-notebook use wxNotebook class],
633 wxUSE_NOTEBOOK="${enableval}",wxUSE_NOTEBOOK=$DEFAULT_wxUSE_NOTEBOOK)
634 AC_ARG_ENABLE(radiobox, [ --enable-radiobox use wxRadioBox class],
635 wxUSE_RADIOBOX="${enableval}",wxUSE_RADIOBOX=$DEFAULT_wxUSE_RADIOBOX)
636 AC_ARG_ENABLE(radiobtn, [ --enable-radiobtn use wxRadioButton class],
637 wxUSE_RADIOBTN="${enableval}",wxUSE_RADIOBTN=$DEFAULT_wxUSE_RADIOBTN)
638 AC_ARG_ENABLE(sash, [ --enable-sash use wxSashWindow class],
639 wxUSE_SASH="${enableval}",wxUSE_SASH=$DEFAULT_wxUSE_SASH)
640 AC_ARG_ENABLE(scrollbar, [ --enable-scrollbar use wxScrollBar class and scrollable windows],
641 wxUSE_SCROLLBAR="${enableval}",wxUSE_SCROLLBAR=$DEFAULT_wxUSE_SCROLLBAR)
642 AC_ARG_ENABLE(slider, [ --enable-slider use wxSlider class],
643 wxUSE_SLIDER="${enableval}",wxUSE_SLIDER=$DEFAULT_wxUSE_SLIDER)
644 AC_ARG_ENABLE(spinbtn, [ --enable-spinbtn use wxSpinButton class],
645 wxUSE_SPINBTN="${enableval}",wxUSE_SPINBTN=$DEFAULT_wxUSE_SPINBTN)
646 AC_ARG_ENABLE(splitter, [ --enable-splitter use wxSplitterWindow class],
647 wxUSE_SPLITTER="${enableval}",wxUSE_SPLITTER=$DEFAULT_wxUSE_SPLITTER)
648 AC_ARG_ENABLE(statbmp, [ --enable-statbmp use wxStaticBitmap class],
649 wxUSE_STATBMP="${enableval}",wxUSE_STATBMP=$DEFAULT_wxUSE_STATBMP)
650 AC_ARG_ENABLE(statbox, [ --enable-statbox use wxStaticBox class],
651 wxUSE_STATBOX="${enableval}",wxUSE_STATBOX=$DEFAULT_wxUSE_STATBOX)
652 AC_ARG_ENABLE(statline, [ --enable-statline use wxStaticLine class],
653 wxUSE_STATLINE="${enableval}",wxUSE_STATLINE=$DEFAULT_wxUSE_STATLINE)
654 AC_ARG_ENABLE(statusbar, [ --enable-statusbar use wxStatusBar class],
655 wxUSE_STATUSBAR="${enableval}",wxUSE_STATUSBAR=$DEFAULT_wxUSE_STATUSBAR)
656 AC_ARG_ENABLE(tabdialog, [ --enable-tabdialog use wxTabControl class],
657 wxUSE_TABDIALOG="${enableval}",wxUSE_TABDIALOG=$DEFAULT_wxUSE_TABDIALOG)
658 AC_ARG_ENABLE(toolbar, [ --enable-toolbar use wxToolBar class],
659 wxUSE_TOOLBAR="${enableval}",wxUSE_TOOLBAR=$DEFAULT_wxUSE_TOOLBAR)
660 AC_ARG_ENABLE(treectrl, [ --enable-treectrl use wxTreeCtrl class],
661 wxUSE_TREECTRL="${enableval}",wxUSE_TREECTRL=$DEFAULT_wxUSE_TREECTRL)
663 dnl ---------------------------------------------------------------------------
665 dnl ---------------------------------------------------------------------------
667 AC_ARG_ENABLE(commondlg, [ --enable-commondlg use common dialogs (wxDirDialog, wxProgressDialog, wxTextDialog, ...)],
668 wxUSE_COMMONDLGS="${enableval}",wxUSE_COMMONDLGS=$DEFAULT_wxUSE_COMMONDLGS)
669 AC_ARG_ENABLE(miniframe, [ --enable-miniframe use wxMiniFrame class],
670 wxUSE_MINIFRAME="${enableval}",wxUSE_MINIFRAME=$DEFAULT_wxUSE_MINIFRAME)
671 AC_ARG_ENABLE(tooltips, [ --enable-tooltips use wxToolTip class],
672 wxUSE_TOOLTIPS="${enableval}",wxUSE_TOOLTIPS=$DEFAULT_wxUSE_TOOLTIPS)
673 AC_ARG_ENABLE(splines, [ --enable-splines use spline drawing code],
674 wxUSE_SPLINES="${enableval}",wxUSE_SPLINES=$DEFAULT_wxUSE_SPLINES)
675 AC_ARG_ENABLE(validators, [ --enable-validators use wxValidator and derived classes],
676 wxUSE_VALIDATORS="${enableval}",wxUSE_VALIDATORS=$DEFAULT_wxUSE_VALIDATORS)
678 dnl check that no more than one toolkit is given and that if none are given that
679 dnl we have a default one
681 if test "$TOOLKIT_GIVEN" = 1; then
682 dnl convert "yes" to 1 and "no" to 0
683 wxUSE_GTK=`echo $wxUSE_GTK | sed -e 's/yes/1/' -e 's/no/0/'`
684 wxUSE_MOTIF=`echo $wxUSE_MOTIF | sed -e 's/yes/1/' -e 's/no/0/'`
685 wxUSE_MSW=`echo $wxUSE_MSW | sed -e 's/yes/1/' -e 's/no/0/'`
687 dnl try to guess the most apropriate toolkit for this platform
688 wxUSE_GTK=$DEFAULT_wxUSE_GTK
689 wxUSE_MOTIF=$DEFAULT_wxUSE_MOTIF
690 wxUSE_MSW=$DEFAULT_wxUSE_MSW
693 dnl NB: this supposes that the shell is able to handle arithmetic expansion and
694 dnl the ${VAR:-VALUE} construction. It does simplify our life though...
695 NUM_TOOLKITS="$((${wxUSE_GTK:-0}+${wxUSE_MOTIF:-0}+${wxUSE_MSW:-0}))"
697 case "$NUM_TOOLKITS" in
701 AC_MSG_ERROR(Please specify a toolkit)
704 AC_MSG_ERROR(Please specify at most one toolkit)
707 dnl ---------------------------------------------------------------------------
708 dnl Checks for programs
709 dnl ---------------------------------------------------------------------------
711 dnl flush the cache because checking for programs might abort
714 dnl cross-compiling support: we're cross compiling if the build system is
715 dnl different from the target one (assume host and target be always the same)
716 if eval "test $host != $build"; then
717 if eval "test $build != NONE"; then
720 RANLIB="$build-ranlib"
725 dnl C-compiler checks
726 dnl defines CC with the compiler to use
727 dnl defines GCC with yes if using gcc
728 dnl defines GCC empty if not using gcc
732 CFLAGS=`echo "$CFLAGS" | sed 's/-g//g'`
734 dnl what is the c-preprocessor
735 dnl defines CPP with the c-preprocessor
738 dnl is -traditional needed for correct compilations
739 dnl adds -traditional for gcc if needed
740 AC_PROG_GCC_TRADITIONAL
745 dnl C++-compiler checks
746 dnl defines CXX with the compiler to use
747 dnl defines GXX with yes if using gxx
748 dnl defines GXX empty if not using gxx
752 dnl what is the C++-preprocessor
753 dnl defines CXXCPP with the C++-preprocessor
756 CXXFLAGS=`echo "$CXXFLAGS" | sed 's/-g//g'`
761 dnl defines RANLIB with the appropriate command
765 dnl defines AR with the appropriate command
766 AC_CHECK_PROG(AR, ar, ar, ar)
769 dnl defines INSTALL with the appropriate command
773 dnl defines STRIP as strip or nothing if not found
774 AC_CHECK_PROG(STRIP, strip, strip, true)
776 dnl check if VPATH works
777 AC_MSG_CHECKING("make for VPATH support")
779 cat - << EOF > confMake
785 if test ! -d sub ; then
788 echo dummy > sub/file
789 ${MAKE-make} -f confMake VPATH=sub 2> config.log > /dev/null
791 rm -f sub/file check final_file confMake
793 if test "$RESULT" = 0; then
798 You need a make-utility that is able to use the variable
800 If your version of make does not support VPATH correctly,
801 please install GNU-make (possibly as gmake), and start
802 configure with the following command:
803 export MAKE=gmake; ./configure for sh-type shells
804 setenv MAKE gmake; ./configure for csh-type shells
805 Also please do remember to use gmake in this case every time
806 you are trying to compile.
811 dnl defines YACC with the appropriate command
815 dnl defines LEX with the appropriate command
816 dnl defines LEXLIB with the appropriate library
817 dnl this AM version (don't use AC_PROG_LEX!) also
818 dnl defines YYTEXT_POINTER if yytext is char*
819 dnl defines LEX_OUTPUT_ROOT as to the base of the
820 dnl filename output by the lexer
823 dnl needed for making link to setup.h
826 dnl libtool checks (disable static libs by default, this takes too much time...)
830 dnl ---------------------------------------------------------------------------
831 dnl Define search path for includes and libraries: all headers and libs will be
832 dnl looked for in all directories of this path
833 dnl ---------------------------------------------------------------------------
836 /usr/Motif-1.2/include \
837 /usr/Motif-2.1/include \
839 /usr/include/Motif1.2 \
840 /opt/xpm/include/X11 \
842 /usr/Motif1.2/include \
858 /usr/local/X11R6/include \
859 /usr/local/X11R5/include \
860 /usr/local/X11R4/include \
862 /usr/local/include/X11R6 \
863 /usr/local/include/X11R5 \
864 /usr/local/include/X11R4 \
868 /usr/local/X11/include \
869 /usr/local/include/X11 \
873 /usr/XFree86/include/X11 \
880 /usr/unsupported/include \
881 /usr/athena/include \
882 /usr/local/x11r5/include \
883 /usr/lpp/Xamples/include \
885 /usr/local/include/gtk \
886 /usr/local/include/qt \
889 /usr/openwin/include \
890 /usr/openwin/share/include \
893 SEARCH_LIB="`echo "$SEARCH_INCLUDE" | sed s/include/lib/g` "
895 dnl ------------------------------------------------------------------------
896 dnl Check for libraries
897 dnl ------------------------------------------------------------------------
899 dnl flush the cache because checking for libraries might abort
902 dnl find the X11 include and library files
903 dnl defines x_includes and x_libraries
906 if test "$no_x" = "yes"; then
907 AC_MSG_ERROR(X11 libraries not found, aborting)
910 CHECK_INCLUDE="-I/usr/include $X_CFLAGS"
911 CHECK_LIB="-L/lib -L/usr/lib $X_LIBS"
913 dnl ----------------------------------------------------------------
914 dnl search for toolkit (widget sets)
915 dnl ----------------------------------------------------------------
927 if test "$wxUSE_GTK" = 1; then
928 dnl avoid calling AM_PATH_GTK twice, so check first for the newer version and
929 dnl only then, if it wasn't found, for an older one
930 AM_PATH_GTK(1.2.0, WXGTK12=1)
931 if test "$WXGTK12" != 1; then
932 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?))
935 TOOLKIT_INCLUDE="$GTK_CFLAGS"
936 GUI_TK_LIBRARY="$GTK_LIBS"
940 if test "$wxUSE_MOTIF" = 1; then
941 AC_MSG_CHECKING(for Motif/Lesstif includes)
942 AC_PATH_FIND_INCLUDES($SEARCH_INCLUDE, Xm/Xm.h)
943 if test "$ac_find_includes" != "" ; then
944 AC_MSG_RESULT(found $ac_find_includes)
947 AC_MSG_ERROR(please set CFLAGS to contain the location of Xm/Xm.h)
950 AC_MSG_CHECKING(for Motif/Lesstif library)
951 AC_PATH_FIND_LIBRARIES($SEARCH_LIB, Xm)
952 if test "$ac_find_libraries" != "" ; then
953 AC_INCLUDE_PATH_EXIST($ac_find_includes, $CHECK_INCLUDE)
954 AC_LINK_PATH_EXIST($ac_find_libraries, $CHECK_LIB)
956 CHECK_LINK="$CHECK_LIB $ac_path_to_link"
957 CHECK_INCLUDE="$CHECK_INCLUDE $ac_path_to_include"
958 AC_MSG_RESULT(found at $ac_find_libraries)
961 AC_MSG_ERROR(please set LDFLAGS to contain the location of libXm)
964 AC_MSG_CHECKING(for Xt library)
965 AC_PATH_FIND_LIBRARIES($SEARCH_LIB,Xt)
966 if test "$ac_find_libraries" != "" ; then
967 AC_LINK_PATH_EXIST($ac_find_libraries,$CHECK_LIB)
968 CHECK_LINK="$CHECK_LIB $ac_path_to_link"
969 AC_MSG_RESULT(found at $ac_find_libraries)
972 AC_MSG_ERROR(please set LDFLAGS to contain the location of libXt)
976 AC_MSG_CHECKING(for Xpm library)
977 AC_PATH_FIND_LIBRARIES($SEARCH_LIB,Xpm)
978 if test "$ac_find_libraries" != "" ; then
979 AC_LINK_PATH_EXIST($ac_find_libraries,$CHECK_LIB)
980 CHECK_LINK="$CHECK_LIB $ac_path_to_link"
982 AC_DEFINE(wxHAVE_LIB_XPM)
983 AC_MSG_RESULT(found at $ac_find_libraries)
986 AC_MSG_WARN(library will be compiled without support for images in XPM format)
989 GUI_TK_LINK="-lXm $XPM_LINK -lXmu -lXt -lX11 -lm"
990 GUI_TK_LIBRARY="$CHECK_LIB $GUI_TK_LINK"
994 dnl the name of the directory where the files for this toolkit live
995 TOOLKIT_DIR=`echo ${TOOLKIT} | tr "A-Z" "a-z"`
997 dnl the symbol which allows conditional compilation for the given toolkit
998 TOOLKIT_DEF=-D__WX${TOOLKIT}__
1000 dnl the name of the (libtool) library
1001 WX_LIBRARY_NAME="libwx_${TOOLKIT_DIR}2.la"
1003 dnl ------------------------------------------------------------------------
1004 dnl Check for headers
1005 dnl ------------------------------------------------------------------------
1007 dnl defines HAVE_STRINGS_H (where some string functions live on AIX for example)
1008 AC_CHECK_HEADERS(strings.h)
1009 dnl defines HAVE_UNISTD_H
1010 AC_CHECK_HEADERS(unistd.h)
1011 dnl defines HAVE_WCHAR_H
1012 AC_CHECK_HEADERS(wchar.h)
1013 dnl defines HAVE_WCSTR_H
1014 AC_CHECK_HEADERS(wcstr.h)
1015 dnl defines HAVE_FNMATCH_H
1016 AC_CHECK_HEADERS(fnmatch.h)
1018 dnl ---------------------------------------------------------------------------
1019 dnl Checks for typedefs
1020 dnl ---------------------------------------------------------------------------
1022 dnl defines mode_t if not already defined
1024 dnl defines off_t if not already defined
1026 dnl defines pid_t if not already defined
1028 dnl defines size_t if not already defined
1030 dnl defines uid_t and gid_t if not already defined
1033 dnl ---------------------------------------------------------------------------
1034 dnl Checks for structures
1035 dnl ---------------------------------------------------------------------------
1037 dnl ---------------------------------------------------------------------------
1038 dnl Checks for compiler characteristics
1039 dnl ---------------------------------------------------------------------------
1041 dnl defines const to be empty if c-compiler does not support const fully
1043 dnl defines inline to a sensible value for the c-compiler
1046 dnl check the sizes of integral types (give some reasonable default values for
1047 dnl cross-compiling)
1048 dnl defines the size of certain types of variables in SIZEOF_<TYPE>
1049 AC_CHECK_SIZEOF(char, 1)
1050 AC_CHECK_SIZEOF(short, 2)
1051 AC_CHECK_SIZEOF(int *, 4)
1052 AC_CHECK_SIZEOF(int, 4)
1053 AC_CHECK_SIZEOF(long, 4)
1054 AC_CHECK_SIZEOF(long long, 0)
1056 dnl for bytesex stuff
1059 dnl check for iostream (as opposed to iostream.h) standard header
1060 WX_CPP_NEW_HEADERS(, AC_DEFINE(wxUSE_IOSTREAMH))
1062 dnl check whether C++ compiler supports bool built-in type
1065 dnl check whether overloading on size_t/int parameter works
1066 WX_CPP_SIZE_T_IS_NOT_INT
1068 dnl ---------------------------------------------------------------------------
1069 dnl Check for functions
1070 dnl ---------------------------------------------------------------------------
1072 dnl check for wcslen
1073 AC_CHECK_LIB(c, wcslen, [
1074 AC_DEFINE(HAVE_WCSLEN)
1077 AC_CHECK_LIB(w, wcslen, [
1078 AC_DEFINE(HAVE_WCSLEN)
1083 dnl check for vprintf/vsprintf() which are GNU extensions
1086 dnl check for vsnprintf() - a safe version of vsprintf()
1087 AC_CHECK_FUNCS(vsnprintf,
1088 AC_DEFINE(HAVE_VSNPRINTF),
1089 AC_MSG_WARN(unsafe function sprintf will be used instead of snprintf)
1092 dnl check for vfork() (even if it's the same as fork() in modern Unices)
1093 AC_CHECK_FUNCS(vfork)
1096 AC_CHECK_FUNCS(nanosleep, AC_DEFINE(HAVE_NANOSLEEP), [
1097 AC_CHECK_LIB(posix4, nanosleep, [
1098 AC_DEFINE(HAVE_NANOSLEEP)
1099 POSIX4_LINK="-lposix4"
1101 AC_CHECK_FUNCS(usleep,
1102 AC_DEFINE(HAVE_USLEEP),
1103 AC_MSG_WARN([wxSleep() function will not work]))
1107 dnl check for uname (POSIX) and gethostname (BSD)
1108 AC_CHECK_FUNCS(uname gethostname, break)
1110 dnl ===========================================================================
1111 dnl Now we have all the info we need - use it!
1112 dnl ===========================================================================
1117 dnl ---------------------------------------------------------------------------
1119 dnl ---------------------------------------------------------------------------
1122 dnl defines THREADS_OBJ which contains the object files to build
1123 dnl defines THREADS_LINK which contains the thread library to link with
1124 dnl defines wxUSE_THREADS=1 if thread support is activated
1129 if test "$wxUSE_THREADS" = "yes"; then
1130 dnl find if POSIX threads are available
1132 dnl standard lib name is pthread
1133 dnl We no longer test for pthread-0.7 as it breaks compilation on some
1134 dnl glibc2 systems, especially for static linkage.
1135 AC_CHECK_LIB(pthread, pthread_create, [
1136 THREADS_OBJ="threadpsx.lo"
1137 THREADS_LINK="pthread"
1139 dnl thread functions are in libc_r under FreeBSD
1140 AC_CHECK_LIB(c_r, pthread_create, [
1141 THREADS_OBJ="threadpsx.lo"
1144 dnl VZ: SGI threads are not supported currently
1145 AC_CHECK_HEADER(sys/prctl.h, [
1146 THREADS_OBJ="threadsgi.lo"
1150 if test "$THREADS_LINK" != ""; then
1151 AC_DEFINE(wxUSE_THREADS)
1153 AC_MSG_WARN(No thread support on this system)
1157 if test -z "$THREADS_OBJ"; then
1161 dnl do other tests only if we are using threads
1162 if test "$wxUSE_THREADS" = "yes"; then
1163 dnl must define _REENTRANT for multithreaded code
1164 CFLAGS="${CFLAGS} -D_REENTRANT"
1165 CXXFLAGS="${CXXFLAGS} -D_REENTRANT"
1167 SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS thread"
1168 dnl LTLIBOBJS="$LTLIBOBJS $THREADS_OBJ"
1170 dnl define autoconf macro to check for given function in both pthread and
1171 dnl posix4 libraries
1172 dnl usage: AC_FUNC_THREAD(FUNCTION_NAME)
1174 dnl AC_DEFUN(AC_FUNC_THREAD,
1176 dnl AC_CHECK_LIB($THREADS_LINK, $1,
1177 dnl AC_DEFINE(HAVE_`'translit($1, `A-Z', 'a-z'),
1178 dnl [AC_CHECK_LIB("posix4", $1,
1179 dnl [AC_DEFINE(HAVE_`'translit($1, `A-Z', 'a-z'))
1180 dnl POSIX4_LINK="-lposix4"
1185 AC_CHECK_HEADERS(sched.h)
1187 AC_CHECK_LIB($THREADS_LINK, sched_yield,
1188 AC_DEFINE(HAVE_SCHED_YIELD),
1189 [AC_CHECK_LIB("posix4", sched_yield,
1190 [AC_DEFINE(HAVE_SCHED_YIELD) POSIX4_LINK="-lposix4"],
1191 AC_MSG_WARN(wxThread::Yield will not work properly)
1195 dnl VZ: we should be checking for all of the following functions instead:
1196 dnl 1. pthread_attr_getschedpolicy
1197 dnl 2. sched_get_priority_min and sched_get_priority_max
1198 dnl 3. pthread_attr_getschedparam and pthread_attr_setschedparam
1199 dnl but it seems that if the first one is there, the other ones are too (of
1200 dnl course the proper solution would be to implement AC_FUNC_THREAD above
1201 dnl and do test for them all - anyone?)
1202 AC_CHECK_LIB($THREADS_LINK, pthread_attr_getschedpolicy,
1203 AC_DEFINE(HAVE_THREAD_PRIORITY_FUNCTIONS),
1204 [AC_CHECK_LIB("posix4", pthread_attr_getschedpolicy,
1205 [AC_DEFINE(HAVE_THREAD_PRIORITY_FUNCTIONS) POSIX4_LINK="-lposix4"],
1206 AC_MSG_WARN(Setting thread priority will not work)
1210 AC_CHECK_LIB($THREADS_LINK, pthread_cancel,
1211 AC_DEFINE(HAVE_PTHREAD_CANCEL),
1212 AC_MSG_WARN([wxThread::Kill() will not work properly]))
1214 AC_CACHE_CHECK([for pthread_cleanup_push/pop], wx_cv_func_pthread_cleanup_push,
1216 AC_TRY_COMPILE([#include <pthread.h>],
1218 pthread_cleanup_push(NULL, NULL);
1219 pthread_cleanup_pop(0);
1221 wx_cv_func_pthread_cleanup_push=yes
1222 AC_DEFINE(HAVE_THREAD_CLEANUP_FUNCTIONS)
1224 wx_cv_func_pthread_cleanup_push=no
1228 THREADS_LINK="-l$THREADS_LINK"
1231 if test "$WXGTK12" = 1 ; then
1232 AC_DEFINE_UNQUOTED(__WXGTK12__,$WXGTK12)
1236 if test "$wxUSE_DEBUG_GDB" = "yes" ; then
1237 wxUSE_DEBUG_INFO=yes
1241 if test "$wxUSE_DEBUG_INFO" = "yes" ; then
1246 if test "$wxUSE_DEBUG_FLAG" = "yes" ; then
1248 WXDEBUG_DEFINE="-D__WXDEBUG__"
1250 WXDEBUG_DEFINE="-DGTK_NO_CHECK_CASTS"
1253 if test "$wxUSE_MEM_TRACING" = "yes" ; then
1254 AC_DEFINE(wxUSE_MEMORY_TRACING)
1255 AC_DEFINE(wxUSE_GLOBAL_MEMORY_OPERATORS)
1256 SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS memcheck"
1259 if test "$wxUSE_DMALLOC" = "yes" ; then
1260 DMALLOC_LINK="-ldmalloc"
1264 if test "$wxUSE_PROFILE" = "yes" ; then
1268 CXXFLAGS=`echo "${CXXFLAGS}" | sed "s/\-O.//g" `
1269 CFLAGS=`echo "${CFLAGS}" | sed "s/\-O.//g" `
1270 if test "$wxUSE_OPTIMISE" = "no" ; then
1273 if test "$GCC" = yes ; then
1277 OPTIMISE="${OPTIMISE} "
1285 dnl ---------------------------------------------------------------------------
1286 dnl Optional libraries
1287 dnl ---------------------------------------------------------------------------
1289 if test "$wxUSE_ZLIB" = "yes" ; then
1290 AC_DEFINE(wxUSE_ZLIB)
1291 EXTRA_VPATH="$EXTRA_VPATH:\$(srcdir)/../zlib"
1292 LTLIBOBJS="$LTLIBOBJS adler32.lo compress.lo crc32.lo gzio.lo uncompr.lo deflate.lo trees.lo zutil.lo inflate.lo infblock.lo inftrees.lo infcodes.lo infutil.lo inffast.lo"
1295 if test "$wxUSE_LIBPNG" = "yes" ; then
1296 AC_DEFINE(wxUSE_LIBPNG)
1297 LTLIBOBJS="$LTLIBOBJS png.lo pngset.lo pngget.lo pngrutil.lo pngtrans.lo pngwutil.lo pngread.lo pngrio.lo pngwio.lo pngwrite.lo pngrtran.lo pngwtran.lo pngmem.lo pngerror.lo pngpread.lo"
1298 EXTRA_VPATH="$EXTRA_VPATH:\$(srcdir)/../png"
1299 SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS png"
1302 if test "$wxUSE_LIBGIF" = "yes" ; then
1303 AC_DEFINE(wxUSE_LIBGIF)
1306 if test "$wxUSE_LIBJPEG" = "yes" ; then
1307 AC_DEFINE(wxUSE_LIBJPEG)
1308 EXTRA_VPATH="$EXTRA_VPATH:\${srcdir}/../jpeg"
1309 LTLIBOBJS="$LTLIBOBJS \
1310 jcomapi.lo jutils.lo jerror.lo jmemmgr.lo jmemnobs.lo \
1311 jcapimin.lo jcapistd.lo jctrans.lo jcparam.lo jdatadst.lo \
1312 jcinit.lo jcmaster.lo jcmarker.lo jcmainct.lo jcprepct.lo \
1313 jccoefct.lo jccolor.lo jcsample.lo jchuff.lo jcphuff.lo \
1314 jcdctmgr.lo jfdctfst.lo jfdctflt.lo jfdctint.lo \
1315 jdapimin.lo jdapistd.lo jdtrans.lo jdatasrc.lo \
1316 jdmaster.lo jdinput.lo jdmarker.lo jdhuff.lo jdphuff.lo \
1317 jdmainct.lo jdcoefct.lo jdpostct.lo jddctmgr.lo jidctfst.lo \
1318 jidctflt.lo jidctint.lo jidctred.lo jdsample.lo jdcolor.lo \
1319 jquant1.lo jquant2.lo jdmerge.lo"
1322 if test "$wxUSE_OPENGL" = "yes"; then
1323 AC_CHECK_HEADER(GL/gl.h, [
1324 AC_CHECK_LIB(GL, glInitNames, [
1326 AC_DEFINE(wxUSE_OPENGL)
1327 UTILS_SUBDIRS="$UTILS_SUBDIRS glcanvas/src"
1329 AC_CHECK_LIB(MesaGL, glInitNames, [
1330 OPENGL_LINK="-lMesaGL"
1331 AC_DEFINE(wxUSE_OPENGL)
1332 UTILS_SUBDIRS="$UTILS_SUBDIRS glcanvas/src"
1338 dnl ---------------------------------------------------------------------------
1339 dnl the library may be built without GUI classes at all
1340 dnl ---------------------------------------------------------------------------
1342 if test "$wxUSE_GUI" = "yes"; then
1343 AC_DEFINE(wxUSE_GUI)
1345 dnl the things we always pull in the GUI version of the library:
1346 dnl 1. basic things like wxApp, wxWindow, wxControl, wxFrame, wxDialog (the
1347 dnl library really can't be built without those)
1348 dnl 2. basic controls: wxButton, wxStaticText, wxTextCtrl (these are used in
1349 dnl almost any program and the first 2 are needed to show a message box
1350 dnl which want to be always able to do)
1351 dnl 3. GDI stuff: icon, cursors and all that. Although it would be very nice
1352 dnl to compile without them (if the app doesn't do any drawing, it doesn't
1353 dnl need the dcs, pens, brushes, ...), this just can't be done now
1354 dnl 4. menu stuff: wxMenu, wxMenuBar, wxMenuItem
1355 dnl 5. misc stuff: timers, settings, message box
1356 dnl LTLIBOBJS="$LTLIBOBJS \
1357 dnl main.lo app.lo event.lo wincmn.lo window.lo control.lo framecmn.lo frame.lo dialog.lo panelg.lo \
1358 dnl button.lo stattext.lo textctrl.lo \
1359 dnl bitmap.lo brush.lo colour.lo cursor.lo data.lo dc.lo dcbase.lo dcclient.lo \
1360 dnl dcmemory.lo dcscreen.lo font.lo gdicmn.lo gdiobj.lo icon.lo palette.lo pen.lo region.lo \
1362 dnl settings.lo timer.lo msgdlgg.lo"
1364 AC_DEFINE(wxUSE_NOGUI)
1367 dnl ---------------------------------------------------------------------------
1369 dnl ---------------------------------------------------------------------------
1371 if test "$wxUSE_UNIX" = "yes"; then
1372 AC_DEFINE(wxUSE_UNIX)
1375 dnl ---------------------------------------------------------------------------
1376 dnl Register non-GUI class options for makefiles and setup.h
1377 dnl ---------------------------------------------------------------------------
1379 if test "$wxUSE_APPLE_IEEE" = "yes"; then
1380 AC_DEFINE(wxUSE_APPLE_IEEE)
1383 if test "$wxUSE_TIMEDATE" = "yes"; then
1384 AC_DEFINE(wxUSE_TIMEDATE)
1385 SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS typetest"
1388 if test "$wxUSE_FILE" = "yes"; then
1389 AC_DEFINE(wxUSE_FILE)
1392 if test "$wxUSE_TEXTFILE" = "yes"; then
1393 if test "$wxUSE_FILE" != "yes"; then
1394 AC_MSG_WARN(wxTextFile requires wxFile and it won't be compiled without it)
1396 AC_DEFINE(wxUSE_TEXTFILE)
1400 if test "$wxUSE_CONFIG" = "yes" ; then
1401 if test "$wxUSE_TEXTFILE" != "yes"; then
1402 AC_MSG_WARN(wxConfig requires wxTextFile and it won't be compiled without it)
1404 AC_DEFINE(wxUSE_CONFIG)
1405 SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS config"
1409 if test "$wxUSE_INTL" = "yes" ; then
1410 if test "$wxUSE_FILE" != "yes"; then
1411 AC_MSG_WARN(I18n code requires wxFile and it won't be compiled without it)
1413 AC_DEFINE(wxUSE_INTL)
1414 SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS internat"
1418 if test "$wxUSE_LOG" = "yes"; then
1419 AC_DEFINE(wxUSE_LOG)
1422 if test "$wxUSE_LONGLONG" = "yes"; then
1423 AC_DEFINE(wxUSE_LONGLONG)
1426 if test "$wxUSE_SOCKETS" = "yes" ; then
1427 if test "$wxUSE_THREADS" = "yes" ; then
1428 AC_DEFINE(wxUSE_SOCKETS)
1429 SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS wxsocket"
1430 INCLUDE_SUBDIRS="$INCLUDE_SUBDIRS protocol"
1432 AC_MSG_WARN(socket classes require --with-threads and won't be compiled without it)
1437 if test "$wxUSE_STREAMS" = "yes" ; then
1438 AC_DEFINE(wxUSE_STREAMS)
1441 if test "$wxUSE_SERIAL" = "yes" ; then
1442 AC_DEFINE(wxUSE_SERIAL)
1445 dnl ------------------------------------------------------------------------
1447 dnl ------------------------------------------------------------------------
1449 if test "$wxUSE_SOCKETS" = "yes"; then
1452 dnl determine the type of third argument for getsockname
1453 AC_MSG_CHECKING(the type of the third argument of getsockname)
1455 [#include <sys/socket.h>],
1456 [socklen_t len; getsockname(0, NULL, &len);],
1457 AC_DEFINE(SOCKLEN_T, socklen_t) AC_MSG_RESULT(socklen_t),
1459 [#include <sys/socket.h>],
1460 [size_t len; getsockname(0, NULL, &len);],
1461 AC_DEFINE(SOCKLEN_T, size_t) AC_MSG_RESULT(size_t),
1463 [#include <sys/socket.h>],
1464 [int len; getsockname(0, NULL, &len);],
1465 AC_DEFINE(SOCKLEN_T, int) AC_MSG_RESULT(int),
1466 AC_MSG_RESULT(unknown)
1473 dnl ---------------------------------------------------------------------------
1474 dnl Joystick support
1475 dnl ---------------------------------------------------------------------------
1477 if test "$wxUSE_JOYSTICK" = 1; then
1478 dnl joystick support is only for Linux 2.1.x or greater
1479 AC_CHECK_HEADERS(linux/joystick.h)
1480 if test "$ac_cv_header_linux_joystick_h" = "yes"; then
1481 AC_DEFINE(wxUSE_JOYSTICK)
1482 SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS joytest"
1486 dnl ------------------------------------------------------------------------
1488 dnl ------------------------------------------------------------------------
1492 if test "$wxUSE_DYNLIB_CLASS" = "yes"; then
1493 dnl the test is a bit complicated because we check for dlopen() both with
1494 dnl and without -ldl
1495 AC_CHECK_FUNCS(dlopen,
1496 [AC_DEFINE(HAVE_DLOPEN) HAVE_DL_FUNCS=1],
1497 [AC_CHECK_LIB(dl, dlopen,
1498 [AC_DEFINE(HAVE_DLOPEN) HAVE_DL_FUNCS=1])])
1499 AC_CHECK_FUNCS( shl_load,
1500 [AC_DEFINE(HAVE_SHL_LOAD) HAVE_DL_FUNCS=1 HAVE_SHL_FUNCS=1])
1502 if test "$HAVE_DL_FUNCS" = 0; then
1503 AC_MSG_WARN("--with-dynlib and --with-odbc will be disabled due to missing shared library support")
1505 wxUSE_DYNLIB_CLASS=no
1509 if test "$wxUSE_DYNLIB_CLASS" = "yes" ; then
1510 AC_DEFINE(wxUSE_DYNLIB_CLASS)
1513 dnl ---------------------------------------------------------------------------
1515 dnl ---------------------------------------------------------------------------
1517 if test "$wxUSE_UNICODE" = "yes" ; then
1518 AC_DEFINE(wxUSE_UNICODE)
1521 if test "$wxUSE_WCSRTOMBS" = "yes" ; then
1522 AC_DEFINE(wxUSE_WCSRTOMBS)
1525 dnl ----------------------------------------------------------------
1527 dnl ----------------------------------------------------------------
1530 if test "$wxUSE_ODBC" = "yes" ; then
1531 AC_DEFINE(wxUSE_ODBC)
1532 EXTRA_VPATH="$EXTRA_VPATH:\$(srcdir)/../iodbc"
1533 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"
1534 SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS db"
1537 dnl ----------------------------------------------------------------
1538 dnl Register PostScript options for makefiles and setup.h
1539 dnl ----------------------------------------------------------------
1541 if test "$wxUSE_POSTSCRIPT" = "yes" ; then
1542 AC_DEFINE(wxUSE_POSTSCRIPT)
1545 AC_DEFINE(wxUSE_AFM_FOR_POSTSCRIPT)
1547 AC_DEFINE(wxUSE_NORMALIZED_PS_FONTS)
1549 dnl ---------------------------------------------------------------------------
1550 dnl big GUI components: MDI, doc/view, printing, help, ...
1551 dnl ---------------------------------------------------------------------------
1553 if test "$wxUSE_CONSTRAINTS" = "yes"; then
1554 AC_DEFINE(wxUSE_CONSTRAINTS)
1555 SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS layout"
1558 if test "$wxUSE_MDI_ARCHITECTURE" = "yes"; then
1559 AC_DEFINE(wxUSE_MDI_ARCHITECTURE)
1560 SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS mdi"
1563 if test "$wxUSE_DOC_VIEW_ARCHITECTURE" = "yes" ; then
1564 AC_DEFINE(wxUSE_DOC_VIEW_ARCHITECTURE)
1565 SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS docview"
1566 if test "$wxUSE_MDI_ARCHITECTURE" = "yes"; then
1567 SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS docvwmdi"
1571 if test "$wxUSE_HELP" = "yes"; then
1572 AC_DEFINE(wxUSE_HELP)
1573 SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS help"
1576 if test "$wxUSE_PRINTING_ARCHITECTURE" = "yes" ; then
1577 AC_DEFINE(wxUSE_PRINTING_ARCHITECTURE)
1578 SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS printing"
1581 if test "$wxUSE_PROLOGIO" = "yes" ; then
1582 AC_DEFINE(wxUSE_PROLOGIO)
1585 if test "$wxUSE_RESOURCES" = "yes" ; then
1586 if test "$wxUSE_PROLOGIO" = "yes" ; then
1587 AC_DEFINE(wxUSE_RESOURCES)
1588 SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS resource"
1590 AC_MSG_WARN([wxWindows ressource system requires PrologIO and can't be compiled without it.])
1594 if test "$wxUSE_X_RESOURCES" = "yes"; then
1595 AC_DEFINE(wxUSE_X_RESOURCES)
1598 dnl ---------------------------------------------------------------------------
1599 dnl IPC: IPC, d-n-d, clipboard, ...
1600 dnl ---------------------------------------------------------------------------
1602 if test "$wxUSE_IPC" = "yes"; then
1603 AC_DEFINE(wxUSE_IPC)
1606 if test "$wxUSE_CLIPBOARD" = "yes"; then
1607 AC_DEFINE(wxUSE_CLIPBOARD)
1610 if test "$wxUSE_DRAG_AND_DROP" = "yes"; then
1611 if test "$WXGTK12" = 1 ; then
1612 AC_DEFINE(wxUSE_DRAG_AND_DROP)
1613 SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS dnd"
1615 AC_MSG_WARN(drag and drop is only supported under GTK 1.2)
1619 if test "$wxUSE_SPLINES" = "yes" ; then
1620 AC_DEFINE(wxUSE_SPLINES)
1623 dnl ---------------------------------------------------------------------------
1625 dnl ---------------------------------------------------------------------------
1627 if test "$wxUSE_ACCEL" = "yes"; then
1628 AC_DEFINE(wxUSE_ACCEL)
1631 if test "$wxUSE_CARET" = "yes"; then
1632 AC_DEFINE(wxUSE_CARET)
1633 SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS caret"
1636 if test "$wxUSE_COMBOBOX" = "yes"; then
1637 AC_DEFINE(wxUSE_COMBOBOX)
1640 if test "$wxUSE_BMPBUTTON" = "yes"; then
1641 AC_DEFINE(wxUSE_BMPBUTTON)
1644 if test "$wxUSE_CHECKBOX" = "yes"; then
1645 AC_DEFINE(wxUSE_CHECKBOX)
1648 if test "$wxUSE_CHECKLST" = "yes"; then
1649 AC_DEFINE(wxUSE_CHECKLISTBOX)
1650 SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS checklst"
1653 if test "$wxUSE_GAUGE" = "yes"; then
1654 AC_DEFINE(wxUSE_GAUGE)
1657 if test "$wxUSE_GRID" = "yes"; then
1658 AC_DEFINE(wxUSE_GRID)
1659 SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS grid"
1662 if test "$wxUSE_IMAGLIST" = "yes"; then
1663 AC_DEFINE(wxUSE_IMAGLIST)
1666 if test "$wxUSE_LISTBOX" = "yes"; then
1667 AC_DEFINE(wxUSE_LISTBOX)
1670 if test "$wxUSE_LISTCTRL" = "yes"; then
1671 if test "$wxUSE_IMAGLIST" = "yes"; then
1672 AC_DEFINE(wxUSE_LISTCTRL)
1673 SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS listctrl"
1675 AC_MSG_WARN([wxListCtrl requires wxImageList and won't be compiled without it])
1679 if test "$wxUSE_NOTEBOOK" = "yes"; then
1680 AC_DEFINE(wxUSE_NOTEBOOK)
1681 SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS notebook"
1684 if test "$wxUSE_RADIOBOX" = "yes"; then
1685 AC_DEFINE(wxUSE_RADIOBOX)
1688 if test "$wxUSE_RADIOBTN" = "yes"; then
1689 AC_DEFINE(wxUSE_RADIOBTN)
1692 if test "$wxUSE_SASH" = "yes"; then
1693 AC_DEFINE(wxUSE_SASH)
1694 SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS sashtest"
1697 if test "$wxUSE_SCROLLBAR" = "yes"; then
1698 AC_DEFINE(wxUSE_SCROLLBAR)
1699 SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS scroll"
1702 if test "$wxUSE_SLIDER" = "yes"; then
1703 AC_DEFINE(wxUSE_SLIDER)
1706 if test "$wxUSE_SPINBTN" = "yes"; then
1707 AC_DEFINE(wxUSE_SPINBTN)
1710 if test "$wxUSE_SPLITTER" = "yes"; then
1711 AC_DEFINE(wxUSE_SPLITTER)
1712 SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS splitter"
1715 if test "$wxUSE_STATBMP" = "yes"; then
1716 AC_DEFINE(wxUSE_STATBMP)
1719 if test "$wxUSE_STATBOX" = "yes"; then
1720 AC_DEFINE(wxUSE_STATBOX)
1723 if test "$wxUSE_STATLINE" = "yes"; then
1724 AC_DEFINE(wxUSE_STATLINE)
1727 if test "$wxUSE_STATUSBAR" = "yes"; then
1728 AC_DEFINE(wxUSE_STATUSBAR)
1731 if test "$wxUSE_TABDIALOG" = "yes"; then
1732 AC_DEFINE(wxUSE_TAB_DIALOG)
1733 SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS tab"
1736 if test "$wxUSE_TOOLBAR" = "yes"; then
1737 AC_DEFINE(wxUSE_TOOLBAR)
1738 SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS toolbar"
1741 if test "$wxUSE_TOOLTIPS" = "yes" ; then
1742 if test "$wxUSE_MOTIF" = "yes"; then
1743 AC_MSG_WARN(tooltips are not supported yet under Motif)
1745 AC_DEFINE(wxUSE_TOOLTIPS)
1749 if test "$wxUSE_TREECTRL" = "yes"; then
1750 if test "$wxUSE_IMAGLIST" = "yes"; then
1751 AC_DEFINE(wxUSE_TREECTRL)
1752 SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS treectrl"
1754 AC_MSG_WARN([wxTreeCtrl requires wxImageList and won't be compiled without it])
1758 dnl ---------------------------------------------------------------------------
1760 dnl ---------------------------------------------------------------------------
1762 dnl TODO this is unused for now...
1763 dnl if test "$wxUSE_WXTREE" = "yes"; then
1764 dnl AC_DEFINE(wxUSE_WXTREE)
1767 if test "$wxUSE_METAFILE" = "yes"; then
1768 AC_DEFINE(wxUSE_METAFILE)
1771 if test "$wxUSE_COMMONDLGS" = "yes"; then
1772 dnl these classes don't depend on anything at all
1774 if test "$wxUSE_CONSTRAINTS" != "yes"; then
1775 AC_MSG_WARN(many common dialogs cannot be used without constraints so they won't be compiled without them)
1777 AC_DEFINE(wxUSE_CONSTRAINTS)
1778 AC_DEFINE(wxUSE_TEXTDLG)
1780 if test "$wxUSE_TREECTRL" != "yes"; then
1781 AC_MSG_WARN(wxDirDialog cannot be used without wxTreeCtrl and it won't be compiled without it)
1783 AC_DEFINE(wxUSE_DIRDLG)
1787 if test "$wxUSE_PRINTING_ARCHITECTURE" = "no"; then
1788 AC_MSG_WARN([wxPrintDialog class won't be compiled without printing support])
1792 if test "$wxUSE_MINIFRAME" = "yes"; then
1793 AC_DEFINE(wxUSE_MINIFRAME)
1794 SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS minifram"
1797 if test "$wxUSE_VALIDATORS" = "yes"; then
1798 AC_DEFINE(wxUSE_VALIDATORS)
1799 SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS validate"
1802 dnl ---------------------------------------------------------------------------
1803 dnl Output the makefiles and such from the results found above
1804 dnl ---------------------------------------------------------------------------
1806 dnl if we add wxUSE_GUI in the future, it might be handy to separate the libs
1807 dnl into GUI and non-GUI parts
1808 GUILIBS="$GUI_TK_LIBRARY $OPENGL_LINK $LIBPNG_LINK $ZLIB_LINK $TOOLKIT_LINK"
1810 dnl all additional libraries (except wxWindows itself) we link with
1811 EXTRA_LIBS="$LIBS $POSIX4_LINK $WCHAR_LINK $THREADS_LINK $DMALLOC_LINK $GUILIBS"
1813 dnl all the libraries needed to link wxWindows programs (when the library is not
1815 LIBS="\${top_builddir}/src/${TOOLKIT_DIR}/${WX_LIBRARY_NAME} $EXTRA_LIBS"
1817 dnl all -I options we must pass to the compiler
1818 INCLUDES="-I. -I\${top_builddir}/include -I\${top_srcdir}/include $TOOLKIT_INCLUDE $ZLIB_INCLUDE $LIBPNG_INCLUDE"
1820 dnl C/C++ compiler options used to compile wxWindows
1821 if test "$ac_cv_prog_gcc" = "yes"; then
1822 dnl CXXWARNINGS="-Wall -W -Wcast-qual -Werror"
1824 dnl there is one weird warning in docview.h:71 which prevents me from doing
1826 dnl CXXWARNINGS="-Wall -Werror"
1828 EXTRA_CFLAGS="$WXDEBUG $PROFILE $OPTIMISE $INCLUDES"
1830 CFLAGS="$CFLAGS $EXTRA_CFLAGS"
1831 CXXFLAGS="$CXXFLAGS $EXTRA_CFLAGS $CXXWARNINGS"
1833 if test "$wxUSE_GUI" = "yes"; then
1834 dnl TODO add checks that these samples will really compile (i.e. all the
1835 dnl library features they need are present)
1837 dnl TODO some samples are never built so far:
1838 dnl mfc, nativdlg, oleauto, ownerdrw, proplist
1839 SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS bombs controls dialogs drawing dynamic \
1840 forty fractal image wxpoem"
1843 dnl for convenience, sort the files to build in alphabetical order
1845 dnl another shell command to do it which might be faster but is less clear:
1846 dnl LTLIBOBJS="`for obj in $LTLIBOBJS; do echo $obj; done | sort | sed 's@^@ @'`"
1847 LTLIBOBJS="`echo $LTLIBOBJS | tr -s ' ' | tr ' ' '\n' | sort | tr '\n' ' '`"
1849 dnl for convenience, sort the samples in alphabetical order
1851 dnl FIXME For some mysterious reasons, sometimes the directories are duplicated
1852 dnl in this list - hence uniq. But normally, this shouldn't be needed!
1853 SAMPLES_SUBDIRS="`echo $SAMPLES_SUBDIRS | tr -s ' ' | tr ' ' '\n' | sort | uniq | tr '\n' ' '`"
1856 AC_SUBST(WX_MAJOR_VERSION_NUMBER)
1857 AC_SUBST(WX_MINOR_VERSION_NUMBER)
1858 AC_SUBST(WX_RELEASE_NUMBER)
1859 AC_SUBST(WX_LIBRARY_NAME)
1861 dnl suppress libtool's informational messages - they duplicate its command line
1862 LIBTOOL="$LIBTOOL --silent"
1865 dnl debugging options
1866 AC_SUBST(WXDEBUG_DEFINE)
1870 AC_SUBST(TOOLKIT_DEF)
1871 AC_SUBST(TOOLKIT_DIR)
1872 AC_SUBST(TOOLKIT_INCLUDE)
1874 dnl additional sources
1875 AC_SUBST(EXTRA_VPATH)
1878 dnl additional subdirectories where we will build
1879 AC_SUBST(INCLUDE_SUBDIRS)
1880 AC_SUBST(UTILS_SUBDIRS)
1881 AC_SUBST(DOCS_SUBDIRS)
1882 AC_SUBST(SAMPLES_SUBDIRS)
1883 AC_SUBST(USER_SUBDIRS)
1885 dnl additional libraries
1886 AC_SUBST(EXTRA_LIBS)
1889 dnl create the configuration header file from the template
1891 dnl NB: automake can't work correctly if our header lives in a directory which
1892 dnl is only determined at configure time, so we create it on the top-level
1893 dnl and make a link to allow '#include "wx/setup.h"' to still work
1894 AM_CONFIG_HEADER(setup.h)
1896 dnl MAKE_SET will be replaced with "MAKE=..." or nothing if make sets MAKE
1897 dnl itself (this is macro is required if SUBDIRS variable is used in Makefile.am
1898 dnl - and we do use it)
1901 dnl create each of the files in the space separated list from the file.in
1902 dnl (the original file name may be overriden by appending another name after a
1911 include/wx/generic/Makefile
1912 include/wx/gtk/Makefile
1913 include/wx/motif/Makefile
1914 include/wx/msw/Makefile
1915 include/wx/protocol/Makefile
1916 include/wx/unix/Makefile
1918 samples/bombs/Makefile
1919 samples/caret/Makefile
1920 samples/checklst/Makefile
1921 samples/config/Makefile
1922 samples/controls/Makefile
1924 samples/dialogs/Makefile
1925 samples/dnd/Makefile
1926 samples/docview/Makefile
1927 samples/docvwmdi/Makefile
1928 samples/drawing/Makefile
1929 samples/dynamic/Makefile
1930 samples/forty/Makefile
1931 samples/fractal/Makefile
1932 samples/grid/Makefile
1933 samples/help/Makefile
1934 samples/image/Makefile
1935 samples/internat/Makefile
1936 samples/joytest/Makefile
1937 samples/layout/Makefile
1938 samples/listctrl/Makefile
1939 samples/mdi/Makefile
1940 samples/memcheck/Makefile
1941 samples/mfc/Makefile
1942 samples/minifram/Makefile
1943 samples/minimal/Makefile
1944 samples/nativdlg/Makefile
1945 samples/notebook/Makefile
1946 samples/oleauto/Makefile
1947 samples/ownerdrw/Makefile
1948 samples/png/Makefile
1949 samples/printing/Makefile
1950 samples/proplist/Makefile
1951 samples/regtest/Makefile
1952 samples/resource/Makefile
1953 samples/sashtest/Makefile
1954 samples/scroll/Makefile
1955 samples/splitter/Makefile
1956 samples/tab/Makefile
1957 samples/taskbar/Makefile
1958 samples/thread/Makefile
1959 samples/toolbar/Makefile
1960 samples/treectrl/Makefile
1961 samples/typetest/Makefile
1962 samples/validate/Makefile
1963 samples/wxpoem/Makefile
1964 samples/wxsocket/Makefile
1968 if test ! -e include/wx/${TOOLKIT_DIR}/setup.h; then
1969 ${LN_S} `pwd`/setup.h include/wx/${TOOLKIT_DIR}/setup.h
1973 LN_S="${ac_cv_prog_LN_S}"
1974 TOOLKIT_DIR="${TOOLKIT_DIR}"