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