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,
457 AC_DEFINE(HAVE_NANOSLEEP),
458 [AC_CHECK_LIB(posix4, nanosleep, AC_DEFINE(HAVE_NANOSLEEP))])
459 AC_CHECK_FUNCS(usleep)
463 AC_CHECK_HEADERS(iostream)
464 if test "x$HAVE_IOSTREAM" = "x" ; then
465 AC_DEFINE(wxUSE_IOSTREAMH)
469 dnl defines HAVE_IOSTREAM
470 dnl ###################
471 dnl # checks typedefs #
472 dnl ###################
474 dnl defines GETGROUPS_T
476 dnl defines mode_t if not already defined
478 dnl defines off_t if not already defined
480 dnl defines pid_t if not already defined
482 dnl defines RETSIGTYPE for the correct return type of signal
484 dnl defines size_t if not already defined
486 dnl defines uid_t and gid_t if not already defined
488 dnl #####################
489 dnl # checks structures #
490 dnl #####################
493 dnl defines STAT_MACROS_BROKEN if S_ISDIR and S_ISREG
494 dnl do not work properly
496 dnl defines TIME_WITH_SYS_TIME if time.h and sys/time.h can
499 dnl defines HAVE_ST_BLKSIZE if struct stat contains st_blksize
501 dnl defines HAVE_ST_BLOCKS if struct stat contains st_blocks
503 dnl defines HAVE_ST_RDEV if struct stat contains st_rdev
505 dnl defines TM_IN_SYS_TIME if struct tm is not in time.h
507 dnl defines HAVE_ST_BLKSIZE if struct tm contains tm_zone
509 dnl defines HAVE_TZNAME if external array tzname is found
511 dnl ###################################
512 dnl # checks compiler characteristics #
513 dnl ###################################
517 dnl defines const to be empty if c-compiler does not support const fully
519 dnl defines inline to a sensible value for the c-compiler
521 dnl defines __CHAR_UNSIGNED__ if char is unsigned
523 dnl defines HAVE_LONGDOUBLE if compiler supports long double
526 dnl defines WORDS_BIGENDIAN if system is big endian
528 AC_CHECK_SIZEOF(int *)
530 AC_CHECK_SIZEOF(long)
531 AC_CHECK_SIZEOF(long long)
532 dnl defines the size of certain types of variables in SIZEOF_???
534 dnl ############################
535 dnl # checks library functions #
536 dnl ############################
538 dnl ##########################
539 dnl # checks system services #
540 dnl ##########################
543 AC_SYS_LONG_FILE_NAMES
544 dnl defines HAVE_LONG_FILENAMES if filenames longer then
545 dnl 14 chars are supported
547 dnl AC_SYS_RESTARTABLE_SYSCALLS
548 dnl defines HAVE_RESTARTABLE_SYSCALLS if the system restarts a
549 dnl system call that is interrupted
552 dnl #################
553 dnl # checks PARSER #
554 dnl #################
559 dnl defines YACC with the appropriate command
564 dnl defines LEX with the appropriate command
565 dnl defines LEXLIB with the appropriate library
566 dnl what type is yytext
568 dnl defines YYTEXT_POINTER if yytext is char*
569 dnl defines LEX_OUTPUT_ROOT as to the base of the
570 dnl filename output by the lexer
572 dnl ###################################
573 dnl ## Check for dynamic load module #
574 dnl ###################################
577 AC_CHECK_FUNCS(dlopen, AC_DEFINE(HAVE_LIBDL),
578 [AC_CHECK_LIB(dl, dlopen, [AC_DEFINE(HAVE_LIBDL) DL_LIBRARY="-ldl"],
579 [AC_CHECK_LIB(dld, dld_link, [AC_DEFINE(HAVE_DLD) DL_LIBRARY="-ldld"],
580 [AC_CHECK_FUNCS(shl_load, AC_DEFINE(HAVE_SHL_LOAD) )]
586 AC_CACHE_CHECK([for underscore before symbols], libltdl_cv_uscore, [
587 echo "main(){int i=1;} fnord(){int i=23; int ltuae=42;}" > conftest.c
588 ${CC} -c conftest.c > /dev/null
589 if (nm conftest.o | grep _fnord) > /dev/null; then
590 libltdl_cv_uscore=yes
597 if test x"$libltdl_cv_uscore" = xyes; then
598 if test x"$ac_cv_func_dlopen" = xyes ||
599 test x"$ac_cv_lib_dl_dlopen" = xyes ; then
600 AC_CACHE_CHECK([whether we have to add an underscore for dlsym],
601 libltdl_cv_need_uscore, [dnl
606 main() { void *self, *ptr1, *ptr2; self=dlopen(NULL,RTLD_LAZY);
607 if(self) { ptr1=dlsym(self,"fnord"); ptr2=dlsym(self,"_fnord");
608 if(ptr1 && !ptr2) exit(0); } exit(1); }
609 ], libltdl_cv_need_uscore=no, libltdl_cv_need_uscore=yes,
610 libltdl_cv_need_uscore=no
615 if test x"$libltdl_cv_need_uscore" = xyes; then
616 AC_DEFINE(NEED_USCORE)
619 dnl ##########################################
620 dnl ## Check for specific library functions #
621 dnl ##########################################
623 dnl Checks for library functions.
624 AC_CHECK_FUNCS(strerror)
626 dnl ------------------------------------------------------------------------
628 dnl ------------------------------------------------------------------------
630 CHECK_INCLUDE="-I/usr/include $X_CFLAGS"
631 CHECK_LIB="-L/lib -L/usr/lib $X_LIBS"
633 dnl ------------------------------------------------------------------------
635 dnl ------------------------------------------------------------------------
639 configuration=$host_alias
641 dnl ------------------------------------------------------------------------
643 dnl ------------------------------------------------------------------------
665 case "${canonical}" in
674 if test "x$TMP" = "xalpha"
680 *-*-irix5* | *-*-irix6* )
691 AC_DEFINE(__SOLARIS__)
702 *-*-freebsd* | *-*-netbsd*)
705 AC_DEFINE(__FREEBSD__)
735 AC_MSG_ERROR(I don't know your system type.)
738 dnl ------------------------------------------------------------------------
739 dnl defaults for command options
740 dnl ------------------------------------------------------------------------
746 DEFAULT_wxUSE_MOTIF=0
748 DEFAULT_wxUSE_THREADS=0
750 DEFAULT_wxUSE_SHARED=1
751 DEFAULT_wxUSE_OPTIMISE=1
752 DEFAULT_wxUSE_PROFILE=0
753 DEFAULT_wxUSE_DEBUG_FLAG=0
754 DEFAULT_wxUSE_DEBUG_INFO=0
755 DEFAULT_wxUSE_MEM_TRACING=0
756 DEFAULT_wxUSE_DMALLOC=0
757 DEFAULT_wxUSE_APPLE_IEEE=1
758 DEFAULT_wxUSE_IOSTREAMH=1
761 DEFAULT_wxUSE_LIBPNG=1
762 DEFAULT_wxUSE_LIBJPEG=0
765 DEFAULT_wxUSE_TIMEDATE=1
767 DEFAULT_wxUSE_CONFIG=1
768 DEFAULT_wxUSE_STREAMS=1
769 DEFAULT_wxUSE_SOCKETS=1
770 DEFAULT_wxUSE_SERIAL=1
771 DEFAULT_wxUSE_DYNLIB_CLASS=1
773 DEFAULT_wxUSE_AFM_FOR_POSTSCRIPT=1
774 DEFAULT_WX_NORMALIZED_PS_FONTS=1
775 DEFAULT_wxUSE_POSTSCRIPT=1
778 DEFAULT_wxUSE_RESOURCES=1
779 DEFAULT_wxUSE_CLIPBOARD=1
780 DEFAULT_wxUSE_TOOLTIPS=1
781 DEFAULT_wxUSE_DRAG_AND_DROP=1
783 DEFAULT_wxUSE_MDI_ARCHITECTURE=1
784 DEFAULT_wxUSE_DOC_VIEW_ARCHITECTURE=1
785 DEFAULT_wxUSE_PRINTING_ARCHITECTURE=1
787 DEFAULT_wxUSE_PROLOGIO=1
788 DEFAULT_wxUSE_WX_RESOURCES=1
792 DEFAULT_wxUSE_UNICODE=1
793 DEFAULT_wxUSE_WCSRTOMBS=0
795 dnl ----------------------------------------------------------------
797 dnl ----------------------------------------------------------------
799 AC_OVERRIDES(gtk,gtk,
800 **--with-gtk use GTK,
807 AC_OVERRIDES(motif,motif,
808 **--with-motif use Motif/Lesstif,
811 dnl ----------------------------------------------------------------
813 dnl ----------------------------------------------------------------
815 AC_OVERRIDES(shared,shared,
816 **--with-shared create shared libraries,
819 AC_OVERRIDES(optimise,optimise,
820 **--with-optimise create optimised code,
823 AC_OVERRIDES(debug_flag,debug_flag,
824 **--with-debug_flag create code with WXDEBUG define set to 1,
827 AC_OVERRIDES(debug_info,debug_info,
828 **--with-debug_info create code with debuging information,
831 AC_OVERRIDES(debug_gdb,debug_gdb,
832 **--with-debug_gdb create code with extra GDB debuging information,
835 AC_OVERRIDES(mem_tracing,mem_tracing,
836 **--with-mem_traing create code with memory tracing,
839 AC_OVERRIDES(dmalloc,dmalloc,
840 **--with-dmalloc use dmalloc memory debug library (www.letters.com/dmalloc/),
843 AC_OVERRIDES(profile,profile,
844 **--with-profile create code with profiling information,
847 AC_OVERRIDES(apple_ieee, apple_ieee,
848 **--with_apple_ieee use the Apple IEEE codec,
851 AC_OVERRIDES(threads,threads,
852 **--with-threads for enabling threads,
855 AC_OVERRIDES(dynlib,dynlib,
856 **--with-dynlib to compile wxLibrary class,
859 dnl ----------------------------------------------------------------
860 dnl user options for libraries
861 dnl ----------------------------------------------------------------
863 AC_OVERRIDES(zlib,zlib,
864 **--with-zlib use zlib for LZW comression,
867 AC_OVERRIDES(libpng,libpng,
868 **--with-libpng use libpng (PNG image format),
871 AC_OVERRIDES(libjpeg,libjpeg,
872 **--with-libjpeg use libjpeg (JPEG image format),
875 AC_OVERRIDES(odbc,odbc,
876 **--with-odbc use iODBC and wxODBC classes,
879 dnl ----------------------------------------------------------------
880 dnl user options for non-GUI classes
881 dnl ----------------------------------------------------------------
883 AC_OVERRIDES(timedate, timedate,
884 **--with-timedate use wxTime and wxDate classes,
887 AC_OVERRIDES(intl,intl,
888 **--with-intl use internationalization system,
891 AC_OVERRIDES(config,config,
892 **--with-config use wxConfig class,
895 AC_OVERRIDES(streams,streams,
896 **--with-streams use wxStream etc classes,
899 AC_OVERRIDES(serial,serial,
900 **--with-serial use class serialization,
903 AC_OVERRIDES(sockets,sockets,
904 **--with-sockets use wxSocket etc classes,
907 dnl ----------------------------------------------------------------
908 dnl user options for PostScript
909 dnl ----------------------------------------------------------------
911 AC_OVERRIDES(afmfonts,afmfonts,
912 **--with-afmfonts use Adobe Font Metric Font table,
913 wxUSE_AFM_FOR_POSTSCRIPT)
915 AC_OVERRIDES(normalized, normalized,
916 **--with-PS-normalized use normalized PS fonts,
917 WX_NORMALIZED_PS_FONTS)
919 AC_OVERRIDES(postscript, postscript,
920 **--with-postscript use wxPostscriptDC device context,
923 dnl ----------------------------------------------------------------
924 dnl user options for wxString and Unicode
925 dnl ----------------------------------------------------------------
927 AC_OVERRIDES(unicode,unicode,
928 **--with-unicode compile wxString with Unicode support,
931 AC_OVERRIDES(wcsrtombs,wcsrtombs,
932 **--with-wcsrtombs use wcsrtombs instead of (buggy in GNU libc5) wcstombs,
935 dnl ----------------------------------------------------------------
936 dnl user options for Prolog and Resources
937 dnl ----------------------------------------------------------------
939 AC_OVERRIDES(wxresources,wxresources,
940 **--with-wxresources use wxWindows's resources,
943 AC_OVERRIDES(prologio,prologio,
944 **--with-prologio use Prolog IO library,
947 AC_OVERRIDES(rpc,RPC,
948 **--with-rpc use Prolog's remote procedure calls,
951 dnl ----------------------------------------------------------------
952 dnl user options for misc stuff
953 dnl ----------------------------------------------------------------
955 AC_OVERRIDES(ipc,IPC,
956 **--with-ipc use interprocess communication (wxSocket etc.),
959 AC_OVERRIDES(resources,resources,
960 **--with-resources use X resources for saving information,
963 AC_OVERRIDES(clipboard,clipboard,
964 **--with-clipboard use wxClipboard classes,
967 AC_OVERRIDES(tooltips,tooltips,
968 **--with-tooltips use tooltips,
971 AC_OVERRIDES(dnd,dnd,
972 **--with-dnd use Drag'n'Drop classes,
975 dnl ----------------------------------------------------------------
976 dnl user options for architectures
977 dnl ----------------------------------------------------------------
979 AC_OVERRIDES(mdi,mdi,
980 **--with-mdi use multiple document interface architecture,
981 wxUSE_MDI_ARCHITECTURE)
983 AC_OVERRIDES(docview,docview,
984 **--with-docview use document view architecture,
985 wxUSE_DOC_VIEW_ARCHITECTURE)
987 AC_OVERRIDES(printarch,printarch,
988 **--with-printarch use printing architecture,
989 wxUSE_PRINTING_ARCHITECTURE)
991 AC_OVERRIDES(help,help,
992 **--with-help use help (using external browser at present),
995 dnl ----------------------------------------------------------------
997 dnl ----------------------------------------------------------------
999 if test "$wxUSE_UNIX" = 1 ; then
1003 dnl ----------------------------------------------------------------
1004 dnl Linux: test for libc5/glibc2: glibc2 has gettext() included
1005 dnl ----------------------------------------------------------------
1006 if test "$USE_LINUX" = 1; then
1007 AC_CHECK_LIB(c,gettext,AC_DEFINE(wxHAVE_GLIBC2))
1010 dnl ----------------------------------------------------------------
1011 dnl search for toolkit (widget sets)
1012 dnl ----------------------------------------------------------------
1025 if test "$wxUSE_GTK" = 1; then
1026 AM_PATH_GTK(1.0.4, [
1027 GUI_TK_INCLUDE="$GTK_CFLAGS"
1028 GUI_TK_LIBRARY="$GTK_LIBS"
1029 ], AC_MSG_ERROR(Is gtk-config in path and GTK+ is version 1.0.4 up-to 1.0.6?))
1031 TOOLKIT_DEF=__WXGTK__
1033 MAKEINCLUDE=../gtk.inc
1036 if test "$wxUSE_QT" = 1; then
1037 AC_MSG_CHECKING(for Qt includes)
1038 AC_PATH_FIND_INCLUDES($SEARCH_INCLUDE,qapp.h)
1039 if test "$ac_find_includes" != "" ; then
1040 AC_MSG_RESULT(found $ac_find_includes)
1041 AC_MSG_CHECKING(for Qt library)
1042 AC_PATH_FIND_LIBRARIES($SEARCH_LIB,qt)
1043 if test "$ac_find_libraries" != "" ; then
1044 AC_INCLUDE_PATH_EXIST($ac_find_includes,$CHECK_INCLUDE)
1045 AC_LINK_PATH_EXIST($ac_find_libraries,$CHECK_LIB)
1046 CHECK_LINK="$CHECK_INCLUDE $ac_path_to_link"
1047 CHECK_INCLUDE="$CHECK_INCLUDE $ac_path_to_include"
1048 AC_MSG_RESULT(found Qt at $ac_find_libraries)
1055 GUI_TK_LINK="-lX11 -lqt -lm"
1057 TOOLKIT_DEF=__WXQT__
1059 MAKEINCLUDE=../qt.inc
1062 if test "$wxUSE_MOTIF" = 1; then
1063 AC_MSG_CHECKING(for Motif/Lesstif includes)
1064 AC_PATH_FIND_INCLUDES($SEARCH_INCLUDE,Xm/Xm.h)
1065 if test "$ac_find_includes" != "" ; then
1066 AC_MSG_RESULT(found $ac_find_includes)
1067 AC_MSG_CHECKING(for Motif/Lesstif library)
1068 AC_PATH_FIND_LIBRARIES($SEARCH_LIB,Xm)
1069 if test "$ac_find_libraries" != "" ; then
1070 AC_INCLUDE_PATH_EXIST($ac_find_includes,$CHECK_INCLUDE)
1071 AC_LINK_PATH_EXIST($ac_find_libraries,$CHECK_LIB)
1072 CHECK_LINK="$CHECK_LIB $ac_path_to_link"
1073 CHECK_INCLUDE="$CHECK_INCLUDE $ac_path_to_include"
1074 AC_MSG_RESULT(found at $ac_find_libraries)
1075 AC_MSG_CHECKING(for Xt library)
1076 AC_PATH_FIND_LIBRARIES($SEARCH_LIB,Xt)
1077 if test "$ac_find_libraries" != "" ; then
1078 AC_LINK_PATH_EXIST($ac_find_libraries,$CHECK_LIB)
1079 CHECK_LINK="$CHECK_LIB $ac_path_to_link"
1080 AC_MSG_RESULT(found at $ac_find_libraries)
1081 AC_MSG_CHECKING(for Xpm library)
1082 AC_PATH_FIND_LIBRARIES($SEARCH_LIB,Xpm)
1083 if test "$ac_find_libraries" != "" ; then
1084 AC_LINK_PATH_EXIST($ac_find_libraries,$CHECK_LIB)
1085 CHECK_LINK="$CHECK_LIB $ac_path_to_link"
1086 AC_MSG_RESULT(found at $ac_find_libraries)
1100 GUI_TK_LINK="-lXm -lXpm -lXmu -lXt -lX11 -lm"
1101 GUI_TK_LIBRARY="$CHECK_LIB $GUI_TK_LINK"
1103 TOOLKIT_DEF=__WXMOTIF__
1105 MAKEINCLUDE=../motif.inc
1108 if test "$TOOLKIT" = ""; then
1109 AC_MSG_ERROR(You must specify a toolkit: --with-gtk --with-qt --with-motif)
1112 AC_SUBST(GUI_TK_INCLUDE)
1113 AC_SUBST(GUI_TK_LIBRARY)
1114 AC_SUBST(GUI_TK_LINK)
1119 AC_SUBST(TOOLKIT_DEF)
1121 AC_SUBST(MAKEINCLUDE)
1123 dnl ----------------------------------------------------------------
1124 dnl Register compile options for makefiles and setup.h
1125 dnl ----------------------------------------------------------------
1130 if test "$wxUSE_DEBUG_GDB" = 1 ; then
1135 if test "$wxUSE_DEBUG_INFO" = 1 ; then
1139 EXTRA_LINK="-s $EXTRA_LINK"
1144 if test "$wxUSE_DEBUG_FLAG" = 1 ; then
1145 AC_DEFINE_UNQUOTED(WXDEBUG,$wxUSE_DEBUG_FLAG)
1146 WXDEBUG_DEFINE="-D__WXDEBUG__"
1147 AC_SUBST(WXDEBUG_DEFINE)
1149 WXDEBUG_DEFINE="-DGTK_NO_CHECK_CASTS"
1150 AC_SUBST(WXDEBUG_DEFINE)
1153 if test "$wxUSE_MEM_TRACING" = 1 ; then
1154 AC_DEFINE_UNQUOTED(wxUSE_MEMORY_TRACING,$wxUSE_MEM_TRACING)
1155 AC_DEFINE_UNQUOTED(wxUSE_GLOBAL_MEMORY_OPERATORS,$wxUSE_MEM_TRACING)
1158 if test "$wxUSE_DMALLOC" = 1 ; then
1159 EXTRA_LINK="$EXTRA_LINK -ldmalloc"
1161 AC_SUBST(EXTRA_LINK)
1164 if test "$wxUSE_PROFILE" = 1 ; then
1169 CXXFLAGS=`echo "${CXXFLAGS}" | sed "s/\-O.//g" `
1170 CFLAGS=`echo "${CFLAGS}" | sed "s/\-O.//g" `
1171 if test "$wxUSE_OPTIMISE" = 0 ; then
1174 if test "$GCC" = yes ; then
1176 case "${canonical}" in
1178 OPTIMISE="${OPTIMISE} "
1188 if test "$wxUSE_APPLE_IEEE" = 1 ; then
1189 APPLE_IEEE="APPLE_IEEE"
1190 AC_DEFINE_UNQUOTED(wxUSE_APPLE_IEEE,$wxUSE_APPLE_IEEE)
1193 wxUSE_IOSTREAMH=$DEFAULT_wxUSE_IOSTREAMH
1194 AC_DEFINE_UNQUOTED(wxUSE_IOSTREAMH,$wxUSE_IOSTREAMH)
1196 dnl ----------------------------------------------------------------
1197 dnl Register library options for makefiles and setup.h
1198 dnl ----------------------------------------------------------------
1200 if test "$wxUSE_ZLIB" = 1 ; then
1201 AC_DEFINE_UNQUOTED(wxUSE_ZLIB,$wxUSE_ZLIB)
1202 Z_C_SRC="\$(Z_C_SRC)"
1206 if test "$wxUSE_LIBPNG" = 1 ; then
1207 AC_DEFINE_UNQUOTED(wxUSE_LIBPNG,$wxUSE_LIBPNG)
1208 PNG_C_SRC="\$(PNG_C_SRC)"
1213 if test "$wxUSE_LIBJPEG" = 1 ; then
1214 AC_DEFINE_UNQUOTED(wxUSE_LIBJPEG,$wxUSE_LIBJPEG)
1221 if test "$wxUSE_ODBC" = 1 ; then
1222 AC_DEFINE_UNQUOTED(wxUSE_ODBC,$wxUSE_ODBC)
1223 IODBC_C_SRC="\$(IODBC_C_SRC)"
1225 AC_SUBST(IODBC_C_SRC)
1227 dnl ----------------------------------------------------------------
1228 dnl Register non-GUI class options for makefiles and setup.h
1229 dnl ----------------------------------------------------------------
1231 if test "$wxUSE_CONFIG" = 1 ; then
1232 AC_DEFINE_UNQUOTED(wxUSE_CONFIG,$wxUSE_CONFIG)
1235 if test "$wxUSE_TIMEDATE" = 1 ; then
1236 AC_DEFINE_UNQUOTED(wxUSE_TIMEDATE,$wxUSE_TIMEDATE)
1239 if test "$wxUSE_INTL" = 1 ; then
1240 AC_DEFINE_UNQUOTED(wxUSE_INTL,$wxUSE_INTL)
1243 if test "$wxUSE_STREAMS" = 1 ; then
1244 AC_DEFINE_UNQUOTED(wxUSE_STREAMS,$wxUSE_STREAMS)
1247 if test "$wxUSE_SOCKETS" = 1 ; then
1248 AC_DEFINE_UNQUOTED(wxUSE_SOCKETS,$wxUSE_SOCKETS)
1251 if test "$wxUSE_SERIAL" = 1 ; then
1252 AC_DEFINE_UNQUOTED(wxUSE_SERIAL,$wxUSE_SERIAL)
1255 dnl ------------------------------------------------------------------------
1257 dnl ------------------------------------------------------------------------
1260 if test "$wxUSE_DYNLIB_CLASS" = "1"; then
1261 dnl the test is a bit complicated because we check for dlopen() both with
1262 dnl and without -ldl
1263 AC_CHECK_FUNCS(dlopen,
1264 [AC_DEFINE(HAVE_DLOPEN) HAVE_DL_FUNCS=1],
1265 [AC_CHECK_LIB(dl, dlopen,
1266 [AC_DEFINE(HAVE_DLOPEN) HAVE_DL_FUNCS=1])])
1267 AC_CHECK_FUNCS(shl_load, [AC_DEFINE(HAVE_SHL_LOAD) HAVE_DL_FUNCS=1])
1269 if test "$HAVE_DL_FUNCS" = 0; then
1270 AC_MSG_WARN("--with-dynlib will be disabled because no function was found to load a shared library on this platform")
1272 wxUSE_DYNLIB_CLASS=0
1276 if test "$wxUSE_DYNLIB_CLASS" = 1 ; then
1277 AC_DEFINE_UNQUOTED(wxUSE_DYNLIB_CLASS,$wxUSE_DYNLIB_CLASS)
1280 dnl ----------------------------------------------------------------
1281 dnl Register Prolog and Resources options for makefiles and setup.h
1282 dnl ----------------------------------------------------------------
1284 if test "$wxUSE_RPC" = 1 ; then
1285 AC_DEFINE_UNQUOTED(wxUSE_RPC,$wxUSE_RPC)
1288 if test "$wxUSE_WX_RESOURCES" = 1 ; then
1289 AC_DEFINE_UNQUOTED(wxUSE_WX_RESOURCES,$wxUSE_WX_RESOURCES)
1292 if test "$wxUSE_PROLOGIO" = 1 ; then
1293 AC_DEFINE_UNQUOTED(wxUSE_PROLOGIO)
1296 dnl ----------------------------------------------------------------
1297 dnl Register PostScript options for makefiles and setup.h
1298 dnl ----------------------------------------------------------------
1300 if test "$wxUSE_POSTSCRIPT" = 1 ; then
1301 AC_DEFINE_UNQUOTED(wxUSE_POSTSCRIPT)
1304 AC_DEFINE_UNQUOTED(wxUSE_AFM_FOR_POSTSCRIPT,$wxUSE_AFM_FOR_POSTSCRIPT)
1306 AC_DEFINE_UNQUOTED(WX_NORMALIZED_PS_FONTS,$WX_NORMALIZED_PS_FONTS)
1308 dnl ----------------------------------------------------------------
1309 dnl Register architecture options for makefiles and setup.h
1310 dnl ----------------------------------------------------------------
1312 if test "$wxUSE_MDI_ARCHITECTURE" = 1 ; then
1313 AC_DEFINE_UNQUOTED(wxUSE_MDI_ARCHITECTURE,$wxUSE_MDI_ARCHITECTURE)
1316 if test "$wxUSE_DOC_VIEW_ARCHITECTURE" = 1 ; then
1317 AC_DEFINE_UNQUOTED(wxUSE_DOC_VIEW_ARCHITECTURE,$wxUSE_DOC_VIEW_ARCHITECTURE)
1320 if test "$wxUSE_PRINTING_ARCHITECTURE" = 1 ; then
1321 AC_DEFINE_UNQUOTED(wxUSE_PRINTING_ARCHITECTURE,$wxUSE_PRINTING_ARCHITECTURE)
1324 dnl ----------------------------------------------------------------
1325 dnl Register wxString options for makefiles and setup.h
1326 dnl ----------------------------------------------------------------
1328 if test "$wxUSE_UNICODE" = 1 ; then
1329 AC_DEFINE_UNQUOTED(wxUSE_UNICODE)
1332 if test "$wxUSE_WCSRTOMBS" = 1 ; then
1333 AC_DEFINE_UNQUOTED(wxUSE_WCSRTOMBS)
1336 dnl ----------------------------------------------------------------
1337 dnl Register misc options for makefiles and setup.h
1338 dnl ----------------------------------------------------------------
1340 if test "$wxUSE_IPC" = 1 ; then
1341 AC_DEFINE_UNQUOTED(wxUSE_IPC)
1344 if test "$wxUSE_RESOURCES" = 1 ; then
1345 AC_DEFINE_UNQUOTED(wxUSE_RESOURCES,$wxUSE_RESOURCES)
1348 if test "$wxUSE_CLIPBOARD" = 1 ; then
1349 AC_DEFINE_UNQUOTED(wxUSE_CLIPBOARD,$wxUSE_CLIPBOARD)
1352 if test "$wxUSE_TOOLTIPS" = 1 ; then
1353 AC_DEFINE_UNQUOTED(wxUSE_TOOLTIPS,$wxUSE_TOOLTIPS)
1356 if test "$wxUSE_DRAG_AND_DROP" = 1 ; then
1357 AC_DEFINE_UNQUOTED(wxUSE_DRAG_AND_DROP,$wxUSE_DRAG_AND_DROP)
1360 dnl ----------------------------------------------------------------
1362 dnl ----------------------------------------------------------------
1365 if test "$wxUSE_HELP" = 1 ; then
1367 AC_DEFINE_UNQUOTED(wxUSE_HELP,$wxUSE_HELP)
1371 dnl ----------------------------------------------------------------
1373 dnl ----------------------------------------------------------------
1375 dnl defines UNIX_THREAD it contains the source file to use for threads. (GL)
1376 dnl defines THREADS_LINK it contains the thread library to link with. (GL)
1377 dnl defines wxUSE_THREADS if thread support is activated. (GL)
1382 if test "$wxUSE_THREADS" = "1"; then
1383 dnl For glibc 2 users who have the old libc 5 too
1385 AC_CHECK_LIB(pthread-0.7, pthread_create, [
1386 UNIX_THREAD="gtk/threadpsx.cpp"
1387 THREADS_LINK="pthread-0.7"
1389 AC_CHECK_HEADER(sys/prctl.h, [
1390 UNIX_THREAD="gtk/threadsgi.cpp"
1393 dnl pthread_create is always available in pthread but it seems not to be
1394 dnl the case for pthread_setcanceltype.
1396 AC_CHECK_LIB(pthread, pthread_setcanceltype, [
1397 UNIX_THREAD="gtk/threadpsx.cpp"
1398 THREADS_LINK="pthread"
1402 if test "x$THREADS_LINK" = "x"; then
1403 dnl thread functions are in libc_r under FreeBSD
1404 AC_CHECK_LIB(c_r, pthread_create,
1406 UNIX_THREAD="gtk/threadpsx.cpp"
1411 if test "$THREADS_LINK" != ""; then
1412 AC_DEFINE(wxUSE_THREADS)
1416 if test "$wxUSE_MOTIF" = "1"; then
1417 UNIX_THREAD="motif/thread.cpp"
1420 if test -z "$UNIX_THREAD"; then
1424 dnl do other tests only if we are using threads
1425 if test "$wxUSE_THREADS" = "1"; then
1427 AC_CHECK_LIB($THREADS_LINK, sched_yield,
1428 AC_DEFINE(HAVE_SCHED_YIELD),
1429 [AC_CHECK_LIB("posix4", sched_yield,
1430 [AC_DEFINE(HAVE_SCHED_YIELD) THREADS_LINK2="-lposix4"],
1431 AC_MSG_WARN(wxThread::Yield() will not work properly)
1435 AC_CHECK_LIB($THREADS_LINK, sched_get_priority_min,
1436 AC_DEFINE(HAVE_THREAD_PRIORITY_FUNCTIONS),
1437 [AC_CHECK_LIB("posix4", sched_get_priority_min,
1438 [AC_DEFINE(HAVE_THREAD_PRIORITY_FUNCTIONS) THREADS_LINK2="-lposix4"],
1439 AC_MSG_WARN(Setting thread priority will not work)
1443 AC_CHECK_LIB($THREADS_LINK, pthread_cancel,
1444 AC_DEFINE(HAVE_PTHREAD_CANCEL),
1445 AC_MSG_WARN(wxThread::Kill() will not work properly))
1447 THREADS_LINK="-l$THREADS_LINK $THREADS_LINK2"
1450 AC_SUBST(UNIX_THREAD)
1451 AC_SUBST(THREADS_LINK)
1453 dnl ------------------------------------------------------------------------
1454 dnl compiler options for shared libs
1455 dnl ------------------------------------------------------------------------
1459 case "${canonical}" in
1461 if test "$GCC" != "yes" ; then
1462 CXXFLAGS="${CXXFLAGS} +a1 -z -Aa -D_HPUX_SOURCE"
1463 CFLAGS="${CFLAGS} -z -D_HPUX_SOURCE"
1469 CREATE_SHARED=sharedHpux
1474 CREATE_SHARED=sharedLinux
1477 *-*-irix5* | *-*-irix6* )
1478 # PICFLAGS can remain empty, as pic is the default
1480 CREATE_SHARED=sharedIrix
1485 if test "$GCC" != "yes" ; then
1490 CREATE_SHARED=sharedSolaris2
1495 if test "$GCC" != "yes" ; then
1501 CREATE_SHARED=sharedSunos4
1505 *-*-freebsd* | *-*-netbsd*)
1507 CREATE_SHARED=sharedBsd
1513 CREATE_SHARED=sharedOSF
1517 if test "$GCC" != "yes" ; then
1522 CREATE_SHARED=sharedDgux
1527 if test "$GCC" != "yes" ; then
1532 CREATE_SHARED=sharedSysV
1537 if test "$GCC" != "yes" ; then
1542 CREATE_SHARED=sharedAIX
1551 if test "x$GCC" = xyes; then
1552 CFLAGS="${CFLAGS} -Wall -Wno-unused -Wno-uninitialized -D_REENTRANT -DLEX_SCANNER -DHAVE_LIBDL"
1555 if test "x$GXX" = xyes; then
1556 if test "$wxUSE_MOTIF" = 1; then
1557 CXXFLAGS="${CXXFLAGS} -Wall -Wno-unused -D_REENTRANT"
1559 CXXFLAGS="${CXXFLAGS} -Wall -D_REENTRANT"
1563 if test "$wxUSE_SHARED" != 1; then
1570 AC_SUBST(CREATE_SHARED)
1572 dnl ------------------------------------------------------------------------
1573 dnl finish and clean-up
1574 dnl ------------------------------------------------------------------------
1576 dnl add OS to list of configured
1577 echo $OS >> system.list
1579 AC_CONFIG_HEADER(./include/wx/gtk/setup.h:./setup/setup.hin)
1580 AC_OUTPUT(./setup/substit ./wx-config:./wx-config.in,./setup/general/createall)