]>
Commit | Line | Data |
---|---|---|
bcf1fa6b RR |
1 | dnl //////////////////////////////////////////////////////////////////////// |
2 | dnl | |
3 | dnl Top-level configure.in for wxWindows by Robert Roebling, Wolfram Gloger | |
4 | dnl and Martin Sperl. | |
5 | dnl | |
6 | dnl This script is under the wxWindows licence. | |
2904eefd | 7 | dnl $Id$ |
bcf1fa6b RR |
8 | dnl //////////////////////////////////////////////////////////////////////// |
9 | ||
c0c22f7f | 10 | |
bcf1fa6b RR |
11 | dnl AM_PATH_GTK([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]]) |
12 | dnl Test for GTK, and define GTK_CFLAGS and GTK_LIBS | |
13 | dnl | |
14 | AC_DEFUN(AM_PATH_GTK, | |
c2933500 | 15 | [dnl |
bcf1fa6b RR |
16 | dnl Get the cflags and libraries from the gtk-config script |
17 | dnl | |
f3cb6592 | 18 | AC_ARG_WITH(gtk-prefix,[**--with-gtk-prefix=PFX Prefix where GTK is installed], |
bcf1fa6b | 19 | gtk_config_prefix="$withval", gtk_config_prefix="") |
f3cb6592 | 20 | AC_ARG_WITH(gtk-exec-prefix,[**--with-gtk-exec-prefix=PFX Exec prefix where GTK is installed], |
bcf1fa6b RR |
21 | gtk_config_exec_prefix="$withval", gtk_config_exec_prefix="") |
22 | ||
23 | if test x$gtk_config_exec_prefix != x ; then | |
24 | gtk_config_args="$gtk_config_args --exec-prefix=$gtk_config_exec_prefix" | |
25 | if test x${GTK_CONFIG+set} != xset ; then | |
26 | GTK_CONFIG=$gtk_config_exec_prefix/bin/gtk-config | |
27 | fi | |
28 | fi | |
29 | if test x$gtk_config_prefix != x ; then | |
30 | gtk_config_args="$gtk_config_args --prefix=$gtk_config_prefix" | |
31 | if test x${GTK_CONFIG+set} != xset ; then | |
32 | GTK_CONFIG=$gtk_config_prefix/bin/gtk-config | |
33 | fi | |
34 | fi | |
35 | ||
36 | AC_PATH_PROG(GTK_CONFIG, gtk-config, no) | |
37 | min_gtk_version=ifelse([$1], ,0.99.7,$1) | |
38 | AC_MSG_CHECKING(for GTK - version >= $min_gtk_version) | |
39 | no_gtk="" | |
40 | if test "$GTK_CONFIG" != "no" ; then | |
41 | GTK_CFLAGS=`$GTK_CONFIG --cflags` | |
42 | GTK_LIBS=`$GTK_CONFIG --libs` | |
43 | ac_save_CFLAGS="$CFLAGS" | |
44 | ac_save_LIBS="$LIBS" | |
45 | CFLAGS="$CFLAGS $GTK_CFLAGS" | |
46 | LIBS="$LIBS $GTK_LIBS" | |
47 | dnl | |
48 | dnl Now check if the installed GTK is sufficiently new. (Also sanity | |
49 | dnl checks the results of gtk-config to some extent | |
50 | dnl | |
51 | AC_TRY_RUN([ | |
52 | #include <gtk/gtk.h> | |
53 | #include <stdio.h> | |
54 | ||
c2933500 | 55 | int |
bcf1fa6b RR |
56 | main () |
57 | { | |
58 | int major, minor, micro; | |
59 | ||
60 | if (sscanf("$min_gtk_version", "%d.%d.%d", &major, &minor, µ) != 3) { | |
61 | printf("%s, bad version string\n", "$min_gtk_version"); | |
62 | exit(1); | |
63 | } | |
64 | ||
d345e841 | 65 | if (gtk_minor_version == 1) return FALSE; |
f3855ef0 | 66 | |
bcf1fa6b | 67 | return !((gtk_major_version > major) || |
c2933500 VZ |
68 | ((gtk_major_version == major) && (gtk_minor_version > minor)) || |
69 | ((gtk_major_version == major) && (gtk_minor_version == minor) && (gtk_micro_version >= micro))); | |
bcf1fa6b RR |
70 | } |
71 | ],, no_gtk=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"]) | |
72 | CFLAGS="$ac_save_CFLAGS" | |
73 | LIBS="$ac_save_LIBS" | |
74 | else | |
75 | no_gtk=yes | |
76 | fi | |
77 | if test "x$no_gtk" = x ; then | |
78 | AC_MSG_RESULT(yes) | |
c2933500 | 79 | ifelse([$2], , :, [$2]) |
bcf1fa6b RR |
80 | else |
81 | AC_MSG_RESULT(no) | |
82 | GTK_CFLAGS="" | |
83 | GTK_LIBS="" | |
84 | ifelse([$3], , :, [$3]) | |
85 | fi | |
86 | AC_SUBST(GTK_CFLAGS) | |
87 | AC_SUBST(GTK_LIBS) | |
88 | ]) | |
89 | ||
90 | dnl ------------------------------------------------------------------------ | |
91 | dnl custom macros | |
92 | dnl ------------------------------------------------------------------------ | |
93 | ||
94 | AC_DEFUN(AC_OVERRIDES_PREPARE, | |
95 | [ | |
96 | rm -f ${OSTYPE}.system.cache.tmp | |
97 | touch ${OSTYPE}.system.cache.tmp | |
98 | touch ${OSTYPE}.system.cache | |
99 | ]) | |
100 | ||
101 | AC_DEFUN(AC_OVERRIDES_DONE, | |
102 | [ | |
103 | mv ${OSTYPE}.system.cache.tmp ${OSTYPE}.system.cache | |
104 | ]) | |
105 | ||
106 | dnl package,message,helpmessage,variable | |
107 | AC_DEFUN(AC_OVERRIDES, | |
108 | [ | |
109 | AC_MSG_CHECKING("for $2") | |
110 | AC_ARG_WITH($1,$3, | |
111 | [if test "x$with_$1" = xyes; then | |
112 | ac_cv_use_$1='$4="1"' | |
113 | else | |
114 | ac_cv_use_$1='$4="0"' | |
115 | fi], | |
116 | [ | |
117 | LINE=`grep "$4" ${OSTYPE}.system.cache` | |
118 | if test "x$LINE" != x ; then | |
119 | eval "DEFAULT_$LINE" | |
120 | fi | |
121 | ac_cv_use_$1='$4='$DEFAULT_$4 | |
122 | ]) | |
123 | eval "$ac_cv_use_$1" | |
124 | echo $ac_cv_use_$1 >> ${OSTYPE}.system.cache.tmp | |
125 | if test "$$4" = 1; then | |
126 | AC_MSG_RESULT(yes) | |
127 | else | |
128 | AC_MSG_RESULT(no) | |
129 | fi | |
130 | ]) | |
131 | ||
132 | dnl package,message,helpmessage,variable | |
133 | AC_DEFUN(AC_OVERRIDES_OLD, | |
134 | [ | |
135 | AC_MSG_CHECKING("for $2") | |
136 | AC_CACHE_VAL(ac_cv_use_$1, | |
137 | [ | |
138 | AC_ARG_WITH($1,$3, | |
139 | [if test "x$with_$1" = xyes; then | |
140 | ac_cv_use_$1='$4="1"' | |
141 | else | |
142 | ac_cv_use_$1='$4="0"' | |
143 | fi],[ac_cv_use_$1='$4=$DEFAULT_$4']) | |
144 | ]) | |
145 | eval "$ac_cv_use_$1" | |
146 | ||
147 | if test "$$4" = 1; then | |
148 | AC_MSG_RESULT(yes) | |
149 | else | |
150 | AC_MSG_RESULT(no) | |
151 | fi | |
152 | ]) | |
153 | ||
154 | AC_DEFUN(AC_PATH_FIND_INCLUDES, | |
155 | [ | |
156 | ac_find_includes= | |
157 | for ac_dir in $1; | |
158 | do | |
159 | if test -f "$ac_dir/$2"; then | |
160 | ac_find_includes=$ac_dir | |
161 | break | |
162 | fi | |
163 | done | |
164 | ]) | |
165 | ||
166 | AC_DEFUN(AC_PATH_FIND_LIBRARIES, | |
167 | [ | |
168 | ac_find_libraries= | |
169 | for ac_dir in $1; | |
170 | do | |
171 | for ac_extension in a so sl; do | |
172 | if test -f "$ac_dir/lib$2.$ac_extension"; then | |
173 | ac_find_libraries=$ac_dir | |
174 | break 2 | |
175 | fi | |
176 | done | |
177 | done | |
178 | ]) | |
179 | ||
180 | dnl Path to include, allready defined | |
181 | AC_DEFUN(AC_INCLUDE_PATH_EXIST, | |
182 | [ | |
183 | ac_path_to_include=$1 | |
184 | echo "$2" | grep "\-I$1" > /dev/null | |
185 | result=$? | |
186 | if test $result = 0; then | |
187 | ac_path_to_include="" | |
188 | else | |
c2933500 | 189 | ac_path_to_include="-I$1" |
bcf1fa6b RR |
190 | fi |
191 | ]) | |
192 | ||
193 | dnl Path to link, allready defined | |
194 | AC_DEFUN(AC_LINK_PATH_EXIST, | |
195 | [ | |
196 | echo "$2" | grep "\-L$1" > /dev/null | |
197 | result=$? | |
198 | if test $result = 0; then | |
199 | ac_path_to_link="" | |
200 | else | |
c2933500 | 201 | ac_path_to_link="-L$1" |
bcf1fa6b RR |
202 | fi |
203 | ]) | |
204 | ||
205 | dnl ------------------------------------------------------------------------ | |
206 | dnl Process this file with autoconf to produce a configure script. | |
207 | dnl ------------------------------------------------------------------------ | |
208 | ||
209 | AC_INIT(configure.in) | |
210 | ||
211 | dnl ------------------------------------------------------------------------ | |
212 | dnl Check platform | |
213 | dnl ------------------------------------------------------------------------ | |
214 | ||
215 | OS="${OSTYPE}" | |
216 | ||
217 | if test "x$OS" = "x"; then | |
218 | UNAME=`uname` | |
219 | AC_MSG_ERROR("The system variable OS has not been set" | |
220 | "please set is everytime befor compiling on this system" | |
221 | "A good example for this system would be:" | |
222 | "setenv OSTYPE $UNAME for csh as a SHELL" | |
223 | "EXPORT OSTYPE=$UNAME for sh as SHELL" | |
224 | "please set this and restart again." | |
225 | ) | |
226 | fi | |
227 | ||
228 | dnl ------------------------------------------------------------------------ | |
229 | dnl Set base directory | |
230 | dnl ------------------------------------------------------------------------ | |
231 | ||
232 | WXBASEDIR=`pwd` | |
233 | AC_SUBST(WXBASEDIR) | |
234 | ||
235 | dnl ------------------------------------------------------------------------ | |
236 | dnl search path for includes and libraries | |
237 | dnl ------------------------------------------------------------------------ | |
238 | ||
ebefb2f3 | 239 | dnl VZ: added standard locations for Xm.h for Irix, HP-UX and SunOS (19.02.99) |
bcf1fa6b | 240 | SEARCH_INCLUDE="\ |
ebefb2f3 VZ |
241 | /usr/Motif-1.2/include \ |
242 | /usr/Motif-2.1/include \ | |
243 | \ | |
244 | /usr/include/Motif1.2 \ | |
245 | /opt/xpm/include/X11 \ | |
246 | \ | |
bcf1fa6b | 247 | /usr/Motif1.2/include \ |
ebefb2f3 | 248 | /usr/dt/include \ |
db2150a1 | 249 | /usr/include/Xm \ |
c2933500 | 250 | \ |
bcf1fa6b RR |
251 | /usr/X11R6/include \ |
252 | /usr/X11R5/include \ | |
253 | /usr/X11R4/include \ | |
254 | \ | |
76153302 RR |
255 | /usr/X11R6/lib \ |
256 | /usr/X11R5/lib \ | |
257 | /usr/X11R4/lib \ | |
258 | \ | |
bcf1fa6b RR |
259 | /usr/include/X11R6 \ |
260 | /usr/include/X11R5 \ | |
261 | /usr/include/X11R4 \ | |
262 | \ | |
263 | /usr/local/X11R6/include \ | |
264 | /usr/local/X11R5/include \ | |
265 | /usr/local/X11R4/include \ | |
266 | \ | |
267 | /usr/local/include/X11R6 \ | |
268 | /usr/local/include/X11R5 \ | |
269 | /usr/local/include/X11R4 \ | |
270 | \ | |
271 | /usr/X11/include \ | |
272 | /usr/include/X11 \ | |
273 | /usr/local/X11/include \ | |
274 | /usr/local/include/X11 \ | |
275 | \ | |
276 | /usr/X386/include \ | |
277 | /usr/x386/include \ | |
278 | /usr/XFree86/include/X11 \ | |
279 | \ | |
280 | /usr/include \ | |
f3855ef0 RR |
281 | /usr/include/gtk \ |
282 | /usr/include/gdk \ | |
283 | /usr/include/glib \ | |
bcf1fa6b RR |
284 | /usr/local/include \ |
285 | /usr/unsupported/include \ | |
286 | /usr/athena/include \ | |
287 | /usr/local/x11r5/include \ | |
288 | /usr/lpp/Xamples/include \ | |
289 | \ | |
290 | /usr/local/include/gtk \ | |
d18ed59a | 291 | /usr/local/include/qt \ |
bcf1fa6b RR |
292 | /usr/include/qt \ |
293 | \ | |
294 | /usr/openwin/include \ | |
295 | /usr/openwin/share/include \ | |
296 | " | |
297 | ||
ebefb2f3 | 298 | SEARCH_LIB="`echo "$SEARCH_INCLUDE" | sed s/include/lib/g` " |
bcf1fa6b RR |
299 | |
300 | dnl ------------------------------------------------------------------------ | |
301 | dnl standard checks | |
302 | dnl ------------------------------------------------------------------------ | |
303 | ||
304 | dnl ################### | |
305 | dnl # checks programs # | |
306 | dnl ################### | |
307 | ||
308 | dnl C-compiler checks | |
309 | dnl ================= | |
310 | dnl use what compiler | |
311 | AC_PROG_CC | |
312 | dnl defines CC with the compiler to use | |
313 | dnl defines GCC with yes if using gcc | |
314 | dnl defines GCC empty if not using gcc | |
315 | dnl defines CFLAGS | |
316 | ||
317 | CFLAGS=`echo "$CFLAGS" | sed 's/-g//g'` | |
318 | ||
319 | dnl does compiler support -c and -o simultaniously | |
320 | AC_PROG_CC_C_O | |
c2933500 | 321 | dnl defines NO_MINUS_C_MINUS_O if compiler does not accept |
bcf1fa6b RR |
322 | dnl both switches simultaniously |
323 | dnl what is the c-preprocessor | |
324 | AC_PROG_CPP | |
325 | dnl defines CPP with the c-preprocessor | |
326 | dnl is -traditional needed for correct compilations | |
327 | AC_PROG_GCC_TRADITIONAL | |
328 | dnl adds -traditional for gcc if needed | |
329 | ||
330 | AC_LANG_SAVE | |
331 | ||
332 | dnl C++-compiler checks | |
333 | dnl =================== | |
334 | dnl use what compiler | |
335 | AC_PROG_CXX | |
336 | dnl defines CXX with the compiler to use | |
337 | dnl defines GXX with yes if using gxx | |
338 | dnl defines GXX empty if not using gxx | |
339 | dnl defines CXXFLAGS | |
340 | dnl what is the C++-preprocessor | |
341 | AC_PROG_CXXCPP | |
342 | dnl defines CXXCPP with the C++-preprocessor | |
343 | ||
344 | CXXFLAGS=`echo "$CXXFLAGS" | sed 's/-g//g'` | |
345 | ||
346 | AC_LANG_RESTORE | |
347 | ||
348 | dnl ranlib command | |
349 | dnl ============== | |
350 | AC_PROG_RANLIB | |
351 | dnl defines RANLIB with the appropriate command | |
352 | ||
353 | dnl ar command | |
354 | dnl ========== | |
355 | AC_CHECK_PROG(AR, ar, ar, ar) | |
356 | dnl defines AR with the appropriate command | |
357 | ||
358 | dnl install checks | |
359 | dnl ============== | |
360 | AC_PROG_INSTALL | |
361 | dnl defines INSTALL with the appropriate command | |
362 | ||
363 | dnl does ln -s works | |
364 | dnl ================ | |
365 | AC_PROG_LN_S | |
366 | dnl defines LN_S with the appropriate command | |
367 | ||
368 | dnl awk command | |
369 | dnl =========== | |
370 | AC_PROG_AWK | |
371 | dnl defines AWK with the appropriate command | |
372 | ||
5f0f31fe VZ |
373 | dnl strip command |
374 | dnl ============= | |
375 | AC_CHECK_PROG(STRIP, strip, strip, true) | |
376 | dnl defines STRIP as strip or nothing if not found | |
377 | ||
bcf1fa6b RR |
378 | dnl ############### |
379 | dnl # make checks # | |
380 | dnl ############### | |
381 | dnl check if VPATH works | |
382 | AC_MSG_CHECKING("make for VPATH support") | |
383 | dnl create Makefile | |
384 | cat - << EOF > confMake | |
385 | check : file | |
386 | cp \$? \$@ | |
387 | cp \$? final_file | |
388 | EOF | |
389 | ||
390 | if test ! -d sub ; then | |
391 | mkdir sub | |
392 | fi | |
393 | echo dummy > sub/file | |
394 | ${MAKE-make} -f confMake VPATH=sub 2> config.log > /dev/null | |
395 | RESULT=$? | |
851b9459 | 396 | rm -f sub/file check final_file confMake |
c2933500 | 397 | rmdir sub |
bcf1fa6b RR |
398 | if test "$RESULT" = 0; then |
399 | AC_MSG_RESULT(yes) | |
400 | else | |
401 | AC_MSG_RESULT(no) | |
402 | AC_MSG_ERROR( | |
403 | You need a make-utility that is able to use the variable | |
404 | VPATH correctly. | |
405 | If your version of make does not support VPATH correctly, | |
406 | please install GNU-make (possibly as gmake), and start | |
407 | configure with the following command: | |
408 | export MAKE=gmake; ./configure for sh-type shells | |
409 | setenv MAKE gmake; ./configure for csh-type shells | |
410 | Also please do remember to use gmake in this case every time | |
411 | you are trying to compile. | |
c2933500 | 412 | ) |
bcf1fa6b RR |
413 | fi |
414 | ||
415 | dnl #################### | |
416 | dnl # checks libraries # | |
417 | dnl #################### | |
418 | ||
419 | dnl find the X11 include and library files | |
420 | AC_PATH_XTRA | |
421 | dnl defines x_includes and x_libraries | |
422 | ||
423 | dnl ####################### | |
424 | dnl # checks header files # | |
425 | dnl ####################### | |
426 | AC_HEADER_DIRENT | |
427 | dnl defines DIR | |
428 | dnl defines MACRO HAVE_DIRENT_H if dirent.h exists | |
429 | dnl defines MACRO HAVE_SYS_NDIR_H if sys/ndir.h exists | |
430 | dnl defines MACRO HAVE_SYS_DIR_H if sys/dir.h exists | |
431 | dnl defines MACRO HAVE_NDIR_H if ndir.h exists | |
432 | AC_HEADER_STDC | |
433 | dnl defines STDC_HEADERS if ANSI-C header | |
434 | AC_HEADER_SYS_WAIT | |
435 | dnl defines HAVE_SYS_WAIT_H if sys/wait.h exist and is POSIX.1 | |
a4876ea4 | 436 | AC_CHECK_HEADERS(fcntl.h) |
bcf1fa6b | 437 | dnl defines HAVE_FCNTL_H |
a4876ea4 | 438 | AC_CHECK_HEADERS(limits.h) |
bcf1fa6b | 439 | dnl defines HAVE_LIMITS_h |
a4876ea4 | 440 | AC_CHECK_HEADERS(sys/file.h) |
bcf1fa6b | 441 | dnl defines HAVE_SYS_FILE_H |
a4876ea4 | 442 | AC_CHECK_HEADERS(sys/time.h) |
bcf1fa6b | 443 | dnl defines HAVE_SYS_TIME_H |
a4876ea4 | 444 | AC_CHECK_HEADERS(unistd.h) |
bcf1fa6b | 445 | dnl defines HAVE_UNISTD_H |
76ed42ef KB |
446 | AC_CHECK_HEADERS(wchar.h) |
447 | dnl defines HAVE_WCHAR_H | |
448 | AC_CHECK_HEADERS(wcstr.h) | |
449 | dnl defines HAVE_WCSTR_H | |
a4876ea4 KB |
450 | AC_CHECK_HEADERS(fnmatch.h) |
451 | dnl defines HAVE_FNMATCH_H | |
bcf1fa6b | 452 | dnl As it needs Linux 2.1.x for the moment: check whether the file exists (GL). |
a4876ea4 | 453 | AC_CHECK_HEADERS(linux/joystick.h) |
bcf1fa6b RR |
454 | GTK_JOYSTICK="" |
455 | if test "$ac_cv_header_linux_joystick_h" = "yes"; then | |
456 | GTK_JOYSTICK="gtk/joystick.cpp" | |
457 | fi | |
458 | AC_SUBST(GTK_JOYSTICK) | |
459 | ||
57493f9f VZ |
460 | dnl some systems (AIX) define some of string function in strings.h |
461 | AC_CHECK_HEADERS(strings.h) | |
462 | ||
463 | dnl ####################### | |
464 | dnl # check for functions # | |
465 | dnl ####################### | |
466 | ||
6a3ab8b1 | 467 | dnl check for wcslen |
5de9bc80 VZ |
468 | AC_CHECK_LIB(c, wcslen, [ |
469 | AC_DEFINE(HAVE_WCSLEN) | |
470 | WCHAR_LINK="" | |
471 | ], [ | |
472 | AC_CHECK_LIB(w, wcslen, [ | |
473 | AC_DEFINE(HAVE_WCSLEN) | |
474 | WCHAR_LINK="-lw" | |
475 | ]) | |
476 | ]) | |
6a3ab8b1 KB |
477 | AC_SUBST(WCHAR_LINK) |
478 | ||
35c9d958 KB |
479 | dnl check for vprintf/vsprintf() which are GNU extensions |
480 | AC_FUNC_VPRINTF | |
518b5d2f | 481 | |
57493f9f VZ |
482 | dnl check for vsnprintf() - a safe version of vsprintf() |
483 | AC_CHECK_FUNCS(vsnprintf, | |
484 | AC_DEFINE(HAVE_VSNPRINTF), | |
485 | AC_MSG_WARN(unsafe function sprintf will be used instead of snprintf) | |
486 | ) | |
487 | ||
488 | dnl check for vfork() (even if it's the same as fork() in modern Unices) | |
489 | AC_CHECK_FUNCS(vfork) | |
afb74891 | 490 | |
80cb83be | 491 | POSIX4_LINK= |
57493f9f VZ |
492 | AC_CHECK_FUNCS(nanosleep, AC_DEFINE(HAVE_NANOSLEEP), [ |
493 | AC_CHECK_LIB(posix4, nanosleep, [ | |
494 | AC_DEFINE(HAVE_NANOSLEEP) | |
495 | POSIX4_LINK="-lposix4" | |
496 | ], [ | |
497 | AC_CHECK_FUNCS(usleep, | |
498 | AC_DEFINE(HAVE_USLEEP), | |
499 | AC_MSG_WARN(Sleep() function will not work)) | |
500 | ]) | |
501 | ]) | |
518b5d2f VZ |
502 | |
503 | dnl check for uname (POSIX) and gethostname (BSD) | |
504 | AC_CHECK_FUNCS(uname gethostname, break) | |
35c9d958 | 505 | |
bcf1fa6b RR |
506 | dnl ################### |
507 | dnl # checks typedefs # | |
508 | dnl ################### | |
509 | AC_TYPE_GETGROUPS | |
510 | dnl defines GETGROUPS_T | |
511 | AC_TYPE_MODE_T | |
512 | dnl defines mode_t if not already defined | |
513 | AC_TYPE_OFF_T | |
514 | dnl defines off_t if not already defined | |
515 | AC_TYPE_PID_T | |
516 | dnl defines pid_t if not already defined | |
517 | AC_TYPE_SIGNAL | |
518 | dnl defines RETSIGTYPE for the correct return type of signal | |
519 | AC_TYPE_SIZE_T | |
520 | dnl defines size_t if not already defined | |
521 | AC_TYPE_UID_T | |
522 | dnl defines uid_t and gid_t if not already defined | |
523 | ||
524 | dnl ##################### | |
525 | dnl # checks structures # | |
526 | dnl ##################### | |
527 | ||
528 | AC_HEADER_STAT | |
c2933500 | 529 | dnl defines STAT_MACROS_BROKEN if S_ISDIR and S_ISREG |
bcf1fa6b RR |
530 | dnl do not work properly |
531 | AC_HEADER_TIME | |
532 | dnl defines TIME_WITH_SYS_TIME if time.h and sys/time.h can | |
533 | dnl both be included | |
c2933500 | 534 | AC_STRUCT_ST_BLKSIZE |
bcf1fa6b | 535 | dnl defines HAVE_ST_BLKSIZE if struct stat contains st_blksize |
c2933500 | 536 | AC_STRUCT_ST_BLOCKS |
bcf1fa6b | 537 | dnl defines HAVE_ST_BLOCKS if struct stat contains st_blocks |
c2933500 | 538 | AC_STRUCT_ST_RDEV |
bcf1fa6b RR |
539 | dnl defines HAVE_ST_RDEV if struct stat contains st_rdev |
540 | AC_STRUCT_TM | |
541 | dnl defines TM_IN_SYS_TIME if struct tm is not in time.h | |
542 | AC_STRUCT_TIMEZONE | |
543 | dnl defines HAVE_ST_BLKSIZE if struct tm contains tm_zone | |
544 | dnl otherwise | |
545 | dnl defines HAVE_TZNAME if external array tzname is found | |
546 | ||
547 | dnl ################################### | |
548 | dnl # checks compiler characteristics # | |
549 | dnl ################################### | |
bcf1fa6b RR |
550 | |
551 | AC_C_CONST | |
552 | dnl defines const to be empty if c-compiler does not support const fully | |
553 | AC_C_INLINE | |
554 | dnl defines inline to a sensible value for the c-compiler | |
555 | AC_C_CHAR_UNSIGNED | |
556 | dnl defines __CHAR_UNSIGNED__ if char is unsigned | |
557 | AC_C_LONG_DOUBLE | |
558 | dnl defines HAVE_LONGDOUBLE if compiler supports long double | |
559 | ||
560 | AC_C_BIGENDIAN | |
561 | dnl defines WORDS_BIGENDIAN if system is big endian | |
562 | ||
57493f9f VZ |
563 | dnl give some default values for cross-compiling |
564 | AC_CHECK_SIZEOF(int *, 4) | |
565 | AC_CHECK_SIZEOF(int, 4) | |
566 | AC_CHECK_SIZEOF(long, 4) | |
567 | AC_CHECK_SIZEOF(long long, 0) | |
568 | dnl defines the size of certain types of variables in SIZEOF_<TYPE> | |
bcf1fa6b | 569 | |
2d45abf1 VZ |
570 | dnl ###################### |
571 | dnl # check C++ features # | |
572 | dnl ###################### | |
573 | ||
574 | AC_LANG_SAVE | |
575 | AC_LANG_CPLUSPLUS | |
576 | ||
57493f9f VZ |
577 | dnl check for iostream (as opposed to iostream.h) standard header |
578 | AC_CHECK_HEADERS(iostream) | |
579 | if test "x$HAVE_IOSTREAM" = "x" ; then | |
580 | AC_DEFINE(wxUSE_IOSTREAMH) | |
581 | fi | |
582 | ||
2d45abf1 VZ |
583 | dnl Check for existence of builtin 'bool' data type |
584 | dnl | |
585 | dnl do nothing for cross-compilation - assume bool is not defined | |
586 | AC_MSG_CHECKING(if C++ compiler supports bool) | |
57493f9f VZ |
587 | AC_TRY_RUN([ |
588 | ||
589 | int main() | |
590 | { | |
591 | bool b = true; | |
592 | ||
593 | return 0; | |
594 | } | |
595 | ], | |
2d45abf1 VZ |
596 | AC_DEFINE(HAVE_BOOL) AC_MSG_RESULT(yes), |
597 | AC_MSG_RESULT(no), | |
598 | AC_MSG_RESULT(no assumed for cross-compilation)) | |
599 | ||
57493f9f VZ |
600 | dnl Check whether overloading on size_t/int parameter works |
601 | AC_MSG_CHECKING(if size_t and int are different types) | |
602 | AC_TRY_RUN([ | |
603 | #include <stdlib.h> | |
604 | ||
605 | void wxFoo(int i) { } | |
606 | void wxFoo(size_t n) { } | |
607 | ||
608 | int main() | |
609 | { | |
610 | int i; | |
611 | size_t n; | |
612 | wxFoo(0); | |
613 | wxFoo(1); | |
614 | wxFoo(0u); | |
615 | wxFoo(i); | |
616 | wxFoo(n); | |
617 | ||
618 | return 0; | |
619 | } | |
620 | ||
621 | ], | |
622 | AC_DEFINE(wxUSE_SIZE_T_STRING_OPERATOR) AC_MSG_RESULT(yes), | |
623 | AC_MSG_RESULT(no), | |
624 | AC_MSG_RESULT(no assumed for cross-compilation)) | |
625 | ||
2d45abf1 VZ |
626 | AC_LANG_RESTORE |
627 | ||
bcf1fa6b RR |
628 | dnl ############################ |
629 | dnl # checks library functions # | |
630 | dnl ############################ | |
631 | ||
632 | dnl ########################## | |
633 | dnl # checks system services # | |
634 | dnl ########################## | |
635 | ||
636 | ||
637 | AC_SYS_LONG_FILE_NAMES | |
638 | dnl defines HAVE_LONG_FILENAMES if filenames longer then | |
639 | dnl 14 chars are supported | |
640 | ||
641 | dnl AC_SYS_RESTARTABLE_SYSCALLS | |
c2933500 | 642 | dnl defines HAVE_RESTARTABLE_SYSCALLS if the system restarts a |
bcf1fa6b RR |
643 | dnl system call that is interrupted |
644 | dnl by a signal | |
c2933500 | 645 | |
bcf1fa6b RR |
646 | dnl ################# |
647 | dnl # checks PARSER # | |
648 | dnl ################# | |
649 | ||
650 | dnl YACC checks | |
651 | dnl =========== | |
652 | AC_PROG_YACC | |
653 | dnl defines YACC with the appropriate command | |
654 | ||
655 | dnl LEX checks | |
656 | dnl ========== | |
657 | AC_PROG_LEX | |
658 | dnl defines LEX with the appropriate command | |
659 | dnl defines LEXLIB with the appropriate library | |
660 | dnl what type is yytext | |
661 | AC_DECL_YYTEXT | |
662 | dnl defines YYTEXT_POINTER if yytext is char* | |
c2933500 | 663 | dnl defines LEX_OUTPUT_ROOT as to the base of the |
bcf1fa6b RR |
664 | dnl filename output by the lexer |
665 | ||
cd5bf2a6 RR |
666 | dnl ################################### |
667 | dnl ## Check for dynamic load module # | |
668 | dnl ################################### | |
669 | ||
670 | DL_LIBRARY= | |
671 | AC_CHECK_FUNCS(dlopen, AC_DEFINE(HAVE_LIBDL), | |
672 | [AC_CHECK_LIB(dl, dlopen, [AC_DEFINE(HAVE_LIBDL) DL_LIBRARY="-ldl"], | |
673 | [AC_CHECK_LIB(dld, dld_link, [AC_DEFINE(HAVE_DLD) DL_LIBRARY="-ldld"], | |
674 | [AC_CHECK_FUNCS(shl_load, AC_DEFINE(HAVE_SHL_LOAD) )] | |
675 | )] | |
676 | )] | |
677 | ) | |
678 | AC_SUBST(DL_LIBRARY) | |
679 | ||
680 | AC_CACHE_CHECK([for underscore before symbols], libltdl_cv_uscore, [ | |
681 | echo "main(){int i=1;} fnord(){int i=23; int ltuae=42;}" > conftest.c | |
682 | ${CC} -c conftest.c > /dev/null | |
683 | if (nm conftest.o | grep _fnord) > /dev/null; then | |
684 | libltdl_cv_uscore=yes | |
685 | else | |
686 | libltdl_cv_uscore=no | |
687 | fi | |
688 | rm -f conftest* | |
689 | ]) | |
690 | ||
691 | if test x"$libltdl_cv_uscore" = xyes; then | |
692 | if test x"$ac_cv_func_dlopen" = xyes || | |
693 | test x"$ac_cv_lib_dl_dlopen" = xyes ; then | |
694 | AC_CACHE_CHECK([whether we have to add an underscore for dlsym], | |
695 | libltdl_cv_need_uscore, [dnl | |
696 | AC_TRY_RUN([ | |
697 | #include <dlfcn.h> | |
698 | #include <stdio.h> | |
699 | fnord() { int i=42;} | |
700 | main() { void *self, *ptr1, *ptr2; self=dlopen(NULL,RTLD_LAZY); | |
701 | if(self) { ptr1=dlsym(self,"fnord"); ptr2=dlsym(self,"_fnord"); | |
c2933500 | 702 | if(ptr1 && !ptr2) exit(0); } exit(1); } |
cd5bf2a6 RR |
703 | ], libltdl_cv_need_uscore=no, libltdl_cv_need_uscore=yes, |
704 | libltdl_cv_need_uscore=no | |
705 | )]) | |
706 | fi | |
707 | fi | |
708 | ||
709 | if test x"$libltdl_cv_need_uscore" = xyes; then | |
710 | AC_DEFINE(NEED_USCORE) | |
711 | fi | |
712 | ||
713 | dnl ########################################## | |
714 | dnl ## Check for specific library functions # | |
715 | dnl ########################################## | |
716 | ||
717 | dnl Checks for library functions. | |
718 | AC_CHECK_FUNCS(strerror) | |
719 | ||
bcf1fa6b RR |
720 | dnl ------------------------------------------------------------------------ |
721 | dnl main includes | |
722 | dnl ------------------------------------------------------------------------ | |
723 | ||
724 | CHECK_INCLUDE="-I/usr/include $X_CFLAGS" | |
725 | CHECK_LIB="-L/lib -L/usr/lib $X_LIBS" | |
726 | ||
727 | dnl ------------------------------------------------------------------------ | |
728 | dnl host system | |
729 | dnl ------------------------------------------------------------------------ | |
730 | ||
731 | AC_CANONICAL_HOST | |
732 | canonical=$host | |
733 | configuration=$host_alias | |
734 | ||
735 | dnl ------------------------------------------------------------------------ | |
736 | dnl system settings | |
737 | dnl ------------------------------------------------------------------------ | |
738 | ||
739 | USE_UNIX=1 | |
740 | ||
bcf1fa6b RR |
741 | USE_LINUX= |
742 | USE_SGI= | |
743 | USE_HPUX= | |
744 | USE_SYSV= | |
745 | USE_SVR4= | |
746 | USE_AIX= | |
747 | USE_SUN= | |
748 | USE_SOLARIS= | |
749 | USE_SUNOS= | |
750 | USE_ALPHA= | |
751 | USE_OSF= | |
752 | USE_BSD= | |
753 | USE_FREEBSD= | |
754 | USE_VMS= | |
755 | USE_ULTRIX= | |
756 | USE_DATA_GENERAL= | |
757 | ||
f780dc86 | 758 | AC_DEFINE(__UNIX__) |
bcf1fa6b RR |
759 | case "${canonical}" in |
760 | *-hp-hpux* ) | |
761 | USE_HPUX=1 | |
762 | AC_DEFINE(__HPUX__) | |
763 | ;; | |
764 | *-*-linux* ) | |
765 | USE_LINUX=1 | |
766 | AC_DEFINE(__LINUX__) | |
e0e680d2 KB |
767 | TMP=`uname -m` |
768 | if test "x$TMP" = "xalpha" | |
769 | then | |
770 | USE_ALPHA=1 | |
771 | AC_DEFINE(__ALPHA__) | |
772 | fi | |
bcf1fa6b | 773 | ;; |
c2933500 | 774 | *-*-irix5* | *-*-irix6* ) |
bcf1fa6b RR |
775 | USE_SGI=1 |
776 | USE_SVR4=1 | |
777 | AC_DEFINE(__SGI__) | |
778 | AC_DEFINE(__SVR4__) | |
779 | ;; | |
c2933500 | 780 | *-*-solaris2* ) |
bcf1fa6b RR |
781 | USE_SUN=1 |
782 | USE_SOLARIS=1 | |
783 | USE_SVR4=1 | |
784 | AC_DEFINE(__SUN__) | |
785 | AC_DEFINE(__SOLARIS__) | |
786 | AC_DEFINE(__SVR4__) | |
787 | ;; | |
c2933500 | 788 | *-*-sunos4* ) |
bcf1fa6b RR |
789 | USE_SUN=1 |
790 | USE_SUNOS=1 | |
791 | USE_BSD=1 | |
792 | AC_DEFINE(__SUN__) | |
793 | AC_DEFINE(__SUNOS__) | |
794 | AC_DEFINE(__BSD__) | |
795 | ;; | |
796 | *-*-freebsd* | *-*-netbsd*) | |
797 | USE_BSD=1 | |
798 | USE_FREEBSD=1 | |
799 | AC_DEFINE(__FREEBSD__) | |
800 | AC_DEFINE(__BSD__) | |
801 | ;; | |
c2933500 | 802 | *-*-osf* ) |
bcf1fa6b RR |
803 | USE_ALPHA=1 |
804 | USE_OSF=1 | |
805 | AC_DEFINE(__ALPHA__) | |
806 | AC_DEFINE(__OSF__) | |
807 | ;; | |
c2933500 | 808 | *-*-dgux5* ) |
bcf1fa6b RR |
809 | USE_ALPHA=1 |
810 | USE_SVR4=1 | |
811 | AC_DEFINE(__ALPHA__) | |
812 | AC_DEFINE(__SVR4__) | |
813 | ;; | |
c2933500 | 814 | *-*-sysv5* ) |
bcf1fa6b RR |
815 | USE_SYSV=1 |
816 | USE_SVR4=1 | |
817 | AC_DEFINE(__SYSV__) | |
818 | AC_DEFINE(__SVR4__) | |
819 | ;; | |
c2933500 | 820 | *-*-aix* ) |
bcf1fa6b RR |
821 | USE_AIX=1 |
822 | USE_SYSV=1 | |
823 | USE_SVR4=1 | |
824 | AC_DEFINE(__AIX__) | |
825 | AC_DEFINE(__SYSV__) | |
826 | AC_DEFINE(__SVR4__) | |
827 | ;; | |
828 | *) | |
829 | AC_MSG_ERROR(I don't know your system type.) | |
830 | esac | |
831 | ||
832 | dnl ------------------------------------------------------------------------ | |
833 | dnl defaults for command options | |
834 | dnl ------------------------------------------------------------------------ | |
835 | ||
836 | AC_OVERRIDES_PREPARE | |
837 | ||
6fbf0513 | 838 | DEFAULT_wxUSE_GTK=1 |
8248314d VZ |
839 | DEFAULT_wxUSE_QT=0 |
840 | DEFAULT_wxUSE_MOTIF=0 | |
bcf1fa6b | 841 | |
8710cf5c | 842 | DEFAULT_wxUSE_THREADS=0 |
cb43b372 | 843 | |
8248314d VZ |
844 | DEFAULT_wxUSE_SHARED=1 |
845 | DEFAULT_wxUSE_OPTIMISE=1 | |
846 | DEFAULT_wxUSE_PROFILE=0 | |
847 | DEFAULT_wxUSE_DEBUG_FLAG=0 | |
848 | DEFAULT_wxUSE_DEBUG_INFO=0 | |
849 | DEFAULT_wxUSE_MEM_TRACING=0 | |
850 | DEFAULT_wxUSE_DMALLOC=0 | |
851 | DEFAULT_wxUSE_APPLE_IEEE=1 | |
852 | DEFAULT_wxUSE_IOSTREAMH=1 | |
853 | ||
854 | DEFAULT_wxUSE_ZLIB=1 | |
8248314d | 855 | DEFAULT_wxUSE_LIBPNG=1 |
e1929140 | 856 | DEFAULT_wxUSE_LIBJPEG=1 |
8710cf5c | 857 | DEFAULT_wxUSE_ODBC=1 |
8248314d | 858 | |
8248314d | 859 | DEFAULT_wxUSE_TIMEDATE=1 |
8248314d VZ |
860 | DEFAULT_wxUSE_INTL=1 |
861 | DEFAULT_wxUSE_CONFIG=1 | |
862 | DEFAULT_wxUSE_STREAMS=1 | |
7f3b7908 | 863 | DEFAULT_wxUSE_SOCKETS=1 |
8248314d | 864 | DEFAULT_wxUSE_SERIAL=1 |
eb9bbf52 | 865 | DEFAULT_wxUSE_DYNLIB_CLASS=1 |
8248314d VZ |
866 | |
867 | DEFAULT_wxUSE_AFM_FOR_POSTSCRIPT=1 | |
bcf1fa6b | 868 | DEFAULT_WX_NORMALIZED_PS_FONTS=1 |
8248314d | 869 | DEFAULT_wxUSE_POSTSCRIPT=1 |
bcf1fa6b | 870 | |
8248314d VZ |
871 | DEFAULT_wxUSE_IPC=1 |
872 | DEFAULT_wxUSE_RESOURCES=1 | |
8b53e5a2 | 873 | DEFAULT_wxUSE_CLIPBOARD=1 |
ff8bfdbb | 874 | DEFAULT_wxUSE_TOOLTIPS=1 |
ac57418f | 875 | DEFAULT_wxUSE_DRAG_AND_DROP=1 |
64698f9a | 876 | DEFAULT_wxUSE_SPLINE=1 |
bcf1fa6b | 877 | |
8248314d VZ |
878 | DEFAULT_wxUSE_MDI_ARCHITECTURE=1 |
879 | DEFAULT_wxUSE_DOC_VIEW_ARCHITECTURE=1 | |
880 | DEFAULT_wxUSE_PRINTING_ARCHITECTURE=1 | |
bcf1fa6b | 881 | |
8248314d VZ |
882 | DEFAULT_wxUSE_PROLOGIO=1 |
883 | DEFAULT_wxUSE_WX_RESOURCES=1 | |
884 | DEFAULT_wxUSE_RPC=0 | |
e9aad10a | 885 | DEFAULT_wxUSE_HELP=1 |
bcf1fa6b | 886 | |
64ef3622 | 887 | DEFAULT_wxUSE_UNICODE=0 |
fb4e5803 VZ |
888 | DEFAULT_wxUSE_WCSRTOMBS=0 |
889 | ||
bcf1fa6b RR |
890 | dnl ---------------------------------------------------------------- |
891 | dnl toolkit options | |
892 | dnl ---------------------------------------------------------------- | |
893 | ||
894 | AC_OVERRIDES(gtk,gtk, | |
895 | **--with-gtk use GTK, | |
8248314d | 896 | wxUSE_GTK) |
bcf1fa6b RR |
897 | |
898 | AC_OVERRIDES(qt,qt, | |
899 | **--with-qt use Qt, | |
8248314d | 900 | wxUSE_QT) |
bcf1fa6b RR |
901 | |
902 | AC_OVERRIDES(motif,motif, | |
903 | **--with-motif use Motif/Lesstif, | |
8248314d | 904 | wxUSE_MOTIF) |
bcf1fa6b RR |
905 | |
906 | dnl ---------------------------------------------------------------- | |
907 | dnl compile options | |
908 | dnl ---------------------------------------------------------------- | |
909 | ||
910 | AC_OVERRIDES(shared,shared, | |
911 | **--with-shared create shared libraries, | |
8248314d | 912 | wxUSE_SHARED) |
bcf1fa6b RR |
913 | |
914 | AC_OVERRIDES(optimise,optimise, | |
915 | **--with-optimise create optimised code, | |
8248314d | 916 | wxUSE_OPTIMISE) |
bcf1fa6b RR |
917 | |
918 | AC_OVERRIDES(debug_flag,debug_flag, | |
919 | **--with-debug_flag create code with WXDEBUG define set to 1, | |
8248314d | 920 | wxUSE_DEBUG_FLAG) |
bcf1fa6b RR |
921 | |
922 | AC_OVERRIDES(debug_info,debug_info, | |
923 | **--with-debug_info create code with debuging information, | |
8248314d | 924 | wxUSE_DEBUG_INFO) |
bcf1fa6b | 925 | |
2904eefd KB |
926 | AC_OVERRIDES(debug_gdb,debug_gdb, |
927 | **--with-debug_gdb create code with extra GDB debuging information, | |
928 | wxUSE_DEBUG_GDB) | |
929 | ||
bcf1fa6b RR |
930 | AC_OVERRIDES(mem_tracing,mem_tracing, |
931 | **--with-mem_traing create code with memory tracing, | |
8248314d | 932 | wxUSE_MEM_TRACING) |
bcf1fa6b RR |
933 | |
934 | AC_OVERRIDES(dmalloc,dmalloc, | |
935 | **--with-dmalloc use dmalloc memory debug library (www.letters.com/dmalloc/), | |
8248314d | 936 | wxUSE_DMALLOC) |
bcf1fa6b RR |
937 | |
938 | AC_OVERRIDES(profile,profile, | |
939 | **--with-profile create code with profiling information, | |
8248314d | 940 | wxUSE_PROFILE) |
bcf1fa6b RR |
941 | |
942 | AC_OVERRIDES(apple_ieee, apple_ieee, | |
943 | **--with_apple_ieee use the Apple IEEE codec, | |
8248314d | 944 | wxUSE_APPLE_IEEE) |
bcf1fa6b | 945 | |
ac57418f RR |
946 | AC_OVERRIDES(threads,threads, |
947 | **--with-threads for enabling threads, | |
948 | wxUSE_THREADS) | |
949 | ||
eb9bbf52 VZ |
950 | AC_OVERRIDES(dynlib,dynlib, |
951 | **--with-dynlib to compile wxLibrary class, | |
952 | wxUSE_DYNLIB_CLASS) | |
953 | ||
bcf1fa6b RR |
954 | dnl ---------------------------------------------------------------- |
955 | dnl user options for libraries | |
956 | dnl ---------------------------------------------------------------- | |
957 | ||
958 | AC_OVERRIDES(zlib,zlib, | |
e1929140 | 959 | **--without-zlib don't use zlib for LZW comression, |
8248314d | 960 | wxUSE_ZLIB) |
bcf1fa6b | 961 | |
bcf1fa6b | 962 | AC_OVERRIDES(libpng,libpng, |
e1929140 | 963 | **--without-libpng don't use libpng (PNG image format), |
8248314d | 964 | wxUSE_LIBPNG) |
bcf1fa6b | 965 | |
2fff5f08 | 966 | AC_OVERRIDES(libjpeg,libjpeg, |
e1929140 | 967 | **--without-libjpeg don't use libjpeg (JPEG image format), |
2fff5f08 VS |
968 | wxUSE_LIBJPEG) |
969 | ||
bcf1fa6b RR |
970 | AC_OVERRIDES(odbc,odbc, |
971 | **--with-odbc use iODBC and wxODBC classes, | |
8248314d | 972 | wxUSE_ODBC) |
bcf1fa6b | 973 | |
bcf1fa6b RR |
974 | dnl ---------------------------------------------------------------- |
975 | dnl user options for non-GUI classes | |
976 | dnl ---------------------------------------------------------------- | |
977 | ||
978 | AC_OVERRIDES(timedate, timedate, | |
979 | **--with-timedate use wxTime and wxDate classes, | |
8248314d | 980 | wxUSE_TIMEDATE) |
bcf1fa6b | 981 | |
bcf1fa6b RR |
982 | AC_OVERRIDES(intl,intl, |
983 | **--with-intl use internationalization system, | |
8248314d | 984 | wxUSE_INTL) |
bcf1fa6b RR |
985 | |
986 | AC_OVERRIDES(config,config, | |
987 | **--with-config use wxConfig class, | |
8248314d | 988 | wxUSE_CONFIG) |
bcf1fa6b RR |
989 | |
990 | AC_OVERRIDES(streams,streams, | |
991 | **--with-streams use wxStream etc classes, | |
8248314d | 992 | wxUSE_STREAMS) |
bcf1fa6b RR |
993 | |
994 | AC_OVERRIDES(serial,serial, | |
995 | **--with-serial use class serialization, | |
8248314d | 996 | wxUSE_SERIAL) |
bcf1fa6b | 997 | |
35a4dab7 | 998 | AC_OVERRIDES(sockets,sockets, |
5f0f31fe | 999 | **--with-sockets use wxSocket etc classes, |
35a4dab7 GL |
1000 | wxUSE_SOCKETS) |
1001 | ||
bcf1fa6b RR |
1002 | dnl ---------------------------------------------------------------- |
1003 | dnl user options for PostScript | |
1004 | dnl ---------------------------------------------------------------- | |
1005 | ||
1006 | AC_OVERRIDES(afmfonts,afmfonts, | |
1007 | **--with-afmfonts use Adobe Font Metric Font table, | |
8248314d | 1008 | wxUSE_AFM_FOR_POSTSCRIPT) |
bcf1fa6b RR |
1009 | |
1010 | AC_OVERRIDES(normalized, normalized, | |
1011 | **--with-PS-normalized use normalized PS fonts, | |
1012 | WX_NORMALIZED_PS_FONTS) | |
1013 | ||
1014 | AC_OVERRIDES(postscript, postscript, | |
1015 | **--with-postscript use wxPostscriptDC device context, | |
8248314d | 1016 | wxUSE_POSTSCRIPT) |
bcf1fa6b | 1017 | |
fb4e5803 VZ |
1018 | dnl ---------------------------------------------------------------- |
1019 | dnl user options for wxString and Unicode | |
1020 | dnl ---------------------------------------------------------------- | |
1021 | ||
1022 | AC_OVERRIDES(unicode,unicode, | |
1023 | **--with-unicode compile wxString with Unicode support, | |
1024 | wxUSE_UNICODE) | |
1025 | ||
1026 | AC_OVERRIDES(wcsrtombs,wcsrtombs, | |
1027 | **--with-wcsrtombs use wcsrtombs instead of (buggy in GNU libc5) wcstombs, | |
1028 | wxUSE_WCSRTOMBS) | |
1029 | ||
bcf1fa6b RR |
1030 | dnl ---------------------------------------------------------------- |
1031 | dnl user options for Prolog and Resources | |
1032 | dnl ---------------------------------------------------------------- | |
1033 | ||
1034 | AC_OVERRIDES(wxresources,wxresources, | |
1035 | **--with-wxresources use wxWindows's resources, | |
8248314d | 1036 | wxUSE_WX_RESOURCES) |
bcf1fa6b RR |
1037 | |
1038 | AC_OVERRIDES(prologio,prologio, | |
1039 | **--with-prologio use Prolog IO library, | |
8248314d | 1040 | wxUSE_PROLOGIO) |
bcf1fa6b RR |
1041 | |
1042 | AC_OVERRIDES(rpc,RPC, | |
1043 | **--with-rpc use Prolog's remote procedure calls, | |
8248314d | 1044 | wxUSE_RPC) |
bcf1fa6b RR |
1045 | |
1046 | dnl ---------------------------------------------------------------- | |
1047 | dnl user options for misc stuff | |
1048 | dnl ---------------------------------------------------------------- | |
1049 | ||
1050 | AC_OVERRIDES(ipc,IPC, | |
1051 | **--with-ipc use interprocess communication (wxSocket etc.), | |
8248314d | 1052 | wxUSE_IPC) |
bcf1fa6b RR |
1053 | |
1054 | AC_OVERRIDES(resources,resources, | |
1055 | **--with-resources use X resources for saving information, | |
8248314d | 1056 | wxUSE_RESOURCES) |
bcf1fa6b RR |
1057 | |
1058 | AC_OVERRIDES(clipboard,clipboard, | |
1059 | **--with-clipboard use wxClipboard classes, | |
8248314d | 1060 | wxUSE_CLIPBOARD) |
bcf1fa6b | 1061 | |
ff8bfdbb VZ |
1062 | AC_OVERRIDES(tooltips,tooltips, |
1063 | **--with-tooltips use tooltips, | |
1064 | wxUSE_TOOLTIPS) | |
1065 | ||
bcf1fa6b RR |
1066 | AC_OVERRIDES(dnd,dnd, |
1067 | **--with-dnd use Drag'n'Drop classes, | |
ac57418f | 1068 | wxUSE_DRAG_AND_DROP) |
bcf1fa6b | 1069 | |
64698f9a RR |
1070 | AC_OVERRIDES(spline,spline, |
1071 | **--with-spline use Spline drawing code, | |
1072 | wxUSE_SPLINE) | |
1073 | ||
bcf1fa6b RR |
1074 | dnl ---------------------------------------------------------------- |
1075 | dnl user options for architectures | |
1076 | dnl ---------------------------------------------------------------- | |
1077 | ||
1078 | AC_OVERRIDES(mdi,mdi, | |
1079 | **--with-mdi use multiple document interface architecture, | |
8248314d | 1080 | wxUSE_MDI_ARCHITECTURE) |
bcf1fa6b RR |
1081 | |
1082 | AC_OVERRIDES(docview,docview, | |
1083 | **--with-docview use document view architecture, | |
8248314d | 1084 | wxUSE_DOC_VIEW_ARCHITECTURE) |
bcf1fa6b RR |
1085 | |
1086 | AC_OVERRIDES(printarch,printarch, | |
1087 | **--with-printarch use printing architecture, | |
8248314d | 1088 | wxUSE_PRINTING_ARCHITECTURE) |
bcf1fa6b | 1089 | |
e9aad10a KB |
1090 | AC_OVERRIDES(help,help, |
1091 | **--with-help use help (using external browser at present), | |
1092 | wxUSE_HELP) | |
1093 | ||
bcf1fa6b RR |
1094 | dnl ---------------------------------------------------------------- |
1095 | dnl Unix, obviously | |
1096 | dnl ---------------------------------------------------------------- | |
1097 | ||
8248314d | 1098 | if test "$wxUSE_UNIX" = 1 ; then |
bcf1fa6b RR |
1099 | AC_DEFINE(__UNIX__) |
1100 | fi | |
1101 | ||
6d5977df KB |
1102 | dnl ---------------------------------------------------------------- |
1103 | dnl Linux: test for libc5/glibc2: glibc2 has gettext() included | |
1104 | dnl ---------------------------------------------------------------- | |
1105 | if test "$USE_LINUX" = 1; then | |
91845ada | 1106 | AC_CHECK_LIB(c,gettext,AC_DEFINE(wxHAVE_GLIBC2)) |
6d5977df KB |
1107 | fi |
1108 | ||
bcf1fa6b RR |
1109 | dnl ---------------------------------------------------------------- |
1110 | dnl search for toolkit (widget sets) | |
1111 | dnl ---------------------------------------------------------------- | |
1112 | ||
1113 | TOOLKIT= | |
1114 | TOOLKIT_DEF= | |
1115 | ||
1116 | GUI_TK_INCLUDE= | |
1117 | GUI_TK_LIBRARY= | |
1118 | GUI_TK_LINK= | |
1119 | ||
76153302 RR |
1120 | WX_LINK= |
1121 | ||
bcf1fa6b RR |
1122 | MAKEINCLUDE= |
1123 | ||
e5ea3f7a RR |
1124 | WXGTK12= |
1125 | ||
8248314d | 1126 | if test "$wxUSE_GTK" = 1; then |
d345e841 | 1127 | AM_PATH_GTK(1.0.0, [ |
bcf1fa6b RR |
1128 | GUI_TK_INCLUDE="$GTK_CFLAGS" |
1129 | GUI_TK_LIBRARY="$GTK_LIBS" | |
d345e841 | 1130 | ], AC_MSG_ERROR(Is gtk-config in path and GTK+ is version 1.2.X or 1.0.X?)) |
bcf1fa6b RR |
1131 | TOOLKIT=GTK |
1132 | TOOLKIT_DEF=__WXGTK__ | |
8710cf5c | 1133 | WX_LINK=-lwx_gtk2 |
bcf1fa6b | 1134 | MAKEINCLUDE=../gtk.inc |
e5ea3f7a RR |
1135 | AM_PATH_GTK(1.2.0, [ |
1136 | WXGTK12=1 | |
0633c6d6 | 1137 | ]) |
bcf1fa6b RR |
1138 | fi |
1139 | ||
8248314d | 1140 | if test "$wxUSE_QT" = 1; then |
bcf1fa6b RR |
1141 | AC_MSG_CHECKING(for Qt includes) |
1142 | AC_PATH_FIND_INCLUDES($SEARCH_INCLUDE,qapp.h) | |
1143 | if test "$ac_find_includes" != "" ; then | |
1144 | AC_MSG_RESULT(found $ac_find_includes) | |
1145 | AC_MSG_CHECKING(for Qt library) | |
1146 | AC_PATH_FIND_LIBRARIES($SEARCH_LIB,qt) | |
1147 | if test "$ac_find_libraries" != "" ; then | |
1148 | AC_INCLUDE_PATH_EXIST($ac_find_includes,$CHECK_INCLUDE) | |
1149 | AC_LINK_PATH_EXIST($ac_find_libraries,$CHECK_LIB) | |
1150 | CHECK_LINK="$CHECK_INCLUDE $ac_path_to_link" | |
1151 | CHECK_INCLUDE="$CHECK_INCLUDE $ac_path_to_include" | |
1152 | AC_MSG_RESULT(found Qt at $ac_find_libraries) | |
1153 | else | |
1154 | AC_MSG_ERROR(no) | |
1155 | fi | |
1156 | else | |
1157 | AC_MSG_ERROR(no) | |
1158 | fi | |
76153302 | 1159 | GUI_TK_LINK="-lX11 -lqt -lm" |
bcf1fa6b RR |
1160 | TOOLKIT=QT |
1161 | TOOLKIT_DEF=__WXQT__ | |
76153302 | 1162 | WX_LINK=-lwx_qt |
bcf1fa6b RR |
1163 | MAKEINCLUDE=../qt.inc |
1164 | fi | |
1165 | ||
8248314d | 1166 | if test "$wxUSE_MOTIF" = 1; then |
57493f9f VZ |
1167 | AC_MSG_CHECKING(for Motif/Lesstif includes) |
1168 | AC_PATH_FIND_INCLUDES($SEARCH_INCLUDE, Xm/Xm.h) | |
1169 | if test "$ac_find_includes" != "" ; then | |
1170 | AC_MSG_RESULT(found $ac_find_includes) | |
1171 | else | |
1172 | AC_MSG_RESULT(no) | |
1173 | AC_MSG_ERROR(please set CFLAGS to contain the location of Xm/Xm.h) | |
1174 | fi | |
c2933500 | 1175 | |
57493f9f VZ |
1176 | AC_MSG_CHECKING(for Motif/Lesstif library) |
1177 | AC_PATH_FIND_LIBRARIES($SEARCH_LIB, Xm) | |
1178 | if test "$ac_find_libraries" != "" ; then | |
1179 | AC_INCLUDE_PATH_EXIST($ac_find_includes, $CHECK_INCLUDE) | |
1180 | AC_LINK_PATH_EXIST($ac_find_libraries, $CHECK_LIB) | |
1181 | ||
1182 | CHECK_LINK="$CHECK_LIB $ac_path_to_link" | |
1183 | CHECK_INCLUDE="$CHECK_INCLUDE $ac_path_to_include" | |
1184 | AC_MSG_RESULT(found at $ac_find_libraries) | |
1185 | else | |
1186 | AC_MSG_RESULT(no) | |
1187 | AC_MSG_ERROR(please set LDFLAGS to contain the location of libXm) | |
1188 | fi | |
1189 | ||
1190 | AC_MSG_CHECKING(for Xt library) | |
1191 | AC_PATH_FIND_LIBRARIES($SEARCH_LIB,Xt) | |
1192 | if test "$ac_find_libraries" != "" ; then | |
1193 | AC_LINK_PATH_EXIST($ac_find_libraries,$CHECK_LIB) | |
1194 | CHECK_LINK="$CHECK_LIB $ac_path_to_link" | |
1195 | AC_MSG_RESULT(found at $ac_find_libraries) | |
1196 | else | |
1197 | AC_MSG_RESULT(no) | |
1198 | AC_MSG_ERROR(please set LDFLAGS to contain the location of libXt) | |
1199 | fi | |
1200 | ||
1201 | XPM_LINK="" | |
1202 | AC_MSG_CHECKING(for Xpm library) | |
1203 | AC_PATH_FIND_LIBRARIES($SEARCH_LIB,Xpm) | |
1204 | if test "$ac_find_libraries" != "" ; then | |
1205 | AC_LINK_PATH_EXIST($ac_find_libraries,$CHECK_LIB) | |
1206 | CHECK_LINK="$CHECK_LIB $ac_path_to_link" | |
1207 | XPM_LINK="-lXpm " | |
1208 | AC_DEFINE(wxHAVE_LIB_XPM) | |
1209 | AC_MSG_RESULT(found at $ac_find_libraries) | |
1210 | else | |
1211 | AC_MSG_RESULT(no) | |
1212 | AC_MSG_WARN(library will be compiled without support for images in XPM format) | |
1213 | fi | |
1214 | ||
5f991871 | 1215 | GUI_TK_LINK="-lXm $(XPM_LINK)-lXmu -lXt -lX11 -lm" |
57493f9f VZ |
1216 | GUI_TK_LIBRARY="$CHECK_LIB $GUI_TK_LINK" |
1217 | TOOLKIT=MOTIF | |
1218 | TOOLKIT_DEF=__WXMOTIF__ | |
1219 | WX_LINK=-lwx_motif2 | |
1220 | MAKEINCLUDE=../motif.inc | |
bcf1fa6b RR |
1221 | fi |
1222 | ||
1223 | if test "$TOOLKIT" = ""; then | |
c2933500 | 1224 | AC_MSG_ERROR(You must specify a toolkit: --with-gtk --with-qt --with-motif) |
bcf1fa6b RR |
1225 | fi |
1226 | ||
1227 | AC_SUBST(GUI_TK_INCLUDE) | |
1228 | AC_SUBST(GUI_TK_LIBRARY) | |
1229 | AC_SUBST(GUI_TK_LINK) | |
1230 | ||
76153302 RR |
1231 | AC_SUBST(WX_LINK) |
1232 | ||
bcf1fa6b RR |
1233 | AC_SUBST(TOOLKIT) |
1234 | AC_SUBST(TOOLKIT_DEF) | |
1235 | ||
1236 | AC_SUBST(MAKEINCLUDE) | |
1237 | ||
1238 | dnl ---------------------------------------------------------------- | |
1239 | dnl Register compile options for makefiles and setup.h | |
1240 | dnl ---------------------------------------------------------------- | |
1241 | ||
e5ea3f7a RR |
1242 | if test "$WXGTK12" = 1 ; then |
1243 | AC_DEFINE_UNQUOTED(__WXGTK12__,$WXGTK12) | |
1244 | fi | |
1245 | ||
8c739649 RR |
1246 | EXTRA_LINK= |
1247 | ||
bcf1fa6b | 1248 | WXDEBUG= |
2904eefd | 1249 | if test "$wxUSE_DEBUG_GDB" = 1 ; then |
5f0f31fe VZ |
1250 | wxUSE_DEBUG_INFO=1 |
1251 | WXDEBUG="-ggdb" | |
1252 | fi | |
1253 | ||
1254 | if test "$wxUSE_DEBUG_INFO" = 1 ; then | |
2904eefd KB |
1255 | WXDEBUG="-g" |
1256 | wxUSE_OPTIMISE=0 | |
bcf1fa6b | 1257 | fi |
5f0f31fe | 1258 | |
bcf1fa6b RR |
1259 | AC_SUBST(WXDEBUG) |
1260 | ||
8248314d VZ |
1261 | if test "$wxUSE_DEBUG_FLAG" = 1 ; then |
1262 | AC_DEFINE_UNQUOTED(WXDEBUG,$wxUSE_DEBUG_FLAG) | |
bcf1fa6b RR |
1263 | WXDEBUG_DEFINE="-D__WXDEBUG__" |
1264 | AC_SUBST(WXDEBUG_DEFINE) | |
f96aa4d9 RR |
1265 | else |
1266 | WXDEBUG_DEFINE="-DGTK_NO_CHECK_CASTS" | |
1267 | AC_SUBST(WXDEBUG_DEFINE) | |
bcf1fa6b RR |
1268 | fi |
1269 | ||
8248314d VZ |
1270 | if test "$wxUSE_MEM_TRACING" = 1 ; then |
1271 | AC_DEFINE_UNQUOTED(wxUSE_MEMORY_TRACING,$wxUSE_MEM_TRACING) | |
1272 | AC_DEFINE_UNQUOTED(wxUSE_GLOBAL_MEMORY_OPERATORS,$wxUSE_MEM_TRACING) | |
bcf1fa6b RR |
1273 | fi |
1274 | ||
8248314d | 1275 | if test "$wxUSE_DMALLOC" = 1 ; then |
bcf1fa6b RR |
1276 | EXTRA_LINK="$EXTRA_LINK -ldmalloc" |
1277 | fi | |
1278 | AC_SUBST(EXTRA_LINK) | |
1279 | ||
1280 | PROFILE= | |
8248314d | 1281 | if test "$wxUSE_PROFILE" = 1 ; then |
bcf1fa6b RR |
1282 | PROFILE="-pg" |
1283 | fi | |
1284 | AC_SUBST(PROFILE) | |
1285 | ||
1286 | CXXFLAGS=`echo "${CXXFLAGS}" | sed "s/\-O.//g" ` | |
1287 | CFLAGS=`echo "${CFLAGS}" | sed "s/\-O.//g" ` | |
8248314d | 1288 | if test "$wxUSE_OPTIMISE" = 0 ; then |
bcf1fa6b RR |
1289 | OPTIMISE= |
1290 | else | |
1291 | if test "$GCC" = yes ; then | |
1292 | OPTIMISE="-O2" | |
1293 | case "${canonical}" in | |
1294 | i586-*-*|i686-*-* ) | |
1295 | OPTIMISE="${OPTIMISE} " | |
1296 | ;; | |
1297 | esac | |
1298 | else | |
1299 | OPTIMISE="-O" | |
1300 | fi | |
1301 | fi | |
1302 | AC_SUBST(OPTIMISE) | |
1303 | ||
1304 | APPLE_IEEE=NONE | |
8248314d | 1305 | if test "$wxUSE_APPLE_IEEE" = 1 ; then |
bcf1fa6b | 1306 | APPLE_IEEE="APPLE_IEEE" |
8248314d | 1307 | AC_DEFINE_UNQUOTED(wxUSE_APPLE_IEEE,$wxUSE_APPLE_IEEE) |
bcf1fa6b RR |
1308 | fi |
1309 | ||
8248314d VZ |
1310 | wxUSE_IOSTREAMH=$DEFAULT_wxUSE_IOSTREAMH |
1311 | AC_DEFINE_UNQUOTED(wxUSE_IOSTREAMH,$wxUSE_IOSTREAMH) | |
bcf1fa6b RR |
1312 | |
1313 | dnl ---------------------------------------------------------------- | |
1314 | dnl Register library options for makefiles and setup.h | |
1315 | dnl ---------------------------------------------------------------- | |
1316 | ||
8248314d VZ |
1317 | if test "$wxUSE_ZLIB" = 1 ; then |
1318 | AC_DEFINE_UNQUOTED(wxUSE_ZLIB,$wxUSE_ZLIB) | |
ac57418f | 1319 | Z_C_SRC="\$(Z_C_SRC)" |
bcf1fa6b | 1320 | fi |
ac57418f | 1321 | AC_SUBST(Z_C_SRC) |
bcf1fa6b | 1322 | |
8248314d | 1323 | if test "$wxUSE_LIBPNG" = 1 ; then |
c2933500 | 1324 | AC_DEFINE_UNQUOTED(wxUSE_LIBPNG,$wxUSE_LIBPNG) |
ac57418f | 1325 | PNG_C_SRC="\$(PNG_C_SRC)" |
bcf1fa6b | 1326 | fi |
ac57418f | 1327 | AC_SUBST(PNG_C_SRC) |
bcf1fa6b | 1328 | |
2fff5f08 VS |
1329 | if test "$wxUSE_LIBJPEG" = 1 ; then |
1330 | AC_DEFINE_UNQUOTED(wxUSE_LIBJPEG,$wxUSE_LIBJPEG) | |
e1929140 | 1331 | JPEG_C_SRC="\$(JPEG_C_SRC)" |
2fff5f08 | 1332 | fi |
e1929140 RR |
1333 | AC_SUBST(JPEG_C_SRC) |
1334 | ||
1335 | JPEG_LINK="" | |
1336 | dnl if test "$wxUSE_LIBJPEG" = 1 ; then | |
1337 | dnl AC_DEFINE_UNQUOTED(wxUSE_LIBJPEG,$wxUSE_LIBJPEG) | |
1338 | dnl AC_CHECK_LIB(jpeg,main,,AC_MSG_ERROR("libjpeg is not available.")) | |
1339 | dnl JPEG_LINK="-ljpeg" | |
1340 | dnl fi | |
2fff5f08 VS |
1341 | AC_SUBST(JPEG_LINK) |
1342 | ||
84b46c35 | 1343 | IODBC_C_SRC="" |
8248314d | 1344 | if test "$wxUSE_ODBC" = 1 ; then |
c2933500 | 1345 | AC_DEFINE_UNQUOTED(wxUSE_ODBC,$wxUSE_ODBC) |
84b46c35 | 1346 | IODBC_C_SRC="\$(IODBC_C_SRC)" |
bcf1fa6b | 1347 | fi |
84b46c35 | 1348 | AC_SUBST(IODBC_C_SRC) |
bcf1fa6b | 1349 | |
7f3b7908 RR |
1350 | dnl ---------------------------------------------------------------- |
1351 | dnl thread support | |
1352 | dnl ---------------------------------------------------------------- | |
1353 | ||
1354 | dnl defines UNIX_THREAD it contains the source file to use for threads. (GL) | |
1355 | dnl defines THREADS_LINK it contains the thread library to link with. (GL) | |
1356 | dnl defines wxUSE_THREADS if thread support is activated. (GL) | |
1357 | ||
1358 | THREADS_LINK="" | |
1359 | UNIX_THREAD="" | |
1360 | ||
1361 | if test "$wxUSE_THREADS" = "1"; then | |
1362 | dnl find if POSIX threads are available | |
1363 | ||
1364 | dnl standard lib name is pthread | |
1365 | dnl We no longer test for pthread-0.7 as it breaks compilation on some | |
1366 | dnl glibc2 systems, especially for static linkage. | |
1367 | AC_CHECK_LIB(pthread, pthread_create, [ | |
1368 | UNIX_THREAD="unix/threadpsx.cpp" | |
1369 | THREADS_LINK="pthread" | |
1370 | ], [ | |
1371 | dnl thread functions are in libc_r under FreeBSD | |
1372 | AC_CHECK_LIB(c_r, pthread_create, [ | |
1373 | UNIX_THREAD="unix/threadpsx.cpp" | |
1374 | THREADS_LINK="c_r" | |
1375 | ], [ | |
1376 | dnl VZ: SGI threads are not supported currently | |
1377 | AC_CHECK_HEADER(sys/prctl.h, [ | |
1378 | UNIX_THREAD="gtk/threadsgi.cpp" | |
1379 | ]) | |
1380 | ]) | |
1381 | ]) | |
1382 | if test "$THREADS_LINK" != ""; then | |
1383 | AC_DEFINE(wxUSE_THREADS) | |
1384 | else | |
1385 | AC_MSG_WARN(No thread support on this system) | |
1386 | fi | |
1387 | fi | |
1388 | ||
1389 | if test -z "$UNIX_THREAD"; then | |
1390 | wxUSE_THREADS=0 | |
1391 | fi | |
1392 | ||
1393 | dnl do other tests only if we are using threads | |
1394 | if test "$wxUSE_THREADS" = "1"; then | |
1395 | ||
1396 | dnl define autoconf macro to check for given function in both pthread and | |
1397 | dnl posix4 libraries | |
1398 | dnl usage: AC_FUNC_THREAD(FUNCTION_NAME) | |
1399 | dnl VZ: TODO | |
1400 | dnl AC_DEFUN(AC_FUNC_THREAD, | |
1401 | dnl [ | |
1402 | dnl AC_CHECK_LIB($THREADS_LINK, $1, | |
1403 | dnl AC_DEFINE(HAVE_`'translit($1, `A-Z', 'a-z'), | |
1404 | dnl [AC_CHECK_LIB("posix4", $1, | |
1405 | dnl [AC_DEFINE(HAVE_`'translit($1, `A-Z', 'a-z')) | |
1406 | dnl POSIX4_LINK="-lposix4" | |
1407 | dnl ]) | |
1408 | dnl ]) | |
1409 | dnl ]) | |
1410 | ||
1411 | AC_CHECK_HEADERS(sched.h) | |
1412 | ||
1413 | AC_CHECK_LIB($THREADS_LINK, sched_yield, | |
1414 | AC_DEFINE(HAVE_SCHED_YIELD), | |
1415 | [AC_CHECK_LIB("posix4", sched_yield, | |
1416 | [AC_DEFINE(HAVE_SCHED_YIELD) POSIX4_LINK="-lposix4"], | |
1417 | AC_MSG_WARN(wxThread::Yield() will not work properly) | |
1418 | )] | |
1419 | ) | |
1420 | ||
1421 | dnl VZ: we should be checking for all of the following functions instead: | |
1422 | dnl 1. pthread_attr_getschedpolicy | |
1423 | dnl 2. sched_get_priority_min and sched_get_priority_max | |
1424 | dnl 3. pthread_attr_getschedparam and pthread_attr_setschedparam | |
1425 | dnl but it seems that if the first one is there, the other ones are too (of | |
1426 | dnl course the proper solution would be to implement AC_FUNC_THREAD above | |
1427 | dnl and do test for them all - anyone?) | |
1428 | AC_CHECK_LIB($THREADS_LINK, pthread_attr_getschedpolicy, | |
1429 | AC_DEFINE(HAVE_THREAD_PRIORITY_FUNCTIONS), | |
1430 | [AC_CHECK_LIB("posix4", pthread_attr_getschedpolicy, | |
1431 | [AC_DEFINE(HAVE_THREAD_PRIORITY_FUNCTIONS) POSIX4_LINK="-lposix4"], | |
1432 | AC_MSG_WARN(Setting thread priority will not work) | |
1433 | )] | |
1434 | ) | |
1435 | ||
1436 | AC_CHECK_LIB($THREADS_LINK, pthread_cancel, | |
1437 | AC_DEFINE(HAVE_PTHREAD_CANCEL), | |
1438 | AC_MSG_WARN(wxThread::Kill() will not work properly)) | |
1439 | ||
5092b3ad GL |
1440 | AC_MSG_CHECKING([for pthread_cleanup_push/pop]) |
1441 | AC_TRY_COMPILE([#include <pthread.h>], | |
1442 | [ | |
1443 | pthread_cleanup_push(NULL, NULL); | |
1444 | pthread_cleanup_pop(0); | |
1445 | ], | |
1446 | [AC_MSG_RESULT(yes) | |
1447 | AC_DEFINE(HAVE_THREAD_CLEANUP_FUNCTIONS) | |
1448 | ], | |
1449 | [AC_MSG_RESULT(no)] | |
1450 | ) | |
1451 | ||
7f3b7908 RR |
1452 | THREADS_LINK="-l$THREADS_LINK" |
1453 | fi | |
1454 | ||
1455 | AC_SUBST(UNIX_THREAD) | |
1456 | AC_SUBST(THREADS_LINK) | |
1457 | AC_SUBST(POSIX4_LINK) | |
1458 | ||
bcf1fa6b RR |
1459 | dnl ---------------------------------------------------------------- |
1460 | dnl Register non-GUI class options for makefiles and setup.h | |
1461 | dnl ---------------------------------------------------------------- | |
1462 | ||
8248314d VZ |
1463 | if test "$wxUSE_CONFIG" = 1 ; then |
1464 | AC_DEFINE_UNQUOTED(wxUSE_CONFIG,$wxUSE_CONFIG) | |
bcf1fa6b RR |
1465 | fi |
1466 | ||
8248314d VZ |
1467 | if test "$wxUSE_TIMEDATE" = 1 ; then |
1468 | AC_DEFINE_UNQUOTED(wxUSE_TIMEDATE,$wxUSE_TIMEDATE) | |
bcf1fa6b RR |
1469 | fi |
1470 | ||
8248314d VZ |
1471 | if test "$wxUSE_INTL" = 1 ; then |
1472 | AC_DEFINE_UNQUOTED(wxUSE_INTL,$wxUSE_INTL) | |
bcf1fa6b RR |
1473 | fi |
1474 | ||
8248314d VZ |
1475 | if test "$wxUSE_STREAMS" = 1 ; then |
1476 | AC_DEFINE_UNQUOTED(wxUSE_STREAMS,$wxUSE_STREAMS) | |
bcf1fa6b RR |
1477 | fi |
1478 | ||
370ae202 | 1479 | if test "$wxUSE_SOCKETS" = 1 ; then |
7f3b7908 RR |
1480 | if test "$wxUSE_THREADS" = 1 ; then |
1481 | AC_DEFINE_UNQUOTED(wxUSE_SOCKETS,$wxUSE_SOCKETS) | |
1482 | else | |
1483 | AC_MSG_WARN(sockets or only supported with threads) | |
1484 | wxUSE_SOCKETS=0 | |
1485 | fi | |
370ae202 RR |
1486 | fi |
1487 | ||
8248314d VZ |
1488 | if test "$wxUSE_SERIAL" = 1 ; then |
1489 | AC_DEFINE_UNQUOTED(wxUSE_SERIAL,$wxUSE_SERIAL) | |
bcf1fa6b RR |
1490 | fi |
1491 | ||
57493f9f VZ |
1492 | dnl ------------------------------------------------------------------------ |
1493 | dnl wxSocket | |
1494 | dnl ------------------------------------------------------------------------ | |
1495 | ||
1496 | if test "$wxUSE_SOCKETS" = "1"; then | |
90e58684 RR |
1497 | AC_LANG_SAVE |
1498 | AC_LANG_CPLUSPLUS | |
57493f9f VZ |
1499 | dnl determine the type of third argument for getsockname |
1500 | AC_MSG_CHECKING(the type of the third argument of getsockname) | |
1501 | AC_TRY_COMPILE( | |
1502 | [#include <sys/socket.h>], | |
4875458c KB |
1503 | [socklen_t len; getsockname(0, NULL, &len);], |
1504 | AC_DEFINE(SOCKLEN_T, socklen_t) AC_MSG_RESULT(socklen_t), | |
1505 | AC_TRY_COMPILE( | |
1506 | [#include <sys/socket.h>], | |
1507 | [size_t len; getsockname(0, NULL, &len);], | |
1508 | AC_DEFINE(SOCKLEN_T, size_t) AC_MSG_RESULT(size_t), | |
1509 | AC_TRY_COMPILE( | |
1510 | [#include <sys/socket.h>], | |
1511 | [int len; getsockname(0, NULL, &len);], | |
1512 | AC_DEFINE(SOCKLEN_T, int) AC_MSG_RESULT(int), | |
1513 | AC_MSG_RESULT(unknown) | |
1514 | ) | |
57493f9f VZ |
1515 | ) |
1516 | ) | |
90e58684 | 1517 | AC_LANG_RESTORE |
57493f9f VZ |
1518 | fi |
1519 | ||
eb9bbf52 VZ |
1520 | dnl ------------------------------------------------------------------------ |
1521 | dnl wxLibrary class | |
1522 | dnl ------------------------------------------------------------------------ | |
1523 | ||
1524 | HAVE_DL_FUNCS=0 | |
1525 | if test "$wxUSE_DYNLIB_CLASS" = "1"; then | |
1526 | dnl the test is a bit complicated because we check for dlopen() both with | |
1527 | dnl and without -ldl | |
1528 | AC_CHECK_FUNCS(dlopen, | |
1529 | [AC_DEFINE(HAVE_DLOPEN) HAVE_DL_FUNCS=1], | |
1530 | [AC_CHECK_LIB(dl, dlopen, | |
1531 | [AC_DEFINE(HAVE_DLOPEN) HAVE_DL_FUNCS=1])]) | |
1532 | AC_CHECK_FUNCS(shl_load, [AC_DEFINE(HAVE_SHL_LOAD) HAVE_DL_FUNCS=1]) | |
1533 | ||
1534 | if test "$HAVE_DL_FUNCS" = 0; then | |
1535 | AC_MSG_WARN("--with-dynlib will be disabled because no function was found to load a shared library on this platform") | |
1536 | ||
1537 | wxUSE_DYNLIB_CLASS=0 | |
1538 | fi | |
1539 | fi | |
1540 | ||
1541 | if test "$wxUSE_DYNLIB_CLASS" = 1 ; then | |
1542 | AC_DEFINE_UNQUOTED(wxUSE_DYNLIB_CLASS,$wxUSE_DYNLIB_CLASS) | |
1543 | fi | |
1544 | ||
bcf1fa6b RR |
1545 | dnl ---------------------------------------------------------------- |
1546 | dnl Register Prolog and Resources options for makefiles and setup.h | |
1547 | dnl ---------------------------------------------------------------- | |
1548 | ||
8248314d VZ |
1549 | if test "$wxUSE_RPC" = 1 ; then |
1550 | AC_DEFINE_UNQUOTED(wxUSE_RPC,$wxUSE_RPC) | |
bcf1fa6b RR |
1551 | fi |
1552 | ||
8248314d VZ |
1553 | if test "$wxUSE_WX_RESOURCES" = 1 ; then |
1554 | AC_DEFINE_UNQUOTED(wxUSE_WX_RESOURCES,$wxUSE_WX_RESOURCES) | |
bcf1fa6b RR |
1555 | fi |
1556 | ||
8248314d VZ |
1557 | if test "$wxUSE_PROLOGIO" = 1 ; then |
1558 | AC_DEFINE_UNQUOTED(wxUSE_PROLOGIO) | |
bcf1fa6b RR |
1559 | fi |
1560 | ||
1561 | dnl ---------------------------------------------------------------- | |
1562 | dnl Register PostScript options for makefiles and setup.h | |
1563 | dnl ---------------------------------------------------------------- | |
1564 | ||
8248314d VZ |
1565 | if test "$wxUSE_POSTSCRIPT" = 1 ; then |
1566 | AC_DEFINE_UNQUOTED(wxUSE_POSTSCRIPT) | |
bcf1fa6b RR |
1567 | fi |
1568 | ||
8248314d | 1569 | AC_DEFINE_UNQUOTED(wxUSE_AFM_FOR_POSTSCRIPT,$wxUSE_AFM_FOR_POSTSCRIPT) |
bcf1fa6b RR |
1570 | |
1571 | AC_DEFINE_UNQUOTED(WX_NORMALIZED_PS_FONTS,$WX_NORMALIZED_PS_FONTS) | |
1572 | ||
1573 | dnl ---------------------------------------------------------------- | |
1574 | dnl Register architecture options for makefiles and setup.h | |
1575 | dnl ---------------------------------------------------------------- | |
1576 | ||
8248314d VZ |
1577 | if test "$wxUSE_MDI_ARCHITECTURE" = 1 ; then |
1578 | AC_DEFINE_UNQUOTED(wxUSE_MDI_ARCHITECTURE,$wxUSE_MDI_ARCHITECTURE) | |
bcf1fa6b RR |
1579 | fi |
1580 | ||
8248314d VZ |
1581 | if test "$wxUSE_DOC_VIEW_ARCHITECTURE" = 1 ; then |
1582 | AC_DEFINE_UNQUOTED(wxUSE_DOC_VIEW_ARCHITECTURE,$wxUSE_DOC_VIEW_ARCHITECTURE) | |
bcf1fa6b RR |
1583 | fi |
1584 | ||
8248314d VZ |
1585 | if test "$wxUSE_PRINTING_ARCHITECTURE" = 1 ; then |
1586 | AC_DEFINE_UNQUOTED(wxUSE_PRINTING_ARCHITECTURE,$wxUSE_PRINTING_ARCHITECTURE) | |
bcf1fa6b RR |
1587 | fi |
1588 | ||
fb4e5803 VZ |
1589 | dnl ---------------------------------------------------------------- |
1590 | dnl Register wxString options for makefiles and setup.h | |
1591 | dnl ---------------------------------------------------------------- | |
1592 | ||
1593 | if test "$wxUSE_UNICODE" = 1 ; then | |
1594 | AC_DEFINE_UNQUOTED(wxUSE_UNICODE) | |
1595 | fi | |
1596 | ||
1597 | if test "$wxUSE_WCSRTOMBS" = 1 ; then | |
1598 | AC_DEFINE_UNQUOTED(wxUSE_WCSRTOMBS) | |
1599 | fi | |
1600 | ||
bcf1fa6b RR |
1601 | dnl ---------------------------------------------------------------- |
1602 | dnl Register misc options for makefiles and setup.h | |
1603 | dnl ---------------------------------------------------------------- | |
1604 | ||
8248314d VZ |
1605 | if test "$wxUSE_IPC" = 1 ; then |
1606 | AC_DEFINE_UNQUOTED(wxUSE_IPC) | |
bcf1fa6b RR |
1607 | fi |
1608 | ||
8248314d VZ |
1609 | if test "$wxUSE_RESOURCES" = 1 ; then |
1610 | AC_DEFINE_UNQUOTED(wxUSE_RESOURCES,$wxUSE_RESOURCES) | |
bcf1fa6b RR |
1611 | fi |
1612 | ||
8248314d VZ |
1613 | if test "$wxUSE_CLIPBOARD" = 1 ; then |
1614 | AC_DEFINE_UNQUOTED(wxUSE_CLIPBOARD,$wxUSE_CLIPBOARD) | |
bcf1fa6b RR |
1615 | fi |
1616 | ||
ff8bfdbb | 1617 | if test "$wxUSE_TOOLTIPS" = 1 ; then |
6442ad7f | 1618 | if test "$wxUSE_MOTIF" = 1; then |
7f3b7908 | 1619 | AC_MSG_WARN(tooltips are not supported yet under Motif) |
6442ad7f VZ |
1620 | wxUSE_TOOLTIPS=0 |
1621 | fi | |
6442ad7f | 1622 | AC_DEFINE_UNQUOTED(wxUSE_TOOLTIPS,$wxUSE_TOOLTIPS) |
ff8bfdbb VZ |
1623 | fi |
1624 | ||
ac57418f | 1625 | if test "$wxUSE_DRAG_AND_DROP" = 1 ; then |
e5ea3f7a RR |
1626 | if test "$WXGTK12" = 1 ; then |
1627 | AC_DEFINE_UNQUOTED(wxUSE_DRAG_AND_DROP,$wxUSE_DRAG_AND_DROP) | |
1628 | else | |
7f3b7908 | 1629 | AC_MSG_WARN(drag and drop is only supported under GTK 1.2) |
e5ea3f7a RR |
1630 | wxUSE_DRAG_AND_DROP=0 |
1631 | fi | |
bcf1fa6b RR |
1632 | fi |
1633 | ||
64698f9a RR |
1634 | if test "$wxUSE_SPLINE" = 1 ; then |
1635 | AC_DEFINE_UNQUOTED(wxUSE_SPLINE,$wxUSE_SPLINE) | |
1636 | fi | |
1637 | ||
bcf1fa6b | 1638 | dnl ---------------------------------------------------------------- |
ac57418f | 1639 | dnl No effect yet |
bcf1fa6b RR |
1640 | dnl ---------------------------------------------------------------- |
1641 | ||
bcf1fa6b | 1642 | HELP=NONE |
8248314d | 1643 | if test "$wxUSE_HELP" = 1 ; then |
bcf1fa6b | 1644 | HELP="HELP" |
8248314d | 1645 | AC_DEFINE_UNQUOTED(wxUSE_HELP,$wxUSE_HELP) |
bcf1fa6b RR |
1646 | fi |
1647 | AC_SUBST(HELP) | |
1648 | ||
bcf1fa6b RR |
1649 | dnl ------------------------------------------------------------------------ |
1650 | dnl compiler options for shared libs | |
1651 | dnl ------------------------------------------------------------------------ | |
1652 | ||
1653 | PICFLAGS= | |
1654 | CREATE_SHARED= | |
1655 | case "${canonical}" in | |
bcf1fa6b | 1656 | *-hp-hpux* ) |
7cacdad3 | 1657 | if test "$GCC" != "yes" ; then |
bcf1fa6b RR |
1658 | CXXFLAGS="${CXXFLAGS} +a1 -z -Aa -D_HPUX_SOURCE" |
1659 | CFLAGS="${CFLAGS} -z -D_HPUX_SOURCE" | |
1660 | PICFLAGS="+z" | |
1661 | else | |
1662 | PICFLAGS="-fPIC" | |
1663 | fi | |
1664 | LDFLAGS="-Wl,+s" | |
1665 | CREATE_SHARED=sharedHpux | |
1666 | ;; | |
1667 | ||
1668 | *-*-linux* ) | |
1669 | PICFLAGS=-fPIC | |
1670 | CREATE_SHARED=sharedLinux | |
1671 | ;; | |
1672 | ||
c2933500 | 1673 | *-*-irix5* | *-*-irix6* ) |
bcf1fa6b RR |
1674 | # PICFLAGS can remain empty, as pic is the default |
1675 | LDFLAGS="-Wl,+s" | |
1676 | CREATE_SHARED=sharedIrix | |
1677 | AC_DEFINE(SVR4) | |
1678 | ;; | |
1679 | ||
c2933500 | 1680 | *-*-solaris2* ) |
7cacdad3 | 1681 | if test "$GCC" != "yes" ; then |
bcf1fa6b RR |
1682 | PICFLAGS="-KPIC" |
1683 | else | |
1684 | PICFLAGS="-fPIC" | |
1685 | fi | |
1686 | CREATE_SHARED=sharedSolaris2 | |
1687 | AC_DEFINE(SVR4) | |
1688 | ;; | |
1689 | ||
c2933500 | 1690 | *-*-sunos4* ) |
7cacdad3 | 1691 | if test "$GCC" != "yes" ; then |
bcf1fa6b RR |
1692 | PICFLAGS="-PIC" |
1693 | else | |
1694 | PICFLAGS="-fPIC" | |
1695 | fi | |
1696 | LDFLAGS="-Wl,+s" | |
1697 | CREATE_SHARED=sharedSunos4 | |
1698 | AC_DEFINE(BSD) | |
1699 | ;; | |
1700 | ||
1701 | *-*-freebsd* | *-*-netbsd*) | |
1702 | PICFLAGS=-fPIC | |
1703 | CREATE_SHARED=sharedBsd | |
1704 | AC_DEFINE(BSD) | |
1705 | ;; | |
1706 | ||
c2933500 | 1707 | *-*-osf* ) |
bcf1fa6b RR |
1708 | PICFLAGS="-fPIC" |
1709 | CREATE_SHARED=sharedOSF | |
1710 | ;; | |
1711 | ||
c2933500 | 1712 | *-*-dgux5* ) |
7cacdad3 | 1713 | if test "$GCC" != "yes" ; then |
bcf1fa6b RR |
1714 | PICFLAGS="-K PIC" |
1715 | else | |
1716 | PICFLAGS="-fPIC" | |
1717 | fi | |
1718 | CREATE_SHARED=sharedDgux | |
1719 | AC_DEFINE(SVR4) | |
1720 | ;; | |
1721 | ||
c2933500 | 1722 | *-*-sysv5* ) |
7cacdad3 | 1723 | if test "$GCC" != "yes" ; then |
bcf1fa6b RR |
1724 | PICFLAGS="-K PIC" |
1725 | else | |
1726 | PICFLAGS="-fPIC" | |
1727 | fi | |
1728 | CREATE_SHARED=sharedSysV | |
1729 | AC_DEFINE(SVR4) | |
1730 | ;; | |
1731 | ||
c2933500 | 1732 | *-*-aix* ) |
7cacdad3 | 1733 | if test "$GCC" != "yes" ; then |
bcf1fa6b RR |
1734 | PICFLAGS="-bM\:SRE" |
1735 | else | |
1bfcb0b6 | 1736 | PICFLAGS="-fPIC -D__SYSV__" |
bcf1fa6b RR |
1737 | fi |
1738 | CREATE_SHARED=sharedAIX | |
1739 | AC_DEFINE(SYSV) | |
1740 | ;; | |
1741 | ||
1742 | *) | |
1743 | CREATE_SHARED= | |
1744 | PICFLAGS= | |
1745 | esac | |
1746 | ||
1747 | if test "x$GCC" = xyes; then | |
cd5bf2a6 | 1748 | CFLAGS="${CFLAGS} -Wall -Wno-unused -Wno-uninitialized -D_REENTRANT -DLEX_SCANNER -DHAVE_LIBDL" |
bcf1fa6b RR |
1749 | fi |
1750 | ||
1751 | if test "x$GXX" = xyes; then | |
f6c6dd8c | 1752 | if test "$wxUSE_MOTIF" = 1; then |
06f46ad1 | 1753 | CXXFLAGS="${CXXFLAGS} -Wall -Wno-unused -D_REENTRANT" |
f6c6dd8c | 1754 | else |
06f46ad1 | 1755 | CXXFLAGS="${CXXFLAGS} -Wall -D_REENTRANT" |
f6c6dd8c | 1756 | fi |
bcf1fa6b RR |
1757 | fi |
1758 | ||
8248314d | 1759 | if test "$wxUSE_SHARED" != 1; then |
bcf1fa6b RR |
1760 | CREATE_SHARED= |
1761 | PICFLAGS= | |
1762 | fi | |
1763 | ||
1764 | AC_SUBST(OS) | |
1765 | AC_SUBST(PICFLAGS) | |
1766 | AC_SUBST(CREATE_SHARED) | |
1767 | ||
1768 | dnl ------------------------------------------------------------------------ | |
1769 | dnl finish and clean-up | |
1770 | dnl ------------------------------------------------------------------------ | |
1771 | ||
1772 | dnl add OS to list of configured | |
1773 | echo $OS >> system.list | |
1774 | ||
6442ad7f VZ |
1775 | TOOLKIT_DIR=`echo ${TOOLKIT} | tr "A-Z" "a-z"` |
1776 | AC_CONFIG_HEADER(./include/wx/${TOOLKIT_DIR}/setup.h:./setup/setup.hin) | |
1777 | ||
f3cb6592 | 1778 | AC_OUTPUT(./setup/substit ./wx-config:./wx-config.in,./setup/general/createall) |
bcf1fa6b RR |
1779 | |
1780 | AC_OVERRIDES_DONE | |
518b5d2f | 1781 |