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 ------------------------------------------------------------------------
239 /usr/Motif1.2/include \
254 /usr/local/X11R6/include \
255 /usr/local/X11R5/include \
256 /usr/local/X11R4/include \
258 /usr/local/include/X11R6 \
259 /usr/local/include/X11R5 \
260 /usr/local/include/X11R4 \
264 /usr/local/X11/include \
265 /usr/local/include/X11 \
269 /usr/XFree86/include/X11 \
276 /usr/unsupported/include \
277 /usr/athena/include \
278 /usr/local/x11r5/include \
279 /usr/lpp/Xamples/include \
281 /usr/local/include/gtk \
282 /usr/local/include/Xm \
283 /usr/local/include/qt \
284 /usr/X11R6/include/Xm \
285 /usr/X11/include/Xm \
288 /usr/openwin/include \
289 /usr/openwin/share/include \
292 SEARCH_LIB="`echo "$SEARCH_INCLUDE" | sed s/include/lib/g` \
296 dnl ------------------------------------------------------------------------
298 dnl ------------------------------------------------------------------------
300 dnl ###################
301 dnl # checks programs #
302 dnl ###################
304 dnl C-compiler checks
305 dnl =================
306 dnl use what compiler
308 dnl defines CC with the compiler to use
309 dnl defines GCC with yes if using gcc
310 dnl defines GCC empty if not using gcc
313 CFLAGS=`echo "$CFLAGS" | sed 's/-g//g'`
315 dnl does compiler support -c and -o simultaniously
317 dnl defines NO_MINUS_C_MINUS_O if compiler does not accept
318 dnl both switches simultaniously
319 dnl what is the c-preprocessor
321 dnl defines CPP with the c-preprocessor
322 dnl is -traditional needed for correct compilations
323 AC_PROG_GCC_TRADITIONAL
324 dnl adds -traditional for gcc if needed
328 dnl C++-compiler checks
329 dnl ===================
330 dnl use what compiler
332 dnl defines CXX with the compiler to use
333 dnl defines GXX with yes if using gxx
334 dnl defines GXX empty if not using gxx
336 dnl what is the C++-preprocessor
338 dnl defines CXXCPP with the C++-preprocessor
340 CXXFLAGS=`echo "$CXXFLAGS" | sed 's/-g//g'`
347 dnl defines RANLIB with the appropriate command
351 AC_CHECK_PROG(AR, ar, ar, ar)
352 dnl defines AR with the appropriate command
357 dnl defines INSTALL with the appropriate command
362 dnl defines LN_S with the appropriate command
367 dnl defines AWK with the appropriate command
372 dnl check if VPATH works
373 AC_MSG_CHECKING("make for VPATH support")
375 cat - << EOF > confMake
381 if test ! -d sub ; then
384 echo dummy > sub/file
385 ${MAKE-make} -f confMake VPATH=sub 2> config.log > /dev/null
387 rm -f sub/file check final_file confMake
389 if test "$RESULT" = 0; then
394 You need a make-utility that is able to use the variable
396 If your version of make does not support VPATH correctly,
397 please install GNU-make (possibly as gmake), and start
398 configure with the following command:
399 export MAKE=gmake; ./configure for sh-type shells
400 setenv MAKE gmake; ./configure for csh-type shells
401 Also please do remember to use gmake in this case every time
402 you are trying to compile.
406 dnl ####################
407 dnl # checks libraries #
408 dnl ####################
410 dnl find the X11 include and library files
412 dnl defines x_includes and x_libraries
414 dnl #######################
415 dnl # checks header files #
416 dnl #######################
419 dnl defines MACRO HAVE_DIRENT_H if dirent.h exists
420 dnl defines MACRO HAVE_SYS_NDIR_H if sys/ndir.h exists
421 dnl defines MACRO HAVE_SYS_DIR_H if sys/dir.h exists
422 dnl defines MACRO HAVE_NDIR_H if ndir.h exists
424 dnl defines STDC_HEADERS if ANSI-C header
426 dnl defines HAVE_SYS_WAIT_H if sys/wait.h exist and is POSIX.1
427 AC_CHECK_HEADERS(fcntl.h)
428 dnl defines HAVE_FCNTL_H
429 AC_CHECK_HEADERS(limits.h)
430 dnl defines HAVE_LIMITS_h
431 AC_CHECK_HEADERS(sys/file.h)
432 dnl defines HAVE_SYS_FILE_H
433 AC_CHECK_HEADERS(sys/time.h)
434 dnl defines HAVE_SYS_TIME_H
435 AC_CHECK_HEADERS(unistd.h)
436 dnl defines HAVE_UNISTD_H
437 AC_CHECK_HEADERS(fnmatch.h)
438 dnl defines HAVE_FNMATCH_H
439 dnl As it needs Linux 2.1.x for the moment: check whether the file exists (GL).
440 AC_CHECK_HEADERS(linux/joystick.h)
442 if test "$ac_cv_header_linux_joystick_h" = "yes"; then
443 GTK_JOYSTICK="gtk/joystick.cpp"
445 AC_SUBST(GTK_JOYSTICK)
447 dnl check for vprintf/vsprintf() which are GNU extensions
449 dnl check for vsnprintf() which is another GNU extension
450 AC_CHECK_FUNC(vsnprintf)
454 AC_CHECK_HEADERS(iostream)
455 if test "x$HAVE_IOSTREAM" = "x" ; then
456 AC_DEFINE(wxUSE_IOSTREAMH)
460 dnl defines HAVE_IOSTREAM
461 dnl ###################
462 dnl # checks typedefs #
463 dnl ###################
465 dnl defines GETGROUPS_T
467 dnl defines mode_t if not already defined
469 dnl defines off_t if not already defined
471 dnl defines pid_t if not already defined
473 dnl defines RETSIGTYPE for the correct return type of signal
475 dnl defines size_t if not already defined
477 dnl defines uid_t and gid_t if not already defined
479 dnl #####################
480 dnl # checks structures #
481 dnl #####################
484 dnl defines STAT_MACROS_BROKEN if S_ISDIR and S_ISREG
485 dnl do not work properly
487 dnl defines TIME_WITH_SYS_TIME if time.h and sys/time.h can
490 dnl defines HAVE_ST_BLKSIZE if struct stat contains st_blksize
492 dnl defines HAVE_ST_BLOCKS if struct stat contains st_blocks
494 dnl defines HAVE_ST_RDEV if struct stat contains st_rdev
496 dnl defines TM_IN_SYS_TIME if struct tm is not in time.h
498 dnl defines HAVE_ST_BLKSIZE if struct tm contains tm_zone
500 dnl defines HAVE_TZNAME if external array tzname is found
502 dnl ###################################
503 dnl # checks compiler characteristics #
504 dnl ###################################
508 dnl defines const to be empty if c-compiler does not support const fully
510 dnl defines inline to a sensible value for the c-compiler
512 dnl defines __CHAR_UNSIGNED__ if char is unsigned
514 dnl defines HAVE_LONGDOUBLE if compiler supports long double
517 dnl defines WORDS_BIGENDIAN if system is big endian
519 AC_CHECK_SIZEOF(int *)
521 AC_CHECK_SIZEOF(long)
522 dnl defines the size of certain types of variables in SIZEOF_???
524 dnl ############################
525 dnl # checks library functions #
526 dnl ############################
528 dnl ##########################
529 dnl # checks system services #
530 dnl ##########################
533 AC_SYS_LONG_FILE_NAMES
534 dnl defines HAVE_LONG_FILENAMES if filenames longer then
535 dnl 14 chars are supported
537 dnl AC_SYS_RESTARTABLE_SYSCALLS
538 dnl defines HAVE_RESTARTABLE_SYSCALLS if the system restarts a
539 dnl system call that is interrupted
542 dnl #################
543 dnl # checks PARSER #
544 dnl #################
549 dnl defines YACC with the appropriate command
554 dnl defines LEX with the appropriate command
555 dnl defines LEXLIB with the appropriate library
556 dnl what type is yytext
558 dnl defines YYTEXT_POINTER if yytext is char*
559 dnl defines LEX_OUTPUT_ROOT as to the base of the
560 dnl filename output by the lexer
562 dnl ###################################
563 dnl ## Check for dynamic load module #
564 dnl ###################################
567 AC_CHECK_FUNCS(dlopen, AC_DEFINE(HAVE_LIBDL),
568 [AC_CHECK_LIB(dl, dlopen, [AC_DEFINE(HAVE_LIBDL) DL_LIBRARY="-ldl"],
569 [AC_CHECK_LIB(dld, dld_link, [AC_DEFINE(HAVE_DLD) DL_LIBRARY="-ldld"],
570 [AC_CHECK_FUNCS(shl_load, AC_DEFINE(HAVE_SHL_LOAD) )]
576 AC_CACHE_CHECK([for underscore before symbols], libltdl_cv_uscore, [
577 echo "main(){int i=1;} fnord(){int i=23; int ltuae=42;}" > conftest.c
578 ${CC} -c conftest.c > /dev/null
579 if (nm conftest.o | grep _fnord) > /dev/null; then
580 libltdl_cv_uscore=yes
587 if test x"$libltdl_cv_uscore" = xyes; then
588 if test x"$ac_cv_func_dlopen" = xyes ||
589 test x"$ac_cv_lib_dl_dlopen" = xyes ; then
590 AC_CACHE_CHECK([whether we have to add an underscore for dlsym],
591 libltdl_cv_need_uscore, [dnl
596 main() { void *self, *ptr1, *ptr2; self=dlopen(NULL,RTLD_LAZY);
597 if(self) { ptr1=dlsym(self,"fnord"); ptr2=dlsym(self,"_fnord");
598 if(ptr1 && !ptr2) exit(0); } exit(1); }
599 ], libltdl_cv_need_uscore=no, libltdl_cv_need_uscore=yes,
600 libltdl_cv_need_uscore=no
605 if test x"$libltdl_cv_need_uscore" = xyes; then
606 AC_DEFINE(NEED_USCORE)
609 dnl ##########################################
610 dnl ## Check for specific library functions #
611 dnl ##########################################
613 dnl Checks for library functions.
614 AC_CHECK_FUNCS(strerror)
616 dnl ------------------------------------------------------------------------
618 dnl ------------------------------------------------------------------------
620 CHECK_INCLUDE="-I/usr/include $X_CFLAGS"
621 CHECK_LIB="-L/lib -L/usr/lib $X_LIBS"
623 dnl ------------------------------------------------------------------------
625 dnl ------------------------------------------------------------------------
629 configuration=$host_alias
631 dnl ------------------------------------------------------------------------
633 dnl ------------------------------------------------------------------------
655 case "${canonical}" in
664 if test "x$TMP" = "xalpha"
670 *-*-irix5* | *-*-irix6* )
681 AC_DEFINE(__SOLARIS__)
692 *-*-freebsd* | *-*-netbsd*)
695 AC_DEFINE(__FREEBSD__)
725 AC_MSG_ERROR(I don't know your system type.)
728 dnl ------------------------------------------------------------------------
729 dnl defaults for command options
730 dnl ------------------------------------------------------------------------
736 DEFAULT_wxUSE_MOTIF=0
738 DEFAULT_wxUSE_THREADS=0
740 DEFAULT_wxUSE_SHARED=1
741 DEFAULT_wxUSE_OPTIMISE=1
742 DEFAULT_wxUSE_PROFILE=0
743 DEFAULT_wxUSE_DEBUG_FLAG=0
744 DEFAULT_wxUSE_DEBUG_INFO=0
745 DEFAULT_wxUSE_MEM_TRACING=0
746 DEFAULT_wxUSE_DMALLOC=0
747 DEFAULT_wxUSE_APPLE_IEEE=1
748 DEFAULT_wxUSE_IOSTREAMH=1
751 DEFAULT_wxUSE_LIBPNG=1
752 DEFAULT_wxUSE_LIBJPEG=1
755 DEFAULT_wxUSE_TIMEDATE=1
757 DEFAULT_wxUSE_CONFIG=1
758 DEFAULT_wxUSE_STREAMS=1
759 DEFAULT_wxUSE_SERIAL=1
761 DEFAULT_wxUSE_AFM_FOR_POSTSCRIPT=1
762 DEFAULT_WX_NORMALIZED_PS_FONTS=1
763 DEFAULT_wxUSE_POSTSCRIPT=1
766 DEFAULT_wxUSE_RESOURCES=1
767 DEFAULT_wxUSE_CLIPBOARD=1
768 DEFAULT_wxUSE_TOOLTIPS=1
769 DEFAULT_wxUSE_DRAG_AND_DROP=1
771 DEFAULT_wxUSE_MDI_ARCHITECTURE=1
772 DEFAULT_wxUSE_DOC_VIEW_ARCHITECTURE=1
773 DEFAULT_wxUSE_PRINTING_ARCHITECTURE=1
775 DEFAULT_wxUSE_PROLOGIO=1
776 DEFAULT_wxUSE_WX_RESOURCES=1
780 DEFAULT_wxUSE_UNICODE=1
781 DEFAULT_wxUSE_WCSRTOMBS=0
783 dnl ----------------------------------------------------------------
785 dnl ----------------------------------------------------------------
787 AC_OVERRIDES(gtk,gtk,
788 **--with-gtk use GTK,
795 AC_OVERRIDES(motif,motif,
796 **--with-motif use Motif/Lesstif,
799 dnl ----------------------------------------------------------------
801 dnl ----------------------------------------------------------------
803 AC_OVERRIDES(shared,shared,
804 **--with-shared create shared libraries,
807 AC_OVERRIDES(optimise,optimise,
808 **--with-optimise create optimised code,
811 AC_OVERRIDES(debug_flag,debug_flag,
812 **--with-debug_flag create code with WXDEBUG define set to 1,
815 AC_OVERRIDES(debug_info,debug_info,
816 **--with-debug_info create code with debuging information,
819 AC_OVERRIDES(debug_gdb,debug_gdb,
820 **--with-debug_gdb create code with extra GDB debuging information,
823 AC_OVERRIDES(mem_tracing,mem_tracing,
824 **--with-mem_traing create code with memory tracing,
827 AC_OVERRIDES(dmalloc,dmalloc,
828 **--with-dmalloc use dmalloc memory debug library (www.letters.com/dmalloc/),
831 AC_OVERRIDES(profile,profile,
832 **--with-profile create code with profiling information,
835 AC_OVERRIDES(apple_ieee, apple_ieee,
836 **--with_apple_ieee use the Apple IEEE codec,
839 AC_OVERRIDES(threads,threads,
840 **--with-threads for enabling threads,
843 dnl ----------------------------------------------------------------
844 dnl user options for libraries
845 dnl ----------------------------------------------------------------
847 AC_OVERRIDES(zlib,zlib,
848 **--with-zlib use zlib for LZW comression,
851 AC_OVERRIDES(libpng,libpng,
852 **--with-libpng use libpng (PNG image format),
855 AC_OVERRIDES(libjpeg,libjpeg,
856 **--with-libjpeg use libjpeg (JPEG image format),
859 AC_OVERRIDES(odbc,odbc,
860 **--with-odbc use iODBC and wxODBC classes,
863 dnl ----------------------------------------------------------------
864 dnl user options for non-GUI classes
865 dnl ----------------------------------------------------------------
867 AC_OVERRIDES(timedate, timedate,
868 **--with-timedate use wxTime and wxDate classes,
871 AC_OVERRIDES(intl,intl,
872 **--with-intl use internationalization system,
875 AC_OVERRIDES(config,config,
876 **--with-config use wxConfig class,
879 AC_OVERRIDES(streams,streams,
880 **--with-streams use wxStream etc classes,
883 AC_OVERRIDES(serial,serial,
884 **--with-serial use class serialization,
887 dnl ----------------------------------------------------------------
888 dnl user options for PostScript
889 dnl ----------------------------------------------------------------
891 AC_OVERRIDES(afmfonts,afmfonts,
892 **--with-afmfonts use Adobe Font Metric Font table,
893 wxUSE_AFM_FOR_POSTSCRIPT)
895 AC_OVERRIDES(normalized, normalized,
896 **--with-PS-normalized use normalized PS fonts,
897 WX_NORMALIZED_PS_FONTS)
899 AC_OVERRIDES(postscript, postscript,
900 **--with-postscript use wxPostscriptDC device context,
903 dnl ----------------------------------------------------------------
904 dnl user options for wxString and Unicode
905 dnl ----------------------------------------------------------------
907 AC_OVERRIDES(unicode,unicode,
908 **--with-unicode compile wxString with Unicode support,
911 AC_OVERRIDES(wcsrtombs,wcsrtombs,
912 **--with-wcsrtombs use wcsrtombs instead of (buggy in GNU libc5) wcstombs,
915 dnl ----------------------------------------------------------------
916 dnl user options for Prolog and Resources
917 dnl ----------------------------------------------------------------
919 AC_OVERRIDES(wxresources,wxresources,
920 **--with-wxresources use wxWindows's resources,
923 AC_OVERRIDES(prologio,prologio,
924 **--with-prologio use Prolog IO library,
927 AC_OVERRIDES(rpc,RPC,
928 **--with-rpc use Prolog's remote procedure calls,
931 dnl ----------------------------------------------------------------
932 dnl user options for misc stuff
933 dnl ----------------------------------------------------------------
935 AC_OVERRIDES(ipc,IPC,
936 **--with-ipc use interprocess communication (wxSocket etc.),
939 AC_OVERRIDES(resources,resources,
940 **--with-resources use X resources for saving information,
943 AC_OVERRIDES(clipboard,clipboard,
944 **--with-clipboard use wxClipboard classes,
947 AC_OVERRIDES(tooltips,tooltips,
948 **--with-tooltips use tooltips,
951 AC_OVERRIDES(dnd,dnd,
952 **--with-dnd use Drag'n'Drop classes,
955 dnl ----------------------------------------------------------------
956 dnl user options for architectures
957 dnl ----------------------------------------------------------------
959 AC_OVERRIDES(mdi,mdi,
960 **--with-mdi use multiple document interface architecture,
961 wxUSE_MDI_ARCHITECTURE)
963 AC_OVERRIDES(docview,docview,
964 **--with-docview use document view architecture,
965 wxUSE_DOC_VIEW_ARCHITECTURE)
967 AC_OVERRIDES(printarch,printarch,
968 **--with-printarch use printing architecture,
969 wxUSE_PRINTING_ARCHITECTURE)
971 AC_OVERRIDES(help,help,
972 **--with-help use help (using external browser at present),
975 dnl ----------------------------------------------------------------
977 dnl ----------------------------------------------------------------
979 if test "$wxUSE_UNIX" = 1 ; then
983 dnl ----------------------------------------------------------------
984 dnl Linux: test for libc5/glibc2: glibc2 has gettext() included
985 dnl ----------------------------------------------------------------
986 if test "$USE_LINUX" = 1; then
987 AC_CHECK_LIB(c,gettext,AC_DEFINE(wxHAVE_GLIBC2))
990 dnl ----------------------------------------------------------------
991 dnl search for toolkit (widget sets)
992 dnl ----------------------------------------------------------------
1005 if test "$wxUSE_GTK" = 1; then
1006 AM_PATH_GTK(1.0.4, [
1007 GUI_TK_INCLUDE="$GTK_CFLAGS"
1008 GUI_TK_LIBRARY="$GTK_LIBS"
1009 ], AC_MSG_ERROR(Is gtk-config in path and GTK+ is version 1.0.4 up-to 1.0.6?))
1011 TOOLKIT_DEF=__WXGTK__
1013 MAKEINCLUDE=../gtk.inc
1016 if test "$wxUSE_QT" = 1; then
1017 AC_MSG_CHECKING(for Qt includes)
1018 AC_PATH_FIND_INCLUDES($SEARCH_INCLUDE,qapp.h)
1019 if test "$ac_find_includes" != "" ; then
1020 AC_MSG_RESULT(found $ac_find_includes)
1021 AC_MSG_CHECKING(for Qt library)
1022 AC_PATH_FIND_LIBRARIES($SEARCH_LIB,qt)
1023 if test "$ac_find_libraries" != "" ; then
1024 AC_INCLUDE_PATH_EXIST($ac_find_includes,$CHECK_INCLUDE)
1025 AC_LINK_PATH_EXIST($ac_find_libraries,$CHECK_LIB)
1026 CHECK_LINK="$CHECK_INCLUDE $ac_path_to_link"
1027 CHECK_INCLUDE="$CHECK_INCLUDE $ac_path_to_include"
1028 AC_MSG_RESULT(found Qt at $ac_find_libraries)
1035 GUI_TK_LINK="-lX11 -lqt -lm"
1037 TOOLKIT_DEF=__WXQT__
1039 MAKEINCLUDE=../qt.inc
1042 if test "$wxUSE_MOTIF" = 1; then
1043 AC_MSG_CHECKING(for Motif/Lesstif includes)
1044 AC_PATH_FIND_INCLUDES($SEARCH_INCLUDE,Xm.h)
1045 if test "$ac_find_includes" != "" ; then
1046 AC_MSG_RESULT(found $ac_find_includes)
1047 AC_MSG_CHECKING(for Motif/Lesstif library)
1048 AC_PATH_FIND_LIBRARIES($SEARCH_LIB,Xm)
1049 if test "$ac_find_libraries" != "" ; then
1050 AC_INCLUDE_PATH_EXIST($ac_find_includes,$CHECK_INCLUDE)
1051 AC_LINK_PATH_EXIST($ac_find_libraries,$CHECK_LIB)
1052 CHECK_LINK="$CHECK_LIB $ac_path_to_link"
1053 CHECK_INCLUDE="$CHECK_INCLUDE $ac_path_to_include"
1054 AC_MSG_RESULT(found at $ac_find_libraries)
1055 AC_MSG_CHECKING(for Xt library)
1056 AC_PATH_FIND_LIBRARIES($SEARCH_LIB,Xt)
1057 if test "$ac_find_libraries" != "" ; then
1058 AC_LINK_PATH_EXIST($ac_find_libraries,$CHECK_LIB)
1059 CHECK_LINK="$CHECK_LIB $ac_path_to_link"
1060 AC_MSG_RESULT(found at $ac_find_libraries)
1061 AC_MSG_CHECKING(for Xpm library)
1062 AC_PATH_FIND_LIBRARIES($SEARCH_LIB,Xpm)
1063 if test "$ac_find_libraries" != "" ; then
1064 AC_LINK_PATH_EXIST($ac_find_libraries,$CHECK_LIB)
1065 CHECK_LINK="$CHECK_LIB $ac_path_to_link"
1066 AC_MSG_RESULT(found at $ac_find_libraries)
1080 GUI_TK_LINK="-lXm -lXpm -lXmu -lXt -lX11 -lm"
1081 GUI_TK_LIBRARY="$CHECK_LIB $GUI_TK_LINK"
1083 TOOLKIT_DEF="__WXMOTIF__ -D__LINUX__ -D__UNIX__"
1085 MAKEINCLUDE=../motif.inc
1088 if test "$TOOLKIT" = ""; then
1089 AC_MSG_ERROR(You must specify a toolkit: --with-gtk --with-qt --with-motif)
1092 AC_SUBST(GUI_TK_INCLUDE)
1093 AC_SUBST(GUI_TK_LIBRARY)
1094 AC_SUBST(GUI_TK_LINK)
1099 AC_SUBST(TOOLKIT_DEF)
1101 AC_SUBST(MAKEINCLUDE)
1103 dnl ----------------------------------------------------------------
1104 dnl Register compile options for makefiles and setup.h
1105 dnl ----------------------------------------------------------------
1110 if test "$wxUSE_DEBUG_GDB" = 1 ; then
1115 if test "$wxUSE_DEBUG_INFO" = 1 ; then
1119 EXTRA_LINK="-s $EXTRA_LINK"
1124 if test "$wxUSE_DEBUG_FLAG" = 1 ; then
1125 AC_DEFINE_UNQUOTED(WXDEBUG,$wxUSE_DEBUG_FLAG)
1126 WXDEBUG_DEFINE="-D__WXDEBUG__"
1127 AC_SUBST(WXDEBUG_DEFINE)
1129 WXDEBUG_DEFINE="-DGTK_NO_CHECK_CASTS"
1130 AC_SUBST(WXDEBUG_DEFINE)
1133 if test "$wxUSE_MEM_TRACING" = 1 ; then
1134 AC_DEFINE_UNQUOTED(wxUSE_MEMORY_TRACING,$wxUSE_MEM_TRACING)
1135 AC_DEFINE_UNQUOTED(wxUSE_GLOBAL_MEMORY_OPERATORS,$wxUSE_MEM_TRACING)
1138 if test "$wxUSE_DMALLOC" = 1 ; then
1139 EXTRA_LINK="$EXTRA_LINK -ldmalloc"
1141 AC_SUBST(EXTRA_LINK)
1144 if test "$wxUSE_PROFILE" = 1 ; then
1149 CXXFLAGS=`echo "${CXXFLAGS}" | sed "s/\-O.//g" `
1150 CFLAGS=`echo "${CFLAGS}" | sed "s/\-O.//g" `
1151 if test "$wxUSE_OPTIMISE" = 0 ; then
1154 if test "$GCC" = yes ; then
1156 case "${canonical}" in
1158 OPTIMISE="${OPTIMISE} "
1168 if test "$wxUSE_APPLE_IEEE" = 1 ; then
1169 APPLE_IEEE="APPLE_IEEE"
1170 AC_DEFINE_UNQUOTED(wxUSE_APPLE_IEEE,$wxUSE_APPLE_IEEE)
1173 wxUSE_IOSTREAMH=$DEFAULT_wxUSE_IOSTREAMH
1174 AC_DEFINE_UNQUOTED(wxUSE_IOSTREAMH,$wxUSE_IOSTREAMH)
1176 dnl ----------------------------------------------------------------
1177 dnl Register library options for makefiles and setup.h
1178 dnl ----------------------------------------------------------------
1180 if test "$wxUSE_ZLIB" = 1 ; then
1181 AC_DEFINE_UNQUOTED(wxUSE_ZLIB,$wxUSE_ZLIB)
1182 Z_C_SRC="\$(Z_C_SRC)"
1186 if test "$wxUSE_LIBPNG" = 1 ; then
1187 AC_DEFINE_UNQUOTED(wxUSE_LIBPNG,$wxUSE_LIBPNG)
1188 PNG_C_SRC="\$(PNG_C_SRC)"
1193 if test "$wxUSE_LIBJPEG" = 1 ; then
1194 AC_DEFINE_UNQUOTED(wxUSE_LIBJPEG,$wxUSE_LIBJPEG)
1195 AC_HAVE_LIBRARY(jpeg)
1201 if test "$wxUSE_ODBC" = 1 ; then
1202 AC_DEFINE_UNQUOTED(wxUSE_ODBC,$wxUSE_ODBC)
1203 IODBC_C_SRC="\$(IODBC_C_SRC)"
1205 AC_SUBST(IODBC_C_SRC)
1207 dnl ----------------------------------------------------------------
1208 dnl Register non-GUI class options for makefiles and setup.h
1209 dnl ----------------------------------------------------------------
1211 if test "$wxUSE_CONFIG" = 1 ; then
1212 AC_DEFINE_UNQUOTED(wxUSE_CONFIG,$wxUSE_CONFIG)
1215 if test "$wxUSE_TIMEDATE" = 1 ; then
1216 AC_DEFINE_UNQUOTED(wxUSE_TIMEDATE,$wxUSE_TIMEDATE)
1219 if test "$wxUSE_INTL" = 1 ; then
1220 AC_DEFINE_UNQUOTED(wxUSE_INTL,$wxUSE_INTL)
1223 if test "$wxUSE_STREAMS" = 1 ; then
1224 AC_DEFINE_UNQUOTED(wxUSE_STREAMS,$wxUSE_STREAMS)
1227 if test "$wxUSE_SERIAL" = 1 ; then
1228 AC_DEFINE_UNQUOTED(wxUSE_SERIAL,$wxUSE_SERIAL)
1231 dnl ----------------------------------------------------------------
1232 dnl Register Prolog and Resources options for makefiles and setup.h
1233 dnl ----------------------------------------------------------------
1235 if test "$wxUSE_RPC" = 1 ; then
1236 AC_DEFINE_UNQUOTED(wxUSE_RPC,$wxUSE_RPC)
1239 if test "$wxUSE_WX_RESOURCES" = 1 ; then
1240 AC_DEFINE_UNQUOTED(wxUSE_WX_RESOURCES,$wxUSE_WX_RESOURCES)
1243 if test "$wxUSE_PROLOGIO" = 1 ; then
1244 AC_DEFINE_UNQUOTED(wxUSE_PROLOGIO)
1247 dnl ----------------------------------------------------------------
1248 dnl Register PostScript options for makefiles and setup.h
1249 dnl ----------------------------------------------------------------
1251 if test "$wxUSE_POSTSCRIPT" = 1 ; then
1252 AC_DEFINE_UNQUOTED(wxUSE_POSTSCRIPT)
1255 AC_DEFINE_UNQUOTED(wxUSE_AFM_FOR_POSTSCRIPT,$wxUSE_AFM_FOR_POSTSCRIPT)
1257 AC_DEFINE_UNQUOTED(WX_NORMALIZED_PS_FONTS,$WX_NORMALIZED_PS_FONTS)
1259 dnl ----------------------------------------------------------------
1260 dnl Register architecture options for makefiles and setup.h
1261 dnl ----------------------------------------------------------------
1263 if test "$wxUSE_MDI_ARCHITECTURE" = 1 ; then
1264 AC_DEFINE_UNQUOTED(wxUSE_MDI_ARCHITECTURE,$wxUSE_MDI_ARCHITECTURE)
1267 if test "$wxUSE_DOC_VIEW_ARCHITECTURE" = 1 ; then
1268 AC_DEFINE_UNQUOTED(wxUSE_DOC_VIEW_ARCHITECTURE,$wxUSE_DOC_VIEW_ARCHITECTURE)
1271 if test "$wxUSE_PRINTING_ARCHITECTURE" = 1 ; then
1272 AC_DEFINE_UNQUOTED(wxUSE_PRINTING_ARCHITECTURE,$wxUSE_PRINTING_ARCHITECTURE)
1275 dnl ----------------------------------------------------------------
1276 dnl Register wxString options for makefiles and setup.h
1277 dnl ----------------------------------------------------------------
1279 if test "$wxUSE_UNICODE" = 1 ; then
1280 AC_DEFINE_UNQUOTED(wxUSE_UNICODE)
1283 if test "$wxUSE_WCSRTOMBS" = 1 ; then
1284 AC_DEFINE_UNQUOTED(wxUSE_WCSRTOMBS)
1287 dnl ----------------------------------------------------------------
1288 dnl Register misc options for makefiles and setup.h
1289 dnl ----------------------------------------------------------------
1291 if test "$wxUSE_IPC" = 1 ; then
1292 AC_DEFINE_UNQUOTED(wxUSE_IPC)
1295 if test "$wxUSE_RESOURCES" = 1 ; then
1296 AC_DEFINE_UNQUOTED(wxUSE_RESOURCES,$wxUSE_RESOURCES)
1299 if test "$wxUSE_CLIPBOARD" = 1 ; then
1300 AC_DEFINE_UNQUOTED(wxUSE_CLIPBOARD,$wxUSE_CLIPBOARD)
1303 if test "$wxUSE_TOOLTIPS" = 1 ; then
1304 AC_DEFINE_UNQUOTED(wxUSE_TOOLTIPS,$wxUSE_TOOLTIPS)
1307 if test "$wxUSE_DRAG_AND_DROP" = 1 ; then
1308 AC_DEFINE_UNQUOTED(wxUSE_DRAG_AND_DROP,$wxUSE_DRAG_AND_DROP)
1311 dnl ----------------------------------------------------------------
1313 dnl ----------------------------------------------------------------
1316 if test "$wxUSE_HELP" = 1 ; then
1318 AC_DEFINE_UNQUOTED(wxUSE_HELP,$wxUSE_HELP)
1322 dnl ----------------------------------------------------------------
1324 dnl ----------------------------------------------------------------
1329 if test "$wxUSE_THREADS" = "1"; then
1331 dnl For glibc 2 users who have the old libc 5 too
1333 AC_CHECK_LIB(pthread-0.7, pthread_create, [
1334 UNIX_THREAD="gtk/threadpsx.cpp"
1335 THREADS_LINK="-lpthread-0.7"
1337 AC_CHECK_HEADER(sys/prctl.h, [
1338 UNIX_THREAD="gtk/threadsgi.cpp"
1341 dnl pthread_create is always available in pthread but it seems not to be
1342 dnl the case for pthread_setcanceltype.
1344 AC_CHECK_LIB(pthread, pthread_setcanceltype, [
1345 UNIX_THREAD="gtk/threadpsx.cpp"
1346 THREADS_LINK="-lpthread"
1350 if test "$THREADS_LINK" != ""; then
1351 AC_DEFINE(wxUSE_THREADS)
1354 dnl -lposix4 seems to be required on Solaris
1356 AC_CHECK_LIB(posix4, printf, [
1357 THREADS_LINK="$THREADS_LINK -lposix4"
1362 if test "$wxUSE_MOTIF" = "1"; then
1363 UNIX_THREAD="motif/thread.cpp"
1366 if test -z "$UNIX_THREAD"; then
1370 AC_SUBST(UNIX_THREAD)
1371 AC_SUBST(THREADS_LINK)
1373 dnl defines UNIX_THREAD it contains the source file to use for threads. (GL)
1374 dnl defines THREADS_LINK it contains the thread library to link with. (GL)
1375 dnl defines wxUSE_THREADS if thread support is activated. (GL)
1377 dnl ------------------------------------------------------------------------
1378 dnl compiler options for shared libs
1379 dnl ------------------------------------------------------------------------
1383 case "${canonical}" in
1386 if test "$GCC" != "yes" ; then
1387 CXXFLAGS="${CXXFLAGS} +a1 -z -Aa -D_HPUX_SOURCE"
1388 CFLAGS="${CFLAGS} -z -D_HPUX_SOURCE"
1394 CREATE_SHARED=sharedHpux
1399 CREATE_SHARED=sharedLinux
1402 *-*-irix5* | *-*-irix6* )
1403 # PICFLAGS can remain empty, as pic is the default
1405 CREATE_SHARED=sharedIrix
1410 if test "$GCC" != "yes" ; then
1415 CREATE_SHARED=sharedSolaris2
1420 if test "$GCC" != "yes" ; then
1426 CREATE_SHARED=sharedSunos4
1430 *-*-freebsd* | *-*-netbsd*)
1432 CREATE_SHARED=sharedBsd
1438 CREATE_SHARED=sharedOSF
1442 if test "$GCC" != "yes" ; then
1447 CREATE_SHARED=sharedDgux
1452 if test "$GCC" != "yes" ; then
1457 CREATE_SHARED=sharedSysV
1462 if test "$GCC" != "yes" ; then
1467 CREATE_SHARED=sharedAIX
1476 if test "x$GCC" = xyes; then
1477 CFLAGS="${CFLAGS} -Wall -Wno-unused -Wno-uninitialized -D_REENTRANT -DLEX_SCANNER -DHAVE_LIBDL"
1480 if test "x$GXX" = xyes; then
1481 if test "$wxUSE_MOTIF" = 1; then
1482 CXXFLAGS="${CXXFLAGS} -Wall -Wno-unused -D_REENTRANT"
1484 CXXFLAGS="${CXXFLAGS} -Wall -D_REENTRANT"
1488 if test "$wxUSE_SHARED" != 1; then
1495 AC_SUBST(CREATE_SHARED)
1497 dnl ------------------------------------------------------------------------
1498 dnl finish and clean-up
1499 dnl ------------------------------------------------------------------------
1501 dnl add OS to list of configured
1502 echo $OS >> system.list
1504 AC_CONFIG_HEADER(./include/wx/gtk/setup.h:./setup/setup.hin)
1505 AC_OUTPUT(./setup/substit ./wx-config:./wx-config.in,./setup/general/createall)