From 5e527213a2430bb3018e5eebd909aef294edf9b5 Mon Sep 17 00:00:00 2001 From: Karen Arutyunov Date: Fri, 18 Dec 2020 18:48:46 +0300 Subject: Switch to build2 --- libxsd/xsd/buildfile | 39 ++++++++++++++++++++++++++++++++++++ libxsd/xsd/cxx/tree/elements.hxx | 10 ++++++---- libxsd/xsd/cxx/tree/types.hxx | 4 ++++ libxsd/xsd/cxx/version.hxx | 27 ------------------------- libxsd/xsd/cxx/version.hxx.in | 43 ++++++++++++++++++++++++++++++++++++++++ libxsd/xsd/cxx/xml/char-utf8.txx | 4 ++++ 6 files changed, 96 insertions(+), 31 deletions(-) create mode 100644 libxsd/xsd/buildfile create mode 100644 libxsd/xsd/cxx/version.hxx.in (limited to 'libxsd/xsd') diff --git a/libxsd/xsd/buildfile b/libxsd/xsd/buildfile new file mode 100644 index 0000000..ef0d0c5 --- /dev/null +++ b/libxsd/xsd/buildfile @@ -0,0 +1,39 @@ +# file : xsd/buildfile +# license : GNU GPL v2 + exceptions; see accompanying LICENSE file + +# Note that libxsd includes headers of some third-party libraries (Xerces-C++, +# Expat, ACE) and APIs (XDR) into some of its headers. We consider +# functionality provided by these headers as optional and assume that libxsd +# dependents that require such functionality will handle the respective +# dependencies (in buildfiles, manifests, etc) themselves. An alternative would +# be to split libxsd into the hierarchy of libraries, but it doesn't feel very +# practical at the moment. +# +lib{xsd}: cxx/{hxx ixx txx}{** -version} cxx/hxx{version} + +# Include the generated version header into the distribution (so that we don't +# pick up an installed one) and don't remove it when cleaning in src (so that +# clean results in a state identical to distributed). +# +cxx/ +{ + hxx{version}: in{version} $src_root/manifest + hxx{version}: + { + dist = true + clean = ($src_root != $out_root) + } +} + +# Export options. +# +lib{xsd}: cxx.export.poptions = "-I$out_root" "-I$src_root" + +# Install into the xsd/ subdirectory of, say, /usr/include/ recreating +# subdirectories. +# +{hxx ixx txx}{*}: +{ + install = include/xsd/ + install.subdirs = true +} diff --git a/libxsd/xsd/cxx/tree/elements.hxx b/libxsd/xsd/cxx/tree/elements.hxx index 808b35e..be8fbeb 100644 --- a/libxsd/xsd/cxx/tree/elements.hxx +++ b/libxsd/xsd/cxx/tree/elements.hxx @@ -235,6 +235,8 @@ namespace xsd std::size_t index; }; + //@cond + bool operator== (const content_order&, const content_order&); @@ -244,8 +246,6 @@ namespace xsd bool operator< (const content_order&, const content_order&); - //@cond - // DOM user data keys. // template @@ -458,7 +458,9 @@ namespace xsd // anyType content API. // public: + //@cond typedef element_optional dom_content_optional; + //@endcond /** * @brief Return a read-only (constant) reference to the anyType @@ -1198,10 +1200,10 @@ namespace xsd dom_content_optional dom; }; - //@endcond - mutable XSD_AUTO_PTR content_; + //@endcond + private: container* container_; }; diff --git a/libxsd/xsd/cxx/tree/types.hxx b/libxsd/xsd/cxx/tree/types.hxx index 3355eb0..34eabd9 100644 --- a/libxsd/xsd/cxx/tree/types.hxx +++ b/libxsd/xsd/cxx/tree/types.hxx @@ -3123,7 +3123,9 @@ namespace xsd class base64_binary: public B, public buffer { public: + //@cond typedef typename buffer::size_t size_t; + //@endcond public: /** @@ -3342,7 +3344,9 @@ namespace xsd class hex_binary: public B, public buffer { public: + //@cond typedef typename buffer::size_t size_t; + //@endcond public: /** diff --git a/libxsd/xsd/cxx/version.hxx b/libxsd/xsd/cxx/version.hxx index c2948c3..e69de29 100644 --- a/libxsd/xsd/cxx/version.hxx +++ b/libxsd/xsd/cxx/version.hxx @@ -1,27 +0,0 @@ -// file : xsd/cxx/version.hxx -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -#ifndef XSD_CXX_VERSION_HXX -#define XSD_CXX_VERSION_HXX - -// Version format is AABBCCDD where -// -// AA - major version number -// BB - minor version number -// CC - bugfix version number -// DD - alpha / beta (DD + 50) version number -// -// When DD is not 00, 1 is subtracted from AABBCC. For example: -// -// Version AABBCCDD -// 2.0.0 02000000 -// 2.1.0 02010000 -// 2.1.1 02010100 -// 2.2.0.a1 02019901 -// 3.0.0.b2 02999952 -// - -#define XSD_STR_VERSION "4.1.0.a11" -#define XSD_INT_VERSION 4009911L - -#endif // XSD_CXX_VERSION_HXX diff --git a/libxsd/xsd/cxx/version.hxx.in b/libxsd/xsd/cxx/version.hxx.in new file mode 100644 index 0000000..7f2e17a --- /dev/null +++ b/libxsd/xsd/cxx/version.hxx.in @@ -0,0 +1,43 @@ +// file : xsd/cxx/version.hxx.in +// license : GNU GPL v2 + exceptions; see accompanying LICENSE file + +#ifndef LIBXSD_VERSION // Note: using the version macro itself. + +// The numeric version format is AAAAABBBBBCCCCCDDDE where: +// +// AAAAA - major version number +// BBBBB - minor version number +// CCCCC - bugfix version number +// DDD - alpha / beta (DDD + 500) version number +// E - final (0) / snapshot (1) +// +// When DDDE is not 0, 1 is subtracted from AAAAABBBBBCCCCC. For example: +// +// Version AAAAABBBBBCCCCCDDDE +// +// 0.1.0 0000000001000000000 +// 0.1.2 0000000001000020000 +// 1.2.3 0000100002000030000 +// 2.2.0-a.1 0000200001999990010 +// 3.0.0-b.2 0000299999999995020 +// 2.2.0-a.1.z 0000200001999990011 +// +#define LIBXSD_VERSION $libxsd.version.project_number$ULL +#define LIBXSD_VERSION_STR "$libxsd.version.project$" +#define LIBXSD_VERSION_ID "$libxsd.version.project_id$" +#define LIBXSD_VERSION_FULL "$libxsd.version$" + +#define LIBXSD_VERSION_MAJOR $libxsd.version.major$ +#define LIBXSD_VERSION_MINOR $libxsd.version.minor$ +#define LIBXSD_VERSION_PATCH $libxsd.version.patch$ + +#define LIBXSD_PRE_RELEASE $libxsd.version.pre_release$ + +#define LIBXSD_SNAPSHOT $libxsd.version.snapshot_sn$ULL +#define LIBXSD_SNAPSHOT_ID "$libxsd.version.snapshot_id$" + +// Note that Xerces and Expat compatibility is verified by the respective +// parsers (see parser/xerces/elements.hxx and parser/expat/elements.hxx for +// details). + +#endif // LIBXSD_VERSION diff --git a/libxsd/xsd/cxx/xml/char-utf8.txx b/libxsd/xsd/cxx/xml/char-utf8.txx index ba65397..a571ce9 100644 --- a/libxsd/xsd/cxx/xml/char-utf8.txx +++ b/libxsd/xsd/cxx/xml/char-utf8.txx @@ -115,20 +115,24 @@ namespace xsd rs[i + 3] = C ((u | 0x80UL) & 0xBFUL); u >>= 6; } + // Fall through. case 3: { rs[i + 2] = C ((u | 0x80UL) & 0xBFUL); u >>= 6; } + // Fall through. case 2: { rs[i + 1] = C ((u | 0x80UL) & 0xBFUL); u >>= 6; } + // Fall through. case 1: { rs[i] = C (u | first_byte_mask_[count]); } + // Fall through. } i += count; -- cgit v1.1