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