]> git.saurik.com Git - wxWidgets.git/blob - configure.in
Added configure patch for DEC
[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=0
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 Register non-GUI class options for makefiles and setup.h
1342 dnl ----------------------------------------------------------------
1343
1344 if test "$wxUSE_CONFIG" = 1 ; then
1345 AC_DEFINE_UNQUOTED(wxUSE_CONFIG,$wxUSE_CONFIG)
1346 fi
1347
1348 if test "$wxUSE_TIMEDATE" = 1 ; then
1349 AC_DEFINE_UNQUOTED(wxUSE_TIMEDATE,$wxUSE_TIMEDATE)
1350 fi
1351
1352 if test "$wxUSE_INTL" = 1 ; then
1353 AC_DEFINE_UNQUOTED(wxUSE_INTL,$wxUSE_INTL)
1354 fi
1355
1356 if test "$wxUSE_STREAMS" = 1 ; then
1357 AC_DEFINE_UNQUOTED(wxUSE_STREAMS,$wxUSE_STREAMS)
1358 fi
1359
1360 if test "$wxUSE_SOCKETS" = 1 ; then
1361 AC_DEFINE_UNQUOTED(wxUSE_SOCKETS,$wxUSE_SOCKETS)
1362 fi
1363
1364 if test "$wxUSE_SERIAL" = 1 ; then
1365 AC_DEFINE_UNQUOTED(wxUSE_SERIAL,$wxUSE_SERIAL)
1366 fi
1367
1368 dnl ------------------------------------------------------------------------
1369 dnl wxSocket
1370 dnl ------------------------------------------------------------------------
1371
1372 if test "$wxUSE_SOCKETS" = "1"; then
1373 AC_LANG_SAVE
1374 AC_LANG_CPLUSPLUS
1375 dnl determine the type of third argument for getsockname
1376 AC_MSG_CHECKING(the type of the third argument of getsockname)
1377 AC_TRY_COMPILE(
1378 [#include <sys/socket.h>],
1379 [socklen_t len; getsockname(0, NULL, &len);],
1380 AC_DEFINE(SOCKLEN_T, socklen_t) AC_MSG_RESULT(socklen_t),
1381 AC_TRY_COMPILE(
1382 [#include <sys/socket.h>],
1383 [size_t len; getsockname(0, NULL, &len);],
1384 AC_DEFINE(SOCKLEN_T, size_t) AC_MSG_RESULT(size_t),
1385 AC_TRY_COMPILE(
1386 [#include <sys/socket.h>],
1387 [int len; getsockname(0, NULL, &len);],
1388 AC_DEFINE(SOCKLEN_T, int) AC_MSG_RESULT(int),
1389 AC_MSG_RESULT(unknown)
1390 )
1391 )
1392 )
1393 AC_LANG_RESTORE
1394 fi
1395
1396 dnl ------------------------------------------------------------------------
1397 dnl wxLibrary class
1398 dnl ------------------------------------------------------------------------
1399
1400 HAVE_DL_FUNCS=0
1401 if test "$wxUSE_DYNLIB_CLASS" = "1"; then
1402 dnl the test is a bit complicated because we check for dlopen() both with
1403 dnl and without -ldl
1404 AC_CHECK_FUNCS(dlopen,
1405 [AC_DEFINE(HAVE_DLOPEN) HAVE_DL_FUNCS=1],
1406 [AC_CHECK_LIB(dl, dlopen,
1407 [AC_DEFINE(HAVE_DLOPEN) HAVE_DL_FUNCS=1])])
1408 AC_CHECK_FUNCS(shl_load, [AC_DEFINE(HAVE_SHL_LOAD) HAVE_DL_FUNCS=1])
1409
1410 if test "$HAVE_DL_FUNCS" = 0; then
1411 AC_MSG_WARN("--with-dynlib will be disabled because no function was found to load a shared library on this platform")
1412
1413 wxUSE_DYNLIB_CLASS=0
1414 fi
1415 fi
1416
1417 if test "$wxUSE_DYNLIB_CLASS" = 1 ; then
1418 AC_DEFINE_UNQUOTED(wxUSE_DYNLIB_CLASS,$wxUSE_DYNLIB_CLASS)
1419 fi
1420
1421 dnl ----------------------------------------------------------------
1422 dnl Register Prolog and Resources options for makefiles and setup.h
1423 dnl ----------------------------------------------------------------
1424
1425 if test "$wxUSE_RPC" = 1 ; then
1426 AC_DEFINE_UNQUOTED(wxUSE_RPC,$wxUSE_RPC)
1427 fi
1428
1429 if test "$wxUSE_WX_RESOURCES" = 1 ; then
1430 AC_DEFINE_UNQUOTED(wxUSE_WX_RESOURCES,$wxUSE_WX_RESOURCES)
1431 fi
1432
1433 if test "$wxUSE_PROLOGIO" = 1 ; then
1434 AC_DEFINE_UNQUOTED(wxUSE_PROLOGIO)
1435 fi
1436
1437 dnl ----------------------------------------------------------------
1438 dnl Register PostScript options for makefiles and setup.h
1439 dnl ----------------------------------------------------------------
1440
1441 if test "$wxUSE_POSTSCRIPT" = 1 ; then
1442 AC_DEFINE_UNQUOTED(wxUSE_POSTSCRIPT)
1443 fi
1444
1445 AC_DEFINE_UNQUOTED(wxUSE_AFM_FOR_POSTSCRIPT,$wxUSE_AFM_FOR_POSTSCRIPT)
1446
1447 AC_DEFINE_UNQUOTED(WX_NORMALIZED_PS_FONTS,$WX_NORMALIZED_PS_FONTS)
1448
1449 dnl ----------------------------------------------------------------
1450 dnl Register architecture options for makefiles and setup.h
1451 dnl ----------------------------------------------------------------
1452
1453 if test "$wxUSE_MDI_ARCHITECTURE" = 1 ; then
1454 AC_DEFINE_UNQUOTED(wxUSE_MDI_ARCHITECTURE,$wxUSE_MDI_ARCHITECTURE)
1455 fi
1456
1457 if test "$wxUSE_DOC_VIEW_ARCHITECTURE" = 1 ; then
1458 AC_DEFINE_UNQUOTED(wxUSE_DOC_VIEW_ARCHITECTURE,$wxUSE_DOC_VIEW_ARCHITECTURE)
1459 fi
1460
1461 if test "$wxUSE_PRINTING_ARCHITECTURE" = 1 ; then
1462 AC_DEFINE_UNQUOTED(wxUSE_PRINTING_ARCHITECTURE,$wxUSE_PRINTING_ARCHITECTURE)
1463 fi
1464
1465 dnl ----------------------------------------------------------------
1466 dnl Register wxString options for makefiles and setup.h
1467 dnl ----------------------------------------------------------------
1468
1469 if test "$wxUSE_UNICODE" = 1 ; then
1470 AC_DEFINE_UNQUOTED(wxUSE_UNICODE)
1471 fi
1472
1473 if test "$wxUSE_WCSRTOMBS" = 1 ; then
1474 AC_DEFINE_UNQUOTED(wxUSE_WCSRTOMBS)
1475 fi
1476
1477 dnl ----------------------------------------------------------------
1478 dnl Register misc options for makefiles and setup.h
1479 dnl ----------------------------------------------------------------
1480
1481 if test "$wxUSE_IPC" = 1 ; then
1482 AC_DEFINE_UNQUOTED(wxUSE_IPC)
1483 fi
1484
1485 if test "$wxUSE_RESOURCES" = 1 ; then
1486 AC_DEFINE_UNQUOTED(wxUSE_RESOURCES,$wxUSE_RESOURCES)
1487 fi
1488
1489 if test "$wxUSE_CLIPBOARD" = 1 ; then
1490 AC_DEFINE_UNQUOTED(wxUSE_CLIPBOARD,$wxUSE_CLIPBOARD)
1491 fi
1492
1493 if test "$wxUSE_TOOLTIPS" = 1 ; then
1494 if test "$wxUSE_MOTIF" = 1; then
1495 AC_MSG_WARN(tooltips are not supported yet under Motif, sorry)
1496 wxUSE_TOOLTIPS=0
1497 fi
1498
1499 AC_DEFINE_UNQUOTED(wxUSE_TOOLTIPS,$wxUSE_TOOLTIPS)
1500 fi
1501
1502 if test "$wxUSE_DRAG_AND_DROP" = 1 ; then
1503 if test "$WXGTK12" = 1 ; then
1504 AC_DEFINE_UNQUOTED(wxUSE_DRAG_AND_DROP,$wxUSE_DRAG_AND_DROP)
1505 else
1506 AC_MSG_WARN(drag and drop is only supported under GTK 1.2, sorry)
1507 wxUSE_DRAG_AND_DROP=0
1508 fi
1509 fi
1510
1511 dnl ----------------------------------------------------------------
1512 dnl No effect yet
1513 dnl ----------------------------------------------------------------
1514
1515 HELP=NONE
1516 if test "$wxUSE_HELP" = 1 ; then
1517 HELP="HELP"
1518 AC_DEFINE_UNQUOTED(wxUSE_HELP,$wxUSE_HELP)
1519 fi
1520 AC_SUBST(HELP)
1521
1522 dnl ----------------------------------------------------------------
1523 dnl thread support
1524 dnl ----------------------------------------------------------------
1525
1526 dnl defines UNIX_THREAD it contains the source file to use for threads. (GL)
1527 dnl defines THREADS_LINK it contains the thread library to link with. (GL)
1528 dnl defines wxUSE_THREADS if thread support is activated. (GL)
1529
1530 THREADS_LINK=""
1531 UNIX_THREAD=""
1532
1533 if test "$wxUSE_THREADS" = "1"; then
1534 dnl find if POSIX threads are available
1535
1536 dnl standard lib name is pthread
1537 dnl We no longer test for pthread-0.7 as it breaks compilation on some
1538 dnl glibc2 systems, especially for static linkage.
1539 AC_CHECK_LIB(pthread, pthread_create, [
1540 UNIX_THREAD="unix/threadpsx.cpp"
1541 THREADS_LINK="pthread"
1542 ], [
1543 dnl thread functions are in libc_r under FreeBSD
1544 AC_CHECK_LIB(c_r, pthread_create, [
1545 UNIX_THREAD="unix/threadpsx.cpp"
1546 THREADS_LINK="c_r"
1547 ], [
1548 dnl VZ: SGI threads are not supported currently
1549 AC_CHECK_HEADER(sys/prctl.h, [
1550 UNIX_THREAD="gtk/threadsgi.cpp"
1551 ])
1552 ])
1553 ])
1554 if test "$THREADS_LINK" != ""; then
1555 AC_DEFINE(wxUSE_THREADS)
1556 else
1557 AC_MSG_WARN(No thread support on this system)
1558 fi
1559 fi
1560
1561 if test -z "$UNIX_THREAD"; then
1562 wxUSE_THREADS=0
1563 fi
1564
1565 dnl do other tests only if we are using threads
1566 if test "$wxUSE_THREADS" = "1"; then
1567
1568 dnl define autoconf macro to check for given function in both pthread and
1569 dnl posix4 libraries
1570 dnl usage: AC_FUNC_THREAD(FUNCTION_NAME)
1571 dnl VZ: TODO
1572 dnl AC_DEFUN(AC_FUNC_THREAD,
1573 dnl [
1574 dnl AC_CHECK_LIB($THREADS_LINK, $1,
1575 dnl AC_DEFINE(HAVE_`'translit($1, `A-Z', 'a-z'),
1576 dnl [AC_CHECK_LIB("posix4", $1,
1577 dnl [AC_DEFINE(HAVE_`'translit($1, `A-Z', 'a-z'))
1578 dnl POSIX4_LINK="-lposix4"
1579 dnl ])
1580 dnl ])
1581 dnl ])
1582
1583 AC_CHECK_HEADERS(sched.h)
1584
1585 AC_CHECK_LIB($THREADS_LINK, sched_yield,
1586 AC_DEFINE(HAVE_SCHED_YIELD),
1587 [AC_CHECK_LIB("posix4", sched_yield,
1588 [AC_DEFINE(HAVE_SCHED_YIELD) POSIX4_LINK="-lposix4"],
1589 AC_MSG_WARN(wxThread::Yield() will not work properly)
1590 )]
1591 )
1592
1593 dnl VZ: we should be checking for all of the following functions instead:
1594 dnl 1. pthread_attr_getschedpolicy
1595 dnl 2. sched_get_priority_min and sched_get_priority_max
1596 dnl 3. pthread_attr_getschedparam and pthread_attr_setschedparam
1597 dnl but it seems that if the first one is there, the other ones are too (of
1598 dnl course the proper solution would be to implement AC_FUNC_THREAD above
1599 dnl and do test for them all - anyone?)
1600 AC_CHECK_LIB($THREADS_LINK, pthread_attr_getschedpolicy,
1601 AC_DEFINE(HAVE_THREAD_PRIORITY_FUNCTIONS),
1602 [AC_CHECK_LIB("posix4", pthread_attr_getschedpolicy,
1603 [AC_DEFINE(HAVE_THREAD_PRIORITY_FUNCTIONS) POSIX4_LINK="-lposix4"],
1604 AC_MSG_WARN(Setting thread priority will not work)
1605 )]
1606 )
1607
1608 AC_CHECK_LIB($THREADS_LINK, pthread_cancel,
1609 AC_DEFINE(HAVE_PTHREAD_CANCEL),
1610 AC_MSG_WARN(wxThread::Kill() will not work properly))
1611
1612 THREADS_LINK="-l$THREADS_LINK"
1613 fi
1614
1615 AC_SUBST(UNIX_THREAD)
1616 AC_SUBST(THREADS_LINK)
1617 AC_SUBST(POSIX4_LINK)
1618
1619 dnl ------------------------------------------------------------------------
1620 dnl compiler options for shared libs
1621 dnl ------------------------------------------------------------------------
1622
1623 PICFLAGS=
1624 CREATE_SHARED=
1625 case "${canonical}" in
1626 *-hp-hpux* )
1627 if test "$GCC" != "yes" ; then
1628 CXXFLAGS="${CXXFLAGS} +a1 -z -Aa -D_HPUX_SOURCE"
1629 CFLAGS="${CFLAGS} -z -D_HPUX_SOURCE"
1630 PICFLAGS="+z"
1631 else
1632 PICFLAGS="-fPIC"
1633 fi
1634 LDFLAGS="-Wl,+s"
1635 CREATE_SHARED=sharedHpux
1636 ;;
1637
1638 *-*-linux* )
1639 PICFLAGS=-fPIC
1640 CREATE_SHARED=sharedLinux
1641 ;;
1642
1643 *-*-irix5* | *-*-irix6* )
1644 # PICFLAGS can remain empty, as pic is the default
1645 LDFLAGS="-Wl,+s"
1646 CREATE_SHARED=sharedIrix
1647 AC_DEFINE(SVR4)
1648 ;;
1649
1650 *-*-solaris2* )
1651 if test "$GCC" != "yes" ; then
1652 PICFLAGS="-KPIC"
1653 else
1654 PICFLAGS="-fPIC"
1655 fi
1656 CREATE_SHARED=sharedSolaris2
1657 AC_DEFINE(SVR4)
1658 ;;
1659
1660 *-*-sunos4* )
1661 if test "$GCC" != "yes" ; then
1662 PICFLAGS="-PIC"
1663 else
1664 PICFLAGS="-fPIC"
1665 fi
1666 LDFLAGS="-Wl,+s"
1667 CREATE_SHARED=sharedSunos4
1668 AC_DEFINE(BSD)
1669 ;;
1670
1671 *-*-freebsd* | *-*-netbsd*)
1672 PICFLAGS=-fPIC
1673 CREATE_SHARED=sharedBsd
1674 AC_DEFINE(BSD)
1675 ;;
1676
1677 *-*-osf* )
1678 PICFLAGS="-fPIC"
1679 CREATE_SHARED=sharedOSF
1680 ;;
1681
1682 *-*-dgux5* )
1683 if test "$GCC" != "yes" ; then
1684 PICFLAGS="-K PIC"
1685 else
1686 PICFLAGS="-fPIC"
1687 fi
1688 CREATE_SHARED=sharedDgux
1689 AC_DEFINE(SVR4)
1690 ;;
1691
1692 *-*-sysv5* )
1693 if test "$GCC" != "yes" ; then
1694 PICFLAGS="-K PIC"
1695 else
1696 PICFLAGS="-fPIC"
1697 fi
1698 CREATE_SHARED=sharedSysV
1699 AC_DEFINE(SVR4)
1700 ;;
1701
1702 *-*-aix* )
1703 if test "$GCC" != "yes" ; then
1704 PICFLAGS="-bM\:SRE"
1705 else
1706 PICFLAGS="-fPIC -D__SYSV__"
1707 fi
1708 CREATE_SHARED=sharedAIX
1709 AC_DEFINE(SYSV)
1710 ;;
1711
1712 *)
1713 CREATE_SHARED=
1714 PICFLAGS=
1715 esac
1716
1717 if test "x$GCC" = xyes; then
1718 CFLAGS="${CFLAGS} -Wall -Wno-unused -Wno-uninitialized -D_REENTRANT -DLEX_SCANNER -DHAVE_LIBDL"
1719 fi
1720
1721 if test "x$GXX" = xyes; then
1722 if test "$wxUSE_MOTIF" = 1; then
1723 CXXFLAGS="${CXXFLAGS} -Wall -Wno-unused -D_REENTRANT"
1724 else
1725 CXXFLAGS="${CXXFLAGS} -Wall -D_REENTRANT"
1726 fi
1727 fi
1728
1729 if test "$wxUSE_SHARED" != 1; then
1730 CREATE_SHARED=
1731 PICFLAGS=
1732 fi
1733
1734 AC_SUBST(OS)
1735 AC_SUBST(PICFLAGS)
1736 AC_SUBST(CREATE_SHARED)
1737
1738 dnl ------------------------------------------------------------------------
1739 dnl finish and clean-up
1740 dnl ------------------------------------------------------------------------
1741
1742 dnl add OS to list of configured
1743 echo $OS >> system.list
1744
1745 TOOLKIT_DIR=`echo ${TOOLKIT} | tr "A-Z" "a-z"`
1746 AC_CONFIG_HEADER(./include/wx/${TOOLKIT_DIR}/setup.h:./setup/setup.hin)
1747
1748 AC_OUTPUT(./setup/substit ./wx-config:./wx-config.in,./setup/general/createall)
1749
1750 AC_OVERRIDES_DONE
1751