X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/b41e7f68a34ec22521f04fe9f840530e27860f73..cf9b63b38a7ed96d8a824256f1fb23565c0fb52a:/configure.in diff --git a/configure.in b/configure.in index 459c4ac208..8e0fb2787a 100644 --- a/configure.in +++ b/configure.in @@ -204,6 +204,11 @@ case "${host}" in AC_DEFINE(__NETBSD__) AC_DEFINE(__BSD__) DEFAULT_DEFAULT_wxUSE_GTK=1 + NEEDS_D_REENTRANT_FOR_R_FUNCS=1 + + dnl some standard declarations in NetBSD headers are only included if + dnl _NETBSD_SOURCE and _LIBC are defined, e.g. getservbyname_r in netdb.h + CPPFLAGS="-D_NETBSD_SOURCE -D_LIBC $CPPFLAGS" ;; *-*-osf* ) USE_ALPHA=1 @@ -365,6 +370,7 @@ if test $DEBUG_CONFIGURE = 1; then DEFAULT_wxUSE_NO_DEPS=no DEFAULT_wxUSE_NO_RTTI=no DEFAULT_wxUSE_NO_EXCEPTIONS=no + DEFAULT_wxUSE_UNIVERSAL_BINARY=no DEFAULT_wxUSE_RPATH=yes DEFAULT_wxUSE_PERMISSIVE=no DEFAULT_wxUSE_DEBUG_FLAG=yes @@ -524,13 +530,14 @@ if test $DEBUG_CONFIGURE = 1; then DEFAULT_wxUSE_STATLINE=no DEFAULT_wxUSE_STATTEXT=no DEFAULT_wxUSE_STATUSBAR=yes - DEFAULT_wxUSE_TABDIALOG=no + DEFAULT_wxUSE_TAB_DIALOG=no DEFAULT_wxUSE_TEXTCTRL=no DEFAULT_wxUSE_TOGGLEBTN=no DEFAULT_wxUSE_TOOLBAR=no DEFAULT_wxUSE_TOOLBAR_NATIVE=no DEFAULT_wxUSE_TOOLBAR_SIMPLE=no DEFAULT_wxUSE_TREEBOOK=no + DEFAULT_wxUSE_TOOLBOOK=no DEFAULT_wxUSE_TREECTRL=no DEFAULT_wxUSE_POPUPWIN=no DEFAULT_wxUSE_TIPWINDOW=no @@ -566,6 +573,7 @@ else DEFAULT_wxUSE_NO_DEPS=no DEFAULT_wxUSE_NO_RTTI=no DEFAULT_wxUSE_NO_EXCEPTIONS=no + DEFAULT_wxUSE_UNIVERSAL_BINARY=no DEFAULT_wxUSE_RPATH=yes DEFAULT_wxUSE_PERMISSIVE=no DEFAULT_wxUSE_DEBUG_FLAG=no @@ -724,13 +732,14 @@ else DEFAULT_wxUSE_STATLINE=yes DEFAULT_wxUSE_STATTEXT=yes DEFAULT_wxUSE_STATUSBAR=yes - DEFAULT_wxUSE_TABDIALOG=no + DEFAULT_wxUSE_TAB_DIALOG=no DEFAULT_wxUSE_TEXTCTRL=yes DEFAULT_wxUSE_TOGGLEBTN=yes DEFAULT_wxUSE_TOOLBAR=yes DEFAULT_wxUSE_TOOLBAR_NATIVE=yes DEFAULT_wxUSE_TOOLBAR_SIMPLE=yes DEFAULT_wxUSE_TREEBOOK=yes + DEFAULT_wxUSE_TOOLBOOK=yes DEFAULT_wxUSE_TREECTRL=yes DEFAULT_wxUSE_POPUPWIN=yes DEFAULT_wxUSE_TIPWINDOW=yes @@ -865,6 +874,7 @@ WX_ARG_ENABLE(no_rtti, [ --enable-no_rtti create code without RTTI WX_ARG_ENABLE(no_exceptions, [ --enable-no_exceptions create code without C++ exceptions handling], wxUSE_NO_EXCEPTIONS) 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_ENABLE(universal_binary, [ --enable-universal_binary create Mac PowerPC and Intel Universal binary (not yet working)], wxUSE_UNIVERSAL_BINARY) WX_ARG_ENABLE(compat24, [ --enable-compat24 enable wxWidgets 2.4 compatibility], WXWIN_COMPATIBILITY_2_4, enable) WX_ARG_ENABLE(compat26, [ --disable-compat26 disable wxWidgets 2.6 compatibility], WXWIN_COMPATIBILITY_2_6, disable) @@ -1037,6 +1047,7 @@ if test "$wxUSE_CONTROLS" = "yes"; then DEFAULT_wxUSE_TOOLBAR_SIMPLE=yes DEFAULT_wxUSE_TOOLTIPS=yes DEFAULT_wxUSE_TREEBOOK=yes + DEFAULT_wxUSE_TOOLBOOK=yes DEFAULT_wxUSE_TREECTRL=yes DEFAULT_wxUSE_POPUPWIN=yes DEFAULT_wxUSE_TIPWINDOW=yes @@ -1079,6 +1090,7 @@ elif test "$wxUSE_CONTROLS" = "no"; then DEFAULT_wxUSE_TOOLBAR_SIMPLE=no DEFAULT_wxUSE_TOOLTIPS=no DEFAULT_wxUSE_TREEBOOK=no + DEFAULT_wxUSE_TOOLBOOK=no DEFAULT_wxUSE_TREECTRL=no DEFAULT_wxUSE_POPUPWIN=no DEFAULT_wxUSE_TIPWINDOW=no @@ -1117,13 +1129,14 @@ WX_ARG_ENABLE(statbox, [ --enable-statbox use wxStaticBox class], wx WX_ARG_ENABLE(statline, [ --enable-statline use wxStaticLine class], wxUSE_STATLINE) WX_ARG_ENABLE(stattext, [ --enable-stattext use wxStaticText class], wxUSE_STATTEXT) WX_ARG_ENABLE(statusbar, [ --enable-statusbar use wxStatusBar class], wxUSE_STATUSBAR) -WX_ARG_ENABLE(tabdialog, [ --enable-tabdialog use wxTabControl class], wxUSE_TABDIALOG) +WX_ARG_ENABLE(tabdialog, [ --enable-tabdialog use wxTabControl class], wxUSE_TAB_DIALOG) WX_ARG_ENABLE(textctrl, [ --enable-textctrl use wxTextCtrl class], wxUSE_TEXTCTRL) WX_ARG_ENABLE(togglebtn, [ --enable-togglebtn use wxToggleButton class], wxUSE_TOGGLEBTN) WX_ARG_ENABLE(toolbar, [ --enable-toolbar use wxToolBar class], wxUSE_TOOLBAR) WX_ARG_ENABLE(tbarnative, [ --enable-tbarnative use native wxToolBar class], wxUSE_TOOLBAR_NATIVE) WX_ARG_ENABLE(tbarsmpl, [ --enable-tbarsmpl use wxToolBarSimple class], wxUSE_TOOLBAR_SIMPLE) WX_ARG_ENABLE(treebook, [ --enable-treebook use wxTreebook class], wxUSE_TREEBOOK) +WX_ARG_ENABLE(toolbook, [ --enable-toolbook use wxToolbook class], wxUSE_TOOLBOOK) WX_ARG_ENABLE(treectrl, [ --enable-treectrl use wxTreeCtrl class], wxUSE_TREECTRL) WX_ARG_ENABLE(tipwindow, [ --enable-tipwindow use wxTipWindow class], wxUSE_TIPWINDOW) WX_ARG_ENABLE(popupwin, [ --enable-popupwin use wxPopUpWindow class], wxUSE_POPUPWIN) @@ -1394,8 +1407,7 @@ dnl is -traditional needed for correct compilations dnl adds -traditional for gcc if needed AC_PROG_GCC_TRADITIONAL -AC_LANG_SAVE -AC_LANG_CPLUSPLUS +AC_LANG_PUSH(C++) dnl C++-compiler checks dnl defines CXX with the compiler to use @@ -1407,7 +1419,7 @@ dnl see CFLAGS line above CXXFLAGS=${CXXFLAGS:=} AC_BAKEFILE_PROG_CXX -AC_LANG_RESTORE +AC_LANG_POP dnl ranlib command dnl defines RANLIB with the appropriate command @@ -1533,9 +1545,6 @@ fi dnl not GNU make dnl needed for making link to setup.h AC_PROG_LN_S -dnl lndir can be used by "make dist" to save copying files -AC_CHECK_PROGS(LNDIR, lndir, [cp -pR]) - dnl ------------------------------------------------------------------------ dnl Platform specific tests @@ -1665,8 +1674,7 @@ case "${host}" in dnl --------------------------------------------------------------------- dnl (non-OS/2-only piece) - AC_LANG_SAVE - AC_LANG_CPLUSPLUS + AC_LANG_PUSH(C++) AC_CACHE_CHECK([for strcasecmp() in string.h], ac_cv_string_strcasecmp, [ AC_TRY_LINK([ @@ -1702,7 +1710,7 @@ case "${host}" in fi fi - AC_LANG_RESTORE + AC_LANG_POP dnl (end of non-OS/2-only piece) ;; esac @@ -1892,8 +1900,7 @@ if test "x$wx_largefile" = "xyes"; then [if -D__STDC_EXT__ is required], wx_cv_STDC_EXT_required, [ - AC_LANG_SAVE - AC_LANG_CPLUSPLUS + AC_LANG_PUSH(C++) AC_TRY_COMPILE( [], [ @@ -1904,7 +1911,7 @@ if test "x$wx_largefile" = "xyes"; then wx_cv_STDC_EXT_required=no, wx_cv_STDC_EXT_required=yes ) - AC_LANG_RESTORE + AC_LANG_POP ] ) if test "x$wx_cv_STDC_EXT_required" = "xyes"; then @@ -2638,13 +2645,12 @@ if test "$wxUSE_EXPAT" != "no"; then AC_CACHE_CHECK([if expat.h is valid C++ header], wx_cv_expat_is_not_broken, [ - AC_LANG_SAVE - AC_LANG_CPLUSPLUS + AC_LANG_PUSH(C++) AC_TRY_COMPILE([#include ],[], wx_cv_expat_is_not_broken=yes, wx_cv_expat_is_not_broken=no ) - AC_LANG_RESTORE + AC_LANG_POP ] ) if test "$wx_cv_expat_is_not_broken" = "yes" ; then @@ -3966,8 +3972,7 @@ AC_CHECK_TYPES(ssize_t) dnl check what exactly size_t is on this machine - this is necessary to avoid dnl ambiguous overloads in several places, notably wx/string.h and wx/array.h -AC_LANG_SAVE -AC_LANG_CPLUSPLUS +AC_LANG_PUSH(C++) AC_CACHE_CHECK([if size_t is unsigned int], wx_cv_size_t_is_uint, [ @@ -4014,7 +4019,7 @@ else fi fi -AC_LANG_RESTORE +AC_LANG_POP dnl --------------------------------------------------------------------------- dnl Checks for structures @@ -4093,8 +4098,7 @@ fi dnl *printf() functions sometimes are available in the library but not dnl prototyped -- if this is the case, we can't use them from C++ code, but to dnl detect this we have to use C++ compiler for testing -AC_LANG_SAVE -AC_LANG_CPLUSPLUS +AC_LANG_PUSH(C++) dnl check for vsnprintf() -- a safe version of vsprintf()) dnl @@ -4248,7 +4252,7 @@ if test "$wxUSE_UNICODE" = yes; then [AC_MSG_RESULT([no])]); fi -AC_LANG_RESTORE +AC_LANG_POP if test "x$ac_cv_header_fnmatch_h" = "xyes"; then AC_CHECK_FUNCS(fnmatch) @@ -4264,11 +4268,10 @@ if test "$TOOLKIT" != "MSW"; then dnl check for available version of iconv() -AC_LANG_SAVE -AC_LANG_CPLUSPLUS +AC_LANG_PUSH(C++) AM_ICONV LIBS="$LIBICONV $LIBS" -AC_LANG_RESTORE +AC_LANG_POP dnl check for POSIX signals if we need them if test "$wxUSE_ON_FATAL_EXCEPTION" = "yes" -a "$wxUSE_UNIX" = "yes"; then @@ -4280,8 +4283,7 @@ if test "$wxUSE_ON_FATAL_EXCEPTION" = "yes" -a "$wxUSE_UNIX" = "yes"; then fi if test "$wxUSE_ON_FATAL_EXCEPTION" = "yes"; then - AC_LANG_SAVE - AC_LANG_CPLUSPLUS + AC_LANG_PUSH(C++) AC_CACHE_CHECK([for sa_handler type], wx_cv_type_sa_handler, [ @@ -4298,7 +4300,7 @@ if test "$wxUSE_ON_FATAL_EXCEPTION" = "yes" -a "$wxUSE_UNIX" = "yes"; then ]) ]) - AC_LANG_RESTORE + AC_LANG_POP AC_DEFINE_UNQUOTED(wxTYPE_SA_HANDLER, $wx_cv_type_sa_handler) fi @@ -4306,8 +4308,7 @@ 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_LANG_PUSH(C++) AC_CACHE_CHECK([for backtrace() in ], wx_cv_func_backtrace, [ @@ -4348,7 +4349,7 @@ if test "$wxUSE_STACKWALKER" = "yes" -a "$wxUSE_UNIX" = "yes"; then fi fi - AC_LANG_RESTORE + AC_LANG_POP fi if test "$wxUSE_STACKWALKER" = "yes" -a "$USE_WIN32" != "1" -a "$USE_UNIX" != "1"; then @@ -4387,8 +4388,7 @@ AC_CACHE_CHECK(for statfs, wx_cv_func_statfs, if test "$wx_cv_func_statfs" = "yes"; then dnl check whether we have its dcelaration too: some systems (AIX 4) lack it - AC_LANG_SAVE - AC_LANG_CPLUSPLUS + AC_LANG_PUSH(C++) AC_CACHE_CHECK(for statfs declaration, wx_cv_func_statfs_decl, AC_TRY_COMPILE( [ @@ -4407,7 +4407,7 @@ if test "$wx_cv_func_statfs" = "yes"; then wx_cv_func_statfs_decl=no ) ) - AC_LANG_RESTORE + AC_LANG_POP if test "$wx_cv_func_statfs_decl" = "yes"; then AC_DEFINE(HAVE_STATFS_DECL) @@ -4438,8 +4438,7 @@ else dnl dnl for this check C++ compiler has to be used as passing incompatible dnl pointers is just a warning and not an error in C - AC_LANG_SAVE - AC_LANG_CPLUSPLUS + AC_LANG_PUSH(C++) AC_CACHE_CHECK(for statvfs argument type, wx_cv_type_statvfs_t, AC_TRY_COMPILE( @@ -4475,7 +4474,7 @@ else ) ) - AC_LANG_RESTORE + AC_LANG_POP if test "$wx_cv_type_statvfs_t" != "unknown"; then AC_DEFINE(HAVE_STATVFS) @@ -4551,12 +4550,11 @@ AC_CHECK_FUNCS(uname gethostname, break) dnl check for MT-safe version of strtok (on DEC Alpha, it's ok for C compiler dnl but not for C++ one - hence change language) -AC_LANG_SAVE -AC_LANG_CPLUSPLUS +AC_LANG_PUSH(C++) AC_CHECK_FUNCS(strtok_r) -AC_LANG_RESTORE +AC_LANG_POP dnl check for inet_addr and inet_aton (these may live either in libc, or in dnl libnsl or libresolv or libsocket) @@ -4996,6 +4994,7 @@ 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 dnl to gethostbyname_r/gethostbyaddr_r and getservbyname_r +AC_LANG_PUSH(C++) dnl AC_CHECK_FUNC(getaddrinfo, AC_DEFINE(HAVE_GETADDRINFO), [ dnl no getaddrinfo, so check for gethostbyname_r and dnl related functions (taken from python's configure.in) @@ -5023,6 +5022,7 @@ dnl AC_CHECK_FUNC(getaddrinfo, AC_DEFINE(HAVE_GETADDRINFO), [ dnl check to fit this case, if it's really needed. - SN ) dnl ] dnl ) +AC_LANG_POP if test "$wxUSE_THREADS" = "yes"; then AC_DEFINE(wxUSE_THREADS) @@ -5079,7 +5079,9 @@ if test "$wxUSE_DEBUG_FLAG" = "yes" ; then WXCONFIG_CPPFLAGS="$WXCONFIG_CPPFLAGS -D__WXDEBUG__" else if test "$wxUSE_GTK" = 1 ; then - CPPFLAGS="-DGTK_NO_CHECK_CASTS $CPPFLAGS" + if test "x$wxGTK_VERSION" = "x1" ; then + CPPFLAGS="-DGTK_NO_CHECK_CASTS $CPPFLAGS" + fi fi fi @@ -5565,8 +5567,7 @@ if test "$wxUSE_DATETIME" = "yes"; then if test "$ac_cv_func_strptime" = "yes"; then AC_CACHE_CHECK([for strptime declaration], wx_cv_func_strptime_decl, [ - AC_LANG_SAVE - AC_LANG_CPLUSPLUS + AC_LANG_PUSH(C++) AC_TRY_COMPILE( [ #include @@ -5578,7 +5579,7 @@ if test "$wxUSE_DATETIME" = "yes"; then wx_cv_func_strptime_decl=yes, wx_cv_func_strptime_decl=no ) - AC_LANG_RESTORE + AC_LANG_POP ] ) fi @@ -5680,8 +5681,7 @@ if test "$wxUSE_DATETIME" = "yes"; then wx_cv_func_gettimeofday_has_2_args, [ dnl on some _really_ old systems it takes only 1 argument - AC_LANG_SAVE - AC_LANG_CPLUSPLUS + AC_LANG_PUSH(C++) AC_TRY_COMPILE( [ @@ -5709,7 +5709,7 @@ if test "$wxUSE_DATETIME" = "yes"; then ] ) ) - AC_LANG_RESTORE + AC_LANG_POP ]) if test "$wx_cv_func_gettimeofday_has_2_args" != "yes"; then @@ -6101,8 +6101,7 @@ if test "$USE_WIN32" = 1 -a \( "$wxUSE_DATAOBJ" = "yes" \ if test "$ac_cv_header_ole2_h" = "yes" ; then if test "$GCC" = yes ; then - AC_LANG_SAVE - AC_LANG_CPLUSPLUS + AC_LANG_PUSH(C++) AC_MSG_CHECKING([if g++ requires -fvtable-thunks]) AC_TRY_COMPILE([#include @@ -6111,7 +6110,7 @@ if test "$USE_WIN32" = 1 -a \( "$wxUSE_DATAOBJ" = "yes" \ [AC_MSG_RESULT(no)], [AC_MSG_RESULT(yes) WXCONFIG_CXXFLAGS="$WXCONFIG_CXXFLAGS -fvtable-thunks"]) - AC_LANG_RESTORE + AC_LANG_POP LIBS=" -lrpcrt4 -loleaut32 -lole32 -luuid$LIBS" if test "$wxUSE_OLE" = "yes" ; then AC_DEFINE(wxUSE_OLE) @@ -6413,7 +6412,7 @@ if test "$wxUSE_STATUSBAR" = "yes"; then SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS statbar" fi -if test "$wxUSE_TABDIALOG" = "yes"; then +if test "$wxUSE_TAB_DIALOG" = "yes"; then AC_DEFINE(wxUSE_TAB_DIALOG) fi @@ -6479,6 +6478,11 @@ if test "$wxUSE_TREEBOOK" = "yes"; then USES_CONTROLS=1 fi +if test "$wxUSE_TOOLBOOK" = "yes"; then + AC_DEFINE(wxUSE_TOOLBOOK) + USES_CONTROLS=1 +fi + if test "$wxUSE_TREECTRL" = "yes"; then if test "$wxUSE_IMAGLIST" = "yes"; then AC_DEFINE(wxUSE_TREECTRL) @@ -6892,7 +6896,6 @@ fi AC_SUBST(CORE_BASE_LIBS) AC_SUBST(CORE_GUI_LIBS) - dnl --------------------------------------------------------------------------- dnl Output the makefiles and such from the results found above dnl --------------------------------------------------------------------------- @@ -6982,7 +6985,7 @@ if test "$wxUSE_GUI" = "yes"; then SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS artprov controls dialogs drawing \ dynamic erase event exec font image minimal mobile \ mobile/wxedit mobile/styles propsize render \ - richedit rotate shaped vscroll widgets" + rotate shaped vscroll widgets" if test "$wxUSE_MONOLITHIC" != "yes"; then SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS console" @@ -7219,8 +7222,39 @@ if test "$wxUSE_WINE" = "yes"; then BAKEFILE_FORCE_PLATFORM=win32 fi +dnl --------------------------------------------------------------------------- +dnl Add Universal binary support +dnl Note we don't do this earlier because adding these cpp/ld flags could +dnl cause configure tests to fail. +dnl --------------------------------------------------------------------------- +if test "$wxUSE_MAC" = 1 ; then + if test "$wxUSE_UNIVERSAL_BINARY" = "yes" ; then + CXXFLAGS="-isysroot /Developer/SDKs/MacOSX10.4u.sdk -arch ppc -arch i386 $CXXFLAGS" + CFLAGS="-isysroot /Developer/SDKs/MacOSX10.4u.sdk -arch ppc -arch i386 $CFLAGS" + LDFLAGS="-isysroot /Developer/SDKs/MacOSX10.4u.sdk -arch ppc -arch i386 $LDFLAGS" + bk_use_pch=no + fi + # TODO: where do we add "-syslibroot,/Developer/SDKs/MacOSX10.4u.sdk" for libtool (static builds only)? + # The makefile currently uses AR and RANLIB, which libtool apparently supercedes. + # TODO: how can we avoid a hardwired reference to the SDK, above? (Someone used -lSystemStubs to avoid it) +fi + AC_BAKEFILE([m4_include(autoconf_inc.m4)]) +dnl HACK ALERT!! +dnl For now, we need to alter bk-deps not to generate deps +dnl when we've configured a Universal binary build. +dnl The next version of Bakefile will have the correct fix for this +dnl at which time, this hack can be removed. + +if test "$wxUSE_MAC" = 1 ; then + if test "$wxUSE_UNIVERSAL_BINARY" = "yes" ; then + sed "s/DEPSMODE=gcc/DEPSMODE=none/" < bk-deps > temp + mv temp bk-deps + chmod +x bk-deps + fi +fi + if test "$wxUSE_SHARED" = "yes"; then dnl We get the shared build linker from bakefile, since it