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(int *, 4)
1050 AC_CHECK_SIZEOF(int, 4)
1051 AC_CHECK_SIZEOF(long, 4)
1052 AC_CHECK_SIZEOF(long long, 0)
1054 dnl for bytesex stuff
1057 dnl check for iostream (as opposed to iostream.h) standard header
1058 WX_CPP_NEW_HEADERS(, AC_DEFINE(wxUSE_IOSTREAMH))
1060 dnl check whether C++ compiler supports bool built-in type
1063 dnl check whether overloading on size_t/int parameter works
1064 WX_CPP_SIZE_T_IS_NOT_INT
1066 dnl ---------------------------------------------------------------------------
1067 dnl Check for functions
1068 dnl ---------------------------------------------------------------------------
1070 dnl check for wcslen
1071 AC_CHECK_LIB(c, wcslen, [
1072 AC_DEFINE(HAVE_WCSLEN)
1075 AC_CHECK_LIB(w, wcslen, [
1076 AC_DEFINE(HAVE_WCSLEN)
1081 dnl check for vprintf/vsprintf() which are GNU extensions
1084 dnl check for vsnprintf() - a safe version of vsprintf()
1085 AC_CHECK_FUNCS(vsnprintf,
1086 AC_DEFINE(HAVE_VSNPRINTF),
1087 AC_MSG_WARN(unsafe function sprintf will be used instead of snprintf)
1090 dnl check for vfork() (even if it's the same as fork() in modern Unices)
1091 AC_CHECK_FUNCS(vfork)
1094 AC_CHECK_FUNCS(nanosleep, AC_DEFINE(HAVE_NANOSLEEP), [
1095 AC_CHECK_LIB(posix4, nanosleep, [
1096 AC_DEFINE(HAVE_NANOSLEEP)
1097 POSIX4_LINK="-lposix4"
1099 AC_CHECK_FUNCS(usleep,
1100 AC_DEFINE(HAVE_USLEEP),
1101 AC_MSG_WARN([wxSleep() function will not work]))
1105 dnl check for uname (POSIX) and gethostname (BSD)
1106 AC_CHECK_FUNCS(uname gethostname, break)
1108 dnl ===========================================================================
1109 dnl Now we have all the info we need - use it!
1110 dnl ===========================================================================
1115 dnl ---------------------------------------------------------------------------
1117 dnl ---------------------------------------------------------------------------
1120 dnl defines THREADS_OBJ which contains the object files to build
1121 dnl defines THREADS_LINK which contains the thread library to link with
1122 dnl defines wxUSE_THREADS=1 if thread support is activated
1127 if test "$wxUSE_THREADS" = "yes"; then
1128 dnl find if POSIX threads are available
1130 dnl standard lib name is pthread
1131 dnl We no longer test for pthread-0.7 as it breaks compilation on some
1132 dnl glibc2 systems, especially for static linkage.
1133 AC_CHECK_LIB(pthread, pthread_create, [
1134 THREADS_OBJ="threadpsx.lo"
1135 THREADS_LINK="pthread"
1137 dnl thread functions are in libc_r under FreeBSD
1138 AC_CHECK_LIB(c_r, pthread_create, [
1139 THREADS_OBJ="threadpsx.lo"
1142 dnl VZ: SGI threads are not supported currently
1143 AC_CHECK_HEADER(sys/prctl.h, [
1144 THREADS_OBJ="threadsgi.lo"
1148 if test "$THREADS_LINK" != ""; then
1149 AC_DEFINE(wxUSE_THREADS)
1151 AC_MSG_WARN(No thread support on this system)
1155 if test -z "$THREADS_OBJ"; then
1159 dnl do other tests only if we are using threads
1160 if test "$wxUSE_THREADS" = "yes"; then
1161 dnl must define _REENTRANT for multithreaded code
1162 CFLAGS="${CFLAGS} -D_REENTRANT"
1163 CXXFLAGS="${CXXFLAGS} -D_REENTRANT"
1165 SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS thread"
1166 dnl LTLIBOBJS="$LTLIBOBJS $THREADS_OBJ"
1168 dnl define autoconf macro to check for given function in both pthread and
1169 dnl posix4 libraries
1170 dnl usage: AC_FUNC_THREAD(FUNCTION_NAME)
1172 dnl AC_DEFUN(AC_FUNC_THREAD,
1174 dnl AC_CHECK_LIB($THREADS_LINK, $1,
1175 dnl AC_DEFINE(HAVE_`'translit($1, `A-Z', 'a-z'),
1176 dnl [AC_CHECK_LIB("posix4", $1,
1177 dnl [AC_DEFINE(HAVE_`'translit($1, `A-Z', 'a-z'))
1178 dnl POSIX4_LINK="-lposix4"
1183 AC_CHECK_HEADERS(sched.h)
1185 AC_CHECK_LIB($THREADS_LINK, sched_yield,
1186 AC_DEFINE(HAVE_SCHED_YIELD),
1187 [AC_CHECK_LIB("posix4", sched_yield,
1188 [AC_DEFINE(HAVE_SCHED_YIELD) POSIX4_LINK="-lposix4"],
1189 AC_MSG_WARN(wxThread::Yield will not work properly)
1193 dnl VZ: we should be checking for all of the following functions instead:
1194 dnl 1. pthread_attr_getschedpolicy
1195 dnl 2. sched_get_priority_min and sched_get_priority_max
1196 dnl 3. pthread_attr_getschedparam and pthread_attr_setschedparam
1197 dnl but it seems that if the first one is there, the other ones are too (of
1198 dnl course the proper solution would be to implement AC_FUNC_THREAD above
1199 dnl and do test for them all - anyone?)
1200 AC_CHECK_LIB($THREADS_LINK, pthread_attr_getschedpolicy,
1201 AC_DEFINE(HAVE_THREAD_PRIORITY_FUNCTIONS),
1202 [AC_CHECK_LIB("posix4", pthread_attr_getschedpolicy,
1203 [AC_DEFINE(HAVE_THREAD_PRIORITY_FUNCTIONS) POSIX4_LINK="-lposix4"],
1204 AC_MSG_WARN(Setting thread priority will not work)
1208 AC_CHECK_LIB($THREADS_LINK, pthread_cancel,
1209 AC_DEFINE(HAVE_PTHREAD_CANCEL),
1210 AC_MSG_WARN([wxThread::Kill() will not work properly]))
1212 AC_CACHE_CHECK([for pthread_cleanup_push/pop], wx_cv_func_pthread_cleanup_push,
1214 AC_TRY_COMPILE([#include <pthread.h>],
1216 pthread_cleanup_push(NULL, NULL);
1217 pthread_cleanup_pop(0);
1219 wx_cv_func_pthread_cleanup_push=yes
1220 AC_DEFINE(HAVE_THREAD_CLEANUP_FUNCTIONS)
1222 wx_cv_func_pthread_cleanup_push=no
1226 THREADS_LINK="-l$THREADS_LINK"
1229 if test "$WXGTK12" = 1 ; then
1230 AC_DEFINE_UNQUOTED(__WXGTK12__,$WXGTK12)
1234 if test "$wxUSE_DEBUG_GDB" = "yes" ; then
1235 wxUSE_DEBUG_INFO=yes
1239 if test "$wxUSE_DEBUG_INFO" = "yes" ; then
1244 if test "$wxUSE_DEBUG_FLAG" = "yes" ; then
1246 WXDEBUG_DEFINE="-D__WXDEBUG__"
1248 WXDEBUG_DEFINE="-DGTK_NO_CHECK_CASTS"
1251 if test "$wxUSE_MEM_TRACING" = "yes" ; then
1252 AC_DEFINE(wxUSE_MEMORY_TRACING)
1253 AC_DEFINE(wxUSE_GLOBAL_MEMORY_OPERATORS)
1254 SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS memcheck"
1257 if test "$wxUSE_DMALLOC" = "yes" ; then
1258 DMALLOC_LINK="-ldmalloc"
1262 if test "$wxUSE_PROFILE" = "yes" ; then
1266 CXXFLAGS=`echo "${CXXFLAGS}" | sed "s/\-O.//g" `
1267 CFLAGS=`echo "${CFLAGS}" | sed "s/\-O.//g" `
1268 if test "$wxUSE_OPTIMISE" = "no" ; then
1271 if test "$GCC" = yes ; then
1275 OPTIMISE="${OPTIMISE} "
1283 dnl ---------------------------------------------------------------------------
1284 dnl Optional libraries
1285 dnl ---------------------------------------------------------------------------
1287 if test "$wxUSE_ZLIB" = "yes" ; then
1288 AC_DEFINE(wxUSE_ZLIB)
1289 EXTRA_VPATH="$EXTRA_VPATH:\$(srcdir)/../zlib"
1290 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"
1293 if test "$wxUSE_LIBPNG" = "yes" ; then
1294 AC_DEFINE(wxUSE_LIBPNG)
1295 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"
1296 EXTRA_VPATH="$EXTRA_VPATH:\$(srcdir)/../png"
1297 SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS png"
1300 if test "$wxUSE_LIBGIF" = "yes" ; then
1301 AC_DEFINE(wxUSE_LIBGIF)
1304 if test "$wxUSE_LIBJPEG" = "yes" ; then
1305 AC_DEFINE(wxUSE_LIBJPEG)
1306 EXTRA_VPATH="$EXTRA_VPATH:\${srcdir}/../jpeg"
1307 LTLIBOBJS="$LTLIBOBJS \
1308 jcomapi.lo jutils.lo jerror.lo jmemmgr.lo jmemnobs.lo \
1309 jcapimin.lo jcapistd.lo jctrans.lo jcparam.lo jdatadst.lo \
1310 jcinit.lo jcmaster.lo jcmarker.lo jcmainct.lo jcprepct.lo \
1311 jccoefct.lo jccolor.lo jcsample.lo jchuff.lo jcphuff.lo \
1312 jcdctmgr.lo jfdctfst.lo jfdctflt.lo jfdctint.lo \
1313 jdapimin.lo jdapistd.lo jdtrans.lo jdatasrc.lo \
1314 jdmaster.lo jdinput.lo jdmarker.lo jdhuff.lo jdphuff.lo \
1315 jdmainct.lo jdcoefct.lo jdpostct.lo jddctmgr.lo jidctfst.lo \
1316 jidctflt.lo jidctint.lo jidctred.lo jdsample.lo jdcolor.lo \
1317 jquant1.lo jquant2.lo jdmerge.lo"
1320 if test "$wxUSE_OPENGL" = "yes"; then
1321 AC_CHECK_HEADER(GL/gl.h, [
1322 AC_CHECK_LIB(GL, glInitNames, [
1324 AC_DEFINE(wxUSE_OPENGL)
1325 UTILS_SUBDIRS="$UTILS_SUBDIRS glcanvas/src"
1327 AC_CHECK_LIB(MesaGL, glInitNames, [
1328 OPENGL_LINK="-lMesaGL"
1329 AC_DEFINE(wxUSE_OPENGL)
1330 UTILS_SUBDIRS="$UTILS_SUBDIRS glcanvas/src"
1336 dnl ---------------------------------------------------------------------------
1337 dnl the library may be built without GUI classes at all
1338 dnl ---------------------------------------------------------------------------
1340 if test "$wxUSE_GUI" = "yes"; then
1341 AC_DEFINE(wxUSE_GUI)
1343 dnl the things we always pull in the GUI version of the library:
1344 dnl 1. basic things like wxApp, wxWindow, wxControl, wxFrame, wxDialog (the
1345 dnl library really can't be built without those)
1346 dnl 2. basic controls: wxButton, wxStaticText, wxTextCtrl (these are used in
1347 dnl almost any program and the first 2 are needed to show a message box
1348 dnl which want to be always able to do)
1349 dnl 3. GDI stuff: icon, cursors and all that. Although it would be very nice
1350 dnl to compile without them (if the app doesn't do any drawing, it doesn't
1351 dnl need the dcs, pens, brushes, ...), this just can't be done now
1352 dnl 4. menu stuff: wxMenu, wxMenuBar, wxMenuItem
1353 dnl 5. misc stuff: timers, settings, message box
1354 dnl LTLIBOBJS="$LTLIBOBJS \
1355 dnl main.lo app.lo event.lo wincmn.lo window.lo control.lo framecmn.lo frame.lo dialog.lo panelg.lo \
1356 dnl button.lo stattext.lo textctrl.lo \
1357 dnl bitmap.lo brush.lo colour.lo cursor.lo data.lo dc.lo dcbase.lo dcclient.lo \
1358 dnl dcmemory.lo dcscreen.lo font.lo gdicmn.lo gdiobj.lo icon.lo palette.lo pen.lo region.lo \
1360 dnl settings.lo timer.lo msgdlgg.lo"
1362 AC_DEFINE(wxUSE_NOGUI)
1365 dnl ---------------------------------------------------------------------------
1367 dnl ---------------------------------------------------------------------------
1369 if test "$wxUSE_UNIX" = "yes"; then
1370 AC_DEFINE(wxUSE_UNIX)
1373 dnl ---------------------------------------------------------------------------
1374 dnl Register non-GUI class options for makefiles and setup.h
1375 dnl ---------------------------------------------------------------------------
1377 if test "$wxUSE_APPLE_IEEE" = "yes"; then
1378 AC_DEFINE(wxUSE_APPLE_IEEE)
1381 if test "$wxUSE_TIMEDATE" = "yes"; then
1382 AC_DEFINE(wxUSE_TIMEDATE)
1383 SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS typetest"
1386 if test "$wxUSE_FILE" = "yes"; then
1387 AC_DEFINE(wxUSE_FILE)
1390 if test "$wxUSE_TEXTFILE" = "yes"; then
1391 if test "$wxUSE_FILE" != "yes"; then
1392 AC_MSG_WARN(wxTextFile requires wxFile and it won't be compiled without it)
1394 AC_DEFINE(wxUSE_TEXTFILE)
1398 if test "$wxUSE_CONFIG" = "yes" ; then
1399 if test "$wxUSE_TEXTFILE" != "yes"; then
1400 AC_MSG_WARN(wxConfig requires wxTextFile and it won't be compiled without it)
1402 AC_DEFINE(wxUSE_CONFIG)
1403 SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS config"
1407 if test "$wxUSE_INTL" = "yes" ; then
1408 if test "$wxUSE_FILE" != "yes"; then
1409 AC_MSG_WARN(I18n code requires wxFile and it won't be compiled without it)
1411 AC_DEFINE(wxUSE_INTL)
1412 SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS internat"
1416 if test "$wxUSE_LOG" = "yes"; then
1417 AC_DEFINE(wxUSE_LOG)
1420 if test "$wxUSE_LONGLONG" = "yes"; then
1421 AC_DEFINE(wxUSE_LONGLONG)
1424 if test "$wxUSE_SOCKETS" = "yes" ; then
1425 if test "$wxUSE_THREADS" = "yes" ; then
1426 AC_DEFINE(wxUSE_SOCKETS)
1427 SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS wxsocket"
1428 INCLUDE_SUBDIRS="$INCLUDE_SUBDIRS protocol"
1430 AC_MSG_WARN(socket classes require --with-threads and won't be compiled without it)
1435 if test "$wxUSE_STREAMS" = "yes" ; then
1436 AC_DEFINE(wxUSE_STREAMS)
1439 if test "$wxUSE_SERIAL" = "yes" ; then
1440 AC_DEFINE(wxUSE_SERIAL)
1443 dnl ------------------------------------------------------------------------
1445 dnl ------------------------------------------------------------------------
1447 if test "$wxUSE_SOCKETS" = "yes"; then
1450 dnl determine the type of third argument for getsockname
1451 AC_MSG_CHECKING(the type of the third argument of getsockname)
1453 [#include <sys/socket.h>],
1454 [socklen_t len; getsockname(0, NULL, &len);],
1455 AC_DEFINE(SOCKLEN_T, socklen_t) AC_MSG_RESULT(socklen_t),
1457 [#include <sys/socket.h>],
1458 [size_t len; getsockname(0, NULL, &len);],
1459 AC_DEFINE(SOCKLEN_T, size_t) AC_MSG_RESULT(size_t),
1461 [#include <sys/socket.h>],
1462 [int len; getsockname(0, NULL, &len);],
1463 AC_DEFINE(SOCKLEN_T, int) AC_MSG_RESULT(int),
1464 AC_MSG_RESULT(unknown)
1471 dnl ---------------------------------------------------------------------------
1472 dnl Joystick support
1473 dnl ---------------------------------------------------------------------------
1475 if test "$wxUSE_JOYSTICK" = 1; then
1476 dnl joystick support is only for Linux 2.1.x or greater
1477 AC_CHECK_HEADERS(linux/joystick.h)
1478 if test "$ac_cv_header_linux_joystick_h" = "yes"; then
1479 AC_DEFINE(wxUSE_JOYSTICK)
1480 SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS joytest"
1484 dnl ------------------------------------------------------------------------
1486 dnl ------------------------------------------------------------------------
1490 if test "$wxUSE_DYNLIB_CLASS" = "yes"; then
1491 dnl the test is a bit complicated because we check for dlopen() both with
1492 dnl and without -ldl
1493 AC_CHECK_FUNCS(dlopen,
1494 [AC_DEFINE(HAVE_DLOPEN) HAVE_DL_FUNCS=1],
1495 [AC_CHECK_LIB(dl, dlopen,
1496 [AC_DEFINE(HAVE_DLOPEN) HAVE_DL_FUNCS=1])])
1497 AC_CHECK_FUNCS( shl_load,
1498 [AC_DEFINE(HAVE_SHL_LOAD) HAVE_DL_FUNCS=1 HAVE_SHL_FUNCS=1])
1500 if test "$HAVE_DL_FUNCS" = 0; then
1501 AC_MSG_WARN("--with-dynlib and --with-odbc will be disabled due to missing shared library support")
1503 wxUSE_DYNLIB_CLASS=no
1507 if test "$wxUSE_DYNLIB_CLASS" = "yes" ; then
1508 AC_DEFINE(wxUSE_DYNLIB_CLASS)
1511 dnl ---------------------------------------------------------------------------
1513 dnl ---------------------------------------------------------------------------
1515 if test "$wxUSE_UNICODE" = "yes" ; then
1516 AC_DEFINE(wxUSE_UNICODE)
1519 if test "$wxUSE_WCSRTOMBS" = "yes" ; then
1520 AC_DEFINE(wxUSE_WCSRTOMBS)
1523 dnl ----------------------------------------------------------------
1525 dnl ----------------------------------------------------------------
1528 if test "$wxUSE_ODBC" = "yes" ; then
1529 AC_DEFINE(wxUSE_ODBC)
1530 EXTRA_VPATH="$EXTRA_VPATH:\$(srcdir)/../iodbc"
1531 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"
1532 SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS db"
1535 dnl ----------------------------------------------------------------
1536 dnl Register PostScript options for makefiles and setup.h
1537 dnl ----------------------------------------------------------------
1539 if test "$wxUSE_POSTSCRIPT" = "yes" ; then
1540 AC_DEFINE(wxUSE_POSTSCRIPT)
1543 AC_DEFINE(wxUSE_AFM_FOR_POSTSCRIPT)
1545 AC_DEFINE(wxUSE_NORMALIZED_PS_FONTS)
1547 dnl ---------------------------------------------------------------------------
1548 dnl big GUI components: MDI, doc/view, printing, help, ...
1549 dnl ---------------------------------------------------------------------------
1551 if test "$wxUSE_CONSTRAINTS" = "yes"; then
1552 AC_DEFINE(wxUSE_CONSTRAINTS)
1553 SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS layout"
1556 if test "$wxUSE_MDI_ARCHITECTURE" = "yes"; then
1557 AC_DEFINE(wxUSE_MDI_ARCHITECTURE)
1558 SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS mdi"
1561 if test "$wxUSE_DOC_VIEW_ARCHITECTURE" = "yes" ; then
1562 AC_DEFINE(wxUSE_DOC_VIEW_ARCHITECTURE)
1563 SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS docview"
1564 if test "$wxUSE_MDI_ARCHITECTURE" = "yes"; then
1565 SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS docvwmdi"
1569 if test "$wxUSE_HELP" = "yes"; then
1570 AC_DEFINE(wxUSE_HELP)
1571 SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS help"
1574 if test "$wxUSE_PRINTING_ARCHITECTURE" = "yes" ; then
1575 AC_DEFINE(wxUSE_PRINTING_ARCHITECTURE)
1576 SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS printing"
1579 if test "$wxUSE_PROLOGIO" = "yes" ; then
1580 AC_DEFINE(wxUSE_PROLOGIO)
1583 if test "$wxUSE_RESOURCES" = "yes" ; then
1584 if test "$wxUSE_PROLOGIO" = "yes" ; then
1585 AC_DEFINE(wxUSE_RESOURCES)
1586 SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS resource"
1588 AC_MSG_WARN([wxWindows ressource system requires PrologIO and can't be compiled without it.])
1592 if test "$wxUSE_X_RESOURCES" = "yes"; then
1593 AC_DEFINE(wxUSE_X_RESOURCES)
1596 dnl ---------------------------------------------------------------------------
1597 dnl IPC: IPC, d-n-d, clipboard, ...
1598 dnl ---------------------------------------------------------------------------
1600 if test "$wxUSE_IPC" = "yes"; then
1601 AC_DEFINE(wxUSE_IPC)
1604 if test "$wxUSE_CLIPBOARD" = "yes"; then
1605 AC_DEFINE(wxUSE_CLIPBOARD)
1608 if test "$wxUSE_DRAG_AND_DROP" = "yes"; then
1609 if test "$WXGTK12" = 1 ; then
1610 AC_DEFINE(wxUSE_DRAG_AND_DROP)
1611 SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS dnd"
1613 AC_MSG_WARN(drag and drop is only supported under GTK 1.2)
1617 if test "$wxUSE_SPLINES" = "yes" ; then
1618 AC_DEFINE(wxUSE_SPLINES)
1621 dnl ---------------------------------------------------------------------------
1623 dnl ---------------------------------------------------------------------------
1625 if test "$wxUSE_ACCEL" = "yes"; then
1626 AC_DEFINE(wxUSE_ACCEL)
1629 if test "$wxUSE_CARET" = "yes"; then
1630 AC_DEFINE(wxUSE_CARET)
1631 SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS caret"
1634 if test "$wxUSE_COMBOBOX" = "yes"; then
1635 AC_DEFINE(wxUSE_COMBOBOX)
1638 if test "$wxUSE_BMPBUTTON" = "yes"; then
1639 AC_DEFINE(wxUSE_BMPBUTTON)
1642 if test "$wxUSE_CHECKBOX" = "yes"; then
1643 AC_DEFINE(wxUSE_CHECKBOX)
1646 if test "$wxUSE_CHECKLST" = "yes"; then
1647 AC_DEFINE(wxUSE_CHECKLISTBOX)
1648 SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS checklst"
1651 if test "$wxUSE_GAUGE" = "yes"; then
1652 AC_DEFINE(wxUSE_GAUGE)
1655 if test "$wxUSE_GRID" = "yes"; then
1656 AC_DEFINE(wxUSE_GRID)
1657 SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS grid"
1660 if test "$wxUSE_IMAGLIST" = "yes"; then
1661 AC_DEFINE(wxUSE_IMAGLIST)
1664 if test "$wxUSE_LISTBOX" = "yes"; then
1665 AC_DEFINE(wxUSE_LISTBOX)
1668 if test "$wxUSE_LISTCTRL" = "yes"; then
1669 if test "$wxUSE_IMAGLIST" = "yes"; then
1670 AC_DEFINE(wxUSE_LISTCTRL)
1671 SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS listctrl"
1673 AC_MSG_WARN([wxListCtrl requires wxImageList and won't be compiled without it])
1677 if test "$wxUSE_NOTEBOOK" = "yes"; then
1678 AC_DEFINE(wxUSE_NOTEBOOK)
1679 SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS notebook"
1682 if test "$wxUSE_RADIOBOX" = "yes"; then
1683 AC_DEFINE(wxUSE_RADIOBOX)
1686 if test "$wxUSE_RADIOBTN" = "yes"; then
1687 AC_DEFINE(wxUSE_RADIOBTN)
1690 if test "$wxUSE_SASH" = "yes"; then
1691 AC_DEFINE(wxUSE_SASH)
1692 SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS sashtest"
1695 if test "$wxUSE_SCROLLBAR" = "yes"; then
1696 AC_DEFINE(wxUSE_SCROLLBAR)
1697 SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS scroll"
1700 if test "$wxUSE_SLIDER" = "yes"; then
1701 AC_DEFINE(wxUSE_SLIDER)
1704 if test "$wxUSE_SPINBTN" = "yes"; then
1705 AC_DEFINE(wxUSE_SPINBTN)
1708 if test "$wxUSE_SPLITTER" = "yes"; then
1709 AC_DEFINE(wxUSE_SPLITTER)
1710 SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS splitter"
1713 if test "$wxUSE_STATBMP" = "yes"; then
1714 AC_DEFINE(wxUSE_STATBMP)
1717 if test "$wxUSE_STATBOX" = "yes"; then
1718 AC_DEFINE(wxUSE_STATBOX)
1721 if test "$wxUSE_STATLINE" = "yes"; then
1722 AC_DEFINE(wxUSE_STATLINE)
1725 if test "$wxUSE_STATUSBAR" = "yes"; then
1726 AC_DEFINE(wxUSE_STATUSBAR)
1729 if test "$wxUSE_TABDIALOG" = "yes"; then
1730 AC_DEFINE(wxUSE_TAB_DIALOG)
1731 SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS tab"
1734 if test "$wxUSE_TOOLBAR" = "yes"; then
1735 AC_DEFINE(wxUSE_TOOLBAR)
1736 SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS toolbar"
1739 if test "$wxUSE_TOOLTIPS" = "yes" ; then
1740 if test "$wxUSE_MOTIF" = "yes"; then
1741 AC_MSG_WARN(tooltips are not supported yet under Motif)
1743 AC_DEFINE(wxUSE_TOOLTIPS)
1747 if test "$wxUSE_TREECTRL" = "yes"; then
1748 if test "$wxUSE_IMAGLIST" = "yes"; then
1749 AC_DEFINE(wxUSE_TREECTRL)
1750 SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS treectrl"
1752 AC_MSG_WARN([wxTreeCtrl requires wxImageList and won't be compiled without it])
1756 dnl ---------------------------------------------------------------------------
1758 dnl ---------------------------------------------------------------------------
1760 dnl TODO this is unused for now...
1761 dnl if test "$wxUSE_WXTREE" = "yes"; then
1762 dnl AC_DEFINE(wxUSE_WXTREE)
1765 if test "$wxUSE_METAFILE" = "yes"; then
1766 AC_DEFINE(wxUSE_METAFILE)
1769 if test "$wxUSE_COMMONDLGS" = "yes"; then
1770 dnl these classes don't depend on anything at all
1772 if test "$wxUSE_CONSTRAINTS" != "yes"; then
1773 AC_MSG_WARN(many common dialogs cannot be used without constraints so they won't be compiled without them)
1775 AC_DEFINE(wxUSE_CONSTRAINTS)
1776 AC_DEFINE(wxUSE_TEXTDLG)
1778 if test "$wxUSE_TREECTRL" != "yes"; then
1779 AC_MSG_WARN(wxDirDialog cannot be used without wxTreeCtrl and it won't be compiled without it)
1781 AC_DEFINE(wxUSE_DIRDLG)
1785 if test "$wxUSE_PRINTING_ARCHITECTURE" = "no"; then
1786 AC_MSG_WARN([wxPrintDialog class won't be compiled without printing support])
1790 if test "$wxUSE_MINIFRAME" = "yes"; then
1791 AC_DEFINE(wxUSE_MINIFRAME)
1792 SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS minifram"
1795 if test "$wxUSE_VALIDATORS" = "yes"; then
1796 AC_DEFINE(wxUSE_VALIDATORS)
1797 SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS validate"
1800 dnl ---------------------------------------------------------------------------
1801 dnl Output the makefiles and such from the results found above
1802 dnl ---------------------------------------------------------------------------
1804 dnl if we add wxUSE_GUI in the future, it might be handy to separate the libs
1805 dnl into GUI and non-GUI parts
1806 GUILIBS="$GUI_TK_LIBRARY $OPENGL_LINK $LIBPNG_LINK $ZLIB_LINK $TOOLKIT_LINK"
1808 dnl all additional libraries (except wxWindows itself) we link with
1809 EXTRA_LIBS="$LIBS $POSIX4_LINK $WCHAR_LINK $THREADS_LINK $DMALLOC_LINK $GUILIBS"
1811 dnl all the libraries needed to link wxWindows programs (when the library is not
1813 LIBS="\${top_builddir}/src/${TOOLKIT_DIR}/${WX_LIBRARY_NAME} $EXTRA_LIBS"
1815 dnl all -I options we must pass to the compiler
1816 INCLUDES="-I. -I\${top_builddir}/include -I\${top_srcdir}/include $TOOLKIT_INCLUDE $ZLIB_INCLUDE $LIBPNG_INCLUDE"
1818 dnl C/C++ compiler options used to compile wxWindows
1819 if test "$ac_cv_prog_gcc" = "yes"; then
1820 dnl CXXWARNINGS="-Wall -W -Wcast-qual -Werror"
1822 dnl there is one weird warning in docview.h:71 which prevents me from doing
1824 dnl CXXWARNINGS="-Wall -Werror"
1826 EXTRA_CFLAGS="$WXDEBUG $PROFILE $OPTIMISE $INCLUDES"
1828 CFLAGS="$CFLAGS $EXTRA_CFLAGS"
1829 CXXFLAGS="$CXXFLAGS $EXTRA_CFLAGS $CXXWARNINGS"
1831 if test "$wxUSE_GUI" = "yes"; then
1832 dnl TODO add checks that these samples will really compile (i.e. all the
1833 dnl library features they need are present)
1835 dnl TODO some samples are never built so far:
1836 dnl mfc, nativdlg, oleauto, ownerdrw, proplist
1837 SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS bombs controls dialogs drawing dynamic \
1838 forty fractal image wxpoem"
1841 dnl for convenience, sort the files to build in alphabetical order
1843 dnl another shell command to do it which might be faster but is less clear:
1844 dnl LTLIBOBJS="`for obj in $LTLIBOBJS; do echo $obj; done | sort | sed 's@^@ @'`"
1845 LTLIBOBJS="`echo $LTLIBOBJS | tr -s ' ' | tr ' ' '\n' | sort | tr '\n' ' '`"
1847 dnl for convenience, sort the samples in alphabetical order
1849 dnl FIXME For some mysterious reasons, sometimes the directories are duplicated
1850 dnl in this list - hence uniq. But normally, this shouldn't be needed!
1851 SAMPLES_SUBDIRS="`echo $SAMPLES_SUBDIRS | tr -s ' ' | tr ' ' '\n' | sort | uniq | tr '\n' ' '`"
1854 AC_SUBST(WX_MAJOR_VERSION_NUMBER)
1855 AC_SUBST(WX_MINOR_VERSION_NUMBER)
1856 AC_SUBST(WX_RELEASE_NUMBER)
1857 AC_SUBST(WX_LIBRARY_NAME)
1859 dnl suppress libtool's informational messages - they duplicate its command line
1860 LIBTOOL="$LIBTOOL --silent"
1863 dnl debugging options
1864 AC_SUBST(WXDEBUG_DEFINE)
1868 AC_SUBST(TOOLKIT_DEF)
1869 AC_SUBST(TOOLKIT_DIR)
1870 AC_SUBST(TOOLKIT_INCLUDE)
1872 dnl additional sources
1873 AC_SUBST(EXTRA_VPATH)
1876 dnl additional subdirectories where we will build
1877 AC_SUBST(INCLUDE_SUBDIRS)
1878 AC_SUBST(UTILS_SUBDIRS)
1879 AC_SUBST(DOCS_SUBDIRS)
1880 AC_SUBST(SAMPLES_SUBDIRS)
1881 AC_SUBST(USER_SUBDIRS)
1883 dnl additional libraries
1884 AC_SUBST(EXTRA_LIBS)
1887 dnl create the configuration header file from the template
1889 dnl NB: automake can't work correctly if our header lives in a directory which
1890 dnl is only determined at configure time, so we create it on the top-level
1891 dnl and make a link to allow '#include "wx/setup.h"' to still work
1892 AM_CONFIG_HEADER(setup.h)
1894 dnl MAKE_SET will be replaced with "MAKE=..." or nothing if make sets MAKE
1895 dnl itself (this is macro is required if SUBDIRS variable is used in Makefile.am
1896 dnl - and we do use it)
1899 dnl create each of the files in the space separated list from the file.in
1900 dnl (the original file name may be overriden by appending another name after a
1909 include/wx/generic/Makefile
1910 include/wx/gtk/Makefile
1911 include/wx/motif/Makefile
1912 include/wx/msw/Makefile
1913 include/wx/protocol/Makefile
1914 include/wx/unix/Makefile
1916 samples/bombs/Makefile
1917 samples/caret/Makefile
1918 samples/checklst/Makefile
1919 samples/config/Makefile
1920 samples/controls/Makefile
1922 samples/dialogs/Makefile
1923 samples/dnd/Makefile
1924 samples/docview/Makefile
1925 samples/docvwmdi/Makefile
1926 samples/drawing/Makefile
1927 samples/dynamic/Makefile
1928 samples/forty/Makefile
1929 samples/fractal/Makefile
1930 samples/grid/Makefile
1931 samples/help/Makefile
1932 samples/image/Makefile
1933 samples/internat/Makefile
1934 samples/joytest/Makefile
1935 samples/layout/Makefile
1936 samples/listctrl/Makefile
1937 samples/mdi/Makefile
1938 samples/memcheck/Makefile
1939 samples/mfc/Makefile
1940 samples/minifram/Makefile
1941 samples/minimal/Makefile
1942 samples/nativdlg/Makefile
1943 samples/notebook/Makefile
1944 samples/oleauto/Makefile
1945 samples/ownerdrw/Makefile
1946 samples/png/Makefile
1947 samples/printing/Makefile
1948 samples/proplist/Makefile
1949 samples/regtest/Makefile
1950 samples/resource/Makefile
1951 samples/sashtest/Makefile
1952 samples/scroll/Makefile
1953 samples/splitter/Makefile
1954 samples/tab/Makefile
1955 samples/taskbar/Makefile
1956 samples/thread/Makefile
1957 samples/toolbar/Makefile
1958 samples/treectrl/Makefile
1959 samples/typetest/Makefile
1960 samples/validate/Makefile
1961 samples/wxpoem/Makefile
1962 samples/wxsocket/Makefile
1966 if test ! -e include/wx/${TOOLKIT_DIR}/setup.h; then
1967 ${LN_S} `pwd`/setup.h include/wx/${TOOLKIT_DIR}/setup.h
1971 LN_S="${ac_cv_prog_LN_S}"
1972 TOOLKIT_DIR="${TOOLKIT_DIR}"