xref: /aosp_15_r20/external/pcre/Makefile.am (revision 22dc650d8ae982c6770746019a6f94af92b0f024)
1*22dc650dSSadaf Ebrahimi## Process this file with automake to produce Makefile.in.
2*22dc650dSSadaf Ebrahimi
3*22dc650dSSadaf EbrahimiAUTOMAKE_OPTIONS = subdir-objects
4*22dc650dSSadaf EbrahimiACLOCAL_AMFLAGS = -I m4
5*22dc650dSSadaf Ebrahimi
6*22dc650dSSadaf Ebrahimi## This seems to have become necessary for building in non-source directory.
7*22dc650dSSadaf Ebrahimi
8*22dc650dSSadaf EbrahimiAM_CPPFLAGS="-I$(srcdir)/src"
9*22dc650dSSadaf Ebrahimi
10*22dc650dSSadaf Ebrahimi## Specify the documentation files that are distributed.
11*22dc650dSSadaf Ebrahimi
12*22dc650dSSadaf Ebrahimidist_doc_DATA = \
13*22dc650dSSadaf Ebrahimi  AUTHORS \
14*22dc650dSSadaf Ebrahimi  COPYING \
15*22dc650dSSadaf Ebrahimi  ChangeLog \
16*22dc650dSSadaf Ebrahimi  LICENCE \
17*22dc650dSSadaf Ebrahimi  NEWS \
18*22dc650dSSadaf Ebrahimi  README \
19*22dc650dSSadaf Ebrahimi  doc/pcre2.txt \
20*22dc650dSSadaf Ebrahimi  doc/pcre2-config.txt \
21*22dc650dSSadaf Ebrahimi  doc/pcre2grep.txt \
22*22dc650dSSadaf Ebrahimi  doc/pcre2test.txt
23*22dc650dSSadaf Ebrahimi
24*22dc650dSSadaf Ebrahimidist_html_DATA = \
25*22dc650dSSadaf Ebrahimi  doc/html/NON-AUTOTOOLS-BUILD.txt \
26*22dc650dSSadaf Ebrahimi  doc/html/README.txt \
27*22dc650dSSadaf Ebrahimi  doc/html/index.html \
28*22dc650dSSadaf Ebrahimi  doc/html/pcre2-config.html \
29*22dc650dSSadaf Ebrahimi  doc/html/pcre2.html \
30*22dc650dSSadaf Ebrahimi  doc/html/pcre2_callout_enumerate.html \
31*22dc650dSSadaf Ebrahimi  doc/html/pcre2_code_copy.html \
32*22dc650dSSadaf Ebrahimi  doc/html/pcre2_code_copy_with_tables.html \
33*22dc650dSSadaf Ebrahimi  doc/html/pcre2_code_free.html \
34*22dc650dSSadaf Ebrahimi  doc/html/pcre2_compile.html \
35*22dc650dSSadaf Ebrahimi  doc/html/pcre2_compile_context_copy.html \
36*22dc650dSSadaf Ebrahimi  doc/html/pcre2_compile_context_create.html \
37*22dc650dSSadaf Ebrahimi  doc/html/pcre2_compile_context_free.html \
38*22dc650dSSadaf Ebrahimi  doc/html/pcre2_config.html \
39*22dc650dSSadaf Ebrahimi  doc/html/pcre2_convert_context_copy.html \
40*22dc650dSSadaf Ebrahimi  doc/html/pcre2_convert_context_create.html \
41*22dc650dSSadaf Ebrahimi  doc/html/pcre2_convert_context_free.html \
42*22dc650dSSadaf Ebrahimi  doc/html/pcre2_converted_pattern_free.html \
43*22dc650dSSadaf Ebrahimi  doc/html/pcre2_dfa_match.html \
44*22dc650dSSadaf Ebrahimi  doc/html/pcre2_general_context_copy.html \
45*22dc650dSSadaf Ebrahimi  doc/html/pcre2_general_context_create.html \
46*22dc650dSSadaf Ebrahimi  doc/html/pcre2_general_context_free.html \
47*22dc650dSSadaf Ebrahimi  doc/html/pcre2_get_error_message.html \
48*22dc650dSSadaf Ebrahimi  doc/html/pcre2_get_mark.html \
49*22dc650dSSadaf Ebrahimi  doc/html/pcre2_get_match_data_heapframes_size.html \
50*22dc650dSSadaf Ebrahimi  doc/html/pcre2_get_match_data_size.html \
51*22dc650dSSadaf Ebrahimi  doc/html/pcre2_get_ovector_count.html \
52*22dc650dSSadaf Ebrahimi  doc/html/pcre2_get_ovector_pointer.html \
53*22dc650dSSadaf Ebrahimi  doc/html/pcre2_get_startchar.html \
54*22dc650dSSadaf Ebrahimi  doc/html/pcre2_jit_compile.html \
55*22dc650dSSadaf Ebrahimi  doc/html/pcre2_jit_free_unused_memory.html \
56*22dc650dSSadaf Ebrahimi  doc/html/pcre2_jit_match.html \
57*22dc650dSSadaf Ebrahimi  doc/html/pcre2_jit_stack_assign.html \
58*22dc650dSSadaf Ebrahimi  doc/html/pcre2_jit_stack_create.html \
59*22dc650dSSadaf Ebrahimi  doc/html/pcre2_jit_stack_free.html \
60*22dc650dSSadaf Ebrahimi  doc/html/pcre2_maketables.html \
61*22dc650dSSadaf Ebrahimi  doc/html/pcre2_maketables_free.html \
62*22dc650dSSadaf Ebrahimi  doc/html/pcre2_match.html \
63*22dc650dSSadaf Ebrahimi  doc/html/pcre2_match_context_copy.html \
64*22dc650dSSadaf Ebrahimi  doc/html/pcre2_match_context_create.html \
65*22dc650dSSadaf Ebrahimi  doc/html/pcre2_match_context_free.html \
66*22dc650dSSadaf Ebrahimi  doc/html/pcre2_match_data_create.html \
67*22dc650dSSadaf Ebrahimi  doc/html/pcre2_match_data_create_from_pattern.html \
68*22dc650dSSadaf Ebrahimi  doc/html/pcre2_match_data_free.html \
69*22dc650dSSadaf Ebrahimi  doc/html/pcre2_pattern_convert.html \
70*22dc650dSSadaf Ebrahimi  doc/html/pcre2_pattern_info.html \
71*22dc650dSSadaf Ebrahimi  doc/html/pcre2_serialize_decode.html \
72*22dc650dSSadaf Ebrahimi  doc/html/pcre2_serialize_encode.html \
73*22dc650dSSadaf Ebrahimi  doc/html/pcre2_serialize_free.html \
74*22dc650dSSadaf Ebrahimi  doc/html/pcre2_serialize_get_number_of_codes.html \
75*22dc650dSSadaf Ebrahimi  doc/html/pcre2_set_bsr.html \
76*22dc650dSSadaf Ebrahimi  doc/html/pcre2_set_callout.html \
77*22dc650dSSadaf Ebrahimi  doc/html/pcre2_set_character_tables.html \
78*22dc650dSSadaf Ebrahimi  doc/html/pcre2_set_compile_extra_options.html \
79*22dc650dSSadaf Ebrahimi  doc/html/pcre2_set_compile_recursion_guard.html \
80*22dc650dSSadaf Ebrahimi  doc/html/pcre2_set_depth_limit.html \
81*22dc650dSSadaf Ebrahimi  doc/html/pcre2_set_glob_escape.html \
82*22dc650dSSadaf Ebrahimi  doc/html/pcre2_set_glob_separator.html \
83*22dc650dSSadaf Ebrahimi  doc/html/pcre2_set_heap_limit.html \
84*22dc650dSSadaf Ebrahimi  doc/html/pcre2_set_match_limit.html \
85*22dc650dSSadaf Ebrahimi  doc/html/pcre2_set_max_pattern_compiled_length.html \
86*22dc650dSSadaf Ebrahimi  doc/html/pcre2_set_max_pattern_length.html \
87*22dc650dSSadaf Ebrahimi  doc/html/pcre2_set_max_varlookbehind.html \
88*22dc650dSSadaf Ebrahimi  doc/html/pcre2_set_offset_limit.html \
89*22dc650dSSadaf Ebrahimi  doc/html/pcre2_set_newline.html \
90*22dc650dSSadaf Ebrahimi  doc/html/pcre2_set_parens_nest_limit.html \
91*22dc650dSSadaf Ebrahimi  doc/html/pcre2_set_recursion_limit.html \
92*22dc650dSSadaf Ebrahimi  doc/html/pcre2_set_recursion_memory_management.html \
93*22dc650dSSadaf Ebrahimi  doc/html/pcre2_set_substitute_callout.html \
94*22dc650dSSadaf Ebrahimi  doc/html/pcre2_substitute.html \
95*22dc650dSSadaf Ebrahimi  doc/html/pcre2_substring_copy_byname.html \
96*22dc650dSSadaf Ebrahimi  doc/html/pcre2_substring_copy_bynumber.html \
97*22dc650dSSadaf Ebrahimi  doc/html/pcre2_substring_free.html \
98*22dc650dSSadaf Ebrahimi  doc/html/pcre2_substring_get_byname.html \
99*22dc650dSSadaf Ebrahimi  doc/html/pcre2_substring_get_bynumber.html \
100*22dc650dSSadaf Ebrahimi  doc/html/pcre2_substring_length_byname.html \
101*22dc650dSSadaf Ebrahimi  doc/html/pcre2_substring_length_bynumber.html \
102*22dc650dSSadaf Ebrahimi  doc/html/pcre2_substring_list_free.html \
103*22dc650dSSadaf Ebrahimi  doc/html/pcre2_substring_list_get.html \
104*22dc650dSSadaf Ebrahimi  doc/html/pcre2_substring_nametable_scan.html \
105*22dc650dSSadaf Ebrahimi  doc/html/pcre2_substring_number_from_name.html \
106*22dc650dSSadaf Ebrahimi  doc/html/pcre2api.html \
107*22dc650dSSadaf Ebrahimi  doc/html/pcre2build.html \
108*22dc650dSSadaf Ebrahimi  doc/html/pcre2callout.html \
109*22dc650dSSadaf Ebrahimi  doc/html/pcre2compat.html \
110*22dc650dSSadaf Ebrahimi  doc/html/pcre2convert.html \
111*22dc650dSSadaf Ebrahimi  doc/html/pcre2demo.html \
112*22dc650dSSadaf Ebrahimi  doc/html/pcre2grep.html \
113*22dc650dSSadaf Ebrahimi  doc/html/pcre2jit.html \
114*22dc650dSSadaf Ebrahimi  doc/html/pcre2limits.html \
115*22dc650dSSadaf Ebrahimi  doc/html/pcre2matching.html \
116*22dc650dSSadaf Ebrahimi  doc/html/pcre2partial.html \
117*22dc650dSSadaf Ebrahimi  doc/html/pcre2pattern.html \
118*22dc650dSSadaf Ebrahimi  doc/html/pcre2perform.html \
119*22dc650dSSadaf Ebrahimi  doc/html/pcre2posix.html \
120*22dc650dSSadaf Ebrahimi  doc/html/pcre2sample.html \
121*22dc650dSSadaf Ebrahimi  doc/html/pcre2serialize.html \
122*22dc650dSSadaf Ebrahimi  doc/html/pcre2syntax.html \
123*22dc650dSSadaf Ebrahimi  doc/html/pcre2test.html \
124*22dc650dSSadaf Ebrahimi  doc/html/pcre2unicode.html
125*22dc650dSSadaf Ebrahimi
126*22dc650dSSadaf Ebrahimidist_man_MANS = \
127*22dc650dSSadaf Ebrahimi  doc/pcre2-config.1 \
128*22dc650dSSadaf Ebrahimi  doc/pcre2.3 \
129*22dc650dSSadaf Ebrahimi  doc/pcre2_callout_enumerate.3 \
130*22dc650dSSadaf Ebrahimi  doc/pcre2_code_copy.3 \
131*22dc650dSSadaf Ebrahimi  doc/pcre2_code_copy_with_tables.3 \
132*22dc650dSSadaf Ebrahimi  doc/pcre2_code_free.3 \
133*22dc650dSSadaf Ebrahimi  doc/pcre2_compile.3 \
134*22dc650dSSadaf Ebrahimi  doc/pcre2_compile_context_copy.3 \
135*22dc650dSSadaf Ebrahimi  doc/pcre2_compile_context_create.3 \
136*22dc650dSSadaf Ebrahimi  doc/pcre2_compile_context_free.3 \
137*22dc650dSSadaf Ebrahimi  doc/pcre2_config.3 \
138*22dc650dSSadaf Ebrahimi  doc/pcre2_convert_context_copy.3 \
139*22dc650dSSadaf Ebrahimi  doc/pcre2_convert_context_create.3 \
140*22dc650dSSadaf Ebrahimi  doc/pcre2_convert_context_free.3 \
141*22dc650dSSadaf Ebrahimi  doc/pcre2_converted_pattern_free.3 \
142*22dc650dSSadaf Ebrahimi  doc/pcre2_dfa_match.3 \
143*22dc650dSSadaf Ebrahimi  doc/pcre2_general_context_copy.3 \
144*22dc650dSSadaf Ebrahimi  doc/pcre2_general_context_create.3 \
145*22dc650dSSadaf Ebrahimi  doc/pcre2_general_context_free.3 \
146*22dc650dSSadaf Ebrahimi  doc/pcre2_get_error_message.3 \
147*22dc650dSSadaf Ebrahimi  doc/pcre2_get_mark.3 \
148*22dc650dSSadaf Ebrahimi  doc/pcre2_get_match_data_heapframes_size.3 \
149*22dc650dSSadaf Ebrahimi  doc/pcre2_get_match_data_size.3 \
150*22dc650dSSadaf Ebrahimi  doc/pcre2_get_ovector_count.3 \
151*22dc650dSSadaf Ebrahimi  doc/pcre2_get_ovector_pointer.3 \
152*22dc650dSSadaf Ebrahimi  doc/pcre2_get_startchar.3 \
153*22dc650dSSadaf Ebrahimi  doc/pcre2_jit_compile.3 \
154*22dc650dSSadaf Ebrahimi  doc/pcre2_jit_free_unused_memory.3 \
155*22dc650dSSadaf Ebrahimi  doc/pcre2_jit_match.3 \
156*22dc650dSSadaf Ebrahimi  doc/pcre2_jit_stack_assign.3 \
157*22dc650dSSadaf Ebrahimi  doc/pcre2_jit_stack_create.3 \
158*22dc650dSSadaf Ebrahimi  doc/pcre2_jit_stack_free.3 \
159*22dc650dSSadaf Ebrahimi  doc/pcre2_maketables.3 \
160*22dc650dSSadaf Ebrahimi  doc/pcre2_maketables_free.3 \
161*22dc650dSSadaf Ebrahimi  doc/pcre2_match.3 \
162*22dc650dSSadaf Ebrahimi  doc/pcre2_match_context_copy.3 \
163*22dc650dSSadaf Ebrahimi  doc/pcre2_match_context_create.3 \
164*22dc650dSSadaf Ebrahimi  doc/pcre2_match_context_free.3 \
165*22dc650dSSadaf Ebrahimi  doc/pcre2_match_data_create.3 \
166*22dc650dSSadaf Ebrahimi  doc/pcre2_match_data_create_from_pattern.3 \
167*22dc650dSSadaf Ebrahimi  doc/pcre2_match_data_free.3 \
168*22dc650dSSadaf Ebrahimi  doc/pcre2_pattern_convert.3 \
169*22dc650dSSadaf Ebrahimi  doc/pcre2_pattern_info.3 \
170*22dc650dSSadaf Ebrahimi  doc/pcre2_serialize_decode.3 \
171*22dc650dSSadaf Ebrahimi  doc/pcre2_serialize_encode.3 \
172*22dc650dSSadaf Ebrahimi  doc/pcre2_serialize_free.3 \
173*22dc650dSSadaf Ebrahimi  doc/pcre2_serialize_get_number_of_codes.3 \
174*22dc650dSSadaf Ebrahimi  doc/pcre2_set_bsr.3 \
175*22dc650dSSadaf Ebrahimi  doc/pcre2_set_callout.3 \
176*22dc650dSSadaf Ebrahimi  doc/pcre2_set_character_tables.3 \
177*22dc650dSSadaf Ebrahimi  doc/pcre2_set_compile_extra_options.3 \
178*22dc650dSSadaf Ebrahimi  doc/pcre2_set_compile_recursion_guard.3 \
179*22dc650dSSadaf Ebrahimi  doc/pcre2_set_depth_limit.3 \
180*22dc650dSSadaf Ebrahimi  doc/pcre2_set_glob_escape.3 \
181*22dc650dSSadaf Ebrahimi  doc/pcre2_set_glob_separator.3 \
182*22dc650dSSadaf Ebrahimi  doc/pcre2_set_heap_limit.3 \
183*22dc650dSSadaf Ebrahimi  doc/pcre2_set_match_limit.3 \
184*22dc650dSSadaf Ebrahimi  doc/pcre2_set_max_pattern_compiled_length.3 \
185*22dc650dSSadaf Ebrahimi  doc/pcre2_set_max_pattern_length.3 \
186*22dc650dSSadaf Ebrahimi  doc/pcre2_set_max_varlookbehind.3 \
187*22dc650dSSadaf Ebrahimi  doc/pcre2_set_offset_limit.3 \
188*22dc650dSSadaf Ebrahimi  doc/pcre2_set_newline.3 \
189*22dc650dSSadaf Ebrahimi  doc/pcre2_set_parens_nest_limit.3 \
190*22dc650dSSadaf Ebrahimi  doc/pcre2_set_recursion_limit.3 \
191*22dc650dSSadaf Ebrahimi  doc/pcre2_set_recursion_memory_management.3 \
192*22dc650dSSadaf Ebrahimi  doc/pcre2_set_substitute_callout.3 \
193*22dc650dSSadaf Ebrahimi  doc/pcre2_substitute.3 \
194*22dc650dSSadaf Ebrahimi  doc/pcre2_substring_copy_byname.3 \
195*22dc650dSSadaf Ebrahimi  doc/pcre2_substring_copy_bynumber.3 \
196*22dc650dSSadaf Ebrahimi  doc/pcre2_substring_free.3 \
197*22dc650dSSadaf Ebrahimi  doc/pcre2_substring_get_byname.3 \
198*22dc650dSSadaf Ebrahimi  doc/pcre2_substring_get_bynumber.3 \
199*22dc650dSSadaf Ebrahimi  doc/pcre2_substring_length_byname.3 \
200*22dc650dSSadaf Ebrahimi  doc/pcre2_substring_length_bynumber.3 \
201*22dc650dSSadaf Ebrahimi  doc/pcre2_substring_list_free.3 \
202*22dc650dSSadaf Ebrahimi  doc/pcre2_substring_list_get.3 \
203*22dc650dSSadaf Ebrahimi  doc/pcre2_substring_nametable_scan.3 \
204*22dc650dSSadaf Ebrahimi  doc/pcre2_substring_number_from_name.3 \
205*22dc650dSSadaf Ebrahimi  doc/pcre2api.3 \
206*22dc650dSSadaf Ebrahimi  doc/pcre2build.3 \
207*22dc650dSSadaf Ebrahimi  doc/pcre2callout.3 \
208*22dc650dSSadaf Ebrahimi  doc/pcre2compat.3 \
209*22dc650dSSadaf Ebrahimi  doc/pcre2convert.3 \
210*22dc650dSSadaf Ebrahimi  doc/pcre2demo.3 \
211*22dc650dSSadaf Ebrahimi  doc/pcre2grep.1 \
212*22dc650dSSadaf Ebrahimi  doc/pcre2jit.3 \
213*22dc650dSSadaf Ebrahimi  doc/pcre2limits.3 \
214*22dc650dSSadaf Ebrahimi  doc/pcre2matching.3 \
215*22dc650dSSadaf Ebrahimi  doc/pcre2partial.3 \
216*22dc650dSSadaf Ebrahimi  doc/pcre2pattern.3 \
217*22dc650dSSadaf Ebrahimi  doc/pcre2perform.3 \
218*22dc650dSSadaf Ebrahimi  doc/pcre2posix.3 \
219*22dc650dSSadaf Ebrahimi  doc/pcre2sample.3 \
220*22dc650dSSadaf Ebrahimi  doc/pcre2serialize.3 \
221*22dc650dSSadaf Ebrahimi  doc/pcre2syntax.3 \
222*22dc650dSSadaf Ebrahimi  doc/pcre2test.1 \
223*22dc650dSSadaf Ebrahimi  doc/pcre2unicode.3
224*22dc650dSSadaf Ebrahimi
225*22dc650dSSadaf Ebrahimi# The Libtool libraries to install.  We'll add to this later.
226*22dc650dSSadaf Ebrahimi
227*22dc650dSSadaf Ebrahimilib_LTLIBRARIES =
228*22dc650dSSadaf Ebrahimi
229*22dc650dSSadaf Ebrahimi# Unit tests you want to run when people type 'make check'.
230*22dc650dSSadaf Ebrahimi# TESTS is for binary unit tests, check_SCRIPTS for script-based tests
231*22dc650dSSadaf Ebrahimi
232*22dc650dSSadaf EbrahimiTESTS =
233*22dc650dSSadaf Ebrahimicheck_SCRIPTS =
234*22dc650dSSadaf Ebrahimidist_noinst_SCRIPTS =
235*22dc650dSSadaf Ebrahimi
236*22dc650dSSadaf Ebrahimi# Some of the binaries we make are to be installed, and others are
237*22dc650dSSadaf Ebrahimi# (non-user-visible) helper programs needed to build the libraries.
238*22dc650dSSadaf Ebrahimi
239*22dc650dSSadaf Ebrahimibin_PROGRAMS =
240*22dc650dSSadaf Ebrahiminoinst_PROGRAMS =
241*22dc650dSSadaf Ebrahimi
242*22dc650dSSadaf Ebrahimi# Additional files to delete on 'make clean', 'make distclean',
243*22dc650dSSadaf Ebrahimi# and 'make maintainer-clean'. It turns out that the default is to delete only
244*22dc650dSSadaf Ebrahimi# those binaries that *this* configuration has created. If the configuration
245*22dc650dSSadaf Ebrahimi# has been changed, some binaries may not get automatically deleted. Therefore
246*22dc650dSSadaf Ebrahimi# we list them here.
247*22dc650dSSadaf Ebrahimi
248*22dc650dSSadaf EbrahimiCLEANFILES = \
249*22dc650dSSadaf Ebrahimi  pcre2_dftables \
250*22dc650dSSadaf Ebrahimi  pcre2_jit_test \
251*22dc650dSSadaf Ebrahimi  pcre2fuzzcheck-8 \
252*22dc650dSSadaf Ebrahimi  pcre2fuzzcheck-16 \
253*22dc650dSSadaf Ebrahimi  pcre2fuzzcheck-32 \
254*22dc650dSSadaf Ebrahimi  pcre2demo
255*22dc650dSSadaf Ebrahimi
256*22dc650dSSadaf EbrahimiDISTCLEANFILES = src/config.h.in~
257*22dc650dSSadaf EbrahimiMAINTAINERCLEANFILES =
258*22dc650dSSadaf Ebrahimi
259*22dc650dSSadaf Ebrahimi# Additional files to bundle with the distribution, over and above what
260*22dc650dSSadaf Ebrahimi# the Autotools include by default.
261*22dc650dSSadaf Ebrahimi
262*22dc650dSSadaf EbrahimiEXTRA_DIST =
263*22dc650dSSadaf Ebrahimi
264*22dc650dSSadaf Ebrahimi# These files contain additional m4 macros that are used by autoconf.
265*22dc650dSSadaf Ebrahimi
266*22dc650dSSadaf EbrahimiEXTRA_DIST += \
267*22dc650dSSadaf Ebrahimi  m4/ax_pthread.m4 m4/pcre2_visibility.m4
268*22dc650dSSadaf Ebrahimi
269*22dc650dSSadaf Ebrahimi# These files contain maintenance information
270*22dc650dSSadaf Ebrahimi
271*22dc650dSSadaf EbrahimiEXTRA_DIST += \
272*22dc650dSSadaf Ebrahimi  NON-AUTOTOOLS-BUILD \
273*22dc650dSSadaf Ebrahimi  HACKING
274*22dc650dSSadaf Ebrahimi
275*22dc650dSSadaf Ebrahimi# These are support files for building under VMS
276*22dc650dSSadaf Ebrahimi
277*22dc650dSSadaf EbrahimiEXTRA_DIST += \
278*22dc650dSSadaf Ebrahimi  vms/configure.com \
279*22dc650dSSadaf Ebrahimi  vms/openvms_readme.txt \
280*22dc650dSSadaf Ebrahimi  vms/pcre2.h_patch \
281*22dc650dSSadaf Ebrahimi  vms/stdint.h
282*22dc650dSSadaf Ebrahimi
283*22dc650dSSadaf Ebrahimi# These files are used in the preparation of a release
284*22dc650dSSadaf Ebrahimi
285*22dc650dSSadaf EbrahimiEXTRA_DIST += \
286*22dc650dSSadaf Ebrahimi  PrepareRelease \
287*22dc650dSSadaf Ebrahimi  CheckMan \
288*22dc650dSSadaf Ebrahimi  CleanTxt \
289*22dc650dSSadaf Ebrahimi  Detrail \
290*22dc650dSSadaf Ebrahimi  132html \
291*22dc650dSSadaf Ebrahimi  doc/index.html.src
292*22dc650dSSadaf Ebrahimi
293*22dc650dSSadaf Ebrahimi# These files are usable versions of pcre2.h and config.h that are distributed
294*22dc650dSSadaf Ebrahimi# for the benefit of people who are building PCRE2 manually, without the
295*22dc650dSSadaf Ebrahimi# Autotools support.
296*22dc650dSSadaf Ebrahimi
297*22dc650dSSadaf EbrahimiEXTRA_DIST += \
298*22dc650dSSadaf Ebrahimi  src/pcre2.h.generic \
299*22dc650dSSadaf Ebrahimi  src/config.h.generic
300*22dc650dSSadaf Ebrahimi
301*22dc650dSSadaf Ebrahimi# The only difference between pcre2.h.in and pcre2.h is the setting of the PCRE
302*22dc650dSSadaf Ebrahimi# version number. Therefore, we can create the generic version just by copying.
303*22dc650dSSadaf Ebrahimi
304*22dc650dSSadaf Ebrahimisrc/pcre2.h.generic: src/pcre2.h.in configure.ac
305*22dc650dSSadaf Ebrahimi	rm -f $@
306*22dc650dSSadaf Ebrahimi	cp -p src/pcre2.h $@
307*22dc650dSSadaf Ebrahimi
308*22dc650dSSadaf Ebrahimi# It is more complicated for config.h.generic. We need the version that results
309*22dc650dSSadaf Ebrahimi# from a default configuration so as to get all the default values for PCRE
310*22dc650dSSadaf Ebrahimi# configuration macros such as MATCH_LIMIT and NEWLINE. We can get this by
311*22dc650dSSadaf Ebrahimi# doing a configure in a temporary directory. However, some trickery is needed,
312*22dc650dSSadaf Ebrahimi# because the source directory may already be configured. If you just try
313*22dc650dSSadaf Ebrahimi# running configure in a new directory, it complains. For this reason, we move
314*22dc650dSSadaf Ebrahimi# config.status out of the way while doing the default configuration. The
315*22dc650dSSadaf Ebrahimi# resulting config.h is munged by perl to put #ifdefs round any #defines for
316*22dc650dSSadaf Ebrahimi# macros with values, and to #undef all boolean macros such as HAVE_xxx and
317*22dc650dSSadaf Ebrahimi# SUPPORT_xxx. We also get rid of any gcc-specific visibility settings.
318*22dc650dSSadaf Ebrahimi
319*22dc650dSSadaf Ebrahimisrc/config.h.generic: configure.ac
320*22dc650dSSadaf Ebrahimi	rm -rf $@ _generic
321*22dc650dSSadaf Ebrahimi	mkdir _generic
322*22dc650dSSadaf Ebrahimi	cs=$(srcdir)/config.status; test ! -f $$cs || mv -f $$cs $$cs.aside
323*22dc650dSSadaf Ebrahimi	cd _generic && $(abs_top_srcdir)/configure || :
324*22dc650dSSadaf Ebrahimi	cs=$(srcdir)/config.status; test ! -f $$cs.aside || mv -f $$cs.aside $$cs
325*22dc650dSSadaf Ebrahimi	test -f _generic/src/config.h
326*22dc650dSSadaf Ebrahimi	perl -n \
327*22dc650dSSadaf Ebrahimi	  -e 'BEGIN{$$blank=0;}' \
328*22dc650dSSadaf Ebrahimi	  -e 'if(/(.+?)\s*__attribute__ \(\(visibility/){print"$$1\n";$$blank=0;next;}' \
329*22dc650dSSadaf Ebrahimi	  -e 'if(/LT_OBJDIR/){print"/* This is ignored unless you are using libtool. */\n";}' \
330*22dc650dSSadaf Ebrahimi	  -e 'if(/^#define\s((?:HAVE|SUPPORT|STDC)_\w+)/){print"/* #undef $$1 */\n";$$blank=0;next;}' \
331*22dc650dSSadaf Ebrahimi	  -e 'if(/^#define\s(?!PACKAGE|VERSION)(\w+)/){print"#ifndef $$1\n$$_#endif\n";$$blank=0;next;}' \
332*22dc650dSSadaf Ebrahimi	  -e 'if(/^\s*$$/){print unless $$blank; $$blank=1;} else{print;$$blank=0;}' \
333*22dc650dSSadaf Ebrahimi	  _generic/src/config.h >$@
334*22dc650dSSadaf Ebrahimi	rm -rf _generic
335*22dc650dSSadaf Ebrahimi
336*22dc650dSSadaf EbrahimiMAINTAINERCLEANFILES += src/pcre2.h.generic src/config.h.generic
337*22dc650dSSadaf Ebrahimi
338*22dc650dSSadaf Ebrahimi# These are the header files we'll install. We do not distribute pcre2.h
339*22dc650dSSadaf Ebrahimi# because it is generated from pcre2.h.in.
340*22dc650dSSadaf Ebrahimi
341*22dc650dSSadaf Ebrahiminodist_include_HEADERS = src/pcre2.h
342*22dc650dSSadaf Ebrahimiinclude_HEADERS = src/pcre2posix.h
343*22dc650dSSadaf Ebrahimi
344*22dc650dSSadaf Ebrahimi# This is the "config" script.
345*22dc650dSSadaf Ebrahimi
346*22dc650dSSadaf Ebrahimibin_SCRIPTS = pcre2-config
347*22dc650dSSadaf Ebrahimi
348*22dc650dSSadaf Ebrahimi## ---------------------------------------------------------------
349*22dc650dSSadaf Ebrahimi## The pcre2_dftables program is used to rebuild character tables before
350*22dc650dSSadaf Ebrahimi## compiling PCRE2, if --enable-rebuild-chartables is specified. It is not an
351*22dc650dSSadaf Ebrahimi## installed program. The default (when --enable-rebuild-chartables is not
352*22dc650dSSadaf Ebrahimi## specified) is to copy a distributed set of tables that are defined for ASCII
353*22dc650dSSadaf Ebrahimi## code. In this case, pcre2_dftables is not needed.
354*22dc650dSSadaf Ebrahimi
355*22dc650dSSadaf Ebrahimiif WITH_REBUILD_CHARTABLES
356*22dc650dSSadaf Ebrahiminoinst_PROGRAMS += pcre2_dftables
357*22dc650dSSadaf Ebrahimipcre2_dftables_SOURCES = src/pcre2_dftables.c
358*22dc650dSSadaf Ebrahimisrc/pcre2_chartables.c: pcre2_dftables$(EXEEXT)
359*22dc650dSSadaf Ebrahimi	rm -f $@
360*22dc650dSSadaf Ebrahimi	./pcre2_dftables$(EXEEXT) $@
361*22dc650dSSadaf Ebrahimielse
362*22dc650dSSadaf Ebrahimisrc/pcre2_chartables.c: $(srcdir)/src/pcre2_chartables.c.dist
363*22dc650dSSadaf Ebrahimi	rm -f $@
364*22dc650dSSadaf Ebrahimi	$(LN_S) $(abs_srcdir)/src/pcre2_chartables.c.dist $(abs_builddir)/src/pcre2_chartables.c
365*22dc650dSSadaf Ebrahimiendif # WITH_REBUILD_CHARTABLES
366*22dc650dSSadaf Ebrahimi
367*22dc650dSSadaf EbrahimiBUILT_SOURCES = src/pcre2_chartables.c
368*22dc650dSSadaf EbrahimiNODIST_SOURCES = src/pcre2_chartables.c
369*22dc650dSSadaf Ebrahimi
370*22dc650dSSadaf Ebrahimi## Define the list of common sources, then arrange to build whichever of the
371*22dc650dSSadaf Ebrahimi## 8-, 16-, or 32-bit libraries are configured.
372*22dc650dSSadaf Ebrahimi
373*22dc650dSSadaf EbrahimiCOMMON_SOURCES = \
374*22dc650dSSadaf Ebrahimi  src/pcre2_auto_possess.c \
375*22dc650dSSadaf Ebrahimi  src/pcre2_chkdint.c \
376*22dc650dSSadaf Ebrahimi  src/pcre2_compile.c \
377*22dc650dSSadaf Ebrahimi  src/pcre2_config.c \
378*22dc650dSSadaf Ebrahimi  src/pcre2_context.c \
379*22dc650dSSadaf Ebrahimi  src/pcre2_convert.c \
380*22dc650dSSadaf Ebrahimi  src/pcre2_dfa_match.c \
381*22dc650dSSadaf Ebrahimi  src/pcre2_error.c \
382*22dc650dSSadaf Ebrahimi  src/pcre2_extuni.c \
383*22dc650dSSadaf Ebrahimi  src/pcre2_find_bracket.c \
384*22dc650dSSadaf Ebrahimi  src/pcre2_internal.h \
385*22dc650dSSadaf Ebrahimi  src/pcre2_intmodedep.h \
386*22dc650dSSadaf Ebrahimi  src/pcre2_jit_compile.c \
387*22dc650dSSadaf Ebrahimi  src/pcre2_jit_neon_inc.h \
388*22dc650dSSadaf Ebrahimi  src/pcre2_jit_simd_inc.h \
389*22dc650dSSadaf Ebrahimi  src/pcre2_maketables.c \
390*22dc650dSSadaf Ebrahimi  src/pcre2_match.c \
391*22dc650dSSadaf Ebrahimi  src/pcre2_match_data.c \
392*22dc650dSSadaf Ebrahimi  src/pcre2_newline.c \
393*22dc650dSSadaf Ebrahimi  src/pcre2_ord2utf.c \
394*22dc650dSSadaf Ebrahimi  src/pcre2_pattern_info.c \
395*22dc650dSSadaf Ebrahimi  src/pcre2_script_run.c \
396*22dc650dSSadaf Ebrahimi  src/pcre2_serialize.c \
397*22dc650dSSadaf Ebrahimi  src/pcre2_string_utils.c \
398*22dc650dSSadaf Ebrahimi  src/pcre2_study.c \
399*22dc650dSSadaf Ebrahimi  src/pcre2_substitute.c \
400*22dc650dSSadaf Ebrahimi  src/pcre2_substring.c \
401*22dc650dSSadaf Ebrahimi  src/pcre2_tables.c \
402*22dc650dSSadaf Ebrahimi  src/pcre2_ucd.c \
403*22dc650dSSadaf Ebrahimi  src/pcre2_ucp.h \
404*22dc650dSSadaf Ebrahimi  src/pcre2_valid_utf.c \
405*22dc650dSSadaf Ebrahimi  src/pcre2_xclass.c
406*22dc650dSSadaf Ebrahimi
407*22dc650dSSadaf Ebrahimi# The pcre2_ucptables.c file is #included by pcre2_tables.c
408*22dc650dSSadaf Ebrahimi
409*22dc650dSSadaf EbrahimiEXTRA_DIST += src/pcre2_ucptables.c
410*22dc650dSSadaf Ebrahimi
411*22dc650dSSadaf Ebrahimiif WITH_PCRE2_8
412*22dc650dSSadaf Ebrahimilib_LTLIBRARIES += libpcre2-8.la
413*22dc650dSSadaf Ebrahimilibpcre2_8_la_SOURCES = \
414*22dc650dSSadaf Ebrahimi  $(COMMON_SOURCES)
415*22dc650dSSadaf Ebrahiminodist_libpcre2_8_la_SOURCES = \
416*22dc650dSSadaf Ebrahimi  $(NODIST_SOURCES)
417*22dc650dSSadaf Ebrahimilibpcre2_8_la_CFLAGS = \
418*22dc650dSSadaf Ebrahimi  -DPCRE2_CODE_UNIT_WIDTH=8 \
419*22dc650dSSadaf Ebrahimi  $(VISIBILITY_CFLAGS) \
420*22dc650dSSadaf Ebrahimi  $(CET_CFLAGS) \
421*22dc650dSSadaf Ebrahimi  $(AM_CFLAGS)
422*22dc650dSSadaf Ebrahimilibpcre2_8_la_LIBADD =
423*22dc650dSSadaf Ebrahimiendif # WITH_PCRE2_8
424*22dc650dSSadaf Ebrahimi
425*22dc650dSSadaf Ebrahimiif WITH_PCRE2_16
426*22dc650dSSadaf Ebrahimilib_LTLIBRARIES += libpcre2-16.la
427*22dc650dSSadaf Ebrahimilibpcre2_16_la_SOURCES = \
428*22dc650dSSadaf Ebrahimi  $(COMMON_SOURCES)
429*22dc650dSSadaf Ebrahiminodist_libpcre2_16_la_SOURCES = \
430*22dc650dSSadaf Ebrahimi  $(NODIST_SOURCES)
431*22dc650dSSadaf Ebrahimilibpcre2_16_la_CFLAGS = \
432*22dc650dSSadaf Ebrahimi  -DPCRE2_CODE_UNIT_WIDTH=16 \
433*22dc650dSSadaf Ebrahimi  $(VISIBILITY_CFLAGS) \
434*22dc650dSSadaf Ebrahimi  $(CET_CFLAGS) \
435*22dc650dSSadaf Ebrahimi  $(AM_CFLAGS)
436*22dc650dSSadaf Ebrahimilibpcre2_16_la_LIBADD =
437*22dc650dSSadaf Ebrahimiendif # WITH_PCRE2_16
438*22dc650dSSadaf Ebrahimi
439*22dc650dSSadaf Ebrahimiif WITH_PCRE2_32
440*22dc650dSSadaf Ebrahimilib_LTLIBRARIES += libpcre2-32.la
441*22dc650dSSadaf Ebrahimilibpcre2_32_la_SOURCES = \
442*22dc650dSSadaf Ebrahimi  $(COMMON_SOURCES)
443*22dc650dSSadaf Ebrahiminodist_libpcre2_32_la_SOURCES = \
444*22dc650dSSadaf Ebrahimi  $(NODIST_SOURCES)
445*22dc650dSSadaf Ebrahimilibpcre2_32_la_CFLAGS = \
446*22dc650dSSadaf Ebrahimi  -DPCRE2_CODE_UNIT_WIDTH=32 \
447*22dc650dSSadaf Ebrahimi  $(VISIBILITY_CFLAGS) \
448*22dc650dSSadaf Ebrahimi  $(CET_CFLAGS) \
449*22dc650dSSadaf Ebrahimi  $(AM_CFLAGS)
450*22dc650dSSadaf Ebrahimilibpcre2_32_la_LIBADD =
451*22dc650dSSadaf Ebrahimiendif # WITH_PCRE2_32
452*22dc650dSSadaf Ebrahimi
453*22dc650dSSadaf Ebrahimi# The pcre2_chartables.c.dist file is the default version of
454*22dc650dSSadaf Ebrahimi# pcre2_chartables.c, used unless --enable-rebuild-chartables is specified.
455*22dc650dSSadaf Ebrahimi
456*22dc650dSSadaf EbrahimiEXTRA_DIST += src/pcre2_chartables.c.dist
457*22dc650dSSadaf EbrahimiCLEANFILES += src/pcre2_chartables.c
458*22dc650dSSadaf Ebrahimi
459*22dc650dSSadaf Ebrahimi# The JIT compiler lives in a separate directory, but its files are #included
460*22dc650dSSadaf Ebrahimi# when pcre2_jit_compile.c is processed, so they must be distributed.
461*22dc650dSSadaf Ebrahimi
462*22dc650dSSadaf EbrahimiEXTRA_DIST += \
463*22dc650dSSadaf Ebrahimi  src/sljit/sljitConfig.h \
464*22dc650dSSadaf Ebrahimi  src/sljit/sljitConfigCPU.h \
465*22dc650dSSadaf Ebrahimi  src/sljit/sljitConfigInternal.h \
466*22dc650dSSadaf Ebrahimi  src/sljit/sljitLir.c \
467*22dc650dSSadaf Ebrahimi  src/sljit/sljitLir.h \
468*22dc650dSSadaf Ebrahimi  src/sljit/sljitNativeARM_32.c \
469*22dc650dSSadaf Ebrahimi  src/sljit/sljitNativeARM_64.c \
470*22dc650dSSadaf Ebrahimi  src/sljit/sljitNativeARM_T2_32.c \
471*22dc650dSSadaf Ebrahimi  src/sljit/sljitNativeLOONGARCH_64.c \
472*22dc650dSSadaf Ebrahimi  src/sljit/sljitNativeMIPS_32.c \
473*22dc650dSSadaf Ebrahimi  src/sljit/sljitNativeMIPS_64.c \
474*22dc650dSSadaf Ebrahimi  src/sljit/sljitNativeMIPS_common.c \
475*22dc650dSSadaf Ebrahimi  src/sljit/sljitNativePPC_32.c \
476*22dc650dSSadaf Ebrahimi  src/sljit/sljitNativePPC_64.c \
477*22dc650dSSadaf Ebrahimi  src/sljit/sljitNativePPC_common.c \
478*22dc650dSSadaf Ebrahimi  src/sljit/sljitNativeRISCV_32.c \
479*22dc650dSSadaf Ebrahimi  src/sljit/sljitNativeRISCV_64.c \
480*22dc650dSSadaf Ebrahimi  src/sljit/sljitNativeRISCV_common.c \
481*22dc650dSSadaf Ebrahimi  src/sljit/sljitNativeS390X.c \
482*22dc650dSSadaf Ebrahimi  src/sljit/sljitNativeX86_32.c \
483*22dc650dSSadaf Ebrahimi  src/sljit/sljitNativeX86_64.c \
484*22dc650dSSadaf Ebrahimi  src/sljit/sljitNativeX86_common.c \
485*22dc650dSSadaf Ebrahimi  src/sljit/sljitSerialize.c \
486*22dc650dSSadaf Ebrahimi  src/sljit/sljitUtils.c \
487*22dc650dSSadaf Ebrahimi  src/sljit/allocator_src/sljitExecAllocatorApple.c \
488*22dc650dSSadaf Ebrahimi  src/sljit/allocator_src/sljitExecAllocatorCore.c \
489*22dc650dSSadaf Ebrahimi  src/sljit/allocator_src/sljitExecAllocatorFreeBSD.c \
490*22dc650dSSadaf Ebrahimi  src/sljit/allocator_src/sljitExecAllocatorPosix.c \
491*22dc650dSSadaf Ebrahimi  src/sljit/allocator_src/sljitExecAllocatorWindows.c \
492*22dc650dSSadaf Ebrahimi  src/sljit/allocator_src/sljitProtExecAllocatorNetBSD.c \
493*22dc650dSSadaf Ebrahimi  src/sljit/allocator_src/sljitProtExecAllocatorPosix.c \
494*22dc650dSSadaf Ebrahimi  src/sljit/allocator_src/sljitWXExecAllocatorPosix.c \
495*22dc650dSSadaf Ebrahimi  src/sljit/allocator_src/sljitWXExecAllocatorWindows.c
496*22dc650dSSadaf Ebrahimi
497*22dc650dSSadaf Ebrahimi# Some of the JIT sources are also in separate files that are #included.
498*22dc650dSSadaf Ebrahimi
499*22dc650dSSadaf EbrahimiEXTRA_DIST += \
500*22dc650dSSadaf Ebrahimi  src/pcre2_jit_match.c \
501*22dc650dSSadaf Ebrahimi  src/pcre2_jit_misc.c
502*22dc650dSSadaf Ebrahimi
503*22dc650dSSadaf Ebrahimiif WITH_PCRE2_8
504*22dc650dSSadaf Ebrahimilibpcre2_8_la_LDFLAGS = $(EXTRA_LIBPCRE2_8_LDFLAGS)
505*22dc650dSSadaf Ebrahimiendif # WITH_PCRE2_8
506*22dc650dSSadaf Ebrahimiif WITH_PCRE2_16
507*22dc650dSSadaf Ebrahimilibpcre2_16_la_LDFLAGS = $(EXTRA_LIBPCRE2_16_LDFLAGS)
508*22dc650dSSadaf Ebrahimiendif # WITH_PCRE2_16
509*22dc650dSSadaf Ebrahimiif WITH_PCRE2_32
510*22dc650dSSadaf Ebrahimilibpcre2_32_la_LDFLAGS = $(EXTRA_LIBPCRE2_32_LDFLAGS)
511*22dc650dSSadaf Ebrahimiendif # WITH_PCRE2_32
512*22dc650dSSadaf Ebrahimi
513*22dc650dSSadaf Ebrahimiif WITH_VALGRIND
514*22dc650dSSadaf Ebrahimiif WITH_PCRE2_8
515*22dc650dSSadaf Ebrahimilibpcre2_8_la_CFLAGS += $(VALGRIND_CFLAGS)
516*22dc650dSSadaf Ebrahimiendif # WITH_PCRE2_8
517*22dc650dSSadaf Ebrahimiif WITH_PCRE2_16
518*22dc650dSSadaf Ebrahimilibpcre2_16_la_CFLAGS += $(VALGRIND_CFLAGS)
519*22dc650dSSadaf Ebrahimiendif # WITH_PCRE2_16
520*22dc650dSSadaf Ebrahimiif WITH_PCRE2_32
521*22dc650dSSadaf Ebrahimilibpcre2_32_la_CFLAGS += $(VALGRIND_CFLAGS)
522*22dc650dSSadaf Ebrahimiendif # WITH_PCRE2_32
523*22dc650dSSadaf Ebrahimiendif # WITH_VALGRIND
524*22dc650dSSadaf Ebrahimi
525*22dc650dSSadaf Ebrahimiif WITH_GCOV
526*22dc650dSSadaf Ebrahimiif WITH_PCRE2_8
527*22dc650dSSadaf Ebrahimilibpcre2_8_la_CFLAGS += $(GCOV_CFLAGS)
528*22dc650dSSadaf Ebrahimiendif # WITH_PCRE2_8
529*22dc650dSSadaf Ebrahimiif WITH_PCRE2_16
530*22dc650dSSadaf Ebrahimilibpcre2_16_la_CFLAGS += $(GCOV_CFLAGS)
531*22dc650dSSadaf Ebrahimiendif # WITH_PCRE2_16
532*22dc650dSSadaf Ebrahimiif WITH_PCRE2_32
533*22dc650dSSadaf Ebrahimilibpcre2_32_la_CFLAGS += $(GCOV_CFLAGS)
534*22dc650dSSadaf Ebrahimiendif # WITH_PCRE2_32
535*22dc650dSSadaf Ebrahimiendif # WITH_GCOV
536*22dc650dSSadaf Ebrahimi
537*22dc650dSSadaf Ebrahimi## A version of the 8-bit library that has a POSIX API.
538*22dc650dSSadaf Ebrahimi
539*22dc650dSSadaf Ebrahimiif WITH_PCRE2_8
540*22dc650dSSadaf Ebrahimilib_LTLIBRARIES += libpcre2-posix.la
541*22dc650dSSadaf Ebrahimilibpcre2_posix_la_SOURCES = src/pcre2posix.c
542*22dc650dSSadaf Ebrahimilibpcre2_posix_la_CFLAGS = \
543*22dc650dSSadaf Ebrahimi  -DPCRE2_CODE_UNIT_WIDTH=8 @PCRE2POSIX_CFLAG@ \
544*22dc650dSSadaf Ebrahimi  $(VISIBILITY_CFLAGS) $(AM_CFLAGS)
545*22dc650dSSadaf Ebrahimilibpcre2_posix_la_LDFLAGS = $(EXTRA_LIBPCRE2_POSIX_LDFLAGS)
546*22dc650dSSadaf Ebrahimilibpcre2_posix_la_LIBADD = libpcre2-8.la
547*22dc650dSSadaf Ebrahimiif WITH_GCOV
548*22dc650dSSadaf Ebrahimilibpcre2_posix_la_CFLAGS += $(GCOV_CFLAGS)
549*22dc650dSSadaf Ebrahimiendif # WITH_GCOV
550*22dc650dSSadaf Ebrahimiendif # WITH_PCRE2_8
551*22dc650dSSadaf Ebrahimi
552*22dc650dSSadaf Ebrahimi## Build pcre2grep and optional fuzzer stuff if the 8-bit library is enabled
553*22dc650dSSadaf Ebrahimi
554*22dc650dSSadaf Ebrahimiif WITH_PCRE2_8
555*22dc650dSSadaf Ebrahimibin_PROGRAMS += pcre2grep
556*22dc650dSSadaf Ebrahimipcre2grep_SOURCES = src/pcre2grep.c
557*22dc650dSSadaf Ebrahimipcre2grep_CFLAGS = $(AM_CFLAGS)
558*22dc650dSSadaf Ebrahimipcre2grep_LDADD = $(LIBZ) $(LIBBZ2)
559*22dc650dSSadaf Ebrahimipcre2grep_LDADD += libpcre2-8.la
560*22dc650dSSadaf Ebrahimiif WITH_GCOV
561*22dc650dSSadaf Ebrahimipcre2grep_CFLAGS += $(GCOV_CFLAGS)
562*22dc650dSSadaf Ebrahimipcre2grep_LDADD += $(GCOV_LIBS)
563*22dc650dSSadaf Ebrahimiendif # WITH_GCOV
564*22dc650dSSadaf Ebrahimiendif # WITH_PCRE2_8
565*22dc650dSSadaf Ebrahimi
566*22dc650dSSadaf Ebrahimi## If fuzzer support is enabled, build a non-distributed library containing the
567*22dc650dSSadaf Ebrahimi## fuzzing function. Also build the standalone checking binary from the same
568*22dc650dSSadaf Ebrahimi## source but using -DSTANDALONE.
569*22dc650dSSadaf Ebrahimi
570*22dc650dSSadaf Ebrahimiif WITH_FUZZ_SUPPORT
571*22dc650dSSadaf Ebrahiminoinst_LIBRARIES =
572*22dc650dSSadaf Ebrahimiif WITH_PCRE2_8
573*22dc650dSSadaf Ebrahiminoinst_LIBRARIES += .libs/libpcre2-fuzzsupport.a
574*22dc650dSSadaf Ebrahimi_libs_libpcre2_fuzzsupport_a_SOURCES = src/pcre2_fuzzsupport.c
575*22dc650dSSadaf Ebrahimi_libs_libpcre2_fuzzsupport_a_CFLAGS = $(AM_CFLAGS)
576*22dc650dSSadaf Ebrahimi_libs_libpcre2_fuzzsupport_a_LIBADD =
577*22dc650dSSadaf Ebrahimi
578*22dc650dSSadaf Ebrahiminoinst_PROGRAMS += pcre2fuzzcheck-8
579*22dc650dSSadaf Ebrahimipcre2fuzzcheck_8_SOURCES = src/pcre2_fuzzsupport.c
580*22dc650dSSadaf Ebrahimipcre2fuzzcheck_8_CFLAGS = -DSTANDALONE $(AM_CFLAGS)
581*22dc650dSSadaf Ebrahimipcre2fuzzcheck_8_LDADD = libpcre2-8.la
582*22dc650dSSadaf Ebrahimiif WITH_GCOV
583*22dc650dSSadaf Ebrahimipcre2fuzzcheck_8_CFLAGS += $(GCOV_CFLAGS)
584*22dc650dSSadaf Ebrahimipcre2fuzzcheck_8_LDADD += $(GCOV_LIBS)
585*22dc650dSSadaf Ebrahimiendif # WITH_GCOV
586*22dc650dSSadaf Ebrahimiendif # WITH_PCRE2_8
587*22dc650dSSadaf Ebrahimi
588*22dc650dSSadaf Ebrahimiif WITH_PCRE2_16
589*22dc650dSSadaf Ebrahiminoinst_LIBRARIES += .libs/libpcre2-fuzzsupport-16.a
590*22dc650dSSadaf Ebrahimi_libs_libpcre2_fuzzsupport_16_a_SOURCES = src/pcre2_fuzzsupport.c
591*22dc650dSSadaf Ebrahimi_libs_libpcre2_fuzzsupport_16_a_CFLAGS = $(AM_CFLAGS) -DPCRE2_CODE_UNIT_WIDTH=16
592*22dc650dSSadaf Ebrahimi_libs_libpcre2_fuzzsupport_16_a_LIBADD =
593*22dc650dSSadaf Ebrahimi
594*22dc650dSSadaf Ebrahiminoinst_PROGRAMS += pcre2fuzzcheck-16
595*22dc650dSSadaf Ebrahimipcre2fuzzcheck_16_SOURCES = src/pcre2_fuzzsupport.c
596*22dc650dSSadaf Ebrahimipcre2fuzzcheck_16_CFLAGS = -DSTANDALONE $(AM_CFLAGS) -DPCRE2_CODE_UNIT_WIDTH=16
597*22dc650dSSadaf Ebrahimipcre2fuzzcheck_16_LDADD = libpcre2-16.la
598*22dc650dSSadaf Ebrahimiif WITH_GCOV
599*22dc650dSSadaf Ebrahimipcre2fuzzcheck_16_CFLAGS += $(GCOV_CFLAGS)
600*22dc650dSSadaf Ebrahimipcre2fuzzcheck_16_LDADD += $(GCOV_LIBS)
601*22dc650dSSadaf Ebrahimiendif # WITH_GCOV
602*22dc650dSSadaf Ebrahimiendif # WITH_PCRE2_16
603*22dc650dSSadaf Ebrahimi
604*22dc650dSSadaf Ebrahimiif WITH_PCRE2_32
605*22dc650dSSadaf Ebrahiminoinst_LIBRARIES += .libs/libpcre2-fuzzsupport-32.a
606*22dc650dSSadaf Ebrahimi_libs_libpcre2_fuzzsupport_32_a_SOURCES = src/pcre2_fuzzsupport.c
607*22dc650dSSadaf Ebrahimi_libs_libpcre2_fuzzsupport_32_a_CFLAGS = $(AM_CFLAGS) -DPCRE2_CODE_UNIT_WIDTH=32
608*22dc650dSSadaf Ebrahimi_libs_libpcre2_fuzzsupport_32_a_LIBADD =
609*22dc650dSSadaf Ebrahimi
610*22dc650dSSadaf Ebrahiminoinst_PROGRAMS += pcre2fuzzcheck-32
611*22dc650dSSadaf Ebrahimipcre2fuzzcheck_32_SOURCES = src/pcre2_fuzzsupport.c
612*22dc650dSSadaf Ebrahimipcre2fuzzcheck_32_CFLAGS = -DSTANDALONE $(AM_CFLAGS) -DPCRE2_CODE_UNIT_WIDTH=32
613*22dc650dSSadaf Ebrahimipcre2fuzzcheck_32_LDADD = libpcre2-32.la
614*22dc650dSSadaf Ebrahimiif WITH_GCOV
615*22dc650dSSadaf Ebrahimipcre2fuzzcheck_32_CFLAGS += $(GCOV_CFLAGS)
616*22dc650dSSadaf Ebrahimipcre2fuzzcheck_32_LDADD += $(GCOV_LIBS)
617*22dc650dSSadaf Ebrahimiendif # WITH_GCOV
618*22dc650dSSadaf Ebrahimiendif # WITH_PCRE2_32
619*22dc650dSSadaf Ebrahimi
620*22dc650dSSadaf Ebrahimiendif # WITH_FUZZ_SUPPORT
621*22dc650dSSadaf Ebrahimi
622*22dc650dSSadaf Ebrahimi## -------- Testing ----------
623*22dc650dSSadaf Ebrahimi
624*22dc650dSSadaf Ebrahimi## If the 8-bit library is enabled, build the POSIX wrapper test program and
625*22dc650dSSadaf Ebrahimi## arrange for it to run.
626*22dc650dSSadaf Ebrahimi
627*22dc650dSSadaf Ebrahimiif WITH_PCRE2_8
628*22dc650dSSadaf EbrahimiTESTS += pcre2posix_test
629*22dc650dSSadaf Ebrahiminoinst_PROGRAMS += pcre2posix_test
630*22dc650dSSadaf Ebrahimipcre2posix_test_SOURCES = src/pcre2posix_test.c
631*22dc650dSSadaf Ebrahimipcre2posix_test_CFLAGS = $(AM_CFLAGS) @PCRE2POSIX_CFLAG@
632*22dc650dSSadaf Ebrahimipcre2posix_test_LDADD = libpcre2-posix.la libpcre2-8.la
633*22dc650dSSadaf Ebrahimiendif # WITH_PCRE2_8
634*22dc650dSSadaf Ebrahimi
635*22dc650dSSadaf Ebrahimi## If JIT support is enabled, arrange for the JIT test program to run.
636*22dc650dSSadaf Ebrahimi
637*22dc650dSSadaf Ebrahimiif WITH_JIT
638*22dc650dSSadaf EbrahimiTESTS += pcre2_jit_test
639*22dc650dSSadaf Ebrahiminoinst_PROGRAMS += pcre2_jit_test
640*22dc650dSSadaf Ebrahimipcre2_jit_test_SOURCES = src/pcre2_jit_test.c
641*22dc650dSSadaf Ebrahimipcre2_jit_test_CFLAGS = $(AM_CFLAGS)
642*22dc650dSSadaf Ebrahimipcre2_jit_test_LDADD =
643*22dc650dSSadaf Ebrahimiif WITH_PCRE2_8
644*22dc650dSSadaf Ebrahimipcre2_jit_test_LDADD += libpcre2-8.la
645*22dc650dSSadaf Ebrahimiendif # WITH_PCRE2_8
646*22dc650dSSadaf Ebrahimiif WITH_PCRE2_16
647*22dc650dSSadaf Ebrahimipcre2_jit_test_LDADD += libpcre2-16.la
648*22dc650dSSadaf Ebrahimiendif # WITH_PCRE2_16
649*22dc650dSSadaf Ebrahimiif WITH_PCRE2_32
650*22dc650dSSadaf Ebrahimipcre2_jit_test_LDADD += libpcre2-32.la
651*22dc650dSSadaf Ebrahimiendif # WITH_PCRE2_32
652*22dc650dSSadaf Ebrahimiif WITH_GCOV
653*22dc650dSSadaf Ebrahimipcre2_jit_test_CFLAGS += $(GCOV_CFLAGS)
654*22dc650dSSadaf Ebrahimipcre2_jit_test_LDADD += $(GCOV_LIBS)
655*22dc650dSSadaf Ebrahimiendif # WITH_GCOV
656*22dc650dSSadaf Ebrahimiendif # WITH_JIT
657*22dc650dSSadaf Ebrahimi
658*22dc650dSSadaf Ebrahimi# Build the general pcre2test program. The file src/pcre2_printint.c is
659*22dc650dSSadaf Ebrahimi# #included by pcre2test as many times as needed, at different code unit
660*22dc650dSSadaf Ebrahimi# widths.
661*22dc650dSSadaf Ebrahimi
662*22dc650dSSadaf Ebrahimibin_PROGRAMS += pcre2test
663*22dc650dSSadaf EbrahimiEXTRA_DIST += src/pcre2_printint.c
664*22dc650dSSadaf Ebrahimipcre2test_SOURCES = src/pcre2test.c
665*22dc650dSSadaf Ebrahimipcre2test_CFLAGS = $(AM_CFLAGS)
666*22dc650dSSadaf Ebrahimipcre2test_LDADD = $(LIBREADLINE)
667*22dc650dSSadaf Ebrahimi
668*22dc650dSSadaf Ebrahimiif WITH_PCRE2_8
669*22dc650dSSadaf Ebrahimipcre2test_LDADD += libpcre2-8.la libpcre2-posix.la
670*22dc650dSSadaf Ebrahimiendif # WITH_PCRE2_8
671*22dc650dSSadaf Ebrahimi
672*22dc650dSSadaf Ebrahimiif WITH_PCRE2_16
673*22dc650dSSadaf Ebrahimipcre2test_LDADD += libpcre2-16.la
674*22dc650dSSadaf Ebrahimiendif # WITH_PCRE2_16
675*22dc650dSSadaf Ebrahimi
676*22dc650dSSadaf Ebrahimiif WITH_PCRE2_32
677*22dc650dSSadaf Ebrahimipcre2test_LDADD += libpcre2-32.la
678*22dc650dSSadaf Ebrahimiendif # WITH_PCRE2_32
679*22dc650dSSadaf Ebrahimi
680*22dc650dSSadaf Ebrahimiif WITH_VALGRIND
681*22dc650dSSadaf Ebrahimipcre2test_CFLAGS += $(VALGRIND_CFLAGS)
682*22dc650dSSadaf Ebrahimiendif # WITH_VALGRIND
683*22dc650dSSadaf Ebrahimi
684*22dc650dSSadaf Ebrahimiif WITH_GCOV
685*22dc650dSSadaf Ebrahimipcre2test_CFLAGS += $(GCOV_CFLAGS)
686*22dc650dSSadaf Ebrahimipcre2test_LDADD += $(GCOV_LIBS)
687*22dc650dSSadaf Ebrahimiendif # WITH_GCOV
688*22dc650dSSadaf Ebrahimi
689*22dc650dSSadaf Ebrahimi## The main library tests. Each test is a binary plus a script that runs that
690*22dc650dSSadaf Ebrahimi## binary in various ways. We install these test binaries in case folks find it
691*22dc650dSSadaf Ebrahimi## helpful. The two .bat files are for running the tests under Windows.
692*22dc650dSSadaf Ebrahimi
693*22dc650dSSadaf EbrahimiTESTS += RunTest
694*22dc650dSSadaf EbrahimiEXTRA_DIST += RunTest.bat
695*22dc650dSSadaf Ebrahimidist_noinst_SCRIPTS += RunTest
696*22dc650dSSadaf Ebrahimi
697*22dc650dSSadaf Ebrahimi## When the 8-bit library is configured, pcre2grep will have been built.
698*22dc650dSSadaf Ebrahimi
699*22dc650dSSadaf Ebrahimiif WITH_PCRE2_8
700*22dc650dSSadaf EbrahimiTESTS += RunGrepTest
701*22dc650dSSadaf EbrahimiEXTRA_DIST += RunGrepTest.bat
702*22dc650dSSadaf Ebrahimidist_noinst_SCRIPTS += RunGrepTest
703*22dc650dSSadaf Ebrahimiendif # WITH_PCRE2_8
704*22dc650dSSadaf Ebrahimi
705*22dc650dSSadaf Ebrahimi## Distribute all the test data files
706*22dc650dSSadaf Ebrahimi
707*22dc650dSSadaf EbrahimiEXTRA_DIST += \
708*22dc650dSSadaf Ebrahimi  testdata/grepbinary \
709*22dc650dSSadaf Ebrahimi  testdata/grepfilelist \
710*22dc650dSSadaf Ebrahimi  testdata/grepinput \
711*22dc650dSSadaf Ebrahimi  testdata/grepinput3 \
712*22dc650dSSadaf Ebrahimi  testdata/grepinput8 \
713*22dc650dSSadaf Ebrahimi  testdata/grepinputC.bz2 \
714*22dc650dSSadaf Ebrahimi  testdata/grepinputC.gz \
715*22dc650dSSadaf Ebrahimi  testdata/grepinputM \
716*22dc650dSSadaf Ebrahimi  testdata/grepinputv \
717*22dc650dSSadaf Ebrahimi  testdata/grepinputx \
718*22dc650dSSadaf Ebrahimi  testdata/greplist \
719*22dc650dSSadaf Ebrahimi  testdata/grepnot.bz2 \
720*22dc650dSSadaf Ebrahimi  testdata/grepoutput \
721*22dc650dSSadaf Ebrahimi  testdata/grepoutput8 \
722*22dc650dSSadaf Ebrahimi  testdata/grepoutputC \
723*22dc650dSSadaf Ebrahimi  testdata/grepoutputCN \
724*22dc650dSSadaf Ebrahimi  testdata/grepoutputCNU \
725*22dc650dSSadaf Ebrahimi  testdata/grepoutputCU \
726*22dc650dSSadaf Ebrahimi  testdata/grepoutputCbz2 \
727*22dc650dSSadaf Ebrahimi  testdata/grepoutputCgz \
728*22dc650dSSadaf Ebrahimi  testdata/grepoutputN \
729*22dc650dSSadaf Ebrahimi  testdata/grepoutputUN \
730*22dc650dSSadaf Ebrahimi  testdata/greppatN4 \
731*22dc650dSSadaf Ebrahimi  testdata/testbtables \
732*22dc650dSSadaf Ebrahimi  testdata/testinput1 \
733*22dc650dSSadaf Ebrahimi  testdata/testinput2 \
734*22dc650dSSadaf Ebrahimi  testdata/testinput3 \
735*22dc650dSSadaf Ebrahimi  testdata/testinput4 \
736*22dc650dSSadaf Ebrahimi  testdata/testinput5 \
737*22dc650dSSadaf Ebrahimi  testdata/testinput6 \
738*22dc650dSSadaf Ebrahimi  testdata/testinput7 \
739*22dc650dSSadaf Ebrahimi  testdata/testinput8 \
740*22dc650dSSadaf Ebrahimi  testdata/testinput9 \
741*22dc650dSSadaf Ebrahimi  testdata/testinput10 \
742*22dc650dSSadaf Ebrahimi  testdata/testinput11 \
743*22dc650dSSadaf Ebrahimi  testdata/testinput12 \
744*22dc650dSSadaf Ebrahimi  testdata/testinput13 \
745*22dc650dSSadaf Ebrahimi  testdata/testinput14 \
746*22dc650dSSadaf Ebrahimi  testdata/testinput15 \
747*22dc650dSSadaf Ebrahimi  testdata/testinput16 \
748*22dc650dSSadaf Ebrahimi  testdata/testinput17 \
749*22dc650dSSadaf Ebrahimi  testdata/testinput18 \
750*22dc650dSSadaf Ebrahimi  testdata/testinput19 \
751*22dc650dSSadaf Ebrahimi  testdata/testinput20 \
752*22dc650dSSadaf Ebrahimi  testdata/testinput21 \
753*22dc650dSSadaf Ebrahimi  testdata/testinput22 \
754*22dc650dSSadaf Ebrahimi  testdata/testinput23 \
755*22dc650dSSadaf Ebrahimi  testdata/testinput24 \
756*22dc650dSSadaf Ebrahimi  testdata/testinput25 \
757*22dc650dSSadaf Ebrahimi  testdata/testinput26 \
758*22dc650dSSadaf Ebrahimi  testdata/testinputEBC \
759*22dc650dSSadaf Ebrahimi  testdata/testinputheap \
760*22dc650dSSadaf Ebrahimi  testdata/testoutput1 \
761*22dc650dSSadaf Ebrahimi  testdata/testoutput2 \
762*22dc650dSSadaf Ebrahimi  testdata/testoutput3 \
763*22dc650dSSadaf Ebrahimi  testdata/testoutput3A \
764*22dc650dSSadaf Ebrahimi  testdata/testoutput3B \
765*22dc650dSSadaf Ebrahimi  testdata/testoutput4 \
766*22dc650dSSadaf Ebrahimi  testdata/testoutput5 \
767*22dc650dSSadaf Ebrahimi  testdata/testoutput6 \
768*22dc650dSSadaf Ebrahimi  testdata/testoutput7 \
769*22dc650dSSadaf Ebrahimi  testdata/testoutput8-16-2 \
770*22dc650dSSadaf Ebrahimi  testdata/testoutput8-16-3 \
771*22dc650dSSadaf Ebrahimi  testdata/testoutput8-16-4 \
772*22dc650dSSadaf Ebrahimi  testdata/testoutput8-32-2 \
773*22dc650dSSadaf Ebrahimi  testdata/testoutput8-32-3 \
774*22dc650dSSadaf Ebrahimi  testdata/testoutput8-32-4 \
775*22dc650dSSadaf Ebrahimi  testdata/testoutput8-8-2 \
776*22dc650dSSadaf Ebrahimi  testdata/testoutput8-8-3 \
777*22dc650dSSadaf Ebrahimi  testdata/testoutput8-8-4 \
778*22dc650dSSadaf Ebrahimi  testdata/testoutput9 \
779*22dc650dSSadaf Ebrahimi  testdata/testoutput10 \
780*22dc650dSSadaf Ebrahimi  testdata/testoutput11-16 \
781*22dc650dSSadaf Ebrahimi  testdata/testoutput11-32 \
782*22dc650dSSadaf Ebrahimi  testdata/testoutput12-16 \
783*22dc650dSSadaf Ebrahimi  testdata/testoutput12-32 \
784*22dc650dSSadaf Ebrahimi  testdata/testoutput13 \
785*22dc650dSSadaf Ebrahimi  testdata/testoutput14-16 \
786*22dc650dSSadaf Ebrahimi  testdata/testoutput14-32 \
787*22dc650dSSadaf Ebrahimi  testdata/testoutput14-8 \
788*22dc650dSSadaf Ebrahimi  testdata/testoutput15 \
789*22dc650dSSadaf Ebrahimi  testdata/testoutput16 \
790*22dc650dSSadaf Ebrahimi  testdata/testoutput17 \
791*22dc650dSSadaf Ebrahimi  testdata/testoutput18 \
792*22dc650dSSadaf Ebrahimi  testdata/testoutput19 \
793*22dc650dSSadaf Ebrahimi  testdata/testoutput20 \
794*22dc650dSSadaf Ebrahimi  testdata/testoutput21 \
795*22dc650dSSadaf Ebrahimi  testdata/testoutput22-16 \
796*22dc650dSSadaf Ebrahimi  testdata/testoutput22-32 \
797*22dc650dSSadaf Ebrahimi  testdata/testoutput22-8 \
798*22dc650dSSadaf Ebrahimi  testdata/testoutput23 \
799*22dc650dSSadaf Ebrahimi  testdata/testoutput24 \
800*22dc650dSSadaf Ebrahimi  testdata/testoutput25 \
801*22dc650dSSadaf Ebrahimi  testdata/testoutput26 \
802*22dc650dSSadaf Ebrahimi  testdata/testoutputEBC \
803*22dc650dSSadaf Ebrahimi  testdata/testoutputheap-16 \
804*22dc650dSSadaf Ebrahimi  testdata/testoutputheap-32 \
805*22dc650dSSadaf Ebrahimi  testdata/testoutputheap-8 \
806*22dc650dSSadaf Ebrahimi  testdata/valgrind-jit.supp \
807*22dc650dSSadaf Ebrahimi  testdata/wintestinput3 \
808*22dc650dSSadaf Ebrahimi  testdata/wintestoutput3 \
809*22dc650dSSadaf Ebrahimi  perltest.sh
810*22dc650dSSadaf Ebrahimi
811*22dc650dSSadaf Ebrahimi# RunTest and RunGrepTest should clean up after themselves, but just in case
812*22dc650dSSadaf Ebrahimi# they don't, add their working files to CLEANFILES.
813*22dc650dSSadaf Ebrahimi
814*22dc650dSSadaf EbrahimiCLEANFILES += \
815*22dc650dSSadaf Ebrahimi        testSinput \
816*22dc650dSSadaf Ebrahimi        test3input \
817*22dc650dSSadaf Ebrahimi        test3output \
818*22dc650dSSadaf Ebrahimi        test3outputA \
819*22dc650dSSadaf Ebrahimi        test3outputB \
820*22dc650dSSadaf Ebrahimi        testtry \
821*22dc650dSSadaf Ebrahimi        teststdout \
822*22dc650dSSadaf Ebrahimi	teststderr \
823*22dc650dSSadaf Ebrahimi        teststderrgrep \
824*22dc650dSSadaf Ebrahimi        testtemp1grep \
825*22dc650dSSadaf Ebrahimi        testtemp2grep \
826*22dc650dSSadaf Ebrahimi        testtrygrep \
827*22dc650dSSadaf Ebrahimi        testNinputgrep
828*22dc650dSSadaf Ebrahimi
829*22dc650dSSadaf Ebrahimi## ------------ End of testing -------------
830*22dc650dSSadaf Ebrahimi
831*22dc650dSSadaf Ebrahimi
832*22dc650dSSadaf Ebrahimi# PCRE2 demonstration program. Not built automatically. The point is that the
833*22dc650dSSadaf Ebrahimi# users should build it themselves. So just distribute the source.
834*22dc650dSSadaf Ebrahimi
835*22dc650dSSadaf EbrahimiEXTRA_DIST += src/pcre2demo.c
836*22dc650dSSadaf Ebrahimi
837*22dc650dSSadaf Ebrahimi
838*22dc650dSSadaf Ebrahimi# We have .pc files for pkg-config users.
839*22dc650dSSadaf Ebrahimi
840*22dc650dSSadaf Ebrahimipkgconfigdir = $(libdir)/pkgconfig
841*22dc650dSSadaf Ebrahimipkgconfig_DATA =
842*22dc650dSSadaf Ebrahimi
843*22dc650dSSadaf Ebrahimiif WITH_PCRE2_8
844*22dc650dSSadaf Ebrahimipkgconfig_DATA += libpcre2-8.pc libpcre2-posix.pc
845*22dc650dSSadaf Ebrahimiendif
846*22dc650dSSadaf Ebrahimi
847*22dc650dSSadaf Ebrahimiif WITH_PCRE2_16
848*22dc650dSSadaf Ebrahimipkgconfig_DATA += libpcre2-16.pc
849*22dc650dSSadaf Ebrahimiendif
850*22dc650dSSadaf Ebrahimi
851*22dc650dSSadaf Ebrahimiif WITH_PCRE2_32
852*22dc650dSSadaf Ebrahimipkgconfig_DATA += libpcre2-32.pc
853*22dc650dSSadaf Ebrahimiendif
854*22dc650dSSadaf Ebrahimi
855*22dc650dSSadaf Ebrahimi
856*22dc650dSSadaf Ebrahimi# gcov/lcov code coverage reporting
857*22dc650dSSadaf Ebrahimi#
858*22dc650dSSadaf Ebrahimi# Coverage reporting targets:
859*22dc650dSSadaf Ebrahimi#
860*22dc650dSSadaf Ebrahimi# coverage: Create a coverage report from 'make check'
861*22dc650dSSadaf Ebrahimi# coverage-baseline: Capture baseline coverage information
862*22dc650dSSadaf Ebrahimi# coverage-reset: This zeros the coverage counters only
863*22dc650dSSadaf Ebrahimi# coverage-report: This creates the coverage report only
864*22dc650dSSadaf Ebrahimi# coverage-clean-report: This removes the generated coverage report
865*22dc650dSSadaf Ebrahimi#   without cleaning the coverage data itself
866*22dc650dSSadaf Ebrahimi# coverage-clean-data: This removes the captured coverage data without
867*22dc650dSSadaf Ebrahimi#   removing the coverage files created at compile time (*.gcno)
868*22dc650dSSadaf Ebrahimi# coverage-clean: This cleans all coverage data including the generated
869*22dc650dSSadaf Ebrahimi#   coverage report.
870*22dc650dSSadaf Ebrahimi
871*22dc650dSSadaf Ebrahimiif WITH_GCOV
872*22dc650dSSadaf EbrahimiCOVERAGE_TEST_NAME = $(PACKAGE)
873*22dc650dSSadaf EbrahimiCOVERAGE_NAME = $(PACKAGE)-$(VERSION)
874*22dc650dSSadaf EbrahimiCOVERAGE_OUTPUT_FILE = $(COVERAGE_NAME)-coverage.info
875*22dc650dSSadaf EbrahimiCOVERAGE_OUTPUT_DIR = $(COVERAGE_NAME)-coverage
876*22dc650dSSadaf EbrahimiCOVERAGE_LCOV_EXTRA_FLAGS =
877*22dc650dSSadaf EbrahimiCOVERAGE_GENHTML_EXTRA_FLAGS =
878*22dc650dSSadaf Ebrahimi
879*22dc650dSSadaf Ebrahimicoverage_quiet = $(coverage_quiet_$(V))
880*22dc650dSSadaf Ebrahimicoverage_quiet_ = $(coverage_quiet_$(AM_DEFAULT_VERBOSITY))
881*22dc650dSSadaf Ebrahimicoverage_quiet_0 = --quiet
882*22dc650dSSadaf Ebrahimi
883*22dc650dSSadaf Ebrahimicoverage-check: all
884*22dc650dSSadaf Ebrahimi	-$(MAKE) $(AM_MAKEFLAGS) -k check
885*22dc650dSSadaf Ebrahimi
886*22dc650dSSadaf Ebrahimicoverage-baseline:
887*22dc650dSSadaf Ebrahimi	$(LCOV) $(coverage_quiet) \
888*22dc650dSSadaf Ebrahimi		--directory $(top_builddir) \
889*22dc650dSSadaf Ebrahimi		--output-file "$(COVERAGE_OUTPUT_FILE)" \
890*22dc650dSSadaf Ebrahimi		--capture \
891*22dc650dSSadaf Ebrahimi		--initial
892*22dc650dSSadaf Ebrahimi
893*22dc650dSSadaf Ebrahimicoverage-report:
894*22dc650dSSadaf Ebrahimi	$(LCOV) $(coverage_quiet) \
895*22dc650dSSadaf Ebrahimi		--directory $(top_builddir) \
896*22dc650dSSadaf Ebrahimi		--capture \
897*22dc650dSSadaf Ebrahimi		--output-file "$(COVERAGE_OUTPUT_FILE).tmp" \
898*22dc650dSSadaf Ebrahimi		--test-name "$(COVERAGE_TEST_NAME)" \
899*22dc650dSSadaf Ebrahimi		--no-checksum \
900*22dc650dSSadaf Ebrahimi		--compat-libtool \
901*22dc650dSSadaf Ebrahimi		$(COVERAGE_LCOV_EXTRA_FLAGS)
902*22dc650dSSadaf Ebrahimi	$(LCOV) $(coverage_quiet) \
903*22dc650dSSadaf Ebrahimi		--directory $(top_builddir) \
904*22dc650dSSadaf Ebrahimi		--output-file "$(COVERAGE_OUTPUT_FILE)" \
905*22dc650dSSadaf Ebrahimi		--remove "$(COVERAGE_OUTPUT_FILE).tmp" \
906*22dc650dSSadaf Ebrahimi		"/tmp/*" \
907*22dc650dSSadaf Ebrahimi		"/usr/include/*" \
908*22dc650dSSadaf Ebrahimi		"$(includedir)/*"
909*22dc650dSSadaf Ebrahimi	-@rm -f "$(COVERAGE_OUTPUT_FILE).tmp"
910*22dc650dSSadaf Ebrahimi	LANG=C $(GENHTML) $(coverage_quiet) \
911*22dc650dSSadaf Ebrahimi		--prefix $(top_builddir) \
912*22dc650dSSadaf Ebrahimi		--output-directory "$(COVERAGE_OUTPUT_DIR)" \
913*22dc650dSSadaf Ebrahimi		--title "$(PACKAGE) $(VERSION) Code Coverage Report" \
914*22dc650dSSadaf Ebrahimi		--show-details "$(COVERAGE_OUTPUT_FILE)" \
915*22dc650dSSadaf Ebrahimi		--legend \
916*22dc650dSSadaf Ebrahimi		$(COVERAGE_GENHTML_EXTRA_FLAGS)
917*22dc650dSSadaf Ebrahimi	@echo "Code coverage report written to file://$(abs_builddir)/$(COVERAGE_OUTPUT_DIR)/index.html"
918*22dc650dSSadaf Ebrahimi
919*22dc650dSSadaf Ebrahimicoverage-reset:
920*22dc650dSSadaf Ebrahimi	-$(LCOV) $(coverage_quiet) --zerocounters --directory $(top_builddir)
921*22dc650dSSadaf Ebrahimi
922*22dc650dSSadaf Ebrahimicoverage-clean-report:
923*22dc650dSSadaf Ebrahimi	-rm -f "$(COVERAGE_OUTPUT_FILE)" "$(COVERAGE_OUTPUT_FILE).tmp"
924*22dc650dSSadaf Ebrahimi	-rm -rf "$(COVERAGE_OUTPUT_DIR)"
925*22dc650dSSadaf Ebrahimi
926*22dc650dSSadaf Ebrahimicoverage-clean-data:
927*22dc650dSSadaf Ebrahimi	-find $(top_builddir) -name "*.gcda" -delete
928*22dc650dSSadaf Ebrahimi
929*22dc650dSSadaf Ebrahimicoverage-clean: coverage-reset coverage-clean-report coverage-clean-data
930*22dc650dSSadaf Ebrahimi	-find $(top_builddir) -name "*.gcno" -delete
931*22dc650dSSadaf Ebrahimi
932*22dc650dSSadaf Ebrahimicoverage-distclean: coverage-clean
933*22dc650dSSadaf Ebrahimi
934*22dc650dSSadaf Ebrahimicoverage: coverage-reset coverage-baseline coverage-check coverage-report
935*22dc650dSSadaf Ebrahimiclean-local: coverage-clean
936*22dc650dSSadaf Ebrahimidistclean-local: coverage-distclean
937*22dc650dSSadaf Ebrahimi
938*22dc650dSSadaf Ebrahimi.PHONY: coverage coverage-baseline coverage-check coverage-report coverage-reset coverage-clean-report coverage-clean-data coverage-clean coverage-distclean
939*22dc650dSSadaf Ebrahimi
940*22dc650dSSadaf Ebrahimi# Without coverage support, still arrange for 'make distclean' to get rid of
941*22dc650dSSadaf Ebrahimi# any coverage files that may have been left from a different configuration.
942*22dc650dSSadaf Ebrahimi
943*22dc650dSSadaf Ebrahimielse
944*22dc650dSSadaf Ebrahimi
945*22dc650dSSadaf Ebrahimicoverage:
946*22dc650dSSadaf Ebrahimi	@echo "Configuring with --enable-coverage is required to generate code coverage report."
947*22dc650dSSadaf Ebrahimi
948*22dc650dSSadaf EbrahimiDISTCLEANFILES += src/*.gcda src/*.gcno
949*22dc650dSSadaf Ebrahimi
950*22dc650dSSadaf Ebrahimidistclean-local:
951*22dc650dSSadaf Ebrahimi	rm -rf $(PACKAGE)-$(VERSION)-coverage*
952*22dc650dSSadaf Ebrahimi
953*22dc650dSSadaf Ebrahimiendif # WITH_GCOV
954*22dc650dSSadaf Ebrahimi
955*22dc650dSSadaf Ebrahimi## CMake support
956*22dc650dSSadaf Ebrahimi
957*22dc650dSSadaf EbrahimiEXTRA_DIST += \
958*22dc650dSSadaf Ebrahimi  cmake/COPYING-CMAKE-SCRIPTS \
959*22dc650dSSadaf Ebrahimi  cmake/FindEditline.cmake \
960*22dc650dSSadaf Ebrahimi  cmake/FindPackageHandleStandardArgs.cmake \
961*22dc650dSSadaf Ebrahimi  cmake/FindReadline.cmake \
962*22dc650dSSadaf Ebrahimi  cmake/pcre2-config-version.cmake.in \
963*22dc650dSSadaf Ebrahimi  cmake/pcre2-config.cmake.in \
964*22dc650dSSadaf Ebrahimi  CMakeLists.txt \
965*22dc650dSSadaf Ebrahimi  config-cmake.h.in
966*22dc650dSSadaf Ebrahimi
967*22dc650dSSadaf Ebrahimi## end Makefile.am
968