dnl assume Unix
USE_UNIX=1
USE_WIN32=0
+USE_DOS=0
USE_BEOS=0
USE_MAC=0
dnl than checking it during run-time
NEEDS_D_REENTRANT_FOR_R_FUNCS=0
+dnl the additional define needed for MT programs
+CPP_MT_FLAG=-D_REENTRANT
+
dnl the list of all available toolkits
dnl
dnl update NUM_TOOLKITS calculation below when adding a new toolkit here!
*-*-freebsd*)
USE_BSD=1
USE_FREEBSD=1
+ CPP_MT_FLAG=-D_THREAD_SAFE
AC_DEFINE(__FREEBSD__)
AC_DEFINE(__BSD__)
DEFAULT_DEFAULT_wxUSE_GTK=1
DEFAULT_DEFAULT_wxUSE_MSW=1
;;
+ *-pc-msdosdjgpp )
+ USE_UNIX=0
+ USE_DOS=1
+ AC_DEFINE(__DOS__)
+ PROGRAM_EXT=".exe"
+ DEFAULT_DEFAULT_wxUSE_MGL=1
+ DEFAULT_DEFAULT_wxUSE_SHARED=0
+ ;;
+
*-pc-os2_emx | *-pc-os2-emx )
AC_DEFINE(__EMX__)
PROGRAM_EXT=".exe"
dnl PowerPC Darwin based distributions (including Mac OS X)
USE_BSD=1
USE_DARWIN=1
+ CPP_MT_FLAG=
SO_SUFFIX=dylib
AC_DEFINE(__BSD__)
AC_DEFINE(__DARWIN__)
DEFAULT_wxUSE_STREAMS=no
DEFAULT_wxUSE_SOCKETS=no
DEFAULT_wxUSE_DIALUP_MANAGER=no
- DEFAULT_wxUSE_SERIAL=no
DEFAULT_wxUSE_JOYSTICK=no
DEFAULT_wxUSE_DYNLIB_CLASS=no
+ DEFAULT_wxUSE_DYNAMIC_LOADER=no
DEFAULT_wxUSE_LONGLONG=no
DEFAULT_wxUSE_GEOMETRY=no
DEFAULT_wxUSE_TOOLBAR_SIMPLE=no
DEFAULT_wxUSE_TREECTRL=no
DEFAULT_wxUSE_POPUPWIN=no
+ DEFAULT_wxUSE_TIPWINDOW=no
DEFAULT_wxUSE_UNICODE=no
DEFAULT_wxUSE_WCSRTOMBS=no
DEFAULT_wxUSE_STREAMS=yes
DEFAULT_wxUSE_SOCKETS=yes
DEFAULT_wxUSE_DIALUP_MANAGER=yes
- DEFAULT_wxUSE_SERIAL=yes
DEFAULT_wxUSE_JOYSTICK=yes
- DEFAULT_wxUSE_DYNLIB_CLASS=yes
+ DEFAULT_wxUSE_DYNLIB_CLASS=no
+ DEFAULT_wxUSE_DYNAMIC_LOADER=yes
DEFAULT_wxUSE_LONGLONG=yes
DEFAULT_wxUSE_GEOMETRY=yes
DEFAULT_wxUSE_TOOLBAR_SIMPLE=yes
DEFAULT_wxUSE_TREECTRL=yes
DEFAULT_wxUSE_POPUPWIN=yes
+ DEFAULT_wxUSE_TIPWINDOW=yes
DEFAULT_wxUSE_UNICODE=no
DEFAULT_wxUSE_WCSRTOMBS=no
fi
dnl for GUI only
-WX_ARG_WITH(dmalloc, [ --with-dmalloc use dmalloc library (www.letters.com/dmalloc)], wxUSE_DMALLOC)
+WX_ARG_WITH(dmalloc, [ --with-dmalloc use dmalloc library (http://dmalloc.com/)], wxUSE_DMALLOC)
WX_ARG_SYS_WITH(regex, [ --with-regex enable support for wxRegEx class], wxUSE_REGEX)
WX_ARG_SYS_WITH(zlib, [ --with-zlib use zlib for LZW compression], wxUSE_ZLIB)
WX_ARG_WITH(odbc, [ --with-odbc use the IODBC and wxODBC classes], wxUSE_ODBC)
WX_ARG_ENABLE(wave, [ --enable-wave use wxWave class], wxUSE_WAVE)
WX_ARG_ENABLE(fraction, [ --enable-fraction use wxFraction class], wxUSE_FRACTION)
WX_ARG_ENABLE(dynlib, [ --enable-dynlib use wxLibrary class for DLL loading], wxUSE_DYNLIB_CLASS)
+WX_ARG_ENABLE(dynamicloader, [ --enable-dynamicloader use (new) wxDynamicLibrary class], wxUSE_DYNAMIC_LOADER)
WX_ARG_ENABLE(longlong, [ --enable-longlong use wxLongLong class], wxUSE_LONGLONG)
WX_ARG_ENABLE(geometry, [ --enable-geometry use geometry class], wxUSE_GEOMETRY)
WX_ARG_ENABLE(log, [ --enable-log use logging system], wxUSE_LOG)
dnl ---------------------------------------------------------------------------
WX_ARG_ENABLE(threads, [ --enable-threads use threads], wxUSE_THREADS)
-WX_ARG_ENABLE(serial, [ --enable-serial use class serialization], wxUSE_SERIAL)
if test "$wxUSE_GUI" = "yes"; then
DEFAULT_wxUSE_TOOLTIPS=yes
DEFAULT_wxUSE_TREECTRL=yes
DEFAULT_wxUSE_POPUPWIN=yes
+ DEFAULT_wxUSE_TIPWINDOW=yes
elif test "$wxUSE_CONTROLS" = "no"; then
DEFAULT_wxUSE_ACCEL=no
DEFAULT_wxUSE_BMPBUTTON=no
DEFAULT_wxUSE_TOOLTIPS=no
DEFAULT_wxUSE_TREECTRL=no
DEFAULT_wxUSE_POPUPWIN=no
+ DEFAULT_wxUSE_TIPWINDOW=no
fi
WX_ARG_ENABLE(accel, [ --enable-accel use accelerators], wxUSE_ACCEL)
WX_ARG_ENABLE(tbarnative, [ --enable-tbarnative use native wxToolBar class], wxUSE_TOOLBAR_NATIVE)
WX_ARG_ENABLE(tbarsmpl, [ --enable-tbarsmpl use wxToolBarSimple class], wxUSE_TOOLBAR_SIMPLE)
WX_ARG_ENABLE(treectrl, [ --enable-treectrl use wxTreeCtrl class], wxUSE_TREECTRL)
+WX_ARG_ENABLE(tipwindow, [ --enable-tipwindow use wxTipWindow class], wxUSE_TIPWINDOW)
WX_ARG_ENABLE(popupwin, [ --enable-popupwin use wxPopUpWindow class], wxUSE_POPUPWIN)
dnl ---------------------------------------------------------------------------
dnl cross-compiling support: we're cross compiling if the build system is
dnl different from the target one (assume host and target be always the same)
if test "$build" != "$host" ; then
- if test "$USE_WIN32" = 1 ; then
+ if test "$USE_WIN32" = 1 -o "$USE_DOS" = 1 ; then
CC=$host_alias-gcc
CXX=$host_alias-c++
AR=$host_alias-ar
gtk_version_cached=0
AC_MSG_RESULT()
+ dnl we must link against lgthread unless the user
+ dnl used --disable-threads
+ GTK_MODULES=
+ if test "$wxUSE_THREADS" = "yes"; then
+ GTK_MODULES=gthread
+ fi
+
wx_cv_lib_gtk=
if test "x$wxUSE_GTK2" = "xyes"; then
- AM_PATH_GTK_2_0(1.3.1, wx_cv_lib_gtk=2.0, gthread)
+ AM_PATH_GTK_2_0(1.3.1, wx_cv_lib_gtk=2.0, , $GTK_MODULES)
fi
if test -z "$wx_cv_lib_gtk"; then
- AM_PATH_GTK(1.2.7, wx_cv_lib_gtk=1.2.7)
+ AM_PATH_GTK(1.2.7, wx_cv_lib_gtk=1.2.7, , $GTK_MODULES)
fi
if test -z "$wx_cv_lib_gtk"; then
- AM_PATH_GTK(1.2.3, wx_cv_lib_gtk=1.2.3)
+ AM_PATH_GTK(1.2.3, wx_cv_lib_gtk=1.2.3, , $GTK_MODULES)
fi
if test -z "$wx_cv_lib_gtk"; then
fi
if test "$wxUSE_MGL" = 1; then
- dnl FIXME_MGL - test for MGL's variants for freebsd etc.
-
AC_MSG_CHECKING(for SciTech MGL library)
if test "x$MGL_ROOT" = x ; then
AC_MSG_RESULT(not found)
AC_MSG_RESULT($MGL_ROOT)
fi
- mgl_os=linux/gcc/glibc
+ dnl Find MGL library that we want
+ dnl FIXME_MGL - test for MGL variants for freebsd etc.
+ case "${host}" in
+ *-*-linux* )
+ mgl_os=linux/gcc/glibc
+ ;;
+ *-pc-msdosdjgpp )
+ mgl_os=dos32/dj2
+ ;;
+ *)
+ AC_MSG_ERROR(This system type ${host} is not yet supported by wxMGL.)
+ esac
+
mgl_lib_type=""
if test "$wxUSE_DEBUG_FLAG" = yes ; then
ALL_OBJECTS="${ALL_OBJECTS} \$(COMMONOBJS) \$(GENERICOBJS)"
- if test "$TOOLKIT" != "MSW"; then
+ if test "$TOOLKIT" != "MSW" -a "$USE_DOS" != 1; then
ALL_OBJECTS="${ALL_OBJECTS} \$(UNIXOBJS)"
fi
;;
*-*-darwin* )
- CFLAGS="$CFLAGS -fno-common"
- CXXFLAGS="$CXXFLAGS -fno-common"
- SHARED_LD="$CXX -dynamiclib -o"
+ CFLAGS="$CFLAGS -fno-common -DDYLIB_INIT"
+ CXXFLAGS="$CXXFLAGS -fno-common -DDYLIB_INIT"
+ SHARED_LD="$CXX -dynamiclib -init _wxWindowsDylibInit -o"
PIC_FLAG="-dynamic -fPIC"
;;
WX_ALL="${WX_ALL} \$(build_libdir)/lib${WX_LIBRARY}.r"
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(DEREZ, DeRez, DeRez, /Developer/Tools/DeRez)
LIBWXMACRES="\$(top_builddir)/lib/lib${WX_LIBRARY}.r"
LIBWXMACRESCOMP="\$(RESCOMP) Carbon.r -t APPL ${LIBWXMACRES} -o \$(BIN_PROGRAM)"
LIBWXMACRESWXCONFIG="${RESCOMP} Carbon.r -t APPL \${prefix}/lib/${WX_RESOURCES_MACOSX_COMPILED} -o"
dnl defines HAVE_STDLIB_H
AC_CHECK_HEADERS(stdlib.h)
+dnl defines HAVE_MALLOC_H
+AC_CHECK_HEADERS(malloc.h)
dnl defines HAVE_UNISTD_H
AC_CHECK_HEADERS(unistd.h)
dnl defines HAVE_WCHAR_H
dnl check for vsscanf() and vsnprintf() - on some platforms (Linux, glibc
dnl 2.1.1 for the first one, HP-UX for the second) it's available in the
-dnl library but the prototype is missing, so we can't use AC_CHECK_FUNCS here,
-dnl do it manually
+dnl library but the prototype is missing, so we can't use AC_CHECK_FUNCS() here,
+dnl do it manually. We can't use AC_TRY_COMPILE(), either, because it doesn't
+dnl check if the symbol is available at linking time
-dnl we use AC_TRY_COMPILE() here instead of AC_TRY_RUN() to make the checks
-dnl work for cross-compilation, but AC_TRY_COMPILE() normally only compiles
+dnl we use AC_TRY_LINK() here instead of AC_TRY_RUN() to make the checks
+dnl work for cross-compilation, but AC_TRY_LINK() normally only compiles
dnl one function while we need at least 2 - hence the ugly hack below. To
-dnl understand why it works, remember that AC_TRY_COMPILE() just prepends
+dnl understand why it works, remember that AC_TRY_LINK() just prepends
dnl "int main() {" in the beginning of the code and "; return 0; }" at the
dnl end...
dnl if we fail to find vsnprintf, also try for _vsnprintf as that is what
dnl we'll find under MSW if it exists.
-dnl final note: AC_TRY_COMPILE will only be executed if there is nothing in
+dnl final note: AC_TRY_LINK will only be executed if there is nothing in
dnl the cache so we have to do AC_DEFINE(HAVE_VSNPRINTF) below and not inside
dnl it or the symbol wouldn't be defined for the 2nd and subsequent configure
dnl runs
dnl check for vsnprintf() - a safe version of vsprintf()
AC_CACHE_CHECK([for vsnprintf], wx_cv_func_vsnprintf,
[
- AC_TRY_COMPILE([
+ AC_TRY_LINK([
#include <stdio.h>
#include <stdarg.h>
], [
], [
wx_cv_func_vsnprintf=yes
], [
- AC_TRY_COMPILE([
+ AC_TRY_LINK([
#include <stdio.h>
#include <stdarg.h>
], [
if test "$wx_cv_func_vsnprintf" = yes; then
AC_DEFINE(HAVE_VSNPRINTF)
else
- AC_MSG_WARN(unsafe function sprintf will be used instead of snprintf)
+ AC_MSG_WARN(unsafe function vsprintf will be used instead of vsnprintf)
fi
dnl check for vsscanf()
dnl check for vfork() (even if it's the same as fork() in modern Unices)
AC_CHECK_FUNCS(vfork)
+dnl check for the function for temp files creation
+AC_CHECK_FUNCS(mkstemp mktemp, break)
+
dnl get the library function to use for wxGetDiskSpace(): it is statfs() under
dnl Linux and *BSD and statvfs() under Solaris
AC_CACHE_CHECK(for statfs, wx_cv_func_statfs,
if test "$wxUSE_THREADS" = "yes" ; then
if test "$wxUSE_WINE" = 1 ; then
- AC_MSG_WARN([Threads are not supported under WINE])
+ AC_MSG_WARN([Threads are not supported under WINE... disabled])
wxUSE_THREADS="no"
elif test "$USE_BEOS" = 1; then
- AC_MSG_WARN([BeOS threads are not yet supported])
+ AC_MSG_WARN([BeOS threads are not yet supported... disabled])
wxUSE_THREADS="no"
fi
fi
if test -z "$THREADS_OBJ" ; then
wxUSE_THREADS=no
- AC_MSG_WARN(No thread support on this system)
+ AC_MSG_WARN([No thread support on this system... disabled])
fi
fi
if test "$wxUSE_THREADS" = "yes"; then
AC_DEFINE(wxUSE_THREADS)
- dnl must define _REENTRANT for multithreaded code except for Darwin/Mac OS X
- if test "$USE_DARWIN" != 1; then
- TOOLCHAIN_DEFS="$TOOLCHAIN_DEFS -D_REENTRANT"
- fi
+ dnl we must define _REENTRANT or something along these lines for MT code
+ TOOLCHAIN_DEFS="$TOOLCHAIN_DEFS $CPP_MT_FLAG"
SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS thread"
else
if test "$wxUSE_TEXTFILE" = "yes"; then
if test "$wxUSE_FILE" != "yes" -o "$wxUSE_TEXTBUFFER" != "yes" ; then
- AC_MSG_WARN(wxTextFile requires wxFile and wxTextBuffer and won't be compiled without them)
+ AC_MSG_WARN(wxTextFile requires wxFile and wxTextBuffer... disabled)
else
AC_DEFINE(wxUSE_TEXTFILE)
fi
if test "$wxUSE_CONFIG" = "yes" ; then
if test "$wxUSE_TEXTFILE" != "yes"; then
- AC_MSG_WARN(wxConfig requires wxTextFile and it won't be compiled without it)
+ AC_MSG_WARN(wxConfig requires wxTextFile... disabled)
else
AC_DEFINE(wxUSE_CONFIG)
SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS config"
if test "$wxUSE_INTL" = "yes" ; then
if test "$wxUSE_FILE" != "yes"; then
- AC_MSG_WARN(I18n code requires wxFile and it won't be compiled without it)
+ AC_MSG_WARN(I18n code requires wxFile... disabled)
else
AC_DEFINE(wxUSE_INTL)
SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS internat"
[
wx_cv_var_timezone=__timezone
],
- AC_MSG_ERROR(no timezone variable)
+ [
+ if test "$USE_DOS" = 0 ; then
+ AC_MSG_ERROR(no timezone variable)
+ fi
+ ]
)
]
)
)
dnl as we want $wx_cv_var_timezone to be expanded, use AC_DEFINE_UNQUOTED
- AC_DEFINE_UNQUOTED(WX_TIMEZONE, $wx_cv_var_timezone)
+ if test "x$wx_cv_var_timezone" != x ; then
+ AC_DEFINE_UNQUOTED(WX_TIMEZONE, $wx_cv_var_timezone)
+ fi
dnl check for localtime (it's POSIX, but the check can do no harm...)
AC_CHECK_FUNCS(localtime)
if test "$wxUSE_GUI" = "yes"; then
+ if test "$TOOLKIT" = "MAC"; then
+ AC_MSG_WARN([Joystick not yet supported under Mac OS X... disabled])
+ wxUSE_JOYSTICK=no
+ fi
+ if test "$TOOLKIT" = "MOTIF"; then
+ AC_MSG_WARN([Joystick not yet supported under Motif... disabled])
+ wxUSE_JOYSTICK=no
+ fi
+
dnl under MSW we always have joystick support
if test "$TOOLKIT" != "MSW"; then
if test "$wxUSE_JOYSTICK" = "yes"; 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)
+ AC_MSG_WARN(Joystick not supported by this system... disabled)
fi
fi
fi
HAVE_DL_FUNCS=0
HAVE_SHL_FUNCS=0
- if test "$wxUSE_DYNLIB_CLASS" = "yes"; then
+ 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
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
-if test "$wxUSE_DYNLIB_CLASS" = "yes" ; then
+if test "$wxUSE_DYNAMIC_LOADER" = "yes" ; then
+ AC_DEFINE(wxUSE_DYNAMIC_LOADER)
+elif test "$wxUSE_DYNLIB_CLASS" = "yes" ; then
AC_DEFINE(wxUSE_DYNLIB_CLASS)
-else
- wxUSE_ODBC=no
- wxUSE_SERIAL=no
fi
dnl ---------------------------------------------------------------------------
AC_DEFINE(wxUSE_EXPERIMENTAL_PRINTF)
fi
-dnl ----------------------------------------------------------------
-dnl serialization support
-dnl ----------------------------------------------------------------
-
-if test "$wxUSE_SERIAL" = "yes" ; then
- AC_DEFINE(wxUSE_SERIAL)
-fi
dnl ----------------------------------------------------------------
dnl iODBC support
if test "$wxUSE_MDI_ARCHITECTURE" = "yes"; then
if test "$wxUSE_UNIVERSAL" = "yes"; then
- AC_MSG_WARN(MDI is not supported for wxUNIVERSAL yet... disabled)
+ AC_MSG_WARN(MDI not yet supported for wxUNIVERSAL... disabled)
wxUSE_MDI_ARCHITECTURE=no
fi
if test "$wxUSE_IPC" = "yes"; then
if test "$wxUSE_SOCKETS" != "yes"; then
- AC_MSG_WARN(wxWindows IPC classes require sockets, disabled)
+ AC_MSG_WARN(wxWindows IPC classes require sockets... disabled)
fi
AC_DEFINE(wxUSE_IPC)
if test "$wxUSE_DRAG_AND_DROP" = "yes" ; then
if test "$wxUSE_GTK" = 1; then
if test "$WXGTK12" != 1; then
- AC_MSG_WARN([Drag and drop is only supported under GTK+ 1.2])
+ AC_MSG_WARN([Drag and drop is only supported under GTK+ 1.2... disabled])
wxUSE_DRAG_AND_DROP=no
fi
fi
if test "$wxUSE_MOTIF" = 1; then
- AC_MSG_WARN([Drag and drop is not yet supported under Motif])
+ AC_MSG_WARN([Drag and drop not yet supported under Motif... disabled])
wxUSE_DRAG_AND_DROP=no
fi
if test "$wxUSE_MAC" = 1; then
- AC_MSG_WARN([Drag and drop is not yet supported under Mac OS X])
+ AC_MSG_WARN([Drag and drop not yet supported under Mac OS X... disabled])
wxUSE_DRAG_AND_DROP=no
fi
fi
if test "$wxUSE_TOGGLEBTN" = "yes"; then
- if test "$wxUSE_MAC" = 1 -o "$wxUSE_UNIVERSAL" = "yes"; then
- AC_MSG_WARN([Toggle button not yet supported under Mac OS X or wxUNIVERSAL... disabled])
+ if test "$wxUSE_MAC" = 1; then
+ AC_MSG_WARN([Toggle button not yet supported under Mac OS X... disabled])
+ wxUSE_TOGGLEBTN=no
+ fi
+ if test "$wxUSE_UNIVERSAL" = "yes"; then
+ AC_MSG_WARN([Toggle button not yet supported under wxUNIVERSAL... disabled])
wxUSE_TOGGLEBTN=no
fi
if test "$wxUSE_TOOLTIPS" = "yes"; then
if test "$wxUSE_MOTIF" = 1; then
- AC_MSG_WARN(wxTooltip not supported yet under Motif ... disabled)
+ AC_MSG_WARN([wxTooltip not supported yet under Motif... disabled])
else
if test "$wxUSE_WINE" = 1; then
- AC_MSG_WARN(wxTooltip not supported under WINE ... disabled)
+ AC_MSG_WARN([wxTooltip not supported under WINE... disabled])
else
if test "$wxUSE_UNIVERSAL" = "yes"; then
- AC_MSG_WARN(wxTooltip not supported yet in wxUNIVERSAL ... disabled)
+ AC_MSG_WARN([wxTooltip not supported yet in wxUNIVERSAL... disabled])
else
AC_DEFINE(wxUSE_TOOLTIPS)
fi
if test "$wxUSE_POPUPWIN" = "yes"; then
if test "$wxUSE_MAC" = 1; then
- AC_MSG_WARN(Popup window is not yet supported under Mac OS)
+ AC_MSG_WARN([Popup window not yet supported under Mac OS X... disabled])
else
- AC_DEFINE(wxUSE_POPUPWIN)
- USES_CONTROLS=1
+ if test "$wxUSE_MOTIF" = 1; then
+ AC_MSG_WARN([wxPopupWindow not yet supported under Motif... disabled])
+ else
+ AC_DEFINE(wxUSE_POPUPWIN)
+
+ USES_CONTROLS=1
+ fi
fi
fi
+if test "$wxUSE_TIPWINDOW" = "yes"; then
+ AC_DEFINE(wxUSE_TIPWINDOW)
+fi
+
if test "$USES_CONTROLS" = 1; then
AC_DEFINE(wxUSE_CONTROLS)
fi
AC_SUBST(MAKEINFO)
AC_SUBST(INSTALL_LIBRARY)
-
-
dnl MAKE_SET will be replaced with "MAKE=..." or nothing if make sets MAKE
-dnl itself (this is macro is required if SUBDIRS variable is used in Makefile.am
+dnl itself (this macro is required if SUBDIRS variable is used in Makefile.am
dnl - and we do use it)
AC_PROG_MAKE_SET