dnl initialization
dnl ---------------------------------------------------------------------------
-AC_INIT([wxWidgets], [2.6.1], [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])
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=1
+wx_release_number=2
wx_subrelease_number=1
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=1
-WX_REVISION=0
-WX_AGE=0
dnl ------------------------------------------------------------------------
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++"
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 ------------------------------------------------------------------------
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])
if test "$wxUSE_CLIPBOARD" = "yes"; then
AC_DEFINE(wxUSE_CLIPBOARD)
-
- dnl required by clipboard code in configuration check
- AC_DEFINE(wxUSE_DATAOBJ)
fi
fi
esac
fi
+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 WX_PRECOMP (and thus NO_GCC_PRAGMA)
if test $GCC_PCH = 1 ; then
- CPPFLAGS="-DWX_PRECOMP $CPPFLAGS"
+ PCH_FLAGS="-DWX_PRECOMP"
+ GCC_PRAGMA_FLAGS="-DNO_GCC_PRAGMA"
+else
+ 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
+dnl closing bracket of if GCC < 4.0
+ ] )
+ fi
fi
-
-dnl FIXME: This is a temporary measure until the need for it is also
-dnl removed from the headers.
-CPPFLAGS="-DNO_GCC_PRAGMA $CPPFLAGS"
+CPPFLAGS="$PCH_FLAGS $GCC_PRAGMA_FLAGS $CPPFLAGS"
dnl for convenience, sort the samples in alphabetical order
AC_SUBST(WXCONFIG_RPATH)
AC_SUBST(WXCONFIG_LDFLAGS_GUI)
AC_SUBST(WX_LARGEFILE_FLAGS)
+AC_SUBST(GCC_PRAGMA_FLAGS)
AC_SUBST(CODE_GEN_FLAGS)
AC_SUBST(CODE_GEN_FLAGS_CXX)
AC_SUBST(EXE_LINKER)