1 dnl ////////////////////////////////////////////////////////////////////////
3 dnl Top-level configure.in for wxWindows by Robert Roebling, Wolfram Gloger
6 dnl This script is under the wxWindows licence.
8 dnl ////////////////////////////////////////////////////////////////////////
10 dnl AM_PATH_GTK([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]])
11 dnl Test for GTK, and define GTK_CFLAGS and GTK_LIBS
15 dnl Get the cflags and libraries from the gtk-config script
17 AC_ARG_WITH(gtk-prefix,[**--with-gtk-prefix=PFX Prefix where GTK is installed],
18 gtk_config_prefix="$withval", gtk_config_prefix="")
19 AC_ARG_WITH(gtk-exec-prefix,[**--with-gtk-exec-prefix=PFX Exec prefix where GTK is installed],
20 gtk_config_exec_prefix="$withval", gtk_config_exec_prefix="")
22 if test x$gtk_config_exec_prefix != x ; then
23 gtk_config_args="$gtk_config_args --exec-prefix=$gtk_config_exec_prefix"
24 if test x${GTK_CONFIG+set} != xset ; then
25 GTK_CONFIG=$gtk_config_exec_prefix/bin/gtk-config
28 if test x$gtk_config_prefix != x ; then
29 gtk_config_args="$gtk_config_args --prefix=$gtk_config_prefix"
30 if test x${GTK_CONFIG+set} != xset ; then
31 GTK_CONFIG=$gtk_config_prefix/bin/gtk-config
35 AC_PATH_PROG(GTK_CONFIG, gtk-config, no)
36 min_gtk_version=ifelse([$1], ,0.99.7,$1)
37 AC_MSG_CHECKING(for GTK - version >= $min_gtk_version)
39 if test "$GTK_CONFIG" != "no" ; then
40 GTK_CFLAGS=`$GTK_CONFIG --cflags`
41 GTK_LIBS=`$GTK_CONFIG --libs`
42 ac_save_CFLAGS="$CFLAGS"
44 CFLAGS="$CFLAGS $GTK_CFLAGS"
45 LIBS="$LIBS $GTK_LIBS"
47 dnl Now check if the installed GTK is sufficiently new. (Also sanity
48 dnl checks the results of gtk-config to some extent
57 int major, minor, micro;
59 if (sscanf("$min_gtk_version", "%d.%d.%d", &major, &minor, µ) != 3) {
60 printf("%s, bad version string\n", "$min_gtk_version");
64 if (gtk_minor_version > 0) return FALSE;
66 return !((gtk_major_version > major) ||
67 ((gtk_major_version == major) && (gtk_minor_version > minor)) ||
68 ((gtk_major_version == major) && (gtk_minor_version == minor) && (gtk_micro_version >= micro)));
70 ],, no_gtk=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"])
71 CFLAGS="$ac_save_CFLAGS"
76 if test "x$no_gtk" = x ; then
78 ifelse([$2], , :, [$2])
83 ifelse([$3], , :, [$3])
89 dnl ------------------------------------------------------------------------
91 dnl ------------------------------------------------------------------------
93 AC_DEFUN(AC_OVERRIDES_PREPARE,
95 rm -f ${OSTYPE}.system.cache.tmp
96 touch ${OSTYPE}.system.cache.tmp
97 touch ${OSTYPE}.system.cache
100 AC_DEFUN(AC_OVERRIDES_DONE,
102 mv ${OSTYPE}.system.cache.tmp ${OSTYPE}.system.cache
105 dnl package,message,helpmessage,variable
106 AC_DEFUN(AC_OVERRIDES,
108 AC_MSG_CHECKING("for $2")
110 [if test "x$with_$1" = xyes; then
111 ac_cv_use_$1='$4="1"'
113 ac_cv_use_$1='$4="0"'
116 LINE=`grep "$4" ${OSTYPE}.system.cache`
117 if test "x$LINE" != x ; then
120 ac_cv_use_$1='$4='$DEFAULT_$4
123 echo $ac_cv_use_$1 >> ${OSTYPE}.system.cache.tmp
124 if test "$$4" = 1; then
131 dnl package,message,helpmessage,variable
132 AC_DEFUN(AC_OVERRIDES_OLD,
134 AC_MSG_CHECKING("for $2")
135 AC_CACHE_VAL(ac_cv_use_$1,
138 [if test "x$with_$1" = xyes; then
139 ac_cv_use_$1='$4="1"'
141 ac_cv_use_$1='$4="0"'
142 fi],[ac_cv_use_$1='$4=$DEFAULT_$4'])
146 if test "$$4" = 1; then
153 AC_DEFUN(AC_PATH_FIND_INCLUDES,
158 if test -f "$ac_dir/$2"; then
159 ac_find_includes=$ac_dir
165 AC_DEFUN(AC_PATH_FIND_LIBRARIES,
170 for ac_extension in a so sl; do
171 if test -f "$ac_dir/lib$2.$ac_extension"; then
172 ac_find_libraries=$ac_dir
179 dnl Path to include, allready defined
180 AC_DEFUN(AC_INCLUDE_PATH_EXIST,
182 ac_path_to_include=$1
183 echo "$2" | grep "\-I$1" > /dev/null
185 if test $result = 0; then
186 ac_path_to_include=""
188 ac_path_to_include="-I$1"
192 dnl Path to link, allready defined
193 AC_DEFUN(AC_LINK_PATH_EXIST,
195 echo "$2" | grep "\-L$1" > /dev/null
197 if test $result = 0; then
200 ac_path_to_link="-L$1"
204 dnl ------------------------------------------------------------------------
205 dnl Process this file with autoconf to produce a configure script.
206 dnl ------------------------------------------------------------------------
208 AC_INIT(configure.in)
210 dnl ------------------------------------------------------------------------
212 dnl ------------------------------------------------------------------------
216 if test "x$OS" = "x"; then
218 AC_MSG_ERROR("The system variable OS has not been set"
219 "please set is everytime befor compiling on this system"
220 "A good example for this system would be:"
221 "setenv OSTYPE $UNAME for csh as a SHELL"
222 "EXPORT OSTYPE=$UNAME for sh as SHELL"
223 "please set this and restart again."
227 dnl ------------------------------------------------------------------------
228 dnl Set base directory
229 dnl ------------------------------------------------------------------------
234 dnl ------------------------------------------------------------------------
235 dnl search path for includes and libraries
236 dnl ------------------------------------------------------------------------
238 dnl VZ: added standard locations for Xm.h for Irix, HP-UX and SunOS (19.02.99)
240 /usr/Motif-1.2/include \
241 /usr/Motif-2.1/include \
243 /usr/include/Motif1.2 \
244 /opt/xpm/include/X11 \
246 /usr/Motif1.2/include \
262 /usr/local/X11R6/include \
263 /usr/local/X11R5/include \
264 /usr/local/X11R4/include \
266 /usr/local/include/X11R6 \
267 /usr/local/include/X11R5 \
268 /usr/local/include/X11R4 \
272 /usr/local/X11/include \
273 /usr/local/include/X11 \
277 /usr/XFree86/include/X11 \
284 /usr/unsupported/include \
285 /usr/athena/include \
286 /usr/local/x11r5/include \
287 /usr/lpp/Xamples/include \
289 /usr/local/include/gtk \
290 /usr/local/include/qt \
293 /usr/openwin/include \
294 /usr/openwin/share/include \
297 SEARCH_LIB="`echo "$SEARCH_INCLUDE" | sed s/include/lib/g` "
299 dnl ------------------------------------------------------------------------
301 dnl ------------------------------------------------------------------------
303 dnl ###################
304 dnl # checks programs #
305 dnl ###################
307 dnl C-compiler checks
308 dnl =================
309 dnl use what compiler
311 dnl defines CC with the compiler to use
312 dnl defines GCC with yes if using gcc
313 dnl defines GCC empty if not using gcc
316 CFLAGS=`echo "$CFLAGS" | sed 's/-g//g'`
318 dnl does compiler support -c and -o simultaniously
320 dnl defines NO_MINUS_C_MINUS_O if compiler does not accept
321 dnl both switches simultaniously
322 dnl what is the c-preprocessor
324 dnl defines CPP with the c-preprocessor
325 dnl is -traditional needed for correct compilations
326 AC_PROG_GCC_TRADITIONAL
327 dnl adds -traditional for gcc if needed
331 dnl C++-compiler checks
332 dnl ===================
333 dnl use what compiler
335 dnl defines CXX with the compiler to use
336 dnl defines GXX with yes if using gxx
337 dnl defines GXX empty if not using gxx
339 dnl what is the C++-preprocessor
341 dnl defines CXXCPP with the C++-preprocessor
343 CXXFLAGS=`echo "$CXXFLAGS" | sed 's/-g//g'`
350 dnl defines RANLIB with the appropriate command
354 AC_CHECK_PROG(AR, ar, ar, ar)
355 dnl defines AR with the appropriate command
360 dnl defines INSTALL with the appropriate command
365 dnl defines LN_S with the appropriate command
370 dnl defines AWK with the appropriate command
374 AC_CHECK_PROG(STRIP, strip, strip, true)
375 dnl defines STRIP as strip or nothing if not found
380 dnl check if VPATH works
381 AC_MSG_CHECKING("make for VPATH support")
383 cat - << EOF > confMake
389 if test ! -d sub ; then
392 echo dummy > sub/file
393 ${MAKE-make} -f confMake VPATH=sub 2> config.log > /dev/null
395 rm -f sub/file check final_file confMake
397 if test "$RESULT" = 0; then
402 You need a make-utility that is able to use the variable
404 If your version of make does not support VPATH correctly,
405 please install GNU-make (possibly as gmake), and start
406 configure with the following command:
407 export MAKE=gmake; ./configure for sh-type shells
408 setenv MAKE gmake; ./configure for csh-type shells
409 Also please do remember to use gmake in this case every time
410 you are trying to compile.
414 dnl ####################
415 dnl # checks libraries #
416 dnl ####################
418 dnl find the X11 include and library files
420 dnl defines x_includes and x_libraries
422 dnl #######################
423 dnl # checks header files #
424 dnl #######################
427 dnl defines MACRO HAVE_DIRENT_H if dirent.h exists
428 dnl defines MACRO HAVE_SYS_NDIR_H if sys/ndir.h exists
429 dnl defines MACRO HAVE_SYS_DIR_H if sys/dir.h exists
430 dnl defines MACRO HAVE_NDIR_H if ndir.h exists
432 dnl defines STDC_HEADERS if ANSI-C header
434 dnl defines HAVE_SYS_WAIT_H if sys/wait.h exist and is POSIX.1
435 AC_CHECK_HEADERS(fcntl.h)
436 dnl defines HAVE_FCNTL_H
437 AC_CHECK_HEADERS(limits.h)
438 dnl defines HAVE_LIMITS_h
439 AC_CHECK_HEADERS(sys/file.h)
440 dnl defines HAVE_SYS_FILE_H
441 AC_CHECK_HEADERS(sys/time.h)
442 dnl defines HAVE_SYS_TIME_H
443 AC_CHECK_HEADERS(unistd.h)
444 dnl defines HAVE_UNISTD_H
445 AC_CHECK_HEADERS(fnmatch.h)
446 dnl defines HAVE_FNMATCH_H
447 dnl As it needs Linux 2.1.x for the moment: check whether the file exists (GL).
448 AC_CHECK_HEADERS(linux/joystick.h)
450 if test "$ac_cv_header_linux_joystick_h" = "yes"; then
451 GTK_JOYSTICK="gtk/joystick.cpp"
453 AC_SUBST(GTK_JOYSTICK)
455 dnl check for vprintf/vsprintf() which are GNU extensions
458 dnl check for several standard functions we use if they are available
459 AC_CHECK_FUNCS(vsnprintf vfork)
462 dnl check for usleep() and nanosleep() which is better in MT programs
463 dnl AC_CHECK_FUNCS(nanosleep, AC_DEFINE(HAVE_NANOSLEEP),
465 dnl AC_CHECK_LIB(posix4, nanosleep,
466 dnl AC_DEFINE(HAVE_NANOSLEEP),
467 dnl AC_CHECK_FUNCS(usleep))
470 AC_CHECK_FUNCS(nanosleep, AC_DEFINE(HAVE_NANOSLEEP),
471 [AC_CHECK_LIB(posix4, nanosleep, [
472 AC_DEFINE(HAVE_NANOSLEEP)
473 POSIX4_LINK="-lposix4" ],
474 [AC_CHECK_FUNCS(usleep, AC_DEFINE(HAVE_USLEEP),
475 AC_MSG_WARN(Sleep() function will not work)
480 dnl check for uname (POSIX) and gethostname (BSD)
481 AC_CHECK_FUNCS(uname gethostname, break)
485 AC_CHECK_HEADERS(iostream)
486 if test "x$HAVE_IOSTREAM" = "x" ; then
487 AC_DEFINE(wxUSE_IOSTREAMH)
491 dnl defines HAVE_IOSTREAM
492 dnl ###################
493 dnl # checks typedefs #
494 dnl ###################
496 dnl defines GETGROUPS_T
498 dnl defines mode_t if not already defined
500 dnl defines off_t if not already defined
502 dnl defines pid_t if not already defined
504 dnl defines RETSIGTYPE for the correct return type of signal
506 dnl defines size_t if not already defined
508 dnl defines uid_t and gid_t if not already defined
510 dnl #####################
511 dnl # checks structures #
512 dnl #####################
515 dnl defines STAT_MACROS_BROKEN if S_ISDIR and S_ISREG
516 dnl do not work properly
518 dnl defines TIME_WITH_SYS_TIME if time.h and sys/time.h can
521 dnl defines HAVE_ST_BLKSIZE if struct stat contains st_blksize
523 dnl defines HAVE_ST_BLOCKS if struct stat contains st_blocks
525 dnl defines HAVE_ST_RDEV if struct stat contains st_rdev
527 dnl defines TM_IN_SYS_TIME if struct tm is not in time.h
529 dnl defines HAVE_ST_BLKSIZE if struct tm contains tm_zone
531 dnl defines HAVE_TZNAME if external array tzname is found
533 dnl ###################################
534 dnl # checks compiler characteristics #
535 dnl ###################################
539 dnl defines const to be empty if c-compiler does not support const fully
541 dnl defines inline to a sensible value for the c-compiler
543 dnl defines __CHAR_UNSIGNED__ if char is unsigned
545 dnl defines HAVE_LONGDOUBLE if compiler supports long double
548 dnl defines WORDS_BIGENDIAN if system is big endian
550 AC_CHECK_SIZEOF(int *)
552 AC_CHECK_SIZEOF(long)
553 AC_CHECK_SIZEOF(long long)
554 dnl defines the size of certain types of variables in SIZEOF_???
556 dnl ######################
557 dnl # check C++ features #
558 dnl ######################
563 dnl Check for existence of builtin 'bool' data type
565 dnl do nothing for cross-compilation - assume bool is not defined
566 AC_MSG_CHECKING(if C++ compiler supports bool)
567 AC_TRY_RUN([ int main() {bool b = true; return 0;} ],
568 AC_DEFINE(HAVE_BOOL) AC_MSG_RESULT(yes),
570 AC_MSG_RESULT(no assumed for cross-compilation))
574 dnl ############################
575 dnl # checks library functions #
576 dnl ############################
578 dnl ##########################
579 dnl # checks system services #
580 dnl ##########################
583 AC_SYS_LONG_FILE_NAMES
584 dnl defines HAVE_LONG_FILENAMES if filenames longer then
585 dnl 14 chars are supported
587 dnl AC_SYS_RESTARTABLE_SYSCALLS
588 dnl defines HAVE_RESTARTABLE_SYSCALLS if the system restarts a
589 dnl system call that is interrupted
592 dnl #################
593 dnl # checks PARSER #
594 dnl #################
599 dnl defines YACC with the appropriate command
604 dnl defines LEX with the appropriate command
605 dnl defines LEXLIB with the appropriate library
606 dnl what type is yytext
608 dnl defines YYTEXT_POINTER if yytext is char*
609 dnl defines LEX_OUTPUT_ROOT as to the base of the
610 dnl filename output by the lexer
612 dnl ###################################
613 dnl ## Check for dynamic load module #
614 dnl ###################################
617 AC_CHECK_FUNCS(dlopen, AC_DEFINE(HAVE_LIBDL),
618 [AC_CHECK_LIB(dl, dlopen, [AC_DEFINE(HAVE_LIBDL) DL_LIBRARY="-ldl"],
619 [AC_CHECK_LIB(dld, dld_link, [AC_DEFINE(HAVE_DLD) DL_LIBRARY="-ldld"],
620 [AC_CHECK_FUNCS(shl_load, AC_DEFINE(HAVE_SHL_LOAD) )]
626 AC_CACHE_CHECK([for underscore before symbols], libltdl_cv_uscore, [
627 echo "main(){int i=1;} fnord(){int i=23; int ltuae=42;}" > conftest.c
628 ${CC} -c conftest.c > /dev/null
629 if (nm conftest.o | grep _fnord) > /dev/null; then
630 libltdl_cv_uscore=yes
637 if test x"$libltdl_cv_uscore" = xyes; then
638 if test x"$ac_cv_func_dlopen" = xyes ||
639 test x"$ac_cv_lib_dl_dlopen" = xyes ; then
640 AC_CACHE_CHECK([whether we have to add an underscore for dlsym],
641 libltdl_cv_need_uscore, [dnl
646 main() { void *self, *ptr1, *ptr2; self=dlopen(NULL,RTLD_LAZY);
647 if(self) { ptr1=dlsym(self,"fnord"); ptr2=dlsym(self,"_fnord");
648 if(ptr1 && !ptr2) exit(0); } exit(1); }
649 ], libltdl_cv_need_uscore=no, libltdl_cv_need_uscore=yes,
650 libltdl_cv_need_uscore=no
655 if test x"$libltdl_cv_need_uscore" = xyes; then
656 AC_DEFINE(NEED_USCORE)
659 dnl ##########################################
660 dnl ## Check for specific library functions #
661 dnl ##########################################
663 dnl Checks for library functions.
664 AC_CHECK_FUNCS(strerror)
666 dnl ------------------------------------------------------------------------
668 dnl ------------------------------------------------------------------------
670 CHECK_INCLUDE="-I/usr/include $X_CFLAGS"
671 CHECK_LIB="-L/lib -L/usr/lib $X_LIBS"
673 dnl ------------------------------------------------------------------------
675 dnl ------------------------------------------------------------------------
679 configuration=$host_alias
681 dnl ------------------------------------------------------------------------
683 dnl ------------------------------------------------------------------------
705 case "${canonical}" in
714 if test "x$TMP" = "xalpha"
720 *-*-irix5* | *-*-irix6* )
731 AC_DEFINE(__SOLARIS__)
742 *-*-freebsd* | *-*-netbsd*)
745 AC_DEFINE(__FREEBSD__)
775 AC_MSG_ERROR(I don't know your system type.)
778 dnl ------------------------------------------------------------------------
779 dnl defaults for command options
780 dnl ------------------------------------------------------------------------
786 DEFAULT_wxUSE_MOTIF=0
788 DEFAULT_wxUSE_THREADS=0
790 DEFAULT_wxUSE_SHARED=1
791 DEFAULT_wxUSE_OPTIMISE=1
792 DEFAULT_wxUSE_PROFILE=0
793 DEFAULT_wxUSE_DEBUG_FLAG=0
794 DEFAULT_wxUSE_DEBUG_INFO=0
795 DEFAULT_wxUSE_MEM_TRACING=0
796 DEFAULT_wxUSE_DMALLOC=0
797 DEFAULT_wxUSE_APPLE_IEEE=1
798 DEFAULT_wxUSE_IOSTREAMH=1
801 DEFAULT_wxUSE_LIBPNG=1
802 DEFAULT_wxUSE_LIBJPEG=0
805 DEFAULT_wxUSE_TIMEDATE=1
807 DEFAULT_wxUSE_CONFIG=1
808 DEFAULT_wxUSE_STREAMS=1
809 DEFAULT_wxUSE_SOCKETS=1
810 DEFAULT_wxUSE_SERIAL=1
811 DEFAULT_wxUSE_DYNLIB_CLASS=1
813 DEFAULT_wxUSE_AFM_FOR_POSTSCRIPT=1
814 DEFAULT_WX_NORMALIZED_PS_FONTS=1
815 DEFAULT_wxUSE_POSTSCRIPT=1
818 DEFAULT_wxUSE_RESOURCES=1
819 DEFAULT_wxUSE_CLIPBOARD=1
820 DEFAULT_wxUSE_TOOLTIPS=1
821 DEFAULT_wxUSE_DRAG_AND_DROP=1
823 DEFAULT_wxUSE_MDI_ARCHITECTURE=1
824 DEFAULT_wxUSE_DOC_VIEW_ARCHITECTURE=1
825 DEFAULT_wxUSE_PRINTING_ARCHITECTURE=1
827 DEFAULT_wxUSE_PROLOGIO=1
828 DEFAULT_wxUSE_WX_RESOURCES=1
832 DEFAULT_wxUSE_UNICODE=1
833 DEFAULT_wxUSE_WCSRTOMBS=0
835 dnl ----------------------------------------------------------------
837 dnl ----------------------------------------------------------------
839 AC_OVERRIDES(gtk,gtk,
840 **--with-gtk use GTK,
847 AC_OVERRIDES(motif,motif,
848 **--with-motif use Motif/Lesstif,
851 dnl ----------------------------------------------------------------
853 dnl ----------------------------------------------------------------
855 AC_OVERRIDES(shared,shared,
856 **--with-shared create shared libraries,
859 AC_OVERRIDES(optimise,optimise,
860 **--with-optimise create optimised code,
863 AC_OVERRIDES(debug_flag,debug_flag,
864 **--with-debug_flag create code with WXDEBUG define set to 1,
867 AC_OVERRIDES(debug_info,debug_info,
868 **--with-debug_info create code with debuging information,
871 AC_OVERRIDES(debug_gdb,debug_gdb,
872 **--with-debug_gdb create code with extra GDB debuging information,
875 AC_OVERRIDES(mem_tracing,mem_tracing,
876 **--with-mem_traing create code with memory tracing,
879 AC_OVERRIDES(dmalloc,dmalloc,
880 **--with-dmalloc use dmalloc memory debug library (www.letters.com/dmalloc/),
883 AC_OVERRIDES(profile,profile,
884 **--with-profile create code with profiling information,
887 AC_OVERRIDES(apple_ieee, apple_ieee,
888 **--with_apple_ieee use the Apple IEEE codec,
891 AC_OVERRIDES(threads,threads,
892 **--with-threads for enabling threads,
895 AC_OVERRIDES(dynlib,dynlib,
896 **--with-dynlib to compile wxLibrary class,
899 dnl ----------------------------------------------------------------
900 dnl user options for libraries
901 dnl ----------------------------------------------------------------
903 AC_OVERRIDES(zlib,zlib,
904 **--with-zlib use zlib for LZW comression,
907 AC_OVERRIDES(libpng,libpng,
908 **--with-libpng use libpng (PNG image format),
911 AC_OVERRIDES(libjpeg,libjpeg,
912 **--with-libjpeg use libjpeg (JPEG image format),
915 AC_OVERRIDES(odbc,odbc,
916 **--with-odbc use iODBC and wxODBC classes,
919 dnl ----------------------------------------------------------------
920 dnl user options for non-GUI classes
921 dnl ----------------------------------------------------------------
923 AC_OVERRIDES(timedate, timedate,
924 **--with-timedate use wxTime and wxDate classes,
927 AC_OVERRIDES(intl,intl,
928 **--with-intl use internationalization system,
931 AC_OVERRIDES(config,config,
932 **--with-config use wxConfig class,
935 AC_OVERRIDES(streams,streams,
936 **--with-streams use wxStream etc classes,
939 AC_OVERRIDES(serial,serial,
940 **--with-serial use class serialization,
943 AC_OVERRIDES(sockets,sockets,
944 **--with-sockets use wxSocket etc classes,
947 dnl ----------------------------------------------------------------
948 dnl user options for PostScript
949 dnl ----------------------------------------------------------------
951 AC_OVERRIDES(afmfonts,afmfonts,
952 **--with-afmfonts use Adobe Font Metric Font table,
953 wxUSE_AFM_FOR_POSTSCRIPT)
955 AC_OVERRIDES(normalized, normalized,
956 **--with-PS-normalized use normalized PS fonts,
957 WX_NORMALIZED_PS_FONTS)
959 AC_OVERRIDES(postscript, postscript,
960 **--with-postscript use wxPostscriptDC device context,
963 dnl ----------------------------------------------------------------
964 dnl user options for wxString and Unicode
965 dnl ----------------------------------------------------------------
967 AC_OVERRIDES(unicode,unicode,
968 **--with-unicode compile wxString with Unicode support,
971 AC_OVERRIDES(wcsrtombs,wcsrtombs,
972 **--with-wcsrtombs use wcsrtombs instead of (buggy in GNU libc5) wcstombs,
975 dnl ----------------------------------------------------------------
976 dnl user options for Prolog and Resources
977 dnl ----------------------------------------------------------------
979 AC_OVERRIDES(wxresources,wxresources,
980 **--with-wxresources use wxWindows's resources,
983 AC_OVERRIDES(prologio,prologio,
984 **--with-prologio use Prolog IO library,
987 AC_OVERRIDES(rpc,RPC,
988 **--with-rpc use Prolog's remote procedure calls,
991 dnl ----------------------------------------------------------------
992 dnl user options for misc stuff
993 dnl ----------------------------------------------------------------
995 AC_OVERRIDES(ipc,IPC,
996 **--with-ipc use interprocess communication (wxSocket etc.),
999 AC_OVERRIDES(resources,resources,
1000 **--with-resources use X resources for saving information,
1003 AC_OVERRIDES(clipboard,clipboard,
1004 **--with-clipboard use wxClipboard classes,
1007 AC_OVERRIDES(tooltips,tooltips,
1008 **--with-tooltips use tooltips,
1011 AC_OVERRIDES(dnd,dnd,
1012 **--with-dnd use Drag'n'Drop classes,
1013 wxUSE_DRAG_AND_DROP)
1015 dnl ----------------------------------------------------------------
1016 dnl user options for architectures
1017 dnl ----------------------------------------------------------------
1019 AC_OVERRIDES(mdi,mdi,
1020 **--with-mdi use multiple document interface architecture,
1021 wxUSE_MDI_ARCHITECTURE)
1023 AC_OVERRIDES(docview,docview,
1024 **--with-docview use document view architecture,
1025 wxUSE_DOC_VIEW_ARCHITECTURE)
1027 AC_OVERRIDES(printarch,printarch,
1028 **--with-printarch use printing architecture,
1029 wxUSE_PRINTING_ARCHITECTURE)
1031 AC_OVERRIDES(help,help,
1032 **--with-help use help (using external browser at present),
1035 dnl ----------------------------------------------------------------
1037 dnl ----------------------------------------------------------------
1039 if test "$wxUSE_UNIX" = 1 ; then
1043 dnl ----------------------------------------------------------------
1044 dnl Linux: test for libc5/glibc2: glibc2 has gettext() included
1045 dnl ----------------------------------------------------------------
1046 if test "$USE_LINUX" = 1; then
1047 AC_CHECK_LIB(c,gettext,AC_DEFINE(wxHAVE_GLIBC2))
1050 dnl ----------------------------------------------------------------
1051 dnl search for toolkit (widget sets)
1052 dnl ----------------------------------------------------------------
1065 if test "$wxUSE_GTK" = 1; then
1066 AM_PATH_GTK(1.0.4, [
1067 GUI_TK_INCLUDE="$GTK_CFLAGS"
1068 GUI_TK_LIBRARY="$GTK_LIBS"
1069 ], AC_MSG_ERROR(Is gtk-config in path and GTK+ is version 1.0.4 up-to 1.0.6?))
1071 TOOLKIT_DEF=__WXGTK__
1073 MAKEINCLUDE=../gtk.inc
1076 if test "$wxUSE_QT" = 1; then
1077 AC_MSG_CHECKING(for Qt includes)
1078 AC_PATH_FIND_INCLUDES($SEARCH_INCLUDE,qapp.h)
1079 if test "$ac_find_includes" != "" ; then
1080 AC_MSG_RESULT(found $ac_find_includes)
1081 AC_MSG_CHECKING(for Qt library)
1082 AC_PATH_FIND_LIBRARIES($SEARCH_LIB,qt)
1083 if test "$ac_find_libraries" != "" ; then
1084 AC_INCLUDE_PATH_EXIST($ac_find_includes,$CHECK_INCLUDE)
1085 AC_LINK_PATH_EXIST($ac_find_libraries,$CHECK_LIB)
1086 CHECK_LINK="$CHECK_INCLUDE $ac_path_to_link"
1087 CHECK_INCLUDE="$CHECK_INCLUDE $ac_path_to_include"
1088 AC_MSG_RESULT(found Qt at $ac_find_libraries)
1095 GUI_TK_LINK="-lX11 -lqt -lm"
1097 TOOLKIT_DEF=__WXQT__
1099 MAKEINCLUDE=../qt.inc
1102 if test "$wxUSE_MOTIF" = 1; then
1103 AC_MSG_CHECKING(for Motif/Lesstif includes)
1104 AC_PATH_FIND_INCLUDES($SEARCH_INCLUDE,Xm/Xm.h)
1105 if test "$ac_find_includes" != "" ; then
1106 AC_MSG_RESULT(found $ac_find_includes)
1107 AC_MSG_CHECKING(for Motif/Lesstif library)
1108 AC_PATH_FIND_LIBRARIES($SEARCH_LIB,Xm)
1109 if test "$ac_find_libraries" != "" ; then
1110 AC_INCLUDE_PATH_EXIST($ac_find_includes,$CHECK_INCLUDE)
1111 AC_LINK_PATH_EXIST($ac_find_libraries,$CHECK_LIB)
1112 CHECK_LINK="$CHECK_LIB $ac_path_to_link"
1113 CHECK_INCLUDE="$CHECK_INCLUDE $ac_path_to_include"
1114 AC_MSG_RESULT(found at $ac_find_libraries)
1115 AC_MSG_CHECKING(for Xt library)
1116 AC_PATH_FIND_LIBRARIES($SEARCH_LIB,Xt)
1117 if test "$ac_find_libraries" != "" ; then
1118 AC_LINK_PATH_EXIST($ac_find_libraries,$CHECK_LIB)
1119 CHECK_LINK="$CHECK_LIB $ac_path_to_link"
1120 AC_MSG_RESULT(found at $ac_find_libraries)
1121 AC_MSG_CHECKING(for Xpm library)
1122 AC_PATH_FIND_LIBRARIES($SEARCH_LIB,Xpm)
1123 if test "$ac_find_libraries" != "" ; then
1124 AC_LINK_PATH_EXIST($ac_find_libraries,$CHECK_LIB)
1125 CHECK_LINK="$CHECK_LIB $ac_path_to_link"
1126 AC_MSG_RESULT(found at $ac_find_libraries)
1140 GUI_TK_LINK="-lXm -lXpm -lXmu -lXt -lX11 -lm"
1141 GUI_TK_LIBRARY="$CHECK_LIB $GUI_TK_LINK"
1143 TOOLKIT_DEF=__WXMOTIF__
1145 MAKEINCLUDE=../motif.inc
1148 if test "$TOOLKIT" = ""; then
1149 AC_MSG_ERROR(You must specify a toolkit: --with-gtk --with-qt --with-motif)
1152 AC_SUBST(GUI_TK_INCLUDE)
1153 AC_SUBST(GUI_TK_LIBRARY)
1154 AC_SUBST(GUI_TK_LINK)
1159 AC_SUBST(TOOLKIT_DEF)
1161 AC_SUBST(MAKEINCLUDE)
1163 dnl ----------------------------------------------------------------
1164 dnl Register compile options for makefiles and setup.h
1165 dnl ----------------------------------------------------------------
1170 if test "$wxUSE_DEBUG_GDB" = 1 ; then
1175 if test "$wxUSE_DEBUG_INFO" = 1 ; then
1182 if test "$wxUSE_DEBUG_FLAG" = 1 ; then
1183 AC_DEFINE_UNQUOTED(WXDEBUG,$wxUSE_DEBUG_FLAG)
1184 WXDEBUG_DEFINE="-D__WXDEBUG__"
1185 AC_SUBST(WXDEBUG_DEFINE)
1187 WXDEBUG_DEFINE="-DGTK_NO_CHECK_CASTS"
1188 AC_SUBST(WXDEBUG_DEFINE)
1191 if test "$wxUSE_MEM_TRACING" = 1 ; then
1192 AC_DEFINE_UNQUOTED(wxUSE_MEMORY_TRACING,$wxUSE_MEM_TRACING)
1193 AC_DEFINE_UNQUOTED(wxUSE_GLOBAL_MEMORY_OPERATORS,$wxUSE_MEM_TRACING)
1196 if test "$wxUSE_DMALLOC" = 1 ; then
1197 EXTRA_LINK="$EXTRA_LINK -ldmalloc"
1199 AC_SUBST(EXTRA_LINK)
1202 if test "$wxUSE_PROFILE" = 1 ; then
1207 CXXFLAGS=`echo "${CXXFLAGS}" | sed "s/\-O.//g" `
1208 CFLAGS=`echo "${CFLAGS}" | sed "s/\-O.//g" `
1209 if test "$wxUSE_OPTIMISE" = 0 ; then
1212 if test "$GCC" = yes ; then
1214 case "${canonical}" in
1216 OPTIMISE="${OPTIMISE} "
1226 if test "$wxUSE_APPLE_IEEE" = 1 ; then
1227 APPLE_IEEE="APPLE_IEEE"
1228 AC_DEFINE_UNQUOTED(wxUSE_APPLE_IEEE,$wxUSE_APPLE_IEEE)
1231 wxUSE_IOSTREAMH=$DEFAULT_wxUSE_IOSTREAMH
1232 AC_DEFINE_UNQUOTED(wxUSE_IOSTREAMH,$wxUSE_IOSTREAMH)
1234 dnl ----------------------------------------------------------------
1235 dnl Register library options for makefiles and setup.h
1236 dnl ----------------------------------------------------------------
1238 if test "$wxUSE_ZLIB" = 1 ; then
1239 AC_DEFINE_UNQUOTED(wxUSE_ZLIB,$wxUSE_ZLIB)
1240 Z_C_SRC="\$(Z_C_SRC)"
1244 if test "$wxUSE_LIBPNG" = 1 ; then
1245 AC_DEFINE_UNQUOTED(wxUSE_LIBPNG,$wxUSE_LIBPNG)
1246 PNG_C_SRC="\$(PNG_C_SRC)"
1251 if test "$wxUSE_LIBJPEG" = 1 ; then
1252 AC_DEFINE_UNQUOTED(wxUSE_LIBJPEG,$wxUSE_LIBJPEG)
1253 AC_CHECK_LIB(jpeg,main,,AC_MSG_ERROR("libjpeg is not available."))
1259 if test "$wxUSE_ODBC" = 1 ; then
1260 AC_DEFINE_UNQUOTED(wxUSE_ODBC,$wxUSE_ODBC)
1261 IODBC_C_SRC="\$(IODBC_C_SRC)"
1263 AC_SUBST(IODBC_C_SRC)
1265 dnl ----------------------------------------------------------------
1266 dnl Register non-GUI class options for makefiles and setup.h
1267 dnl ----------------------------------------------------------------
1269 if test "$wxUSE_CONFIG" = 1 ; then
1270 AC_DEFINE_UNQUOTED(wxUSE_CONFIG,$wxUSE_CONFIG)
1273 if test "$wxUSE_TIMEDATE" = 1 ; then
1274 AC_DEFINE_UNQUOTED(wxUSE_TIMEDATE,$wxUSE_TIMEDATE)
1277 if test "$wxUSE_INTL" = 1 ; then
1278 AC_DEFINE_UNQUOTED(wxUSE_INTL,$wxUSE_INTL)
1281 if test "$wxUSE_STREAMS" = 1 ; then
1282 AC_DEFINE_UNQUOTED(wxUSE_STREAMS,$wxUSE_STREAMS)
1285 if test "$wxUSE_SOCKETS" = 1 ; then
1286 AC_DEFINE_UNQUOTED(wxUSE_SOCKETS,$wxUSE_SOCKETS)
1289 if test "$wxUSE_SERIAL" = 1 ; then
1290 AC_DEFINE_UNQUOTED(wxUSE_SERIAL,$wxUSE_SERIAL)
1293 dnl ------------------------------------------------------------------------
1295 dnl ------------------------------------------------------------------------
1298 if test "$wxUSE_DYNLIB_CLASS" = "1"; then
1299 dnl the test is a bit complicated because we check for dlopen() both with
1300 dnl and without -ldl
1301 AC_CHECK_FUNCS(dlopen,
1302 [AC_DEFINE(HAVE_DLOPEN) HAVE_DL_FUNCS=1],
1303 [AC_CHECK_LIB(dl, dlopen,
1304 [AC_DEFINE(HAVE_DLOPEN) HAVE_DL_FUNCS=1])])
1305 AC_CHECK_FUNCS(shl_load, [AC_DEFINE(HAVE_SHL_LOAD) HAVE_DL_FUNCS=1])
1307 if test "$HAVE_DL_FUNCS" = 0; then
1308 AC_MSG_WARN("--with-dynlib will be disabled because no function was found to load a shared library on this platform")
1310 wxUSE_DYNLIB_CLASS=0
1314 if test "$wxUSE_DYNLIB_CLASS" = 1 ; then
1315 AC_DEFINE_UNQUOTED(wxUSE_DYNLIB_CLASS,$wxUSE_DYNLIB_CLASS)
1318 dnl ----------------------------------------------------------------
1319 dnl Register Prolog and Resources options for makefiles and setup.h
1320 dnl ----------------------------------------------------------------
1322 if test "$wxUSE_RPC" = 1 ; then
1323 AC_DEFINE_UNQUOTED(wxUSE_RPC,$wxUSE_RPC)
1326 if test "$wxUSE_WX_RESOURCES" = 1 ; then
1327 AC_DEFINE_UNQUOTED(wxUSE_WX_RESOURCES,$wxUSE_WX_RESOURCES)
1330 if test "$wxUSE_PROLOGIO" = 1 ; then
1331 AC_DEFINE_UNQUOTED(wxUSE_PROLOGIO)
1334 dnl ----------------------------------------------------------------
1335 dnl Register PostScript options for makefiles and setup.h
1336 dnl ----------------------------------------------------------------
1338 if test "$wxUSE_POSTSCRIPT" = 1 ; then
1339 AC_DEFINE_UNQUOTED(wxUSE_POSTSCRIPT)
1342 AC_DEFINE_UNQUOTED(wxUSE_AFM_FOR_POSTSCRIPT,$wxUSE_AFM_FOR_POSTSCRIPT)
1344 AC_DEFINE_UNQUOTED(WX_NORMALIZED_PS_FONTS,$WX_NORMALIZED_PS_FONTS)
1346 dnl ----------------------------------------------------------------
1347 dnl Register architecture options for makefiles and setup.h
1348 dnl ----------------------------------------------------------------
1350 if test "$wxUSE_MDI_ARCHITECTURE" = 1 ; then
1351 AC_DEFINE_UNQUOTED(wxUSE_MDI_ARCHITECTURE,$wxUSE_MDI_ARCHITECTURE)
1354 if test "$wxUSE_DOC_VIEW_ARCHITECTURE" = 1 ; then
1355 AC_DEFINE_UNQUOTED(wxUSE_DOC_VIEW_ARCHITECTURE,$wxUSE_DOC_VIEW_ARCHITECTURE)
1358 if test "$wxUSE_PRINTING_ARCHITECTURE" = 1 ; then
1359 AC_DEFINE_UNQUOTED(wxUSE_PRINTING_ARCHITECTURE,$wxUSE_PRINTING_ARCHITECTURE)
1362 dnl ----------------------------------------------------------------
1363 dnl Register wxString options for makefiles and setup.h
1364 dnl ----------------------------------------------------------------
1366 if test "$wxUSE_UNICODE" = 1 ; then
1367 AC_DEFINE_UNQUOTED(wxUSE_UNICODE)
1370 if test "$wxUSE_WCSRTOMBS" = 1 ; then
1371 AC_DEFINE_UNQUOTED(wxUSE_WCSRTOMBS)
1374 dnl ----------------------------------------------------------------
1375 dnl Register misc options for makefiles and setup.h
1376 dnl ----------------------------------------------------------------
1378 if test "$wxUSE_IPC" = 1 ; then
1379 AC_DEFINE_UNQUOTED(wxUSE_IPC)
1382 if test "$wxUSE_RESOURCES" = 1 ; then
1383 AC_DEFINE_UNQUOTED(wxUSE_RESOURCES,$wxUSE_RESOURCES)
1386 if test "$wxUSE_CLIPBOARD" = 1 ; then
1387 AC_DEFINE_UNQUOTED(wxUSE_CLIPBOARD,$wxUSE_CLIPBOARD)
1390 if test "$wxUSE_TOOLTIPS" = 1 ; then
1391 AC_DEFINE_UNQUOTED(wxUSE_TOOLTIPS,$wxUSE_TOOLTIPS)
1394 if test "$wxUSE_DRAG_AND_DROP" = 1 ; then
1395 AC_DEFINE_UNQUOTED(wxUSE_DRAG_AND_DROP,$wxUSE_DRAG_AND_DROP)
1398 dnl ----------------------------------------------------------------
1400 dnl ----------------------------------------------------------------
1403 if test "$wxUSE_HELP" = 1 ; then
1405 AC_DEFINE_UNQUOTED(wxUSE_HELP,$wxUSE_HELP)
1409 dnl ----------------------------------------------------------------
1411 dnl ----------------------------------------------------------------
1413 dnl defines UNIX_THREAD it contains the source file to use for threads. (GL)
1414 dnl defines THREADS_LINK it contains the thread library to link with. (GL)
1415 dnl defines wxUSE_THREADS if thread support is activated. (GL)
1420 if test "$wxUSE_THREADS" = "1"; then
1421 dnl find if POSIX threads are available
1423 dnl For glibc 2 users who have the old libc 5 too check pthread-0.7 first
1424 AC_CHECK_LIB(pthread-0.7, pthread_create, [
1425 UNIX_THREAD="unix/threadpsx.cpp"
1426 THREADS_LINK="pthread-0.7"
1428 dnl standard lib name is pthread
1429 AC_CHECK_LIB(pthread, pthread_create, [
1430 UNIX_THREAD="unix/threadpsx.cpp"
1431 THREADS_LINK="pthread"
1433 dnl thread functions are in libc_r under FreeBSD
1434 AC_CHECK_LIB(c_r, pthread_create, [
1435 UNIX_THREAD="unix/threadpsx.cpp"
1438 dnl VZ: SGI threads are not supported currently
1439 AC_CHECK_HEADER(sys/prctl.h, [
1440 UNIX_THREAD="gtk/threadsgi.cpp"
1446 if test "$THREADS_LINK" != ""; then
1447 AC_DEFINE(wxUSE_THREADS)
1449 AC_MSG_WARN(No thread support on this system)
1453 if test -z "$UNIX_THREAD"; then
1457 dnl do other tests only if we are using threads
1458 if test "$wxUSE_THREADS" = "1"; then
1460 dnl define autoconf macro to check for given function in both pthread and
1461 dnl posix4 libraries
1462 dnl usage: AC_FUNC_THREAD(FUNCTION_NAME)
1464 dnl AC_DEFUN(AC_FUNC_THREAD,
1466 dnl AC_CHECK_LIB($THREADS_LINK, $1,
1467 dnl AC_DEFINE(HAVE_`'translit($1, `A-Z', 'a-z'),
1468 dnl [AC_CHECK_LIB("posix4", $1,
1469 dnl [AC_DEFINE(HAVE_`'translit($1, `A-Z', 'a-z'))
1470 dnl POSIX4_LINK="-lposix4"
1475 AC_CHECK_HEADERS(sched.h)
1477 AC_CHECK_LIB($THREADS_LINK, sched_yield,
1478 AC_DEFINE(HAVE_SCHED_YIELD),
1479 [AC_CHECK_LIB("posix4", sched_yield,
1480 [AC_DEFINE(HAVE_SCHED_YIELD) POSIX4_LINK="-lposix4"],
1481 AC_MSG_WARN(wxThread::Yield() will not work properly)
1485 dnl VZ: we should be checking for all of the following functions instead:
1486 dnl 1. pthread_attr_getschedpolicy
1487 dnl 2. sched_get_priority_min and sched_get_priority_max
1488 dnl 3. pthread_attr_getschedparam and pthread_attr_setschedparam
1489 dnl but it seems that if the first one is there, the other ones are too (of
1490 dnl course the proper solution would be to implement AC_FUNC_THREAD above
1491 dnl and do test for them all - anyone?)
1492 AC_CHECK_LIB($THREADS_LINK, pthread_attr_getschedpolicy,
1493 AC_DEFINE(HAVE_THREAD_PRIORITY_FUNCTIONS),
1494 [AC_CHECK_LIB("posix4", pthread_attr_getschedpolicy,
1495 [AC_DEFINE(HAVE_THREAD_PRIORITY_FUNCTIONS) POSIX4_LINK="-lposix4"],
1496 AC_MSG_WARN(Setting thread priority will not work)
1500 AC_CHECK_LIB($THREADS_LINK, pthread_cancel,
1501 AC_DEFINE(HAVE_PTHREAD_CANCEL),
1502 AC_MSG_WARN(wxThread::Kill() will not work properly))
1504 THREADS_LINK="-l$THREADS_LINK"
1507 AC_SUBST(UNIX_THREAD)
1508 AC_SUBST(THREADS_LINK)
1509 AC_SUBST(POSIX4_LINK)
1511 dnl ------------------------------------------------------------------------
1512 dnl compiler options for shared libs
1513 dnl ------------------------------------------------------------------------
1517 case "${canonical}" in
1519 if test "$GCC" != "yes" ; then
1520 CXXFLAGS="${CXXFLAGS} +a1 -z -Aa -D_HPUX_SOURCE"
1521 CFLAGS="${CFLAGS} -z -D_HPUX_SOURCE"
1527 CREATE_SHARED=sharedHpux
1532 CREATE_SHARED=sharedLinux
1535 *-*-irix5* | *-*-irix6* )
1536 # PICFLAGS can remain empty, as pic is the default
1538 CREATE_SHARED=sharedIrix
1543 if test "$GCC" != "yes" ; then
1548 CREATE_SHARED=sharedSolaris2
1553 if test "$GCC" != "yes" ; then
1559 CREATE_SHARED=sharedSunos4
1563 *-*-freebsd* | *-*-netbsd*)
1565 CREATE_SHARED=sharedBsd
1571 CREATE_SHARED=sharedOSF
1575 if test "$GCC" != "yes" ; then
1580 CREATE_SHARED=sharedDgux
1585 if test "$GCC" != "yes" ; then
1590 CREATE_SHARED=sharedSysV
1595 if test "$GCC" != "yes" ; then
1598 PICFLAGS="-fPIC -D__SYSV__"
1600 CREATE_SHARED=sharedAIX
1609 if test "x$GCC" = xyes; then
1610 CFLAGS="${CFLAGS} -Wall -Wno-unused -Wno-uninitialized -D_REENTRANT -DLEX_SCANNER -DHAVE_LIBDL"
1613 if test "x$GXX" = xyes; then
1614 if test "$wxUSE_MOTIF" = 1; then
1615 CXXFLAGS="${CXXFLAGS} -Wall -Wno-unused -D_REENTRANT"
1617 CXXFLAGS="${CXXFLAGS} -Wall -D_REENTRANT"
1621 if test "$wxUSE_SHARED" != 1; then
1628 AC_SUBST(CREATE_SHARED)
1630 dnl ------------------------------------------------------------------------
1631 dnl finish and clean-up
1632 dnl ------------------------------------------------------------------------
1634 dnl add OS to list of configured
1635 echo $OS >> system.list
1637 AC_CONFIG_HEADER(./include/wx/gtk/setup.h:./setup/setup.hin)
1638 AC_OUTPUT(./setup/substit ./wx-config:./wx-config.in,./setup/general/createall)