]> git.saurik.com Git - wxWidgets.git/blob - configure.in
Added dcbase target to various makefiles
[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 dnl ----------------------------------------------------------------
1344 dnl thread support
1345 dnl ----------------------------------------------------------------
1346
1347 dnl defines UNIX_THREAD it contains the source file to use for threads. (GL)
1348 dnl defines THREADS_LINK it contains the thread library to link with. (GL)
1349 dnl defines wxUSE_THREADS if thread support is activated. (GL)
1350
1351 THREADS_LINK=""
1352 UNIX_THREAD=""
1353
1354 if test "$wxUSE_THREADS" = "1"; then
1355 dnl find if POSIX threads are available
1356
1357 dnl standard lib name is pthread
1358 dnl We no longer test for pthread-0.7 as it breaks compilation on some
1359 dnl glibc2 systems, especially for static linkage.
1360 AC_CHECK_LIB(pthread, pthread_create, [
1361 UNIX_THREAD="unix/threadpsx.cpp"
1362 THREADS_LINK="pthread"
1363 ], [
1364 dnl thread functions are in libc_r under FreeBSD
1365 AC_CHECK_LIB(c_r, pthread_create, [
1366 UNIX_THREAD="unix/threadpsx.cpp"
1367 THREADS_LINK="c_r"
1368 ], [
1369 dnl VZ: SGI threads are not supported currently
1370 AC_CHECK_HEADER(sys/prctl.h, [
1371 UNIX_THREAD="gtk/threadsgi.cpp"
1372 ])
1373 ])
1374 ])
1375 if test "$THREADS_LINK" != ""; then
1376 AC_DEFINE(wxUSE_THREADS)
1377 else
1378 AC_MSG_WARN(No thread support on this system)
1379 fi
1380 fi
1381
1382 if test -z "$UNIX_THREAD"; then
1383 wxUSE_THREADS=0
1384 fi
1385
1386 dnl do other tests only if we are using threads
1387 if test "$wxUSE_THREADS" = "1"; then
1388
1389 dnl define autoconf macro to check for given function in both pthread and
1390 dnl posix4 libraries
1391 dnl usage: AC_FUNC_THREAD(FUNCTION_NAME)
1392 dnl VZ: TODO
1393 dnl AC_DEFUN(AC_FUNC_THREAD,
1394 dnl [
1395 dnl AC_CHECK_LIB($THREADS_LINK, $1,
1396 dnl AC_DEFINE(HAVE_`'translit($1, `A-Z', 'a-z'),
1397 dnl [AC_CHECK_LIB("posix4", $1,
1398 dnl [AC_DEFINE(HAVE_`'translit($1, `A-Z', 'a-z'))
1399 dnl POSIX4_LINK="-lposix4"
1400 dnl ])
1401 dnl ])
1402 dnl ])
1403
1404 AC_CHECK_HEADERS(sched.h)
1405
1406 AC_CHECK_LIB($THREADS_LINK, sched_yield,
1407 AC_DEFINE(HAVE_SCHED_YIELD),
1408 [AC_CHECK_LIB("posix4", sched_yield,
1409 [AC_DEFINE(HAVE_SCHED_YIELD) POSIX4_LINK="-lposix4"],
1410 AC_MSG_WARN(wxThread::Yield() will not work properly)
1411 )]
1412 )
1413
1414 dnl VZ: we should be checking for all of the following functions instead:
1415 dnl 1. pthread_attr_getschedpolicy
1416 dnl 2. sched_get_priority_min and sched_get_priority_max
1417 dnl 3. pthread_attr_getschedparam and pthread_attr_setschedparam
1418 dnl but it seems that if the first one is there, the other ones are too (of
1419 dnl course the proper solution would be to implement AC_FUNC_THREAD above
1420 dnl and do test for them all - anyone?)
1421 AC_CHECK_LIB($THREADS_LINK, pthread_attr_getschedpolicy,
1422 AC_DEFINE(HAVE_THREAD_PRIORITY_FUNCTIONS),
1423 [AC_CHECK_LIB("posix4", pthread_attr_getschedpolicy,
1424 [AC_DEFINE(HAVE_THREAD_PRIORITY_FUNCTIONS) POSIX4_LINK="-lposix4"],
1425 AC_MSG_WARN(Setting thread priority will not work)
1426 )]
1427 )
1428
1429 AC_CHECK_LIB($THREADS_LINK, pthread_cancel,
1430 AC_DEFINE(HAVE_PTHREAD_CANCEL),
1431 AC_MSG_WARN(wxThread::Kill() will not work properly))
1432
1433 AC_MSG_CHECKING([for pthread_cleanup_push/pop])
1434 AC_TRY_COMPILE([#include <pthread.h>],
1435 [
1436 pthread_cleanup_push(NULL, NULL);
1437 pthread_cleanup_pop(0);
1438 ],
1439 [AC_MSG_RESULT(yes)
1440 AC_DEFINE(HAVE_THREAD_CLEANUP_FUNCTIONS)
1441 ],
1442 [AC_MSG_RESULT(no)]
1443 )
1444
1445 THREADS_LINK="-l$THREADS_LINK"
1446 fi
1447
1448 AC_SUBST(UNIX_THREAD)
1449 AC_SUBST(THREADS_LINK)
1450 AC_SUBST(POSIX4_LINK)
1451
1452 dnl ----------------------------------------------------------------
1453 dnl Register non-GUI class options for makefiles and setup.h
1454 dnl ----------------------------------------------------------------
1455
1456 if test "$wxUSE_CONFIG" = 1 ; then
1457 AC_DEFINE_UNQUOTED(wxUSE_CONFIG,$wxUSE_CONFIG)
1458 fi
1459
1460 if test "$wxUSE_TIMEDATE" = 1 ; then
1461 AC_DEFINE_UNQUOTED(wxUSE_TIMEDATE,$wxUSE_TIMEDATE)
1462 fi
1463
1464 if test "$wxUSE_INTL" = 1 ; then
1465 AC_DEFINE_UNQUOTED(wxUSE_INTL,$wxUSE_INTL)
1466 fi
1467
1468 if test "$wxUSE_STREAMS" = 1 ; then
1469 AC_DEFINE_UNQUOTED(wxUSE_STREAMS,$wxUSE_STREAMS)
1470 fi
1471
1472 if test "$wxUSE_SOCKETS" = 1 ; then
1473 if test "$wxUSE_THREADS" = 1 ; then
1474 AC_DEFINE_UNQUOTED(wxUSE_SOCKETS,$wxUSE_SOCKETS)
1475 else
1476 AC_MSG_WARN(sockets or only supported with threads)
1477 wxUSE_SOCKETS=0
1478 fi
1479 fi
1480
1481 if test "$wxUSE_SERIAL" = 1 ; then
1482 AC_DEFINE_UNQUOTED(wxUSE_SERIAL,$wxUSE_SERIAL)
1483 fi
1484
1485 dnl ------------------------------------------------------------------------
1486 dnl wxSocket
1487 dnl ------------------------------------------------------------------------
1488
1489 if test "$wxUSE_SOCKETS" = "1"; then
1490 AC_LANG_SAVE
1491 AC_LANG_CPLUSPLUS
1492 dnl determine the type of third argument for getsockname
1493 AC_MSG_CHECKING(the type of the third argument of getsockname)
1494 AC_TRY_COMPILE(
1495 [#include <sys/socket.h>],
1496 [socklen_t len; getsockname(0, NULL, &len);],
1497 AC_DEFINE(SOCKLEN_T, socklen_t) AC_MSG_RESULT(socklen_t),
1498 AC_TRY_COMPILE(
1499 [#include <sys/socket.h>],
1500 [size_t len; getsockname(0, NULL, &len);],
1501 AC_DEFINE(SOCKLEN_T, size_t) AC_MSG_RESULT(size_t),
1502 AC_TRY_COMPILE(
1503 [#include <sys/socket.h>],
1504 [int len; getsockname(0, NULL, &len);],
1505 AC_DEFINE(SOCKLEN_T, int) AC_MSG_RESULT(int),
1506 AC_MSG_RESULT(unknown)
1507 )
1508 )
1509 )
1510 AC_LANG_RESTORE
1511 fi
1512
1513 dnl ------------------------------------------------------------------------
1514 dnl wxLibrary class
1515 dnl ------------------------------------------------------------------------
1516
1517 HAVE_DL_FUNCS=0
1518 HAVE_SHL_FUNCS=0
1519 if test "$wxUSE_DYNLIB_CLASS" = "1"; then
1520 dnl the test is a bit complicated because we check for dlopen() both with
1521 dnl and without -ldl
1522 AC_CHECK_FUNCS(dlopen,
1523 [AC_DEFINE(HAVE_DLOPEN) HAVE_DL_FUNCS=1],
1524 [AC_CHECK_LIB(dl, dlopen,
1525 [AC_DEFINE(HAVE_DLOPEN) HAVE_DL_FUNCS=1])])
1526 AC_CHECK_FUNCS( shl_load,
1527 [AC_DEFINE(HAVE_SHL_LOAD) HAVE_DL_FUNCS=1 HAVE_SHL_FUNCS=1])
1528
1529 if test "$HAVE_DL_FUNCS" = 0; then
1530 AC_MSG_WARN("--with-dynlib and --with-odbc will be disabled due to missing shared library support")
1531 wxUSE_ODBC=0
1532 wxUSE_DYNLIB_CLASS=0
1533 fi
1534 fi
1535
1536 if test "$wxUSE_DYNLIB_CLASS" = 1 ; then
1537 AC_DEFINE_UNQUOTED(wxUSE_DYNLIB_CLASS,$wxUSE_DYNLIB_CLASS)
1538 fi
1539
1540 dnl ----------------------------------------------------------------
1541 dnl iODBC support
1542 dnl ----------------------------------------------------------------
1543
1544 IODBC_C_SRC=""
1545 if test "$wxUSE_ODBC" = 1 ; then
1546 AC_DEFINE_UNQUOTED(wxUSE_ODBC,$wxUSE_ODBC)
1547 IODBC_C_SRC="\$(IODBC_C_SRC)"
1548 fi
1549 AC_SUBST(IODBC_C_SRC)
1550
1551 dnl ----------------------------------------------------------------
1552 dnl Register Prolog and Resources options for makefiles and setup.h
1553 dnl ----------------------------------------------------------------
1554
1555 if test "$wxUSE_RPC" = 1 ; then
1556 AC_DEFINE_UNQUOTED(wxUSE_RPC,$wxUSE_RPC)
1557 fi
1558
1559 if test "$wxUSE_WX_RESOURCES" = 1 ; then
1560 AC_DEFINE_UNQUOTED(wxUSE_WX_RESOURCES,$wxUSE_WX_RESOURCES)
1561 fi
1562
1563 if test "$wxUSE_PROLOGIO" = 1 ; then
1564 AC_DEFINE_UNQUOTED(wxUSE_PROLOGIO)
1565 fi
1566
1567 dnl ----------------------------------------------------------------
1568 dnl Register PostScript options for makefiles and setup.h
1569 dnl ----------------------------------------------------------------
1570
1571 if test "$wxUSE_POSTSCRIPT" = 1 ; then
1572 AC_DEFINE_UNQUOTED(wxUSE_POSTSCRIPT)
1573 fi
1574
1575 AC_DEFINE_UNQUOTED(wxUSE_AFM_FOR_POSTSCRIPT,$wxUSE_AFM_FOR_POSTSCRIPT)
1576
1577 AC_DEFINE_UNQUOTED(WX_NORMALIZED_PS_FONTS,$WX_NORMALIZED_PS_FONTS)
1578
1579 dnl ----------------------------------------------------------------
1580 dnl Register architecture options for makefiles and setup.h
1581 dnl ----------------------------------------------------------------
1582
1583 if test "$wxUSE_MDI_ARCHITECTURE" = 1 ; then
1584 AC_DEFINE_UNQUOTED(wxUSE_MDI_ARCHITECTURE,$wxUSE_MDI_ARCHITECTURE)
1585 fi
1586
1587 if test "$wxUSE_DOC_VIEW_ARCHITECTURE" = 1 ; then
1588 AC_DEFINE_UNQUOTED(wxUSE_DOC_VIEW_ARCHITECTURE,$wxUSE_DOC_VIEW_ARCHITECTURE)
1589 fi
1590
1591 if test "$wxUSE_PRINTING_ARCHITECTURE" = 1 ; then
1592 AC_DEFINE_UNQUOTED(wxUSE_PRINTING_ARCHITECTURE,$wxUSE_PRINTING_ARCHITECTURE)
1593 fi
1594
1595 dnl ----------------------------------------------------------------
1596 dnl Register wxString options for makefiles and setup.h
1597 dnl ----------------------------------------------------------------
1598
1599 if test "$wxUSE_UNICODE" = 1 ; then
1600 AC_DEFINE_UNQUOTED(wxUSE_UNICODE)
1601 fi
1602
1603 if test "$wxUSE_WCSRTOMBS" = 1 ; then
1604 AC_DEFINE_UNQUOTED(wxUSE_WCSRTOMBS)
1605 fi
1606
1607 dnl ----------------------------------------------------------------
1608 dnl Register misc options for makefiles and setup.h
1609 dnl ----------------------------------------------------------------
1610
1611 if test "$wxUSE_IPC" = 1 ; then
1612 AC_DEFINE_UNQUOTED(wxUSE_IPC)
1613 fi
1614
1615 if test "$wxUSE_RESOURCES" = 1 ; then
1616 AC_DEFINE_UNQUOTED(wxUSE_RESOURCES,$wxUSE_RESOURCES)
1617 fi
1618
1619 if test "$wxUSE_CLIPBOARD" = 1 ; then
1620 AC_DEFINE_UNQUOTED(wxUSE_CLIPBOARD,$wxUSE_CLIPBOARD)
1621 fi
1622
1623 if test "$wxUSE_TOOLTIPS" = 1 ; then
1624 if test "$wxUSE_MOTIF" = 1; then
1625 AC_MSG_WARN(tooltips are not supported yet under Motif)
1626 wxUSE_TOOLTIPS=0
1627 fi
1628 AC_DEFINE_UNQUOTED(wxUSE_TOOLTIPS,$wxUSE_TOOLTIPS)
1629 fi
1630
1631 if test "$wxUSE_DRAG_AND_DROP" = 1 ; then
1632 if test "$WXGTK12" = 1 ; then
1633 AC_DEFINE_UNQUOTED(wxUSE_DRAG_AND_DROP,$wxUSE_DRAG_AND_DROP)
1634 else
1635 AC_MSG_WARN(drag and drop is only supported under GTK 1.2)
1636 wxUSE_DRAG_AND_DROP=0
1637 fi
1638 fi
1639
1640 if test "$wxUSE_SPLINE" = 1 ; then
1641 AC_DEFINE_UNQUOTED(wxUSE_SPLINE,$wxUSE_SPLINE)
1642 fi
1643
1644 dnl ----------------------------------------------------------------
1645 dnl No effect yet
1646 dnl ----------------------------------------------------------------
1647
1648 HELP=NONE
1649 if test "$wxUSE_HELP" = 1 ; then
1650 HELP="HELP"
1651 AC_DEFINE_UNQUOTED(wxUSE_HELP,$wxUSE_HELP)
1652 fi
1653 AC_SUBST(HELP)
1654
1655 dnl ------------------------------------------------------------------------
1656 dnl compiler options for shared libs
1657 dnl ------------------------------------------------------------------------
1658
1659 PICFLAGS=
1660 CREATE_SHARED=
1661 case "${canonical}" in
1662 *-hp-hpux* )
1663 if test "$GCC" != "yes" ; then
1664 CXXFLAGS="${CXXFLAGS} +a1 -z -Aa -D_HPUX_SOURCE"
1665 CFLAGS="${CFLAGS} -z -D_HPUX_SOURCE"
1666 PICFLAGS="+z"
1667 else
1668 PICFLAGS="-fPIC"
1669 fi
1670 LDFLAGS="-Wl,+s"
1671 CREATE_SHARED=sharedHpux
1672 ;;
1673
1674 *-*-linux* )
1675 PICFLAGS=-fPIC
1676 CREATE_SHARED=sharedLinux
1677 ;;
1678
1679 *-*-irix5* | *-*-irix6* )
1680 # PICFLAGS can remain empty, as pic is the default
1681 LDFLAGS="-Wl,+s"
1682 CREATE_SHARED=sharedIrix
1683 AC_DEFINE(SVR4)
1684 ;;
1685
1686 *-*-solaris2* )
1687 if test "$GCC" != "yes" ; then
1688 PICFLAGS="-KPIC"
1689 else
1690 PICFLAGS="-fPIC"
1691 fi
1692 CREATE_SHARED=sharedSolaris2
1693 AC_DEFINE(SVR4)
1694 ;;
1695
1696 *-*-sunos4* )
1697 if test "$GCC" != "yes" ; then
1698 PICFLAGS="-PIC"
1699 else
1700 PICFLAGS="-fPIC"
1701 fi
1702 LDFLAGS="-Wl,+s"
1703 CREATE_SHARED=sharedSunos4
1704 AC_DEFINE(BSD)
1705 ;;
1706
1707 *-*-freebsd* | *-*-netbsd*)
1708 PICFLAGS=-fPIC
1709 CREATE_SHARED=sharedBsd
1710 AC_DEFINE(BSD)
1711 ;;
1712
1713 *-*-osf* )
1714 PICFLAGS="-fPIC"
1715 CREATE_SHARED=sharedOSF
1716 ;;
1717
1718 *-*-dgux5* )
1719 if test "$GCC" != "yes" ; then
1720 PICFLAGS="-K PIC"
1721 else
1722 PICFLAGS="-fPIC"
1723 fi
1724 CREATE_SHARED=sharedDgux
1725 AC_DEFINE(SVR4)
1726 ;;
1727
1728 *-*-sysv5* )
1729 if test "$GCC" != "yes" ; then
1730 PICFLAGS="-K PIC"
1731 else
1732 PICFLAGS="-fPIC"
1733 fi
1734 CREATE_SHARED=sharedSysV
1735 AC_DEFINE(SVR4)
1736 ;;
1737
1738 *-*-aix* )
1739 if test "$GCC" != "yes" ; then
1740 PICFLAGS="-bM\:SRE"
1741 else
1742 PICFLAGS="-fPIC -D__SYSV__"
1743 fi
1744 CREATE_SHARED=sharedAIX
1745 AC_DEFINE(SYSV)
1746 ;;
1747
1748 *)
1749 CREATE_SHARED=
1750 PICFLAGS=
1751 esac
1752
1753 dnl ------------------------------------------------------------------------
1754 dnl compiler flags for C++ and C
1755 dnl ------------------------------------------------------------------------
1756
1757 dnl if test "x$GCC" = xyes; then
1758 dnl CFLAGS="${CFLAGS} -Wall -Wno-unused -Wno-uninitialized -D_REENTRANT -DLEX_SCANNER -DHAVE_LIBDL"
1759 dnl fi
1760 dnl
1761 dnl if test "x$GXX" = xyes; then
1762 dnl if test "$wxUSE_MOTIF" = 1; then
1763 dnl CXXFLAGS="${CXXFLAGS} -Wall -Wno-unused -D_REENTRANT"
1764 dnl else
1765 dnl CXXFLAGS="${CXXFLAGS} -Wall -D_REENTRANT"
1766 dnl fi
1767 dnl fi
1768
1769 if test "$HAVE_SHL_FUNCS" = 1; then
1770 CFLAGS="${CFLAGS} -Wall -Wno-unused -Wno-uninitialized -D_REENTRANT -DLEX_SCANNER -DHAVE_SHL_LOAD"
1771 else
1772 CFLAGS="${CFLAGS} -Wall -Wno-unused -Wno-uninitialized -D_REENTRANT -DLEX_SCANNER -DHAVE_LIBDL"
1773 fi
1774
1775 if test "$wxUSE_MOTIF" = 1; then
1776 CXXFLAGS="${CXXFLAGS} -Wall -Wno-unused -D_REENTRANT"
1777 else
1778 CXXFLAGS="${CXXFLAGS} -Wall -D_REENTRANT"
1779 fi
1780
1781 dnl ------------------------------------------------------------------------
1782 dnl maybe comeone can enlighten me what this does..
1783 dnl ------------------------------------------------------------------------
1784
1785 if test "$wxUSE_SHARED" != 1; then
1786 CREATE_SHARED=
1787 PICFLAGS=
1788 fi
1789
1790 AC_SUBST(OS)
1791 AC_SUBST(PICFLAGS)
1792 AC_SUBST(CREATE_SHARED)
1793
1794 dnl ------------------------------------------------------------------------
1795 dnl finish and clean-up
1796 dnl ------------------------------------------------------------------------
1797
1798 dnl add OS to list of configured
1799 echo $OS >> system.list
1800
1801 TOOLKIT_DIR=`echo ${TOOLKIT} | tr "A-Z" "a-z"`
1802 AC_CONFIG_HEADER(./include/wx/${TOOLKIT_DIR}/setup.h:./setup/setup.hin)
1803
1804 AC_OUTPUT(./setup/substit ./wx-config:./wx-config.in,./setup/general/createall)
1805
1806 AC_OVERRIDES_DONE
1807