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