Elliott Hughes | 7247294 | 2018-01-10 08:36:10 -0800 | [diff] [blame] | 1 | # |
| 2 | # __ __ _ |
| 3 | # ___\ \/ /_ __ __ _| |_ |
| 4 | # / _ \\ /| '_ \ / _` | __| |
| 5 | # | __// \| |_) | (_| | |_ |
| 6 | # \___/_/\_\ .__/ \__,_|\__| |
| 7 | # |_| XML parser |
| 8 | # |
| 9 | # Copyright (c) 2017 Expat development team |
| 10 | # Licensed under the MIT license: |
| 11 | # |
| 12 | # Permission is hereby granted, free of charge, to any person obtaining |
| 13 | # a copy of this software and associated documentation files (the |
| 14 | # "Software"), to deal in the Software without restriction, including |
| 15 | # without limitation the rights to use, copy, modify, merge, publish, |
| 16 | # distribute, sublicense, and/or sell copies of the Software, and to permit |
| 17 | # persons to whom the Software is furnished to do so, subject to the |
| 18 | # following conditions: |
| 19 | # |
| 20 | # The above copyright notice and this permission notice shall be included |
| 21 | # in all copies or substantial portions of the Software. |
| 22 | # |
| 23 | # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, |
| 24 | # EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF |
| 25 | # MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN |
| 26 | # NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, |
| 27 | # DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR |
| 28 | # OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE |
| 29 | # USE OR OTHER DEALINGS IN THE SOFTWARE. |
| 30 | |
| 31 | AUTOMAKE_OPTIONS = \ |
| 32 | dist-bzip2 \ |
Haibo Huang | fd5e81a | 2019-06-20 12:09:36 -0700 | [diff] [blame] | 33 | dist-lzip \ |
| 34 | dist-xz \ |
Elliott Hughes | 7247294 | 2018-01-10 08:36:10 -0800 | [diff] [blame] | 35 | foreign \ |
Elliott Hughes | 7247294 | 2018-01-10 08:36:10 -0800 | [diff] [blame] | 36 | subdir-objects |
| 37 | |
| 38 | ACLOCAL_AMFLAGS = -I m4 |
| 39 | LIBTOOLFLAGS = --verbose |
| 40 | |
Haibo Huang | fd5e81a | 2019-06-20 12:09:36 -0700 | [diff] [blame] | 41 | SUBDIRS = lib # lib goes first to build first |
| 42 | if WITH_EXAMPLES |
| 43 | SUBDIRS += examples |
| 44 | endif |
| 45 | if WITH_TESTS |
| 46 | SUBDIRS += tests |
| 47 | endif |
Elliott Hughes | 7247294 | 2018-01-10 08:36:10 -0800 | [diff] [blame] | 48 | if WITH_XMLWF |
| 49 | SUBDIRS += xmlwf doc |
| 50 | endif |
| 51 | |
| 52 | pkgconfig_DATA = expat.pc |
| 53 | pkgconfigdir = $(libdir)/pkgconfig |
| 54 | |
| 55 | |
| 56 | _EXTRA_DIST_CMAKE = \ |
Haibo Huang | 40a7191 | 2019-10-11 11:13:39 -0700 | [diff] [blame] | 57 | cmake/expat-config.cmake.in \ |
| 58 | cmake/mingw-toolchain.cmake \ |
| 59 | \ |
Elliott Hughes | 7247294 | 2018-01-10 08:36:10 -0800 | [diff] [blame] | 60 | CMakeLists.txt \ |
| 61 | CMake.README \ |
| 62 | ConfigureChecks.cmake \ |
| 63 | expat_config.h.cmake |
| 64 | |
| 65 | _EXTRA_DIST_WINDOWS = \ |
Haibo Huang | 40a7191 | 2019-10-11 11:13:39 -0700 | [diff] [blame] | 66 | win32/build_expat_iss.bat \ |
Elliott Hughes | 7247294 | 2018-01-10 08:36:10 -0800 | [diff] [blame] | 67 | win32/expat.iss \ |
| 68 | win32/MANIFEST.txt \ |
Haibo Huang | 40a7191 | 2019-10-11 11:13:39 -0700 | [diff] [blame] | 69 | win32/README.txt |
Elliott Hughes | 7247294 | 2018-01-10 08:36:10 -0800 | [diff] [blame] | 70 | |
| 71 | EXTRA_DIST = \ |
| 72 | $(_EXTRA_DIST_CMAKE) \ |
| 73 | $(_EXTRA_DIST_WINDOWS) \ |
| 74 | \ |
| 75 | conftools/expat.m4 \ |
| 76 | conftools/get-version.sh \ |
| 77 | conftools/PrintPath \ |
| 78 | \ |
Haibo Huang | 40a7191 | 2019-10-11 11:13:39 -0700 | [diff] [blame] | 79 | xmlwf/xmlwf_helpgen.py \ |
| 80 | xmlwf/xmlwf_helpgen.sh \ |
| 81 | \ |
Elliott Hughes | 7247294 | 2018-01-10 08:36:10 -0800 | [diff] [blame] | 82 | Changes \ |
| 83 | README.md \ |
Haibo Huang | 40a7191 | 2019-10-11 11:13:39 -0700 | [diff] [blame] | 84 | \ |
| 85 | fix-xmltest-log.sh \ |
Elliott Hughes | 7247294 | 2018-01-10 08:36:10 -0800 | [diff] [blame] | 86 | test-driver-wrapper.sh |
| 87 | |
| 88 | |
| 89 | .PHONY: buildlib |
| 90 | buildlib: |
| 91 | @echo 'ERROR: Running "make buildlib LIBRARY=libexpatw.la"' >&2 |
| 92 | @echo 'ERROR: is no longer supported. INSTEAD please:' >&2 |
| 93 | @echo 'ERROR:' >&2 |
| 94 | @echo 'ERROR: * Mass-patch Makefile.am, e.g.' >&2 |
| 95 | @echo 'ERROR: # find -name Makefile.am -exec sed \' >&2 |
| 96 | @echo 'ERROR: -e "s,libexpat\.la,libexpatw.la," \' >&2 |
| 97 | @echo 'ERROR: -e "s,libexpat_la,libexpatw_la," \' >&2 |
| 98 | @echo 'ERROR: -i {} +' >&2 |
| 99 | @echo 'ERROR:' >&2 |
| 100 | @echo 'ERROR: * Run automake to re-generate Makefile.in files' >&2 |
| 101 | @echo 'ERROR:' >&2 |
| 102 | @echo 'ERROR: * Use "./configure --without-xmlwf" and/or' >&2 |
| 103 | @echo 'ERROR: "make -C lib all install" to bypass compilation' >&2 |
| 104 | @echo 'ERROR: of xmlwf (e.g. with -DXML_UNICODE)' >&2 |
| 105 | @echo 'ERROR:' >&2 |
| 106 | @false |
| 107 | |
| 108 | |
| 109 | .PHONY: run-benchmark |
| 110 | run-benchmark: |
| 111 | $(MAKE) -C tests/benchmark |
| 112 | ./run.sh tests/benchmark/benchmark@EXEEXT@ -n $(top_srcdir)/../testdata/largefiles/recset.xml 65535 3 |
| 113 | |
Haibo Huang | 40a7191 | 2019-10-11 11:13:39 -0700 | [diff] [blame] | 114 | .PHONY: download-xmlts-zip |
| 115 | download-xmlts-zip: |
Elliott Hughes | 7247294 | 2018-01-10 08:36:10 -0800 | [diff] [blame] | 116 | if test "$(XMLTS_ZIP)" = ""; then \ |
| 117 | wget --output-document=tests/xmlts.zip \ |
| 118 | https://www.w3.org/XML/Test/xmlts20080827.zip; \ |
| 119 | else \ |
| 120 | cp $(XMLTS_ZIP) tests/xmlts.zip; \ |
| 121 | fi |
| 122 | |
Haibo Huang | 40a7191 | 2019-10-11 11:13:39 -0700 | [diff] [blame] | 123 | tests/xmlts.zip: |
| 124 | $(MAKE) download-xmlts-zip |
| 125 | |
| 126 | .PHONY: extract-xmlts-zip |
| 127 | extract-xmlts-zip: tests/xmlts.zip |
| 128 | [ -f $(builddir)/tests/xmlts.zip ] || $(MAKE) download-xmlts-zip # vpath workaround |
Elliott Hughes | 7247294 | 2018-01-10 08:36:10 -0800 | [diff] [blame] | 129 | cd tests && unzip -q xmlts.zip |
| 130 | |
Haibo Huang | 40a7191 | 2019-10-11 11:13:39 -0700 | [diff] [blame] | 131 | tests/xmlconf: tests/xmlts.zip |
| 132 | $(MAKE) extract-xmlts-zip |
| 133 | |
Elliott Hughes | 7247294 | 2018-01-10 08:36:10 -0800 | [diff] [blame] | 134 | .PHONY: run-xmltest |
| 135 | run-xmltest: tests/xmlconf |
| 136 | if WITH_XMLWF |
Haibo Huang | 40a7191 | 2019-10-11 11:13:39 -0700 | [diff] [blame] | 137 | [ -d $(builddir)/tests/xmlconf ] || $(MAKE) extract-xmlts-zip # vpath workaround |
| 138 | $(MAKE) -C lib |
Elliott Hughes | 7247294 | 2018-01-10 08:36:10 -0800 | [diff] [blame] | 139 | $(MAKE) -C xmlwf |
Haibo Huang | 40a7191 | 2019-10-11 11:13:39 -0700 | [diff] [blame] | 140 | $(srcdir)/tests/xmltest.sh "$(abs_builddir)/run.sh $(abs_builddir)/xmlwf/xmlwf@EXEEXT@" 2>&1 | tee $(builddir)/tests/xmltest.log |
| 141 | $(srcdir)/fix-xmltest-log.sh $(builddir)/tests/xmltest.log |
| 142 | diff -u $(srcdir)/tests/xmltest.log.expected $(builddir)/tests/xmltest.log |
Elliott Hughes | 7247294 | 2018-01-10 08:36:10 -0800 | [diff] [blame] | 143 | else |
| 144 | @echo 'ERROR: xmlwf is needed for "make run-xmltest".' >&2 |
| 145 | @echo 'ERROR: Please re-configure without --without-xmlwf.' >&2 |
| 146 | @false |
| 147 | endif |
| 148 | |
| 149 | .PHONY: qa |
| 150 | qa: |
Haibo Huang | 40a7191 | 2019-10-11 11:13:39 -0700 | [diff] [blame] | 151 | QA_COMPILER=clang QA_SANITIZER=address ./qa.sh |
| 152 | QA_COMPILER=clang QA_SANITIZER=memory ./qa.sh |
| 153 | QA_COMPILER=clang QA_SANITIZER=undefined ./qa.sh |
| 154 | QA_COMPILER=gcc QA_PROCESSOR=gcov ./qa.sh |