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.
 
 
 
 
 

426 lines
15 KiB

## @file
##
## $Id$
##
## $Date$
## $Author$
##
## @copy © Marc Wäckerlin
## @license LGPL, see file <a href="license.html">COPYING</a>
##
AM_CPPFLAGS += -I$(top_srcdir)
if HAVE_STACKTRACE
AM_CPPFLAGS += -DHAVE_STACKTRACE
endif
EXTRA_DIST = head.html foot.html style.css hintergrund.png
CLEANFILES = doxygen.errors functiontrace_test.log \
mrwautofunctiontracelog4cxx_test.log \
mrwautofunctiontracelog4cxx_test-mt.log \
$(VALTESTS) valgrind.log
examplesdir = $(pkgdatadir)/examples
dist_examples_DATA = $(top_srcdir)/mrw/examples/*
htmldir = $(pkgdatadir)/doc/html
pdfdir = $(pkgdatadir)/doc/pdf
if HAVE_DOXYGEN
html_DATA = $(top_builddir)/doc/html/index.html
pdf_DATA = $(top_builddir)/doc/latex/@PACKAGE_NAME@-@PACKAGE_VERSION@.pdf
EXTRA_DIST += $(pdf_DATA)
endif
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 AUTOFNTRACE
lib_LTLIBRARIES += libmrwautofunctiontracestdlog.la
if HAVE_THREADS
if HAVE_BOOST_THREAD
lib_LTLIBRARIES += libmrwautofunctiontracestdlog-mt.la
endif
endif
endif
if HAVE_LOG4CXX
lib_LTLIBRARIES += libmrwexclog4cxx.la
if HAVE_BOOST_THREAD
lib_LTLIBRARIES += libmrwexclog4cxx-mt.la
endif
if AUTOFNTRACE
lib_LTLIBRARIES += libmrwautofunctiontracelog4cxx.la
if HAVE_THREADS
if HAVE_BOOST_THREAD
lib_LTLIBRARIES += libmrwautofunctiontracelog4cxx-mt.la
endif
endif
endif
endif
endif
if HAVE_LOG4CXX
lib_LTLIBRARIES += libmrwlog4cxxconfiguration.la
if HAVE_THREADS
lib_LTLIBRARIES += libmrwlog4cxxconfiguration-mt.la
endif
endif
libmrw_la_SOURCES = \
mrw.hxx version.cxx \
arg.cxx arg.hxx auto.hxx deque.hxx \
exception.cxx exception.hxx \
list.hxx \
map.hxx multimap.hxx multiset.hxx \
set.hxx \
smartpointer.hxx stdext.cxx stdext.hxx \
string.hxx unistd.hxx vector.hxx \
tokenizer.hxx \
errno.hxx errno.cxx
if HAVE_DIR
libmrw_la_SOURCES += file.hxx configfile.hxx configfile.cxx
endif
if HAVE_REGEXP
libmrw_la_SOURCES += regexp.hxx regexp.cxx
endif
if HAVE_EXEC
libmrw_la_SOURCES += exec.cxx exec.hxx
endif
if HAVE_LTDL
libmrw_la_SOURCES += dynamiclibrary.hxx
endif
if HAVE_LOG4CXX
libmrw_la_SOURCES += functiontrace.cxx functiontrace.hxx
endif
if HAVE_STACKTRACE
libmrw_la_SOURCES += \
stacktrace.hxx stacktrace.cxx
endif
libmrw_la_LDFLAGS = -version-info @LIB_PACKAGE_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) -version-info @LIB_PACKAGE_VERSION@ \
@THREADS@
libmrw_mt_la_LIBADD = $(libmrw_la_LIBADD) @BOOST_THREAD_LIB@
endif
endif
if HAVE_STACKTRACE
libmrwexcstderr_la_SOURCES = autostacktracestderr.cxx version.cxx
libmrwexcstderr_la_LDFLAGS = -version-info @LIB_PACKAGE_VERSION@
libmrwexcstderr_la_LIBADD = $(top_builddir)/mrw/libmrw.la
if HAVE_THREADS
if HAVE_BOOST_THREAD
libmrwexcstderr_mt_la_SOURCES = autostacktracestderr.cxx version.cxx
libmrwexcstderr_mt_la_CXXFLAGS = @THREADS@
libmrwexcstderr_mt_la_LDFLAGS = -version-info @LIB_PACKAGE_VERSION@ @THREADS@
libmrwexcstderr_mt_la_LIBADD = $(top_builddir)/mrw/libmrw-mt.la
endif
endif
if AUTOFNTRACE
libmrwautofunctiontracestdlog_la_SOURCES = autofunctiontracestdlog.cxx \
version.cxx
libmrwautofunctiontracestdlog_la_CXXFLAGS = -w
libmrwautofunctiontracestdlog_la_LDFLAGS = -version-info @LIB_PACKAGE_VERSION@
libmrwautofunctiontracestdlog_la_LIBADD = $(top_builddir)/mrw/libmrw.la
if HAVE_THREADS
if HAVE_BOOST_THREAD
libmrwautofunctiontracestdlog_mt_la_SOURCES = \
autofunctiontracelog4cxx.cxx version.cxx
libmrwautofunctiontracestdlog_mt_la_CXXFLAGS = @THREADS@ -w
libmrwautofunctiontracestdlog_mt_la_LDFLAGS = \
-version-info @LIB_PACKAGE_VERSION@ @THREADS@
libmrwautofunctiontracestdlog_mt_la_LIBADD = \
$(top_builddir)/mrw/libmrw-mt.la
endif
endif
endif
if HAVE_LOG4CXX
libmrwexclog4cxx_la_SOURCES = autostacktracelog4cxx.cxx version.cxx
libmrwexclog4cxx_la_LDFLAGS = -version-info @LIB_PACKAGE_VERSION@
libmrwexclog4cxx_la_LIBADD = $(top_builddir)/mrw/libmrw.la -llog4cxx
if HAVE_THREADS
if HAVE_BOOST_THREAD
libmrwexclog4cxx_mt_la_SOURCES = autostacktracelog4cxx.cxx version.cxx
libmrwexclog4cxx_mt_la_CXXFLAGS = @THREADS@
libmrwexclog4cxx_mt_la_LDFLAGS = -version-info @LIB_PACKAGE_VERSION@ @THREADS@
libmrwexclog4cxx_mt_la_LIBADD = $(top_builddir)/mrw/libmrw-mt.la -llog4cxx
endif
endif
if AUTOFNTRACE
libmrwautofunctiontracelog4cxx_la_SOURCES = autofunctiontracelog4cxx.cxx \
version.cxx
libmrwautofunctiontracelog4cxx_la_CXXFLAGS = -w
libmrwautofunctiontracelog4cxx_la_LDFLAGS = -version-info @LIB_PACKAGE_VERSION@
libmrwautofunctiontracelog4cxx_la_LIBADD = $(top_builddir)/mrw/libmrw.la -llog4cxx
if HAVE_THREADS
if HAVE_BOOST_THREAD
libmrwautofunctiontracelog4cxx_mt_la_SOURCES = \
autofunctiontracelog4cxx.cxx version.cxx
libmrwautofunctiontracelog4cxx_mt_la_CXXFLAGS = @THREADS@ -w
libmrwautofunctiontracelog4cxx_mt_la_LDFLAGS = \
-version-info @LIB_PACKAGE_VERSION@ @THREADS@
libmrwautofunctiontracelog4cxx_mt_la_LIBADD = \
$(top_builddir)/mrw/libmrw-mt.la -llog4cxx
endif
endif
endif
endif
endif
if HAVE_LOG4CXX
libmrwlog4cxxconfiguration_la_SOURCES = log4cxxconfiguration.cxx version.cxx
libmrwlog4cxxconfiguration_la_LDFLAGS = -version-info @LIB_PACKAGE_VERSION@
libmrwlog4cxxconfiguration_la_LIBADD = -llog4cxx
if HAVE_THREADS
libmrwlog4cxxconfiguration_mt_la_SOURCES = log4cxxconfiguration.cxx \
version.cxx
libmrwlog4cxxconfiguration_mt_la_CXXFLAGS = @THREADS@
libmrwlog4cxxconfiguration_mt_la_LDFLAGS = -version-info @LIB_PACKAGE_VERSION@ \
@THREADS@
libmrwlog4cxxconfiguration_mt_la_LIBADD = -llog4cxx
endif
endif
VALGRIND_CHECKS = auto_test smartpointer_test stdext_test \
tokenizer_test string_test
NO_VALGRIND_CHECKS =
if HAVE_DIR
VALGRIND_CHECKS += configfile_test
dist_check_SCRIPTS = configfile_check.sh
endif
if HAVE_REGEXP
VALGRIND_CHECKS += regexp_test
endif
if HAVE_EXEC
VALGRIND_CHECKS += exec_test
endif
if HAVE_LTDL
VALGRIND_CHECKS += dynamiclibrary_test
endif
if HAVE_LOG4CXX
VALGRIND_CHECKS += functiontrace_test
endif
if HAVE_STACKTRACE
NO_VALGRIND_CHECKS += stacktrace_test
VALGRIND_CHECKS += mrwexcstderr_test
if HAVE_LOG4CXX
VALGRIND_CHECKS += mrwexclog4cxx_test
if AUTOFNTRACE
NO_VALGRIND_CHECKS += mrwautofunctiontracelog4cxx_test
if HAVE_THREADS
if HAVE_BOOST_THREAD
NO_VALGRIND_CHECKS += mrwautofunctiontracelog4cxx_test-mt
endif
endif
endif
endif
endif
auto_test_SOURCES = auto_test.cxx version.cxx
auto_test_CPPFLAGS = -I$(top_srcdir) @CPPUNIT_CFLAGS@ -g3 -O0
auto_test_CXXFLAGS = -g3 -O0
auto_test_LDFLAGS = @CPPUNIT_LIBS@ -L.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.cxx version.cxx
smartpointer_test_CPPFLAGS = -I$(top_srcdir) @CPPUNIT_CFLAGS@ -g3 -O0
smartpointer_test_CXXFLAGS = -g3 -O0
smartpointer_test_LDFLAGS = @CPPUNIT_LIBS@ -L.libs
smartpointer_test_LDADD = $(top_builddir)/mrw/libmrw.la
if HAVE_STACKTRACE
smartpointer_test_LDADD += $(top_builddir)/mrw/libmrwexcstderr.la
endif
if HAVE_EXEC
exec_test_SOURCES = exec_test.cxx version.cxx
exec_test_CPPFLAGS = -I$(top_srcdir) @CPPUNIT_CFLAGS@ -g3 -O0
exec_test_CXXFLAGS = -g3 -O0
exec_test_LDFLAGS = @CPPUNIT_LIBS@ -L.libs
exec_test_LDADD = $(top_builddir)/mrw/libmrw.la
if HAVE_STACKTRACE
exec_test_LDADD += $(top_builddir)/mrw/libmrwexcstderr.la
endif
endif
stdext_test_SOURCES = stdext_test.cxx version.cxx
stdext_test_CPPFLAGS = -I$(top_srcdir) @CPPUNIT_CFLAGS@ -g3 -O0
stdext_test_CXXFLAGS = -g3 -O0
stdext_test_LDFLAGS = @CPPUNIT_LIBS@ -L.libs
stdext_test_LDADD = $(top_builddir)/mrw/libmrw.la
if HAVE_STACKTRACE
stdext_test_LDADD += $(top_builddir)/mrw/libmrwexcstderr.la
endif
string_test_SOURCES = string_test.cxx version.cxx
string_test_CPPFLAGS = -I$(top_srcdir) @CPPUNIT_CFLAGS@ -g3 -O0
string_test_CXXFLAGS = -g3 -O0
string_test_LDFLAGS = @CPPUNIT_LIBS@ -L.libs
string_test_LDADD = $(top_builddir)/mrw/libmrw.la
if HAVE_STACKTRACE
string_test_LDADD += $(top_builddir)/mrw/libmrwexcstderr.la
endif
if HAVE_REGEXP
regexp_test_SOURCES = regexp_test.cxx version.cxx
regexp_test_CPPFLAGS = -I$(top_srcdir) @CPPUNIT_CFLAGS@ -g3 -O0
regexp_test_CXXFLAGS = -g3 -O0
regexp_test_LDFLAGS = @CPPUNIT_LIBS@ -L.libs
regexp_test_LDADD = $(top_builddir)/mrw/libmrw.la
if HAVE_STACKTRACE
regexp_test_LDADD += $(top_builddir)/mrw/libmrwexcstderr.la
endif
endif
tokenizer_test_SOURCES = tokenizer_test.cxx version.cxx
tokenizer_test_CPPFLAGS = -I$(top_srcdir) @CPPUNIT_CFLAGS@ -g3 -O0
tokenizer_test_CXXFLAGS = -g3 -O0
tokenizer_test_LDFLAGS = @CPPUNIT_LIBS@ -L.libs
tokenizer_test_LDADD = $(top_builddir)/mrw/libmrw.la
if HAVE_STACKTRACE
tokenizer_test_LDADD += $(top_builddir)/mrw/libmrwexcstderr.la
endif
if HAVE_DIR
configfile_test_SOURCES = configfile_test.cxx version.cxx
configfile_test_CPPFLAGS = -I$(top_srcdir) @CPPUNIT_CFLAGS@ -g3 -O0
configfile_test_CXXFLAGS = -g3 -O0
configfile_test_LDFLAGS = @CPPUNIT_LIBS@ -L.libs
configfile_test_LDADD = $(top_builddir)/mrw/libmrw.la
if HAVE_STACKTRACE
configfile_test_LDADD += $(top_builddir)/mrw/libmrwexcstderr.la
endif
endif
if HAVE_LTDL
check_LTLIBRARIES = libdynamiclibrary_testlib.la
libdynamiclibrary_testlib_la_SOURCES = dynamiclibrary_testlib.cxx
libdynamiclibrary_testlib_la_LDFLAGS = -module -rpath /bullshit
dynamiclibrary_test_SOURCES = dynamiclibrary_test.cxx version.cxx
dynamiclibrary_test_CPPFLAGS = -I$(top_srcdir) @CPPUNIT_CFLAGS@ -g3 -O0
dynamiclibrary_test_CXXFLAGS = -g3 -O0
dynamiclibrary_test_LDFLAGS = @CPPUNIT_LIBS@ -L.libs
dynamiclibrary_test_LDADD = $(top_builddir)/mrw/libmrw.la -lltdl
endif
if HAVE_LOG4CXX
functiontrace_test_SOURCES = functiontrace_test.cxx version.cxx
functiontrace_test_CPPFLAGS = -I$(top_srcdir) @CPPUNIT_CFLAGS@ -g3 -O0
functiontrace_test_CXXFLAGS = -g3 -O0
functiontrace_test_LDFLAGS = @CPPUNIT_LIBS@ -L.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.cxx version.cxx
stacktrace_test_CPPFLAGS = -I$(top_srcdir) @CPPUNIT_CFLAGS@ -g3 -O0
stacktrace_test_CXXFLAGS = -g3 -O0
stacktrace_test_LDFLAGS = @CPPUNIT_LIBS@ -L.libs
stacktrace_test_LDADD = $(top_builddir)/mrw/libmrw.la $(top_builddir)/mrw/libmrwexcstderr.la
mrwexcstderr_test_SOURCES = mrwexcstderr_test.cxx version.cxx
mrwexcstderr_test_CPPFLAGS = -I$(top_srcdir) @CPPUNIT_CFLAGS@ -g3 -O0
mrwexcstderr_test_CXXFLAGS = -g3 -O0
mrwexcstderr_test_LDFLAGS = @CPPUNIT_LIBS@ -L.libs
mrwexcstderr_test_LDADD = $(top_builddir)/mrw/libmrwexcstderr.la
if HAVE_LOG4CXX
mrwexclog4cxx_test_SOURCES = mrwexclog4cxx_test.cxx version.cxx
mrwexclog4cxx_test_CPPFLAGS = -I$(top_srcdir) @CPPUNIT_CFLAGS@ -g3 -O0
mrwexclog4cxx_test_CXXFLAGS = -g3 -O0
mrwexclog4cxx_test_LDFLAGS = @CPPUNIT_LIBS@ -L.libs
mrwexclog4cxx_test_LDADD = $(top_builddir)/mrw/libmrwexclog4cxx.la -llog4cxx
if AUTOFNTRACE
mrwautofunctiontracelog4cxx_test_SOURCES = \
mrwautofunctiontracelog4cxx_test.cxx version.cxx
mrwautofunctiontracelog4cxx_test_CPPFLAGS = \
-I$(top_srcdir) @CPPUNIT_CFLAGS@ -finstrument-functions -g3 -O0
mrwautofunctiontracelog4cxx_test_CXXFLAGS = -g3 -O0 -finstrument-functions
mrwautofunctiontracelog4cxx_test_LDFLAGS = \
@CPPUNIT_LIBS@ -L.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.cxx version.cxx
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@ -L.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
if HAVE_VALGRIND
VALTESTS=$(VALGRIND_CHECKS:%=valcheck_%)
TESTS = $(VALTESTS) $(NO_VALGRIND_CHECKS) $(dist_check_SCRIPTS)
valcheck_%: %
echo "LD_LIBRARY_PATH=.libs $(top_srcdir)/valcheck.sh .libs/$<" > $@
chmod ugo+x $@
else
TESTS = $(check_PROGRAMS) $(dist_check_SCRIPTS)
endif
check_PROGRAMS = $(VALGRIND_CHECKS) $(NO_VALGRIND_CHECKS)
.PHONY: doc clean-local distclean-local dist-hook install-data-hook \
uninstall-hook
deps = $(top_srcdir)/COPYING $(top_srcdir)/README $(top_srcdir)/INSTALL $(top_srcdir)/NEWS $(top_srcdir)/ChangeLog
doc: $(html_DATA) $(pdf_DATA)
$(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 $(srcdir)/hintergrund.png \
$(top_builddir)/doc/html && \
chmod u+w $(top_builddir)/doc/html/hintergrund.png
doxygen doxyfile || \
( echo "**** ERROR in Doxygen ****" && cat doxygen.errors && false )
if PEDANTIC
test \! -s doxygen.errors
endif
$(pdf_DATA): doxyfile *.[ch]pp $(deps) $(html_DATA)
cd $(top_builddir)/doc/latex && make && \
mv refman.pdf $(pdf_DATA) || \
( echo "**** ERROR in Doxygen-PDF ****" && false )
clean-local:
- rm doxygen.err libmrw.doxytag
distclean-local:
- rm -r $(top_builddir)/doc/html/* $(top_builddir)/doc/latex/*
- rm makefile makefile.in doxygen.err libmrw.doxytag
if HAVE_DOXYGEN
dist-hook:
test -d $(distdir)/doc/html || \
mkdir -p $(distdir)/doc/html
cp $(top_builddir)/doc/html/* $(distdir)/doc/html/.
install-data-hook:
env | grep -i tmp
test -d "$(DESTDIR)$(pkgdatadir)/doc" || \
mkdir -p "$(DESTDIR)$(pkgdatadir)/doc"
chmod -R u+w "$(DESTDIR)$(pkgdatadir)/doc"
cp -rf $(top_builddir)/doc/html "$(DESTDIR)$(pkgdatadir)/doc/"
uninstall-hook:
chmod -R u+w "$(DESTDIR)$(pkgdatadir)/doc"
rm -rf "$(DESTDIR)$(pkgdatadir)/doc/html"
endif