C++ class for reading and writing XML structures. No need for a C++ code parser or special pre compiler. Specify a schema entirly in native C++. The schema is verified when XML is read and exceptions are thrown when the XML to be parse is invalid.
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.
164 lines
4.9 KiB
164 lines
4.9 KiB
13 years ago
|
# $Id$
|
||
10 years ago
|
|
||
|
m4_define(x_package_name, libxml-cxx)
|
||
|
m4_define(x_major, 1)
|
||
|
m4_define(x_minor, 1)
|
||
|
|
||
|
m4_include(ax_cxx_compile_stdcxx_11.m4)
|
||
13 years ago
|
AC_ALIAS([AC_DEFINE_DIR], [AX_DEFINE_DIR])
|
||
|
AC_DEFUN([AX_DEFINE_DIR], [
|
||
|
prefix_NONE=
|
||
|
exec_prefix_NONE=
|
||
|
test "x$prefix" = xNONE && prefix_NONE=yes && prefix=$ac_default_prefix
|
||
|
test "x$exec_prefix" = xNONE && exec_prefix_NONE=yes && exec_prefix=$prefix
|
||
|
dnl In Autoconf 2.60, ${datadir} refers to ${datarootdir}, which in turn
|
||
|
dnl refers to ${prefix}. Thus we have to use `eval' twice.
|
||
|
eval ax_define_dir="\"[$]$2\""
|
||
|
eval ax_define_dir="\"$ax_define_dir\""
|
||
|
AC_SUBST($1, "$ax_define_dir")
|
||
|
AC_DEFINE_UNQUOTED($1, "$ax_define_dir", [$3])
|
||
|
test "$prefix_NONE" && prefix=NONE
|
||
|
test "$exec_prefix_NONE" && exec_prefix=NONE
|
||
|
])
|
||
|
|
||
10 years ago
|
m4_define(x_least, m4_esyscmd_s(
|
||
|
LEAST="ERROR-UNDEFINED-REVISION-to-be-built-in-subdirectory-of-svn-checkout"
|
||
|
for path in . .. ../..; do
|
||
|
if svn info $path 2>&1 > /dev/null; then
|
||
|
LEAST=$(LANG= svn info $path | sed -n 's/Last Changed Rev: //p')
|
||
|
(cd $path && svn2cl)
|
||
|
break;
|
||
|
fi
|
||
|
done
|
||
|
echo -n $LEAST
|
||
|
))
|
||
|
m4_define(x_bugreport, m4_esyscmd_s(
|
||
|
head -1 AUTHORS | \
|
||
|
sed -n 's,.*<\([-_.a-z0-9A-Z]*@[-_.a-z0-9A-Z]*\)>.*,\1,gp'
|
||
|
))
|
||
|
AC_INIT(x_package_name, x_major.x_minor.x_least, x_bugreport, x_package_name)
|
||
|
|
||
|
AM_INIT_AUTOMAKE([1.9 tar-pax])
|
||
|
|
||
16 years ago
|
SRC_DIR=src
|
||
|
TST_DIR=test
|
||
|
DOC_DIR=doc
|
||
|
|
||
|
# files to create
|
||
10 years ago
|
AC_CONFIG_FILES([makefile ${PACKAGE_NAME}.spec src/version.cxx
|
||
|
src/makefile test/makefile doc/examples/makefile
|
||
13 years ago
|
doc/doxyfile doc/makefile
|
||
10 years ago
|
src/${PACKAGE_NAME}.pc debian/changelog debian/control])
|
||
15 years ago
|
|
||
16 years ago
|
# libtool versioning
|
||
|
LIB_MAJOR=m4_eval(x_major+x_minor)
|
||
10 years ago
|
LIB_MINOR=x_least
|
||
16 years ago
|
LIB_LEAST=x_minor
|
||
|
LIB_VERSION="${LIB_MAJOR}:${LIB_MINOR}:${LIB_LEAST}"
|
||
|
AC_SUBST(LIB_VERSION)
|
||
|
|
||
|
# home
|
||
|
AC_SUBST(HOME)
|
||
|
|
||
13 years ago
|
# datadir for languages
|
||
|
AX_DEFINE_DIR([DATADIR], [datadir])
|
||
|
#AC_SUBST(DATADIR)
|
||
|
|
||
10 years ago
|
AM_CPPFLAGS="-DPACKAGEPACKAGE_VERSION='\"${PACKAGE_VERSION}\"' -DPACKAGE_NAME='\"${PACKAGE_NAME}\"'"
|
||
13 years ago
|
|
||
16 years ago
|
# Get rid of that stupid -O2 -g opions!
|
||
|
CXXFLAGS="${CXXFLAGS:-}"
|
||
|
|
||
|
# languages
|
||
|
AC_LANG(C++)
|
||
10 years ago
|
AX_CXX_COMPILE_STDCXX_11(noext, optional)
|
||
16 years ago
|
|
||
|
# 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)
|
||
13 years ago
|
PKG_PROG_PKG_CONFIG
|
||
16 years ago
|
|
||
|
AC_ARG_ENABLE(pedantic,
|
||
|
[AS_HELP_STRING([--enable-pedantic],
|
||
|
[enable all warnings and checks, abort on warnings])],
|
||
|
[have_pedantic="$enableval"; 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)
|
||
|
AM_CONDITIONAL(PEDANTIC, test "$enableval" = "yes")
|
||
|
AC_ARG_ENABLE(dot,
|
||
|
[AS_HELP_STRING([--disable-dot],
|
||
|
[disable dot graphic tools for documentation])],
|
||
|
[have_dot="$enableval"])
|
||
|
test "$enableval" = "yes" && HAVE_DOT="YES" || HAVE_DOT="NO";
|
||
|
AM_PATH_CPPUNIT([1.0.0], [have_cppunit="yes"], [have_cppunit="no"])
|
||
|
|
||
13 years ago
|
MINGW32=no
|
||
|
MAC=no
|
||
|
case $host_os in
|
||
|
*mingw32*) MINGW32=yes;;
|
||
|
*darwin* | *rhapsody* | *macosx*) MAC=yes;;
|
||
|
esac
|
||
|
AM_CONDITIONAL(MINGW32, test "$MINGW32" = "yes")
|
||
|
AM_CONDITIONAL(MAC, test "$MAC" = "yes")
|
||
|
|
||
10 years ago
|
# macros
|
||
|
README=$(tail -n +3 README)
|
||
|
README_DEB=$(tail -n +3 README | sed -e 's/^$/./g' -e 's/^/ /g')
|
||
|
DESCRIPTION=$(head -1 README)
|
||
|
AUTHOR=$(head -1 AUTHORS)
|
||
|
AC_SUBST(AUTHOR)
|
||
|
_AM_SUBST_NOTMAKE([AUTHOR])
|
||
|
AC_SUBST(DESCRIPTION)
|
||
|
_AM_SUBST_NOTMAKE([DESCRIPTION])
|
||
|
AC_SUBST(README)
|
||
|
_AM_SUBST_NOTMAKE([README])
|
||
|
AC_SUBST(README_DEB)
|
||
|
_AM_SUBST_NOTMAKE([README_DEB])
|
||
|
DISTRO=$(lsb_release -sc)
|
||
|
AC_SUBST(DISTRO)
|
||
|
BUILD_NUMBER=${BUILD_NUMBER:-1}
|
||
|
AC_SUBST(BUILD_NUMBER)
|
||
|
BUILD_DATE=$(date -R)
|
||
|
AC_SUBST(BUILD_DATE)
|
||
|
|
||
16 years ago
|
# export macros
|
||
|
SRCDIR=${srcdir}
|
||
|
AC_SUBST(SRCDIR)
|
||
|
AC_SUBST(SRC_DIR)
|
||
|
AC_SUBST(TST_DIR)
|
||
|
AC_SUBST(DOC_DIR)
|
||
|
AC_SUBST(HAVE_DOT)
|
||
|
AC_SUBST(THREADS)
|
||
|
AC_SUBST(AM_CXXFLAGS)
|
||
|
AC_SUBST(AM_CPPFLAGS)
|
||
|
AC_SUBST(LIBS)
|
||
|
|
||
|
# create output
|
||
|
AC_OUTPUT
|
||
10 years ago
|
|
||
16 years ago
|
# 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 derived 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 derived files in the distribution]); fi
|
||
|
if test "$have_cppunit" = "no"; then
|
||
|
AC_MSG_WARN([Missing cppunit development library!
|
||
|
- you cannot check the library using "make check"
|
||
|
- everything else works perfectly]); fi
|
||
|
if test "$have_pedantic" == "yes"; then
|
||
|
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
|