dnl the list of all available toolkits
dnl
dnl update NUM_TOOLKITS calculation below when adding a new toolkit here!
-ALL_TOOLKITS="COCOA GTK OSX_CARBON OSX_COCOA MGL MICROWIN MOTIF MSW PM X11 DFB"
+ALL_TOOLKITS="COCOA GTK OSX_CARBON OSX_COCOA OSX_IPHONE MGL MICROWIN MOTIF MSW PM X11 DFB"
dnl NB: these wxUSE_XXX constants have value of 0 or 1 unlike all the other ones
dnl which are either yes or no
DEFAULT_wxUSE_GTK=0
DEFAULT_wxUSE_OSX_CARBON=0
DEFAULT_wxUSE_OSX_COCOA=0
+DEFAULT_wxUSE_OSX_IPHONE=0
DEFAULT_wxUSE_MGL=0
DEFAULT_wxUSE_MICROWIN=0
DEFAULT_wxUSE_MOTIF=0
DEFAULT_DEFAULT_wxUSE_GTK=0
DEFAULT_DEFAULT_wxUSE_OSX_CARBON=0
DEFAULT_DEFAULT_wxUSE_OSX_COCOA=0
+DEFAULT_DEFAULT_wxUSE_OSX_IPHONE=0
DEFAULT_DEFAULT_wxUSE_MGL=0
DEFAULT_DEFAULT_wxUSE_MICROWIN=0
DEFAULT_DEFAULT_wxUSE_MOTIF=0
AC_DEFINE(__SVR4__)
DEFAULT_DEFAULT_wxUSE_MOTIF=1
;;
+ *-*-qnx*)
+ USE_QNX=1
+ AC_DEFINE(__QNX__)
+ DEFAULT_DEFAULT_wxUSE_X11=1
+ ;;
*-*-solaris2* )
USE_SUN=1
USE_SOLARIS=1
DEFAULT_STD_FLAG=no
;;
+ arm-apple-darwin*)
+ dnl iPhone
+ USE_BSD=1
+ USE_DARWIN=1
+ AC_DEFINE(__BSD__)
+ AC_DEFINE(__DARWIN__)
+ DEFAULT_DEFAULT_wxUSE_OSX_IPHONE=1
+ ;;
+
*-*-darwin* )
dnl Darwin based distributions (including Mac OS X)
USE_BSD=1
DEFAULT_wxUSE_ACCESSIBILITY=no
DEFAULT_wxUSE_IPV6=no
DEFAULT_wxUSE_GSTREAMER8=no
+DEFAULT_wxUSE_UIACTIONSIMULATOR=no
dnl automatic features
DEFAULT_wxUSE_UNICODE_UTF8=auto
AC_ARG_WITH(motif, [ --with-motif use Motif/Lesstif], [wxUSE_MOTIF="$withval" CACHE_MOTIF=1 TOOLKIT_GIVEN=1])
AC_ARG_WITH(osx_carbon, [ --with-osx_carbon use Mac OS X (Carbon)], [wxUSE_OSX_CARBON="$withval" CACHE_OSX_CARBON=1 TOOLKIT_GIVEN=1])
AC_ARG_WITH(osx_cocoa, [ --with-osx_cocoa use Mac OS X (Cocoa)], [wxUSE_OSX_COCOA="$withval" CACHE_OSX_COCOA=1 TOOLKIT_GIVEN=1])
+AC_ARG_WITH(osx_iphone, [ --with-osx_iphone use iPhone OS X port], [wxUSE_OSX_IPHONE="$withval" CACHE_OSX_IPHONE=1 TOOLKIT_GIVEN=1])
AC_ARG_WITH(osx, [ --with-osx use Mac OS X (default port, currently Carbon)], [wxUSE_OSX_CARBON="$withval" CACHE_OSX_CARBON=1 TOOLKIT_GIVEN=1])
AC_ARG_WITH(carbon, [ --with-carbon same as --with-osx_carbon], [wxUSE_OSX_CARBON="$withval" CACHE_OSX_CARBON=1 TOOLKIT_GIVEN=1])
AC_ARG_WITH(cocoa, [ --with-cocoa same as --with-osx_cocoa], [wxUSE_OSX_COCOA="$withval" CACHE_OSX_COCOA=1 TOOLKIT_GIVEN=1])
+AC_ARG_WITH(iphone, [ --with-iphone same as --with-osx_iphone], [wxUSE_OSX_IPHONE="$withval" CACHE_OSX_IPHONE=1 TOOLKIT_GIVEN=1])
AC_ARG_WITH(mac, [ --with-mac same as --with-osx], [wxUSE_OSX_CARBON="$withval" CACHE_OSX_CARBON=1 TOOLKIT_GIVEN=1])
AC_ARG_WITH(old_cocoa, [ --with-old_cocoa use old, deprecated, Cocoa port], [wxUSE_OLD_COCOA="$withval" CACHE_OLD_COCOA=1 TOOLKIT_GIVEN=1])
AC_ARG_WITH(wine, [ --with-wine use Wine], [wxUSE_WINE="$withval" CACHE_WINE=1])
dnl we suppose that expr is available (maybe there is a better way to do
dnl this? what about using ALL_TOOLKITS? TODO)
NUM_TOOLKITS=`expr ${wxUSE_OLD_COCOA:-0} + ${wxUSE_GTK:-0} + ${wxUSE_OSX_CARBON:-0} \
- + ${wxUSE_OSX_COCOA:-0} + ${wxUSE_MGL:-0} + ${wxUSE_DFB:-0} \
+ + ${wxUSE_OSX_COCOA:-0} + ${wxUSE_OSX_IPHONE:-0} + ${wxUSE_MGL:-0} + ${wxUSE_DFB:-0} \
+ ${wxUSE_MICROWIN:-0} + ${wxUSE_MOTIF:-0} + ${wxUSE_MSW:-0} + ${wxUSE_X11:-0}`
dnl Allow wxUSE_PM only for OS/2 with EMX.
# to be removed when --disable-gtk2 isn't needed
if test "x$wxUSE_GTK2" = "xyes"; then
wxGTK_VERSION=2
+ wxUSE_GTK1=0
elif test "x$wxUSE_GTK2" = "xno"; then
wxGTK_VERSION=1
+ wxUSE_GTK1=1
fi
for toolkit in $ALL_TOOLKITS; do
fi
wxUSE_MAC=0
-if test "$wxUSE_OSX_CARBON" = 1 -o "$wxUSE_OSX_COCOA" = 1; then
+if test "$wxUSE_OSX_CARBON" = 1 \
+ -o "$wxUSE_OSX_COCOA" = 1 \
+ -o "$wxUSE_OSX_IPHONE" = 1; then
wxUSE_MAC=1
fi
WX_ARG_FEATURE(exceptions, [ --enable-exceptions build exception-safe library], wxUSE_EXCEPTIONS)
WX_ARG_FEATURE(ffile, [ --enable-ffile use wxFFile class], wxUSE_FFILE)
WX_ARG_FEATURE(file, [ --enable-file use wxFile class], wxUSE_FILE)
+WX_ARG_FEATURE(filehistory, [ --enable-filehistory use wxFileHistory class], wxUSE_FILE_HISTORY)
WX_ARG_FEATURE(filesystem, [ --enable-filesystem use virtual file systems classes], wxUSE_FILESYSTEM)
WX_ARG_FEATURE(fontenum, [ --enable-fontenum use wxFontEnumerator class], wxUSE_FONTENUM)
WX_ARG_FEATURE(fontmap, [ --enable-fontmap use font encodings conversion classes], wxUSE_FONTMAP)
WX_ARG_FEATURE(metafile, [ --enable-metafiles use wxMetaFile (Win32 only)], wxUSE_METAFILE)
WX_ARG_FEATURE(dragimage, [ --enable-dragimage use wxDragImage], wxUSE_DRAGIMAGE)
WX_ARG_FEATURE(accessibility,[ --enable-accessibility enable accessibility support], wxUSE_ACCESSIBILITY)
+WX_ARG_FEATURE(uiactionsim, [ --enable-uiactionsim use wxUIActionSimulator (experimental)], wxUSE_UIACTIONSIMULATOR)
dnl ---------------------------------------------------------------------------
dnl support for image formats that do not rely on external library
wxUSE_MACOSX_VERSION_MIN=
fi
elif test "x$wxUSE_MACOSX_VERSION_MIN" = "x"; then
- OSX_VERSION=`sw_vers -productVersion | grep 10.[[0-9]]`
- if test "$wxUSE_OSX_CARBON" = 1 -o "x$OSX_VERSION" = "x10.4"; then
- # otherwise configure stops on leopard for universal_binary
- wxUSE_MACOSX_VERSION_MIN=10.4
+ AC_CHECK_PROGS(OSX_SW_VERS, sw_vers)
+ if test "$OSX_SW_VERS" != ""; then
+ OSX_VERSION=`sw_vers -productVersion | grep 10.[[0-9]]`
else
- # for OS X Cocoa, use 10.5 so we can get 64-bit compile on Snow Leopard
- wxUSE_MACOSX_VERSION_MIN=10.5
+ dnl can't determine it (happens e.g. when cross-compiling) so use a
+ dnl conservative default
+ AC_MSG_WARN([Assuming OS X 10.4, use --with-macosx-version-min to override.])
+ OSX_VERSION="10.4"
fi
+
+ case "$OSX_VERSION" in
+ 10.4* )
+ wxUSE_MACOSX_VERSION_MIN=10.4
+ ;;
+
+ * )
+ if test "$wxUSE_OSX_CARBON" = 1; then
+ # otherwise configure stops on leopard for universal_binary
+ wxUSE_MACOSX_VERSION_MIN=10.4
+ else
+ # for Cocoa, use 10.5 to be able to compile it in 64 bits too
+ wxUSE_MACOSX_VERSION_MIN=10.5
+ fi
+ ;;
+ esac
fi
NEEDS_GCC40="no"
CFLAGS="-erroff=E_NO_EXPLICIT_TYPE_GIVEN $CFLAGS"
fi
-dnl SGI mipsPro compiler gives this warning for "conversion from pointer to
-dnl same-sized integral type" even when there is an explicit cast and as there
-dnl is no way to turn it off and there are hundreds of these warnings in wx
-dnl sources, just turn it off for now
+dnl SGI mipsPro compiler version 7.4.4 and later (and maybe some earlier
+dnl versions too but it's known that 7.4.2 doesn't give this warning but does
+dnl instead warn about "unknown warning number 3970" which explains that we
+dnl don't want to do this for it) gives this warning for "conversion from
+dnl pointer to same-sized integral type" even when there is an explicit cast
+dnl and as there is no way to turn it off and there are hundreds of these
+dnl warnings in wx sources, just turn it off for now
dnl
dnl a better long term solution would be to use #pragma set/reset woff in
dnl wxPtrToUInt() and use it instead of casts elsewhere
if test "x$SGICC" = "xyes"; then
- CFLAGS="-woff 3970 $CFLAGS"
+ AC_CACHE_CHECK([if cc version is 7.4.4 or greater],
+ wx_cv_prog_sgicc744,
+ [
+ AC_TRY_COMPILE([],
+ [
+ #if _SGI_COMPILER_VERSION >= 744
+ chock me: mipsPro is 7.4.4 or later
+ #endif
+ ],
+ wx_cv_prog_sgicc744=no,
+ wx_cv_prog_sgicc744=yes
+ )
+ ]
+ )
+
+ if test "x$wx_cv_prog_sgicc744" = "xyes"; then
+ CFLAGS="-woff 3970 $CFLAGS"
+ fi
fi
if test "x$SGICXX" = "xyes"; then
- CXXFLAGS="-woff 3970 $CXXFLAGS"
+ AC_CACHE_CHECK([if CC version is 7.4.4 or greater],
+ wx_cv_prog_sgicxx744,
+ [
+ AC_LANG_PUSH(C++)
+ AC_TRY_COMPILE([],
+ [
+ #if _SGI_COMPILER_VERSION >= 744
+ chock me: mipsPro is 7.4.4 or later
+ #endif
+ ],
+ wx_cv_prog_sgicxx744=no,
+ wx_cv_prog_sgicxx744=yes
+ )
+ AC_LANG_POP()
+ ]
+ )
+
+ if test "x$wx_cv_prog_sgicxx744" = "xyes"; then
+ CXXFLAGS="-woff 3970 $CXXFLAGS"
+ fi
fi
dnl HP-UX c89/aCC compiler warnings
AC_CHECK_HEADER(png.h,,, [ ])
if test "$ac_cv_header_png_h" = "yes"; then
- AC_CHECK_LIB(png, png_check_sig, PNG_LINK=" -lpng -lz", , [-lz -lm])
+ AC_CHECK_LIB(png, png_sig_cmp, PNG_LINK=" -lpng -lz", , [-lz -lm])
fi
if test "x$PNG_LINK" = "x" ; then
dnl --- FIXME: This is still a somewhat random list of libs,
dnl --- some of them should probably be included conditionally.
case "${host}" in
- x86_64-*-mingw32* )
+ x86_64-*-mingw32* )
dnl --- For mingw-w64 lctl3d32's name has changed
LIBS="$LIBS -lwinspool -lwinmm -lshell32 -lcomctl32 -lcomdlg32 -lwctl3d32 -ladvapi32 -lwsock32 -lgdi32"
TOOLCHAIN_DEFS="${TOOLCHAIN_DEFS} -D__WXMAC__ -D__WXOSX__"
fi
+ if test "$wxUSE_OSX_IPHONE" = 1; then
+ TOOLKIT=OSX_IPHONE
+ fi
+
if test "$wxUSE_OLD_COCOA" = 1; then
TOOLKIT=COCOA
GUIDIST=COCOA_DIST
dnl ---------------------------------------------------------------------------
-dnl wxDisplay Sanity checks
+dnl wxDisplay checks
dnl ---------------------------------------------------------------------------
+USE_XINERAMA=0
if test "$wxUSE_DISPLAY" = "yes"; then
-dnl ---------------------------------------------------------------------------
-dnl Xinerama (for unix ) - Brian Victor
-dnl ---------------------------------------------------------------------------
- if test "$wxUSE_UNIX" = "yes" -a "$wxUSE_MAC" != 1 -a "$wxUSE_OLD_COCOA" != 1; then
+ dnl Xinerama is used for wxGTK1/wxX11/wxMotif only
+ if test "$wxUSE_MOTIF" = 1 -o "$wxUSE_X11" = 1 -o "$wxUSE_GTK1" = 1; then
AC_MSG_CHECKING([for Xinerama])
WX_PATH_FIND_LIBRARIES([$SEARCH_LIB],Xinerama)
if test "$ac_find_libraries" != "" ; then
if test "$ac_path_to_link" != " -L/usr/lib" ; then
LDFLAGS="$LDFLAGS $ac_path_to_link"
fi
+ USE_XINERAMA=1
GUI_TK_LIBRARY="$GUI_TK_LIBRARY -lXinerama"
AC_MSG_RESULT([yes])
-
- AC_MSG_CHECKING([for Xxf86vm extension])
- WX_PATH_FIND_LIBRARIES([$SEARCH_LIB],Xxf86vm)
- if test "$ac_find_libraries" != "" ; then
- AC_MSG_RESULT([yes])
- AC_CHECK_HEADERS([X11/extensions/xf86vmode.h],
- [
- GUI_TK_LIBRARY="$GUI_TK_LIBRARY -lXxf86vm"
- ],
- [],
- [
- #if HAVE_X11_XLIB_H
- #include <X11/Xlib.h>
- #endif
- ])
- else
- AC_MSG_RESULT([no])
- fi
-
else
AC_MSG_RESULT([no])
AC_MSG_WARN([Xinerama not found; disabling wxDisplay])
wxUSE_DISPLAY="no"
fi
elif test "$wxUSE_MSW" = 1; then
-dnl ---------------------------------------------------------------------------
-dnl DirectDraw for MSW - optionally used by WxDisplay.
-dnl ---------------------------------------------------------------------------
+ dnl DirectDraw for MSW - optionally used by WxDisplay.
AC_CHECK_HEADER([ddraw.h], [], [], [#include <windows.h>])
fi
fi
+if test "$wxUSE_DISPLAY" = "yes"; then
+ dnl wxGTK2 needs Xxf86vm as well as Xinerama-using ports from above
+ if test "$USE_XINERAMA" = 1 -o "$wxUSE_GTK" = 1; then
+ AC_MSG_CHECKING([for Xxf86vm extension])
+ WX_PATH_FIND_LIBRARIES([$SEARCH_LIB],Xxf86vm)
+ if test "$ac_find_libraries" != "" ; then
+ AC_MSG_RESULT([yes])
+ AC_CHECK_HEADERS([X11/extensions/xf86vmode.h],
+ [
+ GUI_TK_LIBRARY="$GUI_TK_LIBRARY -lXxf86vm"
+ ],
+ [],
+ [
+ #if HAVE_X11_XLIB_H
+ #include <X11/Xlib.h>
+ #endif
+ ])
+ else
+ AC_MSG_RESULT([no])
+ fi
+ fi
+fi
+
dnl ---------------------------------------------------------------------------
dnl X11 session management
dnl ---------------------------------------------------------------------------
fi
;;
+ *-*-qnx*)
+ dnl under QNX thread functions are in libc so we don't need any
+ dnl special options to link with them
+ THREAD_OPTS=""
+ ;;
+
*-*-*UnixWare*)
dnl flying by man pages here: Caldera online docs use this
if test "x$GCC" != "xyes"; then
;;
esac
- dnl simply linking with libpthread should make the test below work but
- dnl it's far from certain that the threaded programs compiled without
- dnl any special switches actually work, so try it after all the others
- THREAD_OPTS="$THREAD_OPTS pthread none"
+ case "${host}" in
+ *-*-qnx*)
+ dnl -lpthread works, i.e. AC_TRY_LINK() would pass, but results
+ dnl in warnings and is not needed under QNX so try without it
+ dnl first
+ THREAD_OPTS="none pthread"
+ ;;
+
+ *)
+ dnl simply linking with libpthread should make the test below
+ dnl work but it's far from certain that the threaded programs
+ dnl compiled without any special switches actually work, so try
+ dnl it after all the others
+ THREAD_OPTS="$THREAD_OPTS pthread none"
+ ;;
+ esac
dnl now test for all possibilities
THREADS_OK=no
if test "$GCC" = "yes" ; then
if test "$wxUSE_NO_RTTI" = "yes" ; then
- WXCONFIG_CXXFLAGS="$WXCONFIG_CXXFLAGS -fno-rtti"
+ dnl Define wxNO_RTTI on the command line because only g++ 4.3 and later
+ dnl define __GXX_RTTI which allows us to detect the use of -fno-rtti
+ dnl switch but we need to do it manually for the older versions.
+ WXCONFIG_CXXFLAGS="$WXCONFIG_CXXFLAGS -DwxNO_RTTI -fno-rtti"
fi
if test "$wxUSE_NO_EXCEPTIONS" = "yes" ; then
WXCONFIG_CXXFLAGS="$WXCONFIG_CXXFLAGS -fno-exceptions"
dnl ---------------------------------------------------------------------------
if test "$wxUSE_FSWATCHER" = "yes"; then
- AC_DEFINE(wxUSE_FSWATCHER)
- SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS fswatcher"
-
- if test "$wxUSE_UNIX" = "yes"; then
- AC_CHECK_HEADERS(sys/inotify.h,,, [AC_INCLUDES_DEFAULT()])
- if test "$ac_cv_header_sys_inotify_h" = "yes"; then
- AC_DEFINE(wxHAS_INOTIFY)
- else
- AC_CHECK_HEADERS(sys/event.h,,, [AC_INCLUDES_DEFAULT()])
- if test "$ac_cv_header_sys_event_h" = "yes"; then
- AC_DEFINE(wxHAS_KQUEUE)
+ dnl wxFileSystemWatcher is always available under MSW but we need either
+ dnl inotify or kqueue support in the system for it under Unix (this
+ dnl includes OS X which does have kqueue but no other platforms)
+ if test "$wxUSE_MSW" != "1"; then
+ if test "$wxUSE_UNIX" = "yes"; then
+ AC_CHECK_HEADERS(sys/inotify.h,,, [AC_INCLUDES_DEFAULT()])
+ if test "$ac_cv_header_sys_inotify_h" = "yes"; then
+ AC_DEFINE(wxHAS_INOTIFY)
else
- AC_MSG_WARN([No native wxFileSystemWatcher implementation available for on this platform])
+ AC_CHECK_HEADERS(sys/event.h,,, [AC_INCLUDES_DEFAULT()])
+ if test "$ac_cv_header_sys_event_h" = "yes"; then
+ AC_DEFINE(wxHAS_KQUEUE)
+ else
+ wxUSE_FSWATCHER=no
+ fi
fi
+ else
+ wxUSE_FSWATCHER=no
fi
fi
+
+ if test "$wxUSE_FSWATCHER" = "yes"; then
+ AC_DEFINE(wxUSE_FSWATCHER)
+ SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS fswatcher"
+ else
+ AC_MSG_WARN([wxFileSystemWatcher won't be available on this platform])
+ fi
fi
dnl ---------------------------------------------------------------------------
fi
fi
+if test "$wxUSE_FILE_HISTORY" = "yes"; then
+ AC_DEFINE(wxUSE_FILE_HISTORY)
+fi
+
if test "$wxUSE_FILESYSTEM" = "yes"; then
if test "$wxUSE_STREAMS" != yes -o \( "$wxUSE_FILE" != yes -a "$wxUSE_FFILE" != yes \); then
AC_MSG_WARN(wxFileSystem requires wxStreams and wxFile or wxFFile... disabled)
AC_DEFINE(wxUSE_MOUSEWHEEL)
fi
+if test "$wxUSE_UIACTIONSIMULATOR" = "yes" ; then
+ AC_DEFINE(wxUSE_UIACTIONSIMULATOR)
+ SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS uiaction"
+fi
+
dnl ---------------------------------------------------------------------------
dnl GUI controls
dnl ---------------------------------------------------------------------------
dnl GDI+ DLL dynamically anyhow during run-time
AC_LANG_PUSH(C++)
AC_TRY_COMPILE(
- [#include <gdiplus.h>],
+ [#include <windows.h>
+ #include <gdiplus.h>],
[
using namespace Gdiplus;
],
AC_SUBST(UNICODE)
AC_SUBST(DEBUG_INFO)
AC_SUBST(DEBUG_FLAG)
-TOOLKIT_LOWERCASE=xxx
-if test "$TOOLKIT" = "MAC"; then
- TOOLKIT_LOWERCASE=osx_carbon
-fi
-if test "$TOOLKIT" = "OSX_CARBON"; then
- TOOLKIT_LOWERCASE=osx_carbon
-fi
-if test "$TOOLKIT" = "OSX_COCOA"; then
- TOOLKIT_LOWERCASE=osx_cocoa
-fi
-if test "$TOOLKIT_LOWERCASE" = "xxx"; then
- TOOLKIT_LOWERCASE=`echo $TOOLKIT | tr '[[A-Z]]' '[[a-z]]'`
-fi
+TOOLKIT_LOWERCASE=`echo $TOOLKIT | tr '[[A-Z]]' '[[a-z]]'`
AC_SUBST(TOOLKIT_LOWERCASE)
AC_SUBST(TOOLKIT_VERSION)
AC_SUBST(DYLIB_RPATH_INSTALL)