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@ $"); }