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