]> git.saurik.com Git - wxWidgets.git/blob - configure.in
84725a6ab695a29795198918d64988b449699611
[wxWidgets.git] / configure.in
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.
7 dnl $Id$
8 dnl ////////////////////////////////////////////////////////////////////////
9
10
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,
15 [dnl
16 dnl Get the cflags and libraries from the gtk-config script
17 dnl
18 AC_ARG_WITH(gtk-prefix,[**--with-gtk-prefix=PFX Prefix where GTK is installed],
19 gtk_config_prefix="$withval", gtk_config_prefix="")
20 AC_ARG_WITH(gtk-exec-prefix,[**--with-gtk-exec-prefix=PFX Exec prefix where GTK is installed],
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
55 int
56 main ()
57 {
58 int major, minor, micro;
59
60 if (sscanf("$min_gtk_version", "%d.%d.%d", &major, &minor, &micro) != 3) {
61 printf("%s, bad version string\n", "$min_gtk_version");
62 exit(1);
63 }
64
65 if (gtk_minor_version == 1) return FALSE;
66
67 return !((gtk_major_version > major) ||
68 ((gtk_major_version == major) && (gtk_minor_version > minor)) ||
69 ((gtk_major_version == major) && (gtk_minor_version == minor) && (gtk_micro_version >= micro)));
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)
79 ifelse([$2], , :, [$2])
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
189 ac_path_to_include="-I$1"
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
201 ac_path_to_link="-L$1"
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
239 dnl VZ: added standard locations for Xm.h for Irix, HP-UX and SunOS (19.02.99)
240 SEARCH_INCLUDE="\
241 /usr/Motif-1.2/include \
242 /usr/Motif-2.1/include \
243 \
244 /usr/include/Motif1.2 \
245 /opt/xpm/include/X11 \
246 \
247 /usr/Motif1.2/include \
248 /usr/dt/include \
249 /usr/include/Xm \
250 \
251 /usr/X11R6/include \
252 /usr/X11R5/include \
253 /usr/X11R4/include \
254 \
255 /usr/X11R6/lib \
256 /usr/X11R5/lib \
257 /usr/X11R4/lib \
258 \
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 \
281 /usr/include/gtk \
282 /usr/include/gdk \
283 /usr/include/glib \
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 \
291 /usr/local/include/qt \
292 /usr/include/qt \
293 \
294 /usr/openwin/include \
295 /usr/openwin/share/include \
296 "
297
298 SEARCH_LIB="`echo "$SEARCH_INCLUDE" | sed s/include/lib/g` "
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
321 dnl defines NO_MINUS_C_MINUS_O if compiler does not accept
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
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
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=$?
396 rm -f sub/file check final_file confMake
397 rmdir sub
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.
412 )
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
436 AC_CHECK_HEADERS(fcntl.h)
437 dnl defines HAVE_FCNTL_H
438 AC_CHECK_HEADERS(limits.h)
439 dnl defines HAVE_LIMITS_h
440 AC_CHECK_HEADERS(sys/file.h)
441 dnl defines HAVE_SYS_FILE_H
442 AC_CHECK_HEADERS(sys/time.h)
443 dnl defines HAVE_SYS_TIME_H
444 AC_CHECK_HEADERS(unistd.h)
445 dnl defines HAVE_UNISTD_H
446 AC_CHECK_HEADERS(wchar.h)
447 dnl defines HAVE_WCHAR_H
448 AC_CHECK_HEADERS(wcstr.h)
449 dnl defines HAVE_WCSTR_H
450 AC_CHECK_HEADERS(fnmatch.h)
451 dnl defines HAVE_FNMATCH_H
452 dnl As it needs Linux 2.1.x for the moment: check whether the file exists (GL).
453 AC_CHECK_HEADERS(linux/joystick.h)
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
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
467 dnl check for wcslen
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 ])
477 AC_SUBST(WCHAR_LINK)
478
479 dnl check for vprintf/vsprintf() which are GNU extensions
480 AC_FUNC_VPRINTF
481
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)
490
491 POSIX4_LINK=
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 ])
502
503 dnl check for uname (POSIX) and gethostname (BSD)
504 AC_CHECK_FUNCS(uname gethostname, break)
505
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
529 dnl defines STAT_MACROS_BROKEN if S_ISDIR and S_ISREG
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
534 AC_STRUCT_ST_BLKSIZE
535 dnl defines HAVE_ST_BLKSIZE if struct stat contains st_blksize
536 AC_STRUCT_ST_BLOCKS
537 dnl defines HAVE_ST_BLOCKS if struct stat contains st_blocks
538 AC_STRUCT_ST_RDEV
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 ###################################
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
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>
569
570 dnl ######################
571 dnl # check C++ features #
572 dnl ######################
573
574 AC_LANG_SAVE
575 AC_LANG_CPLUSPLUS
576
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
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)
587 AC_TRY_RUN([
588
589 int main()
590 {
591 bool b = true;
592
593 return 0;
594 }
595 ],
596 AC_DEFINE(HAVE_BOOL) AC_MSG_RESULT(yes),
597 AC_MSG_RESULT(no),
598 AC_MSG_RESULT(no assumed for cross-compilation))
599
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
626 AC_LANG_RESTORE
627
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
642 dnl defines HAVE_RESTARTABLE_SYSCALLS if the system restarts a
643 dnl system call that is interrupted
644 dnl by a signal
645
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*
663 dnl defines LEX_OUTPUT_ROOT as to the base of the
664 dnl filename output by the lexer
665
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");
702 if(ptr1 && !ptr2) exit(0); } exit(1); }
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
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
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
758 AC_DEFINE(__UNIX__)
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__)
767 TMP=`uname -m`
768 if test "x$TMP" = "xalpha"
769 then
770 USE_ALPHA=1
771 AC_DEFINE(__ALPHA__)
772 fi
773 ;;
774 *-*-irix5* | *-*-irix6* )
775 USE_SGI=1
776 USE_SVR4=1
777 AC_DEFINE(__SGI__)
778 AC_DEFINE(__SVR4__)
779 ;;
780 *-*-solaris2* )
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 ;;
788 *-*-sunos4* )
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 ;;
802 *-*-osf* )
803 USE_ALPHA=1
804 USE_OSF=1
805 AC_DEFINE(__ALPHA__)
806 AC_DEFINE(__OSF__)
807 ;;
808 *-*-dgux5* )
809 USE_ALPHA=1
810 USE_SVR4=1
811 AC_DEFINE(__ALPHA__)
812 AC_DEFINE(__SVR4__)
813 ;;
814 *-*-sysv5* )
815 USE_SYSV=1
816 USE_SVR4=1
817 AC_DEFINE(__SYSV__)
818 AC_DEFINE(__SVR4__)
819 ;;
820 *-*-aix* )
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
838 DEFAULT_wxUSE_GTK=1
839 DEFAULT_wxUSE_QT=0
840 DEFAULT_wxUSE_MOTIF=0
841
842 DEFAULT_wxUSE_THREADS=0
843
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
855 DEFAULT_wxUSE_LIBPNG=1
856 DEFAULT_wxUSE_LIBJPEG=1
857 DEFAULT_wxUSE_ODBC=1
858
859 DEFAULT_wxUSE_TIMEDATE=1
860 DEFAULT_wxUSE_INTL=1
861 DEFAULT_wxUSE_CONFIG=1
862 DEFAULT_wxUSE_STREAMS=1
863 DEFAULT_wxUSE_SOCKETS=1
864 DEFAULT_wxUSE_SERIAL=1
865 DEFAULT_wxUSE_DYNLIB_CLASS=1
866
867 DEFAULT_wxUSE_AFM_FOR_POSTSCRIPT=1
868 DEFAULT_WX_NORMALIZED_PS_FONTS=1
869 DEFAULT_wxUSE_POSTSCRIPT=1
870
871 DEFAULT_wxUSE_IPC=1
872 DEFAULT_wxUSE_RESOURCES=1
873 DEFAULT_wxUSE_CLIPBOARD=1
874 DEFAULT_wxUSE_TOOLTIPS=1
875 DEFAULT_wxUSE_DRAG_AND_DROP=1
876 DEFAULT_wxUSE_SPLINE=1
877
878 DEFAULT_wxUSE_MDI_ARCHITECTURE=1
879 DEFAULT_wxUSE_DOC_VIEW_ARCHITECTURE=1
880 DEFAULT_wxUSE_PRINTING_ARCHITECTURE=1
881
882 DEFAULT_wxUSE_PROLOGIO=1
883 DEFAULT_wxUSE_WX_RESOURCES=1
884 DEFAULT_wxUSE_RPC=0
885 DEFAULT_wxUSE_HELP=1
886
887 DEFAULT_wxUSE_UNICODE=0
888 DEFAULT_wxUSE_WCSRTOMBS=0
889
890 dnl ----------------------------------------------------------------
891 dnl toolkit options
892 dnl ----------------------------------------------------------------
893
894 AC_OVERRIDES(gtk,gtk,
895 **--with-gtk use GTK,
896 wxUSE_GTK)
897
898 AC_OVERRIDES(qt,qt,
899 **--with-qt use Qt,
900 wxUSE_QT)
901
902 AC_OVERRIDES(motif,motif,
903 **--with-motif use Motif/Lesstif,
904 wxUSE_MOTIF)
905
906 dnl ----------------------------------------------------------------
907 dnl compile options
908 dnl ----------------------------------------------------------------
909
910 AC_OVERRIDES(shared,shared,
911 **--with-shared create shared libraries,
912 wxUSE_SHARED)
913
914 AC_OVERRIDES(optimise,optimise,
915 **--with-optimise create optimised code,
916 wxUSE_OPTIMISE)
917
918 AC_OVERRIDES(debug_flag,debug_flag,
919 **--with-debug_flag create code with WXDEBUG define set to 1,
920 wxUSE_DEBUG_FLAG)
921
922 AC_OVERRIDES(debug_info,debug_info,
923 **--with-debug_info create code with debuging information,
924 wxUSE_DEBUG_INFO)
925
926 AC_OVERRIDES(debug_gdb,debug_gdb,
927 **--with-debug_gdb create code with extra GDB debuging information,
928 wxUSE_DEBUG_GDB)
929
930 AC_OVERRIDES(mem_tracing,mem_tracing,
931 **--with-mem_traing create code with memory tracing,
932 wxUSE_MEM_TRACING)
933
934 AC_OVERRIDES(dmalloc,dmalloc,
935 **--with-dmalloc use dmalloc memory debug library (www.letters.com/dmalloc/),
936 wxUSE_DMALLOC)
937
938 AC_OVERRIDES(profile,profile,
939 **--with-profile create code with profiling information,
940 wxUSE_PROFILE)
941
942 AC_OVERRIDES(apple_ieee, apple_ieee,
943 **--with_apple_ieee use the Apple IEEE codec,
944 wxUSE_APPLE_IEEE)
945
946 AC_OVERRIDES(threads,threads,
947 **--with-threads for enabling threads,
948 wxUSE_THREADS)
949
950 AC_OVERRIDES(dynlib,dynlib,
951 **--with-dynlib to compile wxLibrary class,
952 wxUSE_DYNLIB_CLASS)
953
954 dnl ----------------------------------------------------------------
955 dnl user options for libraries
956 dnl ----------------------------------------------------------------
957
958 AC_OVERRIDES(zlib,zlib,
959 **--without-zlib don't use zlib for LZW comression,
960 wxUSE_ZLIB)
961
962 AC_OVERRIDES(libpng,libpng,
963 **--without-libpng don't use libpng (PNG image format),
964 wxUSE_LIBPNG)
965
966 AC_OVERRIDES(libjpeg,libjpeg,
967 **--without-libjpeg don't use libjpeg (JPEG image format),
968 wxUSE_LIBJPEG)
969
970 AC_OVERRIDES(odbc,odbc,
971 **--with-odbc use iODBC and wxODBC classes,
972 wxUSE_ODBC)
973
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,
980 wxUSE_TIMEDATE)
981
982 AC_OVERRIDES(intl,intl,
983 **--with-intl use internationalization system,
984 wxUSE_INTL)
985
986 AC_OVERRIDES(config,config,
987 **--with-config use wxConfig class,
988 wxUSE_CONFIG)
989
990 AC_OVERRIDES(streams,streams,
991 **--with-streams use wxStream etc classes,
992 wxUSE_STREAMS)
993
994 AC_OVERRIDES(serial,serial,
995 **--with-serial use class serialization,
996 wxUSE_SERIAL)
997
998 AC_OVERRIDES(sockets,sockets,
999 **--with-sockets use wxSocket etc classes,
1000 wxUSE_SOCKETS)
1001
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,
1008 wxUSE_AFM_FOR_POSTSCRIPT)
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,
1016 wxUSE_POSTSCRIPT)
1017
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
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,
1036 wxUSE_WX_RESOURCES)
1037
1038 AC_OVERRIDES(prologio,prologio,
1039 **--with-prologio use Prolog IO library,
1040 wxUSE_PROLOGIO)
1041
1042 AC_OVERRIDES(rpc,RPC,
1043 **--with-rpc use Prolog's remote procedure calls,
1044 wxUSE_RPC)
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.),
1052 wxUSE_IPC)
1053
1054 AC_OVERRIDES(resources,resources,
1055 **--with-resources use X resources for saving information,
1056 wxUSE_RESOURCES)
1057
1058 AC_OVERRIDES(clipboard,clipboard,
1059 **--with-clipboard use wxClipboard classes,
1060 wxUSE_CLIPBOARD)
1061
1062 AC_OVERRIDES(tooltips,tooltips,
1063 **--with-tooltips use tooltips,
1064 wxUSE_TOOLTIPS)
1065
1066 AC_OVERRIDES(dnd,dnd,
1067 **--with-dnd use Drag'n'Drop classes,
1068 wxUSE_DRAG_AND_DROP)
1069
1070 AC_OVERRIDES(spline,spline,
1071 **--with-spline use Spline drawing code,
1072 wxUSE_SPLINE)
1073
1074 dnl ----------------------------------------------------------------
1075 dnl user options for architectures
1076 dnl ----------------------------------------------------------------
1077
1078 AC_OVERRIDES(mdi,mdi,
1079 **--with-mdi use multiple document interface architecture,
1080 wxUSE_MDI_ARCHITECTURE)
1081
1082 AC_OVERRIDES(docview,docview,
1083 **--with-docview use document view architecture,
1084 wxUSE_DOC_VIEW_ARCHITECTURE)
1085
1086 AC_OVERRIDES(printarch,printarch,
1087 **--with-printarch use printing architecture,
1088 wxUSE_PRINTING_ARCHITECTURE)
1089
1090 AC_OVERRIDES(help,help,
1091 **--with-help use help (using external browser at present),
1092 wxUSE_HELP)
1093
1094 dnl ----------------------------------------------------------------
1095 dnl Unix, obviously
1096 dnl ----------------------------------------------------------------
1097
1098 if test "$wxUSE_UNIX" = 1 ; then
1099 AC_DEFINE(__UNIX__)
1100 fi
1101
1102 dnl ----------------------------------------------------------------
1103 dnl Linux: test for libc5/glibc2: glibc2 has gettext() included
1104 dnl ----------------------------------------------------------------
1105 if test "$USE_LINUX" = 1; then
1106 AC_CHECK_LIB(c,gettext,AC_DEFINE(wxHAVE_GLIBC2))
1107 fi
1108
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
1120 WX_LINK=
1121
1122 MAKEINCLUDE=
1123
1124 WXGTK12=
1125
1126 if test "$wxUSE_GTK" = 1; then
1127 AM_PATH_GTK(1.0.0, [
1128 GUI_TK_INCLUDE="$GTK_CFLAGS"
1129 GUI_TK_LIBRARY="$GTK_LIBS"
1130 ], AC_MSG_ERROR(Is gtk-config in path and GTK+ is version 1.2.X or 1.0.X?))
1131 TOOLKIT=GTK
1132 TOOLKIT_DEF=__WXGTK__
1133 WX_LINK=-lwx_gtk2
1134 MAKEINCLUDE=../gtk.inc
1135 AM_PATH_GTK(1.2.0, [
1136 WXGTK12=1
1137 ])
1138 fi
1139
1140 if test "$wxUSE_QT" = 1; then
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
1159 GUI_TK_LINK="-lX11 -lqt -lm"
1160 TOOLKIT=QT
1161 TOOLKIT_DEF=__WXQT__
1162 WX_LINK=-lwx_qt
1163 MAKEINCLUDE=../qt.inc
1164 fi
1165
1166 if test "$wxUSE_MOTIF" = 1; then
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
1175
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
1215 GUI_TK_LINK="-lXm $(XPM_LINK)-lXmu -lXt -lX11 -lm"
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
1221 fi
1222
1223 if test "$TOOLKIT" = ""; then
1224 AC_MSG_ERROR(You must specify a toolkit: --with-gtk --with-qt --with-motif)
1225 fi
1226
1227 AC_SUBST(GUI_TK_INCLUDE)
1228 AC_SUBST(GUI_TK_LIBRARY)
1229 AC_SUBST(GUI_TK_LINK)
1230
1231 AC_SUBST(WX_LINK)
1232
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
1242 if test "$WXGTK12" = 1 ; then
1243 AC_DEFINE_UNQUOTED(__WXGTK12__,$WXGTK12)
1244 fi
1245
1246 EXTRA_LINK=
1247
1248 WXDEBUG=
1249 if test "$wxUSE_DEBUG_GDB" = 1 ; then
1250 wxUSE_DEBUG_INFO=1
1251 WXDEBUG="-ggdb"
1252 fi
1253
1254 if test "$wxUSE_DEBUG_INFO" = 1 ; then
1255 WXDEBUG="-g"
1256 wxUSE_OPTIMISE=0
1257 fi
1258
1259 AC_SUBST(WXDEBUG)
1260
1261 if test "$wxUSE_DEBUG_FLAG" = 1 ; then
1262 AC_DEFINE_UNQUOTED(WXDEBUG,$wxUSE_DEBUG_FLAG)
1263 WXDEBUG_DEFINE="-D__WXDEBUG__"
1264 AC_SUBST(WXDEBUG_DEFINE)
1265 else
1266 WXDEBUG_DEFINE="-DGTK_NO_CHECK_CASTS"
1267 AC_SUBST(WXDEBUG_DEFINE)
1268 fi
1269
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)
1273 fi
1274
1275 if test "$wxUSE_DMALLOC" = 1 ; then
1276 EXTRA_LINK="$EXTRA_LINK -ldmalloc"
1277 fi
1278 AC_SUBST(EXTRA_LINK)
1279
1280 PROFILE=
1281 if test "$wxUSE_PROFILE" = 1 ; then
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" `
1288 if test "$wxUSE_OPTIMISE" = 0 ; then
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
1305 if test "$wxUSE_APPLE_IEEE" = 1 ; then
1306 APPLE_IEEE="APPLE_IEEE"
1307 AC_DEFINE_UNQUOTED(wxUSE_APPLE_IEEE,$wxUSE_APPLE_IEEE)
1308 fi
1309
1310 wxUSE_IOSTREAMH=$DEFAULT_wxUSE_IOSTREAMH
1311 AC_DEFINE_UNQUOTED(wxUSE_IOSTREAMH,$wxUSE_IOSTREAMH)
1312
1313 dnl ----------------------------------------------------------------
1314 dnl Register library options for makefiles and setup.h
1315 dnl ----------------------------------------------------------------
1316
1317 if test "$wxUSE_ZLIB" = 1 ; then
1318 AC_DEFINE_UNQUOTED(wxUSE_ZLIB,$wxUSE_ZLIB)
1319 Z_C_SRC="\$(Z_C_SRC)"
1320 fi
1321 AC_SUBST(Z_C_SRC)
1322
1323 if test "$wxUSE_LIBPNG" = 1 ; then
1324 AC_DEFINE_UNQUOTED(wxUSE_LIBPNG,$wxUSE_LIBPNG)
1325 PNG_C_SRC="\$(PNG_C_SRC)"
1326 fi
1327 AC_SUBST(PNG_C_SRC)
1328
1329 if test "$wxUSE_LIBJPEG" = 1 ; then
1330 AC_DEFINE_UNQUOTED(wxUSE_LIBJPEG,$wxUSE_LIBJPEG)
1331 JPEG_C_SRC="\$(JPEG_C_SRC)"
1332 fi
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
1341 AC_SUBST(JPEG_LINK)
1342
1343 IODBC_C_SRC=""
1344 if test "$wxUSE_ODBC" = 1 ; then
1345 AC_DEFINE_UNQUOTED(wxUSE_ODBC,$wxUSE_ODBC)
1346 IODBC_C_SRC="\$(IODBC_C_SRC)"
1347 fi
1348 AC_SUBST(IODBC_C_SRC)
1349
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
1440 THREADS_LINK="-l$THREADS_LINK"
1441 fi
1442
1443 AC_SUBST(UNIX_THREAD)
1444 AC_SUBST(THREADS_LINK)
1445 AC_SUBST(POSIX4_LINK)
1446
1447 dnl ----------------------------------------------------------------
1448 dnl Register non-GUI class options for makefiles and setup.h
1449 dnl ----------------------------------------------------------------
1450
1451 if test "$wxUSE_CONFIG" = 1 ; then
1452 AC_DEFINE_UNQUOTED(wxUSE_CONFIG,$wxUSE_CONFIG)
1453 fi
1454
1455 if test "$wxUSE_TIMEDATE" = 1 ; then
1456 AC_DEFINE_UNQUOTED(wxUSE_TIMEDATE,$wxUSE_TIMEDATE)
1457 fi
1458
1459 if test "$wxUSE_INTL" = 1 ; then
1460 AC_DEFINE_UNQUOTED(wxUSE_INTL,$wxUSE_INTL)
1461 fi
1462
1463 if test "$wxUSE_STREAMS" = 1 ; then
1464 AC_DEFINE_UNQUOTED(wxUSE_STREAMS,$wxUSE_STREAMS)
1465 fi
1466
1467 if test "$wxUSE_SOCKETS" = 1 ; then
1468 if test "$wxUSE_THREADS" = 1 ; then
1469 AC_DEFINE_UNQUOTED(wxUSE_SOCKETS,$wxUSE_SOCKETS)
1470 else
1471 AC_MSG_WARN(sockets or only supported with threads)
1472 wxUSE_SOCKETS=0
1473 fi
1474 fi
1475
1476 if test "$wxUSE_SERIAL" = 1 ; then
1477 AC_DEFINE_UNQUOTED(wxUSE_SERIAL,$wxUSE_SERIAL)
1478 fi
1479
1480 dnl ------------------------------------------------------------------------
1481 dnl wxSocket
1482 dnl ------------------------------------------------------------------------
1483
1484 if test "$wxUSE_SOCKETS" = "1"; then
1485 AC_LANG_SAVE
1486 AC_LANG_CPLUSPLUS
1487 dnl determine the type of third argument for getsockname
1488 AC_MSG_CHECKING(the type of the third argument of getsockname)
1489 AC_TRY_COMPILE(
1490 [#include <sys/socket.h>],
1491 [socklen_t len; getsockname(0, NULL, &len);],
1492 AC_DEFINE(SOCKLEN_T, socklen_t) AC_MSG_RESULT(socklen_t),
1493 AC_TRY_COMPILE(
1494 [#include <sys/socket.h>],
1495 [size_t len; getsockname(0, NULL, &len);],
1496 AC_DEFINE(SOCKLEN_T, size_t) AC_MSG_RESULT(size_t),
1497 AC_TRY_COMPILE(
1498 [#include <sys/socket.h>],
1499 [int len; getsockname(0, NULL, &len);],
1500 AC_DEFINE(SOCKLEN_T, int) AC_MSG_RESULT(int),
1501 AC_MSG_RESULT(unknown)
1502 )
1503 )
1504 )
1505 AC_LANG_RESTORE
1506 fi
1507
1508 dnl ------------------------------------------------------------------------
1509 dnl wxLibrary class
1510 dnl ------------------------------------------------------------------------
1511
1512 HAVE_DL_FUNCS=0
1513 if test "$wxUSE_DYNLIB_CLASS" = "1"; then
1514 dnl the test is a bit complicated because we check for dlopen() both with
1515 dnl and without -ldl
1516 AC_CHECK_FUNCS(dlopen,
1517 [AC_DEFINE(HAVE_DLOPEN) HAVE_DL_FUNCS=1],
1518 [AC_CHECK_LIB(dl, dlopen,
1519 [AC_DEFINE(HAVE_DLOPEN) HAVE_DL_FUNCS=1])])
1520 AC_CHECK_FUNCS(shl_load, [AC_DEFINE(HAVE_SHL_LOAD) HAVE_DL_FUNCS=1])
1521
1522 if test "$HAVE_DL_FUNCS" = 0; then
1523 AC_MSG_WARN("--with-dynlib will be disabled because no function was found to load a shared library on this platform")
1524
1525 wxUSE_DYNLIB_CLASS=0
1526 fi
1527 fi
1528
1529 if test "$wxUSE_DYNLIB_CLASS" = 1 ; then
1530 AC_DEFINE_UNQUOTED(wxUSE_DYNLIB_CLASS,$wxUSE_DYNLIB_CLASS)
1531 fi
1532
1533 dnl ----------------------------------------------------------------
1534 dnl Register Prolog and Resources options for makefiles and setup.h
1535 dnl ----------------------------------------------------------------
1536
1537 if test "$wxUSE_RPC" = 1 ; then
1538 AC_DEFINE_UNQUOTED(wxUSE_RPC,$wxUSE_RPC)
1539 fi
1540
1541 if test "$wxUSE_WX_RESOURCES" = 1 ; then
1542 AC_DEFINE_UNQUOTED(wxUSE_WX_RESOURCES,$wxUSE_WX_RESOURCES)
1543 fi
1544
1545 if test "$wxUSE_PROLOGIO" = 1 ; then
1546 AC_DEFINE_UNQUOTED(wxUSE_PROLOGIO)
1547 fi
1548
1549 dnl ----------------------------------------------------------------
1550 dnl Register PostScript options for makefiles and setup.h
1551 dnl ----------------------------------------------------------------
1552
1553 if test "$wxUSE_POSTSCRIPT" = 1 ; then
1554 AC_DEFINE_UNQUOTED(wxUSE_POSTSCRIPT)
1555 fi
1556
1557 AC_DEFINE_UNQUOTED(wxUSE_AFM_FOR_POSTSCRIPT,$wxUSE_AFM_FOR_POSTSCRIPT)
1558
1559 AC_DEFINE_UNQUOTED(WX_NORMALIZED_PS_FONTS,$WX_NORMALIZED_PS_FONTS)
1560
1561 dnl ----------------------------------------------------------------
1562 dnl Register architecture options for makefiles and setup.h
1563 dnl ----------------------------------------------------------------
1564
1565 if test "$wxUSE_MDI_ARCHITECTURE" = 1 ; then
1566 AC_DEFINE_UNQUOTED(wxUSE_MDI_ARCHITECTURE,$wxUSE_MDI_ARCHITECTURE)
1567 fi
1568
1569 if test "$wxUSE_DOC_VIEW_ARCHITECTURE" = 1 ; then
1570 AC_DEFINE_UNQUOTED(wxUSE_DOC_VIEW_ARCHITECTURE,$wxUSE_DOC_VIEW_ARCHITECTURE)
1571 fi
1572
1573 if test "$wxUSE_PRINTING_ARCHITECTURE" = 1 ; then
1574 AC_DEFINE_UNQUOTED(wxUSE_PRINTING_ARCHITECTURE,$wxUSE_PRINTING_ARCHITECTURE)
1575 fi
1576
1577 dnl ----------------------------------------------------------------
1578 dnl Register wxString options for makefiles and setup.h
1579 dnl ----------------------------------------------------------------
1580
1581 if test "$wxUSE_UNICODE" = 1 ; then
1582 AC_DEFINE_UNQUOTED(wxUSE_UNICODE)
1583 fi
1584
1585 if test "$wxUSE_WCSRTOMBS" = 1 ; then
1586 AC_DEFINE_UNQUOTED(wxUSE_WCSRTOMBS)
1587 fi
1588
1589 dnl ----------------------------------------------------------------
1590 dnl Register misc options for makefiles and setup.h
1591 dnl ----------------------------------------------------------------
1592
1593 if test "$wxUSE_IPC" = 1 ; then
1594 AC_DEFINE_UNQUOTED(wxUSE_IPC)
1595 fi
1596
1597 if test "$wxUSE_RESOURCES" = 1 ; then
1598 AC_DEFINE_UNQUOTED(wxUSE_RESOURCES,$wxUSE_RESOURCES)
1599 fi
1600
1601 if test "$wxUSE_CLIPBOARD" = 1 ; then
1602 AC_DEFINE_UNQUOTED(wxUSE_CLIPBOARD,$wxUSE_CLIPBOARD)
1603 fi
1604
1605 if test "$wxUSE_TOOLTIPS" = 1 ; then
1606 if test "$wxUSE_MOTIF" = 1; then
1607 AC_MSG_WARN(tooltips are not supported yet under Motif)
1608 wxUSE_TOOLTIPS=0
1609 fi
1610 AC_DEFINE_UNQUOTED(wxUSE_TOOLTIPS,$wxUSE_TOOLTIPS)
1611 fi
1612
1613 if test "$wxUSE_DRAG_AND_DROP" = 1 ; then
1614 if test "$WXGTK12" = 1 ; then
1615 AC_DEFINE_UNQUOTED(wxUSE_DRAG_AND_DROP,$wxUSE_DRAG_AND_DROP)
1616 else
1617 AC_MSG_WARN(drag and drop is only supported under GTK 1.2)
1618 wxUSE_DRAG_AND_DROP=0
1619 fi
1620 fi
1621
1622 if test "$wxUSE_SPLINE" = 1 ; then
1623 AC_DEFINE_UNQUOTED(wxUSE_SPLINE,$wxUSE_SPLINE)
1624 fi
1625
1626 dnl ----------------------------------------------------------------
1627 dnl No effect yet
1628 dnl ----------------------------------------------------------------
1629
1630 HELP=NONE
1631 if test "$wxUSE_HELP" = 1 ; then
1632 HELP="HELP"
1633 AC_DEFINE_UNQUOTED(wxUSE_HELP,$wxUSE_HELP)
1634 fi
1635 AC_SUBST(HELP)
1636
1637 dnl ------------------------------------------------------------------------
1638 dnl compiler options for shared libs
1639 dnl ------------------------------------------------------------------------
1640
1641 PICFLAGS=
1642 CREATE_SHARED=
1643 case "${canonical}" in
1644 *-hp-hpux* )
1645 if test "$GCC" != "yes" ; then
1646 CXXFLAGS="${CXXFLAGS} +a1 -z -Aa -D_HPUX_SOURCE"
1647 CFLAGS="${CFLAGS} -z -D_HPUX_SOURCE"
1648 PICFLAGS="+z"
1649 else
1650 PICFLAGS="-fPIC"
1651 fi
1652 LDFLAGS="-Wl,+s"
1653 CREATE_SHARED=sharedHpux
1654 ;;
1655
1656 *-*-linux* )
1657 PICFLAGS=-fPIC
1658 CREATE_SHARED=sharedLinux
1659 ;;
1660
1661 *-*-irix5* | *-*-irix6* )
1662 # PICFLAGS can remain empty, as pic is the default
1663 LDFLAGS="-Wl,+s"
1664 CREATE_SHARED=sharedIrix
1665 AC_DEFINE(SVR4)
1666 ;;
1667
1668 *-*-solaris2* )
1669 if test "$GCC" != "yes" ; then
1670 PICFLAGS="-KPIC"
1671 else
1672 PICFLAGS="-fPIC"
1673 fi
1674 CREATE_SHARED=sharedSolaris2
1675 AC_DEFINE(SVR4)
1676 ;;
1677
1678 *-*-sunos4* )
1679 if test "$GCC" != "yes" ; then
1680 PICFLAGS="-PIC"
1681 else
1682 PICFLAGS="-fPIC"
1683 fi
1684 LDFLAGS="-Wl,+s"
1685 CREATE_SHARED=sharedSunos4
1686 AC_DEFINE(BSD)
1687 ;;
1688
1689 *-*-freebsd* | *-*-netbsd*)
1690 PICFLAGS=-fPIC
1691 CREATE_SHARED=sharedBsd
1692 AC_DEFINE(BSD)
1693 ;;
1694
1695 *-*-osf* )
1696 PICFLAGS="-fPIC"
1697 CREATE_SHARED=sharedOSF
1698 ;;
1699
1700 *-*-dgux5* )
1701 if test "$GCC" != "yes" ; then
1702 PICFLAGS="-K PIC"
1703 else
1704 PICFLAGS="-fPIC"
1705 fi
1706 CREATE_SHARED=sharedDgux
1707 AC_DEFINE(SVR4)
1708 ;;
1709
1710 *-*-sysv5* )
1711 if test "$GCC" != "yes" ; then
1712 PICFLAGS="-K PIC"
1713 else
1714 PICFLAGS="-fPIC"
1715 fi
1716 CREATE_SHARED=sharedSysV
1717 AC_DEFINE(SVR4)
1718 ;;
1719
1720 *-*-aix* )
1721 if test "$GCC" != "yes" ; then
1722 PICFLAGS="-bM\:SRE"
1723 else
1724 PICFLAGS="-fPIC -D__SYSV__"
1725 fi
1726 CREATE_SHARED=sharedAIX
1727 AC_DEFINE(SYSV)
1728 ;;
1729
1730 *)
1731 CREATE_SHARED=
1732 PICFLAGS=
1733 esac
1734
1735 if test "x$GCC" = xyes; then
1736 CFLAGS="${CFLAGS} -Wall -Wno-unused -Wno-uninitialized -D_REENTRANT -DLEX_SCANNER -DHAVE_LIBDL"
1737 fi
1738
1739 if test "x$GXX" = xyes; then
1740 if test "$wxUSE_MOTIF" = 1; then
1741 CXXFLAGS="${CXXFLAGS} -Wall -Wno-unused -D_REENTRANT"
1742 else
1743 CXXFLAGS="${CXXFLAGS} -Wall -D_REENTRANT"
1744 fi
1745 fi
1746
1747 if test "$wxUSE_SHARED" != 1; then
1748 CREATE_SHARED=
1749 PICFLAGS=
1750 fi
1751
1752 AC_SUBST(OS)
1753 AC_SUBST(PICFLAGS)
1754 AC_SUBST(CREATE_SHARED)
1755
1756 dnl ------------------------------------------------------------------------
1757 dnl finish and clean-up
1758 dnl ------------------------------------------------------------------------
1759
1760 dnl add OS to list of configured
1761 echo $OS >> system.list
1762
1763 TOOLKIT_DIR=`echo ${TOOLKIT} | tr "A-Z" "a-z"`
1764 AC_CONFIG_HEADER(./include/wx/${TOOLKIT_DIR}/setup.h:./setup/setup.hin)
1765
1766 AC_OUTPUT(./setup/substit ./wx-config:./wx-config.in,./setup/general/createall)
1767
1768 AC_OVERRIDES_DONE
1769