]> git.saurik.com Git - wxWidgets.git/blob - configure.in
Fixed wxPostScript printing problem (used wrong constructor, and the right
[wxWidgets.git] / configure.in
1 dnl ////////////////////////////////////////////////////////////////////////
2 dnl
3 dnl Top-level configure.in for wxWindows by Robert Roebling, Wolfram Gloger
4 dnl and Martin Sperl.
5 dnl
6 dnl This script is under the wxWindows licence.
7 dnl $Id$
8 dnl ////////////////////////////////////////////////////////////////////////
9
10
11 dnl AM_PATH_GTK([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]])
12 dnl Test for GTK, and define GTK_CFLAGS and GTK_LIBS
13 dnl
14 AC_DEFUN(AM_PATH_GTK,
15 [dnl
16 dnl Get the cflags and libraries from the gtk-config script
17 dnl
18 AC_ARG_WITH(gtk-prefix,[**--with-gtk-prefix=PFX Prefix where GTK is installed],
19 gtk_config_prefix="$withval", gtk_config_prefix="")
20 AC_ARG_WITH(gtk-exec-prefix,[**--with-gtk-exec-prefix=PFX Exec prefix where GTK is installed],
21 gtk_config_exec_prefix="$withval", gtk_config_exec_prefix="")
22
23 if test x$gtk_config_exec_prefix != x ; then
24 gtk_config_args="$gtk_config_args --exec-prefix=$gtk_config_exec_prefix"
25 if test x${GTK_CONFIG+set} != xset ; then
26 GTK_CONFIG=$gtk_config_exec_prefix/bin/gtk-config
27 fi
28 fi
29 if test x$gtk_config_prefix != x ; then
30 gtk_config_args="$gtk_config_args --prefix=$gtk_config_prefix"
31 if test x${GTK_CONFIG+set} != xset ; then
32 GTK_CONFIG=$gtk_config_prefix/bin/gtk-config
33 fi
34 fi
35
36 AC_PATH_PROG(GTK_CONFIG, gtk-config, no)
37 min_gtk_version=ifelse([$1], ,0.99.7,$1)
38 AC_MSG_CHECKING(for GTK - version >= $min_gtk_version)
39 no_gtk=""
40 if test "$GTK_CONFIG" != "no" ; then
41 GTK_CFLAGS=`$GTK_CONFIG --cflags`
42 GTK_LIBS=`$GTK_CONFIG --libs`
43 ac_save_CFLAGS="$CFLAGS"
44 ac_save_LIBS="$LIBS"
45 CFLAGS="$CFLAGS $GTK_CFLAGS"
46 LIBS="$LIBS $GTK_LIBS"
47 dnl
48 dnl Now check if the installed GTK is sufficiently new. (Also sanity
49 dnl checks the results of gtk-config to some extent
50 dnl
51 AC_TRY_RUN([
52 #include <gtk/gtk.h>
53 #include <stdio.h>
54
55 int
56 main ()
57 {
58 int major, minor, micro;
59
60 if (sscanf("$min_gtk_version", "%d.%d.%d", &major, &minor, &micro) != 3) {
61 printf("%s, bad version string\n", "$min_gtk_version");
62 exit(1);
63 }
64
65 if (gtk_minor_version == 1) return FALSE;
66
67 return !((gtk_major_version > major) ||
68 ((gtk_major_version == major) && (gtk_minor_version > minor)) ||
69 ((gtk_major_version == major) && (gtk_minor_version == minor) && (gtk_micro_version >= micro)));
70 }
71 ],, no_gtk=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"])
72 CFLAGS="$ac_save_CFLAGS"
73 LIBS="$ac_save_LIBS"
74 else
75 no_gtk=yes
76 fi
77 if test "x$no_gtk" = x ; then
78 AC_MSG_RESULT(yes)
79 ifelse([$2], , :, [$2])
80 else
81 AC_MSG_RESULT(no)
82 GTK_CFLAGS=""
83 GTK_LIBS=""
84 ifelse([$3], , :, [$3])
85 fi
86 AC_SUBST(GTK_CFLAGS)
87 AC_SUBST(GTK_LIBS)
88 ])
89
90 dnl ------------------------------------------------------------------------
91 dnl custom macros
92 dnl ------------------------------------------------------------------------
93
94 AC_DEFUN(AC_OVERRIDES_PREPARE,
95 [
96 rm -f ${OSTYPE}.system.cache.tmp
97 touch ${OSTYPE}.system.cache.tmp
98 touch ${OSTYPE}.system.cache
99 ])
100
101 AC_DEFUN(AC_OVERRIDES_DONE,
102 [
103 mv ${OSTYPE}.system.cache.tmp ${OSTYPE}.system.cache
104 ])
105
106 dnl package,message,helpmessage,variable
107 AC_DEFUN(AC_OVERRIDES,
108 [
109 AC_MSG_CHECKING("for $2")
110 AC_ARG_WITH($1,$3,
111 [if test "x$with_$1" = xyes; then
112 ac_cv_use_$1='$4="1"'
113 else
114 ac_cv_use_$1='$4="0"'
115 fi],
116 [
117 LINE=`grep "$4" ${OSTYPE}.system.cache`
118 if test "x$LINE" != x ; then
119 eval "DEFAULT_$LINE"
120 fi
121 ac_cv_use_$1='$4='$DEFAULT_$4
122 ])
123 eval "$ac_cv_use_$1"
124 echo $ac_cv_use_$1 >> ${OSTYPE}.system.cache.tmp
125 if test "$$4" = 1; then
126 AC_MSG_RESULT(yes)
127 else
128 AC_MSG_RESULT(no)
129 fi
130 ])
131
132 dnl package,message,helpmessage,variable
133 AC_DEFUN(AC_OVERRIDES_OLD,
134 [
135 AC_MSG_CHECKING("for $2")
136 AC_CACHE_VAL(ac_cv_use_$1,
137 [
138 AC_ARG_WITH($1,$3,
139 [if test "x$with_$1" = xyes; then
140 ac_cv_use_$1='$4="1"'
141 else
142 ac_cv_use_$1='$4="0"'
143 fi],[ac_cv_use_$1='$4=$DEFAULT_$4'])
144 ])
145 eval "$ac_cv_use_$1"
146
147 if test "$$4" = 1; then
148 AC_MSG_RESULT(yes)
149 else
150 AC_MSG_RESULT(no)
151 fi
152 ])
153
154 AC_DEFUN(AC_PATH_FIND_INCLUDES,
155 [
156 ac_find_includes=
157 for ac_dir in $1;
158 do
159 if test -f "$ac_dir/$2"; then
160 ac_find_includes=$ac_dir
161 break
162 fi
163 done
164 ])
165
166 AC_DEFUN(AC_PATH_FIND_LIBRARIES,
167 [
168 ac_find_libraries=
169 for ac_dir in $1;
170 do
171 for ac_extension in a so sl; do
172 if test -f "$ac_dir/lib$2.$ac_extension"; then
173 ac_find_libraries=$ac_dir
174 break 2
175 fi
176 done
177 done
178 ])
179
180 dnl Path to include, allready defined
181 AC_DEFUN(AC_INCLUDE_PATH_EXIST,
182 [
183 ac_path_to_include=$1
184 echo "$2" | grep "\-I$1" > /dev/null
185 result=$?
186 if test $result = 0; then
187 ac_path_to_include=""
188 else
189 ac_path_to_include="-I$1"
190 fi
191 ])
192
193 dnl Path to link, allready defined
194 AC_DEFUN(AC_LINK_PATH_EXIST,
195 [
196 echo "$2" | grep "\-L$1" > /dev/null
197 result=$?
198 if test $result = 0; then
199 ac_path_to_link=""
200 else
201 ac_path_to_link="-L$1"
202 fi
203 ])
204
205 dnl ------------------------------------------------------------------------
206 dnl Process this file with autoconf to produce a configure script.
207 dnl ------------------------------------------------------------------------
208
209 AC_INIT(configure.in)
210
211 dnl ------------------------------------------------------------------------
212 dnl Check platform
213 dnl ------------------------------------------------------------------------
214
215 OS="${OSTYPE}"
216
217 if test "x$OS" = "x"; then
218 UNAME=`uname`
219 AC_MSG_ERROR("The system variable OS has not been set"
220 "please set is everytime befor compiling on this system"
221 "A good example for this system would be:"
222 "setenv OSTYPE $UNAME for csh as a SHELL"
223 "EXPORT OSTYPE=$UNAME for sh as SHELL"
224 "please set this and restart again."
225 )
226 fi
227
228 dnl ------------------------------------------------------------------------
229 dnl Set base directory
230 dnl ------------------------------------------------------------------------
231
232 WXBASEDIR=`pwd`
233 AC_SUBST(WXBASEDIR)
234
235 dnl ------------------------------------------------------------------------
236 dnl search path for includes and libraries
237 dnl ------------------------------------------------------------------------
238
239 dnl VZ: added standard locations for Xm.h for Irix, HP-UX and SunOS (19.02.99)
240 SEARCH_INCLUDE="\
241 /usr/Motif-1.2/include \
242 /usr/Motif-2.1/include \
243 \
244 /usr/include/Motif1.2 \
245 /opt/xpm/include/X11 \
246 \
247 /usr/Motif1.2/include \
248 /usr/dt/include \
249 /usr/include/Xm \
250 \
251 /usr/X11R6/include \
252 /usr/X11R5/include \
253 /usr/X11R4/include \
254 \
255 /usr/X11R6/lib \
256 /usr/X11R5/lib \
257 /usr/X11R4/lib \
258 \
259 /usr/include/X11R6 \
260 /usr/include/X11R5 \
261 /usr/include/X11R4 \
262 \
263 /usr/local/X11R6/include \
264 /usr/local/X11R5/include \
265 /usr/local/X11R4/include \
266 \
267 /usr/local/include/X11R6 \
268 /usr/local/include/X11R5 \
269 /usr/local/include/X11R4 \
270 \
271 /usr/X11/include \
272 /usr/include/X11 \
273 /usr/local/X11/include \
274 /usr/local/include/X11 \
275 \
276 /usr/X386/include \
277 /usr/x386/include \
278 /usr/XFree86/include/X11 \
279 \
280 /usr/include \
281 /usr/include/gtk \
282 /usr/include/gdk \
283 /usr/include/glib \
284 /usr/local/include \
285 /usr/unsupported/include \
286 /usr/athena/include \
287 /usr/local/x11r5/include \
288 /usr/lpp/Xamples/include \
289 \
290 /usr/local/include/gtk \
291 /usr/local/include/qt \
292 /usr/include/qt \
293 \
294 /usr/openwin/include \
295 /usr/openwin/share/include \
296 "
297
298 SEARCH_LIB="`echo "$SEARCH_INCLUDE" | sed s/include/lib/g` "
299
300 dnl ------------------------------------------------------------------------
301 dnl standard checks
302 dnl ------------------------------------------------------------------------
303
304 dnl ###################
305 dnl # checks programs #
306 dnl ###################
307
308 dnl C-compiler checks
309 dnl =================
310 dnl use what compiler
311 AC_PROG_CC
312 dnl defines CC with the compiler to use
313 dnl defines GCC with yes if using gcc
314 dnl defines GCC empty if not using gcc
315 dnl defines CFLAGS
316
317 CFLAGS=`echo "$CFLAGS" | sed 's/-g//g'`
318
319 dnl does compiler support -c and -o simultaniously
320 AC_PROG_CC_C_O
321 dnl defines NO_MINUS_C_MINUS_O if compiler does not accept
322 dnl both switches simultaniously
323 dnl what is the c-preprocessor
324 AC_PROG_CPP
325 dnl defines CPP with the c-preprocessor
326 dnl is -traditional needed for correct compilations
327 AC_PROG_GCC_TRADITIONAL
328 dnl adds -traditional for gcc if needed
329
330 AC_LANG_SAVE
331
332 dnl C++-compiler checks
333 dnl ===================
334 dnl use what compiler
335 AC_PROG_CXX
336 dnl defines CXX with the compiler to use
337 dnl defines GXX with yes if using gxx
338 dnl defines GXX empty if not using gxx
339 dnl defines CXXFLAGS
340 dnl what is the C++-preprocessor
341 AC_PROG_CXXCPP
342 dnl defines CXXCPP with the C++-preprocessor
343
344 CXXFLAGS=`echo "$CXXFLAGS" | sed 's/-g//g'`
345
346 AC_LANG_RESTORE
347
348 dnl ranlib command
349 dnl ==============
350 AC_PROG_RANLIB
351 dnl defines RANLIB with the appropriate command
352
353 dnl ar command
354 dnl ==========
355 AC_CHECK_PROG(AR, ar, ar, ar)
356 dnl defines AR with the appropriate command
357
358 dnl install checks
359 dnl ==============
360 AC_PROG_INSTALL
361 dnl defines INSTALL with the appropriate command
362
363 dnl does ln -s works
364 dnl ================
365 AC_PROG_LN_S
366 dnl defines LN_S with the appropriate command
367
368 dnl awk command
369 dnl ===========
370 AC_PROG_AWK
371 dnl defines AWK with the appropriate command
372
373 dnl strip command
374 dnl =============
375 AC_CHECK_PROG(STRIP, strip, strip, true)
376 dnl defines STRIP as strip or nothing if not found
377
378 dnl ###############
379 dnl # make checks #
380 dnl ###############
381 dnl check if VPATH works
382 AC_MSG_CHECKING("make for VPATH support")
383 dnl create Makefile
384 cat - << EOF > confMake
385 check : file
386 cp \$? \$@
387 cp \$? final_file
388 EOF
389
390 if test ! -d sub ; then
391 mkdir sub
392 fi
393 echo dummy > sub/file
394 ${MAKE-make} -f confMake VPATH=sub 2> config.log > /dev/null
395 RESULT=$?
396 rm -f sub/file check final_file confMake
397 rmdir sub
398 if test "$RESULT" = 0; then
399 AC_MSG_RESULT(yes)
400 else
401 AC_MSG_RESULT(no)
402 AC_MSG_ERROR(
403 You need a make-utility that is able to use the variable
404 VPATH correctly.
405 If your version of make does not support VPATH correctly,
406 please install GNU-make (possibly as gmake), and start
407 configure with the following command:
408 export MAKE=gmake; ./configure for sh-type shells
409 setenv MAKE gmake; ./configure for csh-type shells
410 Also please do remember to use gmake in this case every time
411 you are trying to compile.
412 )
413 fi
414
415 dnl ####################
416 dnl # checks libraries #
417 dnl ####################
418
419 dnl find the X11 include and library files
420 AC_PATH_XTRA
421 dnl defines x_includes and x_libraries
422
423 dnl #######################
424 dnl # checks header files #
425 dnl #######################
426 AC_HEADER_DIRENT
427 dnl defines DIR
428 dnl defines MACRO HAVE_DIRENT_H if dirent.h exists
429 dnl defines MACRO HAVE_SYS_NDIR_H if sys/ndir.h exists
430 dnl defines MACRO HAVE_SYS_DIR_H if sys/dir.h exists
431 dnl defines MACRO HAVE_NDIR_H if ndir.h exists
432 AC_HEADER_STDC
433 dnl defines STDC_HEADERS if ANSI-C header
434 AC_HEADER_SYS_WAIT
435 dnl defines HAVE_SYS_WAIT_H if sys/wait.h exist and is POSIX.1
436 AC_CHECK_HEADERS(fcntl.h)
437 dnl defines HAVE_FCNTL_H
438 AC_CHECK_HEADERS(limits.h)
439 dnl defines HAVE_LIMITS_h
440 AC_CHECK_HEADERS(sys/file.h)
441 dnl defines HAVE_SYS_FILE_H
442 AC_CHECK_HEADERS(sys/time.h)
443 dnl defines HAVE_SYS_TIME_H
444 AC_CHECK_HEADERS(unistd.h)
445 dnl defines HAVE_UNISTD_H
446 AC_CHECK_HEADERS(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=1
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=0
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 **--without-zlib don't use zlib for LZW comression,
943 wxUSE_ZLIB)
944
945 AC_OVERRIDES(libpng,libpng,
946 **--without-libpng don't use libpng (PNG image format),
947 wxUSE_LIBPNG)
948
949 AC_OVERRIDES(libjpeg,libjpeg,
950 **--without-libjpeg don't 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.0, [
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.2.X or 1.0.X?))
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 if test "$wxUSE_LIBJPEG" = 1 ; then
1300 AC_DEFINE_UNQUOTED(wxUSE_LIBJPEG,$wxUSE_LIBJPEG)
1301 JPEG_C_SRC="\$(JPEG_C_SRC)"
1302 fi
1303 AC_SUBST(JPEG_C_SRC)
1304
1305 JPEG_LINK=""
1306 dnl if test "$wxUSE_LIBJPEG" = 1 ; then
1307 dnl AC_DEFINE_UNQUOTED(wxUSE_LIBJPEG,$wxUSE_LIBJPEG)
1308 dnl AC_CHECK_LIB(jpeg,main,,AC_MSG_ERROR("libjpeg is not available."))
1309 dnl JPEG_LINK="-ljpeg"
1310 dnl fi
1311 AC_SUBST(JPEG_LINK)
1312
1313 IODBC_C_SRC=""
1314 if test "$wxUSE_ODBC" = 1 ; then
1315 AC_DEFINE_UNQUOTED(wxUSE_ODBC,$wxUSE_ODBC)
1316 IODBC_C_SRC="\$(IODBC_C_SRC)"
1317 fi
1318 AC_SUBST(IODBC_C_SRC)
1319
1320 dnl ----------------------------------------------------------------
1321 dnl Register non-GUI class options for makefiles and setup.h
1322 dnl ----------------------------------------------------------------
1323
1324 if test "$wxUSE_CONFIG" = 1 ; then
1325 AC_DEFINE_UNQUOTED(wxUSE_CONFIG,$wxUSE_CONFIG)
1326 fi
1327
1328 if test "$wxUSE_TIMEDATE" = 1 ; then
1329 AC_DEFINE_UNQUOTED(wxUSE_TIMEDATE,$wxUSE_TIMEDATE)
1330 fi
1331
1332 if test "$wxUSE_INTL" = 1 ; then
1333 AC_DEFINE_UNQUOTED(wxUSE_INTL,$wxUSE_INTL)
1334 fi
1335
1336 if test "$wxUSE_STREAMS" = 1 ; then
1337 AC_DEFINE_UNQUOTED(wxUSE_STREAMS,$wxUSE_STREAMS)
1338 fi
1339
1340 if test "$wxUSE_SOCKETS" = 1 ; then
1341 AC_DEFINE_UNQUOTED(wxUSE_SOCKETS,$wxUSE_SOCKETS)
1342 fi
1343
1344 if test "$wxUSE_SERIAL" = 1 ; then
1345 AC_DEFINE_UNQUOTED(wxUSE_SERIAL,$wxUSE_SERIAL)
1346 fi
1347
1348 dnl ------------------------------------------------------------------------
1349 dnl wxSocket
1350 dnl ------------------------------------------------------------------------
1351
1352 if test "$wxUSE_SOCKETS" = "1"; then
1353 dnl determine the type of third argument for getsockname
1354 AC_MSG_CHECKING(the type of the third argument of getsockname)
1355 AC_TRY_COMPILE(
1356 [#include <sys/socket.h>],
1357 [socklen_t len; getsockname(0, NULL, &len);],
1358 AC_DEFINE(SOCKLEN_T, socklen_t) AC_MSG_RESULT(socklen_t),
1359 AC_TRY_COMPILE(
1360 [#include <sys/socket.h>],
1361 [size_t len; getsockname(0, NULL, &len);],
1362 AC_DEFINE(SOCKLEN_T, size_t) AC_MSG_RESULT(size_t),
1363 AC_TRY_COMPILE(
1364 [#include <sys/socket.h>],
1365 [int len; getsockname(0, NULL, &len);],
1366 AC_DEFINE(SOCKLEN_T, int) AC_MSG_RESULT(int),
1367 AC_MSG_RESULT(unknown)
1368 )
1369 )
1370 )
1371 fi
1372
1373 dnl ------------------------------------------------------------------------
1374 dnl wxLibrary class
1375 dnl ------------------------------------------------------------------------
1376
1377 HAVE_DL_FUNCS=0
1378 if test "$wxUSE_DYNLIB_CLASS" = "1"; then
1379 dnl the test is a bit complicated because we check for dlopen() both with
1380 dnl and without -ldl
1381 AC_CHECK_FUNCS(dlopen,
1382 [AC_DEFINE(HAVE_DLOPEN) HAVE_DL_FUNCS=1],
1383 [AC_CHECK_LIB(dl, dlopen,
1384 [AC_DEFINE(HAVE_DLOPEN) HAVE_DL_FUNCS=1])])
1385 AC_CHECK_FUNCS(shl_load, [AC_DEFINE(HAVE_SHL_LOAD) HAVE_DL_FUNCS=1])
1386
1387 if test "$HAVE_DL_FUNCS" = 0; then
1388 AC_MSG_WARN("--with-dynlib will be disabled because no function was found to load a shared library on this platform")
1389
1390 wxUSE_DYNLIB_CLASS=0
1391 fi
1392 fi
1393
1394 if test "$wxUSE_DYNLIB_CLASS" = 1 ; then
1395 AC_DEFINE_UNQUOTED(wxUSE_DYNLIB_CLASS,$wxUSE_DYNLIB_CLASS)
1396 fi
1397
1398 dnl ----------------------------------------------------------------
1399 dnl Register Prolog and Resources options for makefiles and setup.h
1400 dnl ----------------------------------------------------------------
1401
1402 if test "$wxUSE_RPC" = 1 ; then
1403 AC_DEFINE_UNQUOTED(wxUSE_RPC,$wxUSE_RPC)
1404 fi
1405
1406 if test "$wxUSE_WX_RESOURCES" = 1 ; then
1407 AC_DEFINE_UNQUOTED(wxUSE_WX_RESOURCES,$wxUSE_WX_RESOURCES)
1408 fi
1409
1410 if test "$wxUSE_PROLOGIO" = 1 ; then
1411 AC_DEFINE_UNQUOTED(wxUSE_PROLOGIO)
1412 fi
1413
1414 dnl ----------------------------------------------------------------
1415 dnl Register PostScript options for makefiles and setup.h
1416 dnl ----------------------------------------------------------------
1417
1418 if test "$wxUSE_POSTSCRIPT" = 1 ; then
1419 AC_DEFINE_UNQUOTED(wxUSE_POSTSCRIPT)
1420 fi
1421
1422 AC_DEFINE_UNQUOTED(wxUSE_AFM_FOR_POSTSCRIPT,$wxUSE_AFM_FOR_POSTSCRIPT)
1423
1424 AC_DEFINE_UNQUOTED(WX_NORMALIZED_PS_FONTS,$WX_NORMALIZED_PS_FONTS)
1425
1426 dnl ----------------------------------------------------------------
1427 dnl Register architecture options for makefiles and setup.h
1428 dnl ----------------------------------------------------------------
1429
1430 if test "$wxUSE_MDI_ARCHITECTURE" = 1 ; then
1431 AC_DEFINE_UNQUOTED(wxUSE_MDI_ARCHITECTURE,$wxUSE_MDI_ARCHITECTURE)
1432 fi
1433
1434 if test "$wxUSE_DOC_VIEW_ARCHITECTURE" = 1 ; then
1435 AC_DEFINE_UNQUOTED(wxUSE_DOC_VIEW_ARCHITECTURE,$wxUSE_DOC_VIEW_ARCHITECTURE)
1436 fi
1437
1438 if test "$wxUSE_PRINTING_ARCHITECTURE" = 1 ; then
1439 AC_DEFINE_UNQUOTED(wxUSE_PRINTING_ARCHITECTURE,$wxUSE_PRINTING_ARCHITECTURE)
1440 fi
1441
1442 dnl ----------------------------------------------------------------
1443 dnl Register wxString options for makefiles and setup.h
1444 dnl ----------------------------------------------------------------
1445
1446 if test "$wxUSE_UNICODE" = 1 ; then
1447 AC_DEFINE_UNQUOTED(wxUSE_UNICODE)
1448 fi
1449
1450 if test "$wxUSE_WCSRTOMBS" = 1 ; then
1451 AC_DEFINE_UNQUOTED(wxUSE_WCSRTOMBS)
1452 fi
1453
1454 dnl ----------------------------------------------------------------
1455 dnl Register misc options for makefiles and setup.h
1456 dnl ----------------------------------------------------------------
1457
1458 if test "$wxUSE_IPC" = 1 ; then
1459 AC_DEFINE_UNQUOTED(wxUSE_IPC)
1460 fi
1461
1462 if test "$wxUSE_RESOURCES" = 1 ; then
1463 AC_DEFINE_UNQUOTED(wxUSE_RESOURCES,$wxUSE_RESOURCES)
1464 fi
1465
1466 if test "$wxUSE_CLIPBOARD" = 1 ; then
1467 AC_DEFINE_UNQUOTED(wxUSE_CLIPBOARD,$wxUSE_CLIPBOARD)
1468 fi
1469
1470 if test "$wxUSE_TOOLTIPS" = 1 ; then
1471 if test "$wxUSE_MOTIF" = 1; then
1472 AC_MSG_WARN(tooltips are not supported yet under Motif, sorry)
1473 wxUSE_TOOLTIPS=0
1474 fi
1475
1476 AC_DEFINE_UNQUOTED(wxUSE_TOOLTIPS,$wxUSE_TOOLTIPS)
1477 fi
1478
1479 if test "$wxUSE_DRAG_AND_DROP" = 1 ; then
1480 AC_DEFINE_UNQUOTED(wxUSE_DRAG_AND_DROP,$wxUSE_DRAG_AND_DROP)
1481 fi
1482
1483 dnl ----------------------------------------------------------------
1484 dnl No effect yet
1485 dnl ----------------------------------------------------------------
1486
1487 HELP=NONE
1488 if test "$wxUSE_HELP" = 1 ; then
1489 HELP="HELP"
1490 AC_DEFINE_UNQUOTED(wxUSE_HELP,$wxUSE_HELP)
1491 fi
1492 AC_SUBST(HELP)
1493
1494 dnl ----------------------------------------------------------------
1495 dnl thread support
1496 dnl ----------------------------------------------------------------
1497
1498 dnl defines UNIX_THREAD it contains the source file to use for threads. (GL)
1499 dnl defines THREADS_LINK it contains the thread library to link with. (GL)
1500 dnl defines wxUSE_THREADS if thread support is activated. (GL)
1501
1502 THREADS_LINK=""
1503 UNIX_THREAD=""
1504
1505 if test "$wxUSE_THREADS" = "1"; then
1506 dnl find if POSIX threads are available
1507
1508 dnl standard lib name is pthread
1509 dnl We no longer test for pthread-0.7 as it breaks compilation on some
1510 dnl glibc2 systems, especially for static linkage.
1511 AC_CHECK_LIB(pthread, pthread_create, [
1512 UNIX_THREAD="unix/threadpsx.cpp"
1513 THREADS_LINK="pthread"
1514 ], [
1515 dnl thread functions are in libc_r under FreeBSD
1516 AC_CHECK_LIB(c_r, pthread_create, [
1517 UNIX_THREAD="unix/threadpsx.cpp"
1518 THREADS_LINK="c_r"
1519 ], [
1520 dnl VZ: SGI threads are not supported currently
1521 AC_CHECK_HEADER(sys/prctl.h, [
1522 UNIX_THREAD="gtk/threadsgi.cpp"
1523 ])
1524 ])
1525 ])
1526 if test "$THREADS_LINK" != ""; then
1527 AC_DEFINE(wxUSE_THREADS)
1528 else
1529 AC_MSG_WARN(No thread support on this system)
1530 fi
1531 fi
1532
1533 if test -z "$UNIX_THREAD"; then
1534 wxUSE_THREADS=0
1535 fi
1536
1537 dnl do other tests only if we are using threads
1538 if test "$wxUSE_THREADS" = "1"; then
1539
1540 dnl define autoconf macro to check for given function in both pthread and
1541 dnl posix4 libraries
1542 dnl usage: AC_FUNC_THREAD(FUNCTION_NAME)
1543 dnl VZ: TODO
1544 dnl AC_DEFUN(AC_FUNC_THREAD,
1545 dnl [
1546 dnl AC_CHECK_LIB($THREADS_LINK, $1,
1547 dnl AC_DEFINE(HAVE_`'translit($1, `A-Z', 'a-z'),
1548 dnl [AC_CHECK_LIB("posix4", $1,
1549 dnl [AC_DEFINE(HAVE_`'translit($1, `A-Z', 'a-z'))
1550 dnl POSIX4_LINK="-lposix4"
1551 dnl ])
1552 dnl ])
1553 dnl ])
1554
1555 AC_CHECK_HEADERS(sched.h)
1556
1557 AC_CHECK_LIB($THREADS_LINK, sched_yield,
1558 AC_DEFINE(HAVE_SCHED_YIELD),
1559 [AC_CHECK_LIB("posix4", sched_yield,
1560 [AC_DEFINE(HAVE_SCHED_YIELD) POSIX4_LINK="-lposix4"],
1561 AC_MSG_WARN(wxThread::Yield() will not work properly)
1562 )]
1563 )
1564
1565 dnl VZ: we should be checking for all of the following functions instead:
1566 dnl 1. pthread_attr_getschedpolicy
1567 dnl 2. sched_get_priority_min and sched_get_priority_max
1568 dnl 3. pthread_attr_getschedparam and pthread_attr_setschedparam
1569 dnl but it seems that if the first one is there, the other ones are too (of
1570 dnl course the proper solution would be to implement AC_FUNC_THREAD above
1571 dnl and do test for them all - anyone?)
1572 AC_CHECK_LIB($THREADS_LINK, pthread_attr_getschedpolicy,
1573 AC_DEFINE(HAVE_THREAD_PRIORITY_FUNCTIONS),
1574 [AC_CHECK_LIB("posix4", pthread_attr_getschedpolicy,
1575 [AC_DEFINE(HAVE_THREAD_PRIORITY_FUNCTIONS) POSIX4_LINK="-lposix4"],
1576 AC_MSG_WARN(Setting thread priority will not work)
1577 )]
1578 )
1579
1580 AC_CHECK_LIB($THREADS_LINK, pthread_cancel,
1581 AC_DEFINE(HAVE_PTHREAD_CANCEL),
1582 AC_MSG_WARN(wxThread::Kill() will not work properly))
1583
1584 THREADS_LINK="-l$THREADS_LINK"
1585 fi
1586
1587 AC_SUBST(UNIX_THREAD)
1588 AC_SUBST(THREADS_LINK)
1589 AC_SUBST(POSIX4_LINK)
1590
1591 dnl ------------------------------------------------------------------------
1592 dnl compiler options for shared libs
1593 dnl ------------------------------------------------------------------------
1594
1595 PICFLAGS=
1596 CREATE_SHARED=
1597 case "${canonical}" in
1598 *-hp-hpux* )
1599 if test "$GCC" != "yes" ; then
1600 CXXFLAGS="${CXXFLAGS} +a1 -z -Aa -D_HPUX_SOURCE"
1601 CFLAGS="${CFLAGS} -z -D_HPUX_SOURCE"
1602 PICFLAGS="+z"
1603 else
1604 PICFLAGS="-fPIC"
1605 fi
1606 LDFLAGS="-Wl,+s"
1607 CREATE_SHARED=sharedHpux
1608 ;;
1609
1610 *-*-linux* )
1611 PICFLAGS=-fPIC
1612 CREATE_SHARED=sharedLinux
1613 ;;
1614
1615 *-*-irix5* | *-*-irix6* )
1616 # PICFLAGS can remain empty, as pic is the default
1617 LDFLAGS="-Wl,+s"
1618 CREATE_SHARED=sharedIrix
1619 AC_DEFINE(SVR4)
1620 ;;
1621
1622 *-*-solaris2* )
1623 if test "$GCC" != "yes" ; then
1624 PICFLAGS="-KPIC"
1625 else
1626 PICFLAGS="-fPIC"
1627 fi
1628 CREATE_SHARED=sharedSolaris2
1629 AC_DEFINE(SVR4)
1630 ;;
1631
1632 *-*-sunos4* )
1633 if test "$GCC" != "yes" ; then
1634 PICFLAGS="-PIC"
1635 else
1636 PICFLAGS="-fPIC"
1637 fi
1638 LDFLAGS="-Wl,+s"
1639 CREATE_SHARED=sharedSunos4
1640 AC_DEFINE(BSD)
1641 ;;
1642
1643 *-*-freebsd* | *-*-netbsd*)
1644 PICFLAGS=-fPIC
1645 CREATE_SHARED=sharedBsd
1646 AC_DEFINE(BSD)
1647 ;;
1648
1649 *-*-osf* )
1650 PICFLAGS="-fPIC"
1651 CREATE_SHARED=sharedOSF
1652 ;;
1653
1654 *-*-dgux5* )
1655 if test "$GCC" != "yes" ; then
1656 PICFLAGS="-K PIC"
1657 else
1658 PICFLAGS="-fPIC"
1659 fi
1660 CREATE_SHARED=sharedDgux
1661 AC_DEFINE(SVR4)
1662 ;;
1663
1664 *-*-sysv5* )
1665 if test "$GCC" != "yes" ; then
1666 PICFLAGS="-K PIC"
1667 else
1668 PICFLAGS="-fPIC"
1669 fi
1670 CREATE_SHARED=sharedSysV
1671 AC_DEFINE(SVR4)
1672 ;;
1673
1674 *-*-aix* )
1675 if test "$GCC" != "yes" ; then
1676 PICFLAGS="-bM\:SRE"
1677 else
1678 PICFLAGS="-fPIC -D__SYSV__"
1679 fi
1680 CREATE_SHARED=sharedAIX
1681 AC_DEFINE(SYSV)
1682 ;;
1683
1684 *)
1685 CREATE_SHARED=
1686 PICFLAGS=
1687 esac
1688
1689 if test "x$GCC" = xyes; then
1690 CFLAGS="${CFLAGS} -Wall -Wno-unused -Wno-uninitialized -D_REENTRANT -DLEX_SCANNER -DHAVE_LIBDL"
1691 fi
1692
1693 if test "x$GXX" = xyes; then
1694 if test "$wxUSE_MOTIF" = 1; then
1695 CXXFLAGS="${CXXFLAGS} -Wall -Wno-unused -D_REENTRANT"
1696 else
1697 CXXFLAGS="${CXXFLAGS} -Wall -D_REENTRANT"
1698 fi
1699 fi
1700
1701 if test "$wxUSE_SHARED" != 1; then
1702 CREATE_SHARED=
1703 PICFLAGS=
1704 fi
1705
1706 AC_SUBST(OS)
1707 AC_SUBST(PICFLAGS)
1708 AC_SUBST(CREATE_SHARED)
1709
1710 dnl ------------------------------------------------------------------------
1711 dnl finish and clean-up
1712 dnl ------------------------------------------------------------------------
1713
1714 dnl add OS to list of configured
1715 echo $OS >> system.list
1716
1717 TOOLKIT_DIR=`echo ${TOOLKIT} | tr "A-Z" "a-z"`
1718 AC_CONFIG_HEADER(./include/wx/${TOOLKIT_DIR}/setup.h:./setup/setup.hin)
1719
1720 AC_OUTPUT(./setup/substit ./wx-config:./wx-config.in,./setup/general/createall)
1721
1722 AC_OVERRIDES_DONE
1723