X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/458425003481da3dde531a9677014b07070b7095..f5e10026502fcd54f77e300ca26e3a99d36bd87a:/configure.in diff --git a/configure.in b/configure.in index ae9be08ae7..fd1903216e 100644 --- a/configure.in +++ b/configure.in @@ -17,7 +17,7 @@ dnl --------------------------------------------------------------------------- dnl initialization dnl --------------------------------------------------------------------------- -AC_INIT([wxWindows], [2.5.0], [wx-dev@lists.wxwindows.org]) +AC_INIT([wxWindows], [2.5.1], [wx-dev@lists.wxwindows.org]) dnl the file passed to AC_CONFIG_SRCDIR should be specific to our package AC_CONFIG_SRCDIR([wx-config.in]) @@ -55,14 +55,14 @@ dnl libwx_$(TOOLKIT)-$(WX_RELEASE).so.$(WX_CURRENT).$(WX_REVISION).$(WX_AGE) WX_MAJOR_VERSION_NUMBER=2 WX_MINOR_VERSION_NUMBER=5 -WX_RELEASE_NUMBER=0 +WX_RELEASE_NUMBER=1 WX_VERSION=$WX_MAJOR_VERSION_NUMBER.$WX_MINOR_VERSION_NUMBER.$WX_RELEASE_NUMBER WX_RELEASE=$WX_MAJOR_VERSION_NUMBER.$WX_MINOR_VERSION_NUMBER WX_MSW_VERSION=$WX_MAJOR_VERSION_NUMBER$WX_MINOR_VERSION_NUMBER$WX_RELEASE_NUMBER -WX_CURRENT=0 +WX_CURRENT=1 WX_REVISION=0 WX_AGE=0 @@ -73,6 +73,7 @@ dnl ------------------------------------------------------------------------ dnl OS (assume Unix) USE_UNIX=1 +USE_OS2=0 USE_WIN32=0 USE_DOS=0 USE_BEOS=0 @@ -140,6 +141,7 @@ DEFAULT_DEFAULT_wxUSE_X11=0 PROGRAM_EXT= SO_SUFFIX=so SAMPLES_RPATH_FLAG= +SAMPLES_RPATH_POSTLINK= dnl to support a new system, you need to add its canonical name (as determined dnl by config.sub or specified by the configure command line) to this "case" @@ -287,8 +289,35 @@ case "${host}" in *-pc-os2_emx | *-pc-os2-emx ) AC_DEFINE(__EMX__) + USE_OS2=1 + AC_DEFINE(__OS2__) PROGRAM_EXT=".exe" DEFAULT_DEFAULT_wxUSE_PM=1 + dnl "c++" wrapper is not always available, so always use plain gcc. + CXX=gcc + LDFLAGS="$LDFLAGS -Zcrtdll -Zsysv-signals" + dnl + dnl Some special code that's automatically added by autoconf-2.57 for OS/2 + dnl and hopefully also by autoconf-2.58 and newer on all other platforms. + dnl For now however, we still need it to make sure the configure script + dnl works on OS/2 no matter what platform it is generated on. + ac_executable_extensions=".exe" + export ac_executable_extensions + dnl This strange code is necessary to deal with handling of + dnl backslashes by ksh and pdksh's sh variant. + ac_save_IFS="$IFS" + IFS='\\' + ac_TEMP_PATH= + for ac_dir in $PATH; do + IFS=$ac_save_IFS + if test -z "$ac_TEMP_PATH"; then + ac_TEMP_PATH="$ac_dir" + else + ac_TEMP_PATH="$ac_TEMP_PATH/$ac_dir" + fi + done + export PATH="$ac_TEMP_PATH" + unset ac_TEMP_PATH ;; powerpc-*-darwin* ) @@ -351,6 +380,7 @@ if test $DEBUG_CONFIGURE = 1; then DEFAULT_wxUSE_DMALLOC=no DEFAULT_wxUSE_APPLE_IEEE=no + DEFAULT_wxUSE_EXCEPTIONS=no DEFAULT_wxUSE_LOG=yes DEFAULT_wxUSE_LOGWINDOW=no DEFAULT_wxUSE_LOGGUI=no @@ -448,6 +478,7 @@ if test $DEBUG_CONFIGURE = 1; then DEFAULT_wxUSE_FS_ZIP=no DEFAULT_wxUSE_BUSYINFO=no DEFAULT_wxUSE_ZIPSTREAM=no + DEFAULT_wxUSE_GZSTREAM=no DEFAULT_wxUSE_VALIDATORS=no DEFAULT_wxUSE_ACCEL=no @@ -463,6 +494,7 @@ if test $DEBUG_CONFIGURE = 1; then DEFAULT_wxUSE_GAUGE=no DEFAULT_wxUSE_GRID=no DEFAULT_wxUSE_IMAGLIST=no + DEFAULT_wxUSE_LISTBOOK=no DEFAULT_wxUSE_LISTBOX=no DEFAULT_wxUSE_LISTCTRL=no DEFAULT_wxUSE_NOTEBOOK=no @@ -528,6 +560,7 @@ else DEFAULT_wxUSE_DMALLOC=no DEFAULT_wxUSE_APPLE_IEEE=yes + DEFAULT_wxUSE_EXCEPTIONS=yes DEFAULT_wxUSE_LOG=yes DEFAULT_wxUSE_LOGWINDOW=yes DEFAULT_wxUSE_LOGGUI=yes @@ -624,6 +657,7 @@ else DEFAULT_wxUSE_FS_ZIP=yes DEFAULT_wxUSE_BUSYINFO=yes DEFAULT_wxUSE_ZIPSTREAM=yes + DEFAULT_wxUSE_GZSTREAM=yes DEFAULT_wxUSE_VALIDATORS=yes DEFAULT_wxUSE_ACCEL=yes @@ -639,6 +673,7 @@ else DEFAULT_wxUSE_GAUGE=yes DEFAULT_wxUSE_GRID=yes DEFAULT_wxUSE_IMAGLIST=yes + DEFAULT_wxUSE_LISTBOOK=yes DEFAULT_wxUSE_LISTBOX=yes DEFAULT_wxUSE_LISTCTRL=yes DEFAULT_wxUSE_NOTEBOOK=yes @@ -774,7 +809,6 @@ WX_ARG_ENABLE(no_exceptions, [ --enable-no_exceptions create code without C++ WX_ARG_ENABLE(permissive, [ --enable-permissive compile code disregarding strict ANSI], wxUSE_PERMISSIVE) WX_ARG_ENABLE(no_deps, [ --enable-no_deps create code without dependency information], wxUSE_NO_DEPS) -WX_ARG_ENABLE(compat20, [ --enable-compat20 enable wxWindows 2.0 compatibility], WXWIN_COMPATIBILITY_2) WX_ARG_ENABLE(compat22, [ --enable-compat22 enable wxWindows 2.2 compatibility], WXWIN_COMPATIBILITY_2_2) WX_ARG_ENABLE(compat24, [ --disable-compat24 disable wxWindows 2.4 compatibility], WXWIN_COMPATIBILITY_2_4, disable) @@ -797,44 +831,44 @@ WX_ARG_ENABLE(ftp, [ --enable-ftp use wxFTP (requires wxPr WX_ARG_ENABLE(http, [ --enable-http use wxHTTP (requires wxProtocol], wxUSE_PROTOCOL_HTTP) WX_ARG_ENABLE(fileproto, [ --enable-fileproto use wxFileProto class (requires wxProtocol], wxUSE_PROTOCOL_FILE) WX_ARG_ENABLE(sockets, [ --enable-sockets use socket/network classes], wxUSE_SOCKETS) -WX_ARG_ENABLE(ole, [ --enable-ole use OLE classes], wxUSE_OLE) +WX_ARG_ENABLE(ole, [ --enable-ole use OLE classes (Win32 only)], wxUSE_OLE) WX_ARG_ENABLE(dataobj, [ --enable-dataobj use data object classes], wxUSE_DATAOBJ) WX_ARG_ENABLE(ipc, [ --enable-ipc use interprocess communication (wxSocket etc.)], wxUSE_IPC) +dnl please keep the settings below in alphabetical order +WX_ARG_ENABLE(apple_ieee, [ --enable-apple_ieee use the Apple IEEE codec], wxUSE_APPLE_IEEE) +WX_ARG_ENABLE(catch_segvs, [ --enable-catch_segvs catch signals in wxApp::OnFatalException (Unix only)], wxUSE_ON_FATAL_EXCEPTION) WX_ARG_ENABLE(cmdline, [ --enable-cmdline use wxCmdLineParser class], wxUSE_CMDLINE_PARSER) WX_ARG_ENABLE(datetime, [ --enable-datetime use wxDateTime class], wxUSE_DATETIME) -WX_ARG_ENABLE(stopwatch, [ --enable-stopwatch use wxStopWatch class], wxUSE_STOPWATCH) WX_ARG_ENABLE(dialupman, [ --enable-dialupman use dialup network classes], wxUSE_DIALUP_MANAGER) -WX_ARG_ENABLE(apple_ieee, [ --enable-apple_ieee use the Apple IEEE codec], wxUSE_APPLE_IEEE) -WX_ARG_ENABLE(timer, [ --enable-timer use wxTimer class], wxUSE_TIMER) -WX_ARG_ENABLE(wave, [ --enable-wave use wxWave class], wxUSE_WAVE) -WX_ARG_ENABLE(fraction, [ --enable-fraction use wxFraction class], wxUSE_FRACTION) WX_ARG_ENABLE(dynlib, [ --enable-dynlib use wxLibrary class for DLL loading], wxUSE_DYNLIB_CLASS) WX_ARG_ENABLE(dynamicloader, [ --enable-dynamicloader use (new) wxDynamicLibrary class], wxUSE_DYNAMIC_LOADER) -WX_ARG_ENABLE(longlong, [ --enable-longlong use wxLongLong class], wxUSE_LONGLONG) +WX_ARG_ENABLE(exceptions, [ --enable-exceptions build exception-safe library], wxUSE_EXCEPTIONS) +WX_ARG_ENABLE(ffile, [ --enable-ffile use wxFFile class], wxUSE_FFILE) +WX_ARG_ENABLE(file, [ --enable-file use wxFile class], wxUSE_FILE) +WX_ARG_ENABLE(filesystem, [ --enable-filesystem use virtual file systems classes], wxUSE_FILESYSTEM) +WX_ARG_ENABLE(fontmap, [ --enable-fontmap use font encodings conversion classes], wxUSE_FONTMAP) +WX_ARG_ENABLE(fs_inet, [ --enable-fs_inet use virtual HTTP/FTP filesystems], wxUSE_FS_INET) +WX_ARG_ENABLE(fs_zip, [ --enable-fs_zip use virtual ZIP filesystems], wxUSE_FS_ZIP) WX_ARG_ENABLE(geometry, [ --enable-geometry use geometry class], wxUSE_GEOMETRY) WX_ARG_ENABLE(log, [ --enable-log use logging system], wxUSE_LOG) +WX_ARG_ENABLE(longlong, [ --enable-longlong use wxLongLong class], wxUSE_LONGLONG) +WX_ARG_ENABLE(mimetype, [ --enable-mimetype use wxMimeTypesManager], wxUSE_MIMETYPE) +WX_ARG_ENABLE(mslu, [ --enable-mslu use MS Layer for Unicode on Windows 9x (Win32 only)], wxUSE_UNICODE_MSLU) +WX_ARG_ENABLE(snglinst, [ --enable-snglinst use wxSingleInstanceChecker class], wxUSE_SNGLINST_CHECKER) WX_ARG_ENABLE(streams, [ --enable-streams use wxStream etc classes], wxUSE_STREAMS) -WX_ARG_ENABLE(file, [ --enable-file use wxFile classes], wxUSE_FILE) -WX_ARG_ENABLE(ffile, [ --enable-ffile use wxFFile classes], wxUSE_FFILE) +WX_ARG_ENABLE(std_iostreams, [ --enable-std_iostreams use standard C++ stream classes], wxUSE_STD_IOSTREAM) +WX_ARG_ENABLE(stopwatch, [ --enable-stopwatch use wxStopWatch class], wxUSE_STOPWATCH) +WX_ARG_ENABLE(system_options,[ --enable-sysoptions use wxSystemOptions], wxUSE_SYSTEM_OPTIONS) WX_ARG_ENABLE(textbuf, [ --enable-textbuf use wxTextBuffer class], wxUSE_TEXTBUFFER) WX_ARG_ENABLE(textfile, [ --enable-textfile use wxTextFile class], wxUSE_TEXTFILE) -WX_ARG_ENABLE(fontmap, [ --enable-fontmap use font encodings conversion classes], wxUSE_FONTMAP) +WX_ARG_ENABLE(timer, [ --enable-timer use wxTimer class], wxUSE_TIMER) WX_ARG_ENABLE(unicode, [ --enable-unicode compile wxString with Unicode support], wxUSE_UNICODE) -WX_ARG_ENABLE(mslu, [ --enable-mslu use MS Layer for Unicode on Windows 9x (win32 only)], wxUSE_UNICODE_MSLU) +WX_ARG_ENABLE(wave, [ --enable-wave use wxWave class], wxUSE_WAVE) WX_ARG_ENABLE(wxprintfv, [ --enable-wxprintfv use wxWindows implementation of vprintf()], wxUSE_EXPERIMENTAL_PRINTF) -WX_ARG_ENABLE(std_iostreams, [ --enable-std_iostreams use standard C++ stream classes], wxUSE_STD_IOSTREAM) -WX_ARG_ENABLE(filesystem, [ --enable-filesystem use virtual file systems classes], wxUSE_FILESYSTEM) -WX_ARG_ENABLE(fs_inet, [ --enable-fs_inet use virtual HTTP/FTP filesystems], wxUSE_FS_INET) -WX_ARG_ENABLE(fs_zip, [ --enable-fs_zip use virtual ZIP filesystems], wxUSE_FS_ZIP) WX_ARG_ENABLE(zipstream, [ --enable-zipstream use wxZipInputStream], wxUSE_ZIPSTREAM) - -WX_ARG_ENABLE(catch_segvs, [ --enable-catch_segvs catch signals and pass them to wxApp::OnFatalException], wxUSE_ON_FATAL_EXCEPTION) -WX_ARG_ENABLE(snglinst, [ --enable-snglinst use wxSingleInstanceChecker class], wxUSE_SNGLINST_CHECKER) - -WX_ARG_ENABLE(mimetype, [ --enable-mimetype use wxMimeTypesManager], wxUSE_MIMETYPE) -WX_ARG_ENABLE(system_options,[ --enable-sysoptions use wxSystemOptions], wxUSE_SYSTEM_OPTIONS) +WX_ARG_ENABLE(gzstream, [ --enable-gzstream use wxGzipInputStream], wxUSE_GZSTREAM) WX_ARG_ENABLE(url, [ --enable-url use wxURL class], wxUSE_URL) WX_ARG_ENABLE(protocol, [ --enable-protocol use wxProtocol class], wxUSE_PROTOCOL) @@ -915,6 +949,7 @@ if test "$wxUSE_CONTROLS" = "yes"; then DEFAULT_wxUSE_GAUGE=yes DEFAULT_wxUSE_GRID=yes DEFAULT_wxUSE_IMAGLIST=yes + DEFAULT_wxUSE_LISTBOOK=yes DEFAULT_wxUSE_LISTBOX=yes DEFAULT_wxUSE_LISTCTRL=yes DEFAULT_wxUSE_NOTEBOOK=yes @@ -952,6 +987,7 @@ elif test "$wxUSE_CONTROLS" = "no"; then DEFAULT_wxUSE_GAUGE=no DEFAULT_wxUSE_GRID=no DEFAULT_wxUSE_IMAGLIST=no + DEFAULT_wxUSE_LISTBOOK=no DEFAULT_wxUSE_LISTBOX=no DEFAULT_wxUSE_LISTCTRL=no DEFAULT_wxUSE_NOTEBOOK=no @@ -1003,6 +1039,7 @@ WX_ARG_ENABLE(display, [ --enable-display use wxDisplay class], wxUS WX_ARG_ENABLE(gauge, [ --enable-gauge use wxGauge class], wxUSE_GAUGE) WX_ARG_ENABLE(grid, [ --enable-grid use wxGrid class], wxUSE_GRID) WX_ARG_ENABLE(imaglist, [ --enable-imaglist use wxImageList class], wxUSE_IMAGLIST) +WX_ARG_ENABLE(listbook, [ --enable-listbook use wxListbook class], wxUSE_LISTBOOK) WX_ARG_ENABLE(listbox, [ --enable-listbox use wxListBox class], wxUSE_LISTBOX) WX_ARG_ENABLE(listctrl, [ --enable-listctrl use wxListCtrl class], wxUSE_LISTCTRL) WX_ARG_ENABLE(notebook, [ --enable-notebook use wxNotebook class], wxUSE_NOTEBOOK) @@ -1090,17 +1127,12 @@ fi dnl General settings (needed for GUI and non-GUI compilations alike). dnl Path separator; ':' for unix, ';' for OS/2 -dnl Stem for flex output; lexyy for OS/2, lex.yy otherwise case "${host}" in *-pc-os2_emx | *-pc-os2-emx ) PATH_IFS=';' -dnl Really ought to text for this as meanwhile there are flex versions using -dnl lex.yy as well due to FAT support being more and more dropped... - LEX_STEM="lexyy" ;; *) PATH_IFS=':' - LEX_STEM="lex.yy" ;; esac @@ -1308,7 +1340,10 @@ AC_PROG_RANLIB dnl ar command dnl defines AR with the appropriate command -AC_CHECK_PROG(AR, ar, ar, ar) +AC_CHECK_PROG(AR, ar, ar) +if test "x$AR" = "x" ; then + AC_MSG_ERROR([ar is needed to build wxWindows]) +fi dnl install checks dnl defines INSTALL with the appropriate command @@ -1413,27 +1448,18 @@ you are trying to compile. fi dnl make without VPATH fi dnl not GNU make -dnl YACC checks -dnl defines YACC with the appropriate command -AC_PROG_YACC - -dnl LEX checks -dnl defines LEX with the appropriate command -dnl defines LEXLIB with the appropriate library -AC_PROG_LEX - dnl needed for making link to setup.h AC_PROG_LN_S dnl --------------------------------------------------------------------------- dnl When we are using gcc on OS/2, we want to be either using resources (PM) dnl or a more complete POSIX emulation for Motif/GTK+/X11 +dnl Moreover we need to link explicitly against either stdcpp.a or stdcxx.a +dnl (depending on compiler version), since we are using "gcc", not "g++/c++". dnl --------------------------------------------------------------------------- dnl (OS/2-only piece) case "${host}" in *-pc-os2_emx | *-pc-os2-emx ) - dnl Explicitly link -lstdcpp, since we are using "gcc" not "g++"/"c++". - LIBS="$LIBS -lstdcpp" if test "$wxUSE_MOTIF" = 1 -o "$wxUSE_GTK" = 1 -o "$wxUSE_X11" = 1; then dnl More complete Unix emulation for unix-like ports dnl by linking in POSIX/2's cExt (if available). @@ -1442,6 +1468,26 @@ case "${host}" in dnl Include resources for the "native" port (wxPM). RESPROGRAMOBJ="\${top_srcdir}/include/wx/os2/wx.res" fi + AC_CACHE_CHECK([for gcc 3 or later], wx_cv_gcc3,[ + AC_TRY_COMPILE([#include ], + [ + #if (__GNUC__ < 3) + #error old gcc + #endif + ], + [ + wx_cv_gcc3=yes + ], + [ + wx_cv_gcc3=no + ] + ) + ]) + if test "$wx_cv_gcc3" = "no"; then + LIBS="$LIBS -lstdcpp" + else + LIBS="$LIBS -lstdcxx" + fi ;; esac dnl (end of OS/2-only piece) @@ -1507,9 +1553,15 @@ case "${host}" in esac if test "$wxUSE_GUI" = "yes"; then - if test "$wxUSE_UNIX" = "yes"; then + if test "$wxUSE_UNIX" = "yes" -a "$wxUSE_PM" != 1; then dnl defines HAVE_X11_XKBLIB_H - AC_CHECK_HEADERS(X11/XKBlib.h) + AC_CHECK_HEADERS(X11/Xlib.h) + AC_CHECK_HEADERS([X11/XKBlib.h], [], [], + [ + #if HAVE_X11_XLIB_H + #include + #endif + ]) fi fi @@ -2077,10 +2129,12 @@ if test "$wxUSE_LIBTIFF" != "no" ; then TIFF_PREREQ_LINKS="$TIFF_PREREQ_LINKS $ZLIB_LINK" fi AC_CHECK_HEADER(tiffio.h, - AC_CHECK_LIB(tiff, TIFFError, - TIFF_LINK=" -ltiff", - , - $TIFF_PREREQ_LINKS) + [ + AC_CHECK_LIB(tiff, TIFFError, + TIFF_LINK=" -ltiff", + , + $TIFF_PREREQ_LINKS) + ] ) if test "x$TIFF_LINK" = "x" ; then @@ -2106,7 +2160,7 @@ dnl Check for expat libraries dnl ------------------------------------------------------------------------ if test "$wxUSE_EXPAT" != "no"; then - wxUSE_XML=1 + wxUSE_XML=yes AC_DEFINE(wxUSE_EXPAT) AC_DEFINE(wxUSE_XML) @@ -2213,6 +2267,14 @@ if test "$wxUSE_GUI" = "yes"; then if test "$wxUSE_MSW" = 1 ; then TOOLKIT=MSW GUIDIST=MSW_DIST + + dnl -mwindows causes a heap of other default gui libs to be linked in. + dnl FIXME: If cygwin needs this, please push it above, if not, please + dnl remove this comment :-) + case "${host}" in + *-*-mingw32* ) + WXCONFIG_LDFLAGS_GUI="$LDFLAGS -Wl,--subsystem,windows -mwindows" + esac fi if test "$wxUSE_GTK" = 1; then @@ -2330,13 +2392,16 @@ equivalent variable and GTK+ is version 1.2.3 or above. AC_MSG_CHECKING(for libmgl location) dnl Find MGL library that we want - dnl FIXME_MGL - test for MGL variants for freebsd etc. + dnl FIXME_MGL - test for MGL variants for freebsd etc.; + dnl and for non-x86 versions case "${host}" in *-*-linux* ) + dnl glibc.so, glibc are for older versions of MGL, + dnl x86/a, x86/so are used by >= 5.0 R11 if test "x$wxUSE_SHARED" = xyes ; then - mgl_os_candidates="linux/gcc/glibc.so linux/gcc/glibc" + mgl_os_candidates="linux/gcc/x86/so linux/gcc/x86/a linux/gcc/glibc.so linux/gcc/glibc" else - mgl_os_candidates="linux/gcc/glibc linux/gcc/glibc.so" + mgl_os_candidates="linux/gcc/x86/a linux/gcc/x86/so linux/gcc/glibc linux/gcc/glibc.so" fi ;; *-pc-msdosdjgpp ) @@ -2642,7 +2707,7 @@ equivalent variable and GTK+ is version 1.2.3 or above. libs_found=0 for libp in "" " -lXp"; do if test "$libs_found" = "0"; then - for libsm_ice in " -lSM -lICE"; do + for libsm_ice in "" " -lSM -lICE"; do if test "$libs_found" = "0"; then save_LIBS="$LIBS" LIBS="$GUI_TK_LIBRARY -lXm${xpm_link} ${libp} -lXmu -lXext -lXt${libsm_ice} -lX11" @@ -2735,7 +2800,18 @@ equivalent variable and GTK+ is version 1.2.3 or above. fi if test "$wxUSE_MAC" = 1; then - CPPFLAGS="$CPPFLAGS -fpascal-strings -I\${top_srcdir}/src/mac/morefilex -I/Developer/Headers/FlatCarbon" + AC_MSG_CHECKING([for compiler syntax to enable Pascal strings]) + if test "$GCC" = yes; then + AC_MSG_RESULT([gcc]) + CPPFLAGS_PASCAL="-fpascal-strings" + elif test "`echo $CXX | sed -e 's@.*/@@'`" = "xlC"; then + AC_MSG_RESULT([xlc]) + CPPFLAGS_PASCAL="-qmacpstr" + else + AC_MSG_RESULT([none]) + fi + + CPPFLAGS="$CPPFLAGS $CPPFLAGS_PASCAL -I\${top_srcdir}/src/mac/morefilex -I/Developer/Headers/FlatCarbon" TOOLKIT_VPATH="\${top_srcdir}/src/mac${PATH_IFS}\${top_srcdir}/src/mac/morefilex" TOOLKIT=MAC @@ -2755,8 +2831,6 @@ equivalent variable and GTK+ is version 1.2.3 or above. if test "$wxUSE_PM" = 1; then TOOLKIT=PM GUIDIST=GTK_DIST - AC_MSG_WARN([OS/2 threads are not yet supported... disabled]) - wxUSE_THREADS="no" fi dnl the name of the directory where the files for this toolkit live @@ -2866,11 +2940,11 @@ if test "$TOOLKIT" != "MSW" ; then AC_CHECK_HEADER([sql.h], [found_sql_h=1]) if test "x$found_sql_h" = "x1" ; then - AC_CHECK_LIB(SQLAllocEnv, iodbc, ODBC_LINK=" -liodbc", + AC_CHECK_LIB(iodbc, SQLAllocEnv, ODBC_LINK=" -liodbc", [ - AC_CHECK_LIB(SQLAllocEnv, unixodbc, ODBC_LINK=" -lunixodbc", + AC_CHECK_LIB(unixodbc, SQLAllocEnv, ODBC_LINK=" -lunixodbc", [ - AC_CHECK_LIB(SQLAllocEnv, odbc, ODBC_LINK=" -lodbc") + AC_CHECK_LIB(odbc, SQLAllocEnv, ODBC_LINK=" -lodbc") ]) ]) fi @@ -2888,6 +2962,9 @@ if test "$TOOLKIT" != "MSW" ; then fi if test "$wxUSE_ODBC" != "no" ; then AC_DEFINE(wxUSE_ODBC) + if test "$wxUSE_ODBC" = "builtin" ; then + AC_DEFINE(wxUSE_BUILTIN_IODBC) + fi SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS db" dnl is this still necessary in 2.5? @@ -3105,7 +3182,7 @@ if test "$wxUSE_SHARED" = "yes"; then case "${host}" in *-*-linux* | *-*-gnu* ) SAMPLES_RPATH_FLAG="-Wl,-rpath,\$(top_builddir)lib" - ;; + ;; *-*-solaris2* ) if test "$GCC" = yes ; then @@ -3144,6 +3221,21 @@ if test "$wxUSE_SHARED" = "yes"; then SAMPLES_RPATH_FLAG="-R\$(top_builddir)lib" fi ;; + + powerpc-*-darwin* ) + SAMPLES_RPATH_POSTLINK="\$(top_builddir)change-install-names \$(LIBDIRNAME) \$(prefix) \$@" + cat <change-install-names +#!/bin/sh +libnames=\`cd \${1} ; ls -1 | grep '\.[[0-9]][[0-9]]*\.dylib\$'\` +inst_cmd="install_name_tool " +for i in \${libnames} ; do + inst_cmd="\${inst_cmd} -change \${2}/lib/\${i} \${1}/\${i}" +done +\${inst_cmd} \${3} +EOF + chmod +x change-install-names + ;; + esac dnl set target to shared if not explicitly chose static before @@ -3641,12 +3733,16 @@ AC_CHECK_FUNCS(inet_addr, [ AC_CHECK_LIB(nsl, inet_addr, INET_LINK="nsl", - AC_CHECK_LIB(resolv, inet_addr, - INET_LINK="resolv", - AC_CHECK_LIB(socket, inet_addr, - INET_LINK="socket" + [ + AC_CHECK_LIB(resolv, inet_addr, + INET_LINK="resolv", + [ + AC_CHECK_LIB(socket, inet_addr, + INET_LINK="socket" + ) + ] ) - ) + ] ) ] ) @@ -3680,6 +3776,19 @@ AC_CHECK_LIB(esd, esd_close, [ ]) AC_SUBST(EXTRALIBS_ESD) +dnl check for known CD-ROM interface +AC_MSG_CHECKING([for known CD-ROM interface]) +AC_TRY_COMPILE([#ifdef __linux__ + #include + #else + /* For Solaris */ + #include + #endif + ], + [struct cdrom_tocentry entry, old_entry;], + [AC_MSG_RESULT([yes]) + AC_DEFINE(HAVE_KNOWN_CDROM_INTERFACE)], + [AC_MSG_RESULT([no])]) dnl =========================================================================== dnl Now we have all the info we need - use it! @@ -3689,12 +3798,13 @@ dnl flush the cache AC_CACHE_SAVE dnl --------------------------------------------------------------------------- -dnl thread support for Unix (for Win32 see past the next matching "else") +dnl thread support for Unix (for Win32 and OS/2 see past +dnl the next matching "else") dnl --------------------------------------------------------------------------- dnl under MSW (except mingw32) we always have thread support CPP_MT_FLAG= -if test "$TOOLKIT" != "MSW"; then +if test "$TOOLKIT" != "MSW" -a "$USE_OS2" != 1; then dnl the code below: dnl @@ -3921,22 +4031,26 @@ if test "$TOOLKIT" != "MSW"; then AC_DEFINE(HAVE_PTHREAD_CANCEL), AC_MSG_WARN([wxThread::Kill() will not work properly])) - AC_CACHE_CHECK([for pthread_cleanup_push/pop], wx_cv_func_pthread_cleanup_push, - [ - AC_TRY_COMPILE([#include ], - [ - pthread_cleanup_push(NULL, NULL); - pthread_cleanup_pop(0); - ], [ - wx_cv_func_pthread_cleanup_push=yes - ], [ - wx_cv_func_pthread_cleanup_push=no - ]) - ]) - - if test "$wx_cv_func_pthread_cleanup_push" = "yes"; then - AC_DEFINE(HAVE_THREAD_CLEANUP_FUNCTIONS) - fi + dnl we don't use pthread_cleanup_push/pop() any more in the code, but I + dnl the code here for now in case we need it again soon; otherwise it + dnl should be removed in a couple of months (VZ in Sep 2003) + dnl + dnl AC_CACHE_CHECK([for pthread_cleanup_push/pop], wx_cv_func_pthread_cleanup_push, + dnl [ + dnl AC_TRY_COMPILE([#include ], + dnl [ + dnl pthread_cleanup_push(NULL, NULL); + dnl pthread_cleanup_pop(0); + dnl ], [ + dnl wx_cv_func_pthread_cleanup_push=yes + dnl ], [ + dnl wx_cv_func_pthread_cleanup_push=no + dnl ]) + dnl ]) + dnl + dnl if test "$wx_cv_func_pthread_cleanup_push" = "yes"; then + dnl AC_DEFINE(HAVE_THREAD_CLEANUP_FUNCTIONS) + dnl fi dnl mutexattr_t initialization is done in quite different ways on different dnl platforms, so check for a few things: @@ -4015,6 +4129,11 @@ else CFLAGS="$CFLAGS_OLD" fi ;; + *-pc-os2*emx ) + CFLAGS="$CFLAGS -Zmt -D__ST_MT_ERRNO__" + CXXFLAGS="$CXXFLAGS -Zmt -D__ST_MT_ERRNO__" + LDFLAGS="$LDFLAGS -Zmt" + ;; esac fi fi @@ -4147,12 +4266,6 @@ dnl --------------------------------------------------------------------------- dnl compatibility level dnl --------------------------------------------------------------------------- -if test "$WXWIN_COMPATIBILITY_2" = "yes"; then - AC_DEFINE(WXWIN_COMPATIBILITY_2) - - WXWIN_COMPATIBILITY_2_2="yes" -fi - if test "x$WXWIN_COMPATIBILITY_2_2" = "xyes"; then AC_DEFINE(WXWIN_COMPATIBILITY_2_2) @@ -4245,6 +4358,10 @@ if test "$wxUSE_ZIPSTREAM" = "yes"; then AC_DEFINE(wxUSE_ZIPSTREAM) fi +if test "$wxUSE_GZSTREAM" = "yes"; then + AC_DEFINE(wxUSE_GZSTREAM) +fi + if test "$wxUSE_ON_FATAL_EXCEPTION" = "yes"; then AC_DEFINE(wxUSE_ON_FATAL_EXCEPTION) fi @@ -4488,15 +4605,17 @@ if test "$wxUSE_SOCKETS" = "yes"; then if test "$TOOLKIT" != "MSW"; then dnl under Solaris and OS/2, socket functions live in -lsocket AC_CHECK_FUNC(socket,, - AC_CHECK_LIB(socket, socket, - if test "$INET_LINK" != " -lsocket"; then - INET_LINK="$INET_LINK -lsocket" - fi, - [ - AC_MSG_WARN([socket library not found - sockets will be disabled]) - wxUSE_SOCKETS=no - ] - ) + [ + AC_CHECK_LIB(socket, socket, + if test "$INET_LINK" != " -lsocket"; then + INET_LINK="$INET_LINK -lsocket" + fi, + [ + AC_MSG_WARN([socket library not found - sockets will be disabled]) + wxUSE_SOCKETS=no + ] + ) + ] ) fi fi @@ -4649,7 +4768,7 @@ dnl DLL support dnl ------------------------------------------------------------------------ dnl under MSW we always have LoadLibrary/GetProcAddress -if test "$TOOLKIT" != "MSW"; then +if test "$TOOLKIT" != "MSW" -a "$USE_OS2" != 1; then HAVE_DL_FUNCS=0 HAVE_SHL_FUNCS=0 @@ -4692,8 +4811,11 @@ if test "$TOOLKIT" != "MSW"; then dnl check also for dlerror() if test "$HAVE_DL_FUNCS" = 1; then AC_CHECK_FUNCS(dlerror, - AC_DEFINE(HAVE_DLERROR), - AC_CHECK_LIB(dl, dlerror, AC_DEFINE(HAVE_DLERROR))) + AC_DEFINE(HAVE_DLERROR), + [ + AC_CHECK_LIB(dl, dlerror, AC_DEFINE(HAVE_DLERROR)) + ] + ) fi fi @@ -5000,6 +5122,11 @@ if test "$wxUSE_IMAGLIST" = "yes"; then AC_DEFINE(wxUSE_IMAGLIST) fi +if test "$wxUSE_LISTBOOK" = "yes"; then + AC_DEFINE(wxUSE_LISTBOOK) + USES_CONTROLS=1 +fi + if test "$wxUSE_LISTBOX" = "yes"; then AC_DEFINE(wxUSE_LISTBOX) USES_CONTROLS=1 @@ -5201,19 +5328,26 @@ dnl --------------------------------------------------------------------------- dnl misc options dnl --------------------------------------------------------------------------- -dnl if test "$wxUSE_TREELAYOUT" = "yes"; then -dnl AC_DEFINE(wxUSE_TREELAYOUT) -dnl SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS treelay" -dnl fi +dnl please keep the settings below in alphabetical order +if test "$wxUSE_ACCESSIBILITY" = "yes"; then + AC_DEFINE(wxUSE_ACCESSIBILITY) + SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS access" +fi if test "$wxUSE_DRAGIMAGE" = "yes"; then AC_DEFINE(wxUSE_DRAGIMAGE) SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS dragimag" fi -if test "$wxUSE_ACCESSIBILITY" = "yes"; then - AC_DEFINE(wxUSE_ACCESSIBILITY) - SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS access" +if test "$wxUSE_EXCEPTIONS" = "yes"; then + AC_DEFINE(wxUSE_EXCEPTIONS) +fi + +USE_HTML=0 +if test "$wxUSE_HTML" = "yes"; then + AC_DEFINE(wxUSE_HTML) + USE_HTML=1 + SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS html html/about html/help html/helpview html/printing html/test html/virtual html/widget html/zip htlbox" fi if test "$wxUSE_MENUS" = "yes"; then @@ -5229,27 +5363,20 @@ if test "$wxUSE_MIMETYPE" = "yes"; then AC_DEFINE(wxUSE_MIMETYPE) fi -if test "$wxUSE_SYSTEM_OPTIONS" = "yes"; then - AC_DEFINE(wxUSE_SYSTEM_OPTIONS) -if test "$TOOLKIT" = "MSW" -o "$TOOLKIT" = "GTK" -o "$TOOLKIT" = "X11" -o \ - "$TOOLKIT" = "MOTIF"; then - SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS taskbar" -fi - -fi - if test "$wxUSE_MINIFRAME" = "yes"; then AC_DEFINE(wxUSE_MINIFRAME) SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS minifram" fi -USE_HTML=0 -if test "$wxUSE_HTML" = "yes"; then - AC_DEFINE(wxUSE_HTML) - USE_HTML=1 - SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS html html/about html/help html/helpview html/printing html/test html/virtual html/widget html/zip htlbox" +if test "$wxUSE_SYSTEM_OPTIONS" = "yes"; then + AC_DEFINE(wxUSE_SYSTEM_OPTIONS) + if test "$TOOLKIT" = "MSW" -o "$TOOLKIT" = "GTK" -o "$TOOLKIT" = "X11" -o \ + "$TOOLKIT" = "MOTIF"; then + SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS taskbar" + fi fi + if test "$wxUSE_VALIDATORS" = "yes"; then AC_DEFINE(wxUSE_VALIDATORS) SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS validate" @@ -5259,41 +5386,45 @@ if test "$wxUSE_PALETTE" = "yes" ; then AC_DEFINE(wxUSE_PALETTE) fi -if test "$wxUSE_IMAGE" = "yes" ; then - AC_DEFINE(wxUSE_IMAGE) +if test "$wxUSE_UNICODE" = "yes" -a "$wxUSE_UNICODE_MSLU" = "yes" ; then + dnl Must be done this late because -lunicows must be before all the other libs + LIBS=" -lunicows $LIBS" fi -if test "$wxUSE_GIF" = "yes" ; then - AC_DEFINE(wxUSE_GIF) -fi +dnl --------------------------------------------------------------------------- +dnl wxImage options +dnl --------------------------------------------------------------------------- -if test "$wxUSE_PCX" = "yes" ; then - AC_DEFINE(wxUSE_PCX) -fi +if test "$wxUSE_IMAGE" = "yes" ; then + AC_DEFINE(wxUSE_IMAGE) -if test "$wxUSE_IFF" = "yes" ; then - AC_DEFINE(wxUSE_IFF) -fi + if test "$wxUSE_GIF" = "yes" ; then + AC_DEFINE(wxUSE_GIF) + fi -if test "$wxUSE_PNM" = "yes" ; then - AC_DEFINE(wxUSE_PNM) -fi + if test "$wxUSE_PCX" = "yes" ; then + AC_DEFINE(wxUSE_PCX) + fi -if test "$wxUSE_XPM" = "yes" ; then - AC_DEFINE(wxUSE_XPM) -fi + if test "$wxUSE_IFF" = "yes" ; then + AC_DEFINE(wxUSE_IFF) + fi -if test "$wxUSE_ICO_CUR" = "yes" ; then - AC_DEFINE(wxUSE_ICO_CUR) -fi + if test "$wxUSE_PNM" = "yes" ; then + AC_DEFINE(wxUSE_PNM) + fi -if test "$wxUSE_UNICODE" = "yes" -a "$wxUSE_UNICODE_MSLU" = "yes" ; then - dnl Must be done this late because -lunicows must be before all the other libs - LIBS=" -lunicows $LIBS" + if test "$wxUSE_XPM" = "yes" ; then + AC_DEFINE(wxUSE_XPM) + fi + + if test "$wxUSE_ICO_CUR" = "yes" ; then + AC_DEFINE(wxUSE_ICO_CUR) + fi fi dnl --------------------------------------------------------------------------- -dnl common dialog +dnl common dialogs dnl --------------------------------------------------------------------------- if test "$wxUSE_CHOICEDLG" = "yes"; then @@ -5410,6 +5541,10 @@ if test "$wxUSE_HTML" = "yes" ; then CORE_GUI_LIBS="html $CORE_GUI_LIBS" fi +if test "$wxUSE_GUI" != "yes"; then + CORE_GUI_LIBS="" +fi + AC_SUBST(CORE_BASE_LIBS) AC_SUBST(CORE_GUI_LIBS) @@ -5629,6 +5764,7 @@ TOOLKIT_LOWERCASE=`echo $TOOLKIT | tr [[A-Z]] [[a-z]]` AC_SUBST(TOOLKIT_LOWERCASE) AC_SUBST(TOOLKIT_VERSION) AC_SUBST(SAMPLES_RPATH_FLAG) +AC_SUBST(SAMPLES_RPATH_POSTLINK) AC_SUBST(HOST_SUFFIX) AC_BAKEFILE @@ -5644,10 +5780,16 @@ else dnl pragmas: CPPFLAGS="-DNO_GCC_PRAGMA $CPPFLAGS" ;; - *) - ;; esac fi +dnl We have to output NO_GCC_PRAGMA with wx-config on Apple, too: +case "${host}" in + powerpc-*-darwin* ) + dnl Some Apple's GCC version are broken and can't handle the + dnl pragmas: + CODE_GEN_FLAGS_CXX="-DNO_GCC_PRAGMA $CODE_GEN_FLAGS_CXX" + ;; +esac dnl for convenience, sort the samples in alphabetical order @@ -5661,7 +5803,6 @@ dnl only removes the Unix-like part of the introduced line break. SAMPLES_SUBDIRS="`echo $SAMPLES_SUBDIRS | tr -s ' ' | tr ' ' '\n' | sort | uniq | tr '\n' ' '| tr -d '\r'`" dnl makefile variables -AC_SUBST(LEX_STEM) AC_SUBST(PATH_IFS) dnl global options @@ -5721,6 +5862,7 @@ AC_SUBST(WXCONFIG_LIBS_STATIC) AC_SUBST(WXCONFIG_LIBS_STATIC_GL) AC_SUBST(WXCONFIG_INCLUDE) AC_SUBST(WXCONFIG_RPATH) +AC_SUBST(WXCONFIG_LDFLAGS_GUI) AC_SUBST(WX_LARGEFILE_FLAGS) AC_SUBST(CODE_GEN_FLAGS) AC_SUBST(CODE_GEN_FLAGS_CXX) @@ -5865,8 +6007,7 @@ for subdir in `echo $SUBDIRS`; do makefiles="samples/Makefile.in samples/console/Makefile.in" else dnl utils makefiles="utils/HelpGen/Makefile.in \ - utils/HelpGen/src/Makefile.in \ - utils/makegen/Makefile.in" + utils/HelpGen/src/Makefile.in" fi fi @@ -5892,7 +6033,6 @@ echo " Should wxWindows be linked as a shared library? ${wxUSE_SHARED:- echo " Should wxWindows be compiled in Unicode mode? ${wxUSE_UNICODE:-no}" echo " What level of wxWindows compatibility should be enabled?" -echo " wxWindows 2.0 ${WXWIN_COMPATIBILITY_2:-no}" echo " wxWindows 2.2 ${WXWIN_COMPATIBILITY_2_2:-no}" echo " wxWindows 2.4 ${WXWIN_COMPATIBILITY_2_4:-yes}"