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
375 dnl check if VPATH works
376 AC_MSG_CHECKING("make for VPATH support")
378 cat - << EOF > confMake
384 if test ! -d sub ; then
387 echo dummy > sub/file
388 ${MAKE-make} -f confMake VPATH=sub 2> config.log > /dev/null
390 rm -f sub/file check final_file confMake
392 if test "$RESULT" = 0; then
397 You need a make-utility that is able to use the variable
399 If your version of make does not support VPATH correctly,
400 please install GNU-make (possibly as gmake), and start
401 configure with the following command:
402 export MAKE=gmake; ./configure for sh-type shells
403 setenv MAKE gmake; ./configure for csh-type shells
404 Also please do remember to use gmake in this case every time
405 you are trying to compile.
409 dnl ####################
410 dnl # checks libraries #
411 dnl ####################
413 dnl find the X11 include and library files
415 dnl defines x_includes and x_libraries
417 dnl #######################
418 dnl # checks header files #
419 dnl #######################
422 dnl defines MACRO HAVE_DIRENT_H if dirent.h exists
423 dnl defines MACRO HAVE_SYS_NDIR_H if sys/ndir.h exists
424 dnl defines MACRO HAVE_SYS_DIR_H if sys/dir.h exists
425 dnl defines MACRO HAVE_NDIR_H if ndir.h exists
427 dnl defines STDC_HEADERS if ANSI-C header
429 dnl defines HAVE_SYS_WAIT_H if sys/wait.h exist and is POSIX.1
430 AC_CHECK_HEADERS(fcntl.h)
431 dnl defines HAVE_FCNTL_H
432 AC_CHECK_HEADERS(limits.h)
433 dnl defines HAVE_LIMITS_h
434 AC_CHECK_HEADERS(sys/file.h)
435 dnl defines HAVE_SYS_FILE_H
436 AC_CHECK_HEADERS(sys/time.h)
437 dnl defines HAVE_SYS_TIME_H
438 AC_CHECK_HEADERS(unistd.h)
439 dnl defines HAVE_UNISTD_H
440 AC_CHECK_HEADERS(fnmatch.h)
441 dnl defines HAVE_FNMATCH_H
442 dnl As it needs Linux 2.1.x for the moment: check whether the file exists (GL).
443 AC_CHECK_HEADERS(linux/joystick.h)
445 if test "$ac_cv_header_linux_joystick_h" = "yes"; then
446 GTK_JOYSTICK="gtk/joystick.cpp"
448 AC_SUBST(GTK_JOYSTICK)
450 dnl check for vprintf/vsprintf() which are GNU extensions
452 dnl check for vsnprintf() which is another GNU extension
453 AC_CHECK_FUNCS(vsnprintf)
455 dnl check for usleep() and nanosleep() which is better in MT programs
456 AC_CHECK_FUNCS(nanosleep usleep)
460 AC_CHECK_HEADERS(iostream)
461 if test "x$HAVE_IOSTREAM" = "x" ; then
462 AC_DEFINE(wxUSE_IOSTREAMH)
466 dnl defines HAVE_IOSTREAM
467 dnl ###################
468 dnl # checks typedefs #
469 dnl ###################
471 dnl defines GETGROUPS_T
473 dnl defines mode_t if not already defined
475 dnl defines off_t if not already defined
477 dnl defines pid_t if not already defined
479 dnl defines RETSIGTYPE for the correct return type of signal
481 dnl defines size_t if not already defined
483 dnl defines uid_t and gid_t if not already defined
485 dnl #####################
486 dnl # checks structures #
487 dnl #####################
490 dnl defines STAT_MACROS_BROKEN if S_ISDIR and S_ISREG
491 dnl do not work properly
493 dnl defines TIME_WITH_SYS_TIME if time.h and sys/time.h can
496 dnl defines HAVE_ST_BLKSIZE if struct stat contains st_blksize
498 dnl defines HAVE_ST_BLOCKS if struct stat contains st_blocks
500 dnl defines HAVE_ST_RDEV if struct stat contains st_rdev
502 dnl defines TM_IN_SYS_TIME if struct tm is not in time.h
504 dnl defines HAVE_ST_BLKSIZE if struct tm contains tm_zone
506 dnl defines HAVE_TZNAME if external array tzname is found
508 dnl ###################################
509 dnl # checks compiler characteristics #
510 dnl ###################################
514 dnl defines const to be empty if c-compiler does not support const fully
516 dnl defines inline to a sensible value for the c-compiler
518 dnl defines __CHAR_UNSIGNED__ if char is unsigned
520 dnl defines HAVE_LONGDOUBLE if compiler supports long double
523 dnl defines WORDS_BIGENDIAN if system is big endian
525 AC_CHECK_SIZEOF(int *)
527 AC_CHECK_SIZEOF(long)
528 AC_CHECK_SIZEOF(long long)
529 dnl defines the size of certain types of variables in SIZEOF_???
531 dnl ############################
532 dnl # checks library functions #
533 dnl ############################
535 dnl ##########################
536 dnl # checks system services #
537 dnl ##########################
540 AC_SYS_LONG_FILE_NAMES
541 dnl defines HAVE_LONG_FILENAMES if filenames longer then
542 dnl 14 chars are supported
544 dnl AC_SYS_RESTARTABLE_SYSCALLS
545 dnl defines HAVE_RESTARTABLE_SYSCALLS if the system restarts a
546 dnl system call that is interrupted
549 dnl #################
550 dnl # checks PARSER #
551 dnl #################
556 dnl defines YACC with the appropriate command
561 dnl defines LEX with the appropriate command
562 dnl defines LEXLIB with the appropriate library
563 dnl what type is yytext
565 dnl defines YYTEXT_POINTER if yytext is char*
566 dnl defines LEX_OUTPUT_ROOT as to the base of the
567 dnl filename output by the lexer
569 dnl ###################################
570 dnl ## Check for dynamic load module #
571 dnl ###################################
574 AC_CHECK_FUNCS(dlopen, AC_DEFINE(HAVE_LIBDL),
575 [AC_CHECK_LIB(dl, dlopen, [AC_DEFINE(HAVE_LIBDL) DL_LIBRARY="-ldl"],
576 [AC_CHECK_LIB(dld, dld_link, [AC_DEFINE(HAVE_DLD) DL_LIBRARY="-ldld"],
577 [AC_CHECK_FUNCS(shl_load, AC_DEFINE(HAVE_SHL_LOAD) )]
583 AC_CACHE_CHECK([for underscore before symbols], libltdl_cv_uscore, [
584 echo "main(){int i=1;} fnord(){int i=23; int ltuae=42;}" > conftest.c
585 ${CC} -c conftest.c > /dev/null
586 if (nm conftest.o | grep _fnord) > /dev/null; then
587 libltdl_cv_uscore=yes
594 if test x"$libltdl_cv_uscore" = xyes; then
595 if test x"$ac_cv_func_dlopen" = xyes ||
596 test x"$ac_cv_lib_dl_dlopen" = xyes ; then
597 AC_CACHE_CHECK([whether we have to add an underscore for dlsym],
598 libltdl_cv_need_uscore, [dnl
603 main() { void *self, *ptr1, *ptr2; self=dlopen(NULL,RTLD_LAZY);
604 if(self) { ptr1=dlsym(self,"fnord"); ptr2=dlsym(self,"_fnord");
605 if(ptr1 && !ptr2) exit(0); } exit(1); }
606 ], libltdl_cv_need_uscore=no, libltdl_cv_need_uscore=yes,
607 libltdl_cv_need_uscore=no
612 if test x"$libltdl_cv_need_uscore" = xyes; then
613 AC_DEFINE(NEED_USCORE)
616 dnl ##########################################
617 dnl ## Check for specific library functions #
618 dnl ##########################################
620 dnl Checks for library functions.
621 AC_CHECK_FUNCS(strerror)
623 dnl ------------------------------------------------------------------------
625 dnl ------------------------------------------------------------------------
627 CHECK_INCLUDE="-I/usr/include $X_CFLAGS"
628 CHECK_LIB="-L/lib -L/usr/lib $X_LIBS"
630 dnl ------------------------------------------------------------------------
632 dnl ------------------------------------------------------------------------
636 configuration=$host_alias
638 dnl ------------------------------------------------------------------------
640 dnl ------------------------------------------------------------------------
662 case "${canonical}" in
671 if test "x$TMP" = "xalpha"
677 *-*-irix5* | *-*-irix6* )
688 AC_DEFINE(__SOLARIS__)
699 *-*-freebsd* | *-*-netbsd*)
702 AC_DEFINE(__FREEBSD__)
732 AC_MSG_ERROR(I don't know your system type.)
735 dnl ------------------------------------------------------------------------
736 dnl defaults for command options
737 dnl ------------------------------------------------------------------------
743 DEFAULT_wxUSE_MOTIF=0
745 DEFAULT_wxUSE_THREADS=0
747 DEFAULT_wxUSE_SHARED=1
748 DEFAULT_wxUSE_OPTIMISE=1
749 DEFAULT_wxUSE_PROFILE=0
750 DEFAULT_wxUSE_DEBUG_FLAG=0
751 DEFAULT_wxUSE_DEBUG_INFO=0
752 DEFAULT_wxUSE_MEM_TRACING=0
753 DEFAULT_wxUSE_DMALLOC=0
754 DEFAULT_wxUSE_APPLE_IEEE=1
755 DEFAULT_wxUSE_IOSTREAMH=1
758 DEFAULT_wxUSE_LIBPNG=1
759 DEFAULT_wxUSE_LIBJPEG=0
762 DEFAULT_wxUSE_TIMEDATE=1
764 DEFAULT_wxUSE_CONFIG=1
765 DEFAULT_wxUSE_STREAMS=1
766 DEFAULT_wxUSE_SOCKETS=1
767 DEFAULT_wxUSE_SERIAL=1
768 DEFAULT_wxUSE_DYNLIB_CLASS=1
770 DEFAULT_wxUSE_AFM_FOR_POSTSCRIPT=1
771 DEFAULT_WX_NORMALIZED_PS_FONTS=1
772 DEFAULT_wxUSE_POSTSCRIPT=1
775 DEFAULT_wxUSE_RESOURCES=1
776 DEFAULT_wxUSE_CLIPBOARD=1
777 DEFAULT_wxUSE_TOOLTIPS=1
778 DEFAULT_wxUSE_DRAG_AND_DROP=1
780 DEFAULT_wxUSE_MDI_ARCHITECTURE=1
781 DEFAULT_wxUSE_DOC_VIEW_ARCHITECTURE=1
782 DEFAULT_wxUSE_PRINTING_ARCHITECTURE=1
784 DEFAULT_wxUSE_PROLOGIO=1
785 DEFAULT_wxUSE_WX_RESOURCES=1
789 DEFAULT_wxUSE_UNICODE=1
790 DEFAULT_wxUSE_WCSRTOMBS=0
792 dnl ----------------------------------------------------------------
794 dnl ----------------------------------------------------------------
796 AC_OVERRIDES(gtk,gtk,
797 **--with-gtk use GTK,
804 AC_OVERRIDES(motif,motif,
805 **--with-motif use Motif/Lesstif,
808 dnl ----------------------------------------------------------------
810 dnl ----------------------------------------------------------------
812 AC_OVERRIDES(shared,shared,
813 **--with-shared create shared libraries,
816 AC_OVERRIDES(optimise,optimise,
817 **--with-optimise create optimised code,
820 AC_OVERRIDES(debug_flag,debug_flag,
821 **--with-debug_flag create code with WXDEBUG define set to 1,
824 AC_OVERRIDES(debug_info,debug_info,
825 **--with-debug_info create code with debuging information,
828 AC_OVERRIDES(debug_gdb,debug_gdb,
829 **--with-debug_gdb create code with extra GDB debuging information,
832 AC_OVERRIDES(mem_tracing,mem_tracing,
833 **--with-mem_traing create code with memory tracing,
836 AC_OVERRIDES(dmalloc,dmalloc,
837 **--with-dmalloc use dmalloc memory debug library (www.letters.com/dmalloc/),
840 AC_OVERRIDES(profile,profile,
841 **--with-profile create code with profiling information,
844 AC_OVERRIDES(apple_ieee, apple_ieee,
845 **--with_apple_ieee use the Apple IEEE codec,
848 AC_OVERRIDES(threads,threads,
849 **--with-threads for enabling threads,
852 AC_OVERRIDES(dynlib,dynlib,
853 **--with-dynlib to compile wxLibrary class,
856 dnl ----------------------------------------------------------------
857 dnl user options for libraries
858 dnl ----------------------------------------------------------------
860 AC_OVERRIDES(zlib,zlib,
861 **--with-zlib use zlib for LZW comression,
864 AC_OVERRIDES(libpng,libpng,
865 **--with-libpng use libpng (PNG image format),
868 AC_OVERRIDES(libjpeg,libjpeg,
869 **--with-libjpeg use libjpeg (JPEG image format),
872 AC_OVERRIDES(odbc,odbc,
873 **--with-odbc use iODBC and wxODBC classes,
876 dnl ----------------------------------------------------------------
877 dnl user options for non-GUI classes
878 dnl ----------------------------------------------------------------
880 AC_OVERRIDES(timedate, timedate,
881 **--with-timedate use wxTime and wxDate classes,
884 AC_OVERRIDES(intl,intl,
885 **--with-intl use internationalization system,
888 AC_OVERRIDES(config,config,
889 **--with-config use wxConfig class,
892 AC_OVERRIDES(streams,streams,
893 **--with-streams use wxStream etc classes,
896 AC_OVERRIDES(serial,serial,
897 **--with-serial use class serialization,
900 AC_OVERRIDES(sockets,sockets,
901 **--with-sockets use wxSocket etc classes,
904 dnl ----------------------------------------------------------------
905 dnl user options for PostScript
906 dnl ----------------------------------------------------------------
908 AC_OVERRIDES(afmfonts,afmfonts,
909 **--with-afmfonts use Adobe Font Metric Font table,
910 wxUSE_AFM_FOR_POSTSCRIPT)
912 AC_OVERRIDES(normalized, normalized,
913 **--with-PS-normalized use normalized PS fonts,
914 WX_NORMALIZED_PS_FONTS)
916 AC_OVERRIDES(postscript, postscript,
917 **--with-postscript use wxPostscriptDC device context,
920 dnl ----------------------------------------------------------------
921 dnl user options for wxString and Unicode
922 dnl ----------------------------------------------------------------
924 AC_OVERRIDES(unicode,unicode,
925 **--with-unicode compile wxString with Unicode support,
928 AC_OVERRIDES(wcsrtombs,wcsrtombs,
929 **--with-wcsrtombs use wcsrtombs instead of (buggy in GNU libc5) wcstombs,
932 dnl ----------------------------------------------------------------
933 dnl user options for Prolog and Resources
934 dnl ----------------------------------------------------------------
936 AC_OVERRIDES(wxresources,wxresources,
937 **--with-wxresources use wxWindows's resources,
940 AC_OVERRIDES(prologio,prologio,
941 **--with-prologio use Prolog IO library,
944 AC_OVERRIDES(rpc,RPC,
945 **--with-rpc use Prolog's remote procedure calls,
948 dnl ----------------------------------------------------------------
949 dnl user options for misc stuff
950 dnl ----------------------------------------------------------------
952 AC_OVERRIDES(ipc,IPC,
953 **--with-ipc use interprocess communication (wxSocket etc.),
956 AC_OVERRIDES(resources,resources,
957 **--with-resources use X resources for saving information,
960 AC_OVERRIDES(clipboard,clipboard,
961 **--with-clipboard use wxClipboard classes,
964 AC_OVERRIDES(tooltips,tooltips,
965 **--with-tooltips use tooltips,
968 AC_OVERRIDES(dnd,dnd,
969 **--with-dnd use Drag'n'Drop classes,
972 dnl ----------------------------------------------------------------
973 dnl user options for architectures
974 dnl ----------------------------------------------------------------
976 AC_OVERRIDES(mdi,mdi,
977 **--with-mdi use multiple document interface architecture,
978 wxUSE_MDI_ARCHITECTURE)
980 AC_OVERRIDES(docview,docview,
981 **--with-docview use document view architecture,
982 wxUSE_DOC_VIEW_ARCHITECTURE)
984 AC_OVERRIDES(printarch,printarch,
985 **--with-printarch use printing architecture,
986 wxUSE_PRINTING_ARCHITECTURE)
988 AC_OVERRIDES(help,help,
989 **--with-help use help (using external browser at present),
992 dnl ----------------------------------------------------------------
994 dnl ----------------------------------------------------------------
996 if test "$wxUSE_UNIX" = 1 ; then
1000 dnl ----------------------------------------------------------------
1001 dnl Linux: test for libc5/glibc2: glibc2 has gettext() included
1002 dnl ----------------------------------------------------------------
1003 if test "$USE_LINUX" = 1; then
1004 AC_CHECK_LIB(c,gettext,AC_DEFINE(wxHAVE_GLIBC2))
1007 dnl ----------------------------------------------------------------
1008 dnl search for toolkit (widget sets)
1009 dnl ----------------------------------------------------------------
1022 if test "$wxUSE_GTK" = 1; then
1023 AM_PATH_GTK(1.0.4, [
1024 GUI_TK_INCLUDE="$GTK_CFLAGS"
1025 GUI_TK_LIBRARY="$GTK_LIBS"
1026 ], AC_MSG_ERROR(Is gtk-config in path and GTK+ is version 1.0.4 up-to 1.0.6?))
1028 TOOLKIT_DEF=__WXGTK__
1030 MAKEINCLUDE=../gtk.inc
1033 if test "$wxUSE_QT" = 1; then
1034 AC_MSG_CHECKING(for Qt includes)
1035 AC_PATH_FIND_INCLUDES($SEARCH_INCLUDE,qapp.h)
1036 if test "$ac_find_includes" != "" ; then
1037 AC_MSG_RESULT(found $ac_find_includes)
1038 AC_MSG_CHECKING(for Qt library)
1039 AC_PATH_FIND_LIBRARIES($SEARCH_LIB,qt)
1040 if test "$ac_find_libraries" != "" ; then
1041 AC_INCLUDE_PATH_EXIST($ac_find_includes,$CHECK_INCLUDE)
1042 AC_LINK_PATH_EXIST($ac_find_libraries,$CHECK_LIB)
1043 CHECK_LINK="$CHECK_INCLUDE $ac_path_to_link"
1044 CHECK_INCLUDE="$CHECK_INCLUDE $ac_path_to_include"
1045 AC_MSG_RESULT(found Qt at $ac_find_libraries)
1052 GUI_TK_LINK="-lX11 -lqt -lm"
1054 TOOLKIT_DEF=__WXQT__
1056 MAKEINCLUDE=../qt.inc
1059 if test "$wxUSE_MOTIF" = 1; then
1060 AC_MSG_CHECKING(for Motif/Lesstif includes)
1061 AC_PATH_FIND_INCLUDES($SEARCH_INCLUDE,Xm/Xm.h)
1062 if test "$ac_find_includes" != "" ; then
1063 AC_MSG_RESULT(found $ac_find_includes)
1064 AC_MSG_CHECKING(for Motif/Lesstif library)
1065 AC_PATH_FIND_LIBRARIES($SEARCH_LIB,Xm)
1066 if test "$ac_find_libraries" != "" ; then
1067 AC_INCLUDE_PATH_EXIST($ac_find_includes,$CHECK_INCLUDE)
1068 AC_LINK_PATH_EXIST($ac_find_libraries,$CHECK_LIB)
1069 CHECK_LINK="$CHECK_LIB $ac_path_to_link"
1070 CHECK_INCLUDE="$CHECK_INCLUDE $ac_path_to_include"
1071 AC_MSG_RESULT(found at $ac_find_libraries)
1072 AC_MSG_CHECKING(for Xt library)
1073 AC_PATH_FIND_LIBRARIES($SEARCH_LIB,Xt)
1074 if test "$ac_find_libraries" != "" ; then
1075 AC_LINK_PATH_EXIST($ac_find_libraries,$CHECK_LIB)
1076 CHECK_LINK="$CHECK_LIB $ac_path_to_link"
1077 AC_MSG_RESULT(found at $ac_find_libraries)
1078 AC_MSG_CHECKING(for Xpm library)
1079 AC_PATH_FIND_LIBRARIES($SEARCH_LIB,Xpm)
1080 if test "$ac_find_libraries" != "" ; then
1081 AC_LINK_PATH_EXIST($ac_find_libraries,$CHECK_LIB)
1082 CHECK_LINK="$CHECK_LIB $ac_path_to_link"
1083 AC_MSG_RESULT(found at $ac_find_libraries)
1097 GUI_TK_LINK="-lXm -lXpm -lXmu -lXt -lX11 -lm"
1098 GUI_TK_LIBRARY="$CHECK_LIB $GUI_TK_LINK"
1100 TOOLKIT_DEF="__WXMOTIF__ -D__LINUX__ -D__UNIX__"
1102 MAKEINCLUDE=../motif.inc
1105 if test "$TOOLKIT" = ""; then
1106 AC_MSG_ERROR(You must specify a toolkit: --with-gtk --with-qt --with-motif)
1109 AC_SUBST(GUI_TK_INCLUDE)
1110 AC_SUBST(GUI_TK_LIBRARY)
1111 AC_SUBST(GUI_TK_LINK)
1116 AC_SUBST(TOOLKIT_DEF)
1118 AC_SUBST(MAKEINCLUDE)
1120 dnl ----------------------------------------------------------------
1121 dnl Register compile options for makefiles and setup.h
1122 dnl ----------------------------------------------------------------
1127 if test "$wxUSE_DEBUG_GDB" = 1 ; then
1132 if test "$wxUSE_DEBUG_INFO" = 1 ; then
1136 EXTRA_LINK="-s $EXTRA_LINK"
1141 if test "$wxUSE_DEBUG_FLAG" = 1 ; then
1142 AC_DEFINE_UNQUOTED(WXDEBUG,$wxUSE_DEBUG_FLAG)
1143 WXDEBUG_DEFINE="-D__WXDEBUG__"
1144 AC_SUBST(WXDEBUG_DEFINE)
1146 WXDEBUG_DEFINE="-DGTK_NO_CHECK_CASTS"
1147 AC_SUBST(WXDEBUG_DEFINE)
1150 if test "$wxUSE_MEM_TRACING" = 1 ; then
1151 AC_DEFINE_UNQUOTED(wxUSE_MEMORY_TRACING,$wxUSE_MEM_TRACING)
1152 AC_DEFINE_UNQUOTED(wxUSE_GLOBAL_MEMORY_OPERATORS,$wxUSE_MEM_TRACING)
1155 if test "$wxUSE_DMALLOC" = 1 ; then
1156 EXTRA_LINK="$EXTRA_LINK -ldmalloc"
1158 AC_SUBST(EXTRA_LINK)
1161 if test "$wxUSE_PROFILE" = 1 ; then
1166 CXXFLAGS=`echo "${CXXFLAGS}" | sed "s/\-O.//g" `
1167 CFLAGS=`echo "${CFLAGS}" | sed "s/\-O.//g" `
1168 if test "$wxUSE_OPTIMISE" = 0 ; then
1171 if test "$GCC" = yes ; then
1173 case "${canonical}" in
1175 OPTIMISE="${OPTIMISE} "
1185 if test "$wxUSE_APPLE_IEEE" = 1 ; then
1186 APPLE_IEEE="APPLE_IEEE"
1187 AC_DEFINE_UNQUOTED(wxUSE_APPLE_IEEE,$wxUSE_APPLE_IEEE)
1190 wxUSE_IOSTREAMH=$DEFAULT_wxUSE_IOSTREAMH
1191 AC_DEFINE_UNQUOTED(wxUSE_IOSTREAMH,$wxUSE_IOSTREAMH)
1193 dnl ----------------------------------------------------------------
1194 dnl Register library options for makefiles and setup.h
1195 dnl ----------------------------------------------------------------
1197 if test "$wxUSE_ZLIB" = 1 ; then
1198 AC_DEFINE_UNQUOTED(wxUSE_ZLIB,$wxUSE_ZLIB)
1199 Z_C_SRC="\$(Z_C_SRC)"
1203 if test "$wxUSE_LIBPNG" = 1 ; then
1204 AC_DEFINE_UNQUOTED(wxUSE_LIBPNG,$wxUSE_LIBPNG)
1205 PNG_C_SRC="\$(PNG_C_SRC)"
1210 if test "$wxUSE_LIBJPEG" = 1 ; then
1211 AC_DEFINE_UNQUOTED(wxUSE_LIBJPEG,$wxUSE_LIBJPEG)
1218 if test "$wxUSE_ODBC" = 1 ; then
1219 AC_DEFINE_UNQUOTED(wxUSE_ODBC,$wxUSE_ODBC)
1220 IODBC_C_SRC="\$(IODBC_C_SRC)"
1222 AC_SUBST(IODBC_C_SRC)
1224 dnl ----------------------------------------------------------------
1225 dnl Register non-GUI class options for makefiles and setup.h
1226 dnl ----------------------------------------------------------------
1228 if test "$wxUSE_CONFIG" = 1 ; then
1229 AC_DEFINE_UNQUOTED(wxUSE_CONFIG,$wxUSE_CONFIG)
1232 if test "$wxUSE_TIMEDATE" = 1 ; then
1233 AC_DEFINE_UNQUOTED(wxUSE_TIMEDATE,$wxUSE_TIMEDATE)
1236 if test "$wxUSE_INTL" = 1 ; then
1237 AC_DEFINE_UNQUOTED(wxUSE_INTL,$wxUSE_INTL)
1240 if test "$wxUSE_STREAMS" = 1 ; then
1241 AC_DEFINE_UNQUOTED(wxUSE_STREAMS,$wxUSE_STREAMS)
1244 if test "$wxUSE_SOCKETS" = 1 ; then
1245 AC_DEFINE_UNQUOTED(wxUSE_SOCKETS,$wxUSE_SOCKETS)
1248 if test "$wxUSE_SERIAL" = 1 ; then
1249 AC_DEFINE_UNQUOTED(wxUSE_SERIAL,$wxUSE_SERIAL)
1252 dnl ------------------------------------------------------------------------
1254 dnl ------------------------------------------------------------------------
1257 if test "$wxUSE_DYNLIB_CLASS" = "1"; then
1258 dnl the test is a bit complicated because we check for dlopen() both with
1259 dnl and without -ldl
1260 AC_CHECK_FUNCS(dlopen,
1261 [AC_DEFINE(HAVE_DLOPEN) HAVE_DL_FUNCS=1],
1262 [AC_CHECK_LIB(dl, dlopen,
1263 [AC_DEFINE(HAVE_DLOPEN) HAVE_DL_FUNCS=1])])
1264 AC_CHECK_FUNCS(shl_load, [AC_DEFINE(HAVE_SHL_LOAD) HAVE_DL_FUNCS=1])
1266 if test "$HAVE_DL_FUNCS" = 0; then
1267 AC_MSG_WARN("--with-dynlib will be disabled because no function was found to load a shared library on this platform")
1269 wxUSE_DYNLIB_CLASS=0
1273 if test "$wxUSE_DYNLIB_CLASS" = 1 ; then
1274 AC_DEFINE_UNQUOTED(wxUSE_DYNLIB_CLASS,$wxUSE_DYNLIB_CLASS)
1277 dnl ----------------------------------------------------------------
1278 dnl Register Prolog and Resources options for makefiles and setup.h
1279 dnl ----------------------------------------------------------------
1281 if test "$wxUSE_RPC" = 1 ; then
1282 AC_DEFINE_UNQUOTED(wxUSE_RPC,$wxUSE_RPC)
1285 if test "$wxUSE_WX_RESOURCES" = 1 ; then
1286 AC_DEFINE_UNQUOTED(wxUSE_WX_RESOURCES,$wxUSE_WX_RESOURCES)
1289 if test "$wxUSE_PROLOGIO" = 1 ; then
1290 AC_DEFINE_UNQUOTED(wxUSE_PROLOGIO)
1293 dnl ----------------------------------------------------------------
1294 dnl Register PostScript options for makefiles and setup.h
1295 dnl ----------------------------------------------------------------
1297 if test "$wxUSE_POSTSCRIPT" = 1 ; then
1298 AC_DEFINE_UNQUOTED(wxUSE_POSTSCRIPT)
1301 AC_DEFINE_UNQUOTED(wxUSE_AFM_FOR_POSTSCRIPT,$wxUSE_AFM_FOR_POSTSCRIPT)
1303 AC_DEFINE_UNQUOTED(WX_NORMALIZED_PS_FONTS,$WX_NORMALIZED_PS_FONTS)
1305 dnl ----------------------------------------------------------------
1306 dnl Register architecture options for makefiles and setup.h
1307 dnl ----------------------------------------------------------------
1309 if test "$wxUSE_MDI_ARCHITECTURE" = 1 ; then
1310 AC_DEFINE_UNQUOTED(wxUSE_MDI_ARCHITECTURE,$wxUSE_MDI_ARCHITECTURE)
1313 if test "$wxUSE_DOC_VIEW_ARCHITECTURE" = 1 ; then
1314 AC_DEFINE_UNQUOTED(wxUSE_DOC_VIEW_ARCHITECTURE,$wxUSE_DOC_VIEW_ARCHITECTURE)
1317 if test "$wxUSE_PRINTING_ARCHITECTURE" = 1 ; then
1318 AC_DEFINE_UNQUOTED(wxUSE_PRINTING_ARCHITECTURE,$wxUSE_PRINTING_ARCHITECTURE)
1321 dnl ----------------------------------------------------------------
1322 dnl Register wxString options for makefiles and setup.h
1323 dnl ----------------------------------------------------------------
1325 if test "$wxUSE_UNICODE" = 1 ; then
1326 AC_DEFINE_UNQUOTED(wxUSE_UNICODE)
1329 if test "$wxUSE_WCSRTOMBS" = 1 ; then
1330 AC_DEFINE_UNQUOTED(wxUSE_WCSRTOMBS)
1333 dnl ----------------------------------------------------------------
1334 dnl Register misc options for makefiles and setup.h
1335 dnl ----------------------------------------------------------------
1337 if test "$wxUSE_IPC" = 1 ; then
1338 AC_DEFINE_UNQUOTED(wxUSE_IPC)
1341 if test "$wxUSE_RESOURCES" = 1 ; then
1342 AC_DEFINE_UNQUOTED(wxUSE_RESOURCES,$wxUSE_RESOURCES)
1345 if test "$wxUSE_CLIPBOARD" = 1 ; then
1346 AC_DEFINE_UNQUOTED(wxUSE_CLIPBOARD,$wxUSE_CLIPBOARD)
1349 if test "$wxUSE_TOOLTIPS" = 1 ; then
1350 AC_DEFINE_UNQUOTED(wxUSE_TOOLTIPS,$wxUSE_TOOLTIPS)
1353 if test "$wxUSE_DRAG_AND_DROP" = 1 ; then
1354 AC_DEFINE_UNQUOTED(wxUSE_DRAG_AND_DROP,$wxUSE_DRAG_AND_DROP)
1357 dnl ----------------------------------------------------------------
1359 dnl ----------------------------------------------------------------
1362 if test "$wxUSE_HELP" = 1 ; then
1364 AC_DEFINE_UNQUOTED(wxUSE_HELP,$wxUSE_HELP)
1368 dnl ----------------------------------------------------------------
1370 dnl ----------------------------------------------------------------
1375 if test "$wxUSE_THREADS" = "1"; then
1377 dnl For glibc 2 users who have the old libc 5 too
1379 AC_CHECK_LIB(pthread-0.7, pthread_create, [
1380 UNIX_THREAD="gtk/threadpsx.cpp"
1381 THREADS_LINK="-lpthread-0.7"
1383 AC_CHECK_HEADER(sys/prctl.h, [
1384 UNIX_THREAD="gtk/threadsgi.cpp"
1387 dnl pthread_create is always available in pthread but it seems not to be
1388 dnl the case for pthread_setcanceltype.
1390 AC_CHECK_LIB(pthread, pthread_setcanceltype, [
1391 UNIX_THREAD="gtk/threadpsx.cpp"
1392 THREADS_LINK="-lpthread"
1396 if test "$THREADS_LINK" != ""; then
1397 AC_DEFINE(wxUSE_THREADS)
1400 dnl -lposix4 seems to be required on Solaris
1402 AC_CHECK_LIB(posix4, printf, [
1403 THREADS_LINK="$THREADS_LINK -lposix4"
1408 if test "$wxUSE_MOTIF" = "1"; then
1409 UNIX_THREAD="motif/thread.cpp"
1412 if test -z "$UNIX_THREAD"; then
1416 AC_SUBST(UNIX_THREAD)
1417 AC_SUBST(THREADS_LINK)
1419 dnl defines UNIX_THREAD it contains the source file to use for threads. (GL)
1420 dnl defines THREADS_LINK it contains the thread library to link with. (GL)
1421 dnl defines wxUSE_THREADS if thread support is activated. (GL)
1423 dnl ------------------------------------------------------------------------
1424 dnl compiler options for shared libs
1425 dnl ------------------------------------------------------------------------
1429 case "${canonical}" in
1432 if test "$GCC" != "yes" ; then
1433 CXXFLAGS="${CXXFLAGS} +a1 -z -Aa -D_HPUX_SOURCE"
1434 CFLAGS="${CFLAGS} -z -D_HPUX_SOURCE"
1440 CREATE_SHARED=sharedHpux
1445 CREATE_SHARED=sharedLinux
1448 *-*-irix5* | *-*-irix6* )
1449 # PICFLAGS can remain empty, as pic is the default
1451 CREATE_SHARED=sharedIrix
1456 if test "$GCC" != "yes" ; then
1461 CREATE_SHARED=sharedSolaris2
1466 if test "$GCC" != "yes" ; then
1472 CREATE_SHARED=sharedSunos4
1476 *-*-freebsd* | *-*-netbsd*)
1478 CREATE_SHARED=sharedBsd
1484 CREATE_SHARED=sharedOSF
1488 if test "$GCC" != "yes" ; then
1493 CREATE_SHARED=sharedDgux
1498 if test "$GCC" != "yes" ; then
1503 CREATE_SHARED=sharedSysV
1508 if test "$GCC" != "yes" ; then
1513 CREATE_SHARED=sharedAIX
1522 if test "x$GCC" = xyes; then
1523 CFLAGS="${CFLAGS} -Wall -Wno-unused -Wno-uninitialized -D_REENTRANT -DLEX_SCANNER -DHAVE_LIBDL"
1526 if test "x$GXX" = xyes; then
1527 if test "$wxUSE_MOTIF" = 1; then
1528 CXXFLAGS="${CXXFLAGS} -Wall -Wno-unused -D_REENTRANT"
1530 CXXFLAGS="${CXXFLAGS} -Wall -D_REENTRANT"
1534 if test "$wxUSE_SHARED" != 1; then
1541 AC_SUBST(CREATE_SHARED)
1543 dnl ------------------------------------------------------------------------
1544 dnl finish and clean-up
1545 dnl ------------------------------------------------------------------------
1547 dnl add OS to list of configured
1548 echo $OS >> system.list
1550 AC_CONFIG_HEADER(./include/wx/gtk/setup.h:./setup/setup.hin)
1551 AC_OUTPUT(./setup/substit ./wx-config:./wx-config.in,./setup/general/createall)