]> git.saurik.com Git - wxWidgets.git/blobdiff - configure.in
added wxApp::Yield
[wxWidgets.git] / configure.in
index b449d98af36b3ba2dd7265e58ffc4185c3023bb0..cc00d3f7aadd82c13725c6dd0253aa94ee01dd43 100644 (file)
@@ -391,6 +391,7 @@ USE_SUN=
 USE_SOLARIS=
 USE_SUNOS=
 USE_ALPHA=
+USE_IA64=
 USE_OSF=
 USE_BSD=
 USE_DARWIN=
@@ -457,6 +458,10 @@ case "${host}" in
       USE_ALPHA=1
       AC_DEFINE(__ALPHA__)
     fi
+    if test "x$TMP" = "xia64"; then
+      USE_IA64=1
+      AC_DEFINE(__IA64__)
+    fi
     DEFAULT_DEFAULT_wxUSE_GTK=1
   ;;
   *-*-irix5* | *-*-irix6* )
@@ -549,6 +554,7 @@ case "${host}" in
     AC_DEFINE(STRICT)
     AC_DEFINE(WINVER, 0x0400)
     PROGRAM_EXT=".exe"
+    RESCOMP=windres
     DEFAULT_DEFAULT_wxUSE_MSW=1
   ;;
 
@@ -640,6 +646,7 @@ if test $DEBUG_CONFIGURE = 1; then
   DEFAULT_wxUSE_MEM_TRACING=no
   DEFAULT_wxUSE_DEBUG_CONTEXT=no
   DEFAULT_wxUSE_DMALLOC=no
+  DEFAULT_wxUSE_PRECOMP=yes
   DEFAULT_wxUSE_APPLE_IEEE=no
 
   DEFAULT_wxUSE_LOG=yes
@@ -801,6 +808,7 @@ else
   DEFAULT_wxUSE_MEM_TRACING=no
   DEFAULT_wxUSE_DEBUG_CONTEXT=no
   DEFAULT_wxUSE_DMALLOC=no
+  DEFAULT_wxUSE_PRECOMP=yes
   DEFAULT_wxUSE_APPLE_IEEE=yes
 
   DEFAULT_wxUSE_LOG=yes
@@ -1001,10 +1009,6 @@ WX_ARG_SYS_WITH(regex,     [  --with-regex            enable support for wxRegEx
 WX_ARG_SYS_WITH(zlib,      [  --with-zlib             use zlib for LZW compression], wxUSE_ZLIB)
 WX_ARG_WITH(odbc,          [  --with-odbc             use the IODBC and wxODBC classes], wxUSE_ODBC)
 
-dnl ====================
-dnl compile-time options
-dnl ====================
-
 dnl ---------------------------------------------------------------------------
 dnl compile options
 dnl ---------------------------------------------------------------------------
@@ -1014,6 +1018,9 @@ WX_ARG_ENABLE(soname,      [  --enable-soname         set the DT_SONAME field in
 WX_ARG_ENABLE(optimise,    [  --enable-optimise       create optimised code], wxUSE_OPTIMISE)
 WX_ARG_ENABLE(debug,       [  --enable-debug          same as debug_flag and debug_info], wxUSE_DEBUG)
 
+dnl allow the precompiled header option to be disabled under Mac OS X
+WX_ARG_ENABLE(precomp,     [  --enable-precomp        enable use of precompiled headers (Mac OS X)], wxUSE_PRECOMP)
+
 if test "$wxUSE_DEBUG" = "yes"; then
   DEFAULT_wxUSE_DEBUG_FLAG=yes
   DEFAULT_wxUSE_DEBUG_INFO=yes
@@ -1659,6 +1666,11 @@ if test "$USE_WIN32" = 1 ; then
     dnl ---        some of them should probably be included conditionally.
     LIBS="$LIBS -lwinspool -lwinmm -lshell32 -lcomctl32 -lctl3d32 -ladvapi32 -lwsock32"
 
+    dnl Cygwin doesn't link these by default
+    if test "$wxUSE_CYGWIN" = 1; then
+        LIBS="$LIBS -lkernel32 -luser32 -lgdi32 -lcomdlg32"
+    fi
+
     dnl add extra odbc libs if we have compiled in odbc
     if test "$wxUSE_ODBC" = "yes" ; then
         LIBS="$LIBS -lodbc32 -lole32 -loleaut32"
@@ -1832,16 +1844,11 @@ equivalent variable and GTK+ is version 1.2.3 or above.
         TOOLCHAIN_DEFS="${TOOLCHAIN_DEFS} -D__WXWINE__"
     fi
 
-    dnl use standard macros to check for X headers/libs, this brings support
-    dnl for the standard configure options --x-includes and --x-libraries;
-    dnl the path to the X headers/libs is not only needed for motif, but also
-    dnl by the OpenGL and XKBlib.h checks further down
-
-    AC_PATH_XTRA
-    CPPFLAGS="$CPPFLAGS $X_CFLAGS"
-    LDFLAGS="$LDFLAGS $X_LIBS"
-
     if test "$wxUSE_MOTIF" = 1; then
+        dnl use standard macros to check for X headers/libs, this brings support
+        dnl for the standard configure options --x-includes and --x-libraries
+        AC_PATH_XTRA
+
         if test "$no_x" = "yes"; then
           AC_MSG_ERROR(X11 not found, please use --x-includes and/or --x-libraries options)
         fi
@@ -1941,19 +1948,23 @@ equivalent variable and GTK+ is version 1.2.3 or above.
         fi
 
         GUI_TK_LIBRARY="$GUI_TK_LIBRARY -lXm $xpm_link -lXmu -lXext -lXt -lX11"
-        TOOLKIT_VPATH="\${top_srcdir}/src/${TOOLKIT_DIR}${PATH_IFS}\${top_srcdir}/src/motif/xmcombo"
+        TOOLKIT_VPATH="\${top_srcdir}/src/motif${PATH_IFS}\${top_srcdir}/src/motif/xmcombo"
         TOOLKIT=MOTIF
         GUIDIST=MOTIF_DIST
     fi
 
-    dnl we can't call this MAC_DIST or autoconf thinks its a macro
     if test "$wxUSE_MAC" = 1; then
-        CPPFLAGS="${CPPFLAGS} -cpp-precomp"
+        if test "$wxUSE_PRECOMP" = "yes"; then
+            CPPFLAGS="${CPPFLAGS} -cpp-precomp"
+        fi
+       CPPFLAGS="${CPPFLAGS} -I/Developer/Headers/FlatCarbon -I\${top_srcdir}/src/mac/morefile"
         CFLAGS="${CFLAGS} -fpascal-strings"
         CXXFLAGS="${CXXFLAGS} -fpascal-strings"
         TOOLCHAIN_DEFS="${TOOLCHAIN_DEFS} -DTARGET_CARBON"
 
+        TOOLKIT_VPATH="\${top_srcdir}/src/mac${PATH_IFS}\${top_srcdir}/src/mac/morefile"
         TOOLKIT=MAC
+        dnl we can't call this MAC_DIST or autoconf thinks its a macro
         GUIDIST=MACX_DIST
     fi
 
@@ -2129,7 +2140,7 @@ WX_LIBRARY_LINK2_GL="lib${WX_LIBRARY_GL}.${SO_SUFFIX}"
 
 dnl the name of the resources file for wxMac
 WX_RESOURCES_MACOSX="lib${WX_LIBRARY}.rsrc"
-
+WX_RESOURCES_MACOSX_COMPILED="lib${WX_LIBRARY}.r"
 
 dnl --- the marker for quick search, leave it here: SHARED_LIB_SETUP ---
 
@@ -2164,6 +2175,13 @@ if test "$wxUSE_SHARED" = "yes"; then
             PIC_FLAG="+Z"
         fi
 
+        dnl install shared libs without symlinks
+        if test "$wxUSE_OPENGL" = "yes"; then
+            WX_ALL_INSTALLED="preinstall_gl"
+            WX_ALL="\$(build_libdir)/${WX_LIBRARY_NAME_SHARED} \$(build_libdir)/${WX_LIBRARY_NAME_SHARED_GL}"
+        else
+            WX_ALL="\$(build_libdir)/${WX_LIBRARY_NAME_SHARED}"
+        fi
       ;;
 
       *-*-linux* )
@@ -2201,6 +2219,8 @@ if test "$wxUSE_SHARED" = "yes"; then
         else
             SHARED_LD="${CXX} -G -o"
             PIC_FLAG="-KPIC"
+            SONAME_FLAGS="-h ${WX_LIBRARY_NAME_SHARED}"
+            SONAME_FLAGS_GL="-h ${WX_LIBRARY_NAME_SHARED}"
         fi
       ;;
 
@@ -2215,30 +2235,26 @@ if test "$wxUSE_SHARED" = "yes"; then
         SHARED_LD="/usr/lpp/xlC/bin/makeC++SharedLib -p 0 -o"
       ;;
 
-      *-*-cygwin* )
-        dnl only static for now
-        AC_MSG_WARN(Shared libs unsupported for $host_alias -- forcing static build.)
-        wxUSE_SHARED=no
-      ;;
-
-      *-*-mingw32* )
+      *-*-cygwin* | *-*-mingw32* )
         SHARED_LD="${CXX} -shared -Wl,--out-implib,lib/${WX_LIBRARY_NAME_STATIC} -o"
         TOOLCHAIN_DEFS="${TOOLCHAIN_DEFS} -DWXUSINGDLL=1"
         WXMSW_DLL_DEFINES="-UWXUSINGDLL -DWXMAKINGDLL=1 -D_DLL=1 -D_WINDLL=1"
-        WX_TARGET_LIBRARY="${WX_LIBRARY_NAME_SHARED}"
-        WX_TARGET_LIBRARY_GL="${WX_LIBRARY_NAME_SHARED_GL}"
+
+        dnl install shared libs without symlinks
         if test "$wxUSE_OPENGL" = "yes"; then
             WX_ALL_INSTALLED="preinstall_gl"
             WX_ALL="\$(build_libdir)/${WX_LIBRARY_NAME_SHARED} \$(build_libdir)/${WX_LIBRARY_NAME_SHARED_GL}"
         else
             WX_ALL="\$(build_libdir)/${WX_LIBRARY_NAME_SHARED}"
         fi
+        dnl -fPIC is not required for mingw build -- all code is already
+        dnl position independent
+        PIC_FLAG=
       ;;
 
       *-pc-os2_emx )
         dnl only static for now
-        WX_TARGET_LIBRARY="${WX_LIBRARY_NAME_STATIC}"
-        WX_ALL="\$(build_libdir)/${WX_LIBRARY_NAME_STATIC}"
+        wxUSE_SHARED=no
       ;;
 
       *-*-beos* )
@@ -2257,7 +2273,7 @@ if test "$wxUSE_SHARED" = "yes"; then
       ;;
 
       *)
-        AC_MSG_ERROR(unknown system type ${host}.)
+        AC_MSG_ERROR(unknown system type $host.)
     esac
 
     dnl set target to shared if not explicitly chose static before
@@ -2295,18 +2311,26 @@ fi
 if test "$wxUSE_MAC" = 1; then
     dnl add the resources target for wxMac
     WX_ALL="${WX_ALL} \$(build_libdir)/lib${WX_LIBRARY}.r"
+    WX_ALL_INSTALLED="${WX_ALL_INSTALLED} preinstall_res"
     AC_CHECK_PROG(RESCOMP, Rez, Rez, /Developer/Tools/Rez)
     AC_CHECK_PROG(DEREZ, Derez, Derez, /Developer/Tools/Derez)
     LIBWXMACRES="\$(top_builddir)/lib/lib${WX_LIBRARY}.r"
     LIBWXMACRESCOMP="\$(RESCOMP) Carbon.r -t APPL ${LIBWXMACRES} -o \$(BIN_PROGRAM)"
+    LIBWXMACRESWXCONFIG="${RESCOMP} Carbon.r -t APPL \${prefix}/lib/${WX_RESOURCES_MACOSX_COMPILED} -o"
 fi
 
 dnl ------------------------------------------------------------------------
 dnl Check for headers
 dnl ------------------------------------------------------------------------
 
-dnl defines HAVE_STRINGS_H (where some string functions live on AIX for example)
-AC_CHECK_HEADERS(strings.h)
+dnl do not check for strings.h for wxMac
+dnl   it exists but is only a simple redirection to string.h
+dnl   it is in conflict with Strings.h in FlatCarbon headers
+if test "$wxUSE_MAC" != 1; then
+  dnl defines HAVE_STRINGS_H (where some string functions live on AIX for example)
+  AC_CHECK_HEADERS(strings.h)
+fi
+
 dnl defines HAVE_STDLIB_H
 AC_CHECK_HEADERS(stdlib.h)
 dnl defines HAVE_UNISTD_H
@@ -2354,14 +2378,7 @@ AC_CACHE_CHECK([for wchar_t], wx_cv_type_wchar_t,
             ws = L"Hello, world!";
         ],
         wx_cv_type_wchar_t=yes,
-        AC_TRY_COMPILE([#include <stdlib.h>],
-            [
-                wchar_t wc, *ws;
-                wc = L'a';
-                ws = L"Hello, world!";
-            ],
-        wx_cv_type_wchar_t=yes,
-        wx_cv_type_wchar_t=no)
+        wx_cv_type_wchar_t=no
     )
 ])
 
@@ -2699,11 +2716,12 @@ fi
 dnl check for vfork() (even if it's the same as fork() in modern Unices)
 AC_CHECK_FUNCS(vfork)
 
-dnl get the library function to use for wxGetDiskSpace()
+dnl get the library function to use for wxGetDiskSpace(): it is statfs() under
+dnl Linux and *BSD and statvfs() under Solaris
 AC_CACHE_CHECK(for statfs, wx_cv_func_statfs,
     AC_TRY_COMPILE(
         [
-             #ifdef __DARWIN__
+             #if defined(__BSD__)
                #include <sys/param.h>
                #include <sys/mount.h>
              #else
@@ -2730,7 +2748,33 @@ AC_CACHE_CHECK(for statfs, wx_cv_func_statfs,
 if test "$wx_cv_func_statfs" = "yes"; then
     AC_DEFINE(HAVE_STATFS)
 else
-    AC_MSG_WARN([wxGetDiskSpace() function won't work without statfs()])
+    AC_CACHE_CHECK(for statvfs, wx_cv_func_statvfs,
+        AC_TRY_COMPILE(
+            [
+                 #include <sys/statvfs.h>
+            ],
+            [
+                 long l;
+                 struct statvfs fs;
+                 statvfs("/", &fs);
+                 l = fs.f_bsize;
+                 l += fs.f_blocks;
+                 l += fs.f_bavail;
+            ],
+            [
+                 wx_cv_func_statvfs=yes
+            ],
+            [
+                 wx_cv_func_statvfs=no
+            ]
+        )
+    )
+
+    if test "$wx_cv_func_statvfs" = "yes"; then
+        AC_DEFINE(HAVE_STATVFS)
+    else
+        AC_MSG_WARN([wxGetDiskSpace() function won't work without statfs()])
+    fi
 fi
 
 dnl check for fcntl() or at least flock() needed by Unix implementation of
@@ -3819,8 +3863,15 @@ if test "$wxUSE_CONSTRAINTS" = "yes"; then
 fi
 
 if test "$wxUSE_MDI_ARCHITECTURE" = "yes"; then
-    AC_DEFINE(wxUSE_MDI_ARCHITECTURE)
-    SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS mdi"
+    if test "$wxUSE_UNIVERSAL" = "yes"; then
+        AC_MSG_WARN(MDI is not supported for wxUNIVERSAL yet... disabled)
+        wxUSE_MDI_ARCHITECTURE=no
+    fi
+
+    if test "$wxUSE_MDI_ARCHITECTURE" = "yes"; then
+        AC_DEFINE(wxUSE_MDI_ARCHITECTURE)
+        SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS mdi"
+    fi
 fi
 
 if test "$wxUSE_DOC_VIEW_ARCHITECTURE" = "yes" ; then
@@ -3842,7 +3893,7 @@ if test "$wxUSE_HELP" = "yes"; then
                 AC_DEFINE(wxUSE_MS_HTML_HELP)
             ],
             [
-                AC_MSG_WARN([MS HTML Help cannot be used without htmlhelp.h, disabled])
+                AC_MSG_WARN([MS HTML Help cannot be used without htmlhelp.h... disabled])
                 wxUSE_MS_HTML_HELP=no
             ])
       fi
@@ -4153,8 +4204,8 @@ if test "$wxUSE_TEXTCTRL" = "yes"; then
 fi
 
 if test "$wxUSE_TOGGLEBTN" = "yes"; then
-    if test "$wxUSE_MAC" = 1; then
-        AC_MSG_WARN([Toggle button is not yet supported under Mac OS X])
+    if test "$wxUSE_MAC" = 1 -o "$wxUSE_UNIVERSAL" = "yes"; then
+        AC_MSG_WARN([Toggle button not yet supported under Mac OS X or wxUNIVERSAL... disabled])
         wxUSE_TOGGLEBTN=no
     fi
 
@@ -4420,10 +4471,6 @@ if test "$wxUSE_GUI" = "yes"; then
                      drawing dynamic erase event exec font image \
                      minimal richedit rotate widgets"
 
-    if test "$wxUSE_UNIVERSAL" = "yes" ; then
-        SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS univ"
-    fi
-
     dnl this is needed to be able to find AFM files
     CPPFLAGS="$CPPFLAGS \$(EXTRADEFS) \$(APPEXTRADEFS)"
 else
@@ -4435,7 +4482,7 @@ dnl makefile system without libtool
 LD_LIBS="\${top_builddir}/lib/${WX_LIBRARY_NAME_STATIC} $EXTRA_LIBS"
 
 dnl all -I options we must pass to the compiler
-INCLUDES="-I. -I\${top_builddir}/lib/wx/include/${TOOLCHAIN_NAME} -I\${top_srcdir}/include \
+INCLUDES="-I\${top_builddir}/lib/wx/include/${TOOLCHAIN_NAME} -I\${top_srcdir}/include \
 $REGEX_INCLUDE $ZLIB_INCLUDE $PNG_INCLUDE $JPEG_INCLUDE $TIFF_INCLUDE \
 $FREETYPE_INCLUDE $TOOLKIT_INCLUDE"
 
@@ -4551,11 +4598,13 @@ AC_SUBST(RESCOMP)
 AC_SUBST(RESFLAGS)
 AC_SUBST(RESPROGRAMOBJ)
 AC_SUBST(WX_RESOURCES_MACOSX)
+AC_SUBST(WX_RESOURCES_MACOSX_COMPILED)
 
 dnl additional for Mac OS X
 AC_SUBST(DEREZ)
 AC_SUBST(LIBWXMACRES)
 AC_SUBST(LIBWXMACRESCOMP)
+AC_SUBST(LIBWXMACRESWXCONFIG)
 
 dnl These seem to be missing
 AC_SUBST(DLLTOOL)
@@ -4609,7 +4658,10 @@ AC_OUTPUT([
             dnl Otherwise running config.status or rerunning configure
             dnl would stomp the wx-config link or try to move it onto
             dnl itself.
-            if test ! -L wx-config; then
+            dnl Use -h instead of -L to test for link (GD)
+            dnl   -h is documented as obsolete under Mac OS X but works
+            dnl   -L is obsolete under Solaris8
+            if test ! -h wx-config; then
                 chmod +x wx-config
                 mv wx-config wx${TOOLCHAIN_NAME}-config
                 ${LN_S} wx${TOOLCHAIN_NAME}-config wx-config