- multithreading (with boost)
- autofunctiontrace only for GNU gcc
This commit is contained in:
62
configure.in
62
configure.in
@@ -38,6 +38,9 @@ AC_SUBST_FILE(README)
|
||||
CHANGE_LOG=ChangeLog
|
||||
AC_SUBST_FILE(CHANGE_LOG)
|
||||
|
||||
# Get rid of that stupid -O2 -g opions!
|
||||
CXXFLAGS="${CXXFLAGS:-}"
|
||||
|
||||
# languages
|
||||
AC_LANG(C++)
|
||||
|
||||
@@ -60,18 +63,15 @@ AC_CHECK_HEADER(ltdl.h, [have_ltdl=yes])
|
||||
|
||||
# Arguments
|
||||
AM_MAINTAINER_MODE
|
||||
AC_ARG_WITH(tracer,
|
||||
[ --with-tracer=name add additional tracing output to this library itself],
|
||||
[with_tracer="$withval"], [with_tracer="no"])
|
||||
AM_CONDITIONAL(TRACER, test "$with_tracer" == "yes")
|
||||
if test "$with_tracer" != "no"; then
|
||||
if test "$with_tracer" != "yes"; then
|
||||
TRACE=$with_tracer
|
||||
else
|
||||
TRACE="trace"
|
||||
fi
|
||||
AC_SUBST(TRACE)
|
||||
fi
|
||||
AC_ARG_ENABLE(threads,
|
||||
[ --disable-threads disable multithreading],
|
||||
[with_threads="$enableval"], [with_threads="yes"])
|
||||
THREADS="-pthread"
|
||||
AM_CONDITIONAL(HAVE_THREADS, test "$with_threads" == "yes")
|
||||
AC_ARG_ENABLE(autofntrace,
|
||||
[ --disable-autofntrace disable automated function trace (requires gcc)],
|
||||
[with_autofntrace="$enableval"], [with_autofntrace="yes"])
|
||||
AM_CONDITIONAL(AUTOFNTRACE, test "$with_autofntrace" == "yes" -a -n "$GCC")
|
||||
AC_ARG_ENABLE(pedantic,
|
||||
[ --enable-pedantic enable all warnings and checks, abort on warnings],
|
||||
[have_pedantic="$enableval"; test "$enableval" = "yes" && \
|
||||
@@ -104,10 +104,28 @@ if test "$have_stacktrace" = "yes"; then
|
||||
[AC_MSG_RESULT([OK, found cplus_demangle])],
|
||||
[AC_MSG_ERROR([Library iberty is required!])])
|
||||
fi
|
||||
AC_ARG_WITH([boost-thread],AS_HELP_STRING([--with-boost-thread],
|
||||
[specify the boost thread library or suffix to use]),
|
||||
[if test "$with_boost_thread" != "no"; then
|
||||
if test "$with_boost_thread" != "yes"; then
|
||||
chk_libs="$with_boost_thread boost_thread-$with_boost_thread"
|
||||
else
|
||||
chk_libs="boost_thread boost_thread-mt boost_thread-gcc-mt"
|
||||
fi
|
||||
else
|
||||
chk_libs=""
|
||||
fi],
|
||||
[chk_libs="boost_thread boost_thread-mt boost_thread-gcc-mt"])
|
||||
for ax_lib in $chk_libs; do
|
||||
AC_CHECK_LIB($ax_lib, main, [BOOST_THREAD_LIB="-l$ax_lib" break])
|
||||
done
|
||||
AC_SUBST(BOOST_THREAD_LIB)
|
||||
AM_CONDITIONAL(HAVE_BOOST_THREAD, test -n "$BOOST_THREAD_LIB")
|
||||
AM_PATH_CPPUNIT([1.0.0], [have_cppunit="yes"], [have_cppunit="no"])
|
||||
|
||||
# export macros
|
||||
AC_SUBST(HAVE_DOT)
|
||||
AC_SUBST(THREADS)
|
||||
AC_SUBST(PACKAGENAME)
|
||||
AC_SUBST(AM_CXXFLAGS)
|
||||
AC_SUBST(AM_CPPFLAGS)
|
||||
@@ -136,10 +154,10 @@ AC_MSG_NOTICE([Pedantic compile mode enabled!
|
||||
- all warnings for GNU g++ are enabled
|
||||
- all warnings result in an error
|
||||
- doxygen warnings are treated as error too]); fi
|
||||
if test "$with_tracer" != "no"; then
|
||||
AC_MSG_NOTICE([Verbose tracing is enabled!
|
||||
- function traces will be printed for all methods in the library
|
||||
- tracer is: $TRACE]); fi
|
||||
if test "$with_threads" == "no"; then
|
||||
AC_MSG_WARN([Multithreading support is disabled!
|
||||
- use --enable-threads to enable it
|
||||
- actually, there's only support for automated function trace]); fi
|
||||
if test "$have_log4cxx" != "yes"; then
|
||||
AC_MSG_WARN([Library log4cxx will not be used!
|
||||
- if you want it, download it from:
|
||||
@@ -149,5 +167,13 @@ AC_MSG_WARN([mrw::StackTrace is disabled!]); fi
|
||||
if test "$have_ltdl" != "yes"; then
|
||||
AC_MSG_ERROR([mrw::DynamicLibrary dynamic library loading is disabled!
|
||||
- mrw::StackTrace is disabled without mrw::DynamicLibrary
|
||||
- install the GNU libtool, if you need mrw::DynamicLibrary]);
|
||||
fi
|
||||
- install the GNU libtool, if you need mrw::DynamicLibrary]);fi
|
||||
if test "$with_autofntrace" != "yes" -o -z "$GCC"; then
|
||||
AC_MSG_WARN([Automated GNU gcc function tracing is disabled!
|
||||
- libmrwautofunctiontracelog4cxx won't be built]);fi
|
||||
if test -z "$BOOST_THREAD_LIB"; then
|
||||
AC_MSG_WARN([Boost thread library not found!
|
||||
- multithreading is based on boost thread library
|
||||
- support for multithreading is disabled
|
||||
- try to pass the library name, e.g.
|
||||
--with-boost-thread=boost_thread-icc-mt]);fi
|
Reference in New Issue
Block a user