]> git.saurik.com Git - wxWidgets.git/blob - configure.in
wxUsleep() introduced (and documented) to try to work around usleep() bug in
[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 ###############
373 dnl # make checks #
374 dnl ###############
375 dnl check if VPATH works
376 AC_MSG_CHECKING("make for VPATH support")
377 dnl create Makefile
378 cat - << EOF > confMake
379 check : file
380 cp \$? \$@
381 cp \$? final_file
382 EOF
383
384 if test ! -d sub ; then
385 mkdir sub
386 fi
387 echo dummy > sub/file
388 ${MAKE-make} -f confMake VPATH=sub 2> config.log > /dev/null
389 RESULT=$?
390 rm -f sub/file check final_file confMake
391 rmdir sub
392 if test "$RESULT" = 0; then
393 AC_MSG_RESULT(yes)
394 else
395 AC_MSG_RESULT(no)
396 AC_MSG_ERROR(
397 You need a make-utility that is able to use the variable
398 VPATH correctly.
399 If your version of make does not support VPATH correctly,
400 please install GNU-make (possibly as gmake), and start
401 configure with the following command:
402 export MAKE=gmake; ./configure for sh-type shells
403 setenv MAKE gmake; ./configure for csh-type shells
404 Also please do remember to use gmake in this case every time
405 you are trying to compile.
406 )
407 fi
408
409 dnl ####################
410 dnl # checks libraries #
411 dnl ####################
412
413 dnl find the X11 include and library files
414 AC_PATH_XTRA
415 dnl defines x_includes and x_libraries
416
417 dnl #######################
418 dnl # checks header files #
419 dnl #######################
420 AC_HEADER_DIRENT
421 dnl defines DIR
422 dnl defines MACRO HAVE_DIRENT_H if dirent.h exists
423 dnl defines MACRO HAVE_SYS_NDIR_H if sys/ndir.h exists
424 dnl defines MACRO HAVE_SYS_DIR_H if sys/dir.h exists
425 dnl defines MACRO HAVE_NDIR_H if ndir.h exists
426 AC_HEADER_STDC
427 dnl defines STDC_HEADERS if ANSI-C header
428 AC_HEADER_SYS_WAIT
429 dnl defines HAVE_SYS_WAIT_H if sys/wait.h exist and is POSIX.1
430 AC_CHECK_HEADERS(fcntl.h)
431 dnl defines HAVE_FCNTL_H
432 AC_CHECK_HEADERS(limits.h)
433 dnl defines HAVE_LIMITS_h
434 AC_CHECK_HEADERS(sys/file.h)
435 dnl defines HAVE_SYS_FILE_H
436 AC_CHECK_HEADERS(sys/time.h)
437 dnl defines HAVE_SYS_TIME_H
438 AC_CHECK_HEADERS(unistd.h)
439 dnl defines HAVE_UNISTD_H
440 AC_CHECK_HEADERS(fnmatch.h)
441 dnl defines HAVE_FNMATCH_H
442 dnl As it needs Linux 2.1.x for the moment: check whether the file exists (GL).
443 AC_CHECK_HEADERS(linux/joystick.h)
444 GTK_JOYSTICK=""
445 if test "$ac_cv_header_linux_joystick_h" = "yes"; then
446 GTK_JOYSTICK="gtk/joystick.cpp"
447 fi
448 AC_SUBST(GTK_JOYSTICK)
449
450 dnl check for vprintf/vsprintf() which are GNU extensions
451 AC_FUNC_VPRINTF
452 dnl check for vsnprintf() which is another GNU extension
453 AC_CHECK_FUNCS(vsnprintf)
454
455 dnl check for usleep() and nanosleep() which is better in MT programs
456 AC_CHECK_FUNCS(nanosleep usleep)
457
458 AC_LANG_SAVE
459 AC_LANG_CPLUSPLUS
460 AC_CHECK_HEADERS(iostream)
461 if test "x$HAVE_IOSTREAM" = "x" ; then
462 AC_DEFINE(wxUSE_IOSTREAMH)
463 fi
464 AC_LANG_RESTORE
465
466 dnl defines HAVE_IOSTREAM
467 dnl ###################
468 dnl # checks typedefs #
469 dnl ###################
470 AC_TYPE_GETGROUPS
471 dnl defines GETGROUPS_T
472 AC_TYPE_MODE_T
473 dnl defines mode_t if not already defined
474 AC_TYPE_OFF_T
475 dnl defines off_t if not already defined
476 AC_TYPE_PID_T
477 dnl defines pid_t if not already defined
478 AC_TYPE_SIGNAL
479 dnl defines RETSIGTYPE for the correct return type of signal
480 AC_TYPE_SIZE_T
481 dnl defines size_t if not already defined
482 AC_TYPE_UID_T
483 dnl defines uid_t and gid_t if not already defined
484
485 dnl #####################
486 dnl # checks structures #
487 dnl #####################
488
489 AC_HEADER_STAT
490 dnl defines STAT_MACROS_BROKEN if S_ISDIR and S_ISREG
491 dnl do not work properly
492 AC_HEADER_TIME
493 dnl defines TIME_WITH_SYS_TIME if time.h and sys/time.h can
494 dnl both be included
495 AC_STRUCT_ST_BLKSIZE
496 dnl defines HAVE_ST_BLKSIZE if struct stat contains st_blksize
497 AC_STRUCT_ST_BLOCKS
498 dnl defines HAVE_ST_BLOCKS if struct stat contains st_blocks
499 AC_STRUCT_ST_RDEV
500 dnl defines HAVE_ST_RDEV if struct stat contains st_rdev
501 AC_STRUCT_TM
502 dnl defines TM_IN_SYS_TIME if struct tm is not in time.h
503 AC_STRUCT_TIMEZONE
504 dnl defines HAVE_ST_BLKSIZE if struct tm contains tm_zone
505 dnl otherwise
506 dnl defines HAVE_TZNAME if external array tzname is found
507
508 dnl ###################################
509 dnl # checks compiler characteristics #
510 dnl ###################################
511 dnl AC_C_CROSS
512
513 AC_C_CONST
514 dnl defines const to be empty if c-compiler does not support const fully
515 AC_C_INLINE
516 dnl defines inline to a sensible value for the c-compiler
517 AC_C_CHAR_UNSIGNED
518 dnl defines __CHAR_UNSIGNED__ if char is unsigned
519 AC_C_LONG_DOUBLE
520 dnl defines HAVE_LONGDOUBLE if compiler supports long double
521
522 AC_C_BIGENDIAN
523 dnl defines WORDS_BIGENDIAN if system is big endian
524
525 AC_CHECK_SIZEOF(int *)
526 AC_CHECK_SIZEOF(int)
527 AC_CHECK_SIZEOF(long)
528 AC_CHECK_SIZEOF(long long)
529 dnl defines the size of certain types of variables in SIZEOF_???
530
531 dnl ############################
532 dnl # checks library functions #
533 dnl ############################
534
535 dnl ##########################
536 dnl # checks system services #
537 dnl ##########################
538
539
540 AC_SYS_LONG_FILE_NAMES
541 dnl defines HAVE_LONG_FILENAMES if filenames longer then
542 dnl 14 chars are supported
543
544 dnl AC_SYS_RESTARTABLE_SYSCALLS
545 dnl defines HAVE_RESTARTABLE_SYSCALLS if the system restarts a
546 dnl system call that is interrupted
547 dnl by a signal
548
549 dnl #################
550 dnl # checks PARSER #
551 dnl #################
552
553 dnl YACC checks
554 dnl ===========
555 AC_PROG_YACC
556 dnl defines YACC with the appropriate command
557
558 dnl LEX checks
559 dnl ==========
560 AC_PROG_LEX
561 dnl defines LEX with the appropriate command
562 dnl defines LEXLIB with the appropriate library
563 dnl what type is yytext
564 AC_DECL_YYTEXT
565 dnl defines YYTEXT_POINTER if yytext is char*
566 dnl defines LEX_OUTPUT_ROOT as to the base of the
567 dnl filename output by the lexer
568
569 dnl ###################################
570 dnl ## Check for dynamic load module #
571 dnl ###################################
572
573 DL_LIBRARY=
574 AC_CHECK_FUNCS(dlopen, AC_DEFINE(HAVE_LIBDL),
575 [AC_CHECK_LIB(dl, dlopen, [AC_DEFINE(HAVE_LIBDL) DL_LIBRARY="-ldl"],
576 [AC_CHECK_LIB(dld, dld_link, [AC_DEFINE(HAVE_DLD) DL_LIBRARY="-ldld"],
577 [AC_CHECK_FUNCS(shl_load, AC_DEFINE(HAVE_SHL_LOAD) )]
578 )]
579 )]
580 )
581 AC_SUBST(DL_LIBRARY)
582
583 AC_CACHE_CHECK([for underscore before symbols], libltdl_cv_uscore, [
584 echo "main(){int i=1;} fnord(){int i=23; int ltuae=42;}" > conftest.c
585 ${CC} -c conftest.c > /dev/null
586 if (nm conftest.o | grep _fnord) > /dev/null; then
587 libltdl_cv_uscore=yes
588 else
589 libltdl_cv_uscore=no
590 fi
591 rm -f conftest*
592 ])
593
594 if test x"$libltdl_cv_uscore" = xyes; then
595 if test x"$ac_cv_func_dlopen" = xyes ||
596 test x"$ac_cv_lib_dl_dlopen" = xyes ; then
597 AC_CACHE_CHECK([whether we have to add an underscore for dlsym],
598 libltdl_cv_need_uscore, [dnl
599 AC_TRY_RUN([
600 #include <dlfcn.h>
601 #include <stdio.h>
602 fnord() { int i=42;}
603 main() { void *self, *ptr1, *ptr2; self=dlopen(NULL,RTLD_LAZY);
604 if(self) { ptr1=dlsym(self,"fnord"); ptr2=dlsym(self,"_fnord");
605 if(ptr1 && !ptr2) exit(0); } exit(1); }
606 ], libltdl_cv_need_uscore=no, libltdl_cv_need_uscore=yes,
607 libltdl_cv_need_uscore=no
608 )])
609 fi
610 fi
611
612 if test x"$libltdl_cv_need_uscore" = xyes; then
613 AC_DEFINE(NEED_USCORE)
614 fi
615
616 dnl ##########################################
617 dnl ## Check for specific library functions #
618 dnl ##########################################
619
620 dnl Checks for library functions.
621 AC_CHECK_FUNCS(strerror)
622
623 dnl ------------------------------------------------------------------------
624 dnl main includes
625 dnl ------------------------------------------------------------------------
626
627 CHECK_INCLUDE="-I/usr/include $X_CFLAGS"
628 CHECK_LIB="-L/lib -L/usr/lib $X_LIBS"
629
630 dnl ------------------------------------------------------------------------
631 dnl host system
632 dnl ------------------------------------------------------------------------
633
634 AC_CANONICAL_HOST
635 canonical=$host
636 configuration=$host_alias
637
638 dnl ------------------------------------------------------------------------
639 dnl system settings
640 dnl ------------------------------------------------------------------------
641
642 USE_UNIX=1
643
644 USE_LINUX=
645 USE_SGI=
646 USE_HPUX=
647 USE_SYSV=
648 USE_SVR4=
649 USE_AIX=
650 USE_SUN=
651 USE_SOLARIS=
652 USE_SUNOS=
653 USE_ALPHA=
654 USE_OSF=
655 USE_BSD=
656 USE_FREEBSD=
657 USE_VMS=
658 USE_ULTRIX=
659 USE_DATA_GENERAL=
660
661 AC_DEFINE(__UNIX__)
662 case "${canonical}" in
663 *-hp-hpux* )
664 USE_HPUX=1
665 AC_DEFINE(__HPUX__)
666 ;;
667 *-*-linux* )
668 USE_LINUX=1
669 AC_DEFINE(__LINUX__)
670 TMP=`uname -m`
671 if test "x$TMP" = "xalpha"
672 then
673 USE_ALPHA=1
674 AC_DEFINE(__ALPHA__)
675 fi
676 ;;
677 *-*-irix5* | *-*-irix6* )
678 USE_SGI=1
679 USE_SVR4=1
680 AC_DEFINE(__SGI__)
681 AC_DEFINE(__SVR4__)
682 ;;
683 *-*-solaris2* )
684 USE_SUN=1
685 USE_SOLARIS=1
686 USE_SVR4=1
687 AC_DEFINE(__SUN__)
688 AC_DEFINE(__SOLARIS__)
689 AC_DEFINE(__SVR4__)
690 ;;
691 *-*-sunos4* )
692 USE_SUN=1
693 USE_SUNOS=1
694 USE_BSD=1
695 AC_DEFINE(__SUN__)
696 AC_DEFINE(__SUNOS__)
697 AC_DEFINE(__BSD__)
698 ;;
699 *-*-freebsd* | *-*-netbsd*)
700 USE_BSD=1
701 USE_FREEBSD=1
702 AC_DEFINE(__FREEBSD__)
703 AC_DEFINE(__BSD__)
704 ;;
705 *-*-osf* )
706 USE_ALPHA=1
707 USE_OSF=1
708 AC_DEFINE(__ALPHA__)
709 AC_DEFINE(__OSF__)
710 ;;
711 *-*-dgux5* )
712 USE_ALPHA=1
713 USE_SVR4=1
714 AC_DEFINE(__ALPHA__)
715 AC_DEFINE(__SVR4__)
716 ;;
717 *-*-sysv5* )
718 USE_SYSV=1
719 USE_SVR4=1
720 AC_DEFINE(__SYSV__)
721 AC_DEFINE(__SVR4__)
722 ;;
723 *-*-aix* )
724 USE_AIX=1
725 USE_SYSV=1
726 USE_SVR4=1
727 AC_DEFINE(__AIX__)
728 AC_DEFINE(__SYSV__)
729 AC_DEFINE(__SVR4__)
730 ;;
731 *)
732 AC_MSG_ERROR(I don't know your system type.)
733 esac
734
735 dnl ------------------------------------------------------------------------
736 dnl defaults for command options
737 dnl ------------------------------------------------------------------------
738
739 AC_OVERRIDES_PREPARE
740
741 DEFAULT_wxUSE_GTK=1
742 DEFAULT_wxUSE_QT=0
743 DEFAULT_wxUSE_MOTIF=0
744
745 DEFAULT_wxUSE_THREADS=0
746
747 DEFAULT_wxUSE_SHARED=1
748 DEFAULT_wxUSE_OPTIMISE=1
749 DEFAULT_wxUSE_PROFILE=0
750 DEFAULT_wxUSE_DEBUG_FLAG=0
751 DEFAULT_wxUSE_DEBUG_INFO=0
752 DEFAULT_wxUSE_MEM_TRACING=0
753 DEFAULT_wxUSE_DMALLOC=0
754 DEFAULT_wxUSE_APPLE_IEEE=1
755 DEFAULT_wxUSE_IOSTREAMH=1
756
757 DEFAULT_wxUSE_ZLIB=1
758 DEFAULT_wxUSE_LIBPNG=1
759 DEFAULT_wxUSE_LIBJPEG=0
760 DEFAULT_wxUSE_ODBC=1
761
762 DEFAULT_wxUSE_TIMEDATE=1
763 DEFAULT_wxUSE_INTL=1
764 DEFAULT_wxUSE_CONFIG=1
765 DEFAULT_wxUSE_STREAMS=1
766 DEFAULT_wxUSE_SOCKETS=1
767 DEFAULT_wxUSE_SERIAL=1
768 DEFAULT_wxUSE_DYNLIB_CLASS=1
769
770 DEFAULT_wxUSE_AFM_FOR_POSTSCRIPT=1
771 DEFAULT_WX_NORMALIZED_PS_FONTS=1
772 DEFAULT_wxUSE_POSTSCRIPT=1
773
774 DEFAULT_wxUSE_IPC=1
775 DEFAULT_wxUSE_RESOURCES=1
776 DEFAULT_wxUSE_CLIPBOARD=1
777 DEFAULT_wxUSE_TOOLTIPS=1
778 DEFAULT_wxUSE_DRAG_AND_DROP=1
779
780 DEFAULT_wxUSE_MDI_ARCHITECTURE=1
781 DEFAULT_wxUSE_DOC_VIEW_ARCHITECTURE=1
782 DEFAULT_wxUSE_PRINTING_ARCHITECTURE=1
783
784 DEFAULT_wxUSE_PROLOGIO=1
785 DEFAULT_wxUSE_WX_RESOURCES=1
786 DEFAULT_wxUSE_RPC=0
787 DEFAULT_wxUSE_HELP=1
788
789 DEFAULT_wxUSE_UNICODE=1
790 DEFAULT_wxUSE_WCSRTOMBS=0
791
792 dnl ----------------------------------------------------------------
793 dnl toolkit options
794 dnl ----------------------------------------------------------------
795
796 AC_OVERRIDES(gtk,gtk,
797 **--with-gtk use GTK,
798 wxUSE_GTK)
799
800 AC_OVERRIDES(qt,qt,
801 **--with-qt use Qt,
802 wxUSE_QT)
803
804 AC_OVERRIDES(motif,motif,
805 **--with-motif use Motif/Lesstif,
806 wxUSE_MOTIF)
807
808 dnl ----------------------------------------------------------------
809 dnl compile options
810 dnl ----------------------------------------------------------------
811
812 AC_OVERRIDES(shared,shared,
813 **--with-shared create shared libraries,
814 wxUSE_SHARED)
815
816 AC_OVERRIDES(optimise,optimise,
817 **--with-optimise create optimised code,
818 wxUSE_OPTIMISE)
819
820 AC_OVERRIDES(debug_flag,debug_flag,
821 **--with-debug_flag create code with WXDEBUG define set to 1,
822 wxUSE_DEBUG_FLAG)
823
824 AC_OVERRIDES(debug_info,debug_info,
825 **--with-debug_info create code with debuging information,
826 wxUSE_DEBUG_INFO)
827
828 AC_OVERRIDES(debug_gdb,debug_gdb,
829 **--with-debug_gdb create code with extra GDB debuging information,
830 wxUSE_DEBUG_GDB)
831
832 AC_OVERRIDES(mem_tracing,mem_tracing,
833 **--with-mem_traing create code with memory tracing,
834 wxUSE_MEM_TRACING)
835
836 AC_OVERRIDES(dmalloc,dmalloc,
837 **--with-dmalloc use dmalloc memory debug library (www.letters.com/dmalloc/),
838 wxUSE_DMALLOC)
839
840 AC_OVERRIDES(profile,profile,
841 **--with-profile create code with profiling information,
842 wxUSE_PROFILE)
843
844 AC_OVERRIDES(apple_ieee, apple_ieee,
845 **--with_apple_ieee use the Apple IEEE codec,
846 wxUSE_APPLE_IEEE)
847
848 AC_OVERRIDES(threads,threads,
849 **--with-threads for enabling threads,
850 wxUSE_THREADS)
851
852 AC_OVERRIDES(dynlib,dynlib,
853 **--with-dynlib to compile wxLibrary class,
854 wxUSE_DYNLIB_CLASS)
855
856 dnl ----------------------------------------------------------------
857 dnl user options for libraries
858 dnl ----------------------------------------------------------------
859
860 AC_OVERRIDES(zlib,zlib,
861 **--with-zlib use zlib for LZW comression,
862 wxUSE_ZLIB)
863
864 AC_OVERRIDES(libpng,libpng,
865 **--with-libpng use libpng (PNG image format),
866 wxUSE_LIBPNG)
867
868 AC_OVERRIDES(libjpeg,libjpeg,
869 **--with-libjpeg use libjpeg (JPEG image format),
870 wxUSE_LIBJPEG)
871
872 AC_OVERRIDES(odbc,odbc,
873 **--with-odbc use iODBC and wxODBC classes,
874 wxUSE_ODBC)
875
876 dnl ----------------------------------------------------------------
877 dnl user options for non-GUI classes
878 dnl ----------------------------------------------------------------
879
880 AC_OVERRIDES(timedate, timedate,
881 **--with-timedate use wxTime and wxDate classes,
882 wxUSE_TIMEDATE)
883
884 AC_OVERRIDES(intl,intl,
885 **--with-intl use internationalization system,
886 wxUSE_INTL)
887
888 AC_OVERRIDES(config,config,
889 **--with-config use wxConfig class,
890 wxUSE_CONFIG)
891
892 AC_OVERRIDES(streams,streams,
893 **--with-streams use wxStream etc classes,
894 wxUSE_STREAMS)
895
896 AC_OVERRIDES(serial,serial,
897 **--with-serial use class serialization,
898 wxUSE_SERIAL)
899
900 AC_OVERRIDES(sockets,sockets,
901 **--with-sockets use wxSocket etc classes,
902 wxUSE_SOCKETS)
903
904 dnl ----------------------------------------------------------------
905 dnl user options for PostScript
906 dnl ----------------------------------------------------------------
907
908 AC_OVERRIDES(afmfonts,afmfonts,
909 **--with-afmfonts use Adobe Font Metric Font table,
910 wxUSE_AFM_FOR_POSTSCRIPT)
911
912 AC_OVERRIDES(normalized, normalized,
913 **--with-PS-normalized use normalized PS fonts,
914 WX_NORMALIZED_PS_FONTS)
915
916 AC_OVERRIDES(postscript, postscript,
917 **--with-postscript use wxPostscriptDC device context,
918 wxUSE_POSTSCRIPT)
919
920 dnl ----------------------------------------------------------------
921 dnl user options for wxString and Unicode
922 dnl ----------------------------------------------------------------
923
924 AC_OVERRIDES(unicode,unicode,
925 **--with-unicode compile wxString with Unicode support,
926 wxUSE_UNICODE)
927
928 AC_OVERRIDES(wcsrtombs,wcsrtombs,
929 **--with-wcsrtombs use wcsrtombs instead of (buggy in GNU libc5) wcstombs,
930 wxUSE_WCSRTOMBS)
931
932 dnl ----------------------------------------------------------------
933 dnl user options for Prolog and Resources
934 dnl ----------------------------------------------------------------
935
936 AC_OVERRIDES(wxresources,wxresources,
937 **--with-wxresources use wxWindows's resources,
938 wxUSE_WX_RESOURCES)
939
940 AC_OVERRIDES(prologio,prologio,
941 **--with-prologio use Prolog IO library,
942 wxUSE_PROLOGIO)
943
944 AC_OVERRIDES(rpc,RPC,
945 **--with-rpc use Prolog's remote procedure calls,
946 wxUSE_RPC)
947
948 dnl ----------------------------------------------------------------
949 dnl user options for misc stuff
950 dnl ----------------------------------------------------------------
951
952 AC_OVERRIDES(ipc,IPC,
953 **--with-ipc use interprocess communication (wxSocket etc.),
954 wxUSE_IPC)
955
956 AC_OVERRIDES(resources,resources,
957 **--with-resources use X resources for saving information,
958 wxUSE_RESOURCES)
959
960 AC_OVERRIDES(clipboard,clipboard,
961 **--with-clipboard use wxClipboard classes,
962 wxUSE_CLIPBOARD)
963
964 AC_OVERRIDES(tooltips,tooltips,
965 **--with-tooltips use tooltips,
966 wxUSE_TOOLTIPS)
967
968 AC_OVERRIDES(dnd,dnd,
969 **--with-dnd use Drag'n'Drop classes,
970 wxUSE_DRAG_AND_DROP)
971
972 dnl ----------------------------------------------------------------
973 dnl user options for architectures
974 dnl ----------------------------------------------------------------
975
976 AC_OVERRIDES(mdi,mdi,
977 **--with-mdi use multiple document interface architecture,
978 wxUSE_MDI_ARCHITECTURE)
979
980 AC_OVERRIDES(docview,docview,
981 **--with-docview use document view architecture,
982 wxUSE_DOC_VIEW_ARCHITECTURE)
983
984 AC_OVERRIDES(printarch,printarch,
985 **--with-printarch use printing architecture,
986 wxUSE_PRINTING_ARCHITECTURE)
987
988 AC_OVERRIDES(help,help,
989 **--with-help use help (using external browser at present),
990 wxUSE_HELP)
991
992 dnl ----------------------------------------------------------------
993 dnl Unix, obviously
994 dnl ----------------------------------------------------------------
995
996 if test "$wxUSE_UNIX" = 1 ; then
997 AC_DEFINE(__UNIX__)
998 fi
999
1000 dnl ----------------------------------------------------------------
1001 dnl Linux: test for libc5/glibc2: glibc2 has gettext() included
1002 dnl ----------------------------------------------------------------
1003 if test "$USE_LINUX" = 1; then
1004 AC_CHECK_LIB(c,gettext,AC_DEFINE(wxHAVE_GLIBC2))
1005 fi
1006
1007 dnl ----------------------------------------------------------------
1008 dnl search for toolkit (widget sets)
1009 dnl ----------------------------------------------------------------
1010
1011 TOOLKIT=
1012 TOOLKIT_DEF=
1013
1014 GUI_TK_INCLUDE=
1015 GUI_TK_LIBRARY=
1016 GUI_TK_LINK=
1017
1018 WX_LINK=
1019
1020 MAKEINCLUDE=
1021
1022 if test "$wxUSE_GTK" = 1; then
1023 AM_PATH_GTK(1.0.4, [
1024 GUI_TK_INCLUDE="$GTK_CFLAGS"
1025 GUI_TK_LIBRARY="$GTK_LIBS"
1026 ], AC_MSG_ERROR(Is gtk-config in path and GTK+ is version 1.0.4 up-to 1.0.6?))
1027 TOOLKIT=GTK
1028 TOOLKIT_DEF=__WXGTK__
1029 WX_LINK=-lwx_gtk2
1030 MAKEINCLUDE=../gtk.inc
1031 fi
1032
1033 if test "$wxUSE_QT" = 1; then
1034 AC_MSG_CHECKING(for Qt includes)
1035 AC_PATH_FIND_INCLUDES($SEARCH_INCLUDE,qapp.h)
1036 if test "$ac_find_includes" != "" ; then
1037 AC_MSG_RESULT(found $ac_find_includes)
1038 AC_MSG_CHECKING(for Qt library)
1039 AC_PATH_FIND_LIBRARIES($SEARCH_LIB,qt)
1040 if test "$ac_find_libraries" != "" ; then
1041 AC_INCLUDE_PATH_EXIST($ac_find_includes,$CHECK_INCLUDE)
1042 AC_LINK_PATH_EXIST($ac_find_libraries,$CHECK_LIB)
1043 CHECK_LINK="$CHECK_INCLUDE $ac_path_to_link"
1044 CHECK_INCLUDE="$CHECK_INCLUDE $ac_path_to_include"
1045 AC_MSG_RESULT(found Qt at $ac_find_libraries)
1046 else
1047 AC_MSG_ERROR(no)
1048 fi
1049 else
1050 AC_MSG_ERROR(no)
1051 fi
1052 GUI_TK_LINK="-lX11 -lqt -lm"
1053 TOOLKIT=QT
1054 TOOLKIT_DEF=__WXQT__
1055 WX_LINK=-lwx_qt
1056 MAKEINCLUDE=../qt.inc
1057 fi
1058
1059 if test "$wxUSE_MOTIF" = 1; then
1060 AC_MSG_CHECKING(for Motif/Lesstif includes)
1061 AC_PATH_FIND_INCLUDES($SEARCH_INCLUDE,Xm/Xm.h)
1062 if test "$ac_find_includes" != "" ; then
1063 AC_MSG_RESULT(found $ac_find_includes)
1064 AC_MSG_CHECKING(for Motif/Lesstif library)
1065 AC_PATH_FIND_LIBRARIES($SEARCH_LIB,Xm)
1066 if test "$ac_find_libraries" != "" ; then
1067 AC_INCLUDE_PATH_EXIST($ac_find_includes,$CHECK_INCLUDE)
1068 AC_LINK_PATH_EXIST($ac_find_libraries,$CHECK_LIB)
1069 CHECK_LINK="$CHECK_LIB $ac_path_to_link"
1070 CHECK_INCLUDE="$CHECK_INCLUDE $ac_path_to_include"
1071 AC_MSG_RESULT(found at $ac_find_libraries)
1072 AC_MSG_CHECKING(for Xt library)
1073 AC_PATH_FIND_LIBRARIES($SEARCH_LIB,Xt)
1074 if test "$ac_find_libraries" != "" ; then
1075 AC_LINK_PATH_EXIST($ac_find_libraries,$CHECK_LIB)
1076 CHECK_LINK="$CHECK_LIB $ac_path_to_link"
1077 AC_MSG_RESULT(found at $ac_find_libraries)
1078 AC_MSG_CHECKING(for Xpm library)
1079 AC_PATH_FIND_LIBRARIES($SEARCH_LIB,Xpm)
1080 if test "$ac_find_libraries" != "" ; then
1081 AC_LINK_PATH_EXIST($ac_find_libraries,$CHECK_LIB)
1082 CHECK_LINK="$CHECK_LIB $ac_path_to_link"
1083 AC_MSG_RESULT(found at $ac_find_libraries)
1084 else
1085 AC_MSG_ERROR(no)
1086 fi
1087 else
1088 AC_MSG_ERROR(no)
1089 fi
1090 else
1091 AC_MSG_ERROR(no)
1092 fi
1093 else
1094 AC_MSG_ERROR(no)
1095 fi
1096
1097 GUI_TK_LINK="-lXm -lXpm -lXmu -lXt -lX11 -lm"
1098 GUI_TK_LIBRARY="$CHECK_LIB $GUI_TK_LINK"
1099 TOOLKIT=MOTIF
1100 TOOLKIT_DEF="__WXMOTIF__ -D__LINUX__ -D__UNIX__"
1101 WX_LINK=-lwx_motif2
1102 MAKEINCLUDE=../motif.inc
1103 fi
1104
1105 if test "$TOOLKIT" = ""; then
1106 AC_MSG_ERROR(You must specify a toolkit: --with-gtk --with-qt --with-motif)
1107 fi
1108
1109 AC_SUBST(GUI_TK_INCLUDE)
1110 AC_SUBST(GUI_TK_LIBRARY)
1111 AC_SUBST(GUI_TK_LINK)
1112
1113 AC_SUBST(WX_LINK)
1114
1115 AC_SUBST(TOOLKIT)
1116 AC_SUBST(TOOLKIT_DEF)
1117
1118 AC_SUBST(MAKEINCLUDE)
1119
1120 dnl ----------------------------------------------------------------
1121 dnl Register compile options for makefiles and setup.h
1122 dnl ----------------------------------------------------------------
1123
1124 EXTRA_LINK=
1125
1126 WXDEBUG=
1127 if test "$wxUSE_DEBUG_GDB" = 1 ; then
1128 wxUSE_DEBUG_INFO=1
1129 WXDEBUG="-ggdb"
1130 wxUSE_OPTIMISE=0
1131 else
1132 if test "$wxUSE_DEBUG_INFO" = 1 ; then
1133 WXDEBUG="-g"
1134 wxUSE_OPTIMISE=0
1135 else
1136 EXTRA_LINK="-s $EXTRA_LINK"
1137 fi
1138 fi
1139 AC_SUBST(WXDEBUG)
1140
1141 if test "$wxUSE_DEBUG_FLAG" = 1 ; then
1142 AC_DEFINE_UNQUOTED(WXDEBUG,$wxUSE_DEBUG_FLAG)
1143 WXDEBUG_DEFINE="-D__WXDEBUG__"
1144 AC_SUBST(WXDEBUG_DEFINE)
1145 else
1146 WXDEBUG_DEFINE="-DGTK_NO_CHECK_CASTS"
1147 AC_SUBST(WXDEBUG_DEFINE)
1148 fi
1149
1150 if test "$wxUSE_MEM_TRACING" = 1 ; then
1151 AC_DEFINE_UNQUOTED(wxUSE_MEMORY_TRACING,$wxUSE_MEM_TRACING)
1152 AC_DEFINE_UNQUOTED(wxUSE_GLOBAL_MEMORY_OPERATORS,$wxUSE_MEM_TRACING)
1153 fi
1154
1155 if test "$wxUSE_DMALLOC" = 1 ; then
1156 EXTRA_LINK="$EXTRA_LINK -ldmalloc"
1157 fi
1158 AC_SUBST(EXTRA_LINK)
1159
1160 PROFILE=
1161 if test "$wxUSE_PROFILE" = 1 ; then
1162 PROFILE="-pg"
1163 fi
1164 AC_SUBST(PROFILE)
1165
1166 CXXFLAGS=`echo "${CXXFLAGS}" | sed "s/\-O.//g" `
1167 CFLAGS=`echo "${CFLAGS}" | sed "s/\-O.//g" `
1168 if test "$wxUSE_OPTIMISE" = 0 ; then
1169 OPTIMISE=
1170 else
1171 if test "$GCC" = yes ; then
1172 OPTIMISE="-O2"
1173 case "${canonical}" in
1174 i586-*-*|i686-*-* )
1175 OPTIMISE="${OPTIMISE} "
1176 ;;
1177 esac
1178 else
1179 OPTIMISE="-O"
1180 fi
1181 fi
1182 AC_SUBST(OPTIMISE)
1183
1184 APPLE_IEEE=NONE
1185 if test "$wxUSE_APPLE_IEEE" = 1 ; then
1186 APPLE_IEEE="APPLE_IEEE"
1187 AC_DEFINE_UNQUOTED(wxUSE_APPLE_IEEE,$wxUSE_APPLE_IEEE)
1188 fi
1189
1190 wxUSE_IOSTREAMH=$DEFAULT_wxUSE_IOSTREAMH
1191 AC_DEFINE_UNQUOTED(wxUSE_IOSTREAMH,$wxUSE_IOSTREAMH)
1192
1193 dnl ----------------------------------------------------------------
1194 dnl Register library options for makefiles and setup.h
1195 dnl ----------------------------------------------------------------
1196
1197 if test "$wxUSE_ZLIB" = 1 ; then
1198 AC_DEFINE_UNQUOTED(wxUSE_ZLIB,$wxUSE_ZLIB)
1199 Z_C_SRC="\$(Z_C_SRC)"
1200 fi
1201 AC_SUBST(Z_C_SRC)
1202
1203 if test "$wxUSE_LIBPNG" = 1 ; then
1204 AC_DEFINE_UNQUOTED(wxUSE_LIBPNG,$wxUSE_LIBPNG)
1205 PNG_C_SRC="\$(PNG_C_SRC)"
1206 fi
1207 AC_SUBST(PNG_C_SRC)
1208
1209 JPEG_LINK=""
1210 if test "$wxUSE_LIBJPEG" = 1 ; then
1211 AC_DEFINE_UNQUOTED(wxUSE_LIBJPEG,$wxUSE_LIBJPEG)
1212 AC_CHECK_LIB(jpeg)
1213 JPEG_LINK="-ljpeg"
1214 fi
1215 AC_SUBST(JPEG_LINK)
1216
1217 IODBC_C_SRC=""
1218 if test "$wxUSE_ODBC" = 1 ; then
1219 AC_DEFINE_UNQUOTED(wxUSE_ODBC,$wxUSE_ODBC)
1220 IODBC_C_SRC="\$(IODBC_C_SRC)"
1221 fi
1222 AC_SUBST(IODBC_C_SRC)
1223
1224 dnl ----------------------------------------------------------------
1225 dnl Register non-GUI class options for makefiles and setup.h
1226 dnl ----------------------------------------------------------------
1227
1228 if test "$wxUSE_CONFIG" = 1 ; then
1229 AC_DEFINE_UNQUOTED(wxUSE_CONFIG,$wxUSE_CONFIG)
1230 fi
1231
1232 if test "$wxUSE_TIMEDATE" = 1 ; then
1233 AC_DEFINE_UNQUOTED(wxUSE_TIMEDATE,$wxUSE_TIMEDATE)
1234 fi
1235
1236 if test "$wxUSE_INTL" = 1 ; then
1237 AC_DEFINE_UNQUOTED(wxUSE_INTL,$wxUSE_INTL)
1238 fi
1239
1240 if test "$wxUSE_STREAMS" = 1 ; then
1241 AC_DEFINE_UNQUOTED(wxUSE_STREAMS,$wxUSE_STREAMS)
1242 fi
1243
1244 if test "$wxUSE_SOCKETS" = 1 ; then
1245 AC_DEFINE_UNQUOTED(wxUSE_SOCKETS,$wxUSE_SOCKETS)
1246 fi
1247
1248 if test "$wxUSE_SERIAL" = 1 ; then
1249 AC_DEFINE_UNQUOTED(wxUSE_SERIAL,$wxUSE_SERIAL)
1250 fi
1251
1252 dnl ------------------------------------------------------------------------
1253 dnl wxLibrary class
1254 dnl ------------------------------------------------------------------------
1255
1256 HAVE_DL_FUNCS=0
1257 if test "$wxUSE_DYNLIB_CLASS" = "1"; then
1258 dnl the test is a bit complicated because we check for dlopen() both with
1259 dnl and without -ldl
1260 AC_CHECK_FUNCS(dlopen,
1261 [AC_DEFINE(HAVE_DLOPEN) HAVE_DL_FUNCS=1],
1262 [AC_CHECK_LIB(dl, dlopen,
1263 [AC_DEFINE(HAVE_DLOPEN) HAVE_DL_FUNCS=1])])
1264 AC_CHECK_FUNCS(shl_load, [AC_DEFINE(HAVE_SHL_LOAD) HAVE_DL_FUNCS=1])
1265
1266 if test "$HAVE_DL_FUNCS" = 0; then
1267 AC_MSG_WARN("--with-dynlib will be disabled because no function was found to load a shared library on this platform")
1268
1269 wxUSE_DYNLIB_CLASS=0
1270 fi
1271 fi
1272
1273 if test "$wxUSE_DYNLIB_CLASS" = 1 ; then
1274 AC_DEFINE_UNQUOTED(wxUSE_DYNLIB_CLASS,$wxUSE_DYNLIB_CLASS)
1275 fi
1276
1277 dnl ----------------------------------------------------------------
1278 dnl Register Prolog and Resources options for makefiles and setup.h
1279 dnl ----------------------------------------------------------------
1280
1281 if test "$wxUSE_RPC" = 1 ; then
1282 AC_DEFINE_UNQUOTED(wxUSE_RPC,$wxUSE_RPC)
1283 fi
1284
1285 if test "$wxUSE_WX_RESOURCES" = 1 ; then
1286 AC_DEFINE_UNQUOTED(wxUSE_WX_RESOURCES,$wxUSE_WX_RESOURCES)
1287 fi
1288
1289 if test "$wxUSE_PROLOGIO" = 1 ; then
1290 AC_DEFINE_UNQUOTED(wxUSE_PROLOGIO)
1291 fi
1292
1293 dnl ----------------------------------------------------------------
1294 dnl Register PostScript options for makefiles and setup.h
1295 dnl ----------------------------------------------------------------
1296
1297 if test "$wxUSE_POSTSCRIPT" = 1 ; then
1298 AC_DEFINE_UNQUOTED(wxUSE_POSTSCRIPT)
1299 fi
1300
1301 AC_DEFINE_UNQUOTED(wxUSE_AFM_FOR_POSTSCRIPT,$wxUSE_AFM_FOR_POSTSCRIPT)
1302
1303 AC_DEFINE_UNQUOTED(WX_NORMALIZED_PS_FONTS,$WX_NORMALIZED_PS_FONTS)
1304
1305 dnl ----------------------------------------------------------------
1306 dnl Register architecture options for makefiles and setup.h
1307 dnl ----------------------------------------------------------------
1308
1309 if test "$wxUSE_MDI_ARCHITECTURE" = 1 ; then
1310 AC_DEFINE_UNQUOTED(wxUSE_MDI_ARCHITECTURE,$wxUSE_MDI_ARCHITECTURE)
1311 fi
1312
1313 if test "$wxUSE_DOC_VIEW_ARCHITECTURE" = 1 ; then
1314 AC_DEFINE_UNQUOTED(wxUSE_DOC_VIEW_ARCHITECTURE,$wxUSE_DOC_VIEW_ARCHITECTURE)
1315 fi
1316
1317 if test "$wxUSE_PRINTING_ARCHITECTURE" = 1 ; then
1318 AC_DEFINE_UNQUOTED(wxUSE_PRINTING_ARCHITECTURE,$wxUSE_PRINTING_ARCHITECTURE)
1319 fi
1320
1321 dnl ----------------------------------------------------------------
1322 dnl Register wxString options for makefiles and setup.h
1323 dnl ----------------------------------------------------------------
1324
1325 if test "$wxUSE_UNICODE" = 1 ; then
1326 AC_DEFINE_UNQUOTED(wxUSE_UNICODE)
1327 fi
1328
1329 if test "$wxUSE_WCSRTOMBS" = 1 ; then
1330 AC_DEFINE_UNQUOTED(wxUSE_WCSRTOMBS)
1331 fi
1332
1333 dnl ----------------------------------------------------------------
1334 dnl Register misc options for makefiles and setup.h
1335 dnl ----------------------------------------------------------------
1336
1337 if test "$wxUSE_IPC" = 1 ; then
1338 AC_DEFINE_UNQUOTED(wxUSE_IPC)
1339 fi
1340
1341 if test "$wxUSE_RESOURCES" = 1 ; then
1342 AC_DEFINE_UNQUOTED(wxUSE_RESOURCES,$wxUSE_RESOURCES)
1343 fi
1344
1345 if test "$wxUSE_CLIPBOARD" = 1 ; then
1346 AC_DEFINE_UNQUOTED(wxUSE_CLIPBOARD,$wxUSE_CLIPBOARD)
1347 fi
1348
1349 if test "$wxUSE_TOOLTIPS" = 1 ; then
1350 AC_DEFINE_UNQUOTED(wxUSE_TOOLTIPS,$wxUSE_TOOLTIPS)
1351 fi
1352
1353 if test "$wxUSE_DRAG_AND_DROP" = 1 ; then
1354 AC_DEFINE_UNQUOTED(wxUSE_DRAG_AND_DROP,$wxUSE_DRAG_AND_DROP)
1355 fi
1356
1357 dnl ----------------------------------------------------------------
1358 dnl No effect yet
1359 dnl ----------------------------------------------------------------
1360
1361 HELP=NONE
1362 if test "$wxUSE_HELP" = 1 ; then
1363 HELP="HELP"
1364 AC_DEFINE_UNQUOTED(wxUSE_HELP,$wxUSE_HELP)
1365 fi
1366 AC_SUBST(HELP)
1367
1368 dnl ----------------------------------------------------------------
1369 dnl thread support
1370 dnl ----------------------------------------------------------------
1371
1372 THREADS_LINK=""
1373 UNIX_THREAD=""
1374
1375 if test "$wxUSE_THREADS" = "1"; then
1376
1377 dnl For glibc 2 users who have the old libc 5 too
1378
1379 AC_CHECK_LIB(pthread-0.7, pthread_create, [
1380 UNIX_THREAD="gtk/threadpsx.cpp"
1381 THREADS_LINK="-lpthread-0.7"
1382 ],[
1383 AC_CHECK_HEADER(sys/prctl.h, [
1384 UNIX_THREAD="gtk/threadsgi.cpp"
1385 ])
1386
1387 dnl pthread_create is always available in pthread but it seems not to be
1388 dnl the case for pthread_setcanceltype.
1389
1390 AC_CHECK_LIB(pthread, pthread_setcanceltype, [
1391 UNIX_THREAD="gtk/threadpsx.cpp"
1392 THREADS_LINK="-lpthread"
1393 ])
1394 ])
1395
1396 if test "$THREADS_LINK" != ""; then
1397 AC_DEFINE(wxUSE_THREADS)
1398 fi
1399
1400 dnl -lposix4 seems to be required on Solaris
1401
1402 AC_CHECK_LIB(posix4, printf, [
1403 THREADS_LINK="$THREADS_LINK -lposix4"
1404 ])
1405
1406 fi
1407
1408 if test "$wxUSE_MOTIF" = "1"; then
1409 UNIX_THREAD="motif/thread.cpp"
1410 fi
1411
1412 if test -z "$UNIX_THREAD"; then
1413 wxUSE_THREADS=0
1414 fi
1415
1416 AC_SUBST(UNIX_THREAD)
1417 AC_SUBST(THREADS_LINK)
1418
1419 dnl defines UNIX_THREAD it contains the source file to use for threads. (GL)
1420 dnl defines THREADS_LINK it contains the thread library to link with. (GL)
1421 dnl defines wxUSE_THREADS if thread support is activated. (GL)
1422
1423 dnl ------------------------------------------------------------------------
1424 dnl compiler options for shared libs
1425 dnl ------------------------------------------------------------------------
1426
1427 PICFLAGS=
1428 CREATE_SHARED=
1429 case "${canonical}" in
1430
1431 *-hp-hpux* )
1432 if test "$GCC" != "yes" ; then
1433 CXXFLAGS="${CXXFLAGS} +a1 -z -Aa -D_HPUX_SOURCE"
1434 CFLAGS="${CFLAGS} -z -D_HPUX_SOURCE"
1435 PICFLAGS="+z"
1436 else
1437 PICFLAGS="-fPIC"
1438 fi
1439 LDFLAGS="-Wl,+s"
1440 CREATE_SHARED=sharedHpux
1441 ;;
1442
1443 *-*-linux* )
1444 PICFLAGS=-fPIC
1445 CREATE_SHARED=sharedLinux
1446 ;;
1447
1448 *-*-irix5* | *-*-irix6* )
1449 # PICFLAGS can remain empty, as pic is the default
1450 LDFLAGS="-Wl,+s"
1451 CREATE_SHARED=sharedIrix
1452 AC_DEFINE(SVR4)
1453 ;;
1454
1455 *-*-solaris2* )
1456 if test "$GCC" != "yes" ; then
1457 PICFLAGS="-KPIC"
1458 else
1459 PICFLAGS="-fPIC"
1460 fi
1461 CREATE_SHARED=sharedSolaris2
1462 AC_DEFINE(SVR4)
1463 ;;
1464
1465 *-*-sunos4* )
1466 if test "$GCC" != "yes" ; then
1467 PICFLAGS="-PIC"
1468 else
1469 PICFLAGS="-fPIC"
1470 fi
1471 LDFLAGS="-Wl,+s"
1472 CREATE_SHARED=sharedSunos4
1473 AC_DEFINE(BSD)
1474 ;;
1475
1476 *-*-freebsd* | *-*-netbsd*)
1477 PICFLAGS=-fPIC
1478 CREATE_SHARED=sharedBsd
1479 AC_DEFINE(BSD)
1480 ;;
1481
1482 *-*-osf* )
1483 PICFLAGS="-fPIC"
1484 CREATE_SHARED=sharedOSF
1485 ;;
1486
1487 *-*-dgux5* )
1488 if test "$GCC" != "yes" ; then
1489 PICFLAGS="-K PIC"
1490 else
1491 PICFLAGS="-fPIC"
1492 fi
1493 CREATE_SHARED=sharedDgux
1494 AC_DEFINE(SVR4)
1495 ;;
1496
1497 *-*-sysv5* )
1498 if test "$GCC" != "yes" ; then
1499 PICFLAGS="-K PIC"
1500 else
1501 PICFLAGS="-fPIC"
1502 fi
1503 CREATE_SHARED=sharedSysV
1504 AC_DEFINE(SVR4)
1505 ;;
1506
1507 *-*-aix* )
1508 if test "$GCC" != "yes" ; then
1509 PICFLAGS="-bM\:SRE"
1510 else
1511 PICFLAGS="-fPIC"
1512 fi
1513 CREATE_SHARED=sharedAIX
1514 AC_DEFINE(SYSV)
1515 ;;
1516
1517 *)
1518 CREATE_SHARED=
1519 PICFLAGS=
1520 esac
1521
1522 if test "x$GCC" = xyes; then
1523 CFLAGS="${CFLAGS} -Wall -Wno-unused -Wno-uninitialized -D_REENTRANT -DLEX_SCANNER -DHAVE_LIBDL"
1524 fi
1525
1526 if test "x$GXX" = xyes; then
1527 if test "$wxUSE_MOTIF" = 1; then
1528 CXXFLAGS="${CXXFLAGS} -Wall -Wno-unused -D_REENTRANT"
1529 else
1530 CXXFLAGS="${CXXFLAGS} -Wall -D_REENTRANT"
1531 fi
1532 fi
1533
1534 if test "$wxUSE_SHARED" != 1; then
1535 CREATE_SHARED=
1536 PICFLAGS=
1537 fi
1538
1539 AC_SUBST(OS)
1540 AC_SUBST(PICFLAGS)
1541 AC_SUBST(CREATE_SHARED)
1542
1543 dnl ------------------------------------------------------------------------
1544 dnl finish and clean-up
1545 dnl ------------------------------------------------------------------------
1546
1547 dnl add OS to list of configured
1548 echo $OS >> system.list
1549
1550 AC_CONFIG_HEADER(./include/wx/gtk/setup.h:./setup/setup.hin)
1551 AC_OUTPUT(./setup/substit ./wx-config:./wx-config.in,./setup/general/createall)
1552
1553 AC_OVERRIDES_DONE