diff --git a/AUTHORS b/AUTHORS
index a1cfceb..5c421b1 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -1,21 +1 @@
-
-
- Marc
- Roman
- Wäckerlin
-
-
- SwissSign AG
- Pfingstweidstrasse 60b
- 8005 Zürich
-
- Schweiz
- marc@waeckerlin.org
- marc.waeckerlin@swisssign.com
- http://dev.swisssign.com/trac/libxml-cxx
- http://marc.wäckerlin.ch
- http://marc.waeckerlin.org
- http://dev.swisssign.com
- http://swissign.com
- http://swissign.ch
-
+Marc Wäckerlin (http://marc.waeckerlin.org)
\ No newline at end of file
diff --git a/ChangeLog b/ChangeLog
index e69de29..12128d7 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -0,0 +1,295 @@
+2013-01-25 14:37 marc
+
+ * libxml-cxx.spec.in: fix fedora-18 bug; closes #13
+
+2012-09-18 12:37 marc
+
+ * libxml-cxx.spec.in: other dependency for fedora; refs #12
+
+2012-07-06 11:54 marc
+
+ * src/xml-cxx/xml.hxx: bugfix; refs #11
+
+2011-12-18 11:08 marc
+
+ * libxml-cxx.spec.in: use %_lib in rpm spec; refs #10
+
+2011-11-18 16:02 marc
+
+ * test/optional_serialization_test.cxx: add output for optional
+ serialization test; closes #9
+
+2011-11-10 10:27 marc
+
+ * configure.in, src/makefile.am: correct verion number; closes #5
+
+2011-11-09 15:09 marc
+
+ * configure.in, doc/makefile.am, libxml-cxx.spec.in, makefile.am:
+ some cleanups; closes #5
+
+2011-11-09 13:31 marc
+
+ * doc/makefile.am, libxml-cxx.spec.in, makefile.am: supports build
+ of RPM packages, tested on openSUSE; closes #5
+
+2010-08-03 14:00 marc
+
+ * src/version.cxx.in: forgotten file, closes #6
+
+2010-08-03 13:50 marc
+
+ * configure.in, src/makefile.am, src/xml-cxx/xml.hxx: closes #6
+
+2010-06-01 13:37 marc
+
+ * install-32-bit-lin-win.sh: 32bit-build added, refs #5
+
+2010-05-12 08:40 marc
+
+ * debian/changelog.in: SwissSign E-Mail, see #5
+
+2010-05-12 08:30 marc
+
+ * debian/control: SwissSign E-Mail, see #5
+
+2010-05-12 08:23 marc
+
+ * makefile.am: Back to chroot builds, see #5
+
+2010-04-26 06:37 marc
+
+ * configure.in, libxml-cxx.spec.in, makefile.am: started with spec
+ file, refs #5
+
+2010-04-16 11:48 marc
+
+ * makefile.am: build debian for all architectures, see #5
+
+2010-04-15 13:51 marc
+
+ * debian/control: second debian package target was missing, see #5
+
+2010-04-15 12:48 marc
+
+ * README, configure.in, debian, debian/changelog.in, debian/compat,
+ debian/control, debian/copyright, debian/dirs, debian/docs,
+ debian/libxml-cxx-dev.dirs, debian/libxml-cxx-dev.install,
+ debian/libxml-cxx.dirs, debian/libxml-cxx.doc-base.EX,
+ debian/libxml-cxx.install, debian/rules, debian/shlibs.local.ex,
+ debian/watch.ex, makefile.am, src/libxml-cxx.pc.in,
+ src/makefile.am: see #5 - done for debian
+
+2010-03-31 15:13 marc
+
+ * INSTALL, doc/makefile.am, src/xml-cxx/xml.hxx, src/xml.cxx: new
+ conversions
+
+2009-05-06 07:22 admin
+
+ * doc/examples/optional_serialization.cxx, src/xml-cxx/xml.hxx:
+ xml::Optional example added end extended
+
+2009-05-06 07:13 admin
+
+ * doc/examples/contain_serialization.cxx, doc/examples/makefile.am,
+ doc/examples/optional_serialization.cxx, src/xml-cxx/xml.hxx,
+ src/xml.cxx, test/makefile.am,
+ test/optional_serialization_test.cxx: closes #1
+
+2009-05-04 14:56 admin
+
+ * test/container_serialization_test.cxx,
+ test/serialization_test.cxx, test/xml_test.cxx: output cppunit to
+ xml for bitten
+
+2009-05-04 12:48
+
+ * COPYING: LGPL 3
+
+2009-05-04 12:47
+
+ * COPYING, README, doc/doxyfile.in, doc/examples/address.cxx,
+ doc/examples/contain_serialization.cxx,
+ doc/examples/inherit_serialization.cxx,
+ doc/examples/list_serialization.cxx,
+ doc/examples/node_macros.cxx, doc/examples/serialization.cxx,
+ src/makefile.am, src/xml-cxx/any.hxx, src/xml-cxx/xml.hxx,
+ src/xml.cxx, test/container_serialization_test.cxx,
+ test/makefile.am: start of xml::Optional
+
+2009-04-30 15:10
+
+ * doc/examples/list_serialization.cxx, src/xml-cxx/any.hxx,
+ src/xml-cxx/xml.hxx, src/xml.cxx: stmped
+
+2009-04-30 08:28
+
+ * doc/examples/list_serialization.cxx, src/xml-cxx/xml.hxx,
+ src/xml.cxx: first approach to list - requires work -> are the
+ items xml::Serialize?
+
+2009-04-29 11:58
+
+ * doc/examples/list_serialization.cxx, src/xml-cxx/xml.hxx,
+ src/xml.cxx: Metatemplateprogramming is really cool
+
+2009-04-28 07:36
+
+ * src/xml-cxx/xml.hxx, src/xml.cxx, test/serialization_test.cxx:
+ boost::any instead of macros - first pieces of meta template
+ programming
+
+2009-04-27 11:34
+
+ * src/xml-cxx/xml.hxx, src/xml.cxx: using boost::any for storing
+ member pointers to any type
+
+2009-04-27 10:59
+
+ * doc/examples/list_serialization.cxx: new file
+
+2009-04-27 10:48
+
+ * doc/examples/contain_serialization.cxx,
+ doc/examples/inherit_serialization.cxx, doc/examples/makefile.am,
+ src/xml-cxx/xml.hxx, src/xml.cxx, test/serialization_test.cxx:
+ serialization works for containment and inheritance
+
+2009-04-24 15:12
+
+ * doc/examples/contain_serialization.cxx, src/xml-cxx/xml.hxx,
+ src/xml.cxx: containment can be serialized
+
+2009-04-24 07:13
+
+ * doc/examples/contain_serialization.cxx,
+ doc/examples/inherit_serialization.cxx, doc/examples/makefile.am,
+ src/xml-cxx/xml.hxx, src/xml.cxx, test/serialization_test.cxx:
+ serialization nearly ready for containment
+
+2009-04-23 15:10
+
+ * doc/examples/inherit_serialization.cxx,
+ doc/examples/serialization.cxx, src/xml-cxx/xml.hxx, src/xml.cxx,
+ test/serialization_test.cxx: better serialization, but test does
+ not work actually
+
+2009-04-23 06:41
+
+ * doc/examples/address.cxx, doc/examples/node_macros.cxx,
+ doc/examples/serialization.cxx, src/xml-cxx/xml.hxx, src/xml.cxx:
+ node macros added (usefule but unfinished)
+
+2009-04-22 16:10
+
+ * src/xml-cxx/xml.hxx, src/xml.cxx, test/makefile.am,
+ test/xml_test.cxx: serialization; more docu
+
+2009-04-22 08:25
+
+ * AUTHORS, README, configure.in, doc/doxyfile.in, doc/examples,
+ doc/examples/address.cxx, doc/examples/makefile.am,
+ doc/makefile.am, src/makefile.am, src/xml-cxx/xml.hxx,
+ src/xml.cxx: more docu
+
+2009-04-21 07:12
+
+ * src/xml-cxx/xml.hxx, src/xml.cxx: more docu
+
+2009-04-20 06:42
+
+ * doc/doxyfile.in, src/xml-cxx/xml.hxx, src/xml.cxx: more docu;
+ other behaviour for parent
+
+2009-04-09 14:11
+
+ * src/xml.cxx: pretty print
+
+2009-04-09 13:32
+
+ * src/xml-cxx/xml.hxx, src/xml.cxx: pretty print for templates
+
+2009-04-09 10:53
+
+ * src/xml-cxx/xml.hxx, src/xml.cxx, test/xml_test.cxx: check node
+ number limits
+
+2009-04-09 07:01
+
+ * src/xml-cxx/xml.hxx, src/xml.cxx, test/xml_test.cxx: new tests,
+ cleanup, prepared for node-limits
+
+2009-04-08 15:01
+
+ * install-64-and-32-bit-linux.sh, src/xml-cxx/xml.hxx, src/xml.cxx:
+ extendions and corrections
+
+2009-04-08 06:44
+
+ * src/xml-cxx/xml.hxx, src/xml.cxx, test/xml_test.cxx: much more
+ tests; all exceptions in readin tested
+
+2009-04-07 14:58
+
+ * src/xml.cxx: fixed empty attribute reading bug
+
+2009-04-07 14:31
+
+ * configure.in, doc/makefile.am, install-64-and-32-bit-linux.sh,
+ src/xml-cxx/xml.hxx, src/xml.cxx: some bugfixes
+
+2009-04-07 06:59
+
+ * src/xml-cxx/xml.hxx, src/xml.cxx: documentation
+
+2009-04-06 14:57
+
+ * install-64-and-32-bit-linux.sh, src/xml-cxx/xml.hxx, src/xml.cxx:
+ get list of child nodes
+
+2009-04-06 07:08
+
+ * src/xml-cxx/xml.hxx, src/xml.cxx: some documentation and new
+ feartures for attributes
+
+2009-04-03 14:02
+
+ * src/xml-cxx/xml.hxx, src/xml.cxx: UnsingedInteger
+
+2009-04-03 07:07
+
+ * doc/doxyfile.in, doc/makefile.am, makefile.am,
+ src/xml-cxx/xml.hxx, src/xml.cxx: Accept but ignore special tags:
+
+# Copyright (c) 2012 Zack Weinberg
+# Copyright (c) 2013 Roy Stogner
+#
+# Copying and distribution of this file, with or without modification, are
+# permitted in any medium without royalty provided the copyright notice
+# and this notice are preserved. This file is offered as-is, without any
+# warranty.
+
+#serial 3
+
+m4_define([_AX_CXX_COMPILE_STDCXX_11_testbody], [
+ template
+ struct check
+ {
+ static_assert(sizeof(int) <= sizeof(T), "not big enough");
+ };
+
+ typedef check> right_angle_brackets;
+
+ int a;
+ decltype(a) b;
+
+ typedef check check_type;
+ check_type c;
+ check_type&& cr = static_cast(c);
+
+ auto d = a;
+])
+
+AC_DEFUN([AX_CXX_COMPILE_STDCXX_11], [dnl
+ m4_if([$1], [], [],
+ [$1], [ext], [],
+ [$1], [noext], [],
+ [m4_fatal([invalid argument `$1' to AX_CXX_COMPILE_STDCXX_11])])dnl
+ m4_if([$2], [], [ax_cxx_compile_cxx11_required=true],
+ [$2], [mandatory], [ax_cxx_compile_cxx11_required=true],
+ [$2], [optional], [ax_cxx_compile_cxx11_required=false],
+ [m4_fatal([invalid second argument `$2' to AX_CXX_COMPILE_STDCXX_11])])dnl
+ AC_LANG_PUSH([C++])dnl
+ ac_success=no
+ AC_CACHE_CHECK(whether $CXX supports C++11 features by default,
+ ax_cv_cxx_compile_cxx11,
+ [AC_COMPILE_IFELSE([AC_LANG_SOURCE([_AX_CXX_COMPILE_STDCXX_11_testbody])],
+ [ax_cv_cxx_compile_cxx11=yes],
+ [ax_cv_cxx_compile_cxx11=no])])
+ if test x$ax_cv_cxx_compile_cxx11 = xyes; then
+ ac_success=yes
+ fi
+
+ m4_if([$1], [noext], [], [dnl
+ if test x$ac_success = xno; then
+ for switch in -std=gnu++11 -std=gnu++0x; do
+ cachevar=AS_TR_SH([ax_cv_cxx_compile_cxx11_$switch])
+ AC_CACHE_CHECK(whether $CXX supports C++11 features with $switch,
+ $cachevar,
+ [ac_save_CXXFLAGS="$CXXFLAGS"
+ CXXFLAGS="$CXXFLAGS $switch"
+ AC_COMPILE_IFELSE([AC_LANG_SOURCE([_AX_CXX_COMPILE_STDCXX_11_testbody])],
+ [eval $cachevar=yes],
+ [eval $cachevar=no])
+ CXXFLAGS="$ac_save_CXXFLAGS"])
+ if eval test x\$$cachevar = xyes; then
+ CXXFLAGS="$CXXFLAGS $switch"
+ ac_success=yes
+ break
+ fi
+ done
+ fi])
+
+ m4_if([$1], [ext], [], [dnl
+ if test x$ac_success = xno; then
+ for switch in -std=c++11 -std=c++0x; do
+ cachevar=AS_TR_SH([ax_cv_cxx_compile_cxx11_$switch])
+ AC_CACHE_CHECK(whether $CXX supports C++11 features with $switch,
+ $cachevar,
+ [ac_save_CXXFLAGS="$CXXFLAGS"
+ CXXFLAGS="$CXXFLAGS $switch"
+ AC_COMPILE_IFELSE([AC_LANG_SOURCE([_AX_CXX_COMPILE_STDCXX_11_testbody])],
+ [eval $cachevar=yes],
+ [eval $cachevar=no])
+ CXXFLAGS="$ac_save_CXXFLAGS"])
+ if eval test x\$$cachevar = xyes; then
+ CXXFLAGS="$CXXFLAGS $switch"
+ ac_success=yes
+ break
+ fi
+ done
+ fi])
+ AC_LANG_POP([C++])
+ if test x$ax_cxx_compile_cxx11_required = xtrue; then
+ if test x$ac_success = xno; then
+ AC_MSG_ERROR([*** A compiler with support for C++11 language features is required.])
+ fi
+ else
+ if test x$ac_success = xno; then
+ HAVE_CXX11=0
+ AC_MSG_NOTICE([No compiler with C++11 support was found])
+ else
+ HAVE_CXX11=1
+ AC_DEFINE(HAVE_CXX11,1,
+ [define if the compiler supports basic C++11 syntax])
+ fi
+
+ AC_SUBST(HAVE_CXX11)
+ fi
+])
diff --git a/configure.in b/configure.ac
similarity index 70%
rename from configure.in
rename to configure.ac
index 3f08773..94ad317 100644
--- a/configure.in
+++ b/configure.ac
@@ -1,4 +1,10 @@
# $Id$
+
+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)
AC_ALIAS([AC_DEFINE_DIR], [AX_DEFINE_DIR])
AC_DEFUN([AX_DEFINE_DIR], [
prefix_NONE=
@@ -15,46 +21,38 @@ dnl refers to ${prefix}. Thus we have to use `eval' twice.
test "$exec_prefix_NONE" && exec_prefix=NONE
])
-AC_INIT([README])
+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])
+
SRC_DIR=src
TST_DIR=test
DOC_DIR=doc
-m4_define(x_packagename, libxml-cxx)
-m4_define(x_major, 1)
-m4_define(x_minor, 1)
-PACKAGENAME=x_packagename
-MAJOR=x_major
-MINOR=x_minor
-BUILDDATE=$(date "+%d.%m.%Y/%H.%M")
-
-if svn info . 2>&1 > /dev/null; then
- LEAST=$(LANG= svn info $path | sed -n 's/Revision: //p')
- break;
-else
- LEAST=[$(pwd | sed -n 's,^.*/'${PACKAGENAME}'-'${MAJOR}'\.'${MINOR}'\.\([0-9]*\).*$,\1,p')]
- if test -z "${LEAST}"; then
- LEAST="ERROR CANNOT DETERMINE REVISION NUMBER from $(pwd)"
- fi
-fi
-
-AM_INIT_AUTOMAKE($PACKAGENAME, $MAJOR.$MINOR.$LEAST, [marc@waeckerlin.org])
-
# files to create
-AC_CONFIG_FILES([makefile ${PACKAGENAME}.spec src/version.cxx
- src/makefile test/makefile doc/examples/makefile
+AC_CONFIG_FILES([makefile ${PACKAGE_NAME}.spec src/version.cxx
+ src/makefile test/makefile doc/examples/makefile
doc/doxyfile doc/makefile
- src/${PACKAGENAME}.pc debian/changelog])
-
-# copy M4 to shell
-AC_SUBST(MAJOR)
-AC_SUBST(MINOR)
-AC_SUBST(LEAST)
-AC_SUBST(BUILDDATE)
+ src/${PACKAGE_NAME}.pc debian/changelog debian/control])
# libtool versioning
LIB_MAJOR=m4_eval(x_major+x_minor)
-LIB_MINOR=${LEAST}
+LIB_MINOR=x_least
LIB_LEAST=x_minor
LIB_VERSION="${LIB_MAJOR}:${LIB_MINOR}:${LIB_LEAST}"
AC_SUBST(LIB_VERSION)
@@ -66,19 +64,14 @@ AC_SUBST(HOME)
AX_DEFINE_DIR([DATADIR], [datadir])
#AC_SUBST(DATADIR)
-# macros
-README=README
-AC_SUBST_FILE(README)
-CHANGE_LOG=ChangeLog
-AC_SUBST_FILE(CHANGE_LOG)
-
-AM_CPPFLAGS="-DPACKAGEVERSION='\"${VERSION}\"' -DPACKAGENAME='\"${PACKAGENAME}\"'"
+AM_CPPFLAGS="-DPACKAGEPACKAGE_VERSION='\"${PACKAGE_VERSION}\"' -DPACKAGE_NAME='\"${PACKAGE_NAME}\"'"
# Get rid of that stupid -O2 -g opions!
CXXFLAGS="${CXXFLAGS:-}"
# languages
AC_LANG(C++)
+AX_CXX_COMPILE_STDCXX_11(noext, optional)
# programs
AC_PROG_CXX
@@ -115,6 +108,26 @@ esac
AM_CONDITIONAL(MINGW32, test "$MINGW32" = "yes")
AM_CONDITIONAL(MAC, test "$MAC" = "yes")
+# 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)
+
# export macros
SRCDIR=${srcdir}
AC_SUBST(SRCDIR)
@@ -123,13 +136,13 @@ AC_SUBST(TST_DIR)
AC_SUBST(DOC_DIR)
AC_SUBST(HAVE_DOT)
AC_SUBST(THREADS)
-AC_SUBST(PACKAGENAME)
AC_SUBST(AM_CXXFLAGS)
AC_SUBST(AM_CPPFLAGS)
AC_SUBST(LIBS)
# create output
AC_OUTPUT
+
# infos and warnings
if test "$have_doxygen" = "no"; then
AC_MSG_WARN([Missing program doxygen!
diff --git a/debian/changelog.in b/debian/changelog.in
index 76063d8..8382038 100644
--- a/debian/changelog.in
+++ b/debian/changelog.in
@@ -1,5 +1,5 @@
-@PACKAGE@ (@VERSION@-1) unstable; urgency=low
+@PACKAGE@ (@PACKAGE_VERSION@~@DISTRO@.@BUILD_NUMBER@) @DISTRO@; urgency=low
* See https://dev.marc.waeckerlin.org/projects/@PACKAGE@ for changes
- -- Marc Waeckerlin (SwissSign AG) Wed, 07 Apr 2010 10:23:02 +0200
+ -- @AUTHOR@ @BUILD_DATE@
diff --git a/debian/control b/debian/control
deleted file mode 100644
index b19ab9f..0000000
--- a/debian/control
+++ /dev/null
@@ -1,73 +0,0 @@
-Source: libxml-cxx
-Priority: extra
-Maintainer: Marc Wäckerlin (SwissSign AG)
-Build-Depends: debhelper (>= 7), autotools-dev
-Standards-Version: 3.8.1
-Section: libs
-Homepage: https://dev.marc.waeckerlin.org/projects/libxml-cxx
-
-Package: libxml-cxx-dev
-Section: libdevel
-Architecture: any
-Depends: libxml-cxx (= ${binary:Version})
-Description: C++ XML Library
- This is a C++ class for reading and writing XML structures.
- .
- All informaton can be found in the generated doxygen project documentation.
- .
- Rationale: The initial idea was to map C++ data structures to XML
- files for configuration files that can easily be edited by hand.
- .
- This library does not need any kind of C++ code parser or special pre
- compiler. You can 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. Exceptions specify exactly the location and
- reason of the problem, so that the editor of the XML file can easily
- find and correct the problem.
- .
- C++ classes can inherit xml::Serialize and become serializable this
- way. All you need to do is to overwrite one single method, where you
- declare XML tag names for the class name and for all members.
- .
- (More rationale: See also "related Pages" in the doxygen project documentation)
- .
- Structure of the files:
- src: The source code of the library
- doc/html: Doxygen documentation oft the library usage
- doc/examples: Example code (included in doxygen documentation)
- test: CppUnit test files - can also be taken as examples
- .
- Project URL: https://dev.marc.waeckerlin.org/projects/libxml-cxx
-
-Package: libxml-cxx
-Section: libs
-Architecture: any
-Depends: ${shlibs:Depends}, ${misc:Depends}
-Description: C++ XML Library
- This is a C++ class for reading and writing XML structures.
- .
- All informaton can be found in the generated doxygen project documentation.
- .
- Rationale: The initial idea was to map C++ data structures to XML
- files for configuration files that can easily be edited by hand.
- .
- This library does not need any kind of C++ code parser or special pre
- compiler. You can 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. Exceptions specify exactly the location and
- reason of the problem, so that the editor of the XML file can easily
- find and correct the problem.
- .
- C++ classes can inherit xml::Serialize and become serializable this
- way. All you need to do is to overwrite one single method, where you
- declare XML tag names for the class name and for all members.
- .
- (More rationale: See also "related Pages" in the doxygen project documentation)
- .
- Structure of the files:
- src: The source code of the library
- doc/html: Doxygen documentation oft the library usage
- doc/examples: Example code (included in doxygen documentation)
- test: CppUnit test files - can also be taken as examples
- .
- Project URL: https://dev.marc.waeckerlin.org/projects/libxml-cxx
diff --git a/debian/control.in b/debian/control.in
new file mode 100644
index 0000000..f660df7
--- /dev/null
+++ b/debian/control.in
@@ -0,0 +1,21 @@
+Source: @PACKAGE_NAME@
+Priority: extra
+Maintainer: @AUTHOR@
+Build-Depends: debhelper (>= 7), pkg-config, autotools-dev, doxygen, graphviz, lsb-release
+Standards-Version: 3.8.1
+Section: libs
+Homepage: https://dev.marc.waeckerlin.org/projects/libxml-cxx
+
+Package: @PACKAGE_NAME@-dev
+Section: libdevel
+Architecture: any
+Depends: @PACKAGE_NAME@ (= ${binary:Version})
+Description: @DESCRIPTION@
+@README_DEB@
+
+Package: @PACKAGE_NAME@
+Section: libs
+Architecture: any
+Depends: ${shlibs:Depends}, ${misc:Depends}
+Description: @DESCRIPTION@
+@README_DEB@
diff --git a/debian/rules b/debian/rules
index 6f128b8..9045bec 100755
--- a/debian/rules
+++ b/debian/rules
@@ -1,4 +1,4 @@
-#!/usr/bin/make -f
+!/usr/bin/make -f
# -*- makefile -*-
# Sample debian/rules that uses debhelper.
# This file was originally written by Joey Hess and Craig Small.
@@ -9,97 +9,5 @@
# Uncomment this to turn on verbose mode.
#export DH_VERBOSE=1
-
-# These are used for cross-compiling and for saving the configure script
-# from having to guess our platform (since we know it already)
-DEB_HOST_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
-DEB_BUILD_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)
-ifneq ($(DEB_HOST_GNU_TYPE),$(DEB_BUILD_GNU_TYPE))
-CROSS= --build $(DEB_BUILD_GNU_TYPE) --host $(DEB_HOST_GNU_TYPE)
-else
-CROSS= --build $(DEB_BUILD_GNU_TYPE)
-endif
-
-
-
-
-# shared library versions, option 1
-version=2.0.5
-major=2
-# option 2, assuming the library is created as src/.libs/libfoo.so.2.0.5 or so
-#version=`ls src/.libs/lib*.so.* | \
-# awk '{if (match($$0,/[0-9]+\.[0-9]+\.[0-9]+$$/)) print substr($$0,RSTART)}'`
-#major=`ls src/.libs/lib*.so.* | \
-# awk '{if (match($$0,/\.so\.[0-9]+$$/)) print substr($$0,RSTART+4)}'`
-
-config.status: configure
- dh_testdir
-ifneq "$(wildcard /usr/share/misc/config.sub)" ""
- cp -f /usr/share/misc/config.sub config.sub
-endif
-ifneq "$(wildcard /usr/share/misc/config.guess)" ""
- cp -f /usr/share/misc/config.guess config.guess
-endif
- ./configure $(CROSS) --prefix=/usr --mandir=\$${prefix}/share/man --infodir=\$${prefix}/share/info CFLAGS="$(CFLAGS)"
-# does not work: LDFLAGS="-Wl,-z,defs"
-
-
-build: build-stamp
-build-stamp: config.status
- dh_testdir
- $(MAKE)
- touch $@
-
-clean:
- dh_testdir
- dh_testroot
- rm -f build-stamp
- [ ! -f [Mm]akefile ] || $(MAKE) distclean
- rm -f config.sub config.guess
- dh_clean
-
-install: build
- dh_testdir
- dh_testroot
- dh_prep
- dh_installdirs
- $(MAKE) prefix=$(CURDIR)/debian/tmp/usr install
-
-
-# Build architecture-independent files here.
-binary-indep: install
-# We have nothing to do by default.
-
-# Build architecture-dependent files here.
-binary-arch: install
- dh_testdir
- dh_testroot
- dh_installchangelogs ChangeLog
- dh_installdocs
- dh_installexamples
- dh_install
-# dh_installmenu
-# dh_installdebconf
-# dh_installlogrotate
-# dh_installemacsen
-# dh_installpam
-# dh_installmime
-# dh_installinit
-# dh_installcron
-# dh_installinfo
-# dh_installman
- dh_link
- dh_strip
- dh_compress
- dh_fixperms
-# dh_perl
-# dh_python
- dh_makeshlibs
- dh_installdeb
- dh_shlibdeps
- dh_gencontrol
- dh_md5sums
- dh_builddeb
-
-binary: binary-indep binary-arch
-.PHONY: build clean binary-indep binary-arch binary install
+%:
+ dh $@
diff --git a/doc/doxyfile.in b/doc/doxyfile.in
index 5470aa7..58d558a 100644
--- a/doc/doxyfile.in
+++ b/doc/doxyfile.in
@@ -25,13 +25,13 @@ DOXYFILE_ENCODING = UTF-8
# The PROJECT_NAME tag is a single word (or a sequence of words surrounded
# by quotes) that should identify the project.
-PROJECT_NAME = "Projektdokumentation @PACKAGENAME@"
+PROJECT_NAME = "Projektdokumentation @PACKAGE_NAME@"
# The PROJECT_NUMBER tag can be used to enter a project or revision number.
# This could be handy for archiving the generated documentation or
# if some version control system is used.
-PROJECT_NUMBER = "Version @MAJOR@.@MINOR@.@LEAST@"
+PROJECT_NUMBER = "Version @PACKAGE_VERSION@"
# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute)
# base path where the generated documentation will be put.
@@ -1295,7 +1295,7 @@ TAGFILES =
# When a file name is specified after GENERATE_TAGFILE, doxygen will create
# a tag file that is based on the input files it reads.
-GENERATE_TAGFILE = @PACKAGENAME@.doxytag
+GENERATE_TAGFILE = @PACKAGE_NAME@.doxytag
# If the ALLEXTERNALS tag is set to YES all external classes will be listed
# in the class index. If set to NO only the inherited external classes
diff --git a/doc/makefile.am b/doc/makefile.am
index d37d5b3..4f3ead4 100644
--- a/doc/makefile.am
+++ b/doc/makefile.am
@@ -26,10 +26,10 @@ if PEDANTIC
test \! -s doxygen.errors
endif
# cd latex && make
-# mv latex/refman.pdf @PACKAGENAME@-@MAJOR@.@MINOR@.@LEAST@.pdf
+# mv latex/refman.pdf @PACKAGE_NAME@-@PACKAGE_VERSION@.pdf
-CLEANFILES = doxygen.errors @PACKAGENAME@-@MAJOR@.@MINOR@.@LEAST@.pdf
-DISTCLEANFILES = @PACKAGENAME@.doxytag
+CLEANFILES = doxygen.errors @PACKAGE_NAME@-@PACKAGE_VERSION@.pdf
+DISTCLEANFILES = @PACKAGE_NAME@.doxytag
MAINTAINERCLEANFILES = makefile.in
distclean-local:
diff --git a/libxml-cxx.spec.in b/libxml-cxx.spec.in
index 4bc58e3..0edf281 100644
--- a/libxml-cxx.spec.in
+++ b/libxml-cxx.spec.in
@@ -1,10 +1,10 @@
Summary: XML C++ Library
-Name: @PACKAGENAME@
-Version: @VERSION@
+Name: @PACKAGE_NAME@
+Version: @PACKAGE_VERSION@
Release: 1
License: LGPL
Group: Development/Libraries/C++
-URL: https://dev.marc.waeckerlin.org/projects/@PACKAGENAME@
+URL: https://dev.marc.waeckerlin.org/projects/@PACKAGE_NAME@
Source0: %{name}-%{version}.tar.gz
BuildRequires: subversion gcc-c++ doxygen graphviz texlive automake autoconf libtool make
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
@@ -23,7 +23,7 @@ This package contains only the shared libraries required at runtime.
%prep
%setup -q
./configure --prefix=/usr \
- --docdir=/usr/share/doc/packages/@PACKAGENAME@ \
+ --docdir=/usr/share/doc/packages/@PACKAGE_NAME@ \
--libdir=/usr/%_lib
%build
@@ -37,19 +37,19 @@ rm -rf $RPM_BUILD_ROOT
%files
%defattr(-,root,root,-)
-/usr/%_lib/@PACKAGENAME@.so.*
+/usr/%_lib/@PACKAGE_NAME@.so.*
%doc
-/usr/share/doc/packages/@PACKAGENAME@/AUTHORS
-/usr/share/doc/packages/@PACKAGENAME@/COPYING
-/usr/share/doc/packages/@PACKAGENAME@/ChangeLog
-/usr/share/doc/packages/@PACKAGENAME@/INSTALL
-/usr/share/doc/packages/@PACKAGENAME@/NEWS
-/usr/share/doc/packages/@PACKAGENAME@/README
+/usr/share/doc/packages/@PACKAGE_NAME@/AUTHORS
+/usr/share/doc/packages/@PACKAGE_NAME@/COPYING
+/usr/share/doc/packages/@PACKAGE_NAME@/ChangeLog
+/usr/share/doc/packages/@PACKAGE_NAME@/INSTALL
+/usr/share/doc/packages/@PACKAGE_NAME@/NEWS
+/usr/share/doc/packages/@PACKAGE_NAME@/README
%package devel
Summary: XML C++ Library (development files)
Group: Development/Libraries/C++
-Requires: @PACKAGENAME@ = @VERSION@
+Requires: @PACKAGE_NAME@ = @PACKAGE_VERSION@
%description devel
@@ -59,15 +59,15 @@ This Package contains all files required for developement.
%files devel
%defattr(-,root,root,-)
-/usr/%_lib/@PACKAGENAME@.so
-/usr/%_lib/@PACKAGENAME@.a
+/usr/%_lib/@PACKAGE_NAME@.so
+/usr/%_lib/@PACKAGE_NAME@.a
/usr/%_lib/pkgconfig
-/usr/%_lib/@PACKAGENAME@.la
+/usr/%_lib/@PACKAGE_NAME@.la
/usr/include/
/usr/share/pkgconfig
%doc
-/usr/share/doc/packages/@PACKAGENAME@/html
-/usr/share/doc/packages/@PACKAGENAME@/@PACKAGENAME@.spec
+/usr/share/doc/packages/@PACKAGE_NAME@/html
+/usr/share/doc/packages/@PACKAGE_NAME@/@PACKAGE_NAME@.spec
%changelog
* Wed Apr 21 2010 Marc Wäckerlin - cxx-1
diff --git a/makefile.am b/makefile.am
index ec009fa..faaa763 100644
--- a/makefile.am
+++ b/makefile.am
@@ -20,15 +20,15 @@ EXTRA_DIST = bootstrap.sh debian
DISTCLEANFILES = debian/changelog
deb: dist
- tar xzvf @PACKAGE@-@VERSION@.tar.gz
- cd @PACKAGE@-@VERSION@ && dpkg-buildpackage
- rm -rf @PACKAGE@-@VERSION@
+ tar xzvf @PACKAGE_TARNAME@-@PACKAGE_VERSION@.tar.gz
+ cd @PACKAGE_TARNAME@-@PACKAGE_VERSION@ && dpkg-buildpackage
+ rm -rf @PACKAGE_TARNAME@-@PACKAGE_VERSION@
-doc_DATA = AUTHORS NEWS README COPYING INSTALL ChangeLog @PACKAGENAME@.spec
+doc_DATA = AUTHORS NEWS README COPYING INSTALL ChangeLog @PACKAGE_NAME@.spec
-RPMS = /usr/src/packages/RPMS/i586/@PACKAGENAME@-@MAJOR@.@MINOR@.@LEAST@-1.i586.rpm \
- /usr/src/packages/RPMS/i586/@PACKAGENAME@-devel-@MAJOR@.@MINOR@.@LEAST@-1.i586.rpm \
- /usr/src/packages/SRPMS/@PACKAGENAME@-@MAJOR@.@MINOR@.@LEAST@-1.src.rpm
+RPMS = /usr/src/packages/RPMS/i586/@PACKAGE_NAME@-@PACKAGE_VERSION@-1.i586.rpm \
+ /usr/src/packages/RPMS/i586/@PACKAGE_NAME@-devel-@PACKAGE_VERSION@-1.i586.rpm \
+ /usr/src/packages/SRPMS/@PACKAGE_NAME@-@PACKAGE_VERSION@-1.src.rpm
.PHONY: release tag rpm webserver \
doc clean-local distclean-local dist-hool install-data-hook \
@@ -38,23 +38,23 @@ release: tag webserver
tag: distcheck
cvs ci -R .
- cvs tag -FR REL_@PACKAGENAME@-@MAJOR@-@MINOR@-@LEAST@ .
+ cvs tag -FR REL_@PACKAGE_NAME@-@PACKAGE_VERSION@ .
rpm: dist
- cp @PACKAGENAME@-@MAJOR@.@MINOR@.@LEAST@.tar.gz \
+ cp @PACKAGE_TARNAME@-@PACKAGE_VERSION@.tar.gz \
/usr/src/packages/SOURCES/
- rpmbuild -ba --clean @PACKAGENAME@.spec
+ rpmbuild -ba --clean @PACKAGE_NAME@.spec
deps = ${top_srcdir}/COPYING ${top_srcdir}/README ${top_srcdir}/INSTALL ${top_srcdir}/NEWS ${top_srcdir}/ChangeLog
clean-local:
- - rm doxygen.err lib@PACKAGENAME@.doxytag
- - rm @PACKAGENAME@-dev_@MAJOR@.@MINOR@.@LEAST@-*.deb \
- @PACKAGENAME@_@MAJOR@.@MINOR@.@LEAST@-*.changes \
- @PACKAGENAME@_@MAJOR@.@MINOR@.@LEAST@-1.tar.gz \
- @PACKAGENAME@_@MAJOR@.@MINOR@.@LEAST@-1.dsc \
- @PACKAGENAME@-@MAJOR@.@MINOR@.@LEAST@.tar.gz \
- @PACKAGENAME@_@MAJOR@.@MINOR@.@LEAST@-*.deb
+ - rm doxygen.err lib@PACKAGE_NAME@.doxytag
+ - rm @PACKAGE_NAME@-dev_@PACKAGE_VERSION@-*.deb \
+ @PACKAGE_NAME@_@PACKAGE_VERSION@-*.changes \
+ @PACKAGE_TARNAME@_@PACKAGE_VERSION@-1.tar.gz \
+ @PACKAGE_NAME@_@PACKAGE_VERSION@-1.dsc \
+ @PACKAGE_TARNAME@-@PACKAGE_VERSION@.tar.gz \
+ @PACKAGE_NAME@_@PACKAGE_VERSION@-*.deb
distclean-local:
- rm -r ${top_builddir}/@DOC_DIR@/html/* ${top_builddir}/@DOC_DIR@/latex/*
diff --git a/src/libxml-cxx.pc.in b/src/libxml-cxx.pc.in
index 37a276f..35556dd 100644
--- a/src/libxml-cxx.pc.in
+++ b/src/libxml-cxx.pc.in
@@ -1,11 +1,11 @@
-prefix=@PACKAGENAME@
+prefix=@PACKAGE_NAME@
exec_prefix=${prefix}
libdir=${exec_prefix}/lib
includedir=${prefix}/include
-Name: @PACKAGENAME@
+Name: @PACKAGE_NAME@
Description: C++ wrappers around pcsc-lite, cryptoki, openssh
-Version: @VERSION@
+Version: @PACKAGE_VERSION@
Libs: -L${libdir} -lxml-cxx
Libs.private:
Cflags: -I${includedir}
diff --git a/src/version.cxx.in b/src/version.cxx.in
index 89d7fbf..a211e3c 100644
--- a/src/version.cxx.in
+++ b/src/version.cxx.in
@@ -9,8 +9,8 @@
namespace xml {
std::string version() {
- return "@PACKAGENAME@-@VERSION@";
+ return "@PACKAGE_NAME@-@PACKAGE_VERSION@";
}
- const std::string WHAT("#(@) @PACKAGENAME@-@VERSION@");
- const std::string IDENT("$Id: @PACKAGENAME@-@VERSION@ $");
+ const std::string WHAT("#(@) @PACKAGE_NAME@-@PACKAGE_VERSION@");
+ const std::string IDENT("$Id: @PACKAGE_NAME@-@PACKAGE_VERSION@ $");
}