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