X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/19b27e78cf9428bc3c2ae3c69584072c9ff20a93..e9333003ea622fe35d219dd313f61b45c9ba116a:/configure.in?ds=sidebyside diff --git a/configure.in b/configure.in index dcf20d7706..b88c06ef47 100644 --- a/configure.in +++ b/configure.in @@ -17,7 +17,7 @@ dnl --------------------------------------------------------------------------- dnl initialization dnl --------------------------------------------------------------------------- -AC_INIT([wxWidgets], [2.6.0], [wx-dev@lists.wxwidgets.org]) +AC_INIT([wxWidgets], [2.6.2], [wx-dev@lists.wxwidgets.org]) dnl the file passed to AC_CONFIG_SRCDIR should be specific to our package AC_CONFIG_SRCDIR([wx-config.in]) @@ -31,32 +31,10 @@ AC_CANONICAL_TARGET dnl When making releases do: dnl dnl wx_release_number += 1 -dnl -dnl ..and update WX_CURRENT, WX_REVISION and WX_AGE according to the -dnl following rules: -dnl -dnl If any changes have been made to the public interface, that is if any -dnl exported class, method, global or global type has been added, removed -dnl or changed in any way, then do: WX_CURRENT += 1 -dnl -dnl If source changes have been made that *do not* alter the public -dnl interface then do: WX_REVISION += 1 -dnl If WX_CURRENT was incremented (as above) instead do: WX_REVISION = 0 -dnl -dnl If any public interface was added, do: WX_AGE += 1 -dnl If any public interface was removed (or altered in a way effectively -dnl removing the previous definition), instead do: WX_AGE = 0 -dnl -dnl When the major or minor version numbers are incremented, all the above -dnl variables should be reset to 0. wx_subrelease_number should be set to zero -dnl when major, minor or release numbers change. -dnl -dnl The resulting library name will be of the form: -dnl libwx_$(TOOLKIT)-$(WX_RELEASE).so.$(WX_CURRENT).$(WX_REVISION).$(WX_AGE) wx_major_version_number=2 wx_minor_version_number=6 -wx_release_number=0 +wx_release_number=2 wx_subrelease_number=1 WX_RELEASE=$wx_major_version_number.$wx_minor_version_number @@ -65,9 +43,6 @@ WX_SUBVERSION=$WX_VERSION.$wx_subrelease_number WX_MSW_VERSION=$wx_major_version_number$wx_minor_version_number$wx_release_number -WX_CURRENT=0 -WX_REVISION=0 -WX_AGE=0 dnl ------------------------------------------------------------------------ @@ -1328,6 +1303,7 @@ case "${host}" in *-*-cygwin*) if test "$wxUSE_MSW" = 1 ; then wants_win32=1 + BAKEFILE_FORCE_PLATFORM=win32 else doesnt_want_win32=1 fi @@ -1637,7 +1613,7 @@ case "${host}" in LDFLAGS="$LDFLAGS -Zsysv-signals" else if test "$wx_cv_gccversion" = "EMX3"; then - LIBS="$LIBS -lstdcxx" + LIBS="$LIBS -lstdcxx -lgcc" LDFLAGS="$LDFLAGS -Zsysv-signals" else LIBS="$LIBS -lstdc++" @@ -2139,6 +2115,41 @@ dnl also put 64 bit versions for Linux on AMD, they must come before the usual dnl locations or 64 bit compilation failed SEARCH_LIB="/usr/lib /usr/lib32 /usr/lib64 /usr/X11R6/lib64 `echo "$SEARCH_INCLUDE" | sed s/include/lib/g`" +dnl Cross compiling with gcc? +if test "$build" != "$host" -a "$GCC" = yes; then + dnl for gcc cross-compilers "$CC -print-prog-name=ld" prints the path to + dnl the linker. Stripping off the trailing '/bin/ld' gives us a candiate + dnl for a 'root' below which libraries and headers for the target system + dnl might be installed. + if cross_root=`$CC -print-prog-name=ld 2>/dev/null`; then + cross_root=`dirname $cross_root` + cross_root=`dirname $cross_root` + + dnl substitute this candiate root for '^/usr' in the search lists, + dnl strip out any that don't start '^/usr'. + SEARCH_LIB=`for x in $SEARCH_LIB; do echo $x; done | sed -ne "s|^/usr|$cross_root|p"` + SEARCH_INCLUDE=`for x in $SEARCH_INCLUDE; do echo $x; done | sed -ne "s|^/usr|$cross_root|p"` + + dnl also have pkg-config search for *.pc files under this 'root' + if test -z "$PKG_CONFIG_PATH"; then + PKG_CONFIG_PATH="$cross_root/local/lib/pkgconfig:$cross_root/lib/pkgconfig" + export PKG_CONFIG_PATH + fi + + dnl AC_PATH_XTRA doesn't work currently unless -x-includes and + dnl -x-libraries are given on the command line. So if they are not + dnl set then set them here to plausible defaults. + if test -z "$x_includes" -o "$x_includes" = NONE; then + WX_PATH_FIND_INCLUDES($SEARCH_INCLUDE, X11/Intrinsic.h) + x_includes=$ac_find_includes + fi + if test -z "$x_libraries" -o "$x_libraries" = NONE; then + WX_PATH_FIND_LIBRARIES($SEARCH_LIB, Xt) + x_libraries=$ac_find_libraries + fi + fi +fi + dnl ------------------------------------------------------------------------ dnl Check for libraries dnl ------------------------------------------------------------------------ @@ -2721,9 +2732,28 @@ libraries returned by 'pkg-config gtk+-2.0 --libs' or 'gtk-config save_CFLAGS="$CFLAGS" save_LIBS="$LIBS" CFLAGS="$CFLAGS $wx_cv_cflags_gtk" - LIBS="$LIBS $wx_cv_lib_gtk" + LIBS="$LIBS $wx_cv_libs_gtk" AC_CHECK_FUNCS([pango_font_family_is_monospace]) + + dnl gtk_icon_size_lookup is not available in the GTK+ headers + dnl that have shipped with some versions of Sun's JDS. Not using + dnl AC_CHECK_FUNCS here since it only checks the function exists + dnl in the lib (not the header). + AC_MSG_CHECKING([if gtk_icon_size_lookup is missing]) + AC_TRY_COMPILE([ + #include + ], + [ + void *f = gtk_icon_size_lookup; + ], + [ + AC_MSG_RESULT([no]) + ], + [ + AC_DEFINE(NEED_GTK_ICON_SIZE_LOOKUP) + AC_MSG_RESULT([yes]) + ]) dnl test if we have at least GTK+ 2.4: AC_MSG_CHECKING([if GTK+ is version >= 2.4]) @@ -3296,7 +3326,7 @@ dnl ---------------------------------------------------------------- IODBC_C_SRC="" -dnl ODBC is handled seperately for MSW +dnl ODBC is handled separately for MSW if test "$TOOLKIT" != "MSW" ; then if test "$wxUSE_ODBC" = "sys" -o "$wxUSE_ODBC" = "yes" ; then @@ -3468,7 +3498,7 @@ if test "$wxUSE_OPENGL" = "yes"; then if test "x$OPENGL_LIBS" = "x"; then dnl it should be an error and not a warning because OpenGL is not on - dnl by default and so if it had been explicitely requested, we + dnl by default and so if it had been explicitly requested, we dnl shouldn't just fall back to compiling the library without it AC_MSG_ERROR(OpenGL libraries not available) fi @@ -3636,7 +3666,11 @@ dnl library link name dnl These just save us from exporting lib_{unicode,debug,flavour}_suffix. dnl If we ever need to do that, we won't need to keep these. WX_LIBRARY_BASENAME_NOGUI="wx_base${WXBASEPORT}${lib_unicode_suffix}${lib_debug_suffix}${WX_LIB_FLAVOUR}" -WX_LIBRARY_BASENAME_GUI="wx_${TOOLKIT_DIR}${TOOLKIT_VERSION}${WIDGET_SET}${lib_unicode_suffix}${lib_debug_suffix}${WX_LIB_FLAVOUR}" +if test "${TOOLKIT_DIR}" = "os2"; then + WX_LIBRARY_BASENAME_GUI="wx_pm${WIDGET_SET}${lib_unicode_suffix}${lib_debug_suffix}${WX_LIB_FLAVOUR}" +else + WX_LIBRARY_BASENAME_GUI="wx_${TOOLKIT_DIR}${TOOLKIT_VERSION}${WIDGET_SET}${lib_unicode_suffix}${lib_debug_suffix}${WX_LIB_FLAVOUR}" +fi @@ -4509,26 +4543,8 @@ if test "$TOOLKIT" != "MSW" -a "$USE_OS2" != 1; then AC_DEFINE(HAVE_PTHREAD_CANCEL), AC_MSG_WARN([wxThread::Kill() will not work properly])) - 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 + AC_CHECK_FUNC(pthread_attr_setstacksize, + AC_DEFINE(HAVE_PTHREAD_ATTR_SETSTACKSIZE)) dnl mutexattr_t initialization is done in quite different ways on different dnl platforms, so check for a few things: @@ -5462,30 +5478,39 @@ dnl --------------------------------------------------------------------------- dnl Joystick support dnl --------------------------------------------------------------------------- -if test "$wxUSE_GUI" = "yes"; then - dnl under MSW we always have joystick support - if test "$wxUSE_JOYSTICK" = "yes"; then - - dnl joystick support is only for Linux 2.1.x or greater - if test "$TOOLKIT" != "MAC" -a "$TOOLKIT" != "COCOA" -a "$TOOLKIT" != "MSW"; then - AC_CHECK_HEADERS(linux/joystick.h) - if test "$ac_cv_header_linux_joystick_h" != "yes"; then - wxUSE_JOYSTICK=no - AC_MSG_WARN(Joystick not supported by this system... disabled) - fi - else - dnl mac only available on darwin - if test "$USE_DARWIN" != 1 -a "$TOOLKIT" != "MSW"; then - wxUSE_JOYSTICK=no - AC_MSG_WARN(Joystick not supported by this system... disabled) - fi - fi +if test "$wxUSE_GUI" = "yes" -a "$wxUSE_JOYSTICK" = "yes"; then + wxUSE_JOYSTICK=no + dnl under MSW we always have joystick support + if test "$TOOLKIT" = "MSW"; then + wxUSE_JOYSTICK=yes - if test "$wxUSE_JOYSTICK" = "yes"; then - AC_DEFINE(wxUSE_JOYSTICK) - SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS joytest" + dnl mac only available on darwin + elif test "$TOOLKIT" = "MAC" -o "$TOOLKIT" = "COCOA"; then + if test "$USE_DARWIN" = 1; then + dnl check for a bug in the headers, some have bad setEventCallout + AC_MSG_CHECKING([headers have declarations needed for joystick support]) + AC_LANG_PUSH(C++) + AC_TRY_COMPILE( [ #include ], + [ IOHIDQueueInterface *qi = NULL; + IOHIDCallbackFunction cb = NULL; + qi->setEventCallout(NULL, cb, NULL, NULL); ], + [ wxUSE_JOYSTICK=yes ] + ) + AC_LANG_POP + AC_MSG_RESULT($wxUSE_JOYSTICK) fi + + dnl joystick support is only for Linux 2.1.x or greater + else + AC_CHECK_HEADERS(linux/joystick.h, wxUSE_JOYSTICK=yes) + fi + + if test "$wxUSE_JOYSTICK" = "yes"; then + AC_DEFINE(wxUSE_JOYSTICK) + SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS joytest" + else + AC_MSG_WARN(Joystick not supported by this system... disabled) fi fi @@ -5658,6 +5683,14 @@ if test "$wxUSE_IPC" = "yes"; then fi fi +if test "$wxUSE_DATAOBJ" = "yes"; then + AC_DEFINE(wxUSE_DATAOBJ) +else + AC_MSG_WARN([Clipboard and drag-and-drop require wxDataObject -- disabled]) + wxUSE_CLIPBOARD=no + wxUSE_DRAG_AND_DROP=no +fi + if test "$wxUSE_CLIPBOARD" = "yes"; then if test "$wxUSE_MGL" = 1; then AC_MSG_WARN([Clipboard not yet supported under MGL... disabled]) @@ -5666,9 +5699,6 @@ if test "$wxUSE_CLIPBOARD" = "yes"; then if test "$wxUSE_CLIPBOARD" = "yes"; then AC_DEFINE(wxUSE_CLIPBOARD) - - dnl required by clipboard code in configuration check - AC_DEFINE(wxUSE_DATAOBJ) fi fi @@ -6707,55 +6737,70 @@ dnl According to Vaclav, if NO_GCC_PRAGMA is used for any reason it needs to dnl be in wx-config output. Not doing so could result in link problems. GCC_PRAGMA_FLAGS="" PCH_FLAGS="" -dnl Find out if we have to define NO_GCC_PRAGMA and WX_PRECOMP: + +dnl Find out if we have to define WX_PRECOMP (and thus NO_GCC_PRAGMA) if test $GCC_PCH = 1 ; then - GCC_PRAGMA_FLAGS="-DNO_GCC_PRAGMA" PCH_FLAGS="-DWX_PRECOMP" + GCC_PRAGMA_FLAGS="-DNO_GCC_PRAGMA" else - case "${host}" in - powerpc-*-darwin* ) - dnl Some Apple's GCC version are broken and can't handle the - dnl pragmas: - GCC_PRAGMA_FLAGS="-DNO_GCC_PRAGMA" - ;; - *-*-mingw32* ) - dnl MinGW GCC versions >= 3.2 have problems with - dnl static member of classes derived from templates - dnl in combination with #pragma interface/implementation - dnl (the test case uses 4 files) - dnl ... and with exceptions handling (undefined symbols needed - dnl to correctly calls dtors when unwinding) as well - if test "$wxUSE_STL" = "yes" -o \ + dnl Find out if we have to define NO_GCC_PRAGMA + if test "$GCC" = yes; then + AC_MSG_CHECKING([if this GCC version is >= 4.0 and needs -DNO_GCC_PRAGMA]) + AC_TRY_COMPILE([], + [#if (__GNUC__ < 4) + #error "Not GCC 4.0 or greater" + #endif + ], + [GCC_PRAGMA_FLAGS="-DNO_GCC_PRAGMA" + AC_MSG_RESULT([yes])], + [AC_MSG_RESULT([no]) + case "${host}" in + powerpc-*-darwin* ) + dnl Some Apple's GCC version are broken and can't handle the + dnl pragmas: + GCC_PRAGMA_FLAGS="-DNO_GCC_PRAGMA" + ;; + *-*-mingw32* ) + dnl MinGW GCC versions > 3.2 have problems with + dnl static member of classes derived from templates + dnl in combination with #pragma interface/implementation + dnl (the test case uses 4 files) + dnl ... and with exceptions handling (undefined symbols needed + dnl to correctly calls dtors when unwinding) as well + if test "$wxUSE_STL" = "yes" -o \ "$wxUSE_NO_EXCEPTIONS" != "yes" -o \ "$wxUSE_NO_RTTI" != "yes"; then - AC_MSG_CHECKING([if this MinGW version needs -DNO_GCC_PRAGMA]) - AC_TRY_COMPILE([], - [#if !(__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 2)) - #error "Not GCC 3.2 or greater" - #endif - ], - [GCC_PRAGMA_FLAGS="-DNO_GCC_PRAGMA" - AC_MSG_RESULT([yes])], - [AC_MSG_RESULT([no])]) - fi - ;; - *-pc-os2_emx | *-pc-os2-emx ) - dnl GCC versions ported to OS/2 have similar problems with - dnl static member of classes in combination with STL and - dnl pragma interface/implementation - if test "$wxUSE_STL" = "yes"; then - AC_MSG_CHECKING([if this gcc version needs -DNO_GCC_PRAGMA]) - AC_TRY_COMPILE([], - [#if !(__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 2)) - #error "Not GCC 3.2 or greater" - #endif - ], - [GCC_PRAGMA_FLAGS="-DNO_GCC_PRAGMA" - AC_MSG_RESULT([yes])], - [AC_MSG_RESULT([no])]) - fi - ;; - esac + AC_MSG_CHECKING([if this MinGW version needs -DNO_GCC_PRAGMA]) + AC_TRY_COMPILE([], + [#if !(__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 2)) + #error "Not GCC 3.2 or greater" + #endif + ], + [GCC_PRAGMA_FLAGS="-DNO_GCC_PRAGMA" + AC_MSG_RESULT([yes])], + [AC_MSG_RESULT([no])]) + fi + ;; + *-pc-os2_emx | *-pc-os2-emx ) + dnl GCC versions ported to OS/2 have similar problems with + dnl static member of classes in combination with STL and + dnl pragma interface/implementation + if test "$wxUSE_STL" = "yes"; then + AC_MSG_CHECKING([if this gcc version needs -DNO_GCC_PRAGMA]) + AC_TRY_COMPILE([], + [#if !(__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 2)) + #error "Not GCC 3.2 or greater" + #endif + ], + [GCC_PRAGMA_FLAGS="-DNO_GCC_PRAGMA" + AC_MSG_RESULT([yes])], + [AC_MSG_RESULT([no])]) + fi + ;; + esac +dnl closing bracket of if GCC < 4.0 + ] ) + fi fi CPPFLAGS="$PCH_FLAGS $GCC_PRAGMA_FLAGS $CPPFLAGS"