]> git.saurik.com Git - wxWidgets.git/blobdiff - configure.in
warning cleanup
[wxWidgets.git] / configure.in
index f02789d457becb3383a1088fce10e2451d2efe47..a06af8e7ba3748ab0785db831efa758962dd8779 100644 (file)
@@ -328,7 +328,6 @@ case "${host}" in
     SO_SUFFIX=dylib
     AC_DEFINE(__BSD__)
     AC_DEFINE(__DARWIN__)
-    AC_DEFINE(__POWERPC__)
     AC_DEFINE(TARGET_CARBON)
     DEFAULT_DEFAULT_wxUSE_MAC=1
   ;;
@@ -500,7 +499,7 @@ if test $DEBUG_CONFIGURE = 1; then
   DEFAULT_wxUSE_FS_INET=no
   DEFAULT_wxUSE_FS_ZIP=no
   DEFAULT_wxUSE_BUSYINFO=no
-  DEFAULT_wxUSE_ARCSTREAM=no
+  DEFAULT_wxUSE_ARCHIVE_STREAMS=no
   DEFAULT_wxUSE_ZIPSTREAM=no
   DEFAULT_wxUSE_VALIDATORS=no
 
@@ -693,7 +692,7 @@ else
   DEFAULT_wxUSE_FS_INET=yes
   DEFAULT_wxUSE_FS_ZIP=yes
   DEFAULT_wxUSE_BUSYINFO=yes
-  DEFAULT_wxUSE_ARCSTREAM=yes
+  DEFAULT_wxUSE_ARCHIVE_STREAMS=yes
   DEFAULT_wxUSE_ZIPSTREAM=yes
   DEFAULT_wxUSE_VALIDATORS=yes
 
@@ -886,7 +885,7 @@ WX_ARG_ENABLE(ipc,           [  --enable-ipc            use interprocess communi
 
 dnl please keep the settings below in alphabetical order
 WX_ARG_ENABLE(apple_ieee,    [  --enable-apple_ieee     use the Apple IEEE codec], wxUSE_APPLE_IEEE)
-WX_ARG_ENABLE(arcstream,     [  --enable-arcstream      use wxArchive streams], wxUSE_ARCSTREAM)
+WX_ARG_ENABLE(arcstream,     [  --enable-arcstream      use wxArchive streams], wxUSE_ARCHIVE_STREAMS)
 WX_ARG_ENABLE(catch_segvs,   [  --enable-catch_segvs    catch signals in wxApp::OnFatalException (Unix only)], wxUSE_ON_FATAL_EXCEPTION)
 WX_ARG_ENABLE(backtrace,     [  --enable-backtrace      use wxStackWalker class for getting backtraces], wxUSE_STACKWALKER)
 WX_ARG_ENABLE(cmdline,       [  --enable-cmdline        use wxCmdLineParser class], wxUSE_CMDLINE_PARSER)
@@ -1142,7 +1141,7 @@ WX_ARG_ENABLE(tooltips,    [  --enable-tooltips       use wxToolTip class], wxUS
 WX_ARG_ENABLE(splines,     [  --enable-splines        use spline drawing code], wxUSE_SPLINES)
 WX_ARG_ENABLE(validators,  [  --enable-validators     use wxValidator and derived classes], wxUSE_VALIDATORS)
 WX_ARG_ENABLE(busyinfo,    [  --enable-busyinfo       use wxBusyInfo], wxUSE_BUSYINFO)
-WX_ARG_ENABLE(joystick,    [  --enable-joystick       use wxJoystick (Linux only)], wxUSE_JOYSTICK)
+WX_ARG_ENABLE(joystick,    [  --enable-joystick       use wxJoystick], wxUSE_JOYSTICK)
 WX_ARG_ENABLE(metafile,    [  --enable-metafiles      use wxMetaFile (Windows only)], wxUSE_METAFILE)
 WX_ARG_ENABLE(dragimage,   [  --enable-dragimage      use wxDragImage], wxUSE_DRAGIMAGE)
 WX_ARG_ENABLE(accessibility,[  --enable-accessibility  enable accessibility support], wxUSE_ACCESSIBILITY)
@@ -1362,7 +1361,13 @@ dnl default CFLAGS (something like "-g -O2") -- we don't need this as we add
 dnl -g and -O flags ourselves below
 CFLAGS=${CFLAGS:=}
 AC_PROG_CC
+AC_WX_METROWERKS_EXTO
+if test "x$wx_cv_c_exto" '!=' "x"; then
+    unset ac_cv_prog_cc_g
+    _AC_PROG_CC_G
+fi
 AC_BAKEFILE_PROG_MWCC
+AC_WX_PROG_XLCC
 
 dnl is -traditional needed for correct compilations
 dnl   adds -traditional for gcc if needed
@@ -1380,7 +1385,13 @@ dnl
 dnl see CFLAGS line above
 CXXFLAGS=${CXXFLAGS:=}
 AC_PROG_CXX
+AC_WX_METROWERKS_EXTO
+if test "x$wx_cv_cxx_exto" '!=' "x"; then
+    unset ac_cv_prog_cxx_g
+    _AC_PROG_CXX_G
+fi
 AC_BAKEFILE_PROG_MWCXX
+AC_WX_PROG_XLCXX
 
 AC_LANG_RESTORE
 
@@ -1495,6 +1506,46 @@ dnl ------------------------------------------------------------------------
 dnl Platform specific tests
 dnl ------------------------------------------------------------------------
 
+dnl xlC needs -qunique (at least on AIX) so that one source file can be
+dnl compiled to multiple object files and safely linked together.
+if test "x$XLCXX" = "xyes"; then
+    CXXFLAGS="$CXXFLAGS -qunique"
+fi
+
+
+dnl This case is for OS X vs. everything else
+case "${host}" in
+  powerpc-*-darwin* )
+    AC_MSG_CHECKING([if __POWERPC__ is already defined])
+    AC_TRY_COMPILE([],[#ifndef __POWERPC__
+        choke me for lack of PowerPC
+#endif
+],
+        [AC_MSG_RESULT([yes])],
+        [AC_MSG_RESULT([no])
+        AC_DEFINE(__POWERPC__)
+    ])
+    AC_MSG_CHECKING([if CoreFoundation/CFBase.h is usable])
+    AC_TRY_COMPILE([#include <CoreFoundation/CFBase.h>
+],[],
+        [AC_MSG_RESULT([yes])],
+        [AC_MSG_RESULT([no])
+        AC_MSG_CHECKING([if __CF_USE_FRAMEWORK_INCLUDES__ is required])
+        AC_TRY_COMPILE([#define __CF_USE_FRAMEWORK_INCLUDES__
+#include <CoreFoundation/CFBase.h>
+        ],[],
+        [AC_MSG_RESULT([yes])
+        dnl We must use -D so source files that don't include wx/setup.h
+        dnl but do include CFBase will work.
+        CPPFLAGS="$CPPFLAGS -D__CF_USE_FRAMEWORK_INCLUDES__"],
+        [AC_MSG_FAILURE([no.  CoreFoundation not available.])]
+        )
+        ]
+    )
+  ;;
+esac
+
+dnl This case is for OS/2 vs. everything else
 case "${host}" in
   *-pc-os2_emx | *-pc-os2-emx )
       dnl ---------------------------------------------------------------------
@@ -1513,46 +1564,59 @@ case "${host}" in
           dnl Include resources for the "native" port (wxPM).
           RESPROGRAMOBJ="\${top_srcdir}/include/wx/os2/wx.res"
       fi
+      dnl Check for the gcc version (and thereby for the C runtime library).
+      dnl wx_cv_gccversion = EMX2 -> Standard EMX environment
+      dnl wx_cv_gccversion = EMX3 -> EMX with gcc-3.0.3 or gcc-3.2.1
+      dnl wx_cv_gccversion = Innotek5 -> gcc-3.2.2 with Innotek libc5
+      dnl wx_cv_gccversion = Innotek6 -> gcc-3.3.5 with Innotek libc6.
       AC_CACHE_CHECK([for gcc version], wx_cv_gccversion,[
-          AC_TRY_COMPILE([],
+          AC_TRY_RUN(
+              dnl Check the gcc version macro.  
               [
+                  #include <stdio.h>
+
+                  int main()
+                  {
+                      FILE *f=fopen("conftestval", "w");
+                      if (!f) exit(1);
+                      fprintf(f,
                   #if (__GNUC__ < 3)
-                      #error old gcc
+                              "EMX2"
+                  #elif (__GNUC__==3) && ((__GNUC_MINOR__ < 2) || ((__GNUC_MINOR__==2) && (__GNUC_PATCHLEVEL__<2)))
+                              "EMX3"
+                  #elif (__GNUC__==3) && (__GNUC_MINOR__==2) && (__GNUC_PATCHLEVEL__==2)
+                              "Innotek5"
+                  #else
+                              "Innotek6"
                   #endif
+                     );
+                      exit(0);
+                  }
               ],
-              [
-                  AC_TRY_COMPILE([],
-                      [
-                          #if (__GNUC__==3) && ((__GNUC_MINOR__ < 2) || ((__GNUC_MINOR__==2) && (__GNUC_PATCHLEVEL__<2)))
-                              #error intermediate gcc
-                          #endif
-                      ],
-                      [
-                         wx_cv_gccversion=Innotek
-                      ],
-                      [
-                         wx_cv_gccversion=3
-                      ]
-                  )
-              ],
-              [
-                  wx_cv_gccversion=2
-              ]
+             wx_cv_gccversion=`cat conftestval`,
+              wx_cv_gccversion="EMX2",
+              dnl Compilation error: Assuming standard EMX environment
+              wx_cv_gccversion="EMX2"
           )
       ])
-      if test "$wx_cv_gccversion" = "2"; then
+      if test "$wx_cv_gccversion" = "EMX2"; then
           LIBS="$LIBS -lstdcpp"
           LDFLAGS="$LDFLAGS -Zsysv-signals"
       else
-          if test "$wx_cv_gccversion" = "3"; then
+          if test "$wx_cv_gccversion" = "EMX3"; then
               LIBS="$LIBS -lstdcxx"
               LDFLAGS="$LDFLAGS -Zsysv-signals"
           else
               LIBS="$LIBS -lstdc++"
           fi
       fi
+      if test "$wxUSE_SHARED" = "yes" -a "$wxUSE_OMF" = "no"; then
+        AC_MSG_WARN([Building DLLs requires OMF mode, enabled])
+        wxUSE_OMF=yes
+       enable_omf=yes
+      fi
       if test "$wxUSE_OMF" = "yes"; then
-        LDFLAGS="$LDFLAGS -Zomf -Zlinker /PMTYPE:PM -Zlinker /EXEPACK"
+        LDFLAGS="$LDFLAGS -Zlinker /EXEPACK -Zlinker /PMTYPE:PM"
       fi
       dnl (end of OS/2-only piece)
   ;;
@@ -1637,8 +1701,12 @@ AC_CHECK_HEADERS(langinfo.h)
 
 case "${host}" in
   *-pc-os2_emx | *-pc-os2-emx )
-      dnl Explicitly link -lintl if langinfo.h is available.
-      if test $ac_cv_header_langinfo_h = "yes"; then
+      dnl Explicitly link -lintl if langinfo.h is available
+      dnl and intl not yet included in libc
+      if test $ac_cv_header_langinfo_h = "yes" \
+                -a \(   "$wx_cv_gccversion" = "EMX2" \
+                     -o "$wx_cv_gccversion" = "EMX3" \
+                     -o "$wx_cv_gccversion" = "Innotek5" \); then
           LIBS="$LIBS -lintl"
       fi
   ;;
@@ -1982,11 +2050,6 @@ SEARCH_INCLUDE="\
     /usr/include/wine         \
     /usr/local/include/wine   \
                               \
-    /usr/include/gstreamer-0.8 \
-    /usr/local/include/gstreamer-0.8 \
-    /usr/include/libxml2       \
-    /usr/local/include/libxml2 \
-                              \
     /usr/unsupported/include  \
     /usr/athena/include       \
     /usr/local/x11r5/include  \
@@ -4773,12 +4836,12 @@ if test "$wxUSE_FS_ZIP" = "yes"; then
   AC_DEFINE(wxUSE_FS_ZIP)
 fi
 
-if test "$wxUSE_ARCSTREAM" = "yes"; then
-  AC_DEFINE(wxUSE_ARCSTREAM)
+if test "$wxUSE_ARCHIVE_STREAMS" = "yes"; then
+  AC_DEFINE(wxUSE_ARCHIVE_STREAMS)
 fi
 
 if test "$wxUSE_ZIPSTREAM" = "yes"; then
-  if test "$wxUSE_ARCSTREAM" != "yes"; then
+  if test "$wxUSE_ARCHIVE_STREAMS" != "yes"; then
     AC_MSG_WARN(wxZip requires wxArchive... disabled)
   elif test "$wxUSE_ZLIB" = "no"; then
     AC_MSG_WARN(wxZip requires wxZlib... disabled)
@@ -5226,27 +5289,29 @@ dnl Joystick support
 dnl ---------------------------------------------------------------------------
 
 if test "$wxUSE_GUI" = "yes"; then
-
-    if test "$TOOLKIT" = "MAC" -o "$TOOLKIT" = "COCOA"; then
-        AC_MSG_WARN([Joystick not yet supported under Mac OS X... disabled])
-        wxUSE_JOYSTICK=no
-     fi
-    
      dnl under MSW we always have joystick support
-    if test "$TOOLKIT" != "MSW"; then
-        if test "$wxUSE_JOYSTICK" = "yes"; then
-            dnl joystick support is only for Linux 2.1.x or greater
+     if test "$wxUSE_JOYSTICK" = "yes"; then
+         
+        dnl joystick support is only for Linux 2.1.x or greater
+        if test "$TOOLKIT" != "MAC" -a "$TOOLKIT" != "COCOA" -a "$TOOLKIT" != "MSW"; then
             AC_CHECK_HEADERS(linux/joystick.h)
             if test "$ac_cv_header_linux_joystick_h" != "yes"; then
                 wxUSE_JOYSTICK=no
                 AC_MSG_WARN(Joystick not supported by this system... disabled)
             fi
+        else
+           dnl mac only available on darwin
+           if test "$USE_DARWIN" != 1 -a "$TOOLKIT" != "MSW"; then
+                wxUSE_JOYSTICK=no
+                AC_MSG_WARN(Joystick not supported by this system... disabled)           
+           fi            
         fi
-    fi
 
-    if test "$wxUSE_JOYSTICK" = "yes"; then
-        AC_DEFINE(wxUSE_JOYSTICK)
-        SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS joytest"
+
+        if test "$wxUSE_JOYSTICK" = "yes"; then
+            AC_DEFINE(wxUSE_JOYSTICK)
+            SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS joytest"
+        fi
     fi
 fi
 
@@ -6004,120 +6069,76 @@ if test "$wxUSE_MEDIACTRL" = "yes"; then
     if test "$wxUSE_GTK" = 1; then
         wxUSE_GSTREAMER="yes"
         
-        dnl ---------------------------------------------------------------
-        dnl check for libxml2 lib
-        dnl ---------------------------------------------------------------
-        AC_MSG_CHECKING([for libxml2])
-        WX_PATH_FIND_LIBRARIES([$SEARCH_LIB],xml2)
-        if test "$ac_find_libraries" != "" ; then
-            dnl -----------------------------------------------------------
-            dnl Check for libxml2's xmlstring.h header
-            dnl Break out if not found
-            dnl -----------------------------------------------------------                
-            AC_MSG_RESULT([yes])
-            AC_MSG_CHECKING(for libxml2 headers)
-            WX_PATH_FIND_INCLUDES($SEARCH_INCLUDE, libxml/xmlstring.h)
-            if test "$ac_find_includes" != "" ; then
-                AC_MSG_RESULT(found in $ac_find_includes)
-                WX_INCLUDE_PATH_EXIST($ac_find_includes, $TOOLKIT_INCLUDE)
-                TOOLKIT_INCLUDE="$TOOLKIT_INCLUDE$ac_path_to_include"
+        dnl -------------------------------------------------------------------
+        dnl Test for gstreamer module from pkg-config
+        dnl -------------------------------------------------------------------
+        PKG_CHECK_MODULES(GSTREAMER, gstreamer-0.8,
+        [
+            CPPFLAGS="$CPPFLAGS $GSTREAMER_CFLAGS"
+            LIBS="$LIBS $GSTREAMER_LIBS -lgstplay-0.8"
+        ],
+        [
+            AC_MSG_WARN([GStreamer installation not found])
+            wxUSE_GSTREAMER="no"
+        ])
+        
+        dnl -------------------------------------------------------------------
+        dnl Perform a check for a GStreamer element using gst-inspect
+        dnl Thomas Vander Stichele <thomas at apestaart dot org>
+        dnl Last modification: 25/01/2005
+        dnl
+        dnl AM_GST_ELEMENT_CHECK(ELEMENT-NAME, ACTION-IF-FOUND, ACTION-IF-NOT-FOUND)
+        dnl -------------------------------------------------------------------
+        AC_DEFUN([AM_GST_ELEMENT_CHECK],
+        [
+        if test "x$GST_INSPECT" == "x"; then
+            AC_CHECK_PROG(GST_INSPECT, gst-inspect, gst-inspect, [])
+        fi
+        
+        if test "x$GST_INSPECT" != "x"; then
+            AC_MSG_CHECKING(GStreamer element $1)
+            if [ $GST_INSPECT $1 > /dev/null 2> /dev/null ]; then
+            AC_MSG_RESULT(found.)
+            $2
             else
-                AC_TRY_COMPILE(
-                    [
-                        #include <libxml/xmlstring.h>
-                    ],
-                    [],
-                    [AC_MSG_RESULT(found in default search path)],
-                    [wxUSE_GSTREAMER="no"])
+            AC_MSG_RESULT(not found.)
+            $3
             fi
-        else
-            dnl -----------------------------------------------------------
-            dnl libxml2 lib not found - break out
-            dnl -----------------------------------------------------------
+        fi
+        ])
+        
+        dnl -------------------------------------------------------------------
+        dnl Test for x video sink (video useless without)
+        dnl -------------------------------------------------------------------
+        AM_GST_ELEMENT_CHECK(xvimagesink,[], 
+                        [
+                            wxUSE_GSTREAMER="no"
+                            AC_MSG_WARN([x video sink not found - cannot use GStreamer])
+                        ])
+                            
+        dnl -------------------------------------------------------------------
+        dnl Check for gstplay-0.8 lib and corresponding x overlay header
+        dnl -------------------------------------------------------------------        
+        AC_CHECK_HEADER(gst/xoverlay/xoverlay.h, [], 
+                        [
+                            wxUSE_GSTREAMER="no"
+                            AC_MSG_WARN([xoverlay header not found, cannot use GStreamer])
+                        ],
+                        [#include <gst/gst.h>])
+        
+        AC_MSG_CHECKING([for gstplay 0.8])
+        WX_PATH_FIND_LIBRARIES([$SEARCH_LIB],gstplay-0.8)           
+        
+        if test "$ac_find_libraries" = "" ; then
+            AC_MSG_RESULT([no])
             wxUSE_GSTREAMER="no"
+        else
+            AC_MSG_RESULT([yes])        
         fi
-            
+        
         if test "$wxUSE_GSTREAMER" = "yes"; then
-            dnl -----------------------------------------------------------
-            dnl    test for gstreamer main lib
-            dnl -----------------------------------------------------------
-            AC_MSG_CHECKING([for gstreamer 0.8])
-            WX_PATH_FIND_LIBRARIES([$SEARCH_LIB],gstreamer-0.8)
-            if test "$ac_find_libraries" != "" ; then                
-                dnl -------------------------------------------------------
-                dnl Check for GStreamer gstplay lib
-                dnl -------------------------------------------------------                
-                AC_MSG_RESULT([yes])
-                AC_MSG_CHECKING([for gstplay 0.8])
-                WX_PATH_FIND_LIBRARIES([$SEARCH_LIB],gstplay-0.8)                    
-                if test "$ac_find_libraries" != "" ; then
-                    dnl ---------------------------------------------------
-                    dnl gstplay lib found - check for gstinterfaces lib
-                    dnl ---------------------------------------------------
-                    AC_MSG_RESULT([yes])
-                    AC_MSG_CHECKING([for gstinterfaces 0.8])
-                    WX_PATH_FIND_LIBRARIES([$SEARCH_LIB],gstinterfaces-0.8)
-                    if test "$ac_find_libraries" != "" ; then
-                        dnl -----------------------------------------------
-                        dnl GStreamer libs found - check for gstreamer 
-                        dnl include path and header
-                        dnl -----------------------------------------------
-                        AC_MSG_RESULT([yes])
-                        AC_MSG_CHECKING(for GStreamer headers)
-                        WX_PATH_FIND_INCLUDES($SEARCH_INCLUDE, gst/gst.h)
-                        if test "$ac_find_includes" != "" ; then
-                            AC_MSG_RESULT(found in $ac_find_includes)
-                            WX_INCLUDE_PATH_EXIST($ac_find_includes, $TOOLKIT_INCLUDE)
-                            TOOLKIT_INCLUDE="$TOOLKIT_INCLUDE$ac_path_to_include"
-                        else
-                            AC_TRY_COMPILE(
-                                [
-                                    #include <gst/gst.h>
-                                ],
-                                [],
-                                [AC_MSG_RESULT(found in default search path)],
-                                [wxUSE_GSTREAMER="no"])
-                        fi
-                    else
-                        dnl -----------------------------------------------
-                        dnl gstinterfaces lib not found - break out
-                        dnl -----------------------------------------------
-                        wxUSE_GSTREAMER="no"
-                    fi
-                else
-                    dnl ---------------------------------------------------
-                    dnl gstplay lib not found - break out
-                    dnl --------------------------------------------------- 
-                    wxUSE_GSTREAMER="no"
-                fi    
-            else 
-                dnl -------------------------------------------------------
-                dnl Main GStreamer lib not found - break out
-                dnl -------------------------------------------------------                
-                wxUSE_GSTREAMER="no"
-            fi    
-
-            dnl -----------------------------------------------------------
-            dnl Check if everything went ok - if not then print no 
-            dnl and break out
-            dnl -----------------------------------------------------------                
-            if test "$wxUSE_GSTREAMER" = "yes"; then
-                dnl -------------------------------------------------------
-                dnl Success!  Define wxUSE_GSTREAMER to 1 so that 
-                dnl src/unix/mediactrl.cpp will build with GStreamer 
-                dnl enabled, and add the 3 gstreamer libs and the libxml2
-                dnl to the linker's library includes
-                dnl -------------------------------------------------------
-                AC_DEFINE(wxUSE_GSTREAMER)
-                LIBS="$LIBS -lgstreamer-0.8 -lgstplay-0.8"
-                LIBS="$LIBS -lgstinterfaces-0.8 -lxml2"
-            else
-                dnl -------------------------------------------------------
-                dnl Generic "NO" message - triggered if any of the above
-                dnl conditions doesn't pan out
-                dnl -------------------------------------------------------
-                AC_MSG_RESULT([no])
-            fi            
+            AC_DEFINE(wxUSE_GSTREAMER)
+            AC_MSG_RESULT([GStreamer detection successful])
         fi
     fi
     SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS mediaplayer"
@@ -6205,7 +6226,7 @@ if test "$wxUSE_MAC" = 1 ; then
     fi
 fi
 if test "$wxUSE_COCOA" = 1 ; then
-    LDFLAGS="$LDFLAGS -framework Cocoa"
+    LDFLAGS="$LDFLAGS -framework IOKit -framework Cocoa"
     if test "$wxUSE_MEDIACTRL" = "yes"; then
         LDFLAGS="$LDFLAGS -framework QuickTime"
     fi
@@ -6324,7 +6345,7 @@ EXTRALIBS_XML="$EXPAT_LINK"
 EXTRALIBS_HTML="$MSPACK_LINK"
 EXTRALIBS_ODBC="$ODBC_LINK"
 if test "$wxUSE_GUI" = "yes"; then
-    EXTRALIBS_GUI=`echo $GUI_TK_LIBRARY $PNG_LINK $JPEG_LINK $TIFF_LINK $WEBKIT_LINK`
+    EXTRALIBS_GUI=`echo $GUI_TK_LIBRARY $PNG_LINK $JPEG_LINK $TIFF_LINK $WEBKIT_LINK $EXTRALIBS_GNOMEPRINT`
 fi
 if test "$wxUSE_OPENGL" = "yes"; then
     EXTRALIBS_OPENGL="$LDFLAGS_GL $OPENGL_LIBS"