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)
461 dnl check for usleep() and nanosleep() which is better in MT programs
462 dnl AC_CHECK_FUNCS(nanosleep, AC_DEFINE(HAVE_NANOSLEEP),
464 dnl AC_CHECK_LIB(posix4, nanosleep,
465 dnl AC_DEFINE(HAVE_NANOSLEEP),
466 dnl AC_CHECK_FUNCS(usleep))
469 AC_CHECK_FUNCS(nanosleep, AC_DEFINE(HAVE_NANOSLEEP),
470 [AC_CHECK_LIB(posix4, nanosleep, AC_DEFINE(HAVE_NANOSLEEP),
471 [AC_CHECK_FUNCS(usleep, AC_DEFINE(HAVE_USLEEP),
472 AC_MSG_WARN(Sleep() function will not work)
477 dnl check for uname (POSIX) and gethostname (BSD)
478 AC_CHECK_FUNCS(uname gethostname, break)
482 AC_CHECK_HEADERS(iostream)
483 if test "x$HAVE_IOSTREAM" = "x" ; then
484 AC_DEFINE(wxUSE_IOSTREAMH)
488 dnl defines HAVE_IOSTREAM
489 dnl ###################
490 dnl # checks typedefs #
491 dnl ###################
493 dnl defines GETGROUPS_T
495 dnl defines mode_t if not already defined
497 dnl defines off_t if not already defined
499 dnl defines pid_t if not already defined
501 dnl defines RETSIGTYPE for the correct return type of signal
503 dnl defines size_t if not already defined
505 dnl defines uid_t and gid_t if not already defined
507 dnl #####################
508 dnl # checks structures #
509 dnl #####################
512 dnl defines STAT_MACROS_BROKEN if S_ISDIR and S_ISREG
513 dnl do not work properly
515 dnl defines TIME_WITH_SYS_TIME if time.h and sys/time.h can
518 dnl defines HAVE_ST_BLKSIZE if struct stat contains st_blksize
520 dnl defines HAVE_ST_BLOCKS if struct stat contains st_blocks
522 dnl defines HAVE_ST_RDEV if struct stat contains st_rdev
524 dnl defines TM_IN_SYS_TIME if struct tm is not in time.h
526 dnl defines HAVE_ST_BLKSIZE if struct tm contains tm_zone
528 dnl defines HAVE_TZNAME if external array tzname is found
530 dnl ###################################
531 dnl # checks compiler characteristics #
532 dnl ###################################
536 dnl defines const to be empty if c-compiler does not support const fully
538 dnl defines inline to a sensible value for the c-compiler
540 dnl defines __CHAR_UNSIGNED__ if char is unsigned
542 dnl defines HAVE_LONGDOUBLE if compiler supports long double
545 dnl defines WORDS_BIGENDIAN if system is big endian
547 AC_CHECK_SIZEOF(int *)
549 AC_CHECK_SIZEOF(long)
550 AC_CHECK_SIZEOF(long long)
551 dnl defines the size of certain types of variables in SIZEOF_???
553 dnl ############################
554 dnl # checks library functions #
555 dnl ############################
557 dnl ##########################
558 dnl # checks system services #
559 dnl ##########################
562 AC_SYS_LONG_FILE_NAMES
563 dnl defines HAVE_LONG_FILENAMES if filenames longer then
564 dnl 14 chars are supported
566 dnl AC_SYS_RESTARTABLE_SYSCALLS
567 dnl defines HAVE_RESTARTABLE_SYSCALLS if the system restarts a
568 dnl system call that is interrupted
571 dnl #################
572 dnl # checks PARSER #
573 dnl #################
578 dnl defines YACC with the appropriate command
583 dnl defines LEX with the appropriate command
584 dnl defines LEXLIB with the appropriate library
585 dnl what type is yytext
587 dnl defines YYTEXT_POINTER if yytext is char*
588 dnl defines LEX_OUTPUT_ROOT as to the base of the
589 dnl filename output by the lexer
591 dnl ###################################
592 dnl ## Check for dynamic load module #
593 dnl ###################################
596 AC_CHECK_FUNCS(dlopen, AC_DEFINE(HAVE_LIBDL),
597 [AC_CHECK_LIB(dl, dlopen, [AC_DEFINE(HAVE_LIBDL) DL_LIBRARY="-ldl"],
598 [AC_CHECK_LIB(dld, dld_link, [AC_DEFINE(HAVE_DLD) DL_LIBRARY="-ldld"],
599 [AC_CHECK_FUNCS(shl_load, AC_DEFINE(HAVE_SHL_LOAD) )]
605 AC_CACHE_CHECK([for underscore before symbols], libltdl_cv_uscore, [
606 echo "main(){int i=1;} fnord(){int i=23; int ltuae=42;}" > conftest.c
607 ${CC} -c conftest.c > /dev/null
608 if (nm conftest.o | grep _fnord) > /dev/null; then
609 libltdl_cv_uscore=yes
616 if test x"$libltdl_cv_uscore" = xyes; then
617 if test x"$ac_cv_func_dlopen" = xyes ||
618 test x"$ac_cv_lib_dl_dlopen" = xyes ; then
619 AC_CACHE_CHECK([whether we have to add an underscore for dlsym],
620 libltdl_cv_need_uscore, [dnl
625 main() { void *self, *ptr1, *ptr2; self=dlopen(NULL,RTLD_LAZY);
626 if(self) { ptr1=dlsym(self,"fnord"); ptr2=dlsym(self,"_fnord");
627 if(ptr1 && !ptr2) exit(0); } exit(1); }
628 ], libltdl_cv_need_uscore=no, libltdl_cv_need_uscore=yes,
629 libltdl_cv_need_uscore=no
634 if test x"$libltdl_cv_need_uscore" = xyes; then
635 AC_DEFINE(NEED_USCORE)
638 dnl ##########################################
639 dnl ## Check for specific library functions #
640 dnl ##########################################
642 dnl Checks for library functions.
643 AC_CHECK_FUNCS(strerror)
645 dnl ------------------------------------------------------------------------
647 dnl ------------------------------------------------------------------------
649 CHECK_INCLUDE="-I/usr/include $X_CFLAGS"
650 CHECK_LIB="-L/lib -L/usr/lib $X_LIBS"
652 dnl ------------------------------------------------------------------------
654 dnl ------------------------------------------------------------------------
658 configuration=$host_alias
660 dnl ------------------------------------------------------------------------
662 dnl ------------------------------------------------------------------------
684 case "${canonical}" in
693 if test "x$TMP" = "xalpha"
699 *-*-irix5* | *-*-irix6* )
710 AC_DEFINE(__SOLARIS__)
721 *-*-freebsd* | *-*-netbsd*)
724 AC_DEFINE(__FREEBSD__)
754 AC_MSG_ERROR(I don't know your system type.)
757 dnl ------------------------------------------------------------------------
758 dnl defaults for command options
759 dnl ------------------------------------------------------------------------
765 DEFAULT_wxUSE_MOTIF=0
767 DEFAULT_wxUSE_THREADS=0
769 DEFAULT_wxUSE_SHARED=1
770 DEFAULT_wxUSE_OPTIMISE=1
771 DEFAULT_wxUSE_PROFILE=0
772 DEFAULT_wxUSE_DEBUG_FLAG=0
773 DEFAULT_wxUSE_DEBUG_INFO=0
774 DEFAULT_wxUSE_MEM_TRACING=0
775 DEFAULT_wxUSE_DMALLOC=0
776 DEFAULT_wxUSE_APPLE_IEEE=1
777 DEFAULT_wxUSE_IOSTREAMH=1
780 DEFAULT_wxUSE_LIBPNG=1
781 DEFAULT_wxUSE_LIBJPEG=0
784 DEFAULT_wxUSE_TIMEDATE=1
786 DEFAULT_wxUSE_CONFIG=1
787 DEFAULT_wxUSE_STREAMS=1
788 DEFAULT_wxUSE_SOCKETS=1
789 DEFAULT_wxUSE_SERIAL=1
790 DEFAULT_wxUSE_DYNLIB_CLASS=1
792 DEFAULT_wxUSE_AFM_FOR_POSTSCRIPT=1
793 DEFAULT_WX_NORMALIZED_PS_FONTS=1
794 DEFAULT_wxUSE_POSTSCRIPT=1
797 DEFAULT_wxUSE_RESOURCES=1
798 DEFAULT_wxUSE_CLIPBOARD=1
799 DEFAULT_wxUSE_TOOLTIPS=1
800 DEFAULT_wxUSE_DRAG_AND_DROP=1
802 DEFAULT_wxUSE_MDI_ARCHITECTURE=1
803 DEFAULT_wxUSE_DOC_VIEW_ARCHITECTURE=1
804 DEFAULT_wxUSE_PRINTING_ARCHITECTURE=1
806 DEFAULT_wxUSE_PROLOGIO=1
807 DEFAULT_wxUSE_WX_RESOURCES=1
811 DEFAULT_wxUSE_UNICODE=1
812 DEFAULT_wxUSE_WCSRTOMBS=0
814 dnl ----------------------------------------------------------------
816 dnl ----------------------------------------------------------------
818 AC_OVERRIDES(gtk,gtk,
819 **--with-gtk use GTK,
826 AC_OVERRIDES(motif,motif,
827 **--with-motif use Motif/Lesstif,
830 dnl ----------------------------------------------------------------
832 dnl ----------------------------------------------------------------
834 AC_OVERRIDES(shared,shared,
835 **--with-shared create shared libraries,
838 AC_OVERRIDES(optimise,optimise,
839 **--with-optimise create optimised code,
842 AC_OVERRIDES(debug_flag,debug_flag,
843 **--with-debug_flag create code with WXDEBUG define set to 1,
846 AC_OVERRIDES(debug_info,debug_info,
847 **--with-debug_info create code with debuging information,
850 AC_OVERRIDES(debug_gdb,debug_gdb,
851 **--with-debug_gdb create code with extra GDB debuging information,
854 AC_OVERRIDES(mem_tracing,mem_tracing,
855 **--with-mem_traing create code with memory tracing,
858 AC_OVERRIDES(dmalloc,dmalloc,
859 **--with-dmalloc use dmalloc memory debug library (www.letters.com/dmalloc/),
862 AC_OVERRIDES(profile,profile,
863 **--with-profile create code with profiling information,
866 AC_OVERRIDES(apple_ieee, apple_ieee,
867 **--with_apple_ieee use the Apple IEEE codec,
870 AC_OVERRIDES(threads,threads,
871 **--with-threads for enabling threads,
874 AC_OVERRIDES(dynlib,dynlib,
875 **--with-dynlib to compile wxLibrary class,
878 dnl ----------------------------------------------------------------
879 dnl user options for libraries
880 dnl ----------------------------------------------------------------
882 AC_OVERRIDES(zlib,zlib,
883 **--with-zlib use zlib for LZW comression,
886 AC_OVERRIDES(libpng,libpng,
887 **--with-libpng use libpng (PNG image format),
890 AC_OVERRIDES(libjpeg,libjpeg,
891 **--with-libjpeg use libjpeg (JPEG image format),
894 AC_OVERRIDES(odbc,odbc,
895 **--with-odbc use iODBC and wxODBC classes,
898 dnl ----------------------------------------------------------------
899 dnl user options for non-GUI classes
900 dnl ----------------------------------------------------------------
902 AC_OVERRIDES(timedate, timedate,
903 **--with-timedate use wxTime and wxDate classes,
906 AC_OVERRIDES(intl,intl,
907 **--with-intl use internationalization system,
910 AC_OVERRIDES(config,config,
911 **--with-config use wxConfig class,
914 AC_OVERRIDES(streams,streams,
915 **--with-streams use wxStream etc classes,
918 AC_OVERRIDES(serial,serial,
919 **--with-serial use class serialization,
922 AC_OVERRIDES(sockets,sockets,
923 **--with-sockets use wxSocket etc classes,
926 dnl ----------------------------------------------------------------
927 dnl user options for PostScript
928 dnl ----------------------------------------------------------------
930 AC_OVERRIDES(afmfonts,afmfonts,
931 **--with-afmfonts use Adobe Font Metric Font table,
932 wxUSE_AFM_FOR_POSTSCRIPT)
934 AC_OVERRIDES(normalized, normalized,
935 **--with-PS-normalized use normalized PS fonts,
936 WX_NORMALIZED_PS_FONTS)
938 AC_OVERRIDES(postscript, postscript,
939 **--with-postscript use wxPostscriptDC device context,
942 dnl ----------------------------------------------------------------
943 dnl user options for wxString and Unicode
944 dnl ----------------------------------------------------------------
946 AC_OVERRIDES(unicode,unicode,
947 **--with-unicode compile wxString with Unicode support,
950 AC_OVERRIDES(wcsrtombs,wcsrtombs,
951 **--with-wcsrtombs use wcsrtombs instead of (buggy in GNU libc5) wcstombs,
954 dnl ----------------------------------------------------------------
955 dnl user options for Prolog and Resources
956 dnl ----------------------------------------------------------------
958 AC_OVERRIDES(wxresources,wxresources,
959 **--with-wxresources use wxWindows's resources,
962 AC_OVERRIDES(prologio,prologio,
963 **--with-prologio use Prolog IO library,
966 AC_OVERRIDES(rpc,RPC,
967 **--with-rpc use Prolog's remote procedure calls,
970 dnl ----------------------------------------------------------------
971 dnl user options for misc stuff
972 dnl ----------------------------------------------------------------
974 AC_OVERRIDES(ipc,IPC,
975 **--with-ipc use interprocess communication (wxSocket etc.),
978 AC_OVERRIDES(resources,resources,
979 **--with-resources use X resources for saving information,
982 AC_OVERRIDES(clipboard,clipboard,
983 **--with-clipboard use wxClipboard classes,
986 AC_OVERRIDES(tooltips,tooltips,
987 **--with-tooltips use tooltips,
990 AC_OVERRIDES(dnd,dnd,
991 **--with-dnd use Drag'n'Drop classes,
994 dnl ----------------------------------------------------------------
995 dnl user options for architectures
996 dnl ----------------------------------------------------------------
998 AC_OVERRIDES(mdi,mdi,
999 **--with-mdi use multiple document interface architecture,
1000 wxUSE_MDI_ARCHITECTURE)
1002 AC_OVERRIDES(docview,docview,
1003 **--with-docview use document view architecture,
1004 wxUSE_DOC_VIEW_ARCHITECTURE)
1006 AC_OVERRIDES(printarch,printarch,
1007 **--with-printarch use printing architecture,
1008 wxUSE_PRINTING_ARCHITECTURE)
1010 AC_OVERRIDES(help,help,
1011 **--with-help use help (using external browser at present),
1014 dnl ----------------------------------------------------------------
1016 dnl ----------------------------------------------------------------
1018 if test "$wxUSE_UNIX" = 1 ; then
1022 dnl ----------------------------------------------------------------
1023 dnl Linux: test for libc5/glibc2: glibc2 has gettext() included
1024 dnl ----------------------------------------------------------------
1025 if test "$USE_LINUX" = 1; then
1026 AC_CHECK_LIB(c,gettext,AC_DEFINE(wxHAVE_GLIBC2))
1029 dnl ----------------------------------------------------------------
1030 dnl search for toolkit (widget sets)
1031 dnl ----------------------------------------------------------------
1044 if test "$wxUSE_GTK" = 1; then
1045 AM_PATH_GTK(1.0.4, [
1046 GUI_TK_INCLUDE="$GTK_CFLAGS"
1047 GUI_TK_LIBRARY="$GTK_LIBS"
1048 ], AC_MSG_ERROR(Is gtk-config in path and GTK+ is version 1.0.4 up-to 1.0.6?))
1050 TOOLKIT_DEF=__WXGTK__
1052 MAKEINCLUDE=../gtk.inc
1055 if test "$wxUSE_QT" = 1; then
1056 AC_MSG_CHECKING(for Qt includes)
1057 AC_PATH_FIND_INCLUDES($SEARCH_INCLUDE,qapp.h)
1058 if test "$ac_find_includes" != "" ; then
1059 AC_MSG_RESULT(found $ac_find_includes)
1060 AC_MSG_CHECKING(for Qt library)
1061 AC_PATH_FIND_LIBRARIES($SEARCH_LIB,qt)
1062 if test "$ac_find_libraries" != "" ; then
1063 AC_INCLUDE_PATH_EXIST($ac_find_includes,$CHECK_INCLUDE)
1064 AC_LINK_PATH_EXIST($ac_find_libraries,$CHECK_LIB)
1065 CHECK_LINK="$CHECK_INCLUDE $ac_path_to_link"
1066 CHECK_INCLUDE="$CHECK_INCLUDE $ac_path_to_include"
1067 AC_MSG_RESULT(found Qt at $ac_find_libraries)
1074 GUI_TK_LINK="-lX11 -lqt -lm"
1076 TOOLKIT_DEF=__WXQT__
1078 MAKEINCLUDE=../qt.inc
1081 if test "$wxUSE_MOTIF" = 1; then
1082 AC_MSG_CHECKING(for Motif/Lesstif includes)
1083 AC_PATH_FIND_INCLUDES($SEARCH_INCLUDE,Xm/Xm.h)
1084 if test "$ac_find_includes" != "" ; then
1085 AC_MSG_RESULT(found $ac_find_includes)
1086 AC_MSG_CHECKING(for Motif/Lesstif library)
1087 AC_PATH_FIND_LIBRARIES($SEARCH_LIB,Xm)
1088 if test "$ac_find_libraries" != "" ; then
1089 AC_INCLUDE_PATH_EXIST($ac_find_includes,$CHECK_INCLUDE)
1090 AC_LINK_PATH_EXIST($ac_find_libraries,$CHECK_LIB)
1091 CHECK_LINK="$CHECK_LIB $ac_path_to_link"
1092 CHECK_INCLUDE="$CHECK_INCLUDE $ac_path_to_include"
1093 AC_MSG_RESULT(found at $ac_find_libraries)
1094 AC_MSG_CHECKING(for Xt library)
1095 AC_PATH_FIND_LIBRARIES($SEARCH_LIB,Xt)
1096 if test "$ac_find_libraries" != "" ; then
1097 AC_LINK_PATH_EXIST($ac_find_libraries,$CHECK_LIB)
1098 CHECK_LINK="$CHECK_LIB $ac_path_to_link"
1099 AC_MSG_RESULT(found at $ac_find_libraries)
1100 AC_MSG_CHECKING(for Xpm library)
1101 AC_PATH_FIND_LIBRARIES($SEARCH_LIB,Xpm)
1102 if test "$ac_find_libraries" != "" ; then
1103 AC_LINK_PATH_EXIST($ac_find_libraries,$CHECK_LIB)
1104 CHECK_LINK="$CHECK_LIB $ac_path_to_link"
1105 AC_MSG_RESULT(found at $ac_find_libraries)
1119 GUI_TK_LINK="-lXm -lXpm -lXmu -lXt -lX11 -lm"
1120 GUI_TK_LIBRARY="$CHECK_LIB $GUI_TK_LINK"
1122 TOOLKIT_DEF=__WXMOTIF__
1124 MAKEINCLUDE=../motif.inc
1127 if test "$TOOLKIT" = ""; then
1128 AC_MSG_ERROR(You must specify a toolkit: --with-gtk --with-qt --with-motif)
1131 AC_SUBST(GUI_TK_INCLUDE)
1132 AC_SUBST(GUI_TK_LIBRARY)
1133 AC_SUBST(GUI_TK_LINK)
1138 AC_SUBST(TOOLKIT_DEF)
1140 AC_SUBST(MAKEINCLUDE)
1142 dnl ----------------------------------------------------------------
1143 dnl Register compile options for makefiles and setup.h
1144 dnl ----------------------------------------------------------------
1149 if test "$wxUSE_DEBUG_GDB" = 1 ; then
1154 if test "$wxUSE_DEBUG_INFO" = 1 ; then
1161 if test "$wxUSE_DEBUG_FLAG" = 1 ; then
1162 AC_DEFINE_UNQUOTED(WXDEBUG,$wxUSE_DEBUG_FLAG)
1163 WXDEBUG_DEFINE="-D__WXDEBUG__"
1164 AC_SUBST(WXDEBUG_DEFINE)
1166 WXDEBUG_DEFINE="-DGTK_NO_CHECK_CASTS"
1167 AC_SUBST(WXDEBUG_DEFINE)
1170 if test "$wxUSE_MEM_TRACING" = 1 ; then
1171 AC_DEFINE_UNQUOTED(wxUSE_MEMORY_TRACING,$wxUSE_MEM_TRACING)
1172 AC_DEFINE_UNQUOTED(wxUSE_GLOBAL_MEMORY_OPERATORS,$wxUSE_MEM_TRACING)
1175 if test "$wxUSE_DMALLOC" = 1 ; then
1176 EXTRA_LINK="$EXTRA_LINK -ldmalloc"
1178 AC_SUBST(EXTRA_LINK)
1181 if test "$wxUSE_PROFILE" = 1 ; then
1186 CXXFLAGS=`echo "${CXXFLAGS}" | sed "s/\-O.//g" `
1187 CFLAGS=`echo "${CFLAGS}" | sed "s/\-O.//g" `
1188 if test "$wxUSE_OPTIMISE" = 0 ; then
1191 if test "$GCC" = yes ; then
1193 case "${canonical}" in
1195 OPTIMISE="${OPTIMISE} "
1205 if test "$wxUSE_APPLE_IEEE" = 1 ; then
1206 APPLE_IEEE="APPLE_IEEE"
1207 AC_DEFINE_UNQUOTED(wxUSE_APPLE_IEEE,$wxUSE_APPLE_IEEE)
1210 wxUSE_IOSTREAMH=$DEFAULT_wxUSE_IOSTREAMH
1211 AC_DEFINE_UNQUOTED(wxUSE_IOSTREAMH,$wxUSE_IOSTREAMH)
1213 dnl ----------------------------------------------------------------
1214 dnl Register library options for makefiles and setup.h
1215 dnl ----------------------------------------------------------------
1217 if test "$wxUSE_ZLIB" = 1 ; then
1218 AC_DEFINE_UNQUOTED(wxUSE_ZLIB,$wxUSE_ZLIB)
1219 Z_C_SRC="\$(Z_C_SRC)"
1223 if test "$wxUSE_LIBPNG" = 1 ; then
1224 AC_DEFINE_UNQUOTED(wxUSE_LIBPNG,$wxUSE_LIBPNG)
1225 PNG_C_SRC="\$(PNG_C_SRC)"
1230 if test "$wxUSE_LIBJPEG" = 1 ; then
1231 AC_DEFINE_UNQUOTED(wxUSE_LIBJPEG,$wxUSE_LIBJPEG)
1232 AC_CHECK_LIB(jpeg,main,,AC_MSG_ERROR("libjpeg is not available."))
1238 if test "$wxUSE_ODBC" = 1 ; then
1239 AC_DEFINE_UNQUOTED(wxUSE_ODBC,$wxUSE_ODBC)
1240 IODBC_C_SRC="\$(IODBC_C_SRC)"
1242 AC_SUBST(IODBC_C_SRC)
1244 dnl ----------------------------------------------------------------
1245 dnl Register non-GUI class options for makefiles and setup.h
1246 dnl ----------------------------------------------------------------
1248 if test "$wxUSE_CONFIG" = 1 ; then
1249 AC_DEFINE_UNQUOTED(wxUSE_CONFIG,$wxUSE_CONFIG)
1252 if test "$wxUSE_TIMEDATE" = 1 ; then
1253 AC_DEFINE_UNQUOTED(wxUSE_TIMEDATE,$wxUSE_TIMEDATE)
1256 if test "$wxUSE_INTL" = 1 ; then
1257 AC_DEFINE_UNQUOTED(wxUSE_INTL,$wxUSE_INTL)
1260 if test "$wxUSE_STREAMS" = 1 ; then
1261 AC_DEFINE_UNQUOTED(wxUSE_STREAMS,$wxUSE_STREAMS)
1264 if test "$wxUSE_SOCKETS" = 1 ; then
1265 AC_DEFINE_UNQUOTED(wxUSE_SOCKETS,$wxUSE_SOCKETS)
1268 if test "$wxUSE_SERIAL" = 1 ; then
1269 AC_DEFINE_UNQUOTED(wxUSE_SERIAL,$wxUSE_SERIAL)
1272 dnl ------------------------------------------------------------------------
1274 dnl ------------------------------------------------------------------------
1277 if test "$wxUSE_DYNLIB_CLASS" = "1"; then
1278 dnl the test is a bit complicated because we check for dlopen() both with
1279 dnl and without -ldl
1280 AC_CHECK_FUNCS(dlopen,
1281 [AC_DEFINE(HAVE_DLOPEN) HAVE_DL_FUNCS=1],
1282 [AC_CHECK_LIB(dl, dlopen,
1283 [AC_DEFINE(HAVE_DLOPEN) HAVE_DL_FUNCS=1])])
1284 AC_CHECK_FUNCS(shl_load, [AC_DEFINE(HAVE_SHL_LOAD) HAVE_DL_FUNCS=1])
1286 if test "$HAVE_DL_FUNCS" = 0; then
1287 AC_MSG_WARN("--with-dynlib will be disabled because no function was found to load a shared library on this platform")
1289 wxUSE_DYNLIB_CLASS=0
1293 if test "$wxUSE_DYNLIB_CLASS" = 1 ; then
1294 AC_DEFINE_UNQUOTED(wxUSE_DYNLIB_CLASS,$wxUSE_DYNLIB_CLASS)
1297 dnl ----------------------------------------------------------------
1298 dnl Register Prolog and Resources options for makefiles and setup.h
1299 dnl ----------------------------------------------------------------
1301 if test "$wxUSE_RPC" = 1 ; then
1302 AC_DEFINE_UNQUOTED(wxUSE_RPC,$wxUSE_RPC)
1305 if test "$wxUSE_WX_RESOURCES" = 1 ; then
1306 AC_DEFINE_UNQUOTED(wxUSE_WX_RESOURCES,$wxUSE_WX_RESOURCES)
1309 if test "$wxUSE_PROLOGIO" = 1 ; then
1310 AC_DEFINE_UNQUOTED(wxUSE_PROLOGIO)
1313 dnl ----------------------------------------------------------------
1314 dnl Register PostScript options for makefiles and setup.h
1315 dnl ----------------------------------------------------------------
1317 if test "$wxUSE_POSTSCRIPT" = 1 ; then
1318 AC_DEFINE_UNQUOTED(wxUSE_POSTSCRIPT)
1321 AC_DEFINE_UNQUOTED(wxUSE_AFM_FOR_POSTSCRIPT,$wxUSE_AFM_FOR_POSTSCRIPT)
1323 AC_DEFINE_UNQUOTED(WX_NORMALIZED_PS_FONTS,$WX_NORMALIZED_PS_FONTS)
1325 dnl ----------------------------------------------------------------
1326 dnl Register architecture options for makefiles and setup.h
1327 dnl ----------------------------------------------------------------
1329 if test "$wxUSE_MDI_ARCHITECTURE" = 1 ; then
1330 AC_DEFINE_UNQUOTED(wxUSE_MDI_ARCHITECTURE,$wxUSE_MDI_ARCHITECTURE)
1333 if test "$wxUSE_DOC_VIEW_ARCHITECTURE" = 1 ; then
1334 AC_DEFINE_UNQUOTED(wxUSE_DOC_VIEW_ARCHITECTURE,$wxUSE_DOC_VIEW_ARCHITECTURE)
1337 if test "$wxUSE_PRINTING_ARCHITECTURE" = 1 ; then
1338 AC_DEFINE_UNQUOTED(wxUSE_PRINTING_ARCHITECTURE,$wxUSE_PRINTING_ARCHITECTURE)
1341 dnl ----------------------------------------------------------------
1342 dnl Register wxString options for makefiles and setup.h
1343 dnl ----------------------------------------------------------------
1345 if test "$wxUSE_UNICODE" = 1 ; then
1346 AC_DEFINE_UNQUOTED(wxUSE_UNICODE)
1349 if test "$wxUSE_WCSRTOMBS" = 1 ; then
1350 AC_DEFINE_UNQUOTED(wxUSE_WCSRTOMBS)
1353 dnl ----------------------------------------------------------------
1354 dnl Register misc options for makefiles and setup.h
1355 dnl ----------------------------------------------------------------
1357 if test "$wxUSE_IPC" = 1 ; then
1358 AC_DEFINE_UNQUOTED(wxUSE_IPC)
1361 if test "$wxUSE_RESOURCES" = 1 ; then
1362 AC_DEFINE_UNQUOTED(wxUSE_RESOURCES,$wxUSE_RESOURCES)
1365 if test "$wxUSE_CLIPBOARD" = 1 ; then
1366 AC_DEFINE_UNQUOTED(wxUSE_CLIPBOARD,$wxUSE_CLIPBOARD)
1369 if test "$wxUSE_TOOLTIPS" = 1 ; then
1370 AC_DEFINE_UNQUOTED(wxUSE_TOOLTIPS,$wxUSE_TOOLTIPS)
1373 if test "$wxUSE_DRAG_AND_DROP" = 1 ; then
1374 AC_DEFINE_UNQUOTED(wxUSE_DRAG_AND_DROP,$wxUSE_DRAG_AND_DROP)
1377 dnl ----------------------------------------------------------------
1379 dnl ----------------------------------------------------------------
1382 if test "$wxUSE_HELP" = 1 ; then
1384 AC_DEFINE_UNQUOTED(wxUSE_HELP,$wxUSE_HELP)
1388 dnl ----------------------------------------------------------------
1390 dnl ----------------------------------------------------------------
1392 dnl defines UNIX_THREAD it contains the source file to use for threads. (GL)
1393 dnl defines THREADS_LINK it contains the thread library to link with. (GL)
1394 dnl defines wxUSE_THREADS if thread support is activated. (GL)
1399 if test "$wxUSE_THREADS" = "1"; then
1400 dnl For glibc 2 users who have the old libc 5 too
1402 AC_CHECK_LIB(pthread-0.7, pthread_create, [
1403 UNIX_THREAD="unix/threadpsx.cpp"
1404 THREADS_LINK="pthread-0.7"
1406 AC_CHECK_HEADER(sys/prctl.h, [
1407 UNIX_THREAD="gtk/threadsgi.cpp"
1410 dnl pthread_create is always available in pthread but it seems not to be
1411 dnl the case for pthread_setcanceltype.
1413 AC_CHECK_LIB(pthread, pthread_setcanceltype, [
1414 UNIX_THREAD="unix/threadpsx.cpp"
1415 THREADS_LINK="pthread"
1419 if test "x$THREADS_LINK" = "x"; then
1420 dnl thread functions are in libc_r under FreeBSD
1421 AC_CHECK_LIB(c_r, pthread_create,
1423 UNIX_THREAD="unix/threadpsx.cpp"
1428 if test "$THREADS_LINK" != ""; then
1429 AC_DEFINE(wxUSE_THREADS)
1433 if test -z "$UNIX_THREAD"; then
1437 dnl do other tests only if we are using threads
1438 if test "$wxUSE_THREADS" = "1"; then
1441 AC_CHECK_HEADERS(sched.h)
1443 AC_CHECK_LIB($THREADS_LINK, sched_yield,
1444 AC_DEFINE(HAVE_SCHED_YIELD),
1445 [AC_CHECK_LIB("posix4", sched_yield,
1446 [AC_DEFINE(HAVE_SCHED_YIELD) THREADS_LINK2="-lposix4"],
1447 AC_MSG_WARN(wxThread::Yield() will not work properly)
1451 AC_CHECK_LIB($THREADS_LINK, sched_get_priority_min,
1452 AC_DEFINE(HAVE_THREAD_PRIORITY_FUNCTIONS),
1453 [AC_CHECK_LIB("posix4", sched_get_priority_min,
1454 [AC_DEFINE(HAVE_THREAD_PRIORITY_FUNCTIONS) THREADS_LINK2="-lposix4"],
1455 AC_MSG_WARN(Setting thread priority will not work)
1459 AC_CHECK_LIB($THREADS_LINK, pthread_cancel,
1460 AC_DEFINE(HAVE_PTHREAD_CANCEL),
1461 AC_MSG_WARN(wxThread::Kill() will not work properly))
1463 THREADS_LINK="-l$THREADS_LINK $THREADS_LINK2"
1466 AC_SUBST(UNIX_THREAD)
1467 AC_SUBST(THREADS_LINK)
1469 dnl ------------------------------------------------------------------------
1470 dnl compiler options for shared libs
1471 dnl ------------------------------------------------------------------------
1475 case "${canonical}" in
1477 if test "$GCC" != "yes" ; then
1478 CXXFLAGS="${CXXFLAGS} +a1 -z -Aa -D_HPUX_SOURCE"
1479 CFLAGS="${CFLAGS} -z -D_HPUX_SOURCE"
1485 CREATE_SHARED=sharedHpux
1490 CREATE_SHARED=sharedLinux
1493 *-*-irix5* | *-*-irix6* )
1494 # PICFLAGS can remain empty, as pic is the default
1496 CREATE_SHARED=sharedIrix
1501 if test "$GCC" != "yes" ; then
1506 CREATE_SHARED=sharedSolaris2
1511 if test "$GCC" != "yes" ; then
1517 CREATE_SHARED=sharedSunos4
1521 *-*-freebsd* | *-*-netbsd*)
1523 CREATE_SHARED=sharedBsd
1529 CREATE_SHARED=sharedOSF
1533 if test "$GCC" != "yes" ; then
1538 CREATE_SHARED=sharedDgux
1543 if test "$GCC" != "yes" ; then
1548 CREATE_SHARED=sharedSysV
1553 if test "$GCC" != "yes" ; then
1558 CREATE_SHARED=sharedAIX
1567 if test "x$GCC" = xyes; then
1568 CFLAGS="${CFLAGS} -Wall -Wno-unused -Wno-uninitialized -D_REENTRANT -DLEX_SCANNER -DHAVE_LIBDL"
1571 if test "x$GXX" = xyes; then
1572 if test "$wxUSE_MOTIF" = 1; then
1573 CXXFLAGS="${CXXFLAGS} -Wall -Wno-unused -D_REENTRANT"
1575 CXXFLAGS="${CXXFLAGS} -Wall -D_REENTRANT"
1579 if test "$wxUSE_SHARED" != 1; then
1586 AC_SUBST(CREATE_SHARED)
1588 dnl ------------------------------------------------------------------------
1589 dnl finish and clean-up
1590 dnl ------------------------------------------------------------------------
1592 dnl add OS to list of configured
1593 echo $OS >> system.list
1595 AC_CONFIG_HEADER(./include/wx/gtk/setup.h:./setup/setup.hin)
1596 AC_OUTPUT(./setup/substit ./wx-config:./wx-config.in,./setup/general/createall)