]> git.saurik.com Git - wxWidgets.git/blob - configure.in
Tests for wchar.h/wcstr.h - PLEASE DO NOT GUESS BUT USE CONFIGURE TO TEST!!!
[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 vprintf/vsprintf() which are GNU extensions
468 AC_FUNC_VPRINTF
469
470 dnl check for vsnprintf() - a safe version of vsprintf()
471 AC_CHECK_FUNCS(vsnprintf,
472 AC_DEFINE(HAVE_VSNPRINTF),
473 AC_MSG_WARN(unsafe function sprintf will be used instead of snprintf)
474 )
475
476 dnl check for vfork() (even if it's the same as fork() in modern Unices)
477 AC_CHECK_FUNCS(vfork)
478
479 POSIX4_LINK=
480 AC_CHECK_FUNCS(nanosleep, AC_DEFINE(HAVE_NANOSLEEP), [
481 AC_CHECK_LIB(posix4, nanosleep, [
482 AC_DEFINE(HAVE_NANOSLEEP)
483 POSIX4_LINK="-lposix4"
484 ], [
485 AC_CHECK_FUNCS(usleep,
486 AC_DEFINE(HAVE_USLEEP),
487 AC_MSG_WARN(Sleep() function will not work))
488 ])
489 ])
490
491 dnl check for uname (POSIX) and gethostname (BSD)
492 AC_CHECK_FUNCS(uname gethostname, break)
493
494 dnl ###################
495 dnl # checks typedefs #
496 dnl ###################
497 AC_TYPE_GETGROUPS
498 dnl defines GETGROUPS_T
499 AC_TYPE_MODE_T
500 dnl defines mode_t if not already defined
501 AC_TYPE_OFF_T
502 dnl defines off_t if not already defined
503 AC_TYPE_PID_T
504 dnl defines pid_t if not already defined
505 AC_TYPE_SIGNAL
506 dnl defines RETSIGTYPE for the correct return type of signal
507 AC_TYPE_SIZE_T
508 dnl defines size_t if not already defined
509 AC_TYPE_UID_T
510 dnl defines uid_t and gid_t if not already defined
511
512 dnl #####################
513 dnl # checks structures #
514 dnl #####################
515
516 AC_HEADER_STAT
517 dnl defines STAT_MACROS_BROKEN if S_ISDIR and S_ISREG
518 dnl do not work properly
519 AC_HEADER_TIME
520 dnl defines TIME_WITH_SYS_TIME if time.h and sys/time.h can
521 dnl both be included
522 AC_STRUCT_ST_BLKSIZE
523 dnl defines HAVE_ST_BLKSIZE if struct stat contains st_blksize
524 AC_STRUCT_ST_BLOCKS
525 dnl defines HAVE_ST_BLOCKS if struct stat contains st_blocks
526 AC_STRUCT_ST_RDEV
527 dnl defines HAVE_ST_RDEV if struct stat contains st_rdev
528 AC_STRUCT_TM
529 dnl defines TM_IN_SYS_TIME if struct tm is not in time.h
530 AC_STRUCT_TIMEZONE
531 dnl defines HAVE_ST_BLKSIZE if struct tm contains tm_zone
532 dnl otherwise
533 dnl defines HAVE_TZNAME if external array tzname is found
534
535 dnl ###################################
536 dnl # checks compiler characteristics #
537 dnl ###################################
538
539 AC_C_CONST
540 dnl defines const to be empty if c-compiler does not support const fully
541 AC_C_INLINE
542 dnl defines inline to a sensible value for the c-compiler
543 AC_C_CHAR_UNSIGNED
544 dnl defines __CHAR_UNSIGNED__ if char is unsigned
545 AC_C_LONG_DOUBLE
546 dnl defines HAVE_LONGDOUBLE if compiler supports long double
547
548 AC_C_BIGENDIAN
549 dnl defines WORDS_BIGENDIAN if system is big endian
550
551 dnl give some default values for cross-compiling
552 AC_CHECK_SIZEOF(int *, 4)
553 AC_CHECK_SIZEOF(int, 4)
554 AC_CHECK_SIZEOF(long, 4)
555 AC_CHECK_SIZEOF(long long, 0)
556 dnl defines the size of certain types of variables in SIZEOF_<TYPE>
557
558 dnl ######################
559 dnl # check C++ features #
560 dnl ######################
561
562 AC_LANG_SAVE
563 AC_LANG_CPLUSPLUS
564
565 dnl check for iostream (as opposed to iostream.h) standard header
566 AC_CHECK_HEADERS(iostream)
567 if test "x$HAVE_IOSTREAM" = "x" ; then
568 AC_DEFINE(wxUSE_IOSTREAMH)
569 fi
570
571 dnl Check for existence of builtin 'bool' data type
572 dnl
573 dnl do nothing for cross-compilation - assume bool is not defined
574 AC_MSG_CHECKING(if C++ compiler supports bool)
575 AC_TRY_RUN([
576
577 int main()
578 {
579 bool b = true;
580
581 return 0;
582 }
583 ],
584 AC_DEFINE(HAVE_BOOL) AC_MSG_RESULT(yes),
585 AC_MSG_RESULT(no),
586 AC_MSG_RESULT(no assumed for cross-compilation))
587
588 dnl Check whether overloading on size_t/int parameter works
589 AC_MSG_CHECKING(if size_t and int are different types)
590 AC_TRY_RUN([
591 #include <stdlib.h>
592
593 void wxFoo(int i) { }
594 void wxFoo(size_t n) { }
595
596 int main()
597 {
598 int i;
599 size_t n;
600 wxFoo(0);
601 wxFoo(1);
602 wxFoo(0u);
603 wxFoo(i);
604 wxFoo(n);
605
606 return 0;
607 }
608
609 ],
610 AC_DEFINE(wxUSE_SIZE_T_STRING_OPERATOR) AC_MSG_RESULT(yes),
611 AC_MSG_RESULT(no),
612 AC_MSG_RESULT(no assumed for cross-compilation))
613
614 AC_LANG_RESTORE
615
616 dnl ############################
617 dnl # checks library functions #
618 dnl ############################
619
620 dnl ##########################
621 dnl # checks system services #
622 dnl ##########################
623
624
625 AC_SYS_LONG_FILE_NAMES
626 dnl defines HAVE_LONG_FILENAMES if filenames longer then
627 dnl 14 chars are supported
628
629 dnl AC_SYS_RESTARTABLE_SYSCALLS
630 dnl defines HAVE_RESTARTABLE_SYSCALLS if the system restarts a
631 dnl system call that is interrupted
632 dnl by a signal
633
634 dnl #################
635 dnl # checks PARSER #
636 dnl #################
637
638 dnl YACC checks
639 dnl ===========
640 AC_PROG_YACC
641 dnl defines YACC with the appropriate command
642
643 dnl LEX checks
644 dnl ==========
645 AC_PROG_LEX
646 dnl defines LEX with the appropriate command
647 dnl defines LEXLIB with the appropriate library
648 dnl what type is yytext
649 AC_DECL_YYTEXT
650 dnl defines YYTEXT_POINTER if yytext is char*
651 dnl defines LEX_OUTPUT_ROOT as to the base of the
652 dnl filename output by the lexer
653
654 dnl ###################################
655 dnl ## Check for dynamic load module #
656 dnl ###################################
657
658 DL_LIBRARY=
659 AC_CHECK_FUNCS(dlopen, AC_DEFINE(HAVE_LIBDL),
660 [AC_CHECK_LIB(dl, dlopen, [AC_DEFINE(HAVE_LIBDL) DL_LIBRARY="-ldl"],
661 [AC_CHECK_LIB(dld, dld_link, [AC_DEFINE(HAVE_DLD) DL_LIBRARY="-ldld"],
662 [AC_CHECK_FUNCS(shl_load, AC_DEFINE(HAVE_SHL_LOAD) )]
663 )]
664 )]
665 )
666 AC_SUBST(DL_LIBRARY)
667
668 AC_CACHE_CHECK([for underscore before symbols], libltdl_cv_uscore, [
669 echo "main(){int i=1;} fnord(){int i=23; int ltuae=42;}" > conftest.c
670 ${CC} -c conftest.c > /dev/null
671 if (nm conftest.o | grep _fnord) > /dev/null; then
672 libltdl_cv_uscore=yes
673 else
674 libltdl_cv_uscore=no
675 fi
676 rm -f conftest*
677 ])
678
679 if test x"$libltdl_cv_uscore" = xyes; then
680 if test x"$ac_cv_func_dlopen" = xyes ||
681 test x"$ac_cv_lib_dl_dlopen" = xyes ; then
682 AC_CACHE_CHECK([whether we have to add an underscore for dlsym],
683 libltdl_cv_need_uscore, [dnl
684 AC_TRY_RUN([
685 #include <dlfcn.h>
686 #include <stdio.h>
687 fnord() { int i=42;}
688 main() { void *self, *ptr1, *ptr2; self=dlopen(NULL,RTLD_LAZY);
689 if(self) { ptr1=dlsym(self,"fnord"); ptr2=dlsym(self,"_fnord");
690 if(ptr1 && !ptr2) exit(0); } exit(1); }
691 ], libltdl_cv_need_uscore=no, libltdl_cv_need_uscore=yes,
692 libltdl_cv_need_uscore=no
693 )])
694 fi
695 fi
696
697 if test x"$libltdl_cv_need_uscore" = xyes; then
698 AC_DEFINE(NEED_USCORE)
699 fi
700
701 dnl ##########################################
702 dnl ## Check for specific library functions #
703 dnl ##########################################
704
705 dnl Checks for library functions.
706 AC_CHECK_FUNCS(strerror)
707
708 dnl ------------------------------------------------------------------------
709 dnl main includes
710 dnl ------------------------------------------------------------------------
711
712 CHECK_INCLUDE="-I/usr/include $X_CFLAGS"
713 CHECK_LIB="-L/lib -L/usr/lib $X_LIBS"
714
715 dnl ------------------------------------------------------------------------
716 dnl host system
717 dnl ------------------------------------------------------------------------
718
719 AC_CANONICAL_HOST
720 canonical=$host
721 configuration=$host_alias
722
723 dnl ------------------------------------------------------------------------
724 dnl system settings
725 dnl ------------------------------------------------------------------------
726
727 USE_UNIX=1
728
729 USE_LINUX=
730 USE_SGI=
731 USE_HPUX=
732 USE_SYSV=
733 USE_SVR4=
734 USE_AIX=
735 USE_SUN=
736 USE_SOLARIS=
737 USE_SUNOS=
738 USE_ALPHA=
739 USE_OSF=
740 USE_BSD=
741 USE_FREEBSD=
742 USE_VMS=
743 USE_ULTRIX=
744 USE_DATA_GENERAL=
745
746 AC_DEFINE(__UNIX__)
747 case "${canonical}" in
748 *-hp-hpux* )
749 USE_HPUX=1
750 AC_DEFINE(__HPUX__)
751 ;;
752 *-*-linux* )
753 USE_LINUX=1
754 AC_DEFINE(__LINUX__)
755 TMP=`uname -m`
756 if test "x$TMP" = "xalpha"
757 then
758 USE_ALPHA=1
759 AC_DEFINE(__ALPHA__)
760 fi
761 ;;
762 *-*-irix5* | *-*-irix6* )
763 USE_SGI=1
764 USE_SVR4=1
765 AC_DEFINE(__SGI__)
766 AC_DEFINE(__SVR4__)
767 ;;
768 *-*-solaris2* )
769 USE_SUN=1
770 USE_SOLARIS=1
771 USE_SVR4=1
772 AC_DEFINE(__SUN__)
773 AC_DEFINE(__SOLARIS__)
774 AC_DEFINE(__SVR4__)
775 ;;
776 *-*-sunos4* )
777 USE_SUN=1
778 USE_SUNOS=1
779 USE_BSD=1
780 AC_DEFINE(__SUN__)
781 AC_DEFINE(__SUNOS__)
782 AC_DEFINE(__BSD__)
783 ;;
784 *-*-freebsd* | *-*-netbsd*)
785 USE_BSD=1
786 USE_FREEBSD=1
787 AC_DEFINE(__FREEBSD__)
788 AC_DEFINE(__BSD__)
789 ;;
790 *-*-osf* )
791 USE_ALPHA=1
792 USE_OSF=1
793 AC_DEFINE(__ALPHA__)
794 AC_DEFINE(__OSF__)
795 ;;
796 *-*-dgux5* )
797 USE_ALPHA=1
798 USE_SVR4=1
799 AC_DEFINE(__ALPHA__)
800 AC_DEFINE(__SVR4__)
801 ;;
802 *-*-sysv5* )
803 USE_SYSV=1
804 USE_SVR4=1
805 AC_DEFINE(__SYSV__)
806 AC_DEFINE(__SVR4__)
807 ;;
808 *-*-aix* )
809 USE_AIX=1
810 USE_SYSV=1
811 USE_SVR4=1
812 AC_DEFINE(__AIX__)
813 AC_DEFINE(__SYSV__)
814 AC_DEFINE(__SVR4__)
815 ;;
816 *)
817 AC_MSG_ERROR(I don't know your system type.)
818 esac
819
820 dnl ------------------------------------------------------------------------
821 dnl defaults for command options
822 dnl ------------------------------------------------------------------------
823
824 AC_OVERRIDES_PREPARE
825
826 DEFAULT_wxUSE_GTK=1
827 DEFAULT_wxUSE_QT=0
828 DEFAULT_wxUSE_MOTIF=0
829
830 DEFAULT_wxUSE_THREADS=0
831
832 DEFAULT_wxUSE_SHARED=1
833 DEFAULT_wxUSE_OPTIMISE=1
834 DEFAULT_wxUSE_PROFILE=0
835 DEFAULT_wxUSE_DEBUG_FLAG=0
836 DEFAULT_wxUSE_DEBUG_INFO=0
837 DEFAULT_wxUSE_MEM_TRACING=0
838 DEFAULT_wxUSE_DMALLOC=0
839 DEFAULT_wxUSE_APPLE_IEEE=1
840 DEFAULT_wxUSE_IOSTREAMH=1
841
842 DEFAULT_wxUSE_ZLIB=1
843 DEFAULT_wxUSE_LIBPNG=1
844 DEFAULT_wxUSE_LIBJPEG=1
845 DEFAULT_wxUSE_ODBC=1
846
847 DEFAULT_wxUSE_TIMEDATE=1
848 DEFAULT_wxUSE_INTL=1
849 DEFAULT_wxUSE_CONFIG=1
850 DEFAULT_wxUSE_STREAMS=1
851 DEFAULT_wxUSE_SOCKETS=1
852 DEFAULT_wxUSE_SERIAL=1
853 DEFAULT_wxUSE_DYNLIB_CLASS=1
854
855 DEFAULT_wxUSE_AFM_FOR_POSTSCRIPT=1
856 DEFAULT_WX_NORMALIZED_PS_FONTS=1
857 DEFAULT_wxUSE_POSTSCRIPT=1
858
859 DEFAULT_wxUSE_IPC=1
860 DEFAULT_wxUSE_RESOURCES=1
861 DEFAULT_wxUSE_CLIPBOARD=1
862 DEFAULT_wxUSE_TOOLTIPS=1
863 DEFAULT_wxUSE_DRAG_AND_DROP=1
864
865 DEFAULT_wxUSE_MDI_ARCHITECTURE=1
866 DEFAULT_wxUSE_DOC_VIEW_ARCHITECTURE=1
867 DEFAULT_wxUSE_PRINTING_ARCHITECTURE=1
868
869 DEFAULT_wxUSE_PROLOGIO=1
870 DEFAULT_wxUSE_WX_RESOURCES=1
871 DEFAULT_wxUSE_RPC=0
872 DEFAULT_wxUSE_HELP=1
873
874 DEFAULT_wxUSE_UNICODE=0
875 DEFAULT_wxUSE_WCSRTOMBS=0
876
877 dnl ----------------------------------------------------------------
878 dnl toolkit options
879 dnl ----------------------------------------------------------------
880
881 AC_OVERRIDES(gtk,gtk,
882 **--with-gtk use GTK,
883 wxUSE_GTK)
884
885 AC_OVERRIDES(qt,qt,
886 **--with-qt use Qt,
887 wxUSE_QT)
888
889 AC_OVERRIDES(motif,motif,
890 **--with-motif use Motif/Lesstif,
891 wxUSE_MOTIF)
892
893 dnl ----------------------------------------------------------------
894 dnl compile options
895 dnl ----------------------------------------------------------------
896
897 AC_OVERRIDES(shared,shared,
898 **--with-shared create shared libraries,
899 wxUSE_SHARED)
900
901 AC_OVERRIDES(optimise,optimise,
902 **--with-optimise create optimised code,
903 wxUSE_OPTIMISE)
904
905 AC_OVERRIDES(debug_flag,debug_flag,
906 **--with-debug_flag create code with WXDEBUG define set to 1,
907 wxUSE_DEBUG_FLAG)
908
909 AC_OVERRIDES(debug_info,debug_info,
910 **--with-debug_info create code with debuging information,
911 wxUSE_DEBUG_INFO)
912
913 AC_OVERRIDES(debug_gdb,debug_gdb,
914 **--with-debug_gdb create code with extra GDB debuging information,
915 wxUSE_DEBUG_GDB)
916
917 AC_OVERRIDES(mem_tracing,mem_tracing,
918 **--with-mem_traing create code with memory tracing,
919 wxUSE_MEM_TRACING)
920
921 AC_OVERRIDES(dmalloc,dmalloc,
922 **--with-dmalloc use dmalloc memory debug library (www.letters.com/dmalloc/),
923 wxUSE_DMALLOC)
924
925 AC_OVERRIDES(profile,profile,
926 **--with-profile create code with profiling information,
927 wxUSE_PROFILE)
928
929 AC_OVERRIDES(apple_ieee, apple_ieee,
930 **--with_apple_ieee use the Apple IEEE codec,
931 wxUSE_APPLE_IEEE)
932
933 AC_OVERRIDES(threads,threads,
934 **--with-threads for enabling threads,
935 wxUSE_THREADS)
936
937 AC_OVERRIDES(dynlib,dynlib,
938 **--with-dynlib to compile wxLibrary class,
939 wxUSE_DYNLIB_CLASS)
940
941 dnl ----------------------------------------------------------------
942 dnl user options for libraries
943 dnl ----------------------------------------------------------------
944
945 AC_OVERRIDES(zlib,zlib,
946 **--without-zlib don't use zlib for LZW comression,
947 wxUSE_ZLIB)
948
949 AC_OVERRIDES(libpng,libpng,
950 **--without-libpng don't use libpng (PNG image format),
951 wxUSE_LIBPNG)
952
953 AC_OVERRIDES(libjpeg,libjpeg,
954 **--without-libjpeg don't use libjpeg (JPEG image format),
955 wxUSE_LIBJPEG)
956
957 AC_OVERRIDES(odbc,odbc,
958 **--with-odbc use iODBC and wxODBC classes,
959 wxUSE_ODBC)
960
961 dnl ----------------------------------------------------------------
962 dnl user options for non-GUI classes
963 dnl ----------------------------------------------------------------
964
965 AC_OVERRIDES(timedate, timedate,
966 **--with-timedate use wxTime and wxDate classes,
967 wxUSE_TIMEDATE)
968
969 AC_OVERRIDES(intl,intl,
970 **--with-intl use internationalization system,
971 wxUSE_INTL)
972
973 AC_OVERRIDES(config,config,
974 **--with-config use wxConfig class,
975 wxUSE_CONFIG)
976
977 AC_OVERRIDES(streams,streams,
978 **--with-streams use wxStream etc classes,
979 wxUSE_STREAMS)
980
981 AC_OVERRIDES(serial,serial,
982 **--with-serial use class serialization,
983 wxUSE_SERIAL)
984
985 AC_OVERRIDES(sockets,sockets,
986 **--with-sockets use wxSocket etc classes,
987 wxUSE_SOCKETS)
988
989 dnl ----------------------------------------------------------------
990 dnl user options for PostScript
991 dnl ----------------------------------------------------------------
992
993 AC_OVERRIDES(afmfonts,afmfonts,
994 **--with-afmfonts use Adobe Font Metric Font table,
995 wxUSE_AFM_FOR_POSTSCRIPT)
996
997 AC_OVERRIDES(normalized, normalized,
998 **--with-PS-normalized use normalized PS fonts,
999 WX_NORMALIZED_PS_FONTS)
1000
1001 AC_OVERRIDES(postscript, postscript,
1002 **--with-postscript use wxPostscriptDC device context,
1003 wxUSE_POSTSCRIPT)
1004
1005 dnl ----------------------------------------------------------------
1006 dnl user options for wxString and Unicode
1007 dnl ----------------------------------------------------------------
1008
1009 AC_OVERRIDES(unicode,unicode,
1010 **--with-unicode compile wxString with Unicode support,
1011 wxUSE_UNICODE)
1012
1013 AC_OVERRIDES(wcsrtombs,wcsrtombs,
1014 **--with-wcsrtombs use wcsrtombs instead of (buggy in GNU libc5) wcstombs,
1015 wxUSE_WCSRTOMBS)
1016
1017 dnl ----------------------------------------------------------------
1018 dnl user options for Prolog and Resources
1019 dnl ----------------------------------------------------------------
1020
1021 AC_OVERRIDES(wxresources,wxresources,
1022 **--with-wxresources use wxWindows's resources,
1023 wxUSE_WX_RESOURCES)
1024
1025 AC_OVERRIDES(prologio,prologio,
1026 **--with-prologio use Prolog IO library,
1027 wxUSE_PROLOGIO)
1028
1029 AC_OVERRIDES(rpc,RPC,
1030 **--with-rpc use Prolog's remote procedure calls,
1031 wxUSE_RPC)
1032
1033 dnl ----------------------------------------------------------------
1034 dnl user options for misc stuff
1035 dnl ----------------------------------------------------------------
1036
1037 AC_OVERRIDES(ipc,IPC,
1038 **--with-ipc use interprocess communication (wxSocket etc.),
1039 wxUSE_IPC)
1040
1041 AC_OVERRIDES(resources,resources,
1042 **--with-resources use X resources for saving information,
1043 wxUSE_RESOURCES)
1044
1045 AC_OVERRIDES(clipboard,clipboard,
1046 **--with-clipboard use wxClipboard classes,
1047 wxUSE_CLIPBOARD)
1048
1049 AC_OVERRIDES(tooltips,tooltips,
1050 **--with-tooltips use tooltips,
1051 wxUSE_TOOLTIPS)
1052
1053 AC_OVERRIDES(dnd,dnd,
1054 **--with-dnd use Drag'n'Drop classes,
1055 wxUSE_DRAG_AND_DROP)
1056
1057 dnl ----------------------------------------------------------------
1058 dnl user options for architectures
1059 dnl ----------------------------------------------------------------
1060
1061 AC_OVERRIDES(mdi,mdi,
1062 **--with-mdi use multiple document interface architecture,
1063 wxUSE_MDI_ARCHITECTURE)
1064
1065 AC_OVERRIDES(docview,docview,
1066 **--with-docview use document view architecture,
1067 wxUSE_DOC_VIEW_ARCHITECTURE)
1068
1069 AC_OVERRIDES(printarch,printarch,
1070 **--with-printarch use printing architecture,
1071 wxUSE_PRINTING_ARCHITECTURE)
1072
1073 AC_OVERRIDES(help,help,
1074 **--with-help use help (using external browser at present),
1075 wxUSE_HELP)
1076
1077 dnl ----------------------------------------------------------------
1078 dnl Unix, obviously
1079 dnl ----------------------------------------------------------------
1080
1081 if test "$wxUSE_UNIX" = 1 ; then
1082 AC_DEFINE(__UNIX__)
1083 fi
1084
1085 dnl ----------------------------------------------------------------
1086 dnl Linux: test for libc5/glibc2: glibc2 has gettext() included
1087 dnl ----------------------------------------------------------------
1088 if test "$USE_LINUX" = 1; then
1089 AC_CHECK_LIB(c,gettext,AC_DEFINE(wxHAVE_GLIBC2))
1090 fi
1091
1092 dnl ----------------------------------------------------------------
1093 dnl search for toolkit (widget sets)
1094 dnl ----------------------------------------------------------------
1095
1096 TOOLKIT=
1097 TOOLKIT_DEF=
1098
1099 GUI_TK_INCLUDE=
1100 GUI_TK_LIBRARY=
1101 GUI_TK_LINK=
1102
1103 WX_LINK=
1104
1105 MAKEINCLUDE=
1106
1107 if test "$wxUSE_GTK" = 1; then
1108 AM_PATH_GTK(1.0.0, [
1109 GUI_TK_INCLUDE="$GTK_CFLAGS"
1110 GUI_TK_LIBRARY="$GTK_LIBS"
1111 ], AC_MSG_ERROR(Is gtk-config in path and GTK+ is version 1.2.X or 1.0.X?))
1112 TOOLKIT=GTK
1113 TOOLKIT_DEF=__WXGTK__
1114 WX_LINK=-lwx_gtk2
1115 MAKEINCLUDE=../gtk.inc
1116 fi
1117
1118 if test "$wxUSE_QT" = 1; then
1119 AC_MSG_CHECKING(for Qt includes)
1120 AC_PATH_FIND_INCLUDES($SEARCH_INCLUDE,qapp.h)
1121 if test "$ac_find_includes" != "" ; then
1122 AC_MSG_RESULT(found $ac_find_includes)
1123 AC_MSG_CHECKING(for Qt library)
1124 AC_PATH_FIND_LIBRARIES($SEARCH_LIB,qt)
1125 if test "$ac_find_libraries" != "" ; then
1126 AC_INCLUDE_PATH_EXIST($ac_find_includes,$CHECK_INCLUDE)
1127 AC_LINK_PATH_EXIST($ac_find_libraries,$CHECK_LIB)
1128 CHECK_LINK="$CHECK_INCLUDE $ac_path_to_link"
1129 CHECK_INCLUDE="$CHECK_INCLUDE $ac_path_to_include"
1130 AC_MSG_RESULT(found Qt at $ac_find_libraries)
1131 else
1132 AC_MSG_ERROR(no)
1133 fi
1134 else
1135 AC_MSG_ERROR(no)
1136 fi
1137 GUI_TK_LINK="-lX11 -lqt -lm"
1138 TOOLKIT=QT
1139 TOOLKIT_DEF=__WXQT__
1140 WX_LINK=-lwx_qt
1141 MAKEINCLUDE=../qt.inc
1142 fi
1143
1144 if test "$wxUSE_MOTIF" = 1; then
1145 AC_MSG_CHECKING(for Motif/Lesstif includes)
1146 AC_PATH_FIND_INCLUDES($SEARCH_INCLUDE, Xm/Xm.h)
1147 if test "$ac_find_includes" != "" ; then
1148 AC_MSG_RESULT(found $ac_find_includes)
1149 else
1150 AC_MSG_RESULT(no)
1151 AC_MSG_ERROR(please set CFLAGS to contain the location of Xm/Xm.h)
1152 fi
1153
1154 AC_MSG_CHECKING(for Motif/Lesstif library)
1155 AC_PATH_FIND_LIBRARIES($SEARCH_LIB, Xm)
1156 if test "$ac_find_libraries" != "" ; then
1157 AC_INCLUDE_PATH_EXIST($ac_find_includes, $CHECK_INCLUDE)
1158 AC_LINK_PATH_EXIST($ac_find_libraries, $CHECK_LIB)
1159
1160 CHECK_LINK="$CHECK_LIB $ac_path_to_link"
1161 CHECK_INCLUDE="$CHECK_INCLUDE $ac_path_to_include"
1162 AC_MSG_RESULT(found at $ac_find_libraries)
1163 else
1164 AC_MSG_RESULT(no)
1165 AC_MSG_ERROR(please set LDFLAGS to contain the location of libXm)
1166 fi
1167
1168 AC_MSG_CHECKING(for Xt library)
1169 AC_PATH_FIND_LIBRARIES($SEARCH_LIB,Xt)
1170 if test "$ac_find_libraries" != "" ; then
1171 AC_LINK_PATH_EXIST($ac_find_libraries,$CHECK_LIB)
1172 CHECK_LINK="$CHECK_LIB $ac_path_to_link"
1173 AC_MSG_RESULT(found at $ac_find_libraries)
1174 else
1175 AC_MSG_RESULT(no)
1176 AC_MSG_ERROR(please set LDFLAGS to contain the location of libXt)
1177 fi
1178
1179 XPM_LINK=""
1180 AC_MSG_CHECKING(for Xpm library)
1181 AC_PATH_FIND_LIBRARIES($SEARCH_LIB,Xpm)
1182 if test "$ac_find_libraries" != "" ; then
1183 AC_LINK_PATH_EXIST($ac_find_libraries,$CHECK_LIB)
1184 CHECK_LINK="$CHECK_LIB $ac_path_to_link"
1185 XPM_LINK="-lXpm "
1186 AC_DEFINE(wxHAVE_LIB_XPM)
1187 AC_MSG_RESULT(found at $ac_find_libraries)
1188 else
1189 AC_MSG_RESULT(no)
1190 AC_MSG_WARN(library will be compiled without support for images in XPM format)
1191 fi
1192
1193 GUI_TK_LINK="-lXm $(XPM_LINK)-lXmu -lXt -lX11 -lm"
1194 GUI_TK_LIBRARY="$CHECK_LIB $GUI_TK_LINK"
1195 TOOLKIT=MOTIF
1196 TOOLKIT_DEF=__WXMOTIF__
1197 WX_LINK=-lwx_motif2
1198 MAKEINCLUDE=../motif.inc
1199 fi
1200
1201 if test "$TOOLKIT" = ""; then
1202 AC_MSG_ERROR(You must specify a toolkit: --with-gtk --with-qt --with-motif)
1203 fi
1204
1205 AC_SUBST(GUI_TK_INCLUDE)
1206 AC_SUBST(GUI_TK_LIBRARY)
1207 AC_SUBST(GUI_TK_LINK)
1208
1209 AC_SUBST(WX_LINK)
1210
1211 AC_SUBST(TOOLKIT)
1212 AC_SUBST(TOOLKIT_DEF)
1213
1214 AC_SUBST(MAKEINCLUDE)
1215
1216 dnl ----------------------------------------------------------------
1217 dnl Register compile options for makefiles and setup.h
1218 dnl ----------------------------------------------------------------
1219
1220 EXTRA_LINK=
1221
1222 WXDEBUG=
1223 if test "$wxUSE_DEBUG_GDB" = 1 ; then
1224 wxUSE_DEBUG_INFO=1
1225 WXDEBUG="-ggdb"
1226 fi
1227
1228 if test "$wxUSE_DEBUG_INFO" = 1 ; then
1229 WXDEBUG="-g"
1230 wxUSE_OPTIMISE=0
1231 fi
1232
1233 AC_SUBST(WXDEBUG)
1234
1235 if test "$wxUSE_DEBUG_FLAG" = 1 ; then
1236 AC_DEFINE_UNQUOTED(WXDEBUG,$wxUSE_DEBUG_FLAG)
1237 WXDEBUG_DEFINE="-D__WXDEBUG__"
1238 AC_SUBST(WXDEBUG_DEFINE)
1239 else
1240 WXDEBUG_DEFINE="-DGTK_NO_CHECK_CASTS"
1241 AC_SUBST(WXDEBUG_DEFINE)
1242 fi
1243
1244 if test "$wxUSE_MEM_TRACING" = 1 ; then
1245 AC_DEFINE_UNQUOTED(wxUSE_MEMORY_TRACING,$wxUSE_MEM_TRACING)
1246 AC_DEFINE_UNQUOTED(wxUSE_GLOBAL_MEMORY_OPERATORS,$wxUSE_MEM_TRACING)
1247 fi
1248
1249 if test "$wxUSE_DMALLOC" = 1 ; then
1250 EXTRA_LINK="$EXTRA_LINK -ldmalloc"
1251 fi
1252 AC_SUBST(EXTRA_LINK)
1253
1254 PROFILE=
1255 if test "$wxUSE_PROFILE" = 1 ; then
1256 PROFILE="-pg"
1257 fi
1258 AC_SUBST(PROFILE)
1259
1260 CXXFLAGS=`echo "${CXXFLAGS}" | sed "s/\-O.//g" `
1261 CFLAGS=`echo "${CFLAGS}" | sed "s/\-O.//g" `
1262 if test "$wxUSE_OPTIMISE" = 0 ; then
1263 OPTIMISE=
1264 else
1265 if test "$GCC" = yes ; then
1266 OPTIMISE="-O2"
1267 case "${canonical}" in
1268 i586-*-*|i686-*-* )
1269 OPTIMISE="${OPTIMISE} "
1270 ;;
1271 esac
1272 else
1273 OPTIMISE="-O"
1274 fi
1275 fi
1276 AC_SUBST(OPTIMISE)
1277
1278 APPLE_IEEE=NONE
1279 if test "$wxUSE_APPLE_IEEE" = 1 ; then
1280 APPLE_IEEE="APPLE_IEEE"
1281 AC_DEFINE_UNQUOTED(wxUSE_APPLE_IEEE,$wxUSE_APPLE_IEEE)
1282 fi
1283
1284 wxUSE_IOSTREAMH=$DEFAULT_wxUSE_IOSTREAMH
1285 AC_DEFINE_UNQUOTED(wxUSE_IOSTREAMH,$wxUSE_IOSTREAMH)
1286
1287 dnl ----------------------------------------------------------------
1288 dnl Register library options for makefiles and setup.h
1289 dnl ----------------------------------------------------------------
1290
1291 if test "$wxUSE_ZLIB" = 1 ; then
1292 AC_DEFINE_UNQUOTED(wxUSE_ZLIB,$wxUSE_ZLIB)
1293 Z_C_SRC="\$(Z_C_SRC)"
1294 fi
1295 AC_SUBST(Z_C_SRC)
1296
1297 if test "$wxUSE_LIBPNG" = 1 ; then
1298 AC_DEFINE_UNQUOTED(wxUSE_LIBPNG,$wxUSE_LIBPNG)
1299 PNG_C_SRC="\$(PNG_C_SRC)"
1300 fi
1301 AC_SUBST(PNG_C_SRC)
1302
1303 if test "$wxUSE_LIBJPEG" = 1 ; then
1304 AC_DEFINE_UNQUOTED(wxUSE_LIBJPEG,$wxUSE_LIBJPEG)
1305 JPEG_C_SRC="\$(JPEG_C_SRC)"
1306 fi
1307 AC_SUBST(JPEG_C_SRC)
1308
1309 JPEG_LINK=""
1310 dnl if test "$wxUSE_LIBJPEG" = 1 ; then
1311 dnl AC_DEFINE_UNQUOTED(wxUSE_LIBJPEG,$wxUSE_LIBJPEG)
1312 dnl AC_CHECK_LIB(jpeg,main,,AC_MSG_ERROR("libjpeg is not available."))
1313 dnl JPEG_LINK="-ljpeg"
1314 dnl fi
1315 AC_SUBST(JPEG_LINK)
1316
1317 IODBC_C_SRC=""
1318 if test "$wxUSE_ODBC" = 1 ; then
1319 AC_DEFINE_UNQUOTED(wxUSE_ODBC,$wxUSE_ODBC)
1320 IODBC_C_SRC="\$(IODBC_C_SRC)"
1321 fi
1322 AC_SUBST(IODBC_C_SRC)
1323
1324 dnl ----------------------------------------------------------------
1325 dnl Register non-GUI class options for makefiles and setup.h
1326 dnl ----------------------------------------------------------------
1327
1328 if test "$wxUSE_CONFIG" = 1 ; then
1329 AC_DEFINE_UNQUOTED(wxUSE_CONFIG,$wxUSE_CONFIG)
1330 fi
1331
1332 if test "$wxUSE_TIMEDATE" = 1 ; then
1333 AC_DEFINE_UNQUOTED(wxUSE_TIMEDATE,$wxUSE_TIMEDATE)
1334 fi
1335
1336 if test "$wxUSE_INTL" = 1 ; then
1337 AC_DEFINE_UNQUOTED(wxUSE_INTL,$wxUSE_INTL)
1338 fi
1339
1340 if test "$wxUSE_STREAMS" = 1 ; then
1341 AC_DEFINE_UNQUOTED(wxUSE_STREAMS,$wxUSE_STREAMS)
1342 fi
1343
1344 if test "$wxUSE_SOCKETS" = 1 ; then
1345 AC_DEFINE_UNQUOTED(wxUSE_SOCKETS,$wxUSE_SOCKETS)
1346 fi
1347
1348 if test "$wxUSE_SERIAL" = 1 ; then
1349 AC_DEFINE_UNQUOTED(wxUSE_SERIAL,$wxUSE_SERIAL)
1350 fi
1351
1352 dnl ------------------------------------------------------------------------
1353 dnl wxSocket
1354 dnl ------------------------------------------------------------------------
1355
1356 if test "$wxUSE_SOCKETS" = "1"; then
1357 dnl determine the type of third argument for getsockname
1358 AC_MSG_CHECKING(the type of the third argument of getsockname)
1359 AC_TRY_COMPILE(
1360 [#include <sys/socket.h>],
1361 [socklen_t len; getsockname(0, NULL, &len);],
1362 AC_DEFINE(SOCKLEN_T, socklen_t) AC_MSG_RESULT(socklen_t),
1363 AC_TRY_COMPILE(
1364 [#include <sys/socket.h>],
1365 [size_t len; getsockname(0, NULL, &len);],
1366 AC_DEFINE(SOCKLEN_T, size_t) AC_MSG_RESULT(size_t),
1367 AC_TRY_COMPILE(
1368 [#include <sys/socket.h>],
1369 [int len; getsockname(0, NULL, &len);],
1370 AC_DEFINE(SOCKLEN_T, int) AC_MSG_RESULT(int),
1371 AC_MSG_RESULT(unknown)
1372 )
1373 )
1374 )
1375 fi
1376
1377 dnl ------------------------------------------------------------------------
1378 dnl wxLibrary class
1379 dnl ------------------------------------------------------------------------
1380
1381 HAVE_DL_FUNCS=0
1382 if test "$wxUSE_DYNLIB_CLASS" = "1"; then
1383 dnl the test is a bit complicated because we check for dlopen() both with
1384 dnl and without -ldl
1385 AC_CHECK_FUNCS(dlopen,
1386 [AC_DEFINE(HAVE_DLOPEN) HAVE_DL_FUNCS=1],
1387 [AC_CHECK_LIB(dl, dlopen,
1388 [AC_DEFINE(HAVE_DLOPEN) HAVE_DL_FUNCS=1])])
1389 AC_CHECK_FUNCS(shl_load, [AC_DEFINE(HAVE_SHL_LOAD) HAVE_DL_FUNCS=1])
1390
1391 if test "$HAVE_DL_FUNCS" = 0; then
1392 AC_MSG_WARN("--with-dynlib will be disabled because no function was found to load a shared library on this platform")
1393
1394 wxUSE_DYNLIB_CLASS=0
1395 fi
1396 fi
1397
1398 if test "$wxUSE_DYNLIB_CLASS" = 1 ; then
1399 AC_DEFINE_UNQUOTED(wxUSE_DYNLIB_CLASS,$wxUSE_DYNLIB_CLASS)
1400 fi
1401
1402 dnl ----------------------------------------------------------------
1403 dnl Register Prolog and Resources options for makefiles and setup.h
1404 dnl ----------------------------------------------------------------
1405
1406 if test "$wxUSE_RPC" = 1 ; then
1407 AC_DEFINE_UNQUOTED(wxUSE_RPC,$wxUSE_RPC)
1408 fi
1409
1410 if test "$wxUSE_WX_RESOURCES" = 1 ; then
1411 AC_DEFINE_UNQUOTED(wxUSE_WX_RESOURCES,$wxUSE_WX_RESOURCES)
1412 fi
1413
1414 if test "$wxUSE_PROLOGIO" = 1 ; then
1415 AC_DEFINE_UNQUOTED(wxUSE_PROLOGIO)
1416 fi
1417
1418 dnl ----------------------------------------------------------------
1419 dnl Register PostScript options for makefiles and setup.h
1420 dnl ----------------------------------------------------------------
1421
1422 if test "$wxUSE_POSTSCRIPT" = 1 ; then
1423 AC_DEFINE_UNQUOTED(wxUSE_POSTSCRIPT)
1424 fi
1425
1426 AC_DEFINE_UNQUOTED(wxUSE_AFM_FOR_POSTSCRIPT,$wxUSE_AFM_FOR_POSTSCRIPT)
1427
1428 AC_DEFINE_UNQUOTED(WX_NORMALIZED_PS_FONTS,$WX_NORMALIZED_PS_FONTS)
1429
1430 dnl ----------------------------------------------------------------
1431 dnl Register architecture options for makefiles and setup.h
1432 dnl ----------------------------------------------------------------
1433
1434 if test "$wxUSE_MDI_ARCHITECTURE" = 1 ; then
1435 AC_DEFINE_UNQUOTED(wxUSE_MDI_ARCHITECTURE,$wxUSE_MDI_ARCHITECTURE)
1436 fi
1437
1438 if test "$wxUSE_DOC_VIEW_ARCHITECTURE" = 1 ; then
1439 AC_DEFINE_UNQUOTED(wxUSE_DOC_VIEW_ARCHITECTURE,$wxUSE_DOC_VIEW_ARCHITECTURE)
1440 fi
1441
1442 if test "$wxUSE_PRINTING_ARCHITECTURE" = 1 ; then
1443 AC_DEFINE_UNQUOTED(wxUSE_PRINTING_ARCHITECTURE,$wxUSE_PRINTING_ARCHITECTURE)
1444 fi
1445
1446 dnl ----------------------------------------------------------------
1447 dnl Register wxString options for makefiles and setup.h
1448 dnl ----------------------------------------------------------------
1449
1450 if test "$wxUSE_UNICODE" = 1 ; then
1451 AC_DEFINE_UNQUOTED(wxUSE_UNICODE)
1452 fi
1453
1454 if test "$wxUSE_WCSRTOMBS" = 1 ; then
1455 AC_DEFINE_UNQUOTED(wxUSE_WCSRTOMBS)
1456 fi
1457
1458 dnl ----------------------------------------------------------------
1459 dnl Register misc options for makefiles and setup.h
1460 dnl ----------------------------------------------------------------
1461
1462 if test "$wxUSE_IPC" = 1 ; then
1463 AC_DEFINE_UNQUOTED(wxUSE_IPC)
1464 fi
1465
1466 if test "$wxUSE_RESOURCES" = 1 ; then
1467 AC_DEFINE_UNQUOTED(wxUSE_RESOURCES,$wxUSE_RESOURCES)
1468 fi
1469
1470 if test "$wxUSE_CLIPBOARD" = 1 ; then
1471 AC_DEFINE_UNQUOTED(wxUSE_CLIPBOARD,$wxUSE_CLIPBOARD)
1472 fi
1473
1474 if test "$wxUSE_TOOLTIPS" = 1 ; then
1475 if test "$wxUSE_MOTIF" = 1; then
1476 AC_MSG_WARN(tooltips are not supported yet under Motif, sorry)
1477 wxUSE_TOOLTIPS=0
1478 fi
1479
1480 AC_DEFINE_UNQUOTED(wxUSE_TOOLTIPS,$wxUSE_TOOLTIPS)
1481 fi
1482
1483 if test "$wxUSE_DRAG_AND_DROP" = 1 ; then
1484 AC_DEFINE_UNQUOTED(wxUSE_DRAG_AND_DROP,$wxUSE_DRAG_AND_DROP)
1485 fi
1486
1487 dnl ----------------------------------------------------------------
1488 dnl No effect yet
1489 dnl ----------------------------------------------------------------
1490
1491 HELP=NONE
1492 if test "$wxUSE_HELP" = 1 ; then
1493 HELP="HELP"
1494 AC_DEFINE_UNQUOTED(wxUSE_HELP,$wxUSE_HELP)
1495 fi
1496 AC_SUBST(HELP)
1497
1498 dnl ----------------------------------------------------------------
1499 dnl thread support
1500 dnl ----------------------------------------------------------------
1501
1502 dnl defines UNIX_THREAD it contains the source file to use for threads. (GL)
1503 dnl defines THREADS_LINK it contains the thread library to link with. (GL)
1504 dnl defines wxUSE_THREADS if thread support is activated. (GL)
1505
1506 THREADS_LINK=""
1507 UNIX_THREAD=""
1508
1509 if test "$wxUSE_THREADS" = "1"; then
1510 dnl find if POSIX threads are available
1511
1512 dnl standard lib name is pthread
1513 dnl We no longer test for pthread-0.7 as it breaks compilation on some
1514 dnl glibc2 systems, especially for static linkage.
1515 AC_CHECK_LIB(pthread, pthread_create, [
1516 UNIX_THREAD="unix/threadpsx.cpp"
1517 THREADS_LINK="pthread"
1518 ], [
1519 dnl thread functions are in libc_r under FreeBSD
1520 AC_CHECK_LIB(c_r, pthread_create, [
1521 UNIX_THREAD="unix/threadpsx.cpp"
1522 THREADS_LINK="c_r"
1523 ], [
1524 dnl VZ: SGI threads are not supported currently
1525 AC_CHECK_HEADER(sys/prctl.h, [
1526 UNIX_THREAD="gtk/threadsgi.cpp"
1527 ])
1528 ])
1529 ])
1530 if test "$THREADS_LINK" != ""; then
1531 AC_DEFINE(wxUSE_THREADS)
1532 else
1533 AC_MSG_WARN(No thread support on this system)
1534 fi
1535 fi
1536
1537 if test -z "$UNIX_THREAD"; then
1538 wxUSE_THREADS=0
1539 fi
1540
1541 dnl do other tests only if we are using threads
1542 if test "$wxUSE_THREADS" = "1"; then
1543
1544 dnl define autoconf macro to check for given function in both pthread and
1545 dnl posix4 libraries
1546 dnl usage: AC_FUNC_THREAD(FUNCTION_NAME)
1547 dnl VZ: TODO
1548 dnl AC_DEFUN(AC_FUNC_THREAD,
1549 dnl [
1550 dnl AC_CHECK_LIB($THREADS_LINK, $1,
1551 dnl AC_DEFINE(HAVE_`'translit($1, `A-Z', 'a-z'),
1552 dnl [AC_CHECK_LIB("posix4", $1,
1553 dnl [AC_DEFINE(HAVE_`'translit($1, `A-Z', 'a-z'))
1554 dnl POSIX4_LINK="-lposix4"
1555 dnl ])
1556 dnl ])
1557 dnl ])
1558
1559 AC_CHECK_HEADERS(sched.h)
1560
1561 AC_CHECK_LIB($THREADS_LINK, sched_yield,
1562 AC_DEFINE(HAVE_SCHED_YIELD),
1563 [AC_CHECK_LIB("posix4", sched_yield,
1564 [AC_DEFINE(HAVE_SCHED_YIELD) POSIX4_LINK="-lposix4"],
1565 AC_MSG_WARN(wxThread::Yield() will not work properly)
1566 )]
1567 )
1568
1569 dnl VZ: we should be checking for all of the following functions instead:
1570 dnl 1. pthread_attr_getschedpolicy
1571 dnl 2. sched_get_priority_min and sched_get_priority_max
1572 dnl 3. pthread_attr_getschedparam and pthread_attr_setschedparam
1573 dnl but it seems that if the first one is there, the other ones are too (of
1574 dnl course the proper solution would be to implement AC_FUNC_THREAD above
1575 dnl and do test for them all - anyone?)
1576 AC_CHECK_LIB($THREADS_LINK, pthread_attr_getschedpolicy,
1577 AC_DEFINE(HAVE_THREAD_PRIORITY_FUNCTIONS),
1578 [AC_CHECK_LIB("posix4", pthread_attr_getschedpolicy,
1579 [AC_DEFINE(HAVE_THREAD_PRIORITY_FUNCTIONS) POSIX4_LINK="-lposix4"],
1580 AC_MSG_WARN(Setting thread priority will not work)
1581 )]
1582 )
1583
1584 AC_CHECK_LIB($THREADS_LINK, pthread_cancel,
1585 AC_DEFINE(HAVE_PTHREAD_CANCEL),
1586 AC_MSG_WARN(wxThread::Kill() will not work properly))
1587
1588 THREADS_LINK="-l$THREADS_LINK"
1589 fi
1590
1591 AC_SUBST(UNIX_THREAD)
1592 AC_SUBST(THREADS_LINK)
1593 AC_SUBST(POSIX4_LINK)
1594
1595 dnl ------------------------------------------------------------------------
1596 dnl compiler options for shared libs
1597 dnl ------------------------------------------------------------------------
1598
1599 PICFLAGS=
1600 CREATE_SHARED=
1601 case "${canonical}" in
1602 *-hp-hpux* )
1603 if test "$GCC" != "yes" ; then
1604 CXXFLAGS="${CXXFLAGS} +a1 -z -Aa -D_HPUX_SOURCE"
1605 CFLAGS="${CFLAGS} -z -D_HPUX_SOURCE"
1606 PICFLAGS="+z"
1607 else
1608 PICFLAGS="-fPIC"
1609 fi
1610 LDFLAGS="-Wl,+s"
1611 CREATE_SHARED=sharedHpux
1612 ;;
1613
1614 *-*-linux* )
1615 PICFLAGS=-fPIC
1616 CREATE_SHARED=sharedLinux
1617 ;;
1618
1619 *-*-irix5* | *-*-irix6* )
1620 # PICFLAGS can remain empty, as pic is the default
1621 LDFLAGS="-Wl,+s"
1622 CREATE_SHARED=sharedIrix
1623 AC_DEFINE(SVR4)
1624 ;;
1625
1626 *-*-solaris2* )
1627 if test "$GCC" != "yes" ; then
1628 PICFLAGS="-KPIC"
1629 else
1630 PICFLAGS="-fPIC"
1631 fi
1632 CREATE_SHARED=sharedSolaris2
1633 AC_DEFINE(SVR4)
1634 ;;
1635
1636 *-*-sunos4* )
1637 if test "$GCC" != "yes" ; then
1638 PICFLAGS="-PIC"
1639 else
1640 PICFLAGS="-fPIC"
1641 fi
1642 LDFLAGS="-Wl,+s"
1643 CREATE_SHARED=sharedSunos4
1644 AC_DEFINE(BSD)
1645 ;;
1646
1647 *-*-freebsd* | *-*-netbsd*)
1648 PICFLAGS=-fPIC
1649 CREATE_SHARED=sharedBsd
1650 AC_DEFINE(BSD)
1651 ;;
1652
1653 *-*-osf* )
1654 PICFLAGS="-fPIC"
1655 CREATE_SHARED=sharedOSF
1656 ;;
1657
1658 *-*-dgux5* )
1659 if test "$GCC" != "yes" ; then
1660 PICFLAGS="-K PIC"
1661 else
1662 PICFLAGS="-fPIC"
1663 fi
1664 CREATE_SHARED=sharedDgux
1665 AC_DEFINE(SVR4)
1666 ;;
1667
1668 *-*-sysv5* )
1669 if test "$GCC" != "yes" ; then
1670 PICFLAGS="-K PIC"
1671 else
1672 PICFLAGS="-fPIC"
1673 fi
1674 CREATE_SHARED=sharedSysV
1675 AC_DEFINE(SVR4)
1676 ;;
1677
1678 *-*-aix* )
1679 if test "$GCC" != "yes" ; then
1680 PICFLAGS="-bM\:SRE"
1681 else
1682 PICFLAGS="-fPIC -D__SYSV__"
1683 fi
1684 CREATE_SHARED=sharedAIX
1685 AC_DEFINE(SYSV)
1686 ;;
1687
1688 *)
1689 CREATE_SHARED=
1690 PICFLAGS=
1691 esac
1692
1693 if test "x$GCC" = xyes; then
1694 CFLAGS="${CFLAGS} -Wall -Wno-unused -Wno-uninitialized -D_REENTRANT -DLEX_SCANNER -DHAVE_LIBDL"
1695 fi
1696
1697 if test "x$GXX" = xyes; then
1698 if test "$wxUSE_MOTIF" = 1; then
1699 CXXFLAGS="${CXXFLAGS} -Wall -Wno-unused -D_REENTRANT"
1700 else
1701 CXXFLAGS="${CXXFLAGS} -Wall -D_REENTRANT"
1702 fi
1703 fi
1704
1705 if test "$wxUSE_SHARED" != 1; then
1706 CREATE_SHARED=
1707 PICFLAGS=
1708 fi
1709
1710 AC_SUBST(OS)
1711 AC_SUBST(PICFLAGS)
1712 AC_SUBST(CREATE_SHARED)
1713
1714 dnl ------------------------------------------------------------------------
1715 dnl finish and clean-up
1716 dnl ------------------------------------------------------------------------
1717
1718 dnl add OS to list of configured
1719 echo $OS >> system.list
1720
1721 TOOLKIT_DIR=`echo ${TOOLKIT} | tr "A-Z" "a-z"`
1722 AC_CONFIG_HEADER(./include/wx/${TOOLKIT_DIR}/setup.h:./setup/setup.hin)
1723
1724 AC_OUTPUT(./setup/substit ./wx-config:./wx-config.in,./setup/general/createall)
1725
1726 AC_OVERRIDES_DONE
1727