xref: /netbsd/external/mit/expat/dist/Makefile.am (revision ae9c10eb)
1716c1023Smaya#
2716c1023Smaya#                          __  __            _
3716c1023Smaya#                       ___\ \/ /_ __   __ _| |_
4716c1023Smaya#                      / _ \\  /| '_ \ / _` | __|
5716c1023Smaya#                     |  __//  \| |_) | (_| | |_
6716c1023Smaya#                      \___/_/\_\ .__/ \__,_|\__|
7716c1023Smaya#                               |_| XML parser
8716c1023Smaya#
9*ae9c10ebSchristos# Copyright (c) 2017-2021 Sebastian Pipping <sebastian@pipping.org>
10*ae9c10ebSchristos# Copyright (c) 2018      KangLin <kl222@126.com>
11716c1023Smaya# Licensed under the MIT license:
12716c1023Smaya#
13716c1023Smaya# Permission is  hereby granted,  free of charge,  to any  person obtaining
14716c1023Smaya# a  copy  of  this  software   and  associated  documentation  files  (the
15716c1023Smaya# "Software"),  to  deal in  the  Software  without restriction,  including
16716c1023Smaya# without  limitation the  rights  to use,  copy,  modify, merge,  publish,
17716c1023Smaya# distribute, sublicense, and/or sell copies of the Software, and to permit
18716c1023Smaya# persons  to whom  the Software  is  furnished to  do so,  subject to  the
19716c1023Smaya# following conditions:
20716c1023Smaya#
21716c1023Smaya# The above copyright  notice and this permission notice  shall be included
22716c1023Smaya# in all copies or substantial portions of the Software.
23716c1023Smaya#
24716c1023Smaya# THE  SOFTWARE  IS  PROVIDED  "AS  IS",  WITHOUT  WARRANTY  OF  ANY  KIND,
25716c1023Smaya# EXPRESS  OR IMPLIED,  INCLUDING  BUT  NOT LIMITED  TO  THE WARRANTIES  OF
26716c1023Smaya# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
27716c1023Smaya# NO EVENT SHALL THE AUTHORS OR  COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
28716c1023Smaya# DAMAGES OR  OTHER LIABILITY, WHETHER  IN AN  ACTION OF CONTRACT,  TORT OR
29716c1023Smaya# OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
30716c1023Smaya# USE OR OTHER DEALINGS IN THE SOFTWARE.
31716c1023Smaya
32716c1023SmayaAUTOMAKE_OPTIONS = \
33716c1023Smaya    dist-bzip2 \
34716c1023Smaya    dist-lzip \
35716c1023Smaya    dist-xz \
36716c1023Smaya    foreign \
37716c1023Smaya    subdir-objects
38716c1023Smaya
39716c1023SmayaACLOCAL_AMFLAGS = -I m4
40716c1023SmayaLIBTOOLFLAGS = --verbose
41716c1023Smaya
42716c1023SmayaSUBDIRS = lib # lib goes first to build first
43716c1023Smayaif WITH_EXAMPLES
44716c1023SmayaSUBDIRS += examples
45716c1023Smayaendif
46716c1023Smayaif WITH_TESTS
47716c1023SmayaSUBDIRS += tests
48716c1023Smayaendif
49716c1023Smayaif WITH_XMLWF
50716c1023SmayaSUBDIRS += xmlwf doc
51716c1023Smayaendif
52716c1023Smaya
53716c1023Smayapkgconfig_DATA = expat.pc
54716c1023Smayapkgconfigdir = $(libdir)/pkgconfig
55716c1023Smaya
56716c1023Smaya
57*ae9c10ebSchristosdist_cmake_DATA = \
58*ae9c10ebSchristos    cmake/autotools/expat.cmake
59*ae9c10ebSchristos
60*ae9c10ebSchristosnodist_cmake_DATA = \
61*ae9c10ebSchristos    cmake/autotools/expat-config-version.cmake \
62*ae9c10ebSchristos    cmake/autotools/expat-noconfig.cmake \
63*ae9c10ebSchristos    cmake/expat-config.cmake
64*ae9c10ebSchristos
65*ae9c10ebSchristoscmakedir = $(libdir)/cmake/expat-@PACKAGE_VERSION@
66*ae9c10ebSchristos
67*ae9c10ebSchristos
68716c1023Smaya_EXTRA_DIST_CMAKE = \
69*ae9c10ebSchristos    cmake/autotools/expat-noconfig__linux.cmake.in \
70*ae9c10ebSchristos    cmake/autotools/expat-noconfig__macos.cmake.in \
71*ae9c10ebSchristos    cmake/autotools/expat-noconfig__windows.cmake.in \
72*ae9c10ebSchristos    cmake/autotools/expat-package-init.cmake \
73716c1023Smaya    cmake/mingw-toolchain.cmake \
74716c1023Smaya    \
75716c1023Smaya    CMakeLists.txt \
76716c1023Smaya    CMake.README \
77716c1023Smaya    ConfigureChecks.cmake \
78*ae9c10ebSchristos    expat.pc.cmake \
79716c1023Smaya    expat_config.h.cmake
80716c1023Smaya
81716c1023Smaya_EXTRA_DIST_WINDOWS = \
82716c1023Smaya    win32/build_expat_iss.bat \
83716c1023Smaya    win32/expat.iss \
84716c1023Smaya    win32/MANIFEST.txt \
85716c1023Smaya    win32/README.txt
86716c1023Smaya
87716c1023SmayaEXTRA_DIST = \
88716c1023Smaya    $(_EXTRA_DIST_CMAKE) \
89716c1023Smaya    $(_EXTRA_DIST_WINDOWS) \
90716c1023Smaya    \
91716c1023Smaya    conftools/expat.m4 \
92716c1023Smaya    conftools/get-version.sh \
93*ae9c10ebSchristos    \
94*ae9c10ebSchristos    fuzz/xml_parsebuffer_fuzzer.c \
95*ae9c10ebSchristos    fuzz/xml_parse_fuzzer.c \
96716c1023Smaya    \
97716c1023Smaya    xmlwf/xmlwf_helpgen.py \
98716c1023Smaya    xmlwf/xmlwf_helpgen.sh \
99716c1023Smaya    \
100*ae9c10ebSchristos    buildconf.sh \
101716c1023Smaya    Changes \
102716c1023Smaya    README.md \
103716c1023Smaya    \
104716c1023Smaya    fix-xmltest-log.sh \
105716c1023Smaya    test-driver-wrapper.sh
106716c1023Smaya
107716c1023Smaya
108716c1023Smaya.PHONY: buildlib
109716c1023Smayabuildlib:
110716c1023Smaya	@echo 'ERROR: Running "make buildlib LIBRARY=libexpatw.la"' >&2
111716c1023Smaya	@echo 'ERROR: is no longer supported.  INSTEAD please:' >&2
112716c1023Smaya	@echo 'ERROR:' >&2
113716c1023Smaya	@echo 'ERROR:  * Mass-patch Makefile.am, e.g.' >&2
114716c1023Smaya	@echo 'ERROR:    # find -name Makefile.am -exec sed \' >&2
115716c1023Smaya	@echo 'ERROR:          -e "s,libexpat\.la,libexpatw.la," \' >&2
116716c1023Smaya	@echo 'ERROR:          -e "s,libexpat_la,libexpatw_la," \' >&2
117716c1023Smaya	@echo 'ERROR:          -i {} +' >&2
118716c1023Smaya	@echo 'ERROR:' >&2
119716c1023Smaya	@echo 'ERROR:  * Run automake to re-generate Makefile.in files' >&2
120716c1023Smaya	@echo 'ERROR:' >&2
121716c1023Smaya	@echo 'ERROR:  * Use "./configure --without-xmlwf" and/or' >&2
122716c1023Smaya	@echo 'ERROR:    "make -C lib all install" to bypass compilation' >&2
123716c1023Smaya	@echo 'ERROR:    of xmlwf (e.g. with -DXML_UNICODE)' >&2
124716c1023Smaya	@echo 'ERROR:' >&2
125716c1023Smaya	@false
126716c1023Smaya
127716c1023Smaya
128716c1023Smaya.PHONY: run-benchmark
129716c1023Smayarun-benchmark:
130716c1023Smaya	$(MAKE) -C tests/benchmark
131716c1023Smaya	./run.sh tests/benchmark/benchmark@EXEEXT@ -n $(top_srcdir)/../testdata/largefiles/recset.xml 65535 3
132716c1023Smaya
133716c1023Smaya.PHONY: download-xmlts-zip
134716c1023Smayadownload-xmlts-zip:
135716c1023Smaya	if test "$(XMLTS_ZIP)" = ""; then \
136716c1023Smaya		wget --output-document=tests/xmlts.zip \
137716c1023Smaya			https://www.w3.org/XML/Test/xmlts20080827.zip; \
138716c1023Smaya	else \
139716c1023Smaya		cp $(XMLTS_ZIP) tests/xmlts.zip; \
140716c1023Smaya	fi
141716c1023Smaya
142716c1023Smayatests/xmlts.zip:
143716c1023Smaya	$(MAKE) download-xmlts-zip
144716c1023Smaya
145716c1023Smaya.PHONY: extract-xmlts-zip
146716c1023Smayaextract-xmlts-zip: tests/xmlts.zip
147716c1023Smaya	[ -f $(builddir)/tests/xmlts.zip ] || $(MAKE) download-xmlts-zip  # vpath workaround
148716c1023Smaya	cd tests && unzip -q xmlts.zip
149716c1023Smaya
150716c1023Smayatests/xmlconf: tests/xmlts.zip
151716c1023Smaya	$(MAKE) extract-xmlts-zip
152716c1023Smaya
153716c1023Smaya.PHONY: run-xmltest
154716c1023Smayarun-xmltest: tests/xmlconf
155716c1023Smayaif WITH_XMLWF
156716c1023Smaya	[ -d $(builddir)/tests/xmlconf ] || $(MAKE) extract-xmlts-zip  # vpath workaround
157716c1023Smaya	$(MAKE) -C lib
158716c1023Smaya	$(MAKE) -C xmlwf
159716c1023Smaya	$(srcdir)/tests/xmltest.sh "$(abs_builddir)/run.sh $(abs_builddir)/xmlwf/xmlwf@EXEEXT@" 2>&1 | tee $(builddir)/tests/xmltest.log
160716c1023Smaya	$(srcdir)/fix-xmltest-log.sh $(builddir)/tests/xmltest.log
161716c1023Smaya	diff -u $(srcdir)/tests/xmltest.log.expected $(builddir)/tests/xmltest.log
162716c1023Smayaelse
163716c1023Smaya	@echo 'ERROR: xmlwf is needed for "make run-xmltest".' >&2
164716c1023Smaya	@echo 'ERROR: Please re-configure without --without-xmlwf.' >&2
165716c1023Smaya	@false
166716c1023Smayaendif
167716c1023Smaya
168716c1023Smaya.PHONY: qa
169716c1023Smayaqa:
170716c1023Smaya	QA_COMPILER=clang QA_SANITIZER=address   ./qa.sh
171716c1023Smaya	QA_COMPILER=clang QA_SANITIZER=memory    ./qa.sh
172716c1023Smaya	QA_COMPILER=clang QA_SANITIZER=undefined ./qa.sh
173716c1023Smaya	QA_COMPILER=gcc   QA_PROCESSOR=gcov      ./qa.sh
174