C++ Library containing a lot of needful things: Stack Trace, Command Line Parser, Resource Handling, Configuration Files, Unix Command Execution, Directories, Regular Expressions, Tokenizer, Function Trace, Standard Extensions.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

436 lines
15 KiB

## @file
##
## $Id$
##
## $Date$
## $Author$
##
## @copy © Marc Wäckerlin
## @license LGPL, see file <a href="license.html">COPYING</a>
##
## $Log$
## Revision 1.29 2005/04/10 15:01:28 marc
## Now, make distcheck works AND the html doc is dirstributed...
##
## Revision 1.28 2005/04/07 22:08:59 marc
## doc/html to EXTRA_DIST
##
20 years ago
## Revision 1.27 2005/04/07 21:26:28 marc
## wrong examplesdir
##
## Revision 1.26 2005/04/07 20:58:57 marc
## Oops, there's a make distcheck...? Now it works.
## documentation is now generated in root dir, no more in mrw subdir
## HTML documentation now with stylesheet, footer and header
## RPM/libtool: .la files with wrong path!
## New feature: library libmrwlog4cxxconfiguration configures log4cxx
##
## 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
##
20 years ago
## 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
##
20 years ago
## Revision 1.16 2004/12/17 16:30:06 marc
## added tokenizer
##
20 years ago
## Revision 1.15 2004/12/14 20:20:06 marc
## added regexp
##
20 years ago
## 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
##
20 years ago
## 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
##
20 years ago
## 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<T>
## - 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${top_srcdir}
if HAVE_STACKTRACE
AM_CPPFLAGS += -DHAVE_STACKTRACE
endif
CLEANFILES = doxygen.errors functiontrace_test.log \
mrwautofunctiontracelog4cxx_test.log \
mrwautofunctiontracelog4cxx_test-mt.log
20 years ago
examplesdir = ${pkgdatadir}/examples
dist_examples_DATA = ${top_srcdir}/mrw/examples/*
21 years ago
htmldir = ${pkgdatadir}/doc/html
html_DATA = ${top_builddir}/doc/html/index.html
21 years ago
pdfdir = ${pkgdatadir}/doc/pdf
dist_pdf_DATA = ${top_builddir}/doc/latex/@PACKAGENAME@-@MAJOR@.@MINOR@.@LEAST@.pdf
21 years ago
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 \
libmrwlog4cxxconfiguration.la
if HAVE_THREADS
lib_LTLIBRARIES += libmrwlog4cxxconfiguration-mt.la
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 \
20 years ago
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 \
20 years ago
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 = ${top_builddir}/mrw/libmrw.la
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 = ${top_builddir}/mrw/libmrw-mt.la
endif
endif
if HAVE_LOG4CXX
libmrwexclog4cxx_la_SOURCES = autostacktracelog4cxx.cpp version.cpp
libmrwexclog4cxx_la_LDFLAGS = -version-info @LIB_VERSION@
libmrwexclog4cxx_la_LIBADD = ${top_builddir}/mrw/libmrw.la -llog4cxx
libmrwlog4cxxconfiguration_la_SOURCES = log4cxxconfiguration.cpp version.cpp
libmrwlog4cxxconfiguration_la_LDFLAGS = -version-info @LIB_VERSION@
libmrwlog4cxxconfiguration_la_LIBADD = -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 = ${top_builddir}/mrw/libmrw-mt.la -llog4cxx
libmrwlog4cxxconfiguration_mt_la_SOURCES = log4cxxconfiguration.cpp \
version.cpp
libmrwlog4cxxconfiguration_mt_la_CXXFLAGS = @THREADS@
libmrwlog4cxxconfiguration_mt_la_LDFLAGS = -version-info @LIB_VERSION@ \
@THREADS@
libmrwlog4cxxconfiguration_mt_la_LIBADD = -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 = ${top_builddir}/mrw/libmrw.la -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 = \
${top_builddir}/mrw/libmrw-mt.la -llog4cxx
endif
endif
endif
endif
endif
21 years ago
20 years ago
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
dist_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${top_srcdir} @CPPUNIT_CFLAGS@ -g3 -O0
auto_test_CXXFLAGS = -g3 -O0
20 years ago
auto_test_LDFLAGS = @CPPUNIT_LIBS@
auto_test_LDADD = ${top_builddir}/mrw/libmrw.la
if HAVE_STACKTRACE
auto_test_LDADD += ${top_builddir}/mrw/libmrwexcstderr.la
endif
smartpointer_test_SOURCES = smartpointer_test.cpp version.cpp
smartpointer_test_CPPFLAGS = -I${top_srcdir} @CPPUNIT_CFLAGS@ -g3 -O0
smartpointer_test_CXXFLAGS = -g3 -O0
20 years ago
smartpointer_test_LDFLAGS = @CPPUNIT_LIBS@
smartpointer_test_LDADD = ${top_builddir}/mrw/libmrw.la
if HAVE_STACKTRACE
smartpointer_test_LDADD += ${top_builddir}/mrw/libmrwexcstderr.la
endif
exec_test_SOURCES = exec_test.cpp version.cpp
exec_test_CPPFLAGS = -I${top_srcdir} @CPPUNIT_CFLAGS@ -g3 -O0
exec_test_CXXFLAGS = -g3 -O0
20 years ago
exec_test_LDFLAGS = @CPPUNIT_LIBS@
exec_test_LDADD = ${top_builddir}/mrw/libmrw.la
if HAVE_STACKTRACE
exec_test_LDADD += ${top_builddir}/mrw/libmrwexcstderr.la
endif
stdext_test_SOURCES = stdext_test.cpp version.cpp
stdext_test_CPPFLAGS = -I${top_srcdir} @CPPUNIT_CFLAGS@ -g3 -O0
stdext_test_CXXFLAGS = -g3 -O0
20 years ago
stdext_test_LDFLAGS = @CPPUNIT_LIBS@
stdext_test_LDADD = ${top_builddir}/mrw/libmrw.la
if HAVE_STACKTRACE
stdext_test_LDADD += ${top_builddir}/mrw/libmrwexcstderr.la
endif
20 years ago
regexp_test_SOURCES = regexp_test.cpp version.cpp
regexp_test_CPPFLAGS = -I${top_srcdir} @CPPUNIT_CFLAGS@ -g3 -O0
regexp_test_CXXFLAGS = -g3 -O0
20 years ago
regexp_test_LDFLAGS = @CPPUNIT_LIBS@
regexp_test_LDADD = ${top_builddir}/mrw/libmrw.la
20 years ago
if HAVE_STACKTRACE
regexp_test_LDADD += ${top_builddir}/mrw/libmrwexcstderr.la
20 years ago
endif
20 years ago
tokenizer_test_SOURCES = tokenizer_test.cpp version.cpp
tokenizer_test_CPPFLAGS = -I${top_srcdir} @CPPUNIT_CFLAGS@ -g3 -O0
tokenizer_test_CXXFLAGS = -g3 -O0
20 years ago
tokenizer_test_LDFLAGS = @CPPUNIT_LIBS@
tokenizer_test_LDADD = ${top_builddir}/mrw/libmrw.la
20 years ago
if HAVE_STACKTRACE
tokenizer_test_LDADD += ${top_builddir}/mrw/libmrwexcstderr.la
20 years ago
endif
configfile_test_SOURCES = configfile_test.cpp version.cpp
configfile_test_CPPFLAGS = -I${top_srcdir} @CPPUNIT_CFLAGS@ -g3 -O0
configfile_test_CXXFLAGS = -g3 -O0
20 years ago
configfile_test_LDFLAGS = @CPPUNIT_LIBS@
configfile_test_LDADD = ${top_builddir}/mrw/libmrw.la
if HAVE_STACKTRACE
configfile_test_LDADD += ${top_builddir}/mrw/libmrwexcstderr.la
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${top_srcdir} @CPPUNIT_CFLAGS@ -g3 -O0
dynamiclibrary_test_CXXFLAGS = -g3 -O0
dynamiclibrary_test_LDFLAGS = @CPPUNIT_LIBS@
dynamiclibrary_test_LDADD = ${top_builddir}/mrw/libmrw.la -lltdl
endif
if HAVE_LOG4CXX
functiontrace_test_SOURCES = functiontrace_test.cpp version.cpp
functiontrace_test_CPPFLAGS = -I${top_srcdir} @CPPUNIT_CFLAGS@ -g3 -O0
functiontrace_test_CXXFLAGS = -g3 -O0
functiontrace_test_LDFLAGS = @CPPUNIT_LIBS@
functiontrace_test_LDADD = ${top_builddir}/mrw/libmrw.la -llog4cxx
if HAVE_STACKTRACE
functiontrace_test_LDADD += ${top_builddir}/mrw/libmrwexcstderr.la
endif
endif
if HAVE_STACKTRACE
stacktrace_test_SOURCES = stacktrace_test.cpp version.cpp
stacktrace_test_CPPFLAGS = -I${top_srcdir} @CPPUNIT_CFLAGS@ -g3 -O0
stacktrace_test_CXXFLAGS = -g3 -O0
20 years ago
stacktrace_test_LDFLAGS = @CPPUNIT_LIBS@
stacktrace_test_LDADD = ${top_builddir}/mrw/libmrw.la ${top_builddir}/mrw/libmrwexcstderr.la
mrwexcstderr_test_SOURCES = mrwexcstderr_test.cpp version.cpp
mrwexcstderr_test_CPPFLAGS = -I${top_srcdir} @CPPUNIT_CFLAGS@ -g3 -O0
mrwexcstderr_test_CXXFLAGS = -g3 -O0
20 years ago
mrwexcstderr_test_LDFLAGS = @CPPUNIT_LIBS@
mrwexcstderr_test_LDADD = ${top_builddir}/mrw/libmrwexcstderr.la
if HAVE_LOG4CXX
mrwexclog4cxx_test_SOURCES = mrwexclog4cxx_test.cpp version.cpp
mrwexclog4cxx_test_CPPFLAGS = -I${top_srcdir} @CPPUNIT_CFLAGS@ -g3 -O0
mrwexclog4cxx_test_CXXFLAGS = -g3 -O0
20 years ago
mrwexclog4cxx_test_LDFLAGS = @CPPUNIT_LIBS@
mrwexclog4cxx_test_LDADD = ${top_builddir}/mrw/libmrwexclog4cxx.la -llog4cxx
if AUTOFNTRACE
mrwautofunctiontracelog4cxx_test_SOURCES = \
mrwautofunctiontracelog4cxx_test.cpp version.cpp
mrwautofunctiontracelog4cxx_test_CPPFLAGS = \
-I${top_srcdir} @CPPUNIT_CFLAGS@ -finstrument-functions -g3 -O0
mrwautofunctiontracelog4cxx_test_CXXFLAGS = -g3 -O0 -finstrument-functions
mrwautofunctiontracelog4cxx_test_LDFLAGS = \
@CPPUNIT_LIBS@ -finstrument-functions
mrwautofunctiontracelog4cxx_test_LDADD = \
-llog4cxx ${top_builddir}/mrw/libmrwautofunctiontracelog4cxx.la
if HAVE_THREADS
if HAVE_BOOST_THREAD
mrwautofunctiontracelog4cxx_test_mt_SOURCES = \
mrwautofunctiontracelog4cxx_test.cpp version.cpp
mrwautofunctiontracelog4cxx_test_mt_CPPFLAGS = \
-I${top_srcdir} @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 ${top_builddir}/mrw/libmrwautofunctiontracelog4cxx-mt.la @BOOST_THREAD_LIB@
endif
endif
endif
endif
endif
dist_check_DATA = test.dat configfile.ini configfile.ini.result
EXTRA_DIST = head.html foot.html style.css
TESTS = ${check_PROGRAMS} ${dist_check_SCRIPTS}
20 years ago
.PHONY: doc clean-local distclean-local
deps = ${top_srcdir}/COPYING ${top_srcdir}/README ${top_srcdir}/INSTALL ${top_srcdir}/NEWS ${top_srcdir}/ChangeLog
doc: ${top_builddir}/doc/html/index.html ${top_builddir}/doc/latex/@PACKAGENAME@-@MAJOR@.@MINOR@.@LEAST@.pdf
${html_DATA}: doxyfile *.[ch]pp ${deps} style.css head.html foot.html
test -d ${top_builddir}/doc/latex || mkdir -p ${top_builddir}/doc/latex
test -d ${top_builddir}/doc/html || mkdir -p ${top_builddir}/doc/html
@test -f ${top_builddir}/doc/html/hintergrund.png || \
cp ~/www/marc/linux/hintergrund.png \
${top_builddir}/doc/html || \
\( echo "**** sorry, you are missing the html background image" && \
echo " (after distclean doc/html/hintergrund.png is deleted)" \
\)
doxygen doxyfile
if PEDANTIC
test \! -s doxygen.errors
endif
${top_builddir}/doc/latex/@PACKAGENAME@-@MAJOR@.@MINOR@.@LEAST@.pdf: doxyfile *.[ch]pp ${deps} ${html_DATA}
cd ${top_builddir}/doc/latex && make && \
mv refman.pdf @PACKAGENAME@-@MAJOR@.@MINOR@.@LEAST@.pdf
clean-local:
- rm doxygen.err libmrw.doxytag
dist-hook:
test -d ${distdir}/doc/html || \
mkdir -p ${distdir}/doc/html
cp ${top_builddir}/doc/html/* ${distdir}/doc/html/.
distclean-local:
- rm -r ${top_builddir}/doc/html/* ${top_builddir}/doc/latex/*
- rm makefile makefile.in doxygen.err libmrw.doxytag
install-data-hook:
chmod -R u+w ${pkgdatadir}/doc
cp -rf ${top_builddir}/doc/html ${pkgdatadir}/doc/
uninstall-hook:
chmod -R u+w ${pkgdatadir}/doc
rm -rf ${pkgdatadir}/doc/html