WX_ARG_SYS_WITH(libtiff, [ --with-libtiff use libtiff (TIFF file format)], wxUSE_LIBTIFF)
WX_ARG_SYS_WITH(libxpm, [ --with-libxpm use libxpm (XPM file format)], wxUSE_LIBXPM)
WX_ARG_WITH(libmspack, [ --with-libmspack use libmspack (CHM help files loading)], wxUSE_LIBMSPACK)
+WX_ARG_WITHOUT(gtkprint, [ --without-gtkprint don't use GTK printing support], wxUSE_GTKPRINT)
WX_ARG_WITHOUT(gnomeprint, [ --without-gnomeprint don't use GNOME printing libraries], wxUSE_LIBGNOMEPRINT)
WX_ARG_WITH(gnomevfs, [ --with-gnomevfs use GNOME VFS for associating MIME types], wxUSE_LIBGNOMEVFS)
WX_ARG_WITH(hildon, [ --with-hildon use Hildon framework for Nokia 770], wxUSE_LIBHILDON)
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_DISABLE(vararg_macros,[ --disable-vararg_macros don't use vararg macros, even if they are supported], wxUSE_VARARG_MACROS)
-WX_ARG_ENABLE_PARAM(universal_binary, [[ --enable-universal_binary create Mac PowerPC and Intel Universal binary (not yet working)]], wxUSE_UNIVERSAL_BINARY)
+WX_ARG_ENABLE_PARAM(universal_binary, [[ --enable-universal_binary create Mac PowerPC and Intel Universal binary]], wxUSE_UNIVERSAL_BINARY)
WX_ARG_ENABLE(compat26, [ --enable-compat26 enable wxWidgets 2.6 compatibility], WXWIN_COMPATIBILITY_2_6)
WX_ARG_DISABLE(compat28, [ --disable-compat28 disable wxWidgets 2.8 compatibility], WXWIN_COMPATIBILITY_2_8)
WX_ARG_FEATURE(ipc, [ --enable-ipc use interprocess communication (wxSocket etc.)], wxUSE_IPC)
WX_ARG_FEATURE(baseevtloop, [ --enable-baseevtloop use event loop in console programs too], wxUSE_CONSOLE_EVENTLOOP)
-WX_ARG_FEATURE(epoolloop, [ --enable-epoolloop use wxEpollDispatcher class (Linux only)], wxUSE_EPOLL_DISPATCHER)
+WX_ARG_FEATURE(epollloop, [ --enable-epollloop use wxEpollDispatcher class (Linux only)], wxUSE_EPOLL_DISPATCHER)
WX_ARG_FEATURE(selectloop, [ --enable-selectloop use wxSelectDispatcher class], wxUSE_SELECT_DISPATCHER)
dnl please keep the settings below in alphabetical order
WX_ARG_FEATURE(threads, [ --enable-threads use threads], wxUSE_THREADS)
+WX_ARG_ENABLE(iniconf, [ --enable-iniconf use wxIniConfig (Win32 only)], wxUSE_INICONF)
+WX_ARG_FEATURE(regkey, [ --enable-regkey use wxRegKey class (Win32 only)], wxUSE_REGKEY)
+
if test "$wxUSE_GUI" = "yes"; then
dnl ---------------------------------------------------------------------------
DEFAULT_wxUSE_DISPLAY=yes
DEFAULT_wxUSE_DETECT_SM=yes
DEFAULT_wxUSE_DIRPICKERCTRL=yes
+ DEFAULT_wxUSE_FILECTRL=yes
DEFAULT_wxUSE_FILEPICKERCTRL=yes
DEFAULT_wxUSE_FONTPICKERCTRL=yes
DEFAULT_wxUSE_GAUGE=yes
DEFAULT_wxUSE_DISPLAY=no
DEFAULT_wxUSE_DETECT_SM=no
DEFAULT_wxUSE_DIRPICKERCTRL=no
+ DEFAULT_wxUSE_FILECTRL=no
DEFAULT_wxUSE_FILEPICKERCTRL=no
DEFAULT_wxUSE_FONTPICKERCTRL=no
DEFAULT_wxUSE_GAUGE=no
WX_ARG_FEATURE(detect_sm, [ --enable-detect_sm use code to detect X11 session manager], wxUSE_DETECT_SM)
WX_ARG_FEATURE(editablebox, [ --enable-editablebox use wxEditableListBox class], wxUSE_EDITABLELISTBOX)
WX_ARG_FEATURE(filepicker, [ --enable-filepicker use wxFilePickerCtrl class], wxUSE_FILEPICKERCTRL)
+WX_ARG_FEATURE(filectrl, [ --enable-filectrl use wxFileCtrl class], wxUSE_FILECTRL)
WX_ARG_FEATURE(fontpicker, [ --enable-fontpicker use wxFontPickerCtrl class], wxUSE_FONTPICKERCTRL)
WX_ARG_FEATURE(gauge, [ --enable-gauge use wxGauge class], wxUSE_GAUGE)
WX_ARG_FEATURE(grid, [ --enable-grid use wxGrid class], wxUSE_GRID)
dnl ---------------------------------------------------------------------------
WX_ARG_FEATURE(dccache, [ --enable-dccache cache temporary wxDC objects (Win32 only)], wxUSE_DC_CACHEING)
-WX_ARG_ENABLE(iniconf, [ --enable-iniconf use wxIniConfig (Win32 only)], wxUSE_INICONF)
WX_ARG_FEATURE(ps-in-msw, [ --enable-ps-in-msw use PS printing in wxMSW (Win32 only)], wxUSE_POSTSCRIPT_ARCHITECTURE_IN_MSW)
WX_ARG_FEATURE(ownerdrawn, [ --enable-ownerdrawn use owner drawn controls (Win32 only)], wxUSE_OWNER_DRAWN)
-WX_ARG_FEATURE(regkey, [ --enable-regkey use wxRegKey class (Win32 only)], wxUSE_REGKEY)
WX_ARG_FEATURE(uxtheme, [ --enable-uxtheme enable support for Windows XP themed look (Win32 only)], wxUSE_UXTHEME)
WX_ARG_FEATURE(wxdib, [ --enable-wxdib use wxDIB class (Win32 only)], wxUSE_DIB)
[
MACOSX_SDK_PLIST_VERSION_MIN=`defaults read "$wxUSE_MACOSX_SDK/SDKSettings" buildSettings | grep '^ *"\{0,1\}MACOSX_DEPLOYMENT_TARGET"\{0,1\} *= *"\{0,1\}[^"]*"\{0,1\}; *$' | sed 's/^ *"\{0,1\}MACOSX_DEPLOYMENT_TARGET"\{0,1\} *= *"\{0,1\}\([^"]*\)"\{0,1\} *; *$/\1/'`
]
+ # If that failed, try again with the new key
+ if test "x$MACOSX_SDK_PLIST_VERSION_MIN" == "x"; then
+[
+ MACOSX_SDK_PLIST_VERSION_MIN=`defaults read "$wxUSE_MACOSX_SDK/SDKSettings" DefaultProperties | grep '^ *"\{0,1\}MACOSX_DEPLOYMENT_TARGET"\{0,1\} *= *"\{0,1\}[^"]*"\{0,1\}; *$' | sed 's/^ *"\{0,1\}MACOSX_DEPLOYMENT_TARGET"\{0,1\} *= *"\{0,1\}\([^"]*\)"\{0,1\} *; *$/\1/'`
+]
+ fi
+
if test "x$MACOSX_SDK_PLIST_VERSION_MIN" != "x"; then
wxUSE_MACOSX_VERSION_MIN=$MACOSX_SDK_PLIST_VERSION_MIN
AC_MSG_RESULT([$wxUSE_MACOSX_VERSION_MIN])
dnl Note: non-empty last parameter makes check compile-only,
dnl skipping worthless preprocessing check
-AC_CHECK_HEADERS(stdlib.h fnmatch.h langinfo.h malloc.h unistd.h wchar.h,,, [AC_INCLUDES_DEFAULT()])
+AC_CHECK_HEADERS(langinfo.h wchar.h,,, [AC_INCLUDES_DEFAULT])
dnl maybe wchar_t is in wcstr.h if we don't have wchar.h?
if test "$ac_cv_header_wchar_h" != "yes"; then
fi
fi
+dnl check for atomic operations builtins for wx/atomic.h:
+WX_ATOMIC_BUILTINS
+
dnl pop C++
AC_LANG_POP()
dnl we are using the system library
wxUSE_LIBTIFF=sys
fi
+ if test "$wxUSE_LIBTIFF" = "builtin" ; then
+ AC_CONFIG_SUBDIRS([src/tiff])
+ fi
fi
fi
dnl If UTF-8 support wasn't explicitly enabled or disabled, enable it only
dnl for ports where it makes sense by default (GTK+, DirectFB):
if test "$wxUSE_UNICODE" = "yes" -a "$wxUSE_UNICODE_UTF8" = "auto" ; then
- if test "$TOOLKIT" = "DFB" ; then
- wxUSE_UNICODE_UTF8=yes
- elif test "$TOOLKIT" = "GTK" -a "$WXGTK20" = "1" ; then
+ if test "$USE_UNIX" = "1" -a "$wxUSE_DARWIN" != "1" ; then
wxUSE_UNICODE_UTF8=yes
elif test "$USE_OS2" = "1" ; then
dnl wide char support is quite incomplete in libc;
AC_LANG_RESTORE
fi
-if test "$wxUSE_MAC" = 1 -o "$wxUSE_COCOA" = 1; then
- dnl base name of the resource file for wxMac must be the same
- dnl as library installation base name (-install_name)
- WX_RESOURCES_MACOSX_ASCII="libwx_${TOOLCHAIN_NAME}.${wx_release_number}.r"
- WX_RESOURCES_MACOSX_DATA="libwx_${TOOLCHAIN_NAME}.${wx_release_number}.rsrc"
-
- dnl add the resources target for wxMac
- LIBWXMACRES="\$(wx_top_builddir)/lib/${WX_RESOURCES_MACOSX_ASCII}"
-
- AC_CHECK_PROG(REZ, Rez, Rez, /Developer/Tools/Rez)
- AC_CHECK_PROG(DEREZ, DeRez, DeRez, /Developer/Tools/DeRez)
- AC_CHECK_PROG(SETFILE, SetFile, SetFile, /Developer/Tools/SetFile)
-
- MACSETFILE="\$(SETFILE)"
-
- dnl resources are bundled both with shared library and applications
- dnl since the carb resource *must* be included in the application
- if test "$wxUSE_MAC" = 1; then
- POSTLINK_COMMAND="\$(REZ) -d __DARWIN__ -t APPL Carbon.r -o"
- RESCOMP="$REZ"
- WXCONFIG_RESFLAGS="-d __DARWIN__ -t APPL Carbon.r -o"
- else
- POSTLINK_COMMAND="cat /dev/null | \$(REZ) -d __DARWIN__ -t APPL ${LIBWXMACRES}"
- RESCOMP="cat /dev/null \| $REZ"
- WXCONFIG_RESFLAGS="-d __DARWIN__ -t APPL \$libdir/$WX_RESOURCES_MACOSX_ASCII"
- fi
-
-else
- dnl default value is to (silently) do nothing in the makefile
- MACSETFILE="@true"
-
- if test "$wxUSE_PM" = 1; then
- RESCOMP="emxbind"
- WXCONFIG_RESFLAGS="-ep"
-
- dnl Is this one really used anywhere for pm?
- POSTLINK_COMMAND="$RESCOMP $WXCONFIG_RESFLAGS"
- else
- POSTLINK_COMMAND="@true"
- fi
-
-fi
-
-
dnl ---------------------------------------------------------------------------
dnl Checks for typedefs
dnl ---------------------------------------------------------------------------
if test "$wx_cv_func_snprintf_decl" = "yes"; then
AC_DEFINE(HAVE_SNPRINTF_DECL)
-
- dnl we know there is an snprintf declaration, but some old headers
- dnl may have one taking a "char *" format instead of "const char *"
- AC_CACHE_CHECK([if snprintf declaration is broken], wx_cv_func_broken_snprintf_decl,
- [
- AC_TRY_COMPILE(
- [
- #include <stdio.h>
- #include <stdarg.h>
- #ifdef __MSL__
- #if __MSL__ >= 0x6000
- namespace std {}
- using namespace std;
- #endif
- #endif
- ],
- [
- char *buf;
- const char *fmt = "%s";
- snprintf(buf, 10u, fmt, "wx");
- ],
- wx_cv_func_broken_snprintf_decl=no,
- wx_cv_func_broken_snprintf_decl=yes
- )
- ]
- )
-
- if test "$wx_cv_func_broken_snprintf_decl" = "yes"; then
- AC_DEFINE(HAVE_BROKEN_SNPRINTF_DECL)
- fi
fi
if test "$wxUSE_PRINTF_POS_PARAMS" = "yes"; then
if test "$wxUSE_UNICODE" = yes; then
- dnl our wxVsnprintf() implementation needs to use the system swprintf() in Unicode
- dnl builds so let's check if swprintf() is declared as C99 imposes:
- dnl int swprintf(wchar_t *s, size_t n, const wchar_t *format, ...);
- dnl or rather as:
- dnl int swprintf(wchar_t *s, const wchar_t *format, ...);
- AC_CHECK_FUNCS(swprintf)
-
- if test "$ac_cv_func_swprintf" = "yes"; then
- AC_CACHE_CHECK([if swprintf declaration is broken], wx_cv_func_broken_swprintf_decl,
- [
- AC_TRY_COMPILE(
- [
- #include <stdio.h>
- #include <stdarg.h>
- #include <wchar.h>
- ],
- [
- wchar_t *buf;
- const wchar_t *fmt = L"test";
- swprintf(buf, 10u, fmt);
- ],
- wx_cv_func_broken_swprintf_decl=no,
- wx_cv_func_broken_swprintf_decl=yes
- )
- ]
- )
-
- if test "$wx_cv_func_broken_swprintf_decl" = "yes"; then
- AC_DEFINE(HAVE_BROKEN_SWPRINTF_DECL)
- fi
- fi
-
dnl also look if we have wide char IO functions, notice that [f]putws are
dnl declared in special widec.h under Solaris
wchar_headers="#include <stdio.h>
fi
esac
- WX_CHECK_FUNCS(wputc wputchar putws fputws wprintf vswprintf,,,
+ WX_CHECK_FUNCS(putws fputws wprintf vswprintf,,,
[$wchar_headers])
dnl MinGW has a vswprintf with a different prototype, and
[AC_MSG_RESULT([no])]);
fi
-if test "x$ac_cv_header_fnmatch_h" = "xyes"; then
- WX_CHECK_FUNCS(fnmatch,,,[#include <fnmatch.h>])
-fi
-
if test "$wxUSE_FILE" = "yes"; then
WX_CHECK_FUNCS(fsync)
fi
fi
fi
-dnl check for timegm() used by datetime.cpp
-AC_CHECK_FUNCS(timegm)
-
dnl look for a function to modify the environment
AC_CHECK_FUNCS(setenv putenv, break)
+if test "$ac_cv_func_setenv" = "yes"; then
+ AC_CHECK_FUNCS(unsetenv)
+fi
HAVE_SOME_SLEEP_FUNC=0
if test "$USE_BEOS" = 1; then
AC_CHECK_FUNC(localtime_r, [ AC_DEFINE(HAVE_LOCALTIME_R) ])
AC_CHECK_FUNC(gmtime_r, [ AC_DEFINE(HAVE_GMTIME_R) ])
-AC_CHECK_FUNC(readdir_r, [ AC_DEFINE(HAVE_READDIR_R) ])
dnl By preference, we probably should use getaddrinfo which avoids thread
dnl safety issues and supports IPv6, however there currently is no code
dnl for it, so testing for it is temporarily disabled and we are restricted
PKG_PROG_PKG_CONFIG()
if test "$wxUSE_PRINTING_ARCHITECTURE" = "yes" ; then
+
+ if test "$wxUSE_GTKPRINT" = "yes" ; then
+
+ PKG_CHECK_MODULES(GTKPRINT,
+ [gtk+-unix-print-2.0 >= 2.10],
+ [
+ CFLAGS="$GTKPRINT_CFLAGS $CFLAGS"
+ CXXFLAGS="$GTKPRINT_CFLAGS $CXXFLAGS"
+ AC_DEFINE(wxUSE_GTKPRINT)
+ ],
+ [
+ AC_MSG_WARN([GTK printing support not found (GTK+ >= 2.10), library will use GNOME printing support or standard PostScript printing])
+ wxUSE_GTKPRINT="no"
+ ]
+ )
+ fi
+
if test "$wxUSE_LIBGNOMEPRINT" = "yes" ; then
PKG_CHECK_MODULES(LIBGNOMEPRINTUI,
USES_CONTROLS=1
fi
+if test "$wxUSE_FILECTRL" = "yes"; then
+ AC_DEFINE(wxUSE_FILECTRL)
+ USES_CONTROLS=1
+fi
+
if test "$wxUSE_FILEPICKERCTRL" = "yes"; then
AC_DEFINE(wxUSE_FILEPICKERCTRL)
USES_CONTROLS=1
if test "$wxUSE_MSW" = 1 ; then
-if test "$wxUSE_DC_CACHEING" = "yes"; then
- AC_DEFINE(wxUSE_DC_CACHEING)
-fi
+ if test "$wxUSE_DC_CACHEING" = "yes"; then
+ AC_DEFINE(wxUSE_DC_CACHEING)
+ fi
-if test "$wxUSE_INICONF" = "yes"; then
- AC_DEFINE(wxUSE_INICONF)
-fi
+ if test "$wxUSE_DIB" = "yes"; then
+ AC_DEFINE(wxUSE_WXDIB)
+ fi
-if test "$wxUSE_DIB" = "yes"; then
- AC_DEFINE(wxUSE_WXDIB)
-fi
+ if test "$wxUSE_OWNER_DRAWN" = "yes"; then
+ AC_DEFINE(wxUSE_OWNER_DRAWN)
+ fi
-if test "$wxUSE_OWNER_DRAWN" = "yes"; then
- AC_DEFINE(wxUSE_OWNER_DRAWN)
-fi
+ if test "$wxUSE_POSTSCRIPT_ARCHITECTURE_IN_MSW" = "yes"; then
+ AC_DEFINE(wxUSE_POSTSCRIPT_ARCHITECTURE_IN_MSW)
+ fi
-if test "$wxUSE_REGKEY" = "yes"; then
- AC_DEFINE(wxUSE_REGKEY)
-fi
+ if test "$wxUSE_UXTHEME" = "yes"; then
+ AC_DEFINE(wxUSE_UXTHEME)
+ fi
-if test "$wxUSE_POSTSCRIPT_ARCHITECTURE_IN_MSW" = "yes"; then
- AC_DEFINE(wxUSE_POSTSCRIPT_ARCHITECTURE_IN_MSW)
fi
+dnl wxUSE_MSW = 1
+
-if test "$wxUSE_UXTHEME" = "yes"; then
- AC_DEFINE(wxUSE_UXTHEME)
-fi
+if test "$USE_WIN32" = 1 ; then
+ if test "$wxUSE_INICONF" = "yes"; then
+ AC_DEFINE(wxUSE_INICONF)
+ fi
+ if test "$wxUSE_REGKEY" = "yes"; then
+ AC_DEFINE(wxUSE_REGKEY)
+ fi
fi
-dnl wxUSE_MSW = 1
+dnl USE_WIN32 = 1
dnl ---------------------------------------------------------------------------
dnl wxGraphicsContext
AC_SUBST(EXTRALIBS_OPENGL)
AC_SUBST(EXTRALIBS_SDL)
AC_SUBST(WITH_PLUGIN_SDL)
+AC_SUBST(EXTRALIBS_GTKPRINT)
AC_SUBST(EXTRALIBS_GNOMEPRINT)
AC_SUBST(EXTRALIBS_GNOMEVFS)
AC_SUBST(EXTRALIBS_HILDON)
TOOLKIT_DESC="GTK+"
if test "$WXGTK20" = 1; then
TOOLKIT_DESC="$TOOLKIT_DESC 2"
+ if test "$wxUSE_GTKPRINT" = "yes" ; then
+ TOOLKIT_EXTRA="$TOOLKIT_EXTRA GTK+ printing";
+ fi
if test "$wxUSE_LIBGNOMEPRINT" = "yes" ; then
TOOLKIT_EXTRA="$TOOLKIT_EXTRA gnomeprint";
fi
INSTALL=`pwd`/${INSTALL} ;;
esac
+if test "$wxUSE_GUI" = "yes"; then
+
+if test "$wxUSE_MSW" = 1 ; then
+ if test "x$WINDRES" = "x"; then
+ AC_MSG_ERROR([Required windres program not found])
+ fi
+
+ RESCOMP="$WINDRES"
+fi
+
+if test "$wxUSE_MAC" = 1 -o "$wxUSE_COCOA" = 1; then
+ dnl base name of the resource file for wxMac must be the same
+ dnl as library installation base name (-install_name)
+ WX_RESOURCES_MACOSX_ASCII="libwx_${TOOLCHAIN_NAME}.${wx_release_number}.r"
+ WX_RESOURCES_MACOSX_DATA="libwx_${TOOLCHAIN_NAME}.${wx_release_number}.rsrc"
+
+ dnl add the resources target for wxMac
+ LIBWXMACRES="\$(wx_top_builddir)/lib/${WX_RESOURCES_MACOSX_ASCII}"
+
+ AC_CHECK_PROG(DEREZ, DeRez, DeRez, /Developer/Tools/DeRez)
+
+ MACSETFILE="\$(SETFILE)"
+
+ dnl resources are bundled both with shared library and applications
+ dnl since the carb resource *must* be included in the application
+ if test "$wxUSE_MAC" = 1; then
+ POSTLINK_COMMAND="\$(REZ) -d __DARWIN__ -t APPL Carbon.r -o"
+ RESCOMP="$REZ"
+ WXCONFIG_RESFLAGS="-d __DARWIN__ -t APPL Carbon.r -o"
+ else
+ POSTLINK_COMMAND="cat /dev/null | \$(REZ) -d __DARWIN__ -t APPL ${LIBWXMACRES}"
+ RESCOMP="cat /dev/null \| $REZ"
+ WXCONFIG_RESFLAGS="-d __DARWIN__ -t APPL \$libdir/$WX_RESOURCES_MACOSX_ASCII"
+ fi
+
+else
+ dnl default value is to (silently) do nothing in the makefile
+ MACSETFILE="@true"
+
+ if test "$wxUSE_PM" = 1; then
+ RESCOMP="emxbind"
+ WXCONFIG_RESFLAGS="-ep"
+
+ dnl Is this one really used anywhere for pm?
+ POSTLINK_COMMAND="$RESCOMP $WXCONFIG_RESFLAGS"
+ else
+ POSTLINK_COMMAND="@true"
+ fi
+fi
+
+fi
+dnl wxUSE_GUI = 1
+
+
dnl find out if the compiler supports PCH
dnl
dnl TODO: this should be in bakefile