]> git.saurik.com Git - wxWidgets.git/blob - configure.in
* Committing new wxSocket core (socket.cpp sckint.cpp). It has to be improved ...
[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 if test "$wxUSE_GTK" = 1; then
1115 AM_PATH_GTK(1.0.0, [
1116 GUI_TK_INCLUDE="$GTK_CFLAGS"
1117 GUI_TK_LIBRARY="$GTK_LIBS"
1118 ], AC_MSG_ERROR(Is gtk-config in path and GTK+ is version 1.2.X or 1.0.X?))
1119 TOOLKIT=GTK
1120 TOOLKIT_DEF=__WXGTK__
1121 WX_LINK=-lwx_gtk2
1122 MAKEINCLUDE=../gtk.inc
1123 fi
1124
1125 if test "$wxUSE_QT" = 1; then
1126 AC_MSG_CHECKING(for Qt includes)
1127 AC_PATH_FIND_INCLUDES($SEARCH_INCLUDE,qapp.h)
1128 if test "$ac_find_includes" != "" ; then
1129 AC_MSG_RESULT(found $ac_find_includes)
1130 AC_MSG_CHECKING(for Qt library)
1131 AC_PATH_FIND_LIBRARIES($SEARCH_LIB,qt)
1132 if test "$ac_find_libraries" != "" ; then
1133 AC_INCLUDE_PATH_EXIST($ac_find_includes,$CHECK_INCLUDE)
1134 AC_LINK_PATH_EXIST($ac_find_libraries,$CHECK_LIB)
1135 CHECK_LINK="$CHECK_INCLUDE $ac_path_to_link"
1136 CHECK_INCLUDE="$CHECK_INCLUDE $ac_path_to_include"
1137 AC_MSG_RESULT(found Qt at $ac_find_libraries)
1138 else
1139 AC_MSG_ERROR(no)
1140 fi
1141 else
1142 AC_MSG_ERROR(no)
1143 fi
1144 GUI_TK_LINK="-lX11 -lqt -lm"
1145 TOOLKIT=QT
1146 TOOLKIT_DEF=__WXQT__
1147 WX_LINK=-lwx_qt
1148 MAKEINCLUDE=../qt.inc
1149 fi
1150
1151 if test "$wxUSE_MOTIF" = 1; then
1152 AC_MSG_CHECKING(for Motif/Lesstif includes)
1153 AC_PATH_FIND_INCLUDES($SEARCH_INCLUDE, Xm/Xm.h)
1154 if test "$ac_find_includes" != "" ; then
1155 AC_MSG_RESULT(found $ac_find_includes)
1156 else
1157 AC_MSG_RESULT(no)
1158 AC_MSG_ERROR(please set CFLAGS to contain the location of Xm/Xm.h)
1159 fi
1160
1161 AC_MSG_CHECKING(for Motif/Lesstif library)
1162 AC_PATH_FIND_LIBRARIES($SEARCH_LIB, Xm)
1163 if test "$ac_find_libraries" != "" ; then
1164 AC_INCLUDE_PATH_EXIST($ac_find_includes, $CHECK_INCLUDE)
1165 AC_LINK_PATH_EXIST($ac_find_libraries, $CHECK_LIB)
1166
1167 CHECK_LINK="$CHECK_LIB $ac_path_to_link"
1168 CHECK_INCLUDE="$CHECK_INCLUDE $ac_path_to_include"
1169 AC_MSG_RESULT(found at $ac_find_libraries)
1170 else
1171 AC_MSG_RESULT(no)
1172 AC_MSG_ERROR(please set LDFLAGS to contain the location of libXm)
1173 fi
1174
1175 AC_MSG_CHECKING(for Xt library)
1176 AC_PATH_FIND_LIBRARIES($SEARCH_LIB,Xt)
1177 if test "$ac_find_libraries" != "" ; then
1178 AC_LINK_PATH_EXIST($ac_find_libraries,$CHECK_LIB)
1179 CHECK_LINK="$CHECK_LIB $ac_path_to_link"
1180 AC_MSG_RESULT(found at $ac_find_libraries)
1181 else
1182 AC_MSG_RESULT(no)
1183 AC_MSG_ERROR(please set LDFLAGS to contain the location of libXt)
1184 fi
1185
1186 XPM_LINK=""
1187 AC_MSG_CHECKING(for Xpm library)
1188 AC_PATH_FIND_LIBRARIES($SEARCH_LIB,Xpm)
1189 if test "$ac_find_libraries" != "" ; then
1190 AC_LINK_PATH_EXIST($ac_find_libraries,$CHECK_LIB)
1191 CHECK_LINK="$CHECK_LIB $ac_path_to_link"
1192 XPM_LINK="-lXpm "
1193 AC_DEFINE(wxHAVE_LIB_XPM)
1194 AC_MSG_RESULT(found at $ac_find_libraries)
1195 else
1196 AC_MSG_RESULT(no)
1197 AC_MSG_WARN(library will be compiled without support for images in XPM format)
1198 fi
1199
1200 GUI_TK_LINK="-lXm $(XPM_LINK)-lXmu -lXt -lX11 -lm"
1201 GUI_TK_LIBRARY="$CHECK_LIB $GUI_TK_LINK"
1202 TOOLKIT=MOTIF
1203 TOOLKIT_DEF=__WXMOTIF__
1204 WX_LINK=-lwx_motif2
1205 MAKEINCLUDE=../motif.inc
1206 fi
1207
1208 if test "$TOOLKIT" = ""; then
1209 AC_MSG_ERROR(You must specify a toolkit: --with-gtk --with-qt --with-motif)
1210 fi
1211
1212 AC_SUBST(GUI_TK_INCLUDE)
1213 AC_SUBST(GUI_TK_LIBRARY)
1214 AC_SUBST(GUI_TK_LINK)
1215
1216 AC_SUBST(WX_LINK)
1217
1218 AC_SUBST(TOOLKIT)
1219 AC_SUBST(TOOLKIT_DEF)
1220
1221 AC_SUBST(MAKEINCLUDE)
1222
1223 dnl ----------------------------------------------------------------
1224 dnl Register compile options for makefiles and setup.h
1225 dnl ----------------------------------------------------------------
1226
1227 EXTRA_LINK=
1228
1229 WXDEBUG=
1230 if test "$wxUSE_DEBUG_GDB" = 1 ; then
1231 wxUSE_DEBUG_INFO=1
1232 WXDEBUG="-ggdb"
1233 fi
1234
1235 if test "$wxUSE_DEBUG_INFO" = 1 ; then
1236 WXDEBUG="-g"
1237 wxUSE_OPTIMISE=0
1238 fi
1239
1240 AC_SUBST(WXDEBUG)
1241
1242 if test "$wxUSE_DEBUG_FLAG" = 1 ; then
1243 AC_DEFINE_UNQUOTED(WXDEBUG,$wxUSE_DEBUG_FLAG)
1244 WXDEBUG_DEFINE="-D__WXDEBUG__"
1245 AC_SUBST(WXDEBUG_DEFINE)
1246 else
1247 WXDEBUG_DEFINE="-DGTK_NO_CHECK_CASTS"
1248 AC_SUBST(WXDEBUG_DEFINE)
1249 fi
1250
1251 if test "$wxUSE_MEM_TRACING" = 1 ; then
1252 AC_DEFINE_UNQUOTED(wxUSE_MEMORY_TRACING,$wxUSE_MEM_TRACING)
1253 AC_DEFINE_UNQUOTED(wxUSE_GLOBAL_MEMORY_OPERATORS,$wxUSE_MEM_TRACING)
1254 fi
1255
1256 if test "$wxUSE_DMALLOC" = 1 ; then
1257 EXTRA_LINK="$EXTRA_LINK -ldmalloc"
1258 fi
1259 AC_SUBST(EXTRA_LINK)
1260
1261 PROFILE=
1262 if test "$wxUSE_PROFILE" = 1 ; then
1263 PROFILE="-pg"
1264 fi
1265 AC_SUBST(PROFILE)
1266
1267 CXXFLAGS=`echo "${CXXFLAGS}" | sed "s/\-O.//g" `
1268 CFLAGS=`echo "${CFLAGS}" | sed "s/\-O.//g" `
1269 if test "$wxUSE_OPTIMISE" = 0 ; then
1270 OPTIMISE=
1271 else
1272 if test "$GCC" = yes ; then
1273 OPTIMISE="-O2"
1274 case "${canonical}" in
1275 i586-*-*|i686-*-* )
1276 OPTIMISE="${OPTIMISE} "
1277 ;;
1278 esac
1279 else
1280 OPTIMISE="-O"
1281 fi
1282 fi
1283 AC_SUBST(OPTIMISE)
1284
1285 APPLE_IEEE=NONE
1286 if test "$wxUSE_APPLE_IEEE" = 1 ; then
1287 APPLE_IEEE="APPLE_IEEE"
1288 AC_DEFINE_UNQUOTED(wxUSE_APPLE_IEEE,$wxUSE_APPLE_IEEE)
1289 fi
1290
1291 wxUSE_IOSTREAMH=$DEFAULT_wxUSE_IOSTREAMH
1292 AC_DEFINE_UNQUOTED(wxUSE_IOSTREAMH,$wxUSE_IOSTREAMH)
1293
1294 dnl ----------------------------------------------------------------
1295 dnl Register library options for makefiles and setup.h
1296 dnl ----------------------------------------------------------------
1297
1298 if test "$wxUSE_ZLIB" = 1 ; then
1299 AC_DEFINE_UNQUOTED(wxUSE_ZLIB,$wxUSE_ZLIB)
1300 Z_C_SRC="\$(Z_C_SRC)"
1301 fi
1302 AC_SUBST(Z_C_SRC)
1303
1304 if test "$wxUSE_LIBPNG" = 1 ; then
1305 AC_DEFINE_UNQUOTED(wxUSE_LIBPNG,$wxUSE_LIBPNG)
1306 PNG_C_SRC="\$(PNG_C_SRC)"
1307 fi
1308 AC_SUBST(PNG_C_SRC)
1309
1310 if test "$wxUSE_LIBJPEG" = 1 ; then
1311 AC_DEFINE_UNQUOTED(wxUSE_LIBJPEG,$wxUSE_LIBJPEG)
1312 JPEG_C_SRC="\$(JPEG_C_SRC)"
1313 fi
1314 AC_SUBST(JPEG_C_SRC)
1315
1316 JPEG_LINK=""
1317 dnl if test "$wxUSE_LIBJPEG" = 1 ; then
1318 dnl AC_DEFINE_UNQUOTED(wxUSE_LIBJPEG,$wxUSE_LIBJPEG)
1319 dnl AC_CHECK_LIB(jpeg,main,,AC_MSG_ERROR("libjpeg is not available."))
1320 dnl JPEG_LINK="-ljpeg"
1321 dnl fi
1322 AC_SUBST(JPEG_LINK)
1323
1324 IODBC_C_SRC=""
1325 if test "$wxUSE_ODBC" = 1 ; then
1326 AC_DEFINE_UNQUOTED(wxUSE_ODBC,$wxUSE_ODBC)
1327 IODBC_C_SRC="\$(IODBC_C_SRC)"
1328 fi
1329 AC_SUBST(IODBC_C_SRC)
1330
1331 dnl ----------------------------------------------------------------
1332 dnl Register non-GUI class options for makefiles and setup.h
1333 dnl ----------------------------------------------------------------
1334
1335 if test "$wxUSE_CONFIG" = 1 ; then
1336 AC_DEFINE_UNQUOTED(wxUSE_CONFIG,$wxUSE_CONFIG)
1337 fi
1338
1339 if test "$wxUSE_TIMEDATE" = 1 ; then
1340 AC_DEFINE_UNQUOTED(wxUSE_TIMEDATE,$wxUSE_TIMEDATE)
1341 fi
1342
1343 if test "$wxUSE_INTL" = 1 ; then
1344 AC_DEFINE_UNQUOTED(wxUSE_INTL,$wxUSE_INTL)
1345 fi
1346
1347 if test "$wxUSE_STREAMS" = 1 ; then
1348 AC_DEFINE_UNQUOTED(wxUSE_STREAMS,$wxUSE_STREAMS)
1349 fi
1350
1351 if test "$wxUSE_SOCKETS" = 1 ; then
1352 AC_DEFINE_UNQUOTED(wxUSE_SOCKETS,$wxUSE_SOCKETS)
1353 fi
1354
1355 if test "$wxUSE_SERIAL" = 1 ; then
1356 AC_DEFINE_UNQUOTED(wxUSE_SERIAL,$wxUSE_SERIAL)
1357 fi
1358
1359 dnl ------------------------------------------------------------------------
1360 dnl wxSocket
1361 dnl ------------------------------------------------------------------------
1362
1363 if test "$wxUSE_SOCKETS" = "1"; then
1364 dnl determine the type of third argument for getsockname
1365 AC_MSG_CHECKING(the type of the third argument of getsockname)
1366 AC_TRY_COMPILE(
1367 [#include <sys/socket.h>],
1368 [socklen_t len; getsockname(0, NULL, &len);],
1369 AC_DEFINE(SOCKLEN_T, socklen_t) AC_MSG_RESULT(socklen_t),
1370 AC_TRY_COMPILE(
1371 [#include <sys/socket.h>],
1372 [size_t len; getsockname(0, NULL, &len);],
1373 AC_DEFINE(SOCKLEN_T, size_t) AC_MSG_RESULT(size_t),
1374 AC_TRY_COMPILE(
1375 [#include <sys/socket.h>],
1376 [int len; getsockname(0, NULL, &len);],
1377 AC_DEFINE(SOCKLEN_T, int) AC_MSG_RESULT(int),
1378 AC_MSG_RESULT(unknown)
1379 )
1380 )
1381 )
1382 fi
1383
1384 dnl ------------------------------------------------------------------------
1385 dnl wxLibrary class
1386 dnl ------------------------------------------------------------------------
1387
1388 HAVE_DL_FUNCS=0
1389 if test "$wxUSE_DYNLIB_CLASS" = "1"; then
1390 dnl the test is a bit complicated because we check for dlopen() both with
1391 dnl and without -ldl
1392 AC_CHECK_FUNCS(dlopen,
1393 [AC_DEFINE(HAVE_DLOPEN) HAVE_DL_FUNCS=1],
1394 [AC_CHECK_LIB(dl, dlopen,
1395 [AC_DEFINE(HAVE_DLOPEN) HAVE_DL_FUNCS=1])])
1396 AC_CHECK_FUNCS(shl_load, [AC_DEFINE(HAVE_SHL_LOAD) HAVE_DL_FUNCS=1])
1397
1398 if test "$HAVE_DL_FUNCS" = 0; then
1399 AC_MSG_WARN("--with-dynlib will be disabled because no function was found to load a shared library on this platform")
1400
1401 wxUSE_DYNLIB_CLASS=0
1402 fi
1403 fi
1404
1405 if test "$wxUSE_DYNLIB_CLASS" = 1 ; then
1406 AC_DEFINE_UNQUOTED(wxUSE_DYNLIB_CLASS,$wxUSE_DYNLIB_CLASS)
1407 fi
1408
1409 dnl ----------------------------------------------------------------
1410 dnl Register Prolog and Resources options for makefiles and setup.h
1411 dnl ----------------------------------------------------------------
1412
1413 if test "$wxUSE_RPC" = 1 ; then
1414 AC_DEFINE_UNQUOTED(wxUSE_RPC,$wxUSE_RPC)
1415 fi
1416
1417 if test "$wxUSE_WX_RESOURCES" = 1 ; then
1418 AC_DEFINE_UNQUOTED(wxUSE_WX_RESOURCES,$wxUSE_WX_RESOURCES)
1419 fi
1420
1421 if test "$wxUSE_PROLOGIO" = 1 ; then
1422 AC_DEFINE_UNQUOTED(wxUSE_PROLOGIO)
1423 fi
1424
1425 dnl ----------------------------------------------------------------
1426 dnl Register PostScript options for makefiles and setup.h
1427 dnl ----------------------------------------------------------------
1428
1429 if test "$wxUSE_POSTSCRIPT" = 1 ; then
1430 AC_DEFINE_UNQUOTED(wxUSE_POSTSCRIPT)
1431 fi
1432
1433 AC_DEFINE_UNQUOTED(wxUSE_AFM_FOR_POSTSCRIPT,$wxUSE_AFM_FOR_POSTSCRIPT)
1434
1435 AC_DEFINE_UNQUOTED(WX_NORMALIZED_PS_FONTS,$WX_NORMALIZED_PS_FONTS)
1436
1437 dnl ----------------------------------------------------------------
1438 dnl Register architecture options for makefiles and setup.h
1439 dnl ----------------------------------------------------------------
1440
1441 if test "$wxUSE_MDI_ARCHITECTURE" = 1 ; then
1442 AC_DEFINE_UNQUOTED(wxUSE_MDI_ARCHITECTURE,$wxUSE_MDI_ARCHITECTURE)
1443 fi
1444
1445 if test "$wxUSE_DOC_VIEW_ARCHITECTURE" = 1 ; then
1446 AC_DEFINE_UNQUOTED(wxUSE_DOC_VIEW_ARCHITECTURE,$wxUSE_DOC_VIEW_ARCHITECTURE)
1447 fi
1448
1449 if test "$wxUSE_PRINTING_ARCHITECTURE" = 1 ; then
1450 AC_DEFINE_UNQUOTED(wxUSE_PRINTING_ARCHITECTURE,$wxUSE_PRINTING_ARCHITECTURE)
1451 fi
1452
1453 dnl ----------------------------------------------------------------
1454 dnl Register wxString options for makefiles and setup.h
1455 dnl ----------------------------------------------------------------
1456
1457 if test "$wxUSE_UNICODE" = 1 ; then
1458 AC_DEFINE_UNQUOTED(wxUSE_UNICODE)
1459 fi
1460
1461 if test "$wxUSE_WCSRTOMBS" = 1 ; then
1462 AC_DEFINE_UNQUOTED(wxUSE_WCSRTOMBS)
1463 fi
1464
1465 dnl ----------------------------------------------------------------
1466 dnl Register misc options for makefiles and setup.h
1467 dnl ----------------------------------------------------------------
1468
1469 if test "$wxUSE_IPC" = 1 ; then
1470 AC_DEFINE_UNQUOTED(wxUSE_IPC)
1471 fi
1472
1473 if test "$wxUSE_RESOURCES" = 1 ; then
1474 AC_DEFINE_UNQUOTED(wxUSE_RESOURCES,$wxUSE_RESOURCES)
1475 fi
1476
1477 if test "$wxUSE_CLIPBOARD" = 1 ; then
1478 AC_DEFINE_UNQUOTED(wxUSE_CLIPBOARD,$wxUSE_CLIPBOARD)
1479 fi
1480
1481 if test "$wxUSE_TOOLTIPS" = 1 ; then
1482 if test "$wxUSE_MOTIF" = 1; then
1483 AC_MSG_WARN(tooltips are not supported yet under Motif, sorry)
1484 wxUSE_TOOLTIPS=0
1485 fi
1486
1487 AC_DEFINE_UNQUOTED(wxUSE_TOOLTIPS,$wxUSE_TOOLTIPS)
1488 fi
1489
1490 if test "$wxUSE_DRAG_AND_DROP" = 1 ; then
1491 AC_DEFINE_UNQUOTED(wxUSE_DRAG_AND_DROP,$wxUSE_DRAG_AND_DROP)
1492 fi
1493
1494 dnl ----------------------------------------------------------------
1495 dnl No effect yet
1496 dnl ----------------------------------------------------------------
1497
1498 HELP=NONE
1499 if test "$wxUSE_HELP" = 1 ; then
1500 HELP="HELP"
1501 AC_DEFINE_UNQUOTED(wxUSE_HELP,$wxUSE_HELP)
1502 fi
1503 AC_SUBST(HELP)
1504
1505 dnl ----------------------------------------------------------------
1506 dnl thread support
1507 dnl ----------------------------------------------------------------
1508
1509 dnl defines UNIX_THREAD it contains the source file to use for threads. (GL)
1510 dnl defines THREADS_LINK it contains the thread library to link with. (GL)
1511 dnl defines wxUSE_THREADS if thread support is activated. (GL)
1512
1513 THREADS_LINK=""
1514 UNIX_THREAD=""
1515
1516 if test "$wxUSE_THREADS" = "1"; then
1517 dnl find if POSIX threads are available
1518
1519 dnl standard lib name is pthread
1520 dnl We no longer test for pthread-0.7 as it breaks compilation on some
1521 dnl glibc2 systems, especially for static linkage.
1522 AC_CHECK_LIB(pthread, pthread_create, [
1523 UNIX_THREAD="unix/threadpsx.cpp"
1524 THREADS_LINK="pthread"
1525 ], [
1526 dnl thread functions are in libc_r under FreeBSD
1527 AC_CHECK_LIB(c_r, pthread_create, [
1528 UNIX_THREAD="unix/threadpsx.cpp"
1529 THREADS_LINK="c_r"
1530 ], [
1531 dnl VZ: SGI threads are not supported currently
1532 AC_CHECK_HEADER(sys/prctl.h, [
1533 UNIX_THREAD="gtk/threadsgi.cpp"
1534 ])
1535 ])
1536 ])
1537 if test "$THREADS_LINK" != ""; then
1538 AC_DEFINE(wxUSE_THREADS)
1539 else
1540 AC_MSG_WARN(No thread support on this system)
1541 fi
1542 fi
1543
1544 if test -z "$UNIX_THREAD"; then
1545 wxUSE_THREADS=0
1546 fi
1547
1548 dnl do other tests only if we are using threads
1549 if test "$wxUSE_THREADS" = "1"; then
1550
1551 dnl define autoconf macro to check for given function in both pthread and
1552 dnl posix4 libraries
1553 dnl usage: AC_FUNC_THREAD(FUNCTION_NAME)
1554 dnl VZ: TODO
1555 dnl AC_DEFUN(AC_FUNC_THREAD,
1556 dnl [
1557 dnl AC_CHECK_LIB($THREADS_LINK, $1,
1558 dnl AC_DEFINE(HAVE_`'translit($1, `A-Z', 'a-z'),
1559 dnl [AC_CHECK_LIB("posix4", $1,
1560 dnl [AC_DEFINE(HAVE_`'translit($1, `A-Z', 'a-z'))
1561 dnl POSIX4_LINK="-lposix4"
1562 dnl ])
1563 dnl ])
1564 dnl ])
1565
1566 AC_CHECK_HEADERS(sched.h)
1567
1568 AC_CHECK_LIB($THREADS_LINK, sched_yield,
1569 AC_DEFINE(HAVE_SCHED_YIELD),
1570 [AC_CHECK_LIB("posix4", sched_yield,
1571 [AC_DEFINE(HAVE_SCHED_YIELD) POSIX4_LINK="-lposix4"],
1572 AC_MSG_WARN(wxThread::Yield() will not work properly)
1573 )]
1574 )
1575
1576 dnl VZ: we should be checking for all of the following functions instead:
1577 dnl 1. pthread_attr_getschedpolicy
1578 dnl 2. sched_get_priority_min and sched_get_priority_max
1579 dnl 3. pthread_attr_getschedparam and pthread_attr_setschedparam
1580 dnl but it seems that if the first one is there, the other ones are too (of
1581 dnl course the proper solution would be to implement AC_FUNC_THREAD above
1582 dnl and do test for them all - anyone?)
1583 AC_CHECK_LIB($THREADS_LINK, pthread_attr_getschedpolicy,
1584 AC_DEFINE(HAVE_THREAD_PRIORITY_FUNCTIONS),
1585 [AC_CHECK_LIB("posix4", pthread_attr_getschedpolicy,
1586 [AC_DEFINE(HAVE_THREAD_PRIORITY_FUNCTIONS) POSIX4_LINK="-lposix4"],
1587 AC_MSG_WARN(Setting thread priority will not work)
1588 )]
1589 )
1590
1591 AC_CHECK_LIB($THREADS_LINK, pthread_cancel,
1592 AC_DEFINE(HAVE_PTHREAD_CANCEL),
1593 AC_MSG_WARN(wxThread::Kill() will not work properly))
1594
1595 THREADS_LINK="-l$THREADS_LINK"
1596 fi
1597
1598 AC_SUBST(UNIX_THREAD)
1599 AC_SUBST(THREADS_LINK)
1600 AC_SUBST(POSIX4_LINK)
1601
1602 dnl ------------------------------------------------------------------------
1603 dnl compiler options for shared libs
1604 dnl ------------------------------------------------------------------------
1605
1606 PICFLAGS=
1607 CREATE_SHARED=
1608 case "${canonical}" in
1609 *-hp-hpux* )
1610 if test "$GCC" != "yes" ; then
1611 CXXFLAGS="${CXXFLAGS} +a1 -z -Aa -D_HPUX_SOURCE"
1612 CFLAGS="${CFLAGS} -z -D_HPUX_SOURCE"
1613 PICFLAGS="+z"
1614 else
1615 PICFLAGS="-fPIC"
1616 fi
1617 LDFLAGS="-Wl,+s"
1618 CREATE_SHARED=sharedHpux
1619 ;;
1620
1621 *-*-linux* )
1622 PICFLAGS=-fPIC
1623 CREATE_SHARED=sharedLinux
1624 ;;
1625
1626 *-*-irix5* | *-*-irix6* )
1627 # PICFLAGS can remain empty, as pic is the default
1628 LDFLAGS="-Wl,+s"
1629 CREATE_SHARED=sharedIrix
1630 AC_DEFINE(SVR4)
1631 ;;
1632
1633 *-*-solaris2* )
1634 if test "$GCC" != "yes" ; then
1635 PICFLAGS="-KPIC"
1636 else
1637 PICFLAGS="-fPIC"
1638 fi
1639 CREATE_SHARED=sharedSolaris2
1640 AC_DEFINE(SVR4)
1641 ;;
1642
1643 *-*-sunos4* )
1644 if test "$GCC" != "yes" ; then
1645 PICFLAGS="-PIC"
1646 else
1647 PICFLAGS="-fPIC"
1648 fi
1649 LDFLAGS="-Wl,+s"
1650 CREATE_SHARED=sharedSunos4
1651 AC_DEFINE(BSD)
1652 ;;
1653
1654 *-*-freebsd* | *-*-netbsd*)
1655 PICFLAGS=-fPIC
1656 CREATE_SHARED=sharedBsd
1657 AC_DEFINE(BSD)
1658 ;;
1659
1660 *-*-osf* )
1661 PICFLAGS="-fPIC"
1662 CREATE_SHARED=sharedOSF
1663 ;;
1664
1665 *-*-dgux5* )
1666 if test "$GCC" != "yes" ; then
1667 PICFLAGS="-K PIC"
1668 else
1669 PICFLAGS="-fPIC"
1670 fi
1671 CREATE_SHARED=sharedDgux
1672 AC_DEFINE(SVR4)
1673 ;;
1674
1675 *-*-sysv5* )
1676 if test "$GCC" != "yes" ; then
1677 PICFLAGS="-K PIC"
1678 else
1679 PICFLAGS="-fPIC"
1680 fi
1681 CREATE_SHARED=sharedSysV
1682 AC_DEFINE(SVR4)
1683 ;;
1684
1685 *-*-aix* )
1686 if test "$GCC" != "yes" ; then
1687 PICFLAGS="-bM\:SRE"
1688 else
1689 PICFLAGS="-fPIC -D__SYSV__"
1690 fi
1691 CREATE_SHARED=sharedAIX
1692 AC_DEFINE(SYSV)
1693 ;;
1694
1695 *)
1696 CREATE_SHARED=
1697 PICFLAGS=
1698 esac
1699
1700 if test "x$GCC" = xyes; then
1701 CFLAGS="${CFLAGS} -Wall -Wno-unused -Wno-uninitialized -D_REENTRANT -DLEX_SCANNER -DHAVE_LIBDL"
1702 fi
1703
1704 if test "x$GXX" = xyes; then
1705 if test "$wxUSE_MOTIF" = 1; then
1706 CXXFLAGS="${CXXFLAGS} -Wall -Wno-unused -D_REENTRANT"
1707 else
1708 CXXFLAGS="${CXXFLAGS} -Wall -D_REENTRANT"
1709 fi
1710 fi
1711
1712 if test "$wxUSE_SHARED" != 1; then
1713 CREATE_SHARED=
1714 PICFLAGS=
1715 fi
1716
1717 AC_SUBST(OS)
1718 AC_SUBST(PICFLAGS)
1719 AC_SUBST(CREATE_SHARED)
1720
1721 dnl ------------------------------------------------------------------------
1722 dnl finish and clean-up
1723 dnl ------------------------------------------------------------------------
1724
1725 dnl add OS to list of configured
1726 echo $OS >> system.list
1727
1728 TOOLKIT_DIR=`echo ${TOOLKIT} | tr "A-Z" "a-z"`
1729 AC_CONFIG_HEADER(./include/wx/${TOOLKIT_DIR}/setup.h:./setup/setup.hin)
1730
1731 AC_OUTPUT(./setup/substit ./wx-config:./wx-config.in,./setup/general/createall)
1732
1733 AC_OVERRIDES_DONE
1734