From 018e1ba581ec6f01f069a45ec4cf89f152b44d5f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Frings-F=C3=BCrst?= Date: Wed, 19 Mar 2025 15:41:36 +0100 Subject: remerge --- xsd/buildfile | 121 ---------------------------------------------------------- 1 file changed, 121 deletions(-) delete mode 100644 xsd/buildfile (limited to 'xsd/buildfile') diff --git a/xsd/buildfile b/xsd/buildfile deleted file mode 100644 index d4e7af5..0000000 --- a/xsd/buildfile +++ /dev/null @@ -1,121 +0,0 @@ -# file : xsd/buildfile -# license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -import libs = libxsd-frontend%lib{xsd-frontend} -import libs += libcutl%lib{cutl} -import libs += libxerces-c%lib{xerces-c} - -ops = options cxx/options cxx/parser/options cxx/tree/options - -./: exe{xsd}: {hxx ixx txx cxx}{** -version -{$ops} -pregenerated/**} \ - {hxx}{version} \ - $libs - -# Target metadata, see also --build2-metadata in xsd.cxx. -# -# Note that xsd does not query any environment variables. -# -exe{xsd}: -{ - export.metadata = 1 xsd - xsd.name = [string] xsd - xsd.version = [string] $version - xsd.checksum = [string] $version -} - -hxx{version}: in{version} $src_root/manifest - -## Consumption build ($develop == false). -# - -# Use pregenerated versions in the consumption build. -# -exe{xsd}: pregenerated/{hxx ixx cxx}{**}: include = (!$develop) - -if! $develop - cxx.poptions =+ "-I($src_base/pregenerated)" # Note: must come first. - -# Distribute pregenerated versions only in the consumption build. -# -pregenerated/{hxx ixx cxx}{*}: dist = (!$develop) - -# -## - -## Development build ($develop == true). -# - -exe{xsd}: {hxx ixx cxx}{$ops}: include = $develop - -if $develop - import! [metadata] cli = cli%exe{cli} - -# In the development build distribute regenerated {hxx ixx cxx}{options}, -# remapping their locations to the paths of the pregenerated versions (which -# are only distributed in the consumption build; see above). This way we make -# sure that the distributed files are always up-to-date. -# -for f: $ops -{ - d = $directory($f) # empty, cxx/, etc. - - <{hxx ixx cxx}{$f}>: cli{$f} - { - dist = ($develop ? $relative([dir_path] "pregenerated/xsd/$d", $d) : false) - - # Symlink the generated code in src for convenience of development. - # - backlink = true - } -} - -: cli{~'/\1/'} $cli -% -if $develop -{{ - t = $path($>[0]).t - - depdb dyndep --byproduct --file $t - - h = $path($>[0]) - i = $path($>[1]) - c = $path($>[2]) - - d = $directory($h) - p = $string($leaf($d, $out_root)) # xsd, xsd/cxx, etc - - options = --std c++11 -I $src_root --include-prefix $p \ - --guard-prefix $regex.replace($ucase($p), '[/\\]', '_') \ - --generate-specifier --generate-file-scanner \ - --suppress-undocumented --ostream-type ::std::wostream \ - --exclude-base --include-with-brackets --option-length 28 \ - --cxx-prologue '#include ' - - $cli $options --generate-dep --dep-file $t -o $d $path($<[0]) - - # If the result differs from the pregenerated version, copy it over. - # - d = [dir_path] $src_base/pregenerated/$p - - dh = $d/$leaf($h) - di = $d/$leaf($i) - dc = $d/$leaf($c) - - if diff $dh $h >- && \ - diff $di $i >- && \ - diff $dc $c >- - exit - end - - cp $h $dh - cp $i $di - cp $c $dc -}} - -# -## - -# Pass the copyright notice extracted from the LICENSE file. -# -obj{xsd cxx/parser/generator cxx/tree/generator}: \ - cxx.poptions += -DXSD_COPYRIGHT=\"$copyright\" -- cgit v1.2.3