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