]> git.saurik.com Git - wxWidgets.git/blobdiff - configure.in
regenerated after adding DEBUG_ options
[wxWidgets.git] / configure.in
index b20b643463612c46c32abd7e68c339c72f1f4d68..b4eb2b8b5f1665cc82bca3081e1e728d72526d37 100644 (file)
@@ -360,6 +360,8 @@ if test $DEBUG_CONFIGURE = 1; then
   DEFAULT_wxUSE_CONTROLS=no
 
   DEFAULT_wxUSE_REGEX=no
+  DEFAULT_wxUSE_XML=no
+  DEFAULT_wxUSE_EXPAT=no
   DEFAULT_wxUSE_ZLIB=no
   DEFAULT_wxUSE_LIBPNG=no
   DEFAULT_wxUSE_LIBJPEG=no
@@ -502,6 +504,7 @@ if test $DEBUG_CONFIGURE = 1; then
   DEFAULT_wxUSE_ACCESSIBILITY=no
   
   DEFAULT_wxUSE_MONOLITHIC=yes
+  DEFAULT_wxUSE_OFFICIAL_BUILD=no
 else
   DEFAULT_wxUSE_UNIVERSAL=no
   DEFAULT_wxUSE_STL=no
@@ -533,6 +536,8 @@ else
   DEFAULT_wxUSE_GUI=yes
 
   DEFAULT_wxUSE_REGEX=yes
+  DEFAULT_wxUSE_XML=yes
+  DEFAULT_wxUSE_EXPAT=yes
   DEFAULT_wxUSE_ZLIB=yes
   DEFAULT_wxUSE_LIBPNG=yes
   DEFAULT_wxUSE_LIBJPEG=yes
@@ -675,6 +680,7 @@ else
   DEFAULT_wxUSE_ACCESSIBILITY=no
   
   DEFAULT_wxUSE_MONOLITHIC=yes
+  DEFAULT_wxUSE_OFFICIAL_BUILD=no
 fi
 
 dnl WX_ARG_WITH should be used to select whether an external package will be
@@ -736,6 +742,7 @@ WX_ARG_WITH(dmalloc,       [  --with-dmalloc          use dmalloc library (http:
 WX_ARG_SYS_WITH(regex,     [  --with-regex            enable support for wxRegEx class], wxUSE_REGEX)
 WX_ARG_SYS_WITH(zlib,      [  --with-zlib             use zlib for LZW compression], wxUSE_ZLIB)
 WX_ARG_SYS_WITH(odbc,      [  --with-odbc             use the IODBC and wxODBC classes], wxUSE_ODBC)
+WX_ARG_SYS_WITH(expat,     [  --with-expat            enable XML support using expat parser], wxUSE_EXPAT)
 
 dnl ---------------------------------------------------------------------------
 dnl compile options
@@ -749,9 +756,11 @@ WX_ARG_ENABLE(stl,         [  --enable-stl            use STL for containers], w
 if test "$wxUSE_DEBUG" = "yes"; then
   DEFAULT_wxUSE_DEBUG_FLAG=yes
   DEFAULT_wxUSE_DEBUG_INFO=yes
+  BUILD=debug
 elif test "$wxUSE_DEBUG" = "no"; then
   DEFAULT_wxUSE_DEBUG_FLAG=no
   DEFAULT_wxUSE_DEBUG_INFO=no
+  BUILD=release
 fi
 
 WX_ARG_ENABLE(debug_flag,    [  --enable-debug_flag     set __WXDEBUG__ flag (recommended for developers!)], wxUSE_DEBUG_FLAG)
@@ -972,9 +981,7 @@ fi
 ## FIXME: This is a blatant hack
 if test "x$wxUSE_COCOA" != "x" -a "$wxUSE_COCOA" != "0" ; then
   wxUSE_PRINTING_ARCHITECTURE=no
-  wxUSE_CLIPBOARD=no
   wxUSE_DRAG_AND_DROP=no
-  wxUSE_DATAOBJ=no
   # Generic notebook requires tab dialog
   DEFAULT_wxUSE_TABDIALOG=yes
   DEFAULT_wxUSE_TOOLBAR_NATIVE=no
@@ -1071,6 +1078,16 @@ WX_ARG_ENABLE(ico_cur,     [  --enable-icocur         use Windows ICO and CUR fo
 
 fi
 
+dnl ---------------------------------------------------------------------------
+dnl some win32 settings
+dnl ---------------------------------------------------------------------------
+
+WX_ARG_ENABLE(official_build,  [  --enable-official_build official build of wxWindows (win32 DLL only)], wxUSE_OFFICIAL_BUILD)
+AC_ARG_ENABLE(vendor,  [  --enable-vendor=VENDOR  vendor name (win32 DLL only)], [VENDOR="$enableval"])
+if test "x$VENDOR" = "x"; then
+    VENDOR="custom"
+fi
+
 dnl General settings (needed for GUI and non-GUI compilations alike).
 dnl Path separator; ':' for unix, ';' for OS/2
 dnl Stem for flex output; lexyy for OS/2, lex.yy otherwise
@@ -1607,6 +1624,51 @@ WX_CPP_EXPLICIT
 dnl check whether C++ compiler supports C++ casts
 AC_CXX_CONST_CAST
 
+dnl check various STL features
+if test "$wxUSE_STL" = "yes"; then
+    AC_LANG_PUSH(C++)
+
+    dnl check for basic STL functionality
+    AC_MSG_CHECKING([for basic STL functionality])
+    AC_TRY_COMPILE([#include <string>
+                    #include <functional>
+                    #include <algorithm>
+                    #include <vector>
+                    #include <list>],
+                    [std::vector<int> moo;
+                     std::list<int> foo;
+                     std::vector<int>::iterator it = 
+                         std::find_if(moo.begin(), moo.end(),
+                                      std::bind2nd(std::less<int>(), 3));],
+                    [AC_MSG_RESULT([yes])],
+                    [AC_MSG_RESULT([no])
+                     AC_MSG_ERROR([Basic STL functionality missing])])
+
+    dnl check if <string> declares std::wstring
+    AC_MSG_CHECKING([for std::wstring in <string>])
+    AC_TRY_COMPILE([#include <string>],
+                   [std::wstring foo;],
+                   [AC_MSG_RESULT(yes)
+                    AC_DEFINE(HAVE_STD_WSTRING)],
+                   [AC_MSG_RESULT(no)])
+
+    dnl check for compliant std::string::compare
+    AC_MSG_CHECKING([for compliant std::string::compare])
+    AC_TRY_COMPILE([#include <string>],
+                   [std::string foo, bar;
+                    foo.compare(bar);
+                    foo.compare(1, 1, bar);
+                    foo.compare(1, 1, bar, 1, 1);
+                    foo.compare("");
+                    foo.compare(1, 1, "");
+                    foo.compare(1, 1, "", 2);],
+                   [AC_MSG_RESULT(yes)
+                    AC_DEFINE(HAVE_STD_STRING_COMPARE)],
+                   [AC_MSG_RESULT(no)])
+
+    AC_LANG_POP
+fi
+
 dnl ---------------------------------------------------------------------------
 dnl Define search path for includes and libraries: all headers and libs will be
 dnl looked for in all directories of this path
@@ -2039,6 +2101,54 @@ if test "$wxUSE_LIBTIFF" != "no" ; then
     fi
 fi
 
+dnl ------------------------------------------------------------------------
+dnl Check for expat libraries
+dnl ------------------------------------------------------------------------
+
+if test "$wxUSE_EXPAT" != "no"; then
+    wxUSE_XML=1
+    AC_DEFINE(wxUSE_EXPAT)
+    AC_DEFINE(wxUSE_XML)
+    
+    if test "$wxUSE_EXPAT" = "sys" -o "$wxUSE_EXPAT" = "yes" ; then           
+        AC_CHECK_HEADER([expat.h], [found_expat_h=1])
+        if test "x$found_expat_h" = "x1"; then
+            dnl Expat 1.95.6 comes with broken expat.h:
+            AC_CACHE_CHECK([if expat.h is valid C++ header],
+                wx_cv_expat_is_not_broken,
+                [
+                AC_LANG_SAVE
+                AC_LANG_CPLUSPLUS
+                AC_TRY_COMPILE([#include <expat.h>],[],
+                    wx_cv_expat_is_not_broken=yes,
+                    wx_cv_expat_is_not_broken=no
+                )
+                AC_LANG_RESTORE
+                ]
+            )
+            if test "$wx_cv_expat_is_not_broken" = "yes" ; then
+                AC_CHECK_LIB(expat, XML_ParserCreate, EXPAT_LINK=" -lexpat")
+            fi
+        fi
+        if test "x$EXPAT_LINK" = "x" ; then
+            if test "$wxUSE_EXPAT" = "sys" ; then
+                AC_MSG_ERROR([system expat library not found! Use --with-expat=builtin to use built-in version])
+            else
+                AC_MSG_WARN([system expat library not found, will use built-in instead])
+                wxUSE_EXPAT=builtin
+            fi
+        else
+            dnl we are using the system library
+            wxUSE_EXPAT=sys
+        fi
+    fi
+    if test "$wxUSE_EXPAT" = "builtin" ; then
+        dnl Expat needs this:
+        AC_CONFIG_SUBDIRS([src/expat])
+    fi
+fi
+
+
 dnl ----------------------------------------------------------------
 dnl search for toolkit (widget sets)
 dnl ----------------------------------------------------------------
@@ -2631,6 +2741,9 @@ equivalent variable and GTK+ is version 1.2.3 or above.
         TOOLKIT=MAC
         dnl we can't call this MAC_DIST or autoconf thinks its a macro
         GUIDIST=MACX_DIST
+        dnl wxMac version of wxBase and wxCocoa or wxBase-only built on Darwin
+        dnl are different, so they need different names:
+        WXBASEPORT="_carbon"
     fi
 
     if test "$wxUSE_COCOA" = 1; then
@@ -2882,13 +2995,18 @@ if test "$wxUSE_UNICODE" = "yes"; then
 fi
 
 lib_debug_suffix=
-BUILD=release
+DEBUG_FLAG=0
 if test "$wxUSE_DEBUG_FLAG" = "yes"; then
     lib_debug_suffix=d
-    BUILD=debug
+    DEBUG_FLAG=1
+fi
+
+DEBUG_INFO=0
+if test "$wxUSE_DEBUG_INFO" = "yes"; then
+    DEBUG_INFO=1
 fi
 
-WX_VERSION_TAG=`echo WX${TOOLKIT_DIR}${TOOLKIT_VERSION}${WIDGET_SET}${lib_unicode_suffix}${lib_debug_suffix}_${WX_RELEASE} | tr "[[a-z]]" "[[A-Z]]"`
+WX_VERSION_TAG=`echo WX${lib_unicode_suffix}${lib_debug_suffix}_${WX_RELEASE} | tr "[[a-z]]" "[[A-Z]]"`
 
 TOOLCHAIN_NAME="${TOOLKIT_DIR}${TOOLKIT_VERSION}${WIDGET_SET}${lib_unicode_suffix}${lib_debug_suffix}-${WX_RELEASE}"
 TOOLCHAIN_NAME_GL="${TOOLKIT_DIR}${TOOLKIT_VERSION}${WIDGET_SET}${lib_unicode_suffix}${lib_debug_suffix}_gl-${WX_RELEASE}"
@@ -2902,7 +3020,8 @@ fi
 dnl library link name
 WX_LIBRARY="wx_${TOOLCHAIN_NAME}"
 WX_LIBRARY_GL="wx_${TOOLCHAIN_NAME_GL}"
-WX_LIBRARY_BASENAME="wx_${TOOLKIT_DIR}${TOOLKIT_VERSION}${WIDGET_SET}${lib_unicode_suffix}${lib_debug_suffix}"
+WX_LIBRARY_BASENAME_NOGUI="wx_base${WXBASEPORT}${lib_unicode_suffix}${lib_debug_suffix}"
+WX_LIBRARY_BASENAME_GUI="wx_${TOOLKIT_DIR}${TOOLKIT_VERSION}${WIDGET_SET}${lib_unicode_suffix}${lib_debug_suffix}"
 
 dnl the name of the shared library
 WX_LIBRARY_NAME_SHARED="lib${WX_LIBRARY}.${SO_SUFFIX}.${WX_CURRENT}.${WX_REVISION}.${WX_AGE}"
@@ -5383,6 +5502,7 @@ CXXFLAGS=`echo $CODE_GEN_FLAGS $CODE_GEN_FLAGS_CXX $EXTRA_CFLAGS $CXXFLAGS $CXXW
 
 LIBS=`echo $LIBS | sed 's/ \+/ /g'`
 EXTRALIBS="$LDFLAGS $LDFLAGS_VERSIONING $LIBS $DMALLOC_LIBS"
+EXTRALIBS_XML="$EXPAT_LINK"
 if test "$wxUSE_GUI" = "yes"; then
     EXTRALIBS_GUI=`echo $GUI_TK_LIBRARY $PNG_LINK $JPEG_LINK $TIFF_LINK | sed 's/ \+/ /g'`
 fi
@@ -5399,6 +5519,36 @@ else
     WXCONFIG_INCLUDE="$TOOLKIT_INCLUDE"
 fi
 
+WXCONFIG_EXTRALIBS="$LIBS"
+
+dnl wx-config must output builtin 3rd party libs in --libs in static build:
+if test "$wxUSE_REGEX" = "builtin" ; then
+    wxconfig_3rdparty="$wxconfig_3rdparty regex"
+fi
+if test "$wxUSE_EXPAT" = "builtin" ; then
+    wxconfig_3rdparty="$wxconfig_3rdparty expat"
+fi
+if test "$wxUSE_ODBC" = "builtin" ; then
+    wxconfig_3rdparty="$wxconfig_3rdparty odbc"
+fi
+if test "$wxUSE_LIBTIFF" = "builtin" ; then
+    wxconfig_3rdparty="$wxconfig_3rdparty tiff"
+fi
+if test "$wxUSE_LIBJPEG" = "builtin" ; then
+    wxconfig_3rdparty="$wxconfig_3rdparty jpeg"
+fi
+if test "$wxUSE_LIBPNG" = "builtin" ; then
+    wxconfig_3rdparty="$wxconfig_3rdparty png"
+fi
+if test "$wxUSE_ZLIB" = "builtin" ; then
+    wxconfig_3rdparty="$wxconfig_3rdparty zlib"
+fi
+
+for i in $wxconfig_3rdparty ; do
+    WXCONFIG_EXTRALIBS="$WXCONFIG_EXTRALIBS -lwx${i}${lib_debug_suffix}${HOST_SUFFIX}"
+done
+
+
 if test "x$wxUSE_UNIVERSAL" = "xyes" ; then
     WXUNIV=1
 else
@@ -5407,6 +5557,7 @@ fi
 
 AC_SUBST(wxUSE_ZLIB)
 AC_SUBST(wxUSE_REGEX)
+AC_SUBST(wxUSE_EXPAT)
 AC_SUBST(wxUSE_ODBC)
 AC_SUBST(wxUSE_LIBJPEG)
 AC_SUBST(wxUSE_LIBPNG)
@@ -5418,19 +5569,26 @@ else
     MONOLITHIC=0
 fi
 
-dnl FIXME -- make configurable!
-VENDOR="custom"
-OFFICIAL_BUILD=0
+if test $wxUSE_OFFICIAL_BUILD = "yes" ; then
+    OFFICIAL_BUILD=1
+else
+    OFFICIAL_BUILD=0
+fi
+
 AC_SUBST(VENDOR)
 AC_SUBST(OFFICIAL_BUILD)
 
 AC_SUBST(WXUNIV)
 AC_SUBST(MONOLITHIC)
+AC_SUBST(LIBS)
 AC_SUBST(EXTRALIBS)
+AC_SUBST(EXTRALIBS_XML)
 AC_SUBST(EXTRALIBS_GUI)
 AC_SUBST(EXTRALIBS_OPENGL)
 AC_SUBST(UNICODE)
 AC_SUBST(BUILD)
+AC_SUBST(DEBUG_INFO)
+AC_SUBST(DEBUG_FLAG)
 AC_SUBST(SHARED)
 TOOLKIT_LOWERCASE=`echo $TOOLKIT | tr [[A-Z]] [[a-z]]`
 AC_SUBST(TOOLKIT_LOWERCASE)
@@ -5462,7 +5620,8 @@ AC_SUBST(WX_MINOR_VERSION_NUMBER)
 AC_SUBST(WX_RELEASE_NUMBER)
 AC_SUBST(WX_LIBRARY_NAME_STATIC)
 AC_SUBST(WX_LIBRARY_NAME_SHARED)
-AC_SUBST(WX_LIBRARY_BASENAME)
+AC_SUBST(WX_LIBRARY_BASENAME_NOGUI)
+AC_SUBST(WX_LIBRARY_BASENAME_GUI)
 AC_SUBST(WX_LIBRARY_IMPORTLIB)
 AC_SUBST(WX_TARGET_LIBRARY)
 AC_SUBST(WX_LIBRARY_LINK1)
@@ -5505,6 +5664,7 @@ dnl wx-config options
 AC_SUBST(top_builddir_wxconfig)
 AC_SUBST(host_alias)
 AC_SUBST(cross_compiling)
+AC_SUBST(WXCONFIG_EXTRALIBS)
 AC_SUBST(WXCONFIG_LIBS)
 AC_SUBST(WXCONFIG_LIBS_GL)
 AC_SUBST(WXCONFIG_LIBS_STATIC)
@@ -5695,6 +5855,7 @@ echo "                                       regex              ${wxUSE_REGEX}"
 echo "                                       tiff               ${wxUSE_LIBTIFF-none}"
 echo "                                       zlib               ${wxUSE_ZLIB}"
 echo "                                       odbc               ${wxUSE_ODBC}"
+echo "                                       expat              ${wxUSE_EXPAT}"
 
 echo ""