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
453 dnl check for several standard functions we use if they are available
454 AC_CHECK_FUNCS(vsnprintf vfork)
456 dnl check for usleep() and nanosleep() which is better in MT programs
457 dnl AC_CHECK_FUNCS(nanosleep, AC_DEFINE(HAVE_NANOSLEEP),
459 dnl AC_CHECK_LIB(posix4, nanosleep,
460 dnl AC_DEFINE(HAVE_NANOSLEEP),
461 dnl AC_CHECK_FUNCS(usleep))
464 AC_CHECK_FUNCS(nanosleep, AC_DEFINE(HAVE_NANOSLEEP),
465 [AC_CHECK_LIB(posix4, nanosleep, AC_DEFINE(HAVE_NANOSLEEP),
466 [AC_CHECK_FUNCS(usleep, AC_DEFINE(HAVE_USLEEP),
467 AC_MSG_WARN(Sleep() function will not work)
472 dnl check for uname (POSIX) and gethostname (BSD)
473 AC_CHECK_FUNCS(uname gethostname, break)
477 AC_CHECK_HEADERS(iostream)
478 if test "x$HAVE_IOSTREAM" = "x" ; then
479 AC_DEFINE(wxUSE_IOSTREAMH)
483 dnl defines HAVE_IOSTREAM
484 dnl ###################
485 dnl # checks typedefs #
486 dnl ###################
488 dnl defines GETGROUPS_T
490 dnl defines mode_t if not already defined
492 dnl defines off_t if not already defined
494 dnl defines pid_t if not already defined
496 dnl defines RETSIGTYPE for the correct return type of signal
498 dnl defines size_t if not already defined
500 dnl defines uid_t and gid_t if not already defined
502 dnl #####################
503 dnl # checks structures #
504 dnl #####################
507 dnl defines STAT_MACROS_BROKEN if S_ISDIR and S_ISREG
508 dnl do not work properly
510 dnl defines TIME_WITH_SYS_TIME if time.h and sys/time.h can
513 dnl defines HAVE_ST_BLKSIZE if struct stat contains st_blksize
515 dnl defines HAVE_ST_BLOCKS if struct stat contains st_blocks
517 dnl defines HAVE_ST_RDEV if struct stat contains st_rdev
519 dnl defines TM_IN_SYS_TIME if struct tm is not in time.h
521 dnl defines HAVE_ST_BLKSIZE if struct tm contains tm_zone
523 dnl defines HAVE_TZNAME if external array tzname is found
525 dnl ###################################
526 dnl # checks compiler characteristics #
527 dnl ###################################
531 dnl defines const to be empty if c-compiler does not support const fully
533 dnl defines inline to a sensible value for the c-compiler
535 dnl defines __CHAR_UNSIGNED__ if char is unsigned
537 dnl defines HAVE_LONGDOUBLE if compiler supports long double
540 dnl defines WORDS_BIGENDIAN if system is big endian
542 AC_CHECK_SIZEOF(int *)
544 AC_CHECK_SIZEOF(long)
545 AC_CHECK_SIZEOF(long long)
546 dnl defines the size of certain types of variables in SIZEOF_???
548 dnl ############################
549 dnl # checks library functions #
550 dnl ############################
552 dnl ##########################
553 dnl # checks system services #
554 dnl ##########################
557 AC_SYS_LONG_FILE_NAMES
558 dnl defines HAVE_LONG_FILENAMES if filenames longer then
559 dnl 14 chars are supported
561 dnl AC_SYS_RESTARTABLE_SYSCALLS
562 dnl defines HAVE_RESTARTABLE_SYSCALLS if the system restarts a
563 dnl system call that is interrupted
566 dnl #################
567 dnl # checks PARSER #
568 dnl #################
573 dnl defines YACC with the appropriate command
578 dnl defines LEX with the appropriate command
579 dnl defines LEXLIB with the appropriate library
580 dnl what type is yytext
582 dnl defines YYTEXT_POINTER if yytext is char*
583 dnl defines LEX_OUTPUT_ROOT as to the base of the
584 dnl filename output by the lexer
586 dnl ###################################
587 dnl ## Check for dynamic load module #
588 dnl ###################################
591 AC_CHECK_FUNCS(dlopen, AC_DEFINE(HAVE_LIBDL),
592 [AC_CHECK_LIB(dl, dlopen, [AC_DEFINE(HAVE_LIBDL) DL_LIBRARY="-ldl"],
593 [AC_CHECK_LIB(dld, dld_link, [AC_DEFINE(HAVE_DLD) DL_LIBRARY="-ldld"],
594 [AC_CHECK_FUNCS(shl_load, AC_DEFINE(HAVE_SHL_LOAD) )]
600 AC_CACHE_CHECK([for underscore before symbols], libltdl_cv_uscore, [
601 echo "main(){int i=1;} fnord(){int i=23; int ltuae=42;}" > conftest.c
602 ${CC} -c conftest.c > /dev/null
603 if (nm conftest.o | grep _fnord) > /dev/null; then
604 libltdl_cv_uscore=yes
611 if test x"$libltdl_cv_uscore" = xyes; then
612 if test x"$ac_cv_func_dlopen" = xyes ||
613 test x"$ac_cv_lib_dl_dlopen" = xyes ; then
614 AC_CACHE_CHECK([whether we have to add an underscore for dlsym],
615 libltdl_cv_need_uscore, [dnl
620 main() { void *self, *ptr1, *ptr2; self=dlopen(NULL,RTLD_LAZY);
621 if(self) { ptr1=dlsym(self,"fnord"); ptr2=dlsym(self,"_fnord");
622 if(ptr1 && !ptr2) exit(0); } exit(1); }
623 ], libltdl_cv_need_uscore=no, libltdl_cv_need_uscore=yes,
624 libltdl_cv_need_uscore=no
629 if test x"$libltdl_cv_need_uscore" = xyes; then
630 AC_DEFINE(NEED_USCORE)
633 dnl ##########################################
634 dnl ## Check for specific library functions #
635 dnl ##########################################
637 dnl Checks for library functions.
638 AC_CHECK_FUNCS(strerror)
640 dnl ------------------------------------------------------------------------
642 dnl ------------------------------------------------------------------------
644 CHECK_INCLUDE="-I/usr/include $X_CFLAGS"
645 CHECK_LIB="-L/lib -L/usr/lib $X_LIBS"
647 dnl ------------------------------------------------------------------------
649 dnl ------------------------------------------------------------------------
653 configuration=$host_alias
655 dnl ------------------------------------------------------------------------
657 dnl ------------------------------------------------------------------------
679 case "${canonical}" in
688 if test "x$TMP" = "xalpha"
694 *-*-irix5* | *-*-irix6* )
705 AC_DEFINE(__SOLARIS__)
716 *-*-freebsd* | *-*-netbsd*)
719 AC_DEFINE(__FREEBSD__)
749 AC_MSG_ERROR(I don't know your system type.)
752 dnl ------------------------------------------------------------------------
753 dnl defaults for command options
754 dnl ------------------------------------------------------------------------
760 DEFAULT_wxUSE_MOTIF=0
762 DEFAULT_wxUSE_THREADS=0
764 DEFAULT_wxUSE_SHARED=1
765 DEFAULT_wxUSE_OPTIMISE=1
766 DEFAULT_wxUSE_PROFILE=0
767 DEFAULT_wxUSE_DEBUG_FLAG=0
768 DEFAULT_wxUSE_DEBUG_INFO=0
769 DEFAULT_wxUSE_MEM_TRACING=0
770 DEFAULT_wxUSE_DMALLOC=0
771 DEFAULT_wxUSE_APPLE_IEEE=1
772 DEFAULT_wxUSE_IOSTREAMH=1
775 DEFAULT_wxUSE_LIBPNG=1
776 DEFAULT_wxUSE_LIBJPEG=0
779 DEFAULT_wxUSE_TIMEDATE=1
781 DEFAULT_wxUSE_CONFIG=1
782 DEFAULT_wxUSE_STREAMS=1
783 DEFAULT_wxUSE_SOCKETS=1
784 DEFAULT_wxUSE_SERIAL=1
785 DEFAULT_wxUSE_DYNLIB_CLASS=1
787 DEFAULT_wxUSE_AFM_FOR_POSTSCRIPT=1
788 DEFAULT_WX_NORMALIZED_PS_FONTS=1
789 DEFAULT_wxUSE_POSTSCRIPT=1
792 DEFAULT_wxUSE_RESOURCES=1
793 DEFAULT_wxUSE_CLIPBOARD=1
794 DEFAULT_wxUSE_TOOLTIPS=1
795 DEFAULT_wxUSE_DRAG_AND_DROP=1
797 DEFAULT_wxUSE_MDI_ARCHITECTURE=1
798 DEFAULT_wxUSE_DOC_VIEW_ARCHITECTURE=1
799 DEFAULT_wxUSE_PRINTING_ARCHITECTURE=1
801 DEFAULT_wxUSE_PROLOGIO=1
802 DEFAULT_wxUSE_WX_RESOURCES=1
806 DEFAULT_wxUSE_UNICODE=1
807 DEFAULT_wxUSE_WCSRTOMBS=0
809 dnl ----------------------------------------------------------------
811 dnl ----------------------------------------------------------------
813 AC_OVERRIDES(gtk,gtk,
814 **--with-gtk use GTK,
821 AC_OVERRIDES(motif,motif,
822 **--with-motif use Motif/Lesstif,
825 dnl ----------------------------------------------------------------
827 dnl ----------------------------------------------------------------
829 AC_OVERRIDES(shared,shared,
830 **--with-shared create shared libraries,
833 AC_OVERRIDES(optimise,optimise,
834 **--with-optimise create optimised code,
837 AC_OVERRIDES(debug_flag,debug_flag,
838 **--with-debug_flag create code with WXDEBUG define set to 1,
841 AC_OVERRIDES(debug_info,debug_info,
842 **--with-debug_info create code with debuging information,
845 AC_OVERRIDES(debug_gdb,debug_gdb,
846 **--with-debug_gdb create code with extra GDB debuging information,
849 AC_OVERRIDES(mem_tracing,mem_tracing,
850 **--with-mem_traing create code with memory tracing,
853 AC_OVERRIDES(dmalloc,dmalloc,
854 **--with-dmalloc use dmalloc memory debug library (www.letters.com/dmalloc/),
857 AC_OVERRIDES(profile,profile,
858 **--with-profile create code with profiling information,
861 AC_OVERRIDES(apple_ieee, apple_ieee,
862 **--with_apple_ieee use the Apple IEEE codec,
865 AC_OVERRIDES(threads,threads,
866 **--with-threads for enabling threads,
869 AC_OVERRIDES(dynlib,dynlib,
870 **--with-dynlib to compile wxLibrary class,
873 dnl ----------------------------------------------------------------
874 dnl user options for libraries
875 dnl ----------------------------------------------------------------
877 AC_OVERRIDES(zlib,zlib,
878 **--with-zlib use zlib for LZW comression,
881 AC_OVERRIDES(libpng,libpng,
882 **--with-libpng use libpng (PNG image format),
885 AC_OVERRIDES(libjpeg,libjpeg,
886 **--with-libjpeg use libjpeg (JPEG image format),
889 AC_OVERRIDES(odbc,odbc,
890 **--with-odbc use iODBC and wxODBC classes,
893 dnl ----------------------------------------------------------------
894 dnl user options for non-GUI classes
895 dnl ----------------------------------------------------------------
897 AC_OVERRIDES(timedate, timedate,
898 **--with-timedate use wxTime and wxDate classes,
901 AC_OVERRIDES(intl,intl,
902 **--with-intl use internationalization system,
905 AC_OVERRIDES(config,config,
906 **--with-config use wxConfig class,
909 AC_OVERRIDES(streams,streams,
910 **--with-streams use wxStream etc classes,
913 AC_OVERRIDES(serial,serial,
914 **--with-serial use class serialization,
917 AC_OVERRIDES(sockets,sockets,
918 **--with-sockets use wxSocket etc classes,
921 dnl ----------------------------------------------------------------
922 dnl user options for PostScript
923 dnl ----------------------------------------------------------------
925 AC_OVERRIDES(afmfonts,afmfonts,
926 **--with-afmfonts use Adobe Font Metric Font table,
927 wxUSE_AFM_FOR_POSTSCRIPT)
929 AC_OVERRIDES(normalized, normalized,
930 **--with-PS-normalized use normalized PS fonts,
931 WX_NORMALIZED_PS_FONTS)
933 AC_OVERRIDES(postscript, postscript,
934 **--with-postscript use wxPostscriptDC device context,
937 dnl ----------------------------------------------------------------
938 dnl user options for wxString and Unicode
939 dnl ----------------------------------------------------------------
941 AC_OVERRIDES(unicode,unicode,
942 **--with-unicode compile wxString with Unicode support,
945 AC_OVERRIDES(wcsrtombs,wcsrtombs,
946 **--with-wcsrtombs use wcsrtombs instead of (buggy in GNU libc5) wcstombs,
949 dnl ----------------------------------------------------------------
950 dnl user options for Prolog and Resources
951 dnl ----------------------------------------------------------------
953 AC_OVERRIDES(wxresources,wxresources,
954 **--with-wxresources use wxWindows's resources,
957 AC_OVERRIDES(prologio,prologio,
958 **--with-prologio use Prolog IO library,
961 AC_OVERRIDES(rpc,RPC,
962 **--with-rpc use Prolog's remote procedure calls,
965 dnl ----------------------------------------------------------------
966 dnl user options for misc stuff
967 dnl ----------------------------------------------------------------
969 AC_OVERRIDES(ipc,IPC,
970 **--with-ipc use interprocess communication (wxSocket etc.),
973 AC_OVERRIDES(resources,resources,
974 **--with-resources use X resources for saving information,
977 AC_OVERRIDES(clipboard,clipboard,
978 **--with-clipboard use wxClipboard classes,
981 AC_OVERRIDES(tooltips,tooltips,
982 **--with-tooltips use tooltips,
985 AC_OVERRIDES(dnd,dnd,
986 **--with-dnd use Drag'n'Drop classes,
989 dnl ----------------------------------------------------------------
990 dnl user options for architectures
991 dnl ----------------------------------------------------------------
993 AC_OVERRIDES(mdi,mdi,
994 **--with-mdi use multiple document interface architecture,
995 wxUSE_MDI_ARCHITECTURE)
997 AC_OVERRIDES(docview,docview,
998 **--with-docview use document view architecture,
999 wxUSE_DOC_VIEW_ARCHITECTURE)
1001 AC_OVERRIDES(printarch,printarch,
1002 **--with-printarch use printing architecture,
1003 wxUSE_PRINTING_ARCHITECTURE)
1005 AC_OVERRIDES(help,help,
1006 **--with-help use help (using external browser at present),
1009 dnl ----------------------------------------------------------------
1011 dnl ----------------------------------------------------------------
1013 if test "$wxUSE_UNIX" = 1 ; then
1017 dnl ----------------------------------------------------------------
1018 dnl Linux: test for libc5/glibc2: glibc2 has gettext() included
1019 dnl ----------------------------------------------------------------
1020 if test "$USE_LINUX" = 1; then
1021 AC_CHECK_LIB(c,gettext,AC_DEFINE(wxHAVE_GLIBC2))
1024 dnl ----------------------------------------------------------------
1025 dnl search for toolkit (widget sets)
1026 dnl ----------------------------------------------------------------
1039 if test "$wxUSE_GTK" = 1; then
1040 AM_PATH_GTK(1.0.4, [
1041 GUI_TK_INCLUDE="$GTK_CFLAGS"
1042 GUI_TK_LIBRARY="$GTK_LIBS"
1043 ], AC_MSG_ERROR(Is gtk-config in path and GTK+ is version 1.0.4 up-to 1.0.6?))
1045 TOOLKIT_DEF=__WXGTK__
1047 MAKEINCLUDE=../gtk.inc
1050 if test "$wxUSE_QT" = 1; then
1051 AC_MSG_CHECKING(for Qt includes)
1052 AC_PATH_FIND_INCLUDES($SEARCH_INCLUDE,qapp.h)
1053 if test "$ac_find_includes" != "" ; then
1054 AC_MSG_RESULT(found $ac_find_includes)
1055 AC_MSG_CHECKING(for Qt library)
1056 AC_PATH_FIND_LIBRARIES($SEARCH_LIB,qt)
1057 if test "$ac_find_libraries" != "" ; then
1058 AC_INCLUDE_PATH_EXIST($ac_find_includes,$CHECK_INCLUDE)
1059 AC_LINK_PATH_EXIST($ac_find_libraries,$CHECK_LIB)
1060 CHECK_LINK="$CHECK_INCLUDE $ac_path_to_link"
1061 CHECK_INCLUDE="$CHECK_INCLUDE $ac_path_to_include"
1062 AC_MSG_RESULT(found Qt at $ac_find_libraries)
1069 GUI_TK_LINK="-lX11 -lqt -lm"
1071 TOOLKIT_DEF=__WXQT__
1073 MAKEINCLUDE=../qt.inc
1076 if test "$wxUSE_MOTIF" = 1; then
1077 AC_MSG_CHECKING(for Motif/Lesstif includes)
1078 AC_PATH_FIND_INCLUDES($SEARCH_INCLUDE,Xm/Xm.h)
1079 if test "$ac_find_includes" != "" ; then
1080 AC_MSG_RESULT(found $ac_find_includes)
1081 AC_MSG_CHECKING(for Motif/Lesstif library)
1082 AC_PATH_FIND_LIBRARIES($SEARCH_LIB,Xm)
1083 if test "$ac_find_libraries" != "" ; then
1084 AC_INCLUDE_PATH_EXIST($ac_find_includes,$CHECK_INCLUDE)
1085 AC_LINK_PATH_EXIST($ac_find_libraries,$CHECK_LIB)
1086 CHECK_LINK="$CHECK_LIB $ac_path_to_link"
1087 CHECK_INCLUDE="$CHECK_INCLUDE $ac_path_to_include"
1088 AC_MSG_RESULT(found at $ac_find_libraries)
1089 AC_MSG_CHECKING(for Xt library)
1090 AC_PATH_FIND_LIBRARIES($SEARCH_LIB,Xt)
1091 if test "$ac_find_libraries" != "" ; then
1092 AC_LINK_PATH_EXIST($ac_find_libraries,$CHECK_LIB)
1093 CHECK_LINK="$CHECK_LIB $ac_path_to_link"
1094 AC_MSG_RESULT(found at $ac_find_libraries)
1095 AC_MSG_CHECKING(for Xpm library)
1096 AC_PATH_FIND_LIBRARIES($SEARCH_LIB,Xpm)
1097 if test "$ac_find_libraries" != "" ; then
1098 AC_LINK_PATH_EXIST($ac_find_libraries,$CHECK_LIB)
1099 CHECK_LINK="$CHECK_LIB $ac_path_to_link"
1100 AC_MSG_RESULT(found at $ac_find_libraries)
1114 GUI_TK_LINK="-lXm -lXpm -lXmu -lXt -lX11 -lm"
1115 GUI_TK_LIBRARY="$CHECK_LIB $GUI_TK_LINK"
1117 TOOLKIT_DEF=__WXMOTIF__
1119 MAKEINCLUDE=../motif.inc
1122 if test "$TOOLKIT" = ""; then
1123 AC_MSG_ERROR(You must specify a toolkit: --with-gtk --with-qt --with-motif)
1126 AC_SUBST(GUI_TK_INCLUDE)
1127 AC_SUBST(GUI_TK_LIBRARY)
1128 AC_SUBST(GUI_TK_LINK)
1133 AC_SUBST(TOOLKIT_DEF)
1135 AC_SUBST(MAKEINCLUDE)
1137 dnl ----------------------------------------------------------------
1138 dnl Register compile options for makefiles and setup.h
1139 dnl ----------------------------------------------------------------
1144 if test "$wxUSE_DEBUG_GDB" = 1 ; then
1149 if test "$wxUSE_DEBUG_INFO" = 1 ; then
1153 EXTRA_LINK="-s $EXTRA_LINK"
1158 if test "$wxUSE_DEBUG_FLAG" = 1 ; then
1159 AC_DEFINE_UNQUOTED(WXDEBUG,$wxUSE_DEBUG_FLAG)
1160 WXDEBUG_DEFINE="-D__WXDEBUG__"
1161 AC_SUBST(WXDEBUG_DEFINE)
1163 WXDEBUG_DEFINE="-DGTK_NO_CHECK_CASTS"
1164 AC_SUBST(WXDEBUG_DEFINE)
1167 if test "$wxUSE_MEM_TRACING" = 1 ; then
1168 AC_DEFINE_UNQUOTED(wxUSE_MEMORY_TRACING,$wxUSE_MEM_TRACING)
1169 AC_DEFINE_UNQUOTED(wxUSE_GLOBAL_MEMORY_OPERATORS,$wxUSE_MEM_TRACING)
1172 if test "$wxUSE_DMALLOC" = 1 ; then
1173 EXTRA_LINK="$EXTRA_LINK -ldmalloc"
1175 AC_SUBST(EXTRA_LINK)
1178 if test "$wxUSE_PROFILE" = 1 ; then
1183 CXXFLAGS=`echo "${CXXFLAGS}" | sed "s/\-O.//g" `
1184 CFLAGS=`echo "${CFLAGS}" | sed "s/\-O.//g" `
1185 if test "$wxUSE_OPTIMISE" = 0 ; then
1188 if test "$GCC" = yes ; then
1190 case "${canonical}" in
1192 OPTIMISE="${OPTIMISE} "
1202 if test "$wxUSE_APPLE_IEEE" = 1 ; then
1203 APPLE_IEEE="APPLE_IEEE"
1204 AC_DEFINE_UNQUOTED(wxUSE_APPLE_IEEE,$wxUSE_APPLE_IEEE)
1207 wxUSE_IOSTREAMH=$DEFAULT_wxUSE_IOSTREAMH
1208 AC_DEFINE_UNQUOTED(wxUSE_IOSTREAMH,$wxUSE_IOSTREAMH)
1210 dnl ----------------------------------------------------------------
1211 dnl Register library options for makefiles and setup.h
1212 dnl ----------------------------------------------------------------
1214 if test "$wxUSE_ZLIB" = 1 ; then
1215 AC_DEFINE_UNQUOTED(wxUSE_ZLIB,$wxUSE_ZLIB)
1216 Z_C_SRC="\$(Z_C_SRC)"
1220 if test "$wxUSE_LIBPNG" = 1 ; then
1221 AC_DEFINE_UNQUOTED(wxUSE_LIBPNG,$wxUSE_LIBPNG)
1222 PNG_C_SRC="\$(PNG_C_SRC)"
1227 if test "$wxUSE_LIBJPEG" = 1 ; then
1228 AC_DEFINE_UNQUOTED(wxUSE_LIBJPEG,$wxUSE_LIBJPEG)
1229 AC_CHECK_LIB(jpeg,main,,AC_MSG_ERROR("libjpeg is not available."))
1235 if test "$wxUSE_ODBC" = 1 ; then
1236 AC_DEFINE_UNQUOTED(wxUSE_ODBC,$wxUSE_ODBC)
1237 IODBC_C_SRC="\$(IODBC_C_SRC)"
1239 AC_SUBST(IODBC_C_SRC)
1241 dnl ----------------------------------------------------------------
1242 dnl Register non-GUI class options for makefiles and setup.h
1243 dnl ----------------------------------------------------------------
1245 if test "$wxUSE_CONFIG" = 1 ; then
1246 AC_DEFINE_UNQUOTED(wxUSE_CONFIG,$wxUSE_CONFIG)
1249 if test "$wxUSE_TIMEDATE" = 1 ; then
1250 AC_DEFINE_UNQUOTED(wxUSE_TIMEDATE,$wxUSE_TIMEDATE)
1253 if test "$wxUSE_INTL" = 1 ; then
1254 AC_DEFINE_UNQUOTED(wxUSE_INTL,$wxUSE_INTL)
1257 if test "$wxUSE_STREAMS" = 1 ; then
1258 AC_DEFINE_UNQUOTED(wxUSE_STREAMS,$wxUSE_STREAMS)
1261 if test "$wxUSE_SOCKETS" = 1 ; then
1262 AC_DEFINE_UNQUOTED(wxUSE_SOCKETS,$wxUSE_SOCKETS)
1265 if test "$wxUSE_SERIAL" = 1 ; then
1266 AC_DEFINE_UNQUOTED(wxUSE_SERIAL,$wxUSE_SERIAL)
1269 dnl ------------------------------------------------------------------------
1271 dnl ------------------------------------------------------------------------
1274 if test "$wxUSE_DYNLIB_CLASS" = "1"; then
1275 dnl the test is a bit complicated because we check for dlopen() both with
1276 dnl and without -ldl
1277 AC_CHECK_FUNCS(dlopen,
1278 [AC_DEFINE(HAVE_DLOPEN) HAVE_DL_FUNCS=1],
1279 [AC_CHECK_LIB(dl, dlopen,
1280 [AC_DEFINE(HAVE_DLOPEN) HAVE_DL_FUNCS=1])])
1281 AC_CHECK_FUNCS(shl_load, [AC_DEFINE(HAVE_SHL_LOAD) HAVE_DL_FUNCS=1])
1283 if test "$HAVE_DL_FUNCS" = 0; then
1284 AC_MSG_WARN("--with-dynlib will be disabled because no function was found to load a shared library on this platform")
1286 wxUSE_DYNLIB_CLASS=0
1290 if test "$wxUSE_DYNLIB_CLASS" = 1 ; then
1291 AC_DEFINE_UNQUOTED(wxUSE_DYNLIB_CLASS,$wxUSE_DYNLIB_CLASS)
1294 dnl ----------------------------------------------------------------
1295 dnl Register Prolog and Resources options for makefiles and setup.h
1296 dnl ----------------------------------------------------------------
1298 if test "$wxUSE_RPC" = 1 ; then
1299 AC_DEFINE_UNQUOTED(wxUSE_RPC,$wxUSE_RPC)
1302 if test "$wxUSE_WX_RESOURCES" = 1 ; then
1303 AC_DEFINE_UNQUOTED(wxUSE_WX_RESOURCES,$wxUSE_WX_RESOURCES)
1306 if test "$wxUSE_PROLOGIO" = 1 ; then
1307 AC_DEFINE_UNQUOTED(wxUSE_PROLOGIO)
1310 dnl ----------------------------------------------------------------
1311 dnl Register PostScript options for makefiles and setup.h
1312 dnl ----------------------------------------------------------------
1314 if test "$wxUSE_POSTSCRIPT" = 1 ; then
1315 AC_DEFINE_UNQUOTED(wxUSE_POSTSCRIPT)
1318 AC_DEFINE_UNQUOTED(wxUSE_AFM_FOR_POSTSCRIPT,$wxUSE_AFM_FOR_POSTSCRIPT)
1320 AC_DEFINE_UNQUOTED(WX_NORMALIZED_PS_FONTS,$WX_NORMALIZED_PS_FONTS)
1322 dnl ----------------------------------------------------------------
1323 dnl Register architecture options for makefiles and setup.h
1324 dnl ----------------------------------------------------------------
1326 if test "$wxUSE_MDI_ARCHITECTURE" = 1 ; then
1327 AC_DEFINE_UNQUOTED(wxUSE_MDI_ARCHITECTURE,$wxUSE_MDI_ARCHITECTURE)
1330 if test "$wxUSE_DOC_VIEW_ARCHITECTURE" = 1 ; then
1331 AC_DEFINE_UNQUOTED(wxUSE_DOC_VIEW_ARCHITECTURE,$wxUSE_DOC_VIEW_ARCHITECTURE)
1334 if test "$wxUSE_PRINTING_ARCHITECTURE" = 1 ; then
1335 AC_DEFINE_UNQUOTED(wxUSE_PRINTING_ARCHITECTURE,$wxUSE_PRINTING_ARCHITECTURE)
1338 dnl ----------------------------------------------------------------
1339 dnl Register wxString options for makefiles and setup.h
1340 dnl ----------------------------------------------------------------
1342 if test "$wxUSE_UNICODE" = 1 ; then
1343 AC_DEFINE_UNQUOTED(wxUSE_UNICODE)
1346 if test "$wxUSE_WCSRTOMBS" = 1 ; then
1347 AC_DEFINE_UNQUOTED(wxUSE_WCSRTOMBS)
1350 dnl ----------------------------------------------------------------
1351 dnl Register misc options for makefiles and setup.h
1352 dnl ----------------------------------------------------------------
1354 if test "$wxUSE_IPC" = 1 ; then
1355 AC_DEFINE_UNQUOTED(wxUSE_IPC)
1358 if test "$wxUSE_RESOURCES" = 1 ; then
1359 AC_DEFINE_UNQUOTED(wxUSE_RESOURCES,$wxUSE_RESOURCES)
1362 if test "$wxUSE_CLIPBOARD" = 1 ; then
1363 AC_DEFINE_UNQUOTED(wxUSE_CLIPBOARD,$wxUSE_CLIPBOARD)
1366 if test "$wxUSE_TOOLTIPS" = 1 ; then
1367 AC_DEFINE_UNQUOTED(wxUSE_TOOLTIPS,$wxUSE_TOOLTIPS)
1370 if test "$wxUSE_DRAG_AND_DROP" = 1 ; then
1371 AC_DEFINE_UNQUOTED(wxUSE_DRAG_AND_DROP,$wxUSE_DRAG_AND_DROP)
1374 dnl ----------------------------------------------------------------
1376 dnl ----------------------------------------------------------------
1379 if test "$wxUSE_HELP" = 1 ; then
1381 AC_DEFINE_UNQUOTED(wxUSE_HELP,$wxUSE_HELP)
1385 dnl ----------------------------------------------------------------
1387 dnl ----------------------------------------------------------------
1389 dnl defines UNIX_THREAD it contains the source file to use for threads. (GL)
1390 dnl defines THREADS_LINK it contains the thread library to link with. (GL)
1391 dnl defines wxUSE_THREADS if thread support is activated. (GL)
1396 if test "$wxUSE_THREADS" = "1"; then
1397 dnl For glibc 2 users who have the old libc 5 too
1399 AC_CHECK_LIB(pthread-0.7, pthread_create, [
1400 UNIX_THREAD="unix/threadpsx.cpp"
1401 THREADS_LINK="pthread-0.7"
1403 AC_CHECK_HEADER(sys/prctl.h, [
1404 UNIX_THREAD="gtk/threadsgi.cpp"
1407 dnl pthread_create is always available in pthread but it seems not to be
1408 dnl the case for pthread_setcanceltype.
1410 AC_CHECK_LIB(pthread, pthread_setcanceltype, [
1411 UNIX_THREAD="unix/threadpsx.cpp"
1412 THREADS_LINK="pthread"
1416 if test "x$THREADS_LINK" = "x"; then
1417 dnl thread functions are in libc_r under FreeBSD
1418 AC_CHECK_LIB(c_r, pthread_create,
1420 UNIX_THREAD="unix/threadpsx.cpp"
1425 if test "$THREADS_LINK" != ""; then
1426 AC_DEFINE(wxUSE_THREADS)
1430 if test -z "$UNIX_THREAD"; then
1434 dnl do other tests only if we are using threads
1435 if test "$wxUSE_THREADS" = "1"; then
1438 AC_CHECK_HEADERS(sched.h)
1440 AC_CHECK_LIB($THREADS_LINK, sched_yield,
1441 AC_DEFINE(HAVE_SCHED_YIELD),
1442 [AC_CHECK_LIB("posix4", sched_yield,
1443 [AC_DEFINE(HAVE_SCHED_YIELD) THREADS_LINK2="-lposix4"],
1444 AC_MSG_WARN(wxThread::Yield() will not work properly)
1448 AC_CHECK_LIB($THREADS_LINK, sched_get_priority_min,
1449 AC_DEFINE(HAVE_THREAD_PRIORITY_FUNCTIONS),
1450 [AC_CHECK_LIB("posix4", sched_get_priority_min,
1451 [AC_DEFINE(HAVE_THREAD_PRIORITY_FUNCTIONS) THREADS_LINK2="-lposix4"],
1452 AC_MSG_WARN(Setting thread priority will not work)
1456 AC_CHECK_LIB($THREADS_LINK, pthread_cancel,
1457 AC_DEFINE(HAVE_PTHREAD_CANCEL),
1458 AC_MSG_WARN(wxThread::Kill() will not work properly))
1460 THREADS_LINK="-l$THREADS_LINK $THREADS_LINK2"
1463 AC_SUBST(UNIX_THREAD)
1464 AC_SUBST(THREADS_LINK)
1466 dnl ------------------------------------------------------------------------
1467 dnl compiler options for shared libs
1468 dnl ------------------------------------------------------------------------
1472 case "${canonical}" in
1474 if test "$GCC" != "yes" ; then
1475 CXXFLAGS="${CXXFLAGS} +a1 -z -Aa -D_HPUX_SOURCE"
1476 CFLAGS="${CFLAGS} -z -D_HPUX_SOURCE"
1482 CREATE_SHARED=sharedHpux
1487 CREATE_SHARED=sharedLinux
1490 *-*-irix5* | *-*-irix6* )
1491 # PICFLAGS can remain empty, as pic is the default
1493 CREATE_SHARED=sharedIrix
1498 if test "$GCC" != "yes" ; then
1503 CREATE_SHARED=sharedSolaris2
1508 if test "$GCC" != "yes" ; then
1514 CREATE_SHARED=sharedSunos4
1518 *-*-freebsd* | *-*-netbsd*)
1520 CREATE_SHARED=sharedBsd
1526 CREATE_SHARED=sharedOSF
1530 if test "$GCC" != "yes" ; then
1535 CREATE_SHARED=sharedDgux
1540 if test "$GCC" != "yes" ; then
1545 CREATE_SHARED=sharedSysV
1550 if test "$GCC" != "yes" ; then
1555 CREATE_SHARED=sharedAIX
1564 if test "x$GCC" = xyes; then
1565 CFLAGS="${CFLAGS} -Wall -Wno-unused -Wno-uninitialized -D_REENTRANT -DLEX_SCANNER -DHAVE_LIBDL"
1568 if test "x$GXX" = xyes; then
1569 if test "$wxUSE_MOTIF" = 1; then
1570 CXXFLAGS="${CXXFLAGS} -Wall -Wno-unused -D_REENTRANT"
1572 CXXFLAGS="${CXXFLAGS} -Wall -D_REENTRANT"
1576 if test "$wxUSE_SHARED" != 1; then
1583 AC_SUBST(CREATE_SHARED)
1585 dnl ------------------------------------------------------------------------
1586 dnl finish and clean-up
1587 dnl ------------------------------------------------------------------------
1589 dnl add OS to list of configured
1590 echo $OS >> system.list
1592 AC_CONFIG_HEADER(./include/wx/gtk/setup.h:./setup/setup.hin)
1593 AC_OUTPUT(./setup/substit ./wx-config:./wx-config.in,./setup/general/createall)