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
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
DEFAULT_wxUSE_ACCESSIBILITY=no
DEFAULT_wxUSE_MONOLITHIC=no
+ DEFAULT_wxUSE_PLUGINS=no
DEFAULT_wxUSE_OFFICIAL_BUILD=no
else
DEFAULT_wxUSE_UNIVERSAL=no
DEFAULT_wxUSE_LIBTIFF=yes
DEFAULT_wxUSE_LIBXPM=yes
DEFAULT_wxUSE_LIBMSPACK=yes
+ DEFAULT_wxUSE_LIBSDL=no
DEFAULT_wxUSE_ODBC=no
DEFAULT_wxUSE_OPENGL=no
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
DEFAULT_wxUSE_ACCESSIBILITY=no
DEFAULT_wxUSE_MONOLITHIC=no
+ DEFAULT_wxUSE_PLUGINS=no
DEFAULT_wxUSE_OFFICIAL_BUILD=no
fi
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
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
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)
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 \
\
\
/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
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
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
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 ---------------------------------------------------------------------------
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 ---------------------------------------------------------------------------
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
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
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
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])
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
AC_SUBST(WXUNIV)
AC_SUBST(MONOLITHIC)
+AC_SUBST(USE_PLUGINS)
AC_SUBST(LIBS)
AC_SUBST(EXTRALIBS)
AC_SUBST(EXTRALIBS_XML)
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)
dnl additional for Mac OS X
AC_SUBST(DEREZ)
-AC_SUBST(MACOSX_BUNDLE)
AC_SUBST(LIBWXMACRES)
AC_SUBST(MACRESCOMP)
AC_SUBST(MACSETFILE)
echo " odbc ${wxUSE_ODBC}"
echo " expat ${wxUSE_EXPAT}"
echo " libmspack ${wxUSE_LIBMSPACK}"
+echo " sdl ${wxUSE_LIBSDL}"
echo ""