]> git.saurik.com Git - wxWidgets.git/blobdiff - configure.in
don't assert when creating an initially empty wxCB_READONLY combobox
[wxWidgets.git] / configure.in
index 49950ac5cd6dfd0e399f2b01799a5d364ab136c6..560b2679781b33e4fb1e4d8972af1ec3285da487 100644 (file)
@@ -397,6 +397,8 @@ if test $DEBUG_CONFIGURE = 1; then
   DEFAULT_wxUSE_LIBJPEG=no
   DEFAULT_wxUSE_LIBTIFF=no
   DEFAULT_wxUSE_LIBXPM=no
+  DEFAULT_wxUSE_LIBMSPACK=no
+  DEFAULT_wxUSE_LIBSDL=no
   DEFAULT_wxUSE_ODBC=no
   DEFAULT_wxUSE_OPENGL=no
 
@@ -411,7 +413,7 @@ if test $DEBUG_CONFIGURE = 1; then
   DEFAULT_wxUSE_FFILE=no
   DEFAULT_wxUSE_TEXTBUFFER=no
   DEFAULT_wxUSE_TEXTFILE=no
-  DEFAULT_wxUSE_WAVE=no
+  DEFAULT_wxUSE_SOUND=no
   DEFAULT_wxUSE_INTL=no
   DEFAULT_wxUSE_CONFIG=no
   DEFAULT_wxUSE_FONTMAP=no
@@ -537,6 +539,7 @@ if test $DEBUG_CONFIGURE = 1; then
   DEFAULT_wxUSE_ACCESSIBILITY=no
   
   DEFAULT_wxUSE_MONOLITHIC=no
+  DEFAULT_wxUSE_PLUGINS=no
   DEFAULT_wxUSE_OFFICIAL_BUILD=no
 else
   DEFAULT_wxUSE_UNIVERSAL=no
@@ -578,6 +581,7 @@ else
   DEFAULT_wxUSE_LIBTIFF=yes
   DEFAULT_wxUSE_LIBXPM=yes
   DEFAULT_wxUSE_LIBMSPACK=yes
+  DEFAULT_wxUSE_LIBSDL=no
   DEFAULT_wxUSE_ODBC=no
   DEFAULT_wxUSE_OPENGL=no
 
@@ -592,7 +596,7 @@ else
   DEFAULT_wxUSE_FFILE=yes
   DEFAULT_wxUSE_TEXTBUFFER=yes
   DEFAULT_wxUSE_TEXTFILE=yes
-  DEFAULT_wxUSE_WAVE=no
+  DEFAULT_wxUSE_SOUND=yes
   DEFAULT_wxUSE_INTL=yes
   DEFAULT_wxUSE_CONFIG=yes
   DEFAULT_wxUSE_FONTMAP=yes
@@ -718,6 +722,7 @@ else
   DEFAULT_wxUSE_ACCESSIBILITY=no
   
   DEFAULT_wxUSE_MONOLITHIC=no
+  DEFAULT_wxUSE_PLUGINS=no
   DEFAULT_wxUSE_OFFICIAL_BUILD=no
 fi
 
@@ -749,7 +754,8 @@ dnl     doing
 dnl ---------------------------------------------------------------------------
 
 WX_ARG_ENABLE(gui,         [  --enable-gui            use GUI classes], wxUSE_GUI)
-WX_ARG_ENABLE(monolithic,  [  --disable-monolithic    don't build wxWindows as single library], wxUSE_MONOLITHIC)
+WX_ARG_ENABLE(monolithic,  [  --enable-monolithic     build wxWindows as single library], wxUSE_MONOLITHIC)
+WX_ARG_ENABLE(plugins,     [  --enable-plugins        build parts of wxWindows as loadable components], wxUSE_PLUGINS)
 
 if test "$wxUSE_GUI" = "yes"; then
 
@@ -773,6 +779,7 @@ WX_ARG_SYS_WITH(libjpeg,   [  --with-libjpeg          use libjpeg (JPEG file for
 WX_ARG_SYS_WITH(libtiff,   [  --with-libtiff          use libtiff (TIFF file format)], wxUSE_LIBTIFF)
 WX_ARG_SYS_WITH(libxpm,    [  --with-libxpm           use libxpm (XPM file format)], wxUSE_LIBXPM)
 WX_ARG_WITH(libmspack,     [  --with-libmspack        use libmspack (CHM help files loading)], wxUSE_LIBMSPACK)
+WX_ARG_WITH(sdl,           [  --with-sdl              use SDL for audio on Unix], wxUSE_LIBSDL)
 WX_ARG_WITH(opengl,        [  --with-opengl           use OpenGL (or Mesa)], wxUSE_OPENGL)
 
 fi
@@ -870,7 +877,7 @@ WX_ARG_ENABLE(textbuf,       [  --enable-textbuf        use wxTextBuffer class],
 WX_ARG_ENABLE(textfile,      [  --enable-textfile       use wxTextFile class], wxUSE_TEXTFILE)
 WX_ARG_ENABLE(timer,         [  --enable-timer          use wxTimer class], wxUSE_TIMER)
 WX_ARG_ENABLE(unicode,       [  --enable-unicode        compile wxString with Unicode support], wxUSE_UNICODE)
-WX_ARG_ENABLE(wave,          [  --enable-wave           use wxWave class], wxUSE_WAVE)
+WX_ARG_ENABLE(sound,         [  --enable-sound          use wxSound class], wxUSE_SOUND)
 WX_ARG_ENABLE(wxprintfv,     [  --enable-wxprintfv      use wxWindows implementation of vprintf()], wxUSE_EXPERIMENTAL_PRINTF)
 WX_ARG_ENABLE(zipstream,     [  --enable-zipstream      use wxZipInputStream], wxUSE_ZIPSTREAM)
 WX_ARG_ENABLE(gzstream,      [  --enable-gzstream       use wxGzipInputStream], wxUSE_GZSTREAM)
@@ -1738,18 +1745,19 @@ dnl headers are included instead of the "fixed" (ANSI-fied) gcc ones.
 dnl
 dnl Also try to put all directories which may contain X11R6 before those which
 dnl may contain X11R5/4 - we want to use R6 on machines which have both!
+dnl
+dnl In the same vein. Motif 2.1 should be tried before Motif 1.2 for the
+dnl systems which have both (AIX 4.x does)
 SEARCH_INCLUDE="\
     /usr/local/include        \
                               \
-    /usr/Motif-1.2/include    \
     /usr/Motif-2.1/include    \
-                              \
+    /usr/Motif-1.2/include    \
     /usr/include/Motif1.2     \
     /opt/xpm/include/X11      \
     /opt/GBxpm/include/       \
     /opt/GBxpm/X11/include/   \
                               \
-    /usr/Motif1.2/include     \
     /usr/dt/include           \
     /usr/openwin/include      \
                               \
@@ -1803,7 +1811,8 @@ SEARCH_INCLUDE="\
                               \
     /usr/openwin/share/include"
 
-SEARCH_LIB="`echo "$SEARCH_INCLUDE" | sed s/include/lib/g` "
+dnl add 64 bit versions for Linux on AMD (this is not perfect but well...)
+SEARCH_LIB="`echo "$SEARCH_INCLUDE" | sed s/include/lib/g` /usr/lib64 /usr/X11R6/lib64"
 
 dnl ------------------------------------------------------------------------
 dnl Check for libraries
@@ -3155,11 +3164,9 @@ case "${host}" in
         WX_LIBRARY_LINK1_GL="lib${WX_LIBRARY_GL}.${WX_CURRENT}.${SO_SUFFIX}"
         WX_LIBRARY_LINK2_GL="lib${WX_LIBRARY_GL}.${SO_SUFFIX}"
 
-        dnl Under Mac OS X, we should build real frameworks instead of simple
-        dnl dynamic shared libraries (in order to embed the resources)
-        if test "$wxUSE_MAC" = 1; then
-            dnl base name of the resource file for wxMac must be the same
-            dnl as library installation base name (-install_name)
+        dnl base name of the resource file for wxMac must be the same
+        dnl as library installation base name (-install_name)
+        if test "$wxUSE_MAC" = 1 -o "$wxUSE_COCOA" = "1"; then
             WX_RESOURCES_MACOSX_ASCII="lib${WX_LIBRARY}.${WX_CURRENT}.r"
             WX_RESOURCES_MACOSX_DATA="lib${WX_LIBRARY}.${WX_CURRENT}.rsrc"
         fi
@@ -3303,37 +3310,44 @@ else
     STATIC_FLAG="no"
 fi
 
-dnl default value is to (silently) do nothing in the makefile
-MACRESCOMP="@#"
-MACSETFILE="@#"
-MACRESWXCONFIG="#"
-if test "$wxUSE_MAC" = 1; then
+if test "$wxUSE_MAC" = 1 -o "$wxUSE_COCOA" = 1; then
     dnl add the resources target for wxMac
     LIBWXMACRES="\$(top_builddir)lib/${WX_RESOURCES_MACOSX_ASCII}"
     WX_ALL="${WX_ALL} ${LIBWXMACRES}"
     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)
     AC_CHECK_PROG(SETFILE, SetFile, SetFile, /Developer/Tools/SetFile)
-    MACOSX_BUNDLE="bundle"
+
+    MACSETFILE="\$(SETFILE)"
+
     dnl resources are bundled both with shared library and applications
     dnl since the carb resource *must* be included in the application
-    MACRESCOMP="\$(RESCOMP) -d __DARWIN__ -t APPL Carbon.r ${LIBWXMACRES} -o"
-    MACSETFILE="\$(SETFILE)"
-    MACRESWXCONFIG="${RESCOMP} -d __DARWIN__ -t APPL Carbon.r \${exec_prefix}/lib/${WX_RESOURCES_MACOSX_ASCII} -o"
-elif test "$wxUSE_COCOA" = 1; then
-    AC_CHECK_PROG(RESCOMP, Rez, Rez, /Developer/Tools/Rez)
-    AC_CHECK_PROG(DEREZ, DeRez, DeRez, /Developer/Tools/DeRez)
-    AC_CHECK_PROG(SETFILE, SetFile, SetFile, /Developer/Tools/SetFile)
-    MACRESCOMP="echo -n | \$(RESCOMP) -d __DARWIN__ -t APPL ${LIBWXMACRES} -o"
-    MACSETFILE="\$(SETFILE)"
-    MACRESWXCONFIG="echo -n | ${RESCOMP} -d __DARWIN__ -t APPL \${exec_prefix}/lib/${WX_RESOURCES_MACOSX_ASCII} -o"
+    if test "$wxUSE_MAC" = 1; then
+        MACRESCOMP="\$(RESCOMP) -d __DARWIN__ -t APPL Carbon.r ${LIBWXMACRES} -o"
+
+        dnl this command is used to implement `wx-config --rezflags` and it is
+        dnl eval'd there so escape any metacharacters inside
+        MACRESWXCONFIG="${RESCOMP} -d __DARWIN__ -t APPL Carbon.r \\\${exec_prefix}/lib/${WX_RESOURCES_MACOSX_ASCII} -o"
+    else
+        MACRESCOMP="echo -n | \$(RESCOMP) -d __DARWIN__ -t APPL ${LIBWXMACRES} -o"
+        MACRESWXCONFIG="echo -n \\\| ${RESCOMP} -d __DARWIN__ -t APPL \\\${exec_prefix}/lib/${WX_RESOURCES_MACOSX_ASCII} -o"
+    fi
 else
+    dnl default value is to (silently) do nothing in the makefile
+    MACSETFILE="@#"
+    MACRESWXCONFIG="#"
+
+    dnl confusingly, wxOS2 also uses MACRESCOMP in its post-link step
     if test "$wxUSE_PM" = 1; then
         MACRESCOMP="emxbind -ep"
+    else
+        MACRESCOMP="@#"
     fi
 fi
 
+
 dnl ---------------------------------------------------------------------------
 dnl Checks for typedefs
 dnl ---------------------------------------------------------------------------
@@ -4327,6 +4341,106 @@ if test "$wxUSE_UNIX" = "yes"; then
   AC_DEFINE(wxUSE_UNIX)
 fi
 
+dnl ------------------------------------------------------------------------
+dnl DLL support
+dnl ------------------------------------------------------------------------
+
+dnl under MSW we always have LoadLibrary/GetProcAddress
+if test "$TOOLKIT" != "MSW" -a "$USE_OS2" != 1; then
+
+    HAVE_DL_FUNCS=0
+    HAVE_SHL_FUNCS=0
+    if test "$wxUSE_DYNAMIC_LOADER" = "yes" -o "$wxUSE_DYNLIB_CLASS" = "yes" ; then
+        if test "$USE_DARWIN" = 1; then
+            dnl dlopen/dlerror is implemented in dynlib.cpp for Darwin/Mac OS X
+            HAVE_DL_FUNCS=1
+        else
+            dnl the test is a bit complicated because we check for dlopen() both with
+            dnl and without -ldl and we also try to find shl_load() if there is no
+            dnl dlopen() on this system
+            AC_CHECK_FUNCS(dlopen,
+            [
+                AC_DEFINE(HAVE_DLOPEN)
+                HAVE_DL_FUNCS=1
+            ],
+            [
+                AC_CHECK_LIB(dl, dlopen,
+                            [
+                                AC_DEFINE(HAVE_DLOPEN)
+                                HAVE_DL_FUNCS=1
+                                DL_LINK=" -ldl$DL_LINK"
+                            ],
+                            [
+                                AC_CHECK_FUNCS(shl_load,
+                                              [
+                                                AC_DEFINE(HAVE_SHL_LOAD)
+                                                HAVE_SHL_FUNCS=1
+                                              ],
+                                              [
+                                                AC_CHECK_LIB(shl_load, dld,
+                                                             [
+                                                                HAVE_SHL_FUNCS=1
+                                                                DL_LINK=" -ldld$DL_LINK"
+                                                             ])
+                                              ])
+                            ])
+            ])
+
+        dnl check also for dlerror()
+        if test "$HAVE_DL_FUNCS" = 1; then
+            AC_CHECK_FUNCS(dlerror,
+                AC_DEFINE(HAVE_DLERROR),
+                [
+                    AC_CHECK_LIB(dl, dlerror, AC_DEFINE(HAVE_DLERROR))
+                ]
+            )
+        fi
+        fi
+
+        if test "$HAVE_DL_FUNCS" = 0; then
+            if test "$HAVE_SHL_FUNCS" = 0; then
+              if test "$USE_UNIX" = 1; then
+                  AC_MSG_WARN([Missing dynamic loading support, several features will be disabled])
+                  wxUSE_DYNAMIC_LOADER=no
+                  wxUSE_DYNLIB_CLASS=no
+              else
+                  AC_MSG_WARN([Assuming wxLibrary class works on this platform])
+              fi
+            fi
+        fi
+    fi
+fi
+
+if test "$wxUSE_DYNAMIC_LOADER" = "yes" ; then
+    AC_DEFINE(wxUSE_DYNAMIC_LOADER)
+fi
+if test "$wxUSE_DYNLIB_CLASS" = "yes" ; then
+    AC_DEFINE(wxUSE_DYNLIB_CLASS)
+fi
+
+
+dnl ---------------------------------------------------------------------------
+dnl Verify consistency of plugins/monolithic/shared settings:
+dnl ---------------------------------------------------------------------------
+
+if test "$wxUSE_PLUGINS" = "yes" ; then
+    if test "$wxUSE_SHARED" = "no" ; then
+        AC_MSG_WARN([plugins supported only in shared build, disabling])
+        wxUSE_PLUGINS=no
+    fi
+    if test "$wxUSE_MONOLITHIC" = "yes" ; then
+        AC_MSG_WARN([plugins not supported monolithic build, disabling])
+        wxUSE_PLUGINS=no
+    fi
+    if test "$wxUSE_DYNLIB_CLASS" = "no" ; then
+        AC_MSG_WARN([plugins require wxDynamicLibrary, disabling])
+        wxUSE_PLUGINS=no
+    fi
+    if test "$wxUSE_PLUGINS" = "yes" ; then
+        AC_DEFINE(wxUSE_PLUGINS)
+    fi
+fi
+
 dnl ---------------------------------------------------------------------------
 dnl Register non-GUI class options for makefiles and setup.h
 dnl ---------------------------------------------------------------------------
@@ -4343,8 +4457,29 @@ if test "$wxUSE_TIMER" = "yes"; then
   AC_DEFINE(wxUSE_TIMER)
 fi
 
-if test "$wxUSE_WAVE" = "yes"; then
-  AC_DEFINE(wxUSE_WAVE)
+WITH_PLUGIN_SDL=0
+if test "$wxUSE_SOUND" = "yes"; then
+  dnl Unix implementation needs additional checks because audio support
+  dnl comes in many favours:
+  if test "$USE_UNIX" = "1" ; then
+    AC_CHECK_HEADERS([sys/soundcard.h])
+
+    if test "$wxUSE_LIBSDL" != "no"; then
+      AM_PATH_SDL([1.2.0],
+                  [
+                    EXTRALIBS_SDL="$SDL_LIBS"
+                    CXXFLAGS="$CXXFLAGS $SDL_CFLAGS"
+                    AC_DEFINE(wxUSE_LIBSDL)
+                  ],
+                  [wxUSE_LIBSDL="no"])
+      if test "$wxUSE_LIBSDL" = "yes" -a "$wxUSE_PLUGINS" = "yes" ; then
+        WITH_PLUGIN_SDL=1
+      fi
+    fi
+  fi
+  AC_DEFINE(wxUSE_SOUND)
+  SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS sound"
 fi
 
 if test "$wxUSE_CMDLINE_PARSER" = "yes"; then
@@ -4780,82 +4915,7 @@ if test "$wxUSE_GUI" = "yes"; then
     fi
 fi
 
-dnl ------------------------------------------------------------------------
-dnl DLL support
-dnl ------------------------------------------------------------------------
-
-dnl under MSW we always have LoadLibrary/GetProcAddress
-if test "$TOOLKIT" != "MSW" -a "$USE_OS2" != 1; then
-
-    HAVE_DL_FUNCS=0
-    HAVE_SHL_FUNCS=0
-    if test "$wxUSE_DYNAMIC_LOADER" = "yes" -o "$wxUSE_DYNLIB_CLASS" = "yes" ; then
-        if test "$USE_DARWIN" = 1; then
-            dnl dlopen/dlerror is implemented in dynlib.cpp for Darwin/Mac OS X
-            HAVE_DL_FUNCS=1
-        else
-            dnl the test is a bit complicated because we check for dlopen() both with
-            dnl and without -ldl and we also try to find shl_load() if there is no
-            dnl dlopen() on this system
-            AC_CHECK_FUNCS(dlopen,
-            [
-                AC_DEFINE(HAVE_DLOPEN)
-                HAVE_DL_FUNCS=1
-            ],
-            [
-                AC_CHECK_LIB(dl, dlopen,
-                            [
-                                AC_DEFINE(HAVE_DLOPEN)
-                                HAVE_DL_FUNCS=1
-                                DL_LINK=" -ldl$DL_LINK"
-                            ],
-                            [
-                                AC_CHECK_FUNCS(shl_load,
-                                              [
-                                                AC_DEFINE(HAVE_SHL_LOAD)
-                                                HAVE_SHL_FUNCS=1
-                                              ],
-                                              [
-                                                AC_CHECK_LIB(shl_load, dld,
-                                                             [
-                                                                HAVE_SHL_FUNCS=1
-                                                                DL_LINK=" -ldld$DL_LINK"
-                                                             ])
-                                              ])
-                            ])
-            ])
-
-        dnl check also for dlerror()
-        if test "$HAVE_DL_FUNCS" = 1; then
-            AC_CHECK_FUNCS(dlerror,
-                AC_DEFINE(HAVE_DLERROR),
-                [
-                    AC_CHECK_LIB(dl, dlerror, AC_DEFINE(HAVE_DLERROR))
-                ]
-            )
-        fi
-        fi
-
-        if test "$HAVE_DL_FUNCS" = 0; then
-            if test "$HAVE_SHL_FUNCS" = 0; then
-              if test "$USE_UNIX" = 1; then
-                  AC_MSG_WARN([Missing dynamic loading support, several features will be disabled])
-                  wxUSE_DYNAMIC_LOADER=no
-                  wxUSE_DYNLIB_CLASS=no
-              else
-                  AC_MSG_WARN([Assuming wxLibrary class works on this platform])
-              fi
-            fi
-        fi
-    fi
-fi
 
-if test "$wxUSE_DYNAMIC_LOADER" = "yes" ; then
-    AC_DEFINE(wxUSE_DYNAMIC_LOADER)
-fi
-if test "$wxUSE_DYNLIB_CLASS" = "yes" ; then
-    AC_DEFINE(wxUSE_DYNLIB_CLASS)
-fi
 
 dnl ---------------------------------------------------------------------------
 dnl String stuff
@@ -4962,7 +5022,7 @@ dnl ---------------------------------------------------------------------------
 
 dnl check for ole headers and disable a few features requiring it if not
 dnl present (earlier versions of mingw32 don't have ole2.h)
-if test "$wxUSE_MSW" = 1 -a \( "$wxUSE_DATAOBJ"       = "yes" \
+if test "$USE_WIN32" = 1 -a \( "$wxUSE_DATAOBJ"       = "yes" \
                           -o "$wxUSE_CLIPBOARD"     = "yes" \
                           -o "$wxUSE_OLE"     = "yes" \
                           -o "$wxUSE_DRAG_AND_DROP" = "yes" \) ; then
@@ -4983,12 +5043,15 @@ if test "$wxUSE_MSW" = 1 -a \( "$wxUSE_DATAOBJ"       = "yes" \
             AC_LANG_RESTORE
             ALL_OBJECTS="$ALL_OBJECTS \$(OLEOBJS)"
             LIBS=" -lrpcrt4 -loleaut32 -lole32 -luuid$LIBS"
-            AC_DEFINE(wxUSE_OLE)
-
+            if test "$wxUSE_OLE" = "yes" ; then
+                AC_DEFINE(wxUSE_OLE)
+            fi
         fi
 
         dnl for OLE clipboard and dnd
-        AC_DEFINE(wxUSE_DATAOBJ)
+        if test "$wxUSE_DATAOBJ" = "yes" ; then
+            AC_DEFINE(wxUSE_DATAOBJ)
+        fi
     else
         AC_MSG_WARN([Some features disabled because OLE headers not found])
 
@@ -5743,6 +5806,12 @@ else
     MONOLITHIC=0
 fi
 
+if test $wxUSE_PLUGINS = "yes" ; then
+    USE_PLUGINS=1
+else
+    USE_PLUGINS=0
+fi
+
 if test $wxUSE_ODBC != "no" ; then
     USE_ODBC=1
 else
@@ -5760,6 +5829,7 @@ AC_SUBST(OFFICIAL_BUILD)
 
 AC_SUBST(WXUNIV)
 AC_SUBST(MONOLITHIC)
+AC_SUBST(USE_PLUGINS)
 AC_SUBST(LIBS)
 AC_SUBST(EXTRALIBS)
 AC_SUBST(EXTRALIBS_XML)
@@ -5767,6 +5837,8 @@ AC_SUBST(EXTRALIBS_HTML)
 AC_SUBST(EXTRALIBS_ODBC)
 AC_SUBST(EXTRALIBS_GUI)
 AC_SUBST(EXTRALIBS_OPENGL)
+AC_SUBST(EXTRALIBS_SDL)
+AC_SUBST(WITH_PLUGIN_SDL)
 AC_SUBST(UNICODE)
 AC_SUBST(BUILD)
 AC_SUBST(DEBUG_INFO)
@@ -5904,7 +5976,6 @@ AC_SUBST(WX_RESOURCES_MACOSX_DATA)
 
 dnl additional for Mac OS X
 AC_SUBST(DEREZ)
-AC_SUBST(MACOSX_BUNDLE)
 AC_SUBST(LIBWXMACRES)
 AC_SUBST(MACRESCOMP)
 AC_SUBST(MACSETFILE)
@@ -6056,6 +6127,7 @@ echo "                                       zlib               ${wxUSE_ZLIB}"
 echo "                                       odbc               ${wxUSE_ODBC}"
 echo "                                       expat              ${wxUSE_EXPAT}"
 echo "                                       libmspack          ${wxUSE_LIBMSPACK}"
+echo "                                       sdl                ${wxUSE_LIBSDL}"
 
 echo ""