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