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.
125 lines
4.0 KiB
125 lines
4.0 KiB
## @file |
|
## |
|
## $Id$ |
|
## |
|
## $Date$ |
|
## $Author$ |
|
## |
|
## @copy © Marc Wäckerlin |
|
## @license LGPL, see file <a href="license.html">COPYING</a> |
|
## |
|
## $Log$ |
|
## Revision 1.8 2004/08/31 16:24:55 marc |
|
## no "if [];" but "if test;"! |
|
## |
|
## Revision 1.7 2004/08/31 16:01:10 marc |
|
## no -lbfd for --disable-stacktrace |
|
## |
|
## Revision 1.6 2004/08/28 16:21:07 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 |
|
## |
|
|
|
# init |
|
AC_INIT([mrw/mrw.hpp.in]) |
|
PACKAGENAME=mrw-c++ |
|
MAJOR=0 |
|
MINOR=93 |
|
SUPPORT= |
|
AM_INIT_AUTOMAKE(@PACKAGENAME@, @MAJOR@.@MINOR@, [marc@waeckerlin.org]) |
|
|
|
# macros |
|
README=README |
|
AC_SUBST_FILE(README) |
|
CHANGE_LOG=ChangeLog |
|
AC_SUBST_FILE(CHANGE_LOG) |
|
|
|
# languages |
|
AC_LANG(C++) |
|
|
|
# programs |
|
AC_PROG_CXX |
|
AC_PROG_CPP |
|
AC_PROG_INSTALL |
|
AC_PROG_LN_S |
|
AC_PROG_MAKE_SET |
|
AC_PROG_LIBTOOL |
|
AC_CHECK_PROG(have_doxygen, doxygen, yes, no) |
|
AC_CHECK_PROG(have_dot, dot, yes, no) |
|
|
|
# solaris? |
|
AC_CHECK_HEADER(sys/old_procfs.h, [AM_CPPFLAGS=-D__solaris__]) |
|
|
|
# libraries |
|
AC_CHECK_HEADER(log4cxx/logger.h, [have_log4cxx=yes]) |
|
|
|
# Arguments |
|
AM_MAINTAINER_MODE |
|
AC_ARG_ENABLE(pedantic, |
|
[ --enable-pedantic enable all warnings and checks, abort on warnings], |
|
[test "$enableval" = "yes" && \ |
|
AM_CXXFLAGS="${AM_CXXFLAGS:-} -pedantic-errors -Wall -W -Wfloat-equal -Wundef -Wendif-labels -Wpointer-arith -Wcast-align -Wwrite-strings -Wconversion -Wsign-compare -Wmissing-format-attribute -Wno-multichar -Wpacked -Wredundant-decls -Werror -Wshadow -Wcast-qual -Wno-ctor-dtor-privacy"]) |
|
dnl problem in libs: -Wshadow -Wcast-qual |
|
dnl auto.hpp: -Wno-ctor-dtor-privacy (removed) |
|
AC_ARG_ENABLE(dot, |
|
[ --disable-dot disable dot graphic tools for documentation], |
|
[have_dot="$enableval"]) |
|
test "$enableval" = "yes" && HAVE_DOT="YES" || HAVE_DOT="NO"; |
|
AC_ARG_ENABLE(log4cxx, |
|
[ --disable-log4cxx disable use of log4cxx library in automated |
|
stack trace], |
|
[have_log4cxx="$enableval"]) |
|
AM_CONDITIONAL(HAVE_LOG4CXX, test "$have_log4cxx" = "yes") |
|
AC_ARG_ENABLE(stacktrace, |
|
[ --disable-stacktrace disable stack trace, use this if you cannot |
|
compile the library on your system otherwise and |
|
you still want to use the other parts], |
|
[have_stacktrace="$enableval"], [have_stacktrace="yes"]) |
|
AM_CONDITIONAL(HAVE_STACKTRACE, test "$have_stacktrace" = "yes") |
|
if test "$have_stacktrace" = "yes"; then |
|
AC_SEARCH_LIBS(cplus_demangle, iberty, [AC_MSG_RESULT([OK])], |
|
[AC_MSG_ERROR([Library iberty is required!])]) |
|
AC_SEARCH_LIBS(bfd_arch_list, bfd, [AC_MSG_RESULT([OK])], |
|
[ac_cv_search_bfd_arch_list=; |
|
]AC_SEARCH_LIBS(bfd_arch_list, bfd, [AC_MSG_RESULT([OK])], |
|
[AC_MSG_ERROR([BFD library libbfd is required])], [-lintl])) |
|
fi |
|
|
|
# export macros |
|
AC_SUBST(HAVE_DOT) |
|
AC_SUBST(MAJOR) |
|
AC_SUBST(MINOR) |
|
AC_SUBST(SUPPORT) |
|
AC_SUBST(PACKAGENAME) |
|
AC_SUBST(AM_CXXFLAGS) |
|
AC_SUBST(AM_CPPFLAGS) |
|
|
|
# create output |
|
AC_CONFIG_FILES([makefile mrw-c++.spec mrw-c++-devel.spec |
|
mrw/makefile mrw/doxyfile mrw/mrw.hpp mrw/version.cpp]) |
|
AC_OUTPUT |
|
|
|
# infos and warnings |
|
if test "$have_doxygen" = "no"; then |
|
AC_MSG_WARN([Missing program doxygen! |
|
- you cannot rebuild the documentation with make doc |
|
- there are precompiled derieved files in the distribution]); fi |
|
if test "$have_dot" = "no"; then |
|
AC_MSG_WARN([Missing program dot! |
|
- when you rebild documentation with make doc, there are no generated images |
|
- there are precompiled derieved files in the distribution]); fi |
|
if test "$have_log4cxx" != "yes"; then |
|
AC_MSG_WARN([Library log4cxx will not be used! |
|
- if you want it, download it from: |
|
http://logging.apache.org/log4cxx]); fi |
|
if test "$have_stacktrace" != "yes"; then |
|
AC_MSG_WARN([mrw::StackTrace is disabled!]); fi
|
|
|