dnl Top-level configure.in for wxWidgets by Robert Roebling, Phil Blecker,
dnl Vadim Zeitlin and Ron Lee
dnl
-dnl This script is under the wxWidgets licence.
+dnl This script is under the wxWindows licence.
dnl
dnl Version: $Id$
dnl ---------------------------------------------------------------------------
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_wxUSE_ACCESSIBILITY=no
DEFAULT_wxUSE_IPV6=no
DEFAULT_wxUSE_GSTREAMER8=no
+DEFAULT_wxUSE_UIACTIONSIMULATOR=no
dnl automatic features
DEFAULT_wxUSE_UNICODE_UTF8=auto
# 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
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
fi
if test "x$wxUSE_MACOSX_VERSION_MIN" != "x"; then
- MACOSX_VERSION_MIN_OPTS="-mmacosx-version-min=$wxUSE_MACOSX_VERSION_MIN"
+ if test "$wxUSE_OSX_IPHONE" = 1; then
+ MACOSX_VERSION_MIN_OPTS="-miphoneos-version-min=$wxUSE_MACOSX_VERSION_MIN"
+ else
+ MACOSX_VERSION_MIN_OPTS="-mmacosx-version-min=$wxUSE_MACOSX_VERSION_MIN"
+ fi
eval "CC=\"$CC $MACOSX_VERSION_MIN_OPTS\""
eval "CXX=\"$CXX $MACOSX_VERSION_MIN_OPTS\""
eval "LD=\"$LD $MACOSX_VERSION_MIN_OPTS\""
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
fi
fi
+AC_CHECK_HEADERS([type_traits tr1/type_traits])
+
dnl check for atomic operations builtins for wx/atomic.h:
WX_ATOMIC_BUILTINS
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;
],
EXTRA_FRAMEWORKS=
if test "$wxUSE_MAC" = 1 ; then
if test "$USE_DARWIN" = 1; then
- EXTRA_FRAMEWORKS="-framework IOKit -framework Carbon -framework Cocoa -framework AudioToolbox -framework System -framework OpenGL -framework QuickTime"
+ if test "$wxUSE_OSX_IPHONE" = 1; then
+ EXTRA_FRAMEWORKS="-framework IOKit -framework UIKit -framework CFNetwork -framework AudioToolbox -framework CoreFoundation -framework CoreGraphics -framework OpenGLES -framework Foundation -framework QuartzCore"
+ else
+ EXTRA_FRAMEWORKS="-framework IOKit -framework Carbon -framework Cocoa -framework AudioToolbox -framework System -framework OpenGL -framework QuickTime"
+ fi
fi
fi
if test "$wxUSE_OLD_COCOA" = 1 ; then