X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/06b042dc3de0a46e119c821a91a5f86a81946ef0..b9b8a2b5d79c50af78720589dc96cd7e16cde26e:/configure.in diff --git a/configure.in b/configure.in index c0bd57f613..560b267978 100644 --- a/configure.in +++ b/configure.in @@ -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) @@ -1025,7 +1032,6 @@ if test "x$wxUSE_COCOA" != "x" -a "$wxUSE_COCOA" != "0" ; then wxUSE_DRAG_AND_DROP=no # Generic notebook requires tab dialog DEFAULT_wxUSE_TABDIALOG=yes - DEFAULT_wxUSE_TOOLBAR_NATIVE=no DEFAULT_wxUSE_SCROLLBAR=no DEFAULT_wxUSE_TOOLTIPS=no DEFAULT_wxUSE_DRAGIMAGE=no @@ -1739,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 \ \ @@ -1804,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 @@ -1878,6 +1886,11 @@ dnl ------------------------------------------------------------------------ if test "$wxUSE_REGEX" != "no"; then AC_DEFINE(wxUSE_REGEX) + + if test "$wxUSE_UNICODE" = "yes" -a "$wxUSE_REGEX" = "yes"; then + AC_MSG_WARN([Unicode build requires built-in regex library, will use it instead]) + wxUSE_REGEX=builtin + fi if test "$wxUSE_REGEX" = "sys" -o "$wxUSE_REGEX" = "yes" ; then dnl according to Unix 98 specs, regcomp() is in libc but I believe that @@ -3151,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 @@ -3299,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 --------------------------------------------------------------------------- @@ -4323,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 --------------------------------------------------------------------------- @@ -4339,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 @@ -4611,10 +4750,6 @@ if test "$wxUSE_SOCKETS" = "yes"; then AC_MSG_WARN([wxSocket not yet supported under MGL... disabled]) wxUSE_SOCKETS="no" fi - if test "$wxUSE_COCOA" = "1"; then - AC_MSG_WARN([wxSocket not yet supported under Cocoa... disabled]) - wxUSE_SOCKETS="no" - fi fi if test "$wxUSE_SOCKETS" = "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 ""