]> git.saurik.com Git - wxWidgets.git/blobdiff - configure.in
deprecated wxSizerItem::IsShown() because it doesn't really make sense for the sizers
[wxWidgets.git] / configure.in
index 34b3e8612568ebab4c76f16e4685165d933bcf27..2dcbb98e058409229a339a198cd2947146e80d46 100644 (file)
@@ -205,6 +205,10 @@ case "${host}" in
     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
@@ -366,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
@@ -532,6 +537,7 @@ if test $DEBUG_CONFIGURE = 1; then
   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
@@ -567,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
@@ -732,6 +739,7 @@ else
   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
@@ -866,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)
@@ -1038,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
@@ -1080,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
@@ -1125,6 +1136,7 @@ WX_ARG_ENABLE(toolbar,     [  --enable-toolbar        use wxToolBar class], wxUS
 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)
@@ -1395,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
@@ -1408,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
@@ -1663,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([
@@ -1700,7 +1710,7 @@ case "${host}" in
           fi
       fi
 
-      AC_LANG_RESTORE
+      AC_LANG_POP
       dnl (end of non-OS/2-only piece)
   ;;
 esac
@@ -1890,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(
                         [],
                         [
@@ -1902,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
@@ -2636,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 <expat.h>],[],
                     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
@@ -3964,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,
     [
@@ -4012,7 +4019,7 @@ else
     fi
 fi
 
-AC_LANG_RESTORE
+AC_LANG_POP
 
 dnl ---------------------------------------------------------------------------
 dnl Checks for structures
@@ -4091,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
@@ -4246,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)
@@ -4262,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
@@ -4278,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,
       [
@@ -4296,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
@@ -4304,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 <execinfo.h>], wx_cv_func_backtrace,
         [
@@ -4346,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
@@ -4385,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(
             [
@@ -4405,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)
@@ -4436,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(
@@ -4473,7 +4474,7 @@ else
             )
         )
 
-        AC_LANG_RESTORE
+        AC_LANG_POP
 
         if test "$wx_cv_type_statvfs_t" != "unknown"; then
             AC_DEFINE(HAVE_STATVFS)
@@ -4549,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)
@@ -4994,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)
@@ -5021,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)
@@ -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 <time.h>
@@ -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 <windows.h>
@@ -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)
@@ -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