1 dnl ////////////////////////////////////////////////////////////////////////
3 dnl Top-level configure.in for wxWindows by Robert Roebling, Wolfram Gloger
6 dnl This script is under the wxWindows licence.
8 dnl ////////////////////////////////////////////////////////////////////////
10 dnl AM_PATH_GTK([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]])
11 dnl Test for GTK, and define GTK_CFLAGS and GTK_LIBS
15 dnl Get the cflags and libraries from the gtk-config script
17 AC_ARG_WITH(gtk-prefix,[**--with-gtk-prefix=PFX Prefix where GTK is installed],
18 gtk_config_prefix="$withval", gtk_config_prefix="")
19 AC_ARG_WITH(gtk-exec-prefix,[**--with-gtk-exec-prefix=PFX Exec prefix where GTK is installed],
20 gtk_config_exec_prefix="$withval", gtk_config_exec_prefix="")
22 if test x$gtk_config_exec_prefix != x ; then
23 gtk_config_args="$gtk_config_args --exec-prefix=$gtk_config_exec_prefix"
24 if test x${GTK_CONFIG+set} != xset ; then
25 GTK_CONFIG=$gtk_config_exec_prefix/bin/gtk-config
28 if test x$gtk_config_prefix != x ; then
29 gtk_config_args="$gtk_config_args --prefix=$gtk_config_prefix"
30 if test x${GTK_CONFIG+set} != xset ; then
31 GTK_CONFIG=$gtk_config_prefix/bin/gtk-config
35 AC_PATH_PROG(GTK_CONFIG, gtk-config, no)
36 min_gtk_version=ifelse([$1], ,0.99.7,$1)
37 AC_MSG_CHECKING(for GTK - version >= $min_gtk_version)
39 if test "$GTK_CONFIG" != "no" ; then
40 GTK_CFLAGS=`$GTK_CONFIG --cflags`
41 GTK_LIBS=`$GTK_CONFIG --libs`
42 ac_save_CFLAGS="$CFLAGS"
44 CFLAGS="$CFLAGS $GTK_CFLAGS"
45 LIBS="$LIBS $GTK_LIBS"
47 dnl Now check if the installed GTK is sufficiently new. (Also sanity
48 dnl checks the results of gtk-config to some extent
57 int major, minor, micro;
59 if (sscanf("$min_gtk_version", "%d.%d.%d", &major, &minor, µ) != 3) {
60 printf("%s, bad version string\n", "$min_gtk_version");
64 if (gtk_minor_version > 0) return FALSE;
66 return !((gtk_major_version > major) ||
67 ((gtk_major_version == major) && (gtk_minor_version > minor)) ||
68 ((gtk_major_version == major) && (gtk_minor_version == minor) && (gtk_micro_version >= micro)));
70 ],, no_gtk=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"])
71 CFLAGS="$ac_save_CFLAGS"
76 if test "x$no_gtk" = x ; then
78 ifelse([$2], , :, [$2])
83 ifelse([$3], , :, [$3])
89 dnl ------------------------------------------------------------------------
91 dnl ------------------------------------------------------------------------
93 AC_DEFUN(AC_OVERRIDES_PREPARE,
95 rm -f ${OSTYPE}.system.cache.tmp
96 touch ${OSTYPE}.system.cache.tmp
97 touch ${OSTYPE}.system.cache
100 AC_DEFUN(AC_OVERRIDES_DONE,
102 mv ${OSTYPE}.system.cache.tmp ${OSTYPE}.system.cache
105 dnl package,message,helpmessage,variable
106 AC_DEFUN(AC_OVERRIDES,
108 AC_MSG_CHECKING("for $2")
110 [if test "x$with_$1" = xyes; then
111 ac_cv_use_$1='$4="1"'
113 ac_cv_use_$1='$4="0"'
116 LINE=`grep "$4" ${OSTYPE}.system.cache`
117 if test "x$LINE" != x ; then
120 ac_cv_use_$1='$4='$DEFAULT_$4
123 echo $ac_cv_use_$1 >> ${OSTYPE}.system.cache.tmp
124 if test "$$4" = 1; then
131 dnl package,message,helpmessage,variable
132 AC_DEFUN(AC_OVERRIDES_OLD,
134 AC_MSG_CHECKING("for $2")
135 AC_CACHE_VAL(ac_cv_use_$1,
138 [if test "x$with_$1" = xyes; then
139 ac_cv_use_$1='$4="1"'
141 ac_cv_use_$1='$4="0"'
142 fi],[ac_cv_use_$1='$4=$DEFAULT_$4'])
146 if test "$$4" = 1; then
153 AC_DEFUN(AC_PATH_FIND_INCLUDES,
158 if test -f "$ac_dir/$2"; then
159 ac_find_includes=$ac_dir
165 AC_DEFUN(AC_PATH_FIND_LIBRARIES,
170 for ac_extension in a so sl; do
171 if test -f "$ac_dir/lib$2.$ac_extension"; then
172 ac_find_libraries=$ac_dir
179 dnl Path to include, allready defined
180 AC_DEFUN(AC_INCLUDE_PATH_EXIST,
182 ac_path_to_include=$1
183 echo "$2" | grep "\-I$1" > /dev/null
185 if test $result = 0; then
186 ac_path_to_include=""
188 ac_path_to_include="-I$1"
192 dnl Path to link, allready defined
193 AC_DEFUN(AC_LINK_PATH_EXIST,
195 echo "$2" | grep "\-L$1" > /dev/null
197 if test $result = 0; then
200 ac_path_to_link="-L$1"
204 dnl ------------------------------------------------------------------------
205 dnl Process this file with autoconf to produce a configure script.
206 dnl ------------------------------------------------------------------------
208 AC_INIT(configure.in)
210 dnl ------------------------------------------------------------------------
212 dnl ------------------------------------------------------------------------
216 if test "x$OS" = "x"; then
218 AC_MSG_ERROR("The system variable OS has not been set"
219 "please set is everytime befor compiling on this system"
220 "A good example for this system would be:"
221 "setenv OSTYPE $UNAME for csh as a SHELL"
222 "EXPORT OSTYPE=$UNAME for sh as SHELL"
223 "please set this and restart again."
227 dnl ------------------------------------------------------------------------
228 dnl Set base directory
229 dnl ------------------------------------------------------------------------
234 dnl ------------------------------------------------------------------------
235 dnl search path for includes and libraries
236 dnl ------------------------------------------------------------------------
238 dnl VZ: added standard locations for Xm.h for Irix, HP-UX and SunOS (19.02.99)
240 /usr/Motif-1.2/include \
241 /usr/Motif-2.1/include \
243 /usr/include/Motif1.2 \
244 /opt/xpm/include/X11 \
246 /usr/Motif1.2/include \
262 /usr/local/X11R6/include \
263 /usr/local/X11R5/include \
264 /usr/local/X11R4/include \
266 /usr/local/include/X11R6 \
267 /usr/local/include/X11R5 \
268 /usr/local/include/X11R4 \
272 /usr/local/X11/include \
273 /usr/local/include/X11 \
277 /usr/XFree86/include/X11 \
284 /usr/unsupported/include \
285 /usr/athena/include \
286 /usr/local/x11r5/include \
287 /usr/lpp/Xamples/include \
289 /usr/local/include/gtk \
290 /usr/local/include/qt \
293 /usr/openwin/include \
294 /usr/openwin/share/include \
297 SEARCH_LIB="`echo "$SEARCH_INCLUDE" | sed s/include/lib/g` "
299 dnl ------------------------------------------------------------------------
301 dnl ------------------------------------------------------------------------
303 dnl ###################
304 dnl # checks programs #
305 dnl ###################
307 dnl C-compiler checks
308 dnl =================
309 dnl use what compiler
311 dnl defines CC with the compiler to use
312 dnl defines GCC with yes if using gcc
313 dnl defines GCC empty if not using gcc
316 CFLAGS=`echo "$CFLAGS" | sed 's/-g//g'`
318 dnl does compiler support -c and -o simultaniously
320 dnl defines NO_MINUS_C_MINUS_O if compiler does not accept
321 dnl both switches simultaniously
322 dnl what is the c-preprocessor
324 dnl defines CPP with the c-preprocessor
325 dnl is -traditional needed for correct compilations
326 AC_PROG_GCC_TRADITIONAL
327 dnl adds -traditional for gcc if needed
331 dnl C++-compiler checks
332 dnl ===================
333 dnl use what compiler
335 dnl defines CXX with the compiler to use
336 dnl defines GXX with yes if using gxx
337 dnl defines GXX empty if not using gxx
339 dnl what is the C++-preprocessor
341 dnl defines CXXCPP with the C++-preprocessor
343 CXXFLAGS=`echo "$CXXFLAGS" | sed 's/-g//g'`
350 dnl defines RANLIB with the appropriate command
354 AC_CHECK_PROG(AR, ar, ar, ar)
355 dnl defines AR with the appropriate command
360 dnl defines INSTALL with the appropriate command
365 dnl defines LN_S with the appropriate command
370 dnl defines AWK with the appropriate command
374 AC_CHECK_PROG(STRIP, strip, strip, true)
375 dnl defines STRIP as strip or nothing if not found
380 dnl check if VPATH works
381 AC_MSG_CHECKING("make for VPATH support")
383 cat - << EOF > confMake
389 if test ! -d sub ; then
392 echo dummy > sub/file
393 ${MAKE-make} -f confMake VPATH=sub 2> config.log > /dev/null
395 rm -f sub/file check final_file confMake
397 if test "$RESULT" = 0; then
402 You need a make-utility that is able to use the variable
404 If your version of make does not support VPATH correctly,
405 please install GNU-make (possibly as gmake), and start
406 configure with the following command:
407 export MAKE=gmake; ./configure for sh-type shells
408 setenv MAKE gmake; ./configure for csh-type shells
409 Also please do remember to use gmake in this case every time
410 you are trying to compile.
414 dnl ####################
415 dnl # checks libraries #
416 dnl ####################
418 dnl find the X11 include and library files
420 dnl defines x_includes and x_libraries
422 dnl #######################
423 dnl # checks header files #
424 dnl #######################
427 dnl defines MACRO HAVE_DIRENT_H if dirent.h exists
428 dnl defines MACRO HAVE_SYS_NDIR_H if sys/ndir.h exists
429 dnl defines MACRO HAVE_SYS_DIR_H if sys/dir.h exists
430 dnl defines MACRO HAVE_NDIR_H if ndir.h exists
432 dnl defines STDC_HEADERS if ANSI-C header
434 dnl defines HAVE_SYS_WAIT_H if sys/wait.h exist and is POSIX.1
435 AC_CHECK_HEADERS(fcntl.h)
436 dnl defines HAVE_FCNTL_H
437 AC_CHECK_HEADERS(limits.h)
438 dnl defines HAVE_LIMITS_h
439 AC_CHECK_HEADERS(sys/file.h)
440 dnl defines HAVE_SYS_FILE_H
441 AC_CHECK_HEADERS(sys/time.h)
442 dnl defines HAVE_SYS_TIME_H
443 AC_CHECK_HEADERS(unistd.h)
444 dnl defines HAVE_UNISTD_H
445 AC_CHECK_HEADERS(fnmatch.h)
446 dnl defines HAVE_FNMATCH_H
447 dnl As it needs Linux 2.1.x for the moment: check whether the file exists (GL).
448 AC_CHECK_HEADERS(linux/joystick.h)
450 if test "$ac_cv_header_linux_joystick_h" = "yes"; then
451 GTK_JOYSTICK="gtk/joystick.cpp"
453 AC_SUBST(GTK_JOYSTICK)
455 dnl check for vprintf/vsprintf() which are GNU extensions
458 dnl check for several standard functions we use if they are available
459 AC_CHECK_FUNCS(vsnprintf vfork)
462 dnl check for usleep() and nanosleep() which is better in MT programs
463 dnl AC_CHECK_FUNCS(nanosleep, AC_DEFINE(HAVE_NANOSLEEP),
465 dnl AC_CHECK_LIB(posix4, nanosleep,
466 dnl AC_DEFINE(HAVE_NANOSLEEP),
467 dnl AC_CHECK_FUNCS(usleep))
470 AC_CHECK_FUNCS(nanosleep, AC_DEFINE(HAVE_NANOSLEEP),
471 [AC_CHECK_LIB(posix4, nanosleep, [
472 AC_DEFINE(HAVE_NANOSLEEP)
473 POSIX4_LINK="-lposix4" ],
474 [AC_CHECK_FUNCS(usleep, AC_DEFINE(HAVE_USLEEP),
475 AC_MSG_WARN(Sleep() function will not work)
480 dnl check for uname (POSIX) and gethostname (BSD)
481 AC_CHECK_FUNCS(uname gethostname, break)
485 AC_CHECK_HEADERS(iostream)
486 if test "x$HAVE_IOSTREAM" = "x" ; then
487 AC_DEFINE(wxUSE_IOSTREAMH)
491 dnl defines HAVE_IOSTREAM
492 dnl ###################
493 dnl # checks typedefs #
494 dnl ###################
496 dnl defines GETGROUPS_T
498 dnl defines mode_t if not already defined
500 dnl defines off_t if not already defined
502 dnl defines pid_t if not already defined
504 dnl defines RETSIGTYPE for the correct return type of signal
506 dnl defines size_t if not already defined
508 dnl defines uid_t and gid_t if not already defined
510 dnl #####################
511 dnl # checks structures #
512 dnl #####################
515 dnl defines STAT_MACROS_BROKEN if S_ISDIR and S_ISREG
516 dnl do not work properly
518 dnl defines TIME_WITH_SYS_TIME if time.h and sys/time.h can
521 dnl defines HAVE_ST_BLKSIZE if struct stat contains st_blksize
523 dnl defines HAVE_ST_BLOCKS if struct stat contains st_blocks
525 dnl defines HAVE_ST_RDEV if struct stat contains st_rdev
527 dnl defines TM_IN_SYS_TIME if struct tm is not in time.h
529 dnl defines HAVE_ST_BLKSIZE if struct tm contains tm_zone
531 dnl defines HAVE_TZNAME if external array tzname is found
533 dnl ###################################
534 dnl # checks compiler characteristics #
535 dnl ###################################
539 dnl defines const to be empty if c-compiler does not support const fully
541 dnl defines inline to a sensible value for the c-compiler
543 dnl defines __CHAR_UNSIGNED__ if char is unsigned
545 dnl defines HAVE_LONGDOUBLE if compiler supports long double
548 dnl defines WORDS_BIGENDIAN if system is big endian
550 AC_CHECK_SIZEOF(int *)
552 AC_CHECK_SIZEOF(long)
553 AC_CHECK_SIZEOF(long long)
554 dnl defines the size of certain types of variables in SIZEOF_???
556 dnl ############################
557 dnl # checks library functions #
558 dnl ############################
560 dnl ##########################
561 dnl # checks system services #
562 dnl ##########################
565 AC_SYS_LONG_FILE_NAMES
566 dnl defines HAVE_LONG_FILENAMES if filenames longer then
567 dnl 14 chars are supported
569 dnl AC_SYS_RESTARTABLE_SYSCALLS
570 dnl defines HAVE_RESTARTABLE_SYSCALLS if the system restarts a
571 dnl system call that is interrupted
574 dnl #################
575 dnl # checks PARSER #
576 dnl #################
581 dnl defines YACC with the appropriate command
586 dnl defines LEX with the appropriate command
587 dnl defines LEXLIB with the appropriate library
588 dnl what type is yytext
590 dnl defines YYTEXT_POINTER if yytext is char*
591 dnl defines LEX_OUTPUT_ROOT as to the base of the
592 dnl filename output by the lexer
594 dnl ###################################
595 dnl ## Check for dynamic load module #
596 dnl ###################################
599 AC_CHECK_FUNCS(dlopen, AC_DEFINE(HAVE_LIBDL),
600 [AC_CHECK_LIB(dl, dlopen, [AC_DEFINE(HAVE_LIBDL) DL_LIBRARY="-ldl"],
601 [AC_CHECK_LIB(dld, dld_link, [AC_DEFINE(HAVE_DLD) DL_LIBRARY="-ldld"],
602 [AC_CHECK_FUNCS(shl_load, AC_DEFINE(HAVE_SHL_LOAD) )]
608 AC_CACHE_CHECK([for underscore before symbols], libltdl_cv_uscore, [
609 echo "main(){int i=1;} fnord(){int i=23; int ltuae=42;}" > conftest.c
610 ${CC} -c conftest.c > /dev/null
611 if (nm conftest.o | grep _fnord) > /dev/null; then
612 libltdl_cv_uscore=yes
619 if test x"$libltdl_cv_uscore" = xyes; then
620 if test x"$ac_cv_func_dlopen" = xyes ||
621 test x"$ac_cv_lib_dl_dlopen" = xyes ; then
622 AC_CACHE_CHECK([whether we have to add an underscore for dlsym],
623 libltdl_cv_need_uscore, [dnl
628 main() { void *self, *ptr1, *ptr2; self=dlopen(NULL,RTLD_LAZY);
629 if(self) { ptr1=dlsym(self,"fnord"); ptr2=dlsym(self,"_fnord");
630 if(ptr1 && !ptr2) exit(0); } exit(1); }
631 ], libltdl_cv_need_uscore=no, libltdl_cv_need_uscore=yes,
632 libltdl_cv_need_uscore=no
637 if test x"$libltdl_cv_need_uscore" = xyes; then
638 AC_DEFINE(NEED_USCORE)
641 dnl ##########################################
642 dnl ## Check for specific library functions #
643 dnl ##########################################
645 dnl Checks for library functions.
646 AC_CHECK_FUNCS(strerror)
648 dnl ------------------------------------------------------------------------
650 dnl ------------------------------------------------------------------------
652 CHECK_INCLUDE="-I/usr/include $X_CFLAGS"
653 CHECK_LIB="-L/lib -L/usr/lib $X_LIBS"
655 dnl ------------------------------------------------------------------------
657 dnl ------------------------------------------------------------------------
661 configuration=$host_alias
663 dnl ------------------------------------------------------------------------
665 dnl ------------------------------------------------------------------------
687 case "${canonical}" in
696 if test "x$TMP" = "xalpha"
702 *-*-irix5* | *-*-irix6* )
713 AC_DEFINE(__SOLARIS__)
724 *-*-freebsd* | *-*-netbsd*)
727 AC_DEFINE(__FREEBSD__)
757 AC_MSG_ERROR(I don't know your system type.)
760 dnl ------------------------------------------------------------------------
761 dnl defaults for command options
762 dnl ------------------------------------------------------------------------
768 DEFAULT_wxUSE_MOTIF=0
770 DEFAULT_wxUSE_THREADS=0
772 DEFAULT_wxUSE_SHARED=1
773 DEFAULT_wxUSE_OPTIMISE=1
774 DEFAULT_wxUSE_PROFILE=0
775 DEFAULT_wxUSE_DEBUG_FLAG=0
776 DEFAULT_wxUSE_DEBUG_INFO=0
777 DEFAULT_wxUSE_MEM_TRACING=0
778 DEFAULT_wxUSE_DMALLOC=0
779 DEFAULT_wxUSE_APPLE_IEEE=1
780 DEFAULT_wxUSE_IOSTREAMH=1
783 DEFAULT_wxUSE_LIBPNG=1
784 DEFAULT_wxUSE_LIBJPEG=0
787 DEFAULT_wxUSE_TIMEDATE=1
789 DEFAULT_wxUSE_CONFIG=1
790 DEFAULT_wxUSE_STREAMS=1
791 DEFAULT_wxUSE_SOCKETS=1
792 DEFAULT_wxUSE_SERIAL=1
793 DEFAULT_wxUSE_DYNLIB_CLASS=1
795 DEFAULT_wxUSE_AFM_FOR_POSTSCRIPT=1
796 DEFAULT_WX_NORMALIZED_PS_FONTS=1
797 DEFAULT_wxUSE_POSTSCRIPT=1
800 DEFAULT_wxUSE_RESOURCES=1
801 DEFAULT_wxUSE_CLIPBOARD=1
802 DEFAULT_wxUSE_TOOLTIPS=1
803 DEFAULT_wxUSE_DRAG_AND_DROP=1
805 DEFAULT_wxUSE_MDI_ARCHITECTURE=1
806 DEFAULT_wxUSE_DOC_VIEW_ARCHITECTURE=1
807 DEFAULT_wxUSE_PRINTING_ARCHITECTURE=1
809 DEFAULT_wxUSE_PROLOGIO=1
810 DEFAULT_wxUSE_WX_RESOURCES=1
814 DEFAULT_wxUSE_UNICODE=1
815 DEFAULT_wxUSE_WCSRTOMBS=0
817 dnl ----------------------------------------------------------------
819 dnl ----------------------------------------------------------------
821 AC_OVERRIDES(gtk,gtk,
822 **--with-gtk use GTK,
829 AC_OVERRIDES(motif,motif,
830 **--with-motif use Motif/Lesstif,
833 dnl ----------------------------------------------------------------
835 dnl ----------------------------------------------------------------
837 AC_OVERRIDES(shared,shared,
838 **--with-shared create shared libraries,
841 AC_OVERRIDES(optimise,optimise,
842 **--with-optimise create optimised code,
845 AC_OVERRIDES(debug_flag,debug_flag,
846 **--with-debug_flag create code with WXDEBUG define set to 1,
849 AC_OVERRIDES(debug_info,debug_info,
850 **--with-debug_info create code with debuging information,
853 AC_OVERRIDES(debug_gdb,debug_gdb,
854 **--with-debug_gdb create code with extra GDB debuging information,
857 AC_OVERRIDES(mem_tracing,mem_tracing,
858 **--with-mem_traing create code with memory tracing,
861 AC_OVERRIDES(dmalloc,dmalloc,
862 **--with-dmalloc use dmalloc memory debug library (www.letters.com/dmalloc/),
865 AC_OVERRIDES(profile,profile,
866 **--with-profile create code with profiling information,
869 AC_OVERRIDES(apple_ieee, apple_ieee,
870 **--with_apple_ieee use the Apple IEEE codec,
873 AC_OVERRIDES(threads,threads,
874 **--with-threads for enabling threads,
877 AC_OVERRIDES(dynlib,dynlib,
878 **--with-dynlib to compile wxLibrary class,
881 dnl ----------------------------------------------------------------
882 dnl user options for libraries
883 dnl ----------------------------------------------------------------
885 AC_OVERRIDES(zlib,zlib,
886 **--with-zlib use zlib for LZW comression,
889 AC_OVERRIDES(libpng,libpng,
890 **--with-libpng use libpng (PNG image format),
893 AC_OVERRIDES(libjpeg,libjpeg,
894 **--with-libjpeg use libjpeg (JPEG image format),
897 AC_OVERRIDES(odbc,odbc,
898 **--with-odbc use iODBC and wxODBC classes,
901 dnl ----------------------------------------------------------------
902 dnl user options for non-GUI classes
903 dnl ----------------------------------------------------------------
905 AC_OVERRIDES(timedate, timedate,
906 **--with-timedate use wxTime and wxDate classes,
909 AC_OVERRIDES(intl,intl,
910 **--with-intl use internationalization system,
913 AC_OVERRIDES(config,config,
914 **--with-config use wxConfig class,
917 AC_OVERRIDES(streams,streams,
918 **--with-streams use wxStream etc classes,
921 AC_OVERRIDES(serial,serial,
922 **--with-serial use class serialization,
925 AC_OVERRIDES(sockets,sockets,
926 **--with-sockets use wxSocket etc classes,
929 dnl ----------------------------------------------------------------
930 dnl user options for PostScript
931 dnl ----------------------------------------------------------------
933 AC_OVERRIDES(afmfonts,afmfonts,
934 **--with-afmfonts use Adobe Font Metric Font table,
935 wxUSE_AFM_FOR_POSTSCRIPT)
937 AC_OVERRIDES(normalized, normalized,
938 **--with-PS-normalized use normalized PS fonts,
939 WX_NORMALIZED_PS_FONTS)
941 AC_OVERRIDES(postscript, postscript,
942 **--with-postscript use wxPostscriptDC device context,
945 dnl ----------------------------------------------------------------
946 dnl user options for wxString and Unicode
947 dnl ----------------------------------------------------------------
949 AC_OVERRIDES(unicode,unicode,
950 **--with-unicode compile wxString with Unicode support,
953 AC_OVERRIDES(wcsrtombs,wcsrtombs,
954 **--with-wcsrtombs use wcsrtombs instead of (buggy in GNU libc5) wcstombs,
957 dnl ----------------------------------------------------------------
958 dnl user options for Prolog and Resources
959 dnl ----------------------------------------------------------------
961 AC_OVERRIDES(wxresources,wxresources,
962 **--with-wxresources use wxWindows's resources,
965 AC_OVERRIDES(prologio,prologio,
966 **--with-prologio use Prolog IO library,
969 AC_OVERRIDES(rpc,RPC,
970 **--with-rpc use Prolog's remote procedure calls,
973 dnl ----------------------------------------------------------------
974 dnl user options for misc stuff
975 dnl ----------------------------------------------------------------
977 AC_OVERRIDES(ipc,IPC,
978 **--with-ipc use interprocess communication (wxSocket etc.),
981 AC_OVERRIDES(resources,resources,
982 **--with-resources use X resources for saving information,
985 AC_OVERRIDES(clipboard,clipboard,
986 **--with-clipboard use wxClipboard classes,
989 AC_OVERRIDES(tooltips,tooltips,
990 **--with-tooltips use tooltips,
993 AC_OVERRIDES(dnd,dnd,
994 **--with-dnd use Drag'n'Drop classes,
997 dnl ----------------------------------------------------------------
998 dnl user options for architectures
999 dnl ----------------------------------------------------------------
1001 AC_OVERRIDES(mdi,mdi,
1002 **--with-mdi use multiple document interface architecture,
1003 wxUSE_MDI_ARCHITECTURE)
1005 AC_OVERRIDES(docview,docview,
1006 **--with-docview use document view architecture,
1007 wxUSE_DOC_VIEW_ARCHITECTURE)
1009 AC_OVERRIDES(printarch,printarch,
1010 **--with-printarch use printing architecture,
1011 wxUSE_PRINTING_ARCHITECTURE)
1013 AC_OVERRIDES(help,help,
1014 **--with-help use help (using external browser at present),
1017 dnl ----------------------------------------------------------------
1019 dnl ----------------------------------------------------------------
1021 if test "$wxUSE_UNIX" = 1 ; then
1025 dnl ----------------------------------------------------------------
1026 dnl Linux: test for libc5/glibc2: glibc2 has gettext() included
1027 dnl ----------------------------------------------------------------
1028 if test "$USE_LINUX" = 1; then
1029 AC_CHECK_LIB(c,gettext,AC_DEFINE(wxHAVE_GLIBC2))
1032 dnl ----------------------------------------------------------------
1033 dnl search for toolkit (widget sets)
1034 dnl ----------------------------------------------------------------
1047 if test "$wxUSE_GTK" = 1; then
1048 AM_PATH_GTK(1.0.4, [
1049 GUI_TK_INCLUDE="$GTK_CFLAGS"
1050 GUI_TK_LIBRARY="$GTK_LIBS"
1051 ], AC_MSG_ERROR(Is gtk-config in path and GTK+ is version 1.0.4 up-to 1.0.6?))
1053 TOOLKIT_DEF=__WXGTK__
1055 MAKEINCLUDE=../gtk.inc
1058 if test "$wxUSE_QT" = 1; then
1059 AC_MSG_CHECKING(for Qt includes)
1060 AC_PATH_FIND_INCLUDES($SEARCH_INCLUDE,qapp.h)
1061 if test "$ac_find_includes" != "" ; then
1062 AC_MSG_RESULT(found $ac_find_includes)
1063 AC_MSG_CHECKING(for Qt library)
1064 AC_PATH_FIND_LIBRARIES($SEARCH_LIB,qt)
1065 if test "$ac_find_libraries" != "" ; then
1066 AC_INCLUDE_PATH_EXIST($ac_find_includes,$CHECK_INCLUDE)
1067 AC_LINK_PATH_EXIST($ac_find_libraries,$CHECK_LIB)
1068 CHECK_LINK="$CHECK_INCLUDE $ac_path_to_link"
1069 CHECK_INCLUDE="$CHECK_INCLUDE $ac_path_to_include"
1070 AC_MSG_RESULT(found Qt at $ac_find_libraries)
1077 GUI_TK_LINK="-lX11 -lqt -lm"
1079 TOOLKIT_DEF=__WXQT__
1081 MAKEINCLUDE=../qt.inc
1084 if test "$wxUSE_MOTIF" = 1; then
1085 AC_MSG_CHECKING(for Motif/Lesstif includes)
1086 AC_PATH_FIND_INCLUDES($SEARCH_INCLUDE,Xm/Xm.h)
1087 if test "$ac_find_includes" != "" ; then
1088 AC_MSG_RESULT(found $ac_find_includes)
1089 AC_MSG_CHECKING(for Motif/Lesstif library)
1090 AC_PATH_FIND_LIBRARIES($SEARCH_LIB,Xm)
1091 if test "$ac_find_libraries" != "" ; then
1092 AC_INCLUDE_PATH_EXIST($ac_find_includes,$CHECK_INCLUDE)
1093 AC_LINK_PATH_EXIST($ac_find_libraries,$CHECK_LIB)
1094 CHECK_LINK="$CHECK_LIB $ac_path_to_link"
1095 CHECK_INCLUDE="$CHECK_INCLUDE $ac_path_to_include"
1096 AC_MSG_RESULT(found at $ac_find_libraries)
1097 AC_MSG_CHECKING(for Xt library)
1098 AC_PATH_FIND_LIBRARIES($SEARCH_LIB,Xt)
1099 if test "$ac_find_libraries" != "" ; then
1100 AC_LINK_PATH_EXIST($ac_find_libraries,$CHECK_LIB)
1101 CHECK_LINK="$CHECK_LIB $ac_path_to_link"
1102 AC_MSG_RESULT(found at $ac_find_libraries)
1103 AC_MSG_CHECKING(for Xpm library)
1104 AC_PATH_FIND_LIBRARIES($SEARCH_LIB,Xpm)
1105 if test "$ac_find_libraries" != "" ; then
1106 AC_LINK_PATH_EXIST($ac_find_libraries,$CHECK_LIB)
1107 CHECK_LINK="$CHECK_LIB $ac_path_to_link"
1108 AC_MSG_RESULT(found at $ac_find_libraries)
1122 GUI_TK_LINK="-lXm -lXpm -lXmu -lXt -lX11 -lm"
1123 GUI_TK_LIBRARY="$CHECK_LIB $GUI_TK_LINK"
1125 TOOLKIT_DEF=__WXMOTIF__
1127 MAKEINCLUDE=../motif.inc
1130 if test "$TOOLKIT" = ""; then
1131 AC_MSG_ERROR(You must specify a toolkit: --with-gtk --with-qt --with-motif)
1134 AC_SUBST(GUI_TK_INCLUDE)
1135 AC_SUBST(GUI_TK_LIBRARY)
1136 AC_SUBST(GUI_TK_LINK)
1141 AC_SUBST(TOOLKIT_DEF)
1143 AC_SUBST(MAKEINCLUDE)
1145 dnl ----------------------------------------------------------------
1146 dnl Register compile options for makefiles and setup.h
1147 dnl ----------------------------------------------------------------
1152 if test "$wxUSE_DEBUG_GDB" = 1 ; then
1157 if test "$wxUSE_DEBUG_INFO" = 1 ; then
1164 if test "$wxUSE_DEBUG_FLAG" = 1 ; then
1165 AC_DEFINE_UNQUOTED(WXDEBUG,$wxUSE_DEBUG_FLAG)
1166 WXDEBUG_DEFINE="-D__WXDEBUG__"
1167 AC_SUBST(WXDEBUG_DEFINE)
1169 WXDEBUG_DEFINE="-DGTK_NO_CHECK_CASTS"
1170 AC_SUBST(WXDEBUG_DEFINE)
1173 if test "$wxUSE_MEM_TRACING" = 1 ; then
1174 AC_DEFINE_UNQUOTED(wxUSE_MEMORY_TRACING,$wxUSE_MEM_TRACING)
1175 AC_DEFINE_UNQUOTED(wxUSE_GLOBAL_MEMORY_OPERATORS,$wxUSE_MEM_TRACING)
1178 if test "$wxUSE_DMALLOC" = 1 ; then
1179 EXTRA_LINK="$EXTRA_LINK -ldmalloc"
1181 AC_SUBST(EXTRA_LINK)
1184 if test "$wxUSE_PROFILE" = 1 ; then
1189 CXXFLAGS=`echo "${CXXFLAGS}" | sed "s/\-O.//g" `
1190 CFLAGS=`echo "${CFLAGS}" | sed "s/\-O.//g" `
1191 if test "$wxUSE_OPTIMISE" = 0 ; then
1194 if test "$GCC" = yes ; then
1196 case "${canonical}" in
1198 OPTIMISE="${OPTIMISE} "
1208 if test "$wxUSE_APPLE_IEEE" = 1 ; then
1209 APPLE_IEEE="APPLE_IEEE"
1210 AC_DEFINE_UNQUOTED(wxUSE_APPLE_IEEE,$wxUSE_APPLE_IEEE)
1213 wxUSE_IOSTREAMH=$DEFAULT_wxUSE_IOSTREAMH
1214 AC_DEFINE_UNQUOTED(wxUSE_IOSTREAMH,$wxUSE_IOSTREAMH)
1216 dnl ----------------------------------------------------------------
1217 dnl Register library options for makefiles and setup.h
1218 dnl ----------------------------------------------------------------
1220 if test "$wxUSE_ZLIB" = 1 ; then
1221 AC_DEFINE_UNQUOTED(wxUSE_ZLIB,$wxUSE_ZLIB)
1222 Z_C_SRC="\$(Z_C_SRC)"
1226 if test "$wxUSE_LIBPNG" = 1 ; then
1227 AC_DEFINE_UNQUOTED(wxUSE_LIBPNG,$wxUSE_LIBPNG)
1228 PNG_C_SRC="\$(PNG_C_SRC)"
1233 if test "$wxUSE_LIBJPEG" = 1 ; then
1234 AC_DEFINE_UNQUOTED(wxUSE_LIBJPEG,$wxUSE_LIBJPEG)
1235 AC_CHECK_LIB(jpeg,main,,AC_MSG_ERROR("libjpeg is not available."))
1241 if test "$wxUSE_ODBC" = 1 ; then
1242 AC_DEFINE_UNQUOTED(wxUSE_ODBC,$wxUSE_ODBC)
1243 IODBC_C_SRC="\$(IODBC_C_SRC)"
1245 AC_SUBST(IODBC_C_SRC)
1247 dnl ----------------------------------------------------------------
1248 dnl Register non-GUI class options for makefiles and setup.h
1249 dnl ----------------------------------------------------------------
1251 if test "$wxUSE_CONFIG" = 1 ; then
1252 AC_DEFINE_UNQUOTED(wxUSE_CONFIG,$wxUSE_CONFIG)
1255 if test "$wxUSE_TIMEDATE" = 1 ; then
1256 AC_DEFINE_UNQUOTED(wxUSE_TIMEDATE,$wxUSE_TIMEDATE)
1259 if test "$wxUSE_INTL" = 1 ; then
1260 AC_DEFINE_UNQUOTED(wxUSE_INTL,$wxUSE_INTL)
1263 if test "$wxUSE_STREAMS" = 1 ; then
1264 AC_DEFINE_UNQUOTED(wxUSE_STREAMS,$wxUSE_STREAMS)
1267 if test "$wxUSE_SOCKETS" = 1 ; then
1268 AC_DEFINE_UNQUOTED(wxUSE_SOCKETS,$wxUSE_SOCKETS)
1271 if test "$wxUSE_SERIAL" = 1 ; then
1272 AC_DEFINE_UNQUOTED(wxUSE_SERIAL,$wxUSE_SERIAL)
1275 dnl ------------------------------------------------------------------------
1277 dnl ------------------------------------------------------------------------
1280 if test "$wxUSE_DYNLIB_CLASS" = "1"; then
1281 dnl the test is a bit complicated because we check for dlopen() both with
1282 dnl and without -ldl
1283 AC_CHECK_FUNCS(dlopen,
1284 [AC_DEFINE(HAVE_DLOPEN) HAVE_DL_FUNCS=1],
1285 [AC_CHECK_LIB(dl, dlopen,
1286 [AC_DEFINE(HAVE_DLOPEN) HAVE_DL_FUNCS=1])])
1287 AC_CHECK_FUNCS(shl_load, [AC_DEFINE(HAVE_SHL_LOAD) HAVE_DL_FUNCS=1])
1289 if test "$HAVE_DL_FUNCS" = 0; then
1290 AC_MSG_WARN("--with-dynlib will be disabled because no function was found to load a shared library on this platform")
1292 wxUSE_DYNLIB_CLASS=0
1296 if test "$wxUSE_DYNLIB_CLASS" = 1 ; then
1297 AC_DEFINE_UNQUOTED(wxUSE_DYNLIB_CLASS,$wxUSE_DYNLIB_CLASS)
1300 dnl ----------------------------------------------------------------
1301 dnl Register Prolog and Resources options for makefiles and setup.h
1302 dnl ----------------------------------------------------------------
1304 if test "$wxUSE_RPC" = 1 ; then
1305 AC_DEFINE_UNQUOTED(wxUSE_RPC,$wxUSE_RPC)
1308 if test "$wxUSE_WX_RESOURCES" = 1 ; then
1309 AC_DEFINE_UNQUOTED(wxUSE_WX_RESOURCES,$wxUSE_WX_RESOURCES)
1312 if test "$wxUSE_PROLOGIO" = 1 ; then
1313 AC_DEFINE_UNQUOTED(wxUSE_PROLOGIO)
1316 dnl ----------------------------------------------------------------
1317 dnl Register PostScript options for makefiles and setup.h
1318 dnl ----------------------------------------------------------------
1320 if test "$wxUSE_POSTSCRIPT" = 1 ; then
1321 AC_DEFINE_UNQUOTED(wxUSE_POSTSCRIPT)
1324 AC_DEFINE_UNQUOTED(wxUSE_AFM_FOR_POSTSCRIPT,$wxUSE_AFM_FOR_POSTSCRIPT)
1326 AC_DEFINE_UNQUOTED(WX_NORMALIZED_PS_FONTS,$WX_NORMALIZED_PS_FONTS)
1328 dnl ----------------------------------------------------------------
1329 dnl Register architecture options for makefiles and setup.h
1330 dnl ----------------------------------------------------------------
1332 if test "$wxUSE_MDI_ARCHITECTURE" = 1 ; then
1333 AC_DEFINE_UNQUOTED(wxUSE_MDI_ARCHITECTURE,$wxUSE_MDI_ARCHITECTURE)
1336 if test "$wxUSE_DOC_VIEW_ARCHITECTURE" = 1 ; then
1337 AC_DEFINE_UNQUOTED(wxUSE_DOC_VIEW_ARCHITECTURE,$wxUSE_DOC_VIEW_ARCHITECTURE)
1340 if test "$wxUSE_PRINTING_ARCHITECTURE" = 1 ; then
1341 AC_DEFINE_UNQUOTED(wxUSE_PRINTING_ARCHITECTURE,$wxUSE_PRINTING_ARCHITECTURE)
1344 dnl ----------------------------------------------------------------
1345 dnl Register wxString options for makefiles and setup.h
1346 dnl ----------------------------------------------------------------
1348 if test "$wxUSE_UNICODE" = 1 ; then
1349 AC_DEFINE_UNQUOTED(wxUSE_UNICODE)
1352 if test "$wxUSE_WCSRTOMBS" = 1 ; then
1353 AC_DEFINE_UNQUOTED(wxUSE_WCSRTOMBS)
1356 dnl ----------------------------------------------------------------
1357 dnl Register misc options for makefiles and setup.h
1358 dnl ----------------------------------------------------------------
1360 if test "$wxUSE_IPC" = 1 ; then
1361 AC_DEFINE_UNQUOTED(wxUSE_IPC)
1364 if test "$wxUSE_RESOURCES" = 1 ; then
1365 AC_DEFINE_UNQUOTED(wxUSE_RESOURCES,$wxUSE_RESOURCES)
1368 if test "$wxUSE_CLIPBOARD" = 1 ; then
1369 AC_DEFINE_UNQUOTED(wxUSE_CLIPBOARD,$wxUSE_CLIPBOARD)
1372 if test "$wxUSE_TOOLTIPS" = 1 ; then
1373 AC_DEFINE_UNQUOTED(wxUSE_TOOLTIPS,$wxUSE_TOOLTIPS)
1376 if test "$wxUSE_DRAG_AND_DROP" = 1 ; then
1377 AC_DEFINE_UNQUOTED(wxUSE_DRAG_AND_DROP,$wxUSE_DRAG_AND_DROP)
1380 dnl ----------------------------------------------------------------
1382 dnl ----------------------------------------------------------------
1385 if test "$wxUSE_HELP" = 1 ; then
1387 AC_DEFINE_UNQUOTED(wxUSE_HELP,$wxUSE_HELP)
1391 dnl ----------------------------------------------------------------
1393 dnl ----------------------------------------------------------------
1395 dnl defines UNIX_THREAD it contains the source file to use for threads. (GL)
1396 dnl defines THREADS_LINK it contains the thread library to link with. (GL)
1397 dnl defines wxUSE_THREADS if thread support is activated. (GL)
1402 if test "$wxUSE_THREADS" = "1"; then
1403 dnl find if POSIX threads are available
1405 dnl For glibc 2 users who have the old libc 5 too check pthread-0.7 first
1406 AC_CHECK_LIB(pthread-0.7, pthread_create, [
1407 UNIX_THREAD="unix/threadpsx.cpp"
1408 THREADS_LINK="pthread-0.7"
1410 dnl standard lib name is pthread
1411 AC_CHECK_LIB(pthread, pthread_create, [
1412 UNIX_THREAD="unix/threadpsx.cpp"
1413 THREADS_LINK="pthread"
1415 dnl thread functions are in libc_r under FreeBSD
1416 AC_CHECK_LIB(c_r, pthread_create, [
1417 UNIX_THREAD="unix/threadpsx.cpp"
1420 dnl VZ: SGI threads are not supported currently
1421 AC_CHECK_HEADER(sys/prctl.h, [
1422 UNIX_THREAD="gtk/threadsgi.cpp"
1428 if test "$THREADS_LINK" != ""; then
1429 AC_DEFINE(wxUSE_THREADS)
1431 AC_MSG_WARN(No thread support on this system)
1435 if test -z "$UNIX_THREAD"; then
1439 dnl do other tests only if we are using threads
1440 if test "$wxUSE_THREADS" = "1"; then
1442 dnl define autoconf macro to check for given function in both pthread and
1443 dnl posix4 libraries
1444 dnl usage: AC_FUNC_THREAD(FUNCTION_NAME)
1446 dnl AC_DEFUN(AC_FUNC_THREAD,
1448 dnl AC_CHECK_LIB($THREADS_LINK, $1,
1449 dnl AC_DEFINE(HAVE_`'translit($1, `A-Z', 'a-z'),
1450 dnl [AC_CHECK_LIB("posix4", $1,
1451 dnl [AC_DEFINE(HAVE_`'translit($1, `A-Z', 'a-z'))
1452 dnl POSIX4_LINK="-lposix4"
1457 AC_CHECK_HEADERS(sched.h)
1459 AC_CHECK_LIB($THREADS_LINK, sched_yield,
1460 AC_DEFINE(HAVE_SCHED_YIELD),
1461 [AC_CHECK_LIB("posix4", sched_yield,
1462 [AC_DEFINE(HAVE_SCHED_YIELD) POSIX4_LINK="-lposix4"],
1463 AC_MSG_WARN(wxThread::Yield() will not work properly)
1467 dnl VZ: we should be checking for all of the following functions instead:
1468 dnl 1. pthread_attr_getschedpolicy
1469 dnl 2. sched_get_priority_min and sched_get_priority_max
1470 dnl 3. pthread_attr_getschedparam and pthread_attr_setschedparam
1471 dnl but it seems that if the first one is there, the other ones are too (of
1472 dnl course the proper solution would be to implement AC_FUNC_THREAD above
1473 dnl and do test for them all - anyone?)
1474 AC_CHECK_LIB($THREADS_LINK, pthread_attr_getschedpolicy,
1475 AC_DEFINE(HAVE_THREAD_PRIORITY_FUNCTIONS),
1476 [AC_CHECK_LIB("posix4", pthread_attr_getschedpolicy,
1477 [AC_DEFINE(HAVE_THREAD_PRIORITY_FUNCTIONS) POSIX4_LINK="-lposix4"],
1478 AC_MSG_WARN(Setting thread priority will not work)
1482 AC_CHECK_LIB($THREADS_LINK, pthread_cancel,
1483 AC_DEFINE(HAVE_PTHREAD_CANCEL),
1484 AC_MSG_WARN(wxThread::Kill() will not work properly))
1486 THREADS_LINK="-l$THREADS_LINK"
1489 AC_SUBST(UNIX_THREAD)
1490 AC_SUBST(THREADS_LINK)
1491 AC_SUBST(POSIX4_LINK)
1493 dnl ------------------------------------------------------------------------
1494 dnl compiler options for shared libs
1495 dnl ------------------------------------------------------------------------
1499 case "${canonical}" in
1501 if test "$GCC" != "yes" ; then
1502 CXXFLAGS="${CXXFLAGS} +a1 -z -Aa -D_HPUX_SOURCE"
1503 CFLAGS="${CFLAGS} -z -D_HPUX_SOURCE"
1509 CREATE_SHARED=sharedHpux
1514 CREATE_SHARED=sharedLinux
1517 *-*-irix5* | *-*-irix6* )
1518 # PICFLAGS can remain empty, as pic is the default
1520 CREATE_SHARED=sharedIrix
1525 if test "$GCC" != "yes" ; then
1530 CREATE_SHARED=sharedSolaris2
1535 if test "$GCC" != "yes" ; then
1541 CREATE_SHARED=sharedSunos4
1545 *-*-freebsd* | *-*-netbsd*)
1547 CREATE_SHARED=sharedBsd
1553 CREATE_SHARED=sharedOSF
1557 if test "$GCC" != "yes" ; then
1562 CREATE_SHARED=sharedDgux
1567 if test "$GCC" != "yes" ; then
1572 CREATE_SHARED=sharedSysV
1577 if test "$GCC" != "yes" ; then
1582 CREATE_SHARED=sharedAIX
1591 if test "x$GCC" = xyes; then
1592 CFLAGS="${CFLAGS} -Wall -Wno-unused -Wno-uninitialized -D_REENTRANT -DLEX_SCANNER -DHAVE_LIBDL"
1595 if test "x$GXX" = xyes; then
1596 if test "$wxUSE_MOTIF" = 1; then
1597 CXXFLAGS="${CXXFLAGS} -Wall -Wno-unused -D_REENTRANT"
1599 CXXFLAGS="${CXXFLAGS} -Wall -D_REENTRANT"
1603 if test "$wxUSE_SHARED" != 1; then
1610 AC_SUBST(CREATE_SHARED)
1612 dnl ------------------------------------------------------------------------
1613 dnl finish and clean-up
1614 dnl ------------------------------------------------------------------------
1616 dnl add OS to list of configured
1617 echo $OS >> system.list
1619 AC_CONFIG_HEADER(./include/wx/gtk/setup.h:./setup/setup.hin)
1620 AC_OUTPUT(./setup/substit ./wx-config:./wx-config.in,./setup/general/createall)