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