## @file
##
## $Id$
##
## $Date$
## $Author$
##
## @copy © Marc Wäckerlin
## @license LGPL, see file COPYING
##
## $Log$
## Revision 1.25 2005/03/11 23:20:54 marc
## - removed old TRACER
## - new autofunctiontrace library, new function trace
## - new multithreaded targets
## - corrected build flags for not optimized tests
##
## Revision 1.24 2005/02/28 08:10:24 marc
## dynamic library is conditional
##
## Revision 1.23 2005/02/28 07:14:58 marc
## new functiontrace, removed simpletrace
##
## Revision 1.22 2005/02/18 15:51:08 marc
## new dynamiclibrary.hpp
## tests are now compiled with option -O0
##
## Revision 1.21 2005/02/08 12:34:14 marc
## added errno / unix_error
##
## Revision 1.20 2005/01/28 11:22:32 marc
## cppunit flags
##
## Revision 1.19 2005/01/07 01:07:39 marc
## added configuration files for test
##
## Revision 1.18 2005/01/07 00:57:55 marc
## the test script was not distributed
##
## Revision 1.17 2005/01/07 00:33:51 marc
## added config file and file
##
## Revision 1.16 2004/12/17 16:30:06 marc
## added tokenizer
##
## Revision 1.15 2004/12/14 20:20:06 marc
## added regexp
##
## Revision 1.14 2004/12/08 13:48:20 marc
## forget TRACE
##
## Revision 1.13 2004/11/25 18:33:18 marc
## support for function tracing which does not yet work (bug in OpenC++)
##
## Revision 1.12 2004/10/13 11:17:21 marc
## new file stdext.cpp
##
## Revision 1.11 2004/10/11 18:33:02 marc
## add stdext.hpp
##
## Revision 1.10 2004/10/07 16:16:34 marc
## forgotten to save before last checkin...
##
## Revision 1.9 2004/10/07 09:29:17 marc
## new classes
## new versioning
## link tests with unexpected handler
## check doxygen.error
##
## Revision 1.8 2004/09/09 20:09:06 marc
## library versioning now works how i want it
##
## Revision 1.7 2004/08/31 16:23:57 marc
## added .PHONY
##
## Revision 1.6 2004/08/28 16:21:25 marc
## mrw-c++-0.92 (mrw)
## - new file: version.cpp
## - new file header for all sources
## - work around warning in mrw::auto
## - possibility to compile without log4cxx
## - work around bugs in demangle.h and libiberty.h
## - corrections in documentation
## - added simple tracing mechanism
## - more warnings
## - small corrections in Auto<>::Free and a new test for it
## - possibility to compile without stack trace
##
AM_CPPFLAGS += -I..
if HAVE_STACKTRACE
AM_CPPFLAGS += -DHAVE_STACKTRACE
endif
CLEANFILES = doxygen.errors functiontrace_test.log \
mrwautofunctiontracelog4cxx_test.log \
mrwautofunctiontracelog4cxx_test-mt.log
examplesdir = ${pkgdatadir}/examples
examples_DATA = examples/*
htmldir = ${pkgdatadir}/doc/html
html_DATA = doc/html/index.html doc/html/*
pdfdir = ${pkgdatadir}/doc/pdf
pdf_DATA = doc/latex/@PACKAGENAME@-@MAJOR@.@MINOR@.@LEAST@.pdf
lib_LTLIBRARIES = libmrw.la
if HAVE_BOOST_THREAD
lib_LTLIBRARIES += libmrw-mt.la
endif
if HAVE_STACKTRACE
lib_LTLIBRARIES += libmrwexcstderr.la
if HAVE_THREADS
if HAVE_BOOST_THREAD
lib_LTLIBRARIES += libmrwexcstderr-mt.la
endif
endif
if HAVE_LOG4CXX
lib_LTLIBRARIES += libmrwexclog4cxx.la
if HAVE_THREADS
if HAVE_BOOST_THREAD
lib_LTLIBRARIES += libmrwexclog4cxx-mt.la
endif
endif
if AUTOFNTRACE
lib_LTLIBRARIES += libmrwautofunctiontracelog4cxx.la
if HAVE_THREADS
if HAVE_BOOST_THREAD
lib_LTLIBRARIES += libmrwautofunctiontracelog4cxx-mt.la
endif
endif
endif
endif
endif
libmrw_la_SOURCES = \
mrw.hpp version.cpp \
arg.cpp arg.hpp auto.hpp deque.hpp \
exception.cpp exception.hpp \
exec.cpp exec.hpp list.hpp \
map.hpp multimap.hpp multiset.hpp \
set.hpp \
smartpointer.hpp stdext.cpp stdext.hpp \
string.hpp unistd.hpp vector.hpp regexp.hpp regexp.cpp \
tokenizer.hpp configfile.hpp configfile.cpp file.hpp \
errno.hpp errno.cpp
if HAVE_LTDL
libmrw_la_SOURCES += dynamiclibrary.hpp
endif
if HAVE_LOG4CXX
libmrw_la_SOURCES += functiontrace.cpp functiontrace.hpp
endif
if HAVE_STACKTRACE
libmrw_la_SOURCES += \
stacktrace.hpp stacktrace.cpp
endif
libmrw_la_LDFLAGS = -version-info @LIB_VERSION@
libmrw_la_LIBADD =
if HAVE_STACKTRACE
libmrw_la_LIBADD += -lltdl
endif
if HAVE_THREADS
if HAVE_BOOST_THREAD
libmrw_mt_la_SOURCES = ${libmrw_la_SOURCES}
libmrw_mt_la_CXXFLAGS = @THREADS@
libmrw_mt_la_LDFLAGS = ${libmrw_la_LDFLAGS} @THREADS@
libmrw_mt_la_LIBADD = ${libmrw_la_LIBADD} @BOOST_THREAD_LIB@
endif
endif
if HAVE_STACKTRACE
libmrwexcstderr_la_SOURCES = autostacktracestderr.cpp version.cpp
libmrwexcstderr_la_LDFLAGS = -version-info @LIB_VERSION@
libmrwexcstderr_la_LIBADD = -lmrw
if HAVE_THREADS
if HAVE_BOOST_THREAD
libmrwexcstderr_mt_la_SOURCES = autostacktracestderr.cpp version.cpp
libmrwexcstderr_mt_la_CXXFLAGS = @THREADS@
libmrwexcstderr_mt_la_LDFLAGS = -version-info @LIB_VERSION@ @THREADS@
libmrwexcstderr_mt_la_LIBADD = -lmrw-mt
endif
endif
if HAVE_LOG4CXX
libmrwexclog4cxx_la_SOURCES = autostacktracelog4cxx.cpp version.cpp
libmrwexclog4cxx_la_LDFLAGS = -version-info @LIB_VERSION@
libmrwexclog4cxx_la_LIBADD = -lmrw -llog4cxx
if HAVE_THREADS
if HAVE_BOOST_THREAD
libmrwexclog4cxx_mt_la_SOURCES = autostacktracelog4cxx.cpp version.cpp
libmrwexclog4cxx_mt_la_CXXFLAGS = @THREADS@
libmrwexclog4cxx_mt_la_LDFLAGS = -version-info @LIB_VERSION@ @THREADS@
libmrwexclog4cxx_mt_la_LIBADD = -lmrw-mt -llog4cxx
endif
endif
if AUTOFNTRACE
libmrwautofunctiontracelog4cxx_la_SOURCES = autofunctiontracelog4cxx.cpp \
version.cpp
libmrwautofunctiontracelog4cxx_la_CXXFLAGS = -w
libmrwautofunctiontracelog4cxx_la_LDFLAGS = -version-info @LIB_VERSION@
libmrwautofunctiontracelog4cxx_la_LIBADD = -lmrw -llog4cxx
if HAVE_THREADS
if HAVE_BOOST_THREAD
libmrwautofunctiontracelog4cxx_mt_la_SOURCES = \
autofunctiontracelog4cxx.cpp version.cpp
libmrwautofunctiontracelog4cxx_mt_la_CXXFLAGS = @THREADS@ -w
libmrwautofunctiontracelog4cxx_mt_la_LDFLAGS = \
-version-info @LIB_VERSION@ @THREADS@
libmrwautofunctiontracelog4cxx_mt_la_LIBADD = \
-lmrw-mt -llog4cxx
endif
endif
endif
endif
endif
check_PROGRAMS = auto_test smartpointer_test exec_test stdext_test regexp_test \
tokenizer_test configfile_test
if HAVE_LTDL
check_PROGRAMS += dynamiclibrary_test
endif
if HAVE_LOG4CXX
check_PROGRAMS += functiontrace_test
endif
check_SCRIPTS = configfile_check.sh
if HAVE_STACKTRACE
check_PROGRAMS += stacktrace_test mrwexcstderr_test
if HAVE_LOG4CXX
check_PROGRAMS += mrwexclog4cxx_test
if AUTOFNTRACE
check_PROGRAMS += mrwautofunctiontracelog4cxx_test
if HAVE_THREADS
if HAVE_BOOST_THREAD
check_PROGRAMS += mrwautofunctiontracelog4cxx_test-mt
endif
endif
endif
endif
endif
auto_test_SOURCES = auto_test.cpp version.cpp
auto_test_CPPFLAGS = -I.. @CPPUNIT_CFLAGS@ -g3 -O0
auto_test_CXXFLAGS = -g3 -O0
auto_test_LDFLAGS = @CPPUNIT_LIBS@
auto_test_LDADD = -lmrw
if HAVE_STACKTRACE
auto_test_LDADD += -lmrwexcstderr
endif
smartpointer_test_SOURCES = smartpointer_test.cpp version.cpp
smartpointer_test_CPPFLAGS = -I.. @CPPUNIT_CFLAGS@ -g3 -O0
smartpointer_test_CXXFLAGS = -g3 -O0
smartpointer_test_LDFLAGS = @CPPUNIT_LIBS@
smartpointer_test_LDADD = -lmrw
if HAVE_STACKTRACE
smartpointer_test_LDADD += -lmrwexcstderr
endif
exec_test_SOURCES = exec_test.cpp version.cpp
exec_test_CPPFLAGS = -I.. @CPPUNIT_CFLAGS@ -g3 -O0
exec_test_CXXFLAGS = -g3 -O0
exec_test_LDFLAGS = @CPPUNIT_LIBS@
exec_test_LDADD = -lmrw
if HAVE_STACKTRACE
exec_test_LDADD += -lmrwexcstderr
endif
stdext_test_SOURCES = stdext_test.cpp version.cpp
stdext_test_CPPFLAGS = -I.. @CPPUNIT_CFLAGS@ -g3 -O0
stdext_test_CXXFLAGS = -g3 -O0
stdext_test_LDFLAGS = @CPPUNIT_LIBS@
stdext_test_LDADD = -lmrw
if HAVE_STACKTRACE
stdext_test_LDADD += -lmrwexcstderr
endif
regexp_test_SOURCES = regexp_test.cpp version.cpp
regexp_test_CPPFLAGS = -I.. @CPPUNIT_CFLAGS@ -g3 -O0
regexp_test_CXXFLAGS = -g3 -O0
regexp_test_LDFLAGS = @CPPUNIT_LIBS@
regexp_test_LDADD = -lmrw
if HAVE_STACKTRACE
regexp_test_LDADD += -lmrwexcstderr
endif
tokenizer_test_SOURCES = tokenizer_test.cpp version.cpp
tokenizer_test_CPPFLAGS = -I.. @CPPUNIT_CFLAGS@ -g3 -O0
tokenizer_test_CXXFLAGS = -g3 -O0
tokenizer_test_LDFLAGS = @CPPUNIT_LIBS@
tokenizer_test_LDADD = -lmrw
if HAVE_STACKTRACE
tokenizer_test_LDADD += -lmrwexcstderr
endif
configfile_test_SOURCES = configfile_test.cpp version.cpp
configfile_test_CPPFLAGS = -I.. @CPPUNIT_CFLAGS@ -g3 -O0
configfile_test_CXXFLAGS = -g3 -O0
configfile_test_LDFLAGS = @CPPUNIT_LIBS@
configfile_test_LDADD = -lmrw
if HAVE_STACKTRACE
configfile_test_LDADD += -lmrwexcstderr
endif
if HAVE_LTDL
check_LTLIBRARIES = libdynamiclibrary_testlib.la
libdynamiclibrary_testlib_la_SOURCES = dynamiclibrary_testlib.cpp
libdynamiclibrary_testlib_la_LDFLAGS = -module -rpath /bullshit
dynamiclibrary_test_SOURCES = dynamiclibrary_test.cpp version.cpp
dynamiclibrary_test_CPPFLAGS = -I.. @CPPUNIT_CFLAGS@ -g3 -O0
dynamiclibrary_test_CXXFLAGS = -g3 -O0
dynamiclibrary_test_LDFLAGS = @CPPUNIT_LIBS@
dynamiclibrary_test_LDADD = -lmrw -lltdl
endif
if HAVE_LOG4CXX
functiontrace_test_SOURCES = functiontrace_test.cpp version.cpp
functiontrace_test_CPPFLAGS = -I.. @CPPUNIT_CFLAGS@ -g3 -O0
functiontrace_test_CXXFLAGS = -g3 -O0
functiontrace_test_LDFLAGS = @CPPUNIT_LIBS@
functiontrace_test_LDADD = -lmrw -llog4cxx
if HAVE_STACKTRACE
functiontrace_test_LDADD += -lmrwexcstderr
endif
endif
if HAVE_STACKTRACE
stacktrace_test_SOURCES = stacktrace_test.cpp version.cpp
stacktrace_test_CPPFLAGS = -I.. @CPPUNIT_CFLAGS@ -g3 -O0
stacktrace_test_CXXFLAGS = -g3 -O0
stacktrace_test_LDFLAGS = @CPPUNIT_LIBS@
stacktrace_test_LDADD = -lmrw -lmrwexcstderr
mrwexcstderr_test_SOURCES = mrwexcstderr_test.cpp version.cpp
mrwexcstderr_test_CPPFLAGS = -I.. @CPPUNIT_CFLAGS@ -g3 -O0
mrwexcstderr_test_CXXFLAGS = -g3 -O0
mrwexcstderr_test_LDFLAGS = @CPPUNIT_LIBS@
mrwexcstderr_test_LDADD = -lmrwexcstderr
if HAVE_LOG4CXX
mrwexclog4cxx_test_SOURCES = mrwexclog4cxx_test.cpp version.cpp
mrwexclog4cxx_test_CPPFLAGS = -I.. @CPPUNIT_CFLAGS@ -g3 -O0
mrwexclog4cxx_test_CXXFLAGS = -g3 -O0
mrwexclog4cxx_test_LDFLAGS = @CPPUNIT_LIBS@
mrwexclog4cxx_test_LDADD = -lmrwexclog4cxx -llog4cxx
if AUTOFNTRACE
mrwautofunctiontracelog4cxx_test_SOURCES = \
mrwautofunctiontracelog4cxx_test.cpp version.cpp
mrwautofunctiontracelog4cxx_test_CPPFLAGS = \
-I.. @CPPUNIT_CFLAGS@ -finstrument-functions -g3 -O0
mrwautofunctiontracelog4cxx_test_CXXFLAGS = -g3 -O0 -finstrument-functions
mrwautofunctiontracelog4cxx_test_LDFLAGS = \
@CPPUNIT_LIBS@ -finstrument-functions
mrwautofunctiontracelog4cxx_test_LDADD = \
-llog4cxx -lmrwautofunctiontracelog4cxx
if HAVE_THREADS
if HAVE_BOOST_THREAD
mrwautofunctiontracelog4cxx_test_mt_SOURCES = \
mrwautofunctiontracelog4cxx_test.cpp version.cpp
mrwautofunctiontracelog4cxx_test_mt_CPPFLAGS = \
-I.. @CPPUNIT_CFLAGS@ -finstrument-functions -g3 -O0
mrwautofunctiontracelog4cxx_test_mt_CXXFLAGS = -g3 -O0 \
-finstrument-functions @THREADS@
mrwautofunctiontracelog4cxx_test_mt_LDFLAGS = \
@CPPUNIT_LIBS@ @THREADS@ -finstrument-functions
mrwautofunctiontracelog4cxx_test_mt_LDADD = \
-llog4cxx -lmrwautofunctiontracelog4cxx-mt @BOOST_THREAD_LIB@
endif
endif
endif
endif
endif
EXTRA_DIST = test.dat configfile.ini configfile.ini.result \
${examples_DATA} ${html_DATA} ${pdf_DATA} ${check_SCRIPTS}
TESTS = ${check_PROGRAMS} ${check_SCRIPTS}
.PHONY: doc clean-local distclean-local
deps = ../COPYING ../README ../INSTALL ../NEWS ../ChangeLog
doc: doc/html/index.html doc/latex/@PACKAGENAME@-@MAJOR@.@MINOR@.@LEAST@.pdf
doc/html/index.html: doxyfile *.[ch]pp ${deps}
doxygen doxyfile
if PEDANTIC
test \! -s doxygen.errors
endif
doc/latex/@PACKAGENAME@-@MAJOR@.@MINOR@.@LEAST@.pdf: doxyfile *.[ch]pp ${deps}
cd doc/latex && make && \
mv refman.pdf @PACKAGENAME@-@MAJOR@.@MINOR@.@LEAST@.pdf
clean-local:
- rm doxygen.err libmrw.doxytag
distclean-local:
- rm -r doc/html/* doc/latex/*
- rm makefile makefile.in doxygen.err libmrw.doxytag