]> git.saurik.com Git - wxWidgets.git/blobdiff - configure.in
don't include X11 path before our own -I because on some systems (FreeBSD) wx headers...
[wxWidgets.git] / configure.in
index b605d73e9a10d7a569f52441b8d02c521d27f222..968a492cebd80aac74b943991d9195524ded9961 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
   ;;
 
@@ -558,12 +564,14 @@ case "${host}" in
     DEFAULT_DEFAULT_wxUSE_PM=1
   ;;
 
-  *-*-darwin* )
+  powerpc-*-darwin* )
+    dnl PowerPC Darwin based distributions (including Mac OS X)
     USE_BSD=1
     USE_DARWIN=1
     SO_SUFFIX=dylib
     AC_DEFINE(__BSD__)
     AC_DEFINE(__DARWIN__)
+    AC_DEFINE(__POWERPC__)
     DEFAULT_DEFAULT_wxUSE_MAC=1
   ;;
 
@@ -638,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
@@ -774,6 +783,7 @@ if test $DEBUG_CONFIGURE = 1; then
   DEFAULT_wxUSE_UNICODE=no
   DEFAULT_wxUSE_WCSRTOMBS=no
 
+  DEFAULT_wxUSE_PALETTE=no
   DEFAULT_wxUSE_IMAGE=no
   DEFAULT_wxUSE_GIF=no
   DEFAULT_wxUSE_PCX=no
@@ -798,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
@@ -933,6 +944,7 @@ else
   DEFAULT_wxUSE_UNICODE=no
   DEFAULT_wxUSE_WCSRTOMBS=no
 
+  DEFAULT_wxUSE_PALETTE=yes
   DEFAULT_wxUSE_IMAGE=yes
   DEFAULT_wxUSE_GIF=yes
   DEFAULT_wxUSE_PCX=yes
@@ -997,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 ---------------------------------------------------------------------------
@@ -1010,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
@@ -1290,6 +1301,7 @@ dnl ---------------------------------------------------------------------------
 dnl support for image formats that do not rely on external library
 dnl ---------------------------------------------------------------------------
 
+WX_ARG_ENABLE(palette,     [  --enable-palette        use wxPalette class], wxUSE_PALETTE)
 WX_ARG_ENABLE(image,       [  --enable-image          use wxImage class], wxUSE_IMAGE)
 WX_ARG_ENABLE(gif,         [  --enable-gif            use gif images (GIF file format)], wxUSE_GIF)
 WX_ARG_ENABLE(pcx,         [  --enable-pcx            use pcx images (PCX file format)], wxUSE_PCX)
@@ -1654,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"
@@ -1827,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
@@ -1936,14 +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
+        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
 
@@ -2117,9 +2138,9 @@ WX_LIBRARY_LINK2="lib${WX_LIBRARY}.${SO_SUFFIX}"
 WX_LIBRARY_LINK1_GL="lib${WX_LIBRARY_GL}.${SO_SUFFIX}.${WX_CURRENT}"
 WX_LIBRARY_LINK2_GL="lib${WX_LIBRARY_GL}.${SO_SUFFIX}"
 
-dnl the name of the resources file for wxMAC
-WX_RESOURCES_DARWIN="lib${WX_LIBRARY}.rsrc"
-
+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 ---
 
@@ -2154,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* )
@@ -2191,58 +2219,42 @@ 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
       ;;
 
       *-*-darwin* )
-        dnl FIXME: do we need __UNIX__ here?  It's already defined above
-        dnl for darwin right??
-        TOOLCHAIN_DEFS="${TOOLCHAIN_DEFS} -D__UNIX__ -D__DARWIN__ -D__POWERPC__"
-        CPPFLAGS="${CPPFLAGS} -fno-common"
+        CFLAGS="${CFLAGS} -fno-common"
+        CXXFLAGS="${CXXFLAGS} -fno-common"
         SHARED_LD="${CXX} -dynamiclib -o"
         PIC_FLAG="-dynamic -fPIC"
-
-        dnl add the resources target for wxMac
-        if test "$wxUSE_MAC" = 1 ; then
-            WX_ALL="${WX_ALL} lib${WX_LIBRARY}.r"
-            TOOLCHAIN_DEFS="${TOOLCHAIN_DEFS} -DTARGET_CARBON"
-            CPPFLAGS="${CPPFLAGS} -fpascal-strings"
-            CXXFLAGS="${CXXFLAGS} -cpp-precomp"
-            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)"
-        fi
       ;;
 
       *-*-aix* )
         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* )
@@ -2261,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
@@ -2296,12 +2308,29 @@ if test "$wxUSE_SHARED" = "no"; then
     WX_TARGET_LIBRARY_TYPE="a"
 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
@@ -2698,7 +2727,12 @@ dnl get the library function to use for wxGetDiskSpace()
 AC_CACHE_CHECK(for statfs, wx_cv_func_statfs,
     AC_TRY_COMPILE(
         [
-             #include <sys/vfs.h>
+             #ifdef __BSD__
+               #include <sys/param.h>
+               #include <sys/mount.h>
+             #else
+               #include <sys/vfs.h>
+             #endif
         ],
         [
              long l;
@@ -3116,7 +3150,7 @@ if test "$GCC" = yes ; then
         CODE_GEN_FLAGS_CXX="$CODE_GEN_FLAGS_CXX -fno-exceptions"
     fi
     if test "$wxUSE_PERMISSIVE" = "yes" ; then
-       CODE_GEN_FLAGS="$CODE_GEN_FLAGS -fpermissive"
+        CODE_GEN_FLAGS="$CODE_GEN_FLAGS -fpermissive"
     fi
     if test "$wxUSE_NO_DEPS" = "no" ; then
         CFLAGS="-MMD ${CFLAGS}"
@@ -3809,8 +3843,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
@@ -3832,7 +3873,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
@@ -4143,8 +4184,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
 
@@ -4258,6 +4299,10 @@ if test "$wxUSE_VALIDATORS" = "yes"; then
     SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS validate"
 fi
 
+if test "$wxUSE_PALETTE" = "yes" ; then
+  AC_DEFINE(wxUSE_PALETTE)
+fi
+
 if test "$wxUSE_IMAGE" = "yes" ; then
   AC_DEFINE(wxUSE_IMAGE)
 fi
@@ -4406,10 +4451,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
@@ -4421,7 +4462,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"
 
@@ -4536,12 +4577,14 @@ dnl additional resurces settings
 AC_SUBST(RESCOMP)
 AC_SUBST(RESFLAGS)
 AC_SUBST(RESPROGRAMOBJ)
-AC_SUBST(WX_RESOURCES_DARWIN)
+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)
@@ -4595,7 +4638,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