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
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
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
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
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)
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
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
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)
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
dnl see CFLAGS line above
CXXFLAGS=${CXXFLAGS:=}
AC_PROG_CXX
+AC_BAKEFILE_PROG_MWCXX
AC_LANG_RESTORE
}
int main()
{
- return foo("hi", 17);
+ foo("hi", 17);
+ return 0;
}],
wx_cv_func_va_copy=yes,
wx_cv_func_va_copy=no
else
WX_LARGEFILE_FLAGS="-D_LARGE_FILES"
fi
+ dnl AC_FUNC_FSEEKO sets HAVE_FSEEKO and $ac_cv_sys_largefile_source
+ AC_FUNC_FSEEKO
+ if test "$ac_cv_sys_largefile_source" != no; then
+ WX_LARGEFILE_FLAGS="$WX_LARGEFILE_FLAGS -D_LARGEFILE_SOURCE=$ac_cv_sys_largefile_source"
+ fi
CPPFLAGS="$CPPFLAGS $WX_LARGEFILE_FLAGS"
fi
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,
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)
save_LIBS="$LIBS"
CFLAGS="$CFLAGS $GTK_CFLAGS"
LIBS="$LIBS $GTK_LIBS"
+
AC_CHECK_FUNCS([pango_font_family_is_monospace])
+
+ dnl test if we have at least GTK+ 2.4:
+ AC_MSG_CHECKING([if GTK+ is version >= 2.4])
+ AC_TRY_COMPILE([
+ #include <gtk/gtk.h>
+ ],
+ [
+ #if !GTK_CHECK_VERSION(2,4,0)
+ #error "Not GTK+ 2.4"
+ #endif
+ ],
+ [
+ AC_DEFINE(__WXGTK24__)
+ AC_MSG_RESULT([yes])
+ ],
+ [
+ AC_MSG_RESULT([no])
+ ])
+
CFLAGS="$save_CFLAGS"
LIBS="$save_LIBS"
else
)
PKG_CHECK_MODULES(PANGOXFT, pangoxft,
[
+ AC_DEFINE(HAVE_PANGO_XFT)
CXXFLAGS="$CXXFLAGS $PANGOXFT_CFLAGS"
GUI_TK_LIBRARY="$GUI_TK_LIBRARY $PANGOXFT_LIBS"
],
dnl ---------------------------------------------------------------------------
dnl DirectDraw / Multimon for MSW
dnl ---------------------------------------------------------------------------
- AC_CHECK_HEADERS([multimon.h ddraw.h], [], [
- wxUSE_DISPLAY="no"
- AC_MSG_WARN([ddraw.h or multimon.h not found; disabling wxDisplay])
- ] )
+ AC_CHECK_HEADERS([multimon.h ddraw.h], [],
+ [
+ wxUSE_DISPLAY="no"
+ AC_MSG_WARN([ddraw.h or multimon.h not found; disabling wxDisplay])
+ ],
+ [#include <windows.h>])
fi
fi
dnl DirectShow MSW
dnl ---------------------------------------------------------------------------
wxUSE_DIRECTSHOW="yes"
- AC_CHECK_HEADERS([dshow.h], [], [
- wxUSE_DIRECTSHOW="no"
- AC_MSG_WARN([DirectShow not installed; consider installing the DirectX7 SDK or higher])
- ] )
+ AC_CHECK_HEADERS([dshow.h], [],
+ [
+ wxUSE_DIRECTSHOW="no"
+ AC_MSG_WARN([DirectShow not installed; consider installing the DirectX7 SDK or higher])
+ ],
+ [#include <windows.h>])
if test "$wxUSE_DIRECTSHOW" = "yes"; then
- AC_DEFINE(wxUSE_DIRECTSHOW)
- LIBS="$LIBS -lstrmiids"
+ AC_DEFINE(wxUSE_DIRECTSHOW)
+ LIBS="$LIBS -lstrmiids"
fi
fi
-
+
SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS mediaplayer"
AC_DEFINE(wxUSE_MEDIACTRL)
fi
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 <stdio.h>
+ #include <stdarg.h>
+ 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
+ )
+ ]
)
]
)
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 <execinfo.h>], wx_cv_func_backtrace,
+ [
+ AC_TRY_COMPILE([#include <execinfo.h>],
+ [
+ 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 <cxxabi.h>], wx_cv_func_cxa_demangle,
+ [
+ AC_TRY_COMPILE([#include <cxxabi.h>],
+ [
+ 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)
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*)
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 ---------------------------------------------------------------------------
PKG_CHECK_MODULES(LIBGNOMEPRINTUI,
[libgnomeprintui-2.2 >= 2.8],
[
- EXTRALIBS_GNOMEPRINT="$LIBGNOMEPRINTUI_LIBS"
+dnl EXTRALIBS_GNOMEPRINT="$LIBGNOMEPRINTUI_LIBS"
CXXFLAGS="$CXXFLAGS $LIBGNOMEPRINTUI_CFLAGS"
AC_DEFINE(wxUSE_LIBGNOMEPRINT)
],
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
else
AC_DEFINE_UNQUOTED(SOCKLEN_T, $wx_cv_type_getsockname3)
fi
+ dnl Do this again for getsockopt as it may be different
+ AC_CACHE_CHECK([what is the type of the fifth argument of getsockopt],
+ wx_cv_type_getsockopt5,
+ [
+ AC_TRY_COMPILE(
+ [
+ #include <sys/types.h>
+ #include <sys/socket.h>
+ ],
+ [
+ socklen_t len;
+ getsockopt(0, 0, 0, 0, &len);
+ ],
+ wx_cv_type_getsockopt5=socklen_t,
+ [
+ dnl the compiler will compile the version with size_t
+ dnl even if the real type of the last parameter is int
+ dnl but it should give at least a warning about
+ dnl converting between incompatible pointer types, so
+ dnl try to use it to get the correct behaviour at
+ dnl least with gcc (otherwise we'd always use size_t)
+ CFLAGS_OLD="$CFLAGS"
+ if test "$GCC" = yes ; then
+ CFLAGS="$CFLAGS -Werror"
+ fi
+
+ AC_TRY_COMPILE(
+ [
+ #include <sys/types.h>
+ #include <sys/socket.h>
+ ],
+ [
+ size_t len;
+ getsockopt(0, 0, 0, 0, &len);
+ ],
+ wx_cv_type_getsockopt5=size_t,
+ AC_TRY_COMPILE(
+ [
+ #include <sys/types.h>
+ #include <sys/socket.h>
+ ],
+ [
+ int len;
+ getsockopt(0, 0, 0, 0, &len);
+ ],
+ wx_cv_type_getsockopt5=int,
+ wx_cv_type_getsockopt5=unknown
+ )
+ )
+
+ CFLAGS="$CFLAGS_OLD"
+ ]
+ )
+ ])
+
+ if test "$wx_cv_type_getsockopt5" = "unknown"; then
+ wxUSE_SOCKETS=no
+ AC_MSG_WARN([Couldn't find socklen_t synonym for this system])
+ else
+ AC_DEFINE_UNQUOTED(SOCKOPTLEN_T, $wx_cv_type_getsockopt5)
+ fi
AC_LANG_POP
fi
fi
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"
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
dnl C/C++ compiler options used to compile wxWidgets
if test "$GXX" = yes ; then
dnl CXXWARNINGS="-Wall -W -Wcast-qual -Werror"
- CXXWARNINGS="-Wall"
+ CWARNINGS="-Wall"
+ CXXWARNINGS="$CWARNINGS -Wno-ctor-dtor-privacy"
dnl should enable this one day...
dnl CXXWARNINGS="-Wall -Werror"
fi
dnl remove the extra white space from the cc/c++/ld options
CPPFLAGS=`echo $WXDEBUG_DEFINE $INCLUDES $CPPFLAGS`
-CFLAGS=`echo $CODE_GEN_FLAGS $EXTRA_CFLAGS $CFLAGS $CXXWARNINGS`
+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 <regex.h> 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"
sanitised_bakefile_mess=`echo "$SHARED_LD_CXX" | tr -d '()'`
EXE_LINKER=`eval echo "$sanitised_bakefile_mess"`
+ dnl Need addtional flag on OS/2, so override bakefiles value
+ dnl (there currently is no suitable variable to which the
+ dnl missing flags could be added, AFAICS. SN, 18.12.2004. )
+ case "${host}" in
+ *-pc-os2_emx | *-pc-os2-emx )
+ SHARED_LD_CC="`pwd`/dllar.sh -name-mangler-script ./dllnames.sh -libf INITINSTANCE -libf TERMINSTANCE -o"
+ SHARED_LD_CXX="`pwd`/dllar.sh -name-mangler-script ./dllnames.sh -libf INITINSTANCE -libf TERMINSTANCE -o"
+ cp -p ${srcdir}/src/os2/dllnames.sh .
+ cp -p ${srcdir}/src/os2/dllar.sh .
+ ;;
+ esac
else
dnl No bakefile support for static builds, but this should be ok for most.
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* )
[AC_MSG_RESULT([no])])
fi
;;
+ *-pc-os2_emx | *-pc-os2-emx )
+ dnl GCC versions ported to OS/2 have similar problems with
+ dnl static member of classes in combination with STL and
+ dnl pragma interface/implementation
+ if test "$wxUSE_STL" = "yes"; then
+ AC_MSG_CHECKING([if this gcc version needs -DNO_GCC_PRAGMA])
+ AC_TRY_COMPILE([],
+ [#if !(__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 2))
+ #error "Not GCC 3.2 or greater"
+ #endif
+ ],
+ [GCC_PRAGMA_FLAGS="-DNO_GCC_PRAGMA"
+ AC_MSG_RESULT([yes])],
+ [AC_MSG_RESULT([no])])
+ fi
+ ;;
esac
fi
-CPPFLAGS="$GCC_PRAGMA_FLAGS $CPPFLAGS"
+CPPFLAGS="$PCH_FLAGS $GCC_PRAGMA_FLAGS $CPPFLAGS"
dnl for convenience, sort the samples in alphabetical order
echo " expat ${wxUSE_EXPAT}"
echo " libmspack ${wxUSE_LIBMSPACK}"
echo " sdl ${wxUSE_LIBSDL}"
-echo " gnomeprint ${wxUSE_LIBGNOMEPRINT}"
+echo " gnomeprint ${wxUSE_LIBGNOMEPRINT-none}"
echo ""