X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/ebda9490d04c253521acf83fdba3662cba3e18c9..24a39c0dd5b46ad2de22da1c21758e651a24bd9b:/configure.in diff --git a/configure.in b/configure.in index fb536f52e5..049fdabfa5 100644 --- a/configure.in +++ b/configure.in @@ -495,6 +495,7 @@ WX_ARG_SYS_WITH(libjpeg, [ --with-libjpeg use libjpeg (JPEG file for 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) @@ -586,7 +587,7 @@ WX_ARG_ENABLE(no_exceptions, [ --enable-no_exceptions create code without C++ 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) @@ -615,7 +616,7 @@ WX_ARG_FEATURE(dataobj, [ --enable-dataobj use data object classes 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 @@ -667,6 +668,9 @@ WX_ARG_FEATURE(protocol_file, [ --enable-protocol-file FILE support in wxProto 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 --------------------------------------------------------------------------- @@ -732,6 +736,7 @@ if test "$wxUSE_CONTROLS" = "yes"; then 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 @@ -785,6 +790,7 @@ elif test "$wxUSE_CONTROLS" = "no"; then 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 @@ -842,6 +848,7 @@ WX_ARG_FEATURE(display, [ --enable-display use wxDisplay class], wxU 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) @@ -934,10 +941,8 @@ dnl wxMSW-only options 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) @@ -1210,6 +1215,13 @@ dnl We need to quote the next line where we don't need macros and do need [] in [ 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]) @@ -1499,7 +1511,7 @@ dnl ------------------------------------------------------------------------ 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 @@ -1978,6 +1990,9 @@ if test "$wxUSE_STL" = "yes"; then fi fi +dnl check for atomic operations builtins for wx/atomic.h: +WX_ATOMIC_BUILTINS + dnl pop C++ AC_LANG_POP() @@ -2542,6 +2557,9 @@ if test "$wxUSE_LIBTIFF" != "no" ; then 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 @@ -3490,9 +3508,7 @@ dnl --------------------------------------------------------------------------- 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; @@ -3946,50 +3962,6 @@ dnl to not typedef Point and thus fix the problem. 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 --------------------------------------------------------------------------- @@ -4265,36 +4237,6 @@ if test "$ac_cv_func_snprintf" = "yes"; then 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 - #include - #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 @@ -4338,38 +4280,6 @@ fi 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 - #include - #include - ], - [ - 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 @@ -4383,7 +4293,7 @@ if test "$wxUSE_UNICODE" = yes; then 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 @@ -4397,10 +4307,6 @@ if test "$wxUSE_UNICODE" = yes; then [AC_MSG_RESULT([no])]); fi -if test "x$ac_cv_header_fnmatch_h" = "xyes"; then - WX_CHECK_FUNCS(fnmatch,,,[#include ]) -fi - if test "$wxUSE_FILE" = "yes"; then WX_CHECK_FUNCS(fsync) fi @@ -4645,11 +4551,11 @@ if test "$wxUSE_SNGLINST_CHECKER" = "yes"; then 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 @@ -5111,7 +5017,6 @@ fi 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 @@ -5524,6 +5429,23 @@ if test "$WXGTK20" = 1; then 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, @@ -6575,6 +6497,11 @@ if test "$wxUSE_DIRPICKERCTRL" = "yes"; then 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 @@ -7100,36 +7027,40 @@ dnl --------------------------------------------------------------------------- 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 @@ -7566,6 +7497,7 @@ AC_SUBST(EXTRALIBS_GUI) 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) @@ -7587,6 +7519,9 @@ case "$TOOLKIT" in 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 @@ -7676,6 +7611,60 @@ case ${INSTALL} in 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