DEFAULT_wxUSE_STOPWATCH=no
DEFAULT_wxUSE_FILE=no
DEFAULT_wxUSE_FFILE=no
+ DEFAULT_wxUSE_TEXTBUFFER=no
DEFAULT_wxUSE_TEXTFILE=no
DEFAULT_wxUSE_WAVE=no
DEFAULT_wxUSE_INTL=no
DEFAULT_wxUSE_STOPWATCH=yes
DEFAULT_wxUSE_FILE=yes
DEFAULT_wxUSE_FFILE=yes
+ DEFAULT_wxUSE_TEXTBUFFER=yes
DEFAULT_wxUSE_TEXTFILE=yes
DEFAULT_wxUSE_WAVE=no
DEFAULT_wxUSE_INTL=yes
WX_ARG_ENABLE(streams, [ --enable-streams use wxStream etc classes], wxUSE_STREAMS)
WX_ARG_ENABLE(file, [ --enable-file use wxFile classes], wxUSE_FILE)
WX_ARG_ENABLE(ffile, [ --enable-ffile use wxFFile classes], wxUSE_FFILE)
-WX_ARG_ENABLE(textfile, [ --enable-textfile use wxTextFile classes], wxUSE_TEXTFILE)
+WX_ARG_ENABLE(textbuf, [ --enable-textbuf use wxTextBuffer class], wxUSE_TEXTBUFFER)
+WX_ARG_ENABLE(textfile, [ --enable-textfile use wxTextFile class], wxUSE_TEXTFILE)
WX_ARG_ENABLE(fontmap, [ --enable-fontmap use font encodings conversion classes], wxUSE_FONTMAP)
WX_ARG_ENABLE(unicode, [ --enable-unicode compile wxString with Unicode support], wxUSE_UNICODE)
WX_ARG_ENABLE(wxprintfv, [ --enable-wxprintfv use wxWindows implementation of vprintf()], wxUSE_EXPERIMENTAL_PRINTF)
WX_LIBRARY_IMPORTLIB="${WX_LIBRARY_NAME_SHARED}.a"
SHARED_LD="${CXX} -shared -Wl,--out-implib,lib/${WX_LIBRARY_IMPORTLIB} -o"
- TOOLCHAIN_DEFS="${TOOLCHAIN_DEFS} -DWXUSINGDLL=1"
+ TOOLCHAIN_DLL_DEFS="${TOOLCHAIN_DLL_DEFS} -DWXUSINGDLL=1"
PIC_FLAG="-UWXUSINGDLL -DWXMAKINGDLL=1 -D_DLL=1 -D_WINDLL=1"
dnl under MSW we always have thread support
if test "$TOOLKIT" != "MSW"; then
-dnl the code below:
-dnl defines THREADS_OBJ which contains the object files to build
-dnl defines THREADS_LINK which contains the thread library to link with
-dnl defines wxUSE_THREADS=1 if thread support is activated
-
-THREADS_LINK=
-THREADS_OBJ=
-CODE_GEN_FLAGS=
-CODE_GEN_FLAGS_CXX=
-
-if test "$wxUSE_THREADS" = "yes" ; then
- if test "$wxUSE_WINE" = 1 ; then
- AC_MSG_WARN([Threads are not supported under WINE])
- wxUSE_THREADS="no"
- elif test "$USE_BEOS" = 1; then
- AC_MSG_WARN([BeOS threads are not yet supported])
- wxUSE_THREADS="no"
+ dnl the code below:
+ dnl defines THREADS_OBJ which contains the object files to build
+ dnl defines THREADS_LINK which contains the thread library to link with
+ dnl defines wxUSE_THREADS=1 if thread support is activated
+
+ THREADS_LINK=
+ THREADS_OBJ=
+ CODE_GEN_FLAGS=
+ CODE_GEN_FLAGS_CXX=
+
+ if test "$wxUSE_THREADS" = "yes" ; then
+ if test "$wxUSE_WINE" = 1 ; then
+ AC_MSG_WARN([Threads are not supported under WINE])
+ wxUSE_THREADS="no"
+ elif test "$USE_BEOS" = 1; then
+ AC_MSG_WARN([BeOS threads are not yet supported])
+ wxUSE_THREADS="no"
+ fi
fi
-fi
-if test "$wxUSE_THREADS" = "yes" ; then
- dnl find if POSIX threads are available
+ if test "$wxUSE_THREADS" = "yes" ; then
+ dnl find if POSIX threads are available
- dnl AIX calls the library libpthreads - thanks IBM!
- if test "$USE_AIX" = 1; then
- THREADS_LIB=pthreads
- else
- THREADS_LIB=pthread
- fi
+ dnl AIX calls the library libpthreads - thanks IBM!
+ if test "$USE_AIX" = 1; then
+ THREADS_LIB=pthreads
+ else
+ THREADS_LIB=pthread
+ fi
- dnl standard lib name is pthread
- dnl We no longer test for pthread-0.7 as it breaks compilation on some
- dnl glibc2 systems, especially for static linkage.
- AC_CHECK_LIB($THREADS_LIB, pthread_create, [
- THREADS_OBJ="threadpsx.lo"
- THREADS_LINK=$THREADS_LIB
- ], [
- dnl thread functions are in libc_r under FreeBSD
- AC_CHECK_LIB(c_r, pthread_create, [
+ dnl standard lib name is pthread
+ dnl We no longer test for pthread-0.7 as it breaks compilation on some
+ dnl glibc2 systems, especially for static linkage.
+ AC_CHECK_LIB($THREADS_LIB, pthread_create, [
THREADS_OBJ="threadpsx.lo"
- THREADS_LINK="c_r"
+ THREADS_LINK=$THREADS_LIB
], [
- dnl VZ: SGI threads are not supported currently
- AC_CHECK_HEADER(sys/prctl.h, [
- THREADS_OBJ="threadsgi.lo"
+ dnl thread functions are in libc_r under FreeBSD
+ AC_CHECK_LIB(c_r, pthread_create, [
+ THREADS_OBJ="threadpsx.lo"
+ THREADS_LINK="c_r"
+ ], [
+ dnl VZ: SGI threads are not supported currently
+ AC_CHECK_HEADER(sys/prctl.h, [
+ THREADS_OBJ="threadsgi.lo"
+ ])
])
])
- ])
- if test -z "$THREADS_OBJ" ; then
- wxUSE_THREADS=no
- AC_MSG_WARN(No thread support on this system)
+ if test -z "$THREADS_OBJ" ; then
+ wxUSE_THREADS=no
+ AC_MSG_WARN(No thread support on this system)
+ fi
fi
-fi
-dnl do other tests only if we are using threads
-if test "$wxUSE_THREADS" = "yes" ; then
- AC_CHECK_FUNCS(thr_setconcurrency)
-
- dnl define autoconf macro to check for given function in both pthread and
- dnl posix4 libraries
- dnl usage: AC_FUNC_THREAD(FUNCTION_NAME)
- dnl VZ: TODO
- dnl AC_DEFUN(AC_FUNC_THREAD,
- dnl [
- dnl AC_CHECK_LIB($THREADS_LINK, $1,
- dnl AC_DEFINE(HAVE_`'translit($1, `A-Z', 'a-z'),
- dnl [AC_CHECK_LIB([posix4], $1,
- dnl [AC_DEFINE(HAVE_`'translit($1, `A-Z', 'a-z'))
- dnl POSIX4_LINK=" -lposix4"
- dnl ])
- dnl ])
- dnl ])
-
- AC_CHECK_HEADERS(sched.h)
-
- AC_CHECK_LIB($THREADS_LINK, sched_yield,
- AC_DEFINE(HAVE_SCHED_YIELD),
- [AC_CHECK_LIB([posix4], sched_yield,
- [AC_DEFINE(HAVE_SCHED_YIELD) POSIX4_LINK=" -lposix4"],
- AC_MSG_WARN(wxThread::Yield will not work properly)
- )]
- )
-
- dnl to be able to set the thread priority, we need to have all of the
- dnl following functions:
- dnl 1. pthread_attr_getschedpolicy
- dnl 2. sched_get_priority_min and sched_get_priority_max
- dnl (this one can be in either libpthread or libposix4 (under Solaris))
- dnl 3. pthread_attr_getschedparam and pthread_attr_setschedparam
- HAVE_PRIOR_FUNCS=0
- AC_CHECK_LIB($THREADS_LINK, pthread_attr_getschedpolicy,
- AC_CHECK_LIB($THREADS_LINK, pthread_attr_setschedparam,
- AC_CHECK_LIB($THREADS_LINK, sched_get_priority_max,
- HAVE_PRIOR_FUNCS=1,
- AC_CHECK_LIB([posix4], sched_get_priority_max,
- [
- HAVE_PRIOR_FUNCS=1
- POSIX4_LINK=" -lposix4"
- ],
+ dnl do other tests only if we are using threads
+ if test "$wxUSE_THREADS" = "yes" ; then
+ AC_CHECK_FUNCS(thr_setconcurrency)
+
+ dnl define autoconf macro to check for given function in both pthread and
+ dnl posix4 libraries
+ dnl usage: AC_FUNC_THREAD(FUNCTION_NAME)
+ dnl VZ: TODO
+ dnl AC_DEFUN(AC_FUNC_THREAD,
+ dnl [
+ dnl AC_CHECK_LIB($THREADS_LINK, $1,
+ dnl AC_DEFINE(HAVE_`'translit($1, `A-Z', 'a-z'),
+ dnl [AC_CHECK_LIB([posix4], $1,
+ dnl [AC_DEFINE(HAVE_`'translit($1, `A-Z', 'a-z'))
+ dnl POSIX4_LINK=" -lposix4"
+ dnl ])
+ dnl ])
+ dnl ])
+
+ AC_CHECK_HEADERS(sched.h)
+
+ AC_CHECK_LIB($THREADS_LINK, sched_yield,
+ AC_DEFINE(HAVE_SCHED_YIELD),
+ [AC_CHECK_LIB([posix4], sched_yield,
+ [AC_DEFINE(HAVE_SCHED_YIELD) POSIX4_LINK=" -lposix4"],
+ AC_MSG_WARN(wxThread::Yield will not work properly)
+ )]
+ )
+
+ dnl to be able to set the thread priority, we need to have all of the
+ dnl following functions:
+ dnl 1. pthread_attr_getschedpolicy
+ dnl 2. sched_get_priority_min and sched_get_priority_max
+ dnl (this one can be in either libpthread or libposix4 (under Solaris))
+ dnl 3. pthread_attr_getschedparam and pthread_attr_setschedparam
+ HAVE_PRIOR_FUNCS=0
+ AC_CHECK_LIB($THREADS_LINK, pthread_attr_getschedpolicy,
+ AC_CHECK_LIB($THREADS_LINK, pthread_attr_setschedparam,
+ AC_CHECK_LIB($THREADS_LINK, sched_get_priority_max,
+ HAVE_PRIOR_FUNCS=1,
+ AC_CHECK_LIB([posix4], sched_get_priority_max,
+ [
+ HAVE_PRIOR_FUNCS=1
+ POSIX4_LINK=" -lposix4"
+ ],
+ )
)
+ )
)
- )
- )
- if test "$HAVE_PRIOR_FUNCS" = 1; then
- AC_DEFINE(HAVE_THREAD_PRIORITY_FUNCTIONS)
- else
- AC_MSG_WARN(Setting thread priority will not work)
- fi
+ if test "$HAVE_PRIOR_FUNCS" = 1; then
+ AC_DEFINE(HAVE_THREAD_PRIORITY_FUNCTIONS)
+ else
+ AC_MSG_WARN(Setting thread priority will not work)
+ fi
- AC_CHECK_LIB($THREADS_LINK, pthread_cancel,
- AC_DEFINE(HAVE_PTHREAD_CANCEL),
- AC_MSG_WARN([wxThread::Kill() will not work properly]))
+ AC_CHECK_LIB($THREADS_LINK, pthread_cancel,
+ AC_DEFINE(HAVE_PTHREAD_CANCEL),
+ AC_MSG_WARN([wxThread::Kill() will not work properly]))
- AC_CACHE_CHECK([for pthread_cleanup_push/pop], wx_cv_func_pthread_cleanup_push,
- [
- AC_TRY_COMPILE([#include <pthread.h>],
- [
- pthread_cleanup_push(NULL, NULL);
- pthread_cleanup_pop(0);
- ], [
- wx_cv_func_pthread_cleanup_push=yes
- ], [
- wx_cv_func_pthread_cleanup_push=no
- ])
- ])
-
- if test "$wx_cv_func_pthread_cleanup_push" = "yes"; then
- AC_DEFINE(HAVE_THREAD_CLEANUP_FUNCTIONS)
- fi
+ AC_CACHE_CHECK([for pthread_cleanup_push/pop], wx_cv_func_pthread_cleanup_push,
+ [
+ AC_TRY_COMPILE([#include <pthread.h>],
+ [
+ pthread_cleanup_push(NULL, NULL);
+ pthread_cleanup_pop(0);
+ ], [
+ wx_cv_func_pthread_cleanup_push=yes
+ ], [
+ wx_cv_func_pthread_cleanup_push=no
+ ])
+ ])
- dnl mutexattr_t initialization is done in quite different ways on different
- dnl platforms, so check for a few things:
- dnl
- dnl HAVE_MUTEX_RECURSIVE means that we can create recursive mutexes
- dnl HAVE_MUTEXATTR_SETTYPE means that we do it using
- dnl pthread_mutexattr_settype(PTHREAD_MUTEX_RECURSIVE) and if it is not
- dnl defined, we do it by directly assigned
- dnl PTHREAD_MUTEX_RECURSIVE_MUTEX_INITIALIZER_NP to attr
-
- dnl we need _GNU_SOURCE to get PTHREAD_MUTEX_RECURSIVE with glibc 2.1+
- dnl (strictly speaking we only need _XOPEN_SOURCE=500 but just defining
- dnl this disables _BSD_SOURCE which breaks libtiff compilation, so it is
- dnl simpler to just define _GNU_SOURCE to get everything)
- if test "x$wx_lib_glibc21" = "xyes"; then
- CPPFLAGS="$CPPFLAGS -D_GNU_SOURCE"
- fi
+ if test "$wx_cv_func_pthread_cleanup_push" = "yes"; then
+ AC_DEFINE(HAVE_THREAD_CLEANUP_FUNCTIONS)
+ fi
- AC_CACHE_CHECK([for pthread_mutexattr_t], wx_cv_type_pthread_mutexattr_t,
- [
- AC_TRY_COMPILE([#include <pthread.h>],
- [
- pthread_mutexattr_t attr;
- pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_RECURSIVE);
- ], [
- wx_cv_type_pthread_mutexattr_t=yes
- ], [
- wx_cv_type_pthread_mutexattr_t=no
- ]
- )
- ])
+ dnl mutexattr_t initialization is done in quite different ways on different
+ dnl platforms, so check for a few things:
+ dnl
+ dnl HAVE_MUTEX_RECURSIVE means that we can create recursive mutexes
+ dnl HAVE_MUTEXATTR_SETTYPE means that we do it using
+ dnl pthread_mutexattr_settype(PTHREAD_MUTEX_RECURSIVE) and if it is not
+ dnl defined, we do it by directly assigned
+ dnl PTHREAD_MUTEX_RECURSIVE_MUTEX_INITIALIZER_NP to attr
+
+ dnl we need _GNU_SOURCE to get PTHREAD_MUTEX_RECURSIVE with glibc 2.1+
+ dnl (strictly speaking we only need _XOPEN_SOURCE=500 but just defining
+ dnl this disables _BSD_SOURCE which breaks libtiff compilation, so it is
+ dnl simpler to just define _GNU_SOURCE to get everything)
+ if test "x$wx_lib_glibc21" = "xyes"; then
+ CPPFLAGS="$CPPFLAGS -D_GNU_SOURCE"
+ fi
- if test "$wx_cv_type_pthread_mutexattr_t" = "yes"; then
- AC_DEFINE(HAVE_PTHREAD_MUTEXATTR_T)
- else
- dnl don't despair, there may be another way to do it
- AC_CACHE_CHECK([for PTHREAD_RECURSIVE_MUTEX_INITIALIZER],
- wx_cv_type_pthread_rec_mutex_init,
- [
+ AC_CACHE_CHECK([for pthread_mutexattr_t], wx_cv_type_pthread_mutexattr_t,
+ [
AC_TRY_COMPILE([#include <pthread.h>],
[
- pthread_mutex_t attr = PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP;
+ pthread_mutexattr_t attr;
+ pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_RECURSIVE);
], [
- wx_cv_type_pthread_rec_mutex_init=yes
+ wx_cv_type_pthread_mutexattr_t=yes
], [
- wx_cv_type_pthread_rec_mutex_init=no
+ wx_cv_type_pthread_mutexattr_t=no
]
)
- ])
- if test "$wx_cv_type_pthread_rec_mutex_init" = "yes"; then
- AC_DEFINE(HAVE_PTHREAD_RECURSIVE_MUTEX_INITIALIZER)
- else
- dnl this may break code working elsewhere, so at least warn about it
- AC_MSG_WARN([wxMutex won't be recursive on this platform])
- fi
- fi
+ ])
+
+ if test "$wx_cv_type_pthread_mutexattr_t" = "yes"; then
+ AC_DEFINE(HAVE_PTHREAD_MUTEXATTR_T)
+ else
+ dnl don't despair, there may be another way to do it
+ AC_CACHE_CHECK([for PTHREAD_RECURSIVE_MUTEX_INITIALIZER],
+ wx_cv_type_pthread_rec_mutex_init,
+ [
+ AC_TRY_COMPILE([#include <pthread.h>],
+ [
+ pthread_mutex_t attr = PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP;
+ ], [
+ wx_cv_type_pthread_rec_mutex_init=yes
+ ], [
+ wx_cv_type_pthread_rec_mutex_init=no
+ ]
+ )
+ ])
+ if test "$wx_cv_type_pthread_rec_mutex_init" = "yes"; then
+ AC_DEFINE(HAVE_PTHREAD_RECURSIVE_MUTEX_INITIALIZER)
+ else
+ dnl this may break code working elsewhere, so at least warn about it
+ AC_MSG_WARN([wxMutex won't be recursive on this platform])
+ fi
+ fi
- THREADS_LINK=" -l$THREADS_LINK"
+ THREADS_LINK=" -l$THREADS_LINK"
- dnl building MT programs under Solaris with the native compiler requires -mt
- dnl switch
- if test "$USE_SOLARIS" = "yes" -a "$GCC" != "yes"; then
- CPPFLAGS="$CFLAGS -mt"
- CXXFLAGS="$CXXFLAGS -mt"
- LDFLAGS="$LDFLAGS -mt"
- fi
-fi
+ dnl building MT programs under Solaris with the native compiler requires -mt
+ dnl switch
+ if test "$USE_SOLARIS" = "yes" -a "$GCC" != "yes"; then
+ CPPFLAGS="$CFLAGS -mt"
+ CXXFLAGS="$CXXFLAGS -mt"
+ LDFLAGS="$LDFLAGS -mt"
+ fi
+ fi
dnl from if !MSW
fi
PROFILE=" -pg"
fi
-if test "$GCC" = yes ; then
+if test "$GCC" = "yes" ; then
if test "$wxUSE_NO_RTTI" = "yes" ; then
CODE_GEN_FLAGS_CXX="$CODE_GEN_FLAGS_CXX -fno-rtti"
fi
if test "$wxUSE_PERMISSIVE" = "yes" ; then
CODE_GEN_FLAGS="$CODE_GEN_FLAGS -fpermissive"
fi
- if test "$wxUSE_NO_DEPS" = "no" ; then
- CFLAGS="-MMD $CFLAGS"
- CXXFLAGS="-MMD $CXXFLAGS"
- fi
if test "$USE_WIN32" = 1 ; then
# I'm not even really sure what this was ever added to solve,
# but someone added it for mingw native builds, so I guess
AC_DEFINE(wxUSE_STD_IOSTREAM)
fi
+if test "$wxUSE_TEXTBUFFER" = "yes"; then
+ AC_DEFINE(wxUSE_TEXTBUFFER)
+fi
+
if test "$wxUSE_TEXTFILE" = "yes"; then
- if test "$wxUSE_FILE" != "yes"; then
- AC_MSG_WARN(wxTextFile requires wxFile and it won't be compiled without it)
+ 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)
else
AC_DEFINE(wxUSE_TEXTFILE)
fi
CXXWARNINGS="-Wall"
dnl should enable this one day...
dnl CXXWARNINGS="-Wall -Werror"
+
+ dnl Add this *after* all compile tests, we don't need or want generated
+ dnl depfiles until actually building the lib
+ if test "$wxUSE_NO_DEPS" = "no" ; then
+ CFLAGS="-MMD $CFLAGS"
+ CXXFLAGS="-MMD $CXXFLAGS"
+ fi
fi
+
EXTRA_CFLAGS="$WXDEBUG $WXODBCFLAG$PROFILE $OPTIMISE $INCLUDES"
CFLAGS=`echo $CFLAGS $EXTRA_CFLAGS $CXXWARNINGS | sed 's/ \\+/ /g'`
AC_SUBST(TOOLKIT_VPATH)
AC_SUBST(TOOLCHAIN_NAME)
AC_SUBST(TOOLCHAIN_DEFS)
+AC_SUBST(TOOLCHAIN_DLL_DEFS)
dnl wx-config options
AC_SUBST(host_alias)