X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/ddc1a35fc927bff5b9f1a4ed7189e794e314fc05..5fae0f97a11558c2999ba3446ba408788c0b6a58:/configure.in diff --git a/configure.in b/configure.in index 6e3a733bc4..d17d2570c1 100644 --- a/configure.in +++ b/configure.in @@ -417,6 +417,7 @@ if test $DEBUG_CONFIGURE = 1; then DEFAULT_wxUSE_OPENGL=no DEFAULT_wxUSE_ON_FATAL_EXCEPTION=no + DEFAULT_wxUSE_STACKWALKER=no DEFAULT_wxUSE_SNGLINST_CHECKER=no DEFAULT_wxUSE_STD_IOSTREAM=no DEFAULT_wxUSE_CMDLINE_PARSER=no @@ -512,6 +513,7 @@ if test $DEBUG_CONFIGURE = 1; then DEFAULT_wxUSE_CHOICE=no DEFAULT_wxUSE_CHOICEBOOK=no DEFAULT_wxUSE_COMBOBOX=no + DEFAULT_wxUSE_DATEPICKCTRL=no DEFAULT_wxUSE_DISPLAY=no DEFAULT_wxUSE_GAUGE=no DEFAULT_wxUSE_GRID=no @@ -607,6 +609,7 @@ else DEFAULT_wxUSE_OPENGL=no DEFAULT_wxUSE_ON_FATAL_EXCEPTION=yes + DEFAULT_wxUSE_STACKWALKER=yes DEFAULT_wxUSE_SNGLINST_CHECKER=yes DEFAULT_wxUSE_STD_IOSTREAM=no DEFAULT_wxUSE_CMDLINE_PARSER=yes @@ -702,6 +705,7 @@ else DEFAULT_wxUSE_CHOICE=yes DEFAULT_wxUSE_CHOICEBOOK=yes DEFAULT_wxUSE_COMBOBOX=yes + DEFAULT_wxUSE_DATEPICKCTRL=yes DEFAULT_wxUSE_DISPLAY=yes DEFAULT_wxUSE_GAUGE=yes DEFAULT_wxUSE_GRID=yes @@ -881,6 +885,7 @@ WX_ARG_ENABLE(ipc, [ --enable-ipc use interprocess communi dnl please keep the settings below in alphabetical order WX_ARG_ENABLE(apple_ieee, [ --enable-apple_ieee use the Apple IEEE codec], wxUSE_APPLE_IEEE) WX_ARG_ENABLE(catch_segvs, [ --enable-catch_segvs catch signals in wxApp::OnFatalException (Unix only)], wxUSE_ON_FATAL_EXCEPTION) +WX_ARG_ENABLE(backtrace, [ --enable-backtrace use wxStackWalker class for getting backtraces], wxUSE_STACKWALKER) WX_ARG_ENABLE(cmdline, [ --enable-cmdline use wxCmdLineParser class], wxUSE_CMDLINE_PARSER) WX_ARG_ENABLE(datetime, [ --enable-datetime use wxDateTime class], wxUSE_DATETIME) WX_ARG_ENABLE(dialupman, [ --enable-dialupman use dialup network classes], wxUSE_DIALUP_MANAGER) @@ -985,13 +990,14 @@ if test "$wxUSE_CONTROLS" = "yes"; then DEFAULT_wxUSE_ACCEL=yes DEFAULT_wxUSE_BMPBUTTON=yes DEFAULT_wxUSE_BUTTON=yes - DEFAULT_wxUSE_CALCTRL=no + DEFAULT_wxUSE_CALCTRL=yes DEFAULT_wxUSE_CARET=yes DEFAULT_wxUSE_COMBOBOX=yes DEFAULT_wxUSE_CHECKBOX=yes DEFAULT_wxUSE_CHECKLISTBOX=yes DEFAULT_wxUSE_CHOICE=yes DEFAULT_wxUSE_CHOICEBOOK=yes + DEFAULT_wxUSE_DATEPICKCTRL=yes DEFAULT_wxUSE_GAUGE=yes DEFAULT_wxUSE_GRID=yes DEFAULT_wxUSE_IMAGLIST=yes @@ -1031,6 +1037,7 @@ elif test "$wxUSE_CONTROLS" = "no"; then DEFAULT_wxUSE_CHECKLISTBOX=no DEFAULT_wxUSE_CHOICE=no DEFAULT_wxUSE_CHOICEBOOK=no + DEFAULT_wxUSE_DATEPICKCTRL=no DEFAULT_wxUSE_GAUGE=no DEFAULT_wxUSE_GRID=no DEFAULT_wxUSE_IMAGLIST=no @@ -1071,6 +1078,7 @@ WX_ARG_ENABLE(checklst, [ --enable-checklst use wxCheckListBox (listbo WX_ARG_ENABLE(choice, [ --enable-choice use wxChoice class], wxUSE_CHOICE) WX_ARG_ENABLE(choicebook, [ --enable-choicebook use wxChoicebook class], wxUSE_CHOICEBOOK) WX_ARG_ENABLE(combobox, [ --enable-combobox use wxComboBox class], wxUSE_COMBOBOX) +WX_ARG_ENABLE(datepick, [ --enable-datepick use wxDatePickerCtrl class], wxUSE_DATEPICKCTRL) WX_ARG_ENABLE(display, [ --enable-display use wxDisplay class], wxUSE_DISPLAY) WX_ARG_ENABLE(gauge, [ --enable-gauge use wxGauge class], wxUSE_GAUGE) WX_ARG_ENABLE(grid, [ --enable-grid use wxGrid class], wxUSE_GRID) @@ -1351,6 +1359,7 @@ dnl default CFLAGS (something like "-g -O2") -- we don't need this as we add dnl -g and -O flags ourselves below CFLAGS=${CFLAGS:=} AC_PROG_CC +AC_BAKEFILE_PROG_MWCC dnl is -traditional needed for correct compilations dnl adds -traditional for gcc if needed @@ -1368,6 +1377,7 @@ dnl dnl see CFLAGS line above CXXFLAGS=${CXXFLAGS:=} AC_PROG_CXX +AC_BAKEFILE_PROG_MWCXX AC_LANG_RESTORE @@ -2375,7 +2385,6 @@ dnl Check for libmspack dnl ------------------------------------------------------------------------ if test "$wxUSE_LIBMSPACK" != "no"; then - AC_CHECK_HEADER([mspack.h], [found_mspack_h=1]) if test "x$found_mspack_h" = "x1"; then AC_CHECK_LIB(mspack, mspack_create_chm_decompressor, @@ -2383,11 +2392,13 @@ if test "$wxUSE_LIBMSPACK" != "no"; then fi if test "x$MSPACK_LINK" = "x" ; then wxUSE_LIBMSPACK=no - else - AC_DEFINE(wxUSE_LIBMSPACK) fi fi +if test "$wxUSE_LIBMSPACK" != "no"; then + AC_DEFINE(wxUSE_LIBMSPACK) +fi + dnl ---------------------------------------------------------------- dnl search for toolkit (widget sets) @@ -3684,7 +3695,27 @@ if test "$ac_cv_func_vsnprintf" = "yes"; then vsnprintf(buf, 10u, "%s", ap); ], wx_cv_func_vsnprintf_decl=yes, - wx_cv_func_vsnprintf_decl=no + [ + dnl Metrowerks does provide a vsnprintf declaration + dnl but in C++ mode it's always in std namespace. + dnl FIXME: Do we have any UNIX C++ compilers that would + dnl fail this test if using namespace std; was + dnl simply always included? + AC_TRY_COMPILE( + [ + #include + #include + using namespace std; + ], + [ + char *buf; + va_list ap; + vsnprintf(buf, 10u, "%s", ap); + ], + wx_cv_func_vsnprintf_decl=yes, + wx_cv_func_vsnprintf_decl=no + ) + ] ) ] ) @@ -3758,6 +3789,53 @@ if test "$wxUSE_ON_FATAL_EXCEPTION" = "yes" -a "$wxUSE_UNIX" = "yes"; then fi fi +dnl backtrace() and backtrace_symbols() for wxStackWalker +if test "$wxUSE_STACKWALKER" = "yes" -a "$wxUSE_UNIX" = "yes"; then + AC_LANG_SAVE + AC_LANG_CPLUSPLUS + + AC_CACHE_CHECK([for backtrace() in ], wx_cv_func_backtrace, + [ + AC_TRY_COMPILE([#include ], + [ + void *trace[1]; + char **messages; + + backtrace(trace, 1); + messages = backtrace_symbols(trace, 1); + ], + wx_cv_func_backtrace=yes, + wx_cv_func_backtrace=no + ) + ] + ) + + + if test "$wx_cv_func_backtrace" = "no"; then + AC_MSG_WARN([backtrace() is not available, wxStackWalker will not be available]) + wxUSE_STACKWALKER=no + else + AC_CACHE_CHECK([for __cxa_demangle() in ], wx_cv_func_cxa_demangle, + [ + AC_TRY_COMPILE([#include ], + [ + int rc; + __cxxabiv1::__cxa_demangle("foo", 0, 0, &rc); + ], + wx_cv_func_cxa_demangle=yes, + wx_cv_func_cxa_demangle=no + ) + ] + ) + + if test "$wx_cv_func_cxa_demangle" = "yes"; then + AC_DEFINE(HAVE_CXA_DEMANGLE) + fi + fi + + AC_LANG_RESTORE +fi + dnl check for the function for temp files creation AC_CHECK_FUNCS(mkstemp mktemp, break) @@ -4174,10 +4252,6 @@ if test "$TOOLKIT" != "MSW" -a "$USE_OS2" != 1; then if test "x$GCC" != "xyes"; then dnl see http://docs.hp.com/hpux/onlinedocs/2213/threads.htm flag="$flag -D_RWSTD_MULTI_THREAD" - - dnl we also need -lcma for user threads (-lpthread is for - dnl kernel threads only) according to Ian Brown - LIBS="$LIBS -lcma" fi ;; *solaris* | alpha*-osf*) @@ -4500,21 +4574,19 @@ dnl the library may be built without GUI classes at all dnl --------------------------------------------------------------------------- if test "$wxUSE_GUI" = "yes"; then - AC_DEFINE(wxUSE_GUI) - - dnl the things we always pull in the GUI version of the library: - dnl 1. basic things like wxApp, wxWindow, wxControl, wxFrame, wxDialog (the - dnl library really can't be built without those) - dnl 2. basic controls: wxButton, wxStaticText, wxTextCtrl (these are used in - dnl almost any program and the first 2 are needed to show a message box - dnl which want to be always able to do) - dnl 3. GDI stuff: icon, cursors and all that. Although it would be very nice - dnl to compile without them (if the app doesn't do any drawing, it doesn't - dnl need the dcs, pens, brushes, ...), this just can't be done now - dnl 4. menu stuff: wxMenu, wxMenuBar, wxMenuItem - dnl 5. misc stuff: timers, settings, message box -else - AC_DEFINE(wxUSE_NOGUI) + AC_DEFINE(wxUSE_GUI) + + dnl the things we always pull in the GUI version of the library: + dnl 1. basic things like wxApp, wxWindow, wxControl, wxFrame, wxDialog (the + dnl library really can't be built without those) + dnl 2. basic controls: wxButton, wxStaticText, wxTextCtrl (these are used in + dnl almost any program and the first 2 are needed to show a message box + dnl which want to be always able to do) + dnl 3. GDI stuff: icon, cursors and all that. Although it would be very nice + dnl to compile without them (if the app doesn't do any drawing, it doesn't + dnl need the dcs, pens, brushes, ...), this just can't be done now + dnl 4. menu stuff: wxMenu, wxMenuBar, wxMenuItem + dnl 5. misc stuff: timers, settings, message box fi dnl --------------------------------------------------------------------------- @@ -4723,6 +4795,10 @@ if test "$wxUSE_ON_FATAL_EXCEPTION" = "yes"; then AC_DEFINE(wxUSE_ON_FATAL_EXCEPTION) fi +if test "$wxUSE_STACKWALKER" = "yes"; then + AC_DEFINE(wxUSE_STACKWALKER) +fi + if test "$wxUSE_SNGLINST_CHECKER" = "yes"; then AC_DEFINE(wxUSE_SNGLINST_CHECKER) fi @@ -5459,6 +5535,11 @@ if test "$wxUSE_CHECKLST" = "yes"; then SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS checklst" fi +if test "$wxUSE_DATEPICKCTRL" = "yes"; then + AC_DEFINE(wxUSE_DATEPICKCTRL) + USES_CONTROLS=1 +fi + if test "$wxUSE_DISPLAY" = "yes"; then AC_DEFINE(wxUSE_DISPLAY) SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS display" @@ -5573,6 +5654,8 @@ if test "$wxUSE_STATLINE" = "yes"; then fi if test "$wxUSE_STATUSBAR" = "yes"; then + dnl this will get undefined in wx/chkconf.h if it's not supported + AC_DEFINE(wxUSE_NATIVE_STATUSBAR) AC_DEFINE(wxUSE_STATUSBAR) USES_CONTROLS=1 @@ -6067,6 +6150,21 @@ CPPFLAGS=`echo $WXDEBUG_DEFINE $INCLUDES $CPPFLAGS` CFLAGS=`echo $CODE_GEN_FLAGS $EXTRA_CFLAGS $CFLAGS $CWARNINGS` CXXFLAGS=`echo $CODE_GEN_FLAGS $CODE_GEN_FLAGS_CXX $EXTRA_CFLAGS $CXXFLAGS $CXXWARNINGS` +if test "x$MWCC" = "xyes"; then + dnl Correct MW 8.3 to be more similar to GCC. In particular we + dnl must use from system not our local copy on OS X, + dnl but must use local not system on OS 9. + dnl The following should make all -I paths usable for <> includes + dnl while first checking in real system paths. With 8.3 using + dnl -gccincludes it will actually check local paths before system + dnl even for <> which is totally wrong. + + dnl Note that because this absolutely needs to be before any -I + dnl that we have to tack it on to the end of the compiler commandline. + CC="$CC -cwd source -I-" + CXX="$CXX -cwd source -I-" +fi + LIBS=`echo $LIBS` EXTRALIBS="$LDFLAGS $LDFLAGS_VERSIONING $LIBS $DMALLOC_LIBS" @@ -6235,10 +6333,14 @@ else 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 NO_GCC_PRAGMA and WX_PRECOMP: if test $GCC_PCH = 1 ; then - GCC_PRAGMA_FLAGS="-DWX_PRECOMP -DNO_GCC_PRAGMA" + GCC_PRAGMA_FLAGS="-DNO_GCC_PRAGMA" + PCH_FLAGS="-DWX_PRECOMP" else case "${host}" in powerpc-*-darwin* ) @@ -6285,7 +6387,7 @@ else ;; esac fi -CPPFLAGS="$GCC_PRAGMA_FLAGS $CPPFLAGS" +CPPFLAGS="$PCH_FLAGS $GCC_PRAGMA_FLAGS $CPPFLAGS" dnl for convenience, sort the samples in alphabetical order @@ -6491,7 +6593,7 @@ echo " odbc ${wxUSE_ODBC}" echo " expat ${wxUSE_EXPAT}" echo " libmspack ${wxUSE_LIBMSPACK}" echo " sdl ${wxUSE_LIBSDL}" -echo " gnomeprint ${wxUSE_LIBGNOMEPRINT}" +echo " gnomeprint ${wxUSE_LIBGNOMEPRINT-none}" echo ""