xref: /aosp_15_r20/external/libxml2/Makefile.am (revision 7c5688314b92172186c154356a6374bf7684c3ca)
1*7c568831SAndroid Build Coastguard Worker## Process this file with automake to produce Makefile.in
2*7c568831SAndroid Build Coastguard Worker
3*7c568831SAndroid Build Coastguard WorkerACLOCAL_AMFLAGS = -I m4
4*7c568831SAndroid Build Coastguard Worker
5*7c568831SAndroid Build Coastguard WorkerSUBDIRS = include . doc example xstc
6*7c568831SAndroid Build Coastguard Workerif WITH_PYTHON
7*7c568831SAndroid Build Coastguard WorkerSUBDIRS += python
8*7c568831SAndroid Build Coastguard Workerendif
9*7c568831SAndroid Build Coastguard Workerif WITH_GLOB
10*7c568831SAndroid Build Coastguard WorkerSUBDIRS += fuzz
11*7c568831SAndroid Build Coastguard Workerendif
12*7c568831SAndroid Build Coastguard Worker
13*7c568831SAndroid Build Coastguard WorkerDIST_SUBDIRS = include . doc example fuzz python xstc
14*7c568831SAndroid Build Coastguard Worker
15*7c568831SAndroid Build Coastguard WorkerAM_CPPFLAGS = -I$(top_builddir)/include -I$(srcdir)/include -DSYSCONFDIR='"$(sysconfdir)"'
16*7c568831SAndroid Build Coastguard Worker
17*7c568831SAndroid Build Coastguard Workercheck_PROGRAMS = \
18*7c568831SAndroid Build Coastguard Worker	runsuite \
19*7c568831SAndroid Build Coastguard Worker	runtest \
20*7c568831SAndroid Build Coastguard Worker	runxmlconf \
21*7c568831SAndroid Build Coastguard Worker	testModule \
22*7c568831SAndroid Build Coastguard Worker	testapi \
23*7c568831SAndroid Build Coastguard Worker	testchar \
24*7c568831SAndroid Build Coastguard Worker	testdict \
25*7c568831SAndroid Build Coastguard Worker	testlimits \
26*7c568831SAndroid Build Coastguard Worker	testparser \
27*7c568831SAndroid Build Coastguard Worker	testrecurse
28*7c568831SAndroid Build Coastguard Worker
29*7c568831SAndroid Build Coastguard Workerbin_PROGRAMS = xmllint xmlcatalog
30*7c568831SAndroid Build Coastguard Worker
31*7c568831SAndroid Build Coastguard Workerbin_SCRIPTS = xml2-config
32*7c568831SAndroid Build Coastguard Worker
33*7c568831SAndroid Build Coastguard Workerlib_LTLIBRARIES = libxml2.la
34*7c568831SAndroid Build Coastguard Workerlibxml2_la_CFLAGS = $(AM_CFLAGS) $(XML_PRIVATE_CFLAGS)
35*7c568831SAndroid Build Coastguard Workerlibxml2_la_LIBADD = $(XML_PRIVATE_LIBS)
36*7c568831SAndroid Build Coastguard Worker
37*7c568831SAndroid Build Coastguard Workerlibxml2_la_LDFLAGS = $(AM_LDFLAGS) -no-undefined \
38*7c568831SAndroid Build Coastguard Worker		     -version-info $(LIBXML_VERSION_INFO)
39*7c568831SAndroid Build Coastguard Workerif USE_VERSION_SCRIPT
40*7c568831SAndroid Build Coastguard Workerlibxml2_la_LDFLAGS += $(VERSION_SCRIPT_FLAGS)$(srcdir)/libxml2.syms
41*7c568831SAndroid Build Coastguard Workerendif
42*7c568831SAndroid Build Coastguard Worker
43*7c568831SAndroid Build Coastguard Workerlibxml2_la_SOURCES = buf.c chvalid.c dict.c entities.c encoding.c error.c \
44*7c568831SAndroid Build Coastguard Worker		     globals.c hash.c list.c parser.c parserInternals.c \
45*7c568831SAndroid Build Coastguard Worker		     SAX2.c threads.c tree.c uri.c valid.c xmlIO.c \
46*7c568831SAndroid Build Coastguard Worker		     xmlmemory.c xmlstring.c
47*7c568831SAndroid Build Coastguard Workerif WITH_C14N_SOURCES
48*7c568831SAndroid Build Coastguard Workerlibxml2_la_SOURCES += c14n.c
49*7c568831SAndroid Build Coastguard Workerendif
50*7c568831SAndroid Build Coastguard Workerif WITH_CATALOG_SOURCES
51*7c568831SAndroid Build Coastguard Workerlibxml2_la_SOURCES += catalog.c
52*7c568831SAndroid Build Coastguard Workerendif
53*7c568831SAndroid Build Coastguard Workerif WITH_DEBUG_SOURCES
54*7c568831SAndroid Build Coastguard Workerlibxml2_la_SOURCES += debugXML.c
55*7c568831SAndroid Build Coastguard Workerendif
56*7c568831SAndroid Build Coastguard Workerif WITH_HTML_SOURCES
57*7c568831SAndroid Build Coastguard Workerlibxml2_la_SOURCES += HTMLparser.c HTMLtree.c
58*7c568831SAndroid Build Coastguard Workerendif
59*7c568831SAndroid Build Coastguard Workerif WITH_HTTP_SOURCES
60*7c568831SAndroid Build Coastguard Workerlibxml2_la_SOURCES += nanohttp.c
61*7c568831SAndroid Build Coastguard Workerendif
62*7c568831SAndroid Build Coastguard Workerif WITH_LEGACY_SOURCES
63*7c568831SAndroid Build Coastguard Workerlibxml2_la_SOURCES += legacy.c
64*7c568831SAndroid Build Coastguard Workerendif
65*7c568831SAndroid Build Coastguard Workerif WITH_LZMA_SOURCES
66*7c568831SAndroid Build Coastguard Workerlibxml2_la_SOURCES += xzlib.c
67*7c568831SAndroid Build Coastguard Workerendif
68*7c568831SAndroid Build Coastguard Workerif WITH_MODULES_SOURCES
69*7c568831SAndroid Build Coastguard Workerlibxml2_la_SOURCES += xmlmodule.c
70*7c568831SAndroid Build Coastguard Workerendif
71*7c568831SAndroid Build Coastguard Workerif WITH_OUTPUT_SOURCES
72*7c568831SAndroid Build Coastguard Workerlibxml2_la_SOURCES += xmlsave.c
73*7c568831SAndroid Build Coastguard Workerendif
74*7c568831SAndroid Build Coastguard Workerif WITH_PATTERN_SOURCES
75*7c568831SAndroid Build Coastguard Workerlibxml2_la_SOURCES += pattern.c
76*7c568831SAndroid Build Coastguard Workerendif
77*7c568831SAndroid Build Coastguard Workerif WITH_READER_SOURCES
78*7c568831SAndroid Build Coastguard Workerlibxml2_la_SOURCES += xmlreader.c
79*7c568831SAndroid Build Coastguard Workerendif
80*7c568831SAndroid Build Coastguard Workerif WITH_REGEXPS_SOURCES
81*7c568831SAndroid Build Coastguard Workerlibxml2_la_SOURCES += xmlregexp.c xmlunicode.c
82*7c568831SAndroid Build Coastguard Workerendif
83*7c568831SAndroid Build Coastguard Workerif WITH_SCHEMAS_SOURCES
84*7c568831SAndroid Build Coastguard Workerlibxml2_la_SOURCES += relaxng.c xmlschemas.c xmlschemastypes.c
85*7c568831SAndroid Build Coastguard Workerif !WITH_XPATH_SOURCES
86*7c568831SAndroid Build Coastguard Workerlibxml2_la_SOURCES += xpath.c
87*7c568831SAndroid Build Coastguard Workerendif
88*7c568831SAndroid Build Coastguard Workerendif
89*7c568831SAndroid Build Coastguard Workerif WITH_SCHEMATRON_SOURCES
90*7c568831SAndroid Build Coastguard Workerlibxml2_la_SOURCES += schematron.c
91*7c568831SAndroid Build Coastguard Workerendif
92*7c568831SAndroid Build Coastguard Workerif WITH_WRITER_SOURCES
93*7c568831SAndroid Build Coastguard Workerlibxml2_la_SOURCES += xmlwriter.c
94*7c568831SAndroid Build Coastguard Workerendif
95*7c568831SAndroid Build Coastguard Workerif WITH_XINCLUDE_SOURCES
96*7c568831SAndroid Build Coastguard Workerlibxml2_la_SOURCES += xinclude.c
97*7c568831SAndroid Build Coastguard Workerendif
98*7c568831SAndroid Build Coastguard Workerif WITH_XPATH_SOURCES
99*7c568831SAndroid Build Coastguard Workerlibxml2_la_SOURCES += xpath.c
100*7c568831SAndroid Build Coastguard Workerendif
101*7c568831SAndroid Build Coastguard Workerif WITH_XPTR_SOURCES
102*7c568831SAndroid Build Coastguard Workerlibxml2_la_SOURCES += xlink.c xpointer.c
103*7c568831SAndroid Build Coastguard Workerendif
104*7c568831SAndroid Build Coastguard Worker
105*7c568831SAndroid Build Coastguard WorkerDEPS = libxml2.la
106*7c568831SAndroid Build Coastguard WorkerLDADDS = libxml2.la
107*7c568831SAndroid Build Coastguard Worker
108*7c568831SAndroid Build Coastguard Workerruntest_SOURCES=runtest.c
109*7c568831SAndroid Build Coastguard Workerruntest_DEPENDENCIES = $(DEPS)
110*7c568831SAndroid Build Coastguard Workerruntest_LDADD= $(THREAD_LIBS) $(LDADDS)
111*7c568831SAndroid Build Coastguard Worker
112*7c568831SAndroid Build Coastguard Workertestrecurse_SOURCES=testrecurse.c
113*7c568831SAndroid Build Coastguard Workertestrecurse_DEPENDENCIES = $(DEPS)
114*7c568831SAndroid Build Coastguard Workertestrecurse_LDADD= $(LDADDS)
115*7c568831SAndroid Build Coastguard Worker
116*7c568831SAndroid Build Coastguard Workertestlimits_SOURCES=testlimits.c
117*7c568831SAndroid Build Coastguard Workertestlimits_DEPENDENCIES = $(DEPS)
118*7c568831SAndroid Build Coastguard Workertestlimits_LDADD= $(LDADDS)
119*7c568831SAndroid Build Coastguard Worker
120*7c568831SAndroid Build Coastguard Workertestchar_SOURCES=testchar.c
121*7c568831SAndroid Build Coastguard Workertestchar_DEPENDENCIES = $(DEPS)
122*7c568831SAndroid Build Coastguard Workertestchar_LDADD= $(LDADDS)
123*7c568831SAndroid Build Coastguard Worker
124*7c568831SAndroid Build Coastguard Workertestdict_SOURCES=testdict.c
125*7c568831SAndroid Build Coastguard Workertestdict_DEPENDENCIES = $(DEPS)
126*7c568831SAndroid Build Coastguard Workertestdict_LDADD= $(LDADDS)
127*7c568831SAndroid Build Coastguard Worker
128*7c568831SAndroid Build Coastguard Workertestparser_SOURCES=testparser.c
129*7c568831SAndroid Build Coastguard Workertestparser_DEPENDENCIES = $(DEPS)
130*7c568831SAndroid Build Coastguard Workertestparser_LDADD= $(LDADDS)
131*7c568831SAndroid Build Coastguard Worker
132*7c568831SAndroid Build Coastguard Workerrunsuite_SOURCES=runsuite.c
133*7c568831SAndroid Build Coastguard Workerrunsuite_DEPENDENCIES = $(DEPS)
134*7c568831SAndroid Build Coastguard Workerrunsuite_LDADD= $(LDADDS)
135*7c568831SAndroid Build Coastguard Worker
136*7c568831SAndroid Build Coastguard Workerxmllint_SOURCES = xmllint.c shell.c
137*7c568831SAndroid Build Coastguard Workerxmllint_CFLAGS = $(AM_CFLAGS) $(RDL_CFLAGS) $(ICONV_CFLAGS)
138*7c568831SAndroid Build Coastguard Workerxmllint_DEPENDENCIES = $(DEPS)
139*7c568831SAndroid Build Coastguard Workerxmllint_LDADD=  $(RDL_LIBS) $(LDADDS)
140*7c568831SAndroid Build Coastguard Worker
141*7c568831SAndroid Build Coastguard Workerxmlcatalog_SOURCES=xmlcatalog.c
142*7c568831SAndroid Build Coastguard Workerxmlcatalog_CFLAGS = $(AM_CFLAGS) $(RDL_CFLAGS) $(ICONV_CFLAGS)
143*7c568831SAndroid Build Coastguard Workerxmlcatalog_DEPENDENCIES = $(DEPS)
144*7c568831SAndroid Build Coastguard Workerxmlcatalog_LDADD = $(RDL_LIBS) $(LDADDS)
145*7c568831SAndroid Build Coastguard Worker
146*7c568831SAndroid Build Coastguard WorkertestModule_SOURCES=testModule.c
147*7c568831SAndroid Build Coastguard WorkertestModule_DEPENDENCIES = $(DEPS)
148*7c568831SAndroid Build Coastguard WorkertestModule_LDADD= $(LDADDS)
149*7c568831SAndroid Build Coastguard Worker
150*7c568831SAndroid Build Coastguard Workernoinst_LTLIBRARIES = testdso.la
151*7c568831SAndroid Build Coastguard Workertestdso_la_SOURCES = testdso.c
152*7c568831SAndroid Build Coastguard Workertestdso_la_LDFLAGS = $(AM_LDFLAGS) \
153*7c568831SAndroid Build Coastguard Worker		     -module -no-undefined -avoid-version -rpath $(libdir)
154*7c568831SAndroid Build Coastguard Worker
155*7c568831SAndroid Build Coastguard Worker# that one forces the rebuild when "make rebuild" is run on doc/
156*7c568831SAndroid Build Coastguard Workerrebuild_testapi:
157*7c568831SAndroid Build Coastguard Worker	-@(if [ "$(PYTHON)" != "" ] ; then \
158*7c568831SAndroid Build Coastguard Worker	    $(PYTHON) $(srcdir)/tools/gentest.py $(srcdir) ; fi )
159*7c568831SAndroid Build Coastguard Worker
160*7c568831SAndroid Build Coastguard Workertestapi_SOURCES=testapi.c
161*7c568831SAndroid Build Coastguard Workertestapi_DEPENDENCIES = $(DEPS)
162*7c568831SAndroid Build Coastguard Workertestapi_LDADD= $(LDADDS)
163*7c568831SAndroid Build Coastguard Worker
164*7c568831SAndroid Build Coastguard Workerrunxmlconf_SOURCES=runxmlconf.c
165*7c568831SAndroid Build Coastguard Workerrunxmlconf_DEPENDENCIES = $(DEPS)
166*7c568831SAndroid Build Coastguard Workerrunxmlconf_LDADD= $(LDADDS)
167*7c568831SAndroid Build Coastguard Worker
168*7c568831SAndroid Build Coastguard Workercheck-local:
169*7c568831SAndroid Build Coastguard Worker	[ -d test   ] || $(LN_S) $(srcdir)/test   .
170*7c568831SAndroid Build Coastguard Worker	[ -d result ] || $(LN_S) $(srcdir)/result .
171*7c568831SAndroid Build Coastguard Worker	$(CHECKER) ./runtest$(EXEEXT)
172*7c568831SAndroid Build Coastguard Worker	$(CHECKER) ./testrecurse$(EXEEXT)
173*7c568831SAndroid Build Coastguard Worker	$(CHECKER) ./testapi$(EXEEXT)
174*7c568831SAndroid Build Coastguard Worker	$(CHECKER) ./testchar$(EXEEXT)
175*7c568831SAndroid Build Coastguard Worker	$(CHECKER) ./testdict$(EXEEXT)
176*7c568831SAndroid Build Coastguard Worker	$(CHECKER) ./testparser$(EXEEXT)
177*7c568831SAndroid Build Coastguard Worker	$(CHECKER) ./testModule$(EXEEXT)
178*7c568831SAndroid Build Coastguard Worker	$(CHECKER) ./runxmlconf$(EXEEXT)
179*7c568831SAndroid Build Coastguard Worker	$(CHECKER) ./runsuite$(EXEEXT)
180*7c568831SAndroid Build Coastguard Workerif WITH_DEBUG_SOURCES
181*7c568831SAndroid Build Coastguard Worker	test/scripts/test.sh ./xmllint$(EXEEXT)
182*7c568831SAndroid Build Coastguard Workerendif
183*7c568831SAndroid Build Coastguard Workerif WITH_CATALOG_SOURCES
184*7c568831SAndroid Build Coastguard Worker	ASAN_OPTIONS=detect_leaks=0 test/catalogs/test.sh ./xmlcatalog$(EXEEXT)
185*7c568831SAndroid Build Coastguard Workerendif
186*7c568831SAndroid Build Coastguard Worker
187*7c568831SAndroid Build Coastguard Worker# Compatibility name of the check target
188*7c568831SAndroid Build Coastguard Workerruntests: check
189*7c568831SAndroid Build Coastguard Worker
190*7c568831SAndroid Build Coastguard Workercheck-valgrind valgrind:
191*7c568831SAndroid Build Coastguard Worker	@echo '## Running the regression tests under Valgrind'
192*7c568831SAndroid Build Coastguard Worker	@echo '## Go get a cup of coffee it is gonna take a while ...'
193*7c568831SAndroid Build Coastguard Worker	$(MAKE) CHECKER='valgrind -q' check
194*7c568831SAndroid Build Coastguard Worker
195*7c568831SAndroid Build Coastguard Workerasan:
196*7c568831SAndroid Build Coastguard Worker	@echo '## rebuilding for ASAN'
197*7c568831SAndroid Build Coastguard Worker	./configure CFLAGS="-fsanitize=address,undefined -Wformat -Werror=format-security -Werror=array-bounds -g" CXXFLAGS="-fsanitize=address,undefined -Wformat -Werror=format-security -Werror=array-bounds -g" LDFLAGS="-fsanitize=address,undefined" CC="clang" CXX="clang++" --disable-shared ; OptimOff  ; $(MAKE) clean ; $(MAKE)
198*7c568831SAndroid Build Coastguard Worker
199*7c568831SAndroid Build Coastguard Workercleanup:
200*7c568831SAndroid Build Coastguard Worker	-@(find . -name .\#\* -exec rm {} \;)
201*7c568831SAndroid Build Coastguard Worker	-@(find . -name \*.gcda -o -name \*.gcno -exec rm -f {} \;)
202*7c568831SAndroid Build Coastguard Worker	-@(find . -name \*.orig -o -name \*.rej -o -name \*.old -exec rm -f {} \;)
203*7c568831SAndroid Build Coastguard Worker
204*7c568831SAndroid Build Coastguard Workerdist-hook: cleanup
205*7c568831SAndroid Build Coastguard Worker	(cd $(srcdir) ; tar -cf - --exclude .git win32 os400 test result) | (cd $(distdir); tar xf -)
206*7c568831SAndroid Build Coastguard Worker
207*7c568831SAndroid Build Coastguard WorkerCLEANFILES = runsuite.log runxmlconf.log test.out *.gcda *.gcno *.res
208*7c568831SAndroid Build Coastguard WorkerDISTCLEANFILES = COPYING missing.lst
209*7c568831SAndroid Build Coastguard Worker
210*7c568831SAndroid Build Coastguard WorkerEXTRA_DIST = Copyright libxml2-config.cmake.in autogen.sh \
211*7c568831SAndroid Build Coastguard Worker	     libxml.h iso8859x.inc \
212*7c568831SAndroid Build Coastguard Worker	     tools/gentest.py \
213*7c568831SAndroid Build Coastguard Worker	     tools/genChRanges.py tools/genEscape.py tools/genUnicode.py \
214*7c568831SAndroid Build Coastguard Worker	     libxml2.syms timsort.h \
215*7c568831SAndroid Build Coastguard Worker	     README.zOS README.md \
216*7c568831SAndroid Build Coastguard Worker	     CMakeLists.txt config.h.cmake.in libxml2-config.cmake.cmake.in \
217*7c568831SAndroid Build Coastguard Worker	     meson.build meson_options.txt
218*7c568831SAndroid Build Coastguard Worker
219*7c568831SAndroid Build Coastguard Worker
220*7c568831SAndroid Build Coastguard Workerpkgconfigdir = $(libdir)/pkgconfig
221*7c568831SAndroid Build Coastguard Workerpkgconfig_DATA = libxml-2.0.pc
222*7c568831SAndroid Build Coastguard Worker
223*7c568831SAndroid Build Coastguard Workercmakedir = $(libdir)/cmake/libxml2
224*7c568831SAndroid Build Coastguard Workercmake_DATA = libxml2-config.cmake
225*7c568831SAndroid Build Coastguard Worker
226*7c568831SAndroid Build Coastguard Workertst: tst.c
227*7c568831SAndroid Build Coastguard Worker	$(CC) $(CFLAGS) -Iinclude -o tst tst.c .libs/libxml2.a -lpthread -lm -lz -llzma
228*7c568831SAndroid Build Coastguard Worker
229*7c568831SAndroid Build Coastguard Workersparse: clean
230*7c568831SAndroid Build Coastguard Worker	$(MAKE) CC=cgcc
231*7c568831SAndroid Build Coastguard Worker
232*7c568831SAndroid Build Coastguard Worker#
233*7c568831SAndroid Build Coastguard Worker# Coverage support, largely borrowed from libvirt
234*7c568831SAndroid Build Coastguard Worker# Both binaries comes from the lcov package in Fedora
235*7c568831SAndroid Build Coastguard Worker#
236*7c568831SAndroid Build Coastguard WorkerLCOV = /usr/bin/lcov
237*7c568831SAndroid Build Coastguard WorkerGENHTML = /usr/bin/genhtml
238*7c568831SAndroid Build Coastguard Worker
239*7c568831SAndroid Build Coastguard Workercov: clean-cov
240*7c568831SAndroid Build Coastguard Worker	if [ "`echo $(AM_LDFLAGS) | grep coverage`" = "" ] ; then \
241*7c568831SAndroid Build Coastguard Worker	    echo not configured with coverage; exit 1 ; fi
242*7c568831SAndroid Build Coastguard Worker	if [ ! -x $(LCOV) -o ! -x $(GENHTML) ] ; then \
243*7c568831SAndroid Build Coastguard Worker	    echo Need $(LCOV) and $(GENHTML) excecutables; exit 1 ; fi
244*7c568831SAndroid Build Coastguard Worker	-@($(MAKE) check)
245*7c568831SAndroid Build Coastguard Worker	-@(./runsuite$(EXEEXT))
246*7c568831SAndroid Build Coastguard Worker	mkdir $(top_builddir)/coverage
247*7c568831SAndroid Build Coastguard Worker	$(LCOV) -c -o $(top_builddir)/coverage/libxml2.info.tmp -d $(top_srcdir)
248*7c568831SAndroid Build Coastguard Worker	$(LCOV) -r $(top_builddir)/coverage/libxml2.info.tmp -o $(top_builddir)/coverage/libxml2.info *usr*
249*7c568831SAndroid Build Coastguard Worker	rm $(top_builddir)/coverage/libxml2.info.tmp
250*7c568831SAndroid Build Coastguard Worker	$(GENHTML) -s -t "libxml2" -o $(top_builddir)/coverage --legend $(top_builddir)/coverage/libxml2.info
251*7c568831SAndroid Build Coastguard Worker	echo "Coverage report is in $(top_builddir)/coverage/index.html"
252*7c568831SAndroid Build Coastguard Worker
253*7c568831SAndroid Build Coastguard Workerclean-cov:
254*7c568831SAndroid Build Coastguard Worker	rm -rf $(top_builddir)/coverage
255*7c568831SAndroid Build Coastguard Worker
256