dnl ---------------------------------------------------------------------------
dnl
-dnl Top-level configure.in for wxWindows by Robert Roebling, Phil Blecker,
+dnl Top-level configure.in for wxWidgets by Robert Roebling, Phil Blecker,
dnl Vadim Zeitlin and Ron Lee
dnl
-dnl This script is under the wxWindows licence.
+dnl This script is under the wxWidgets licence.
dnl
dnl Version: $Id$
dnl ---------------------------------------------------------------------------
dnl initialization
dnl ---------------------------------------------------------------------------
-AC_INIT([wxWindows], [2.5.1], [wx-dev@lists.wxwindows.org])
+AC_INIT([wxWidgets], [2.5.2], [wx-dev@lists.wxwidgets.org])
dnl the file passed to AC_CONFIG_SRCDIR should be specific to our package
AC_CONFIG_SRCDIR([wx-config.in])
DEFAULT_wxUSE_DRAGIMAGE=no
DEFAULT_wxUSE_SPLINES=no
+ DEFAULT_wxUSE_MDI=no
DEFAULT_wxUSE_MDI_ARCHITECTURE=no
DEFAULT_wxUSE_DOC_VIEW_ARCHITECTURE=no
DEFAULT_wxUSE_PRINTING_ARCHITECTURE=no
DEFAULT_wxUSE_FS_ZIP=no
DEFAULT_wxUSE_BUSYINFO=no
DEFAULT_wxUSE_ZIPSTREAM=no
- DEFAULT_wxUSE_GZSTREAM=no
DEFAULT_wxUSE_VALIDATORS=no
DEFAULT_wxUSE_ACCEL=no
DEFAULT_wxUSE_DRAGIMAGE=yes
DEFAULT_wxUSE_SPLINES=yes
+ DEFAULT_wxUSE_MDI=yes
DEFAULT_wxUSE_MDI_ARCHITECTURE=yes
DEFAULT_wxUSE_DOC_VIEW_ARCHITECTURE=yes
DEFAULT_wxUSE_PRINTING_ARCHITECTURE=yes
DEFAULT_wxUSE_FS_ZIP=yes
DEFAULT_wxUSE_BUSYINFO=yes
DEFAULT_wxUSE_ZIPSTREAM=yes
- DEFAULT_wxUSE_GZSTREAM=yes
DEFAULT_wxUSE_VALIDATORS=yes
DEFAULT_wxUSE_ACCEL=yes
DEFAULT_wxUSE_CHECKLST=yes
DEFAULT_wxUSE_CHOICE=yes
DEFAULT_wxUSE_COMBOBOX=yes
- DEFAULT_wxUSE_DISPLAY=no
+ DEFAULT_wxUSE_DISPLAY=yes
DEFAULT_wxUSE_GAUGE=yes
DEFAULT_wxUSE_GRID=yes
DEFAULT_wxUSE_IMAGLIST=yes
done
dnl ---------------------------------------------------------------------------
-dnl --disable-gui will build only non-GUI part of wxWindows: check for this
+dnl --disable-gui will build only non-GUI part of wxWidgets: check for this
dnl first to disable many other switches if it's given
dnl
dnl NB: this is still in testing stage, don't use if you don't know what you're
dnl ---------------------------------------------------------------------------
WX_ARG_ENABLE(gui, [ --enable-gui use GUI classes], wxUSE_GUI)
-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)
+WX_ARG_ENABLE(monolithic, [ --enable-monolithic build wxWidgets as single library], wxUSE_MONOLITHIC)
+WX_ARG_ENABLE(plugins, [ --enable-plugins build parts of wxWidgets as loadable components], wxUSE_PLUGINS)
if test "$wxUSE_GUI" = "yes"; then
-WX_ARG_ENABLE(universal, [ --enable-universal use wxWindows GUI controls instead of native ones], wxUSE_UNIVERSAL)
+WX_ARG_ENABLE(universal, [ --enable-universal use wxWidgets GUI controls instead of native ones], wxUSE_UNIVERSAL)
AC_ARG_WITH(gtk, [ --with-gtk use GTK+], [wxUSE_GTK="$withval" CACHE_GTK=1 TOOLKIT_GIVEN=1])
AC_ARG_WITH(motif, [ --with-motif use Motif/Lesstif], [wxUSE_MOTIF="$withval" CACHE_MOTIF=1 TOOLKIT_GIVEN=1])
AC_ARG_WITH(mac, [ --with-mac use Mac OS X], [wxUSE_MAC="$withval" TOOLKIT_GIVEN=1])
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)
WX_ARG_ENABLE(stl, [ --enable-stl use STL for containers], wxUSE_STL)
-WX_ARG_ENABLE(omf, [ --enable-omf use OMF object format on OS/2], wxUSE_OMF)
+if test "$USE_OS2" = "1"; then
+ WX_ARG_ENABLE(omf, [ --enable-omf use OMF object format], wxUSE_OMF)
+fi
if test "$wxUSE_DEBUG" = "yes"; then
DEFAULT_wxUSE_DEBUG_FLAG=yes
WX_ARG_ENABLE(permissive, [ --enable-permissive compile code disregarding strict ANSI], wxUSE_PERMISSIVE)
WX_ARG_ENABLE(no_deps, [ --enable-no_deps create code without dependency information], wxUSE_NO_DEPS)
-WX_ARG_ENABLE(compat22, [ --enable-compat22 enable wxWindows 2.2 compatibility], WXWIN_COMPATIBILITY_2_2)
-WX_ARG_ENABLE(compat24, [ --disable-compat24 disable wxWindows 2.4 compatibility], WXWIN_COMPATIBILITY_2_4, disable)
+WX_ARG_ENABLE(compat22, [ --enable-compat22 enable wxWidgets 2.2 compatibility], WXWIN_COMPATIBILITY_2_2)
+WX_ARG_ENABLE(compat24, [ --disable-compat24 disable wxWidgets 2.4 compatibility], WXWIN_COMPATIBILITY_2_4, disable)
AC_ARG_ENABLE(rpath, [ --enable-rpath=DIR output the rpath flag from wx-config], [wxRPATH_DIR="$enableval"])
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(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(wxprintfv, [ --enable-wxprintfv use wxWidgets 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)
WX_ARG_ENABLE(url, [ --enable-url use wxURL class], wxUSE_URL)
WX_ARG_ENABLE(protocol, [ --enable-protocol use wxProtocol class], wxUSE_PROTOCOL)
WX_ARG_ENABLE(htmlhelp, [ --enable-htmlhelp use wxHTML-based help], wxUSE_WXHTML_HELP)
WX_ARG_ENABLE(constraints, [ --enable-constraints use layout-constraints system], wxUSE_CONSTRAINTS)
WX_ARG_ENABLE(printarch, [ --enable-printarch use printing architecture], wxUSE_PRINTING_ARCHITECTURE)
-WX_ARG_ENABLE(mdi, [ --enable-mdi use multiple document interface architecture], wxUSE_MDI_ARCHITECTURE)
+WX_ARG_ENABLE(mdi, [ --enable-mdi use multiple document interface architecture], wxUSE_MDI)
+WX_ARG_ENABLE(mdidoc, [ --enable-mdidoc use docview architecture with MDI], wxUSE_MDI_ARCHITECTURE)
WX_ARG_ENABLE(loggui, [ --enable-loggui use standard GUI logger], wxUSE_LOGGUI)
WX_ARG_ENABLE(logwin, [ --enable-logwin use wxLogWindow], wxUSE_LOGWINDOW)
WX_ARG_ENABLE(logdialog, [ --enable-logdialog use wxLogDialog], wxUSE_LOGDIALOG)
dnl some win32 settings
dnl ---------------------------------------------------------------------------
-WX_ARG_ENABLE(official_build, [ --enable-official_build official build of wxWindows (win32 DLL only)], wxUSE_OFFICIAL_BUILD)
+WX_ARG_ENABLE(official_build, [ --enable-official_build official build of wxWidgets (win32 DLL only)], wxUSE_OFFICIAL_BUILD)
AC_ARG_ENABLE(vendor, [ --enable-vendor=VENDOR vendor name (win32 DLL only)], [VENDOR="$enableval"])
if test "x$VENDOR" = "x"; then
VENDOR="custom"
case "${host}" in
*-pc-os2_emx | *-pc-os2-emx )
PATH_IFS=';'
- dnl Handle OMF support
- if test "$wxUSE_OMF" = "yes"; then
- AR=emxomfar
- RANLIB=:
- LDFLAGS="-Zomf $LDFLAGS"
- CFLAGS="-Zomf $CFLAGS"
- CXXFLAGS="-Zomf $CXXFLAGS"
- fi
;;
*)
PATH_IFS=':'
dnl defines AR with the appropriate command
AC_CHECK_PROG(AR, ar, ar)
if test "x$AR" = "x" ; then
- AC_MSG_ERROR([ar is needed to build wxWindows])
+ AC_MSG_ERROR([ar is needed to build wxWidgets])
fi
dnl install checks
fi
fi
if test "$wxUSE_OMF" = "yes"; then
- LDFLAGS="$LDFLAGS -Zlinker /PMTYPE:PM -Zlinker /EXEPACK"
+ LDFLAGS="$LDFLAGS -Zomf -Zlinker /PMTYPE:PM -Zlinker /EXEPACK"
fi
dnl (end of OS/2-only piece)
;;
AC_DEFINE(HAVE_STD_STRING_COMPARE)],
[AC_MSG_RESULT(no)])
+ dnl check for hash_map and hash_set headers
+ AC_CHECK_HEADER([hash_map],
+ [AC_MSG_CHECKING([for hash_map and hash_set])
+ AC_TRY_COMPILE([#include <hash_map>
+ #include <hash_set>],
+ [std::hash_map<double*, char*, std::hash<double*>, std::equal_to<double*> > test1;
+ std::hash_set<char*, std::hash<char*>, std::equal_to<char*> > test2;],
+ [AC_MSG_RESULT(yes)
+ AC_DEFINE(HAVE_HASH_MAP)
+ AC_DEFINE(HAVE_STD_HASH_MAP)],
+ [AC_MSG_RESULT(no)])
+ ])
+
+ AC_CHECK_HEADER([ext/hash_map],
+ [AC_MSG_CHECKING([for hash_map and hash_set])
+ AC_TRY_COMPILE([#include <ext/hash_map>
+ #include <ext/hash_set>],
+ [__gnu_cxx::hash_map<double*, char*, __gnu_cxx::hash<double*>, std::equal_to<double*> > test1;
+ __gnu_cxx::hash_set<char*, __gnu_cxx::hash<char*>, std::equal_to<char*> > test2;],
+ [AC_MSG_RESULT(yes)
+ AC_DEFINE(HAVE_EXT_HASH_MAP)
+ AC_DEFINE(HAVE_GNU_CXX_HASH_MAP)],
+ [AC_MSG_RESULT(no)])
+ ])
+
AC_LANG_POP
fi
AC_CHECK_HEADER(png.h)
if test "$ac_cv_header_png_h" = "yes"; then
- AC_CHECK_LIB(png, png_check_sig, PNG_LINK=" -lpng", , [-lz -lm])
+ AC_CHECK_LIB(png, png_check_sig, PNG_LINK=" -lpng -lz", , [-lz -lm])
fi
if test "x$PNG_LINK" = "x" ; then
AC_MSG_RESULT([none])
fi
- CPPFLAGS="$CPPFLAGS $CPPFLAGS_PASCAL -I\${top_srcdir}/src/mac/morefilex -I/Developer/Headers/FlatCarbon"
+ CPPFLAGS="$CPPFLAGS $CPPFLAGS_PASCAL -I\${top_srcdir}/src/mac/carbon/morefilex -I/Developer/Headers/FlatCarbon"
- TOOLKIT_VPATH="\${top_srcdir}/src/mac${PATH_IFS}\${top_srcdir}/src/mac/morefilex"
+ TOOLKIT_VPATH="\${top_srcdir}/src/mac/carbon${PATH_IFS}\${top_srcdir}/src/mac/carbon/morefilex"
TOOLKIT=MAC
dnl we can't call this MAC_DIST or autoconf thinks its a macro
GUIDIST=MACX_DIST
if test "$wxUSE_PM" = 1; then
TOOLKIT=PM
- GUIDIST=GTK_DIST
+ GUIDIST=PM_DIST
+ AC_CACHE_CHECK([for type SPBCDATA],
+ wx_cv_spbcdata,
+ [
+ AC_TRY_COMPILE(
+ [
+ #define INCL_PM
+ #include <os2.h>
+ ],
+ [
+ SPBCDATA test;
+ ],
+ wx_cv_spbcdata=yes,
+ wx_cv_spbcdata=no
+ )
+ ]
+ )
+
+ if test $wx_cv_spbcdata = "yes"; then
+ AC_DEFINE(HAVE_SPBCDATA)
+ fi
fi
dnl the name of the directory where the files for this toolkit live
fi
dnl ---------------------------------------------------------------------------
-dnl Xinerama (for unix wxDisplay) - Brian Victor
+dnl wxDisplay Sanity checks
dnl ---------------------------------------------------------------------------
+
if test "$wxUSE_DISPLAY" = "yes"; then
+dnl ---------------------------------------------------------------------------
+dnl Xinerama (for unix ) - Brian Victor
+dnl ---------------------------------------------------------------------------
if test "$wxUSE_UNIX" = "yes" -a "$wxUSE_MAC" != 1; then
AC_MSG_CHECKING([for Xinerama])
WX_PATH_FIND_LIBRARIES([$SEARCH_LIB],Xinerama)
else
AC_MSG_RESULT([no])
- AC_MSG_WARN("*** Xinerama not found; disabling wxDisplay")
+ AC_MSG_WARN([Xinerama not found; disabling wxDisplay])
wxUSE_DISPLAY="no"
fi
+ elif test "$wxUSE_MSW" = 1; then
+dnl ---------------------------------------------------------------------------
+dnl DirectDraw / Multimon for MSW
+dnl ---------------------------------------------------------------------------
+ AC_CHECK_HEADERS([multimon.h ddraw.h], [], [
+ wxUSE_DISPLAY="no"
+ AC_MSG_WARN([ddraw.h or multimon.h not found; disabling wxDisplay])
+ ] )
fi
fi
chmod +x change-install-names
;;
+ *-*-cygwin* | *-*-mingw32* )
+ TOOLCHAIN_DLL_DEFS="${TOOLCHAIN_DLL_DEFS} -DWXUSINGDLL=1"
+ ;;
+
esac
dnl set target to shared if not explicitly chose static before
AC_DEFINE(HAVE_WCSLEN)
fi
+ dnl HP-UX aCC needs this define to find mbstrtowcs() &c
+ if test "$USE_HPUX" = 1 -a "x$GCC" != "xyes"; then
+ CPPFLAGS="$CPPFLAGS -D_INCLUDE__STDC_A1_SOURCE "
+ fi
+
dnl try to use wcsrtombs instead of wcstombs which is buggy in old GNU
dnl libc versions if possible
AC_CHECK_FUNCS(wcsrtombs)
dnl the trouble here is that on some systems (notable HP-UX) this function is
dnl present in libc but not in the system headers and so AC_CHECK_FUNCS (which,
dnl stupidly, provides a dummy function declaration inside its extension)
-dnl succeeds, even with C++ compiler, but the compilation of wxWindows fails
+dnl succeeds, even with C++ compiler, but the compilation of wxWidgets fails
dnl
dnl so we first check if the function is in the library
AC_CHECK_FUNCS(vsnprintf)
if test "x$GCC" != "xyes"; then
dnl see http://docs.hp.com/hpux/onlinedocs/2213/threads.htm
flag="$flag -D_RWSTD_MULTI_THREAD"
+
+ dnl we also need -lcma for user threads (-lpthread is for
+ dnl kernel threads only) according to Ian Brown
+ LIBS="$LIBS -lcma"
fi
;;
*solaris* | alpha*-osf*)
AC_DEFINE(wxUSE_ZIPSTREAM)
fi
-if test "$wxUSE_GZSTREAM" = "yes"; then
- AC_DEFINE(wxUSE_GZSTREAM)
-fi
-
if test "$wxUSE_ON_FATAL_EXCEPTION" = "yes"; then
AC_DEFINE(wxUSE_ON_FATAL_EXCEPTION)
fi
SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS layout"
fi
-if test "$wxUSE_MDI_ARCHITECTURE" = "yes"; then
- AC_DEFINE(wxUSE_MDI_ARCHITECTURE)
- SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS mdi"
+if test "$wxUSE_MDI" = "yes"; then
+ AC_DEFINE(wxUSE_MDI)
+
+ 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
if test "$wxUSE_IPC" = "yes"; then
if test "$wxUSE_SOCKETS" != "yes"; then
- AC_MSG_WARN(wxWindows IPC classes require sockets... disabled)
+ AC_MSG_WARN(wxWidgets IPC classes require sockets... disabled)
fi
AC_DEFINE(wxUSE_IPC)
if test "$wxUSE_COCOA" = 1 ; then
AC_MSG_WARN([Toggle button not yet supported under Mac OS X... disabled])
wxUSE_TOGGLEBTN=no
+ else
+ if test "$wxUSE_PM" = 1; then
+ AC_MSG_WARN([Toggle button not yet supported under PM... disabled])
+ wxUSE_TOGGLEBTN=no
+ fi
fi
if test "$wxUSE_UNIVERSAL" = "yes"; then
AC_MSG_WARN([Toggle button not yet supported under wxUniversal... disabled])
AC_DEFINE(wxUSE_HTML)
USE_HTML=1
SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS html html/about html/help html/helpview html/printing html/test html/virtual html/widget html/zip htlbox"
+ if test "$wxUSE_MAC" = 1; then
+ SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS html/htmlctrl"
+ fi
fi
if test "$wxUSE_MENUS" = "yes"; then
dnl Output the makefiles and such from the results found above
dnl ---------------------------------------------------------------------------
-dnl all additional libraries (except wxWindows itself) we link with
+dnl all additional libraries (except wxWidgets itself) we link with
dnl note that we always link with -lm except for Mac OS X
dnl extended.c uses floor() and is always linked in
if test "$wxUSE_MAC" = 1 ; then
- LDFLAGS="$LDFLAGS -framework Carbon -framework System"
+ LDFLAGS="$LDFLAGS -framework Carbon -framework Cocoa -framework WebKit -framework System"
fi
if test "$wxUSE_COCOA" = 1 ; then
LDFLAGS="$LDFLAGS -framework Cocoa -framework System"
dnl all -I options we must pass to the compiler
dnl
-dnl note that the order is somewhat important: wxWindows headers should
+dnl note that the order is somewhat important: wxWidgets headers should
dnl come first and the one with setup.h should be before $(top_srcdir)/include
dnl in case the latter contains setup.h used by non-autoconf makefiles (e.g.
dnl CodeWarrior):
INCLUDES="-I\${top_builddir}lib/wx/include/${TOOLCHAIN_NAME} \
-I\${top_srcdir}/include $TOOLKIT_INCLUDE"
-dnl C/C++ compiler options used to compile wxWindows
+dnl C/C++ compiler options used to compile wxWidgets
if test "$GXX" = yes ; then
dnl CXXWARNINGS="-Wall -W -Wcast-qual -Werror"
CXXWARNINGS="-Wall"
CODE_GEN_FLAGS="-DNO_GCC_PRAGMA $CODE_GEN_FLAGS"
CPPFLAGS="-DNO_GCC_PRAGMA $CPPFLAGS"
;;
+ *-*-mingw32* )
+ dnl MinGW GCC versions >= 3.2 have problems with
+ dnl static member of classes derived from templates
+ dnl in combination with #pragme interface/implementation
+ dnl (the test case uses 4 files)
+ if test "$wxUSE_STL" = "yes"; then
+ AC_MSG_CHECKING([If this MinGW version needs -DNO_GCC_PRAGMA])
+ AC_TRY_COMPILE([],
+ [#if !(__GNUC__ == 3 && __GNUC_MINOR__ >= 2)
+ #error "Not GCC 3.2 or greater"
+ #endif
+ ],
+ [CODE_GEN_FLAGS="-DNO_GCC_PRAGMA $CODE_GEN_FLAGS"
+ CPPFLAGS="-DNO_GCC_PRAGMA $CPPFLAGS"
+ AC_MSG_RESULT([yes])],
+ [AC_MSG_RESULT([no])])
+ fi
+ ;;
esac
fi
SUBDIRS="samples utils"
fi
dnl Add tests to the list of subdirs if cppunit 1.8.0+ is detected
-AM_PATH_CPPUNIT(1.8.0, SUBDIRS="$SUBDIRS tests")
+AM_PATH_CPPUNIT(1.8.0, [SUBDIRS="$SUBDIRS tests"])
for subdir in `echo $SUBDIRS`; do
if test -d ${srcdir}/${subdir} ; then
dnl report on what we decided to do
echo
-echo "Configured wxWindows ${WX_VERSION} for \`${host}'"
+echo "Configured wxWidgets ${WX_VERSION} for \`${host}'"
echo ""
-echo " Which GUI toolkit should wxWindows use? ${TOOLKIT_LOWERCASE:-base only}"
-echo " Should wxWindows be compiled into single library? ${wxUSE_MONOLITHIC:-yes}"
+echo " Which GUI toolkit should wxWidgets use? ${TOOLKIT_LOWERCASE:-base only}"
+echo " Should wxWidgets be compiled into single library? ${wxUSE_MONOLITHIC:-yes}"
-echo " Should wxWindows be compiled in debug mode? ${wxUSE_DEBUG:-no}"
-echo " Should wxWindows be linked as a shared library? ${wxUSE_SHARED:-no}"
-echo " Should wxWindows be compiled in Unicode mode? ${wxUSE_UNICODE:-no}"
+echo " Should wxWidgets be compiled in debug mode? ${wxUSE_DEBUG:-no}"
+echo " Should wxWidgets be linked as a shared library? ${wxUSE_SHARED:-no}"
+echo " Should wxWidgets be compiled in Unicode mode? ${wxUSE_UNICODE:-no}"
-echo " What level of wxWindows compatibility should be enabled?"
-echo " wxWindows 2.2 ${WXWIN_COMPATIBILITY_2_2:-no}"
-echo " wxWindows 2.4 ${WXWIN_COMPATIBILITY_2_4:-yes}"
+echo " What level of wxWidgets compatibility should be enabled?"
+echo " wxWidgets 2.2 ${WXWIN_COMPATIBILITY_2_2:-no}"
+echo " wxWidgets 2.4 ${WXWIN_COMPATIBILITY_2_4:-yes}"
-echo " Which libraries should wxWindows use?"
+echo " Which libraries should wxWidgets use?"
echo " jpeg ${wxUSE_LIBJPEG-none}"
echo " png ${wxUSE_LIBPNG-none}"
echo " regex ${wxUSE_REGEX}"