chiark / gitweb /
pcre3 (2:8.35-3.3) unstable; urgency=medium
[pcre3.git] / .pc / pcre_info.patch / Makefile.am
1 ## Process this file with automake to produce Makefile.in.
2
3 ACLOCAL_AMFLAGS = -I m4
4
5 dist_doc_DATA = \
6   doc/pcre.txt \
7   doc/pcre-config.txt \
8   doc/pcregrep.txt \
9   doc/pcretest.txt \
10   AUTHORS \
11   COPYING \
12   ChangeLog \
13   LICENCE \
14   NEWS \
15   README
16
17 # Note that pcrecpp.html is not in this list; it is listed separately below.
18
19 dist_html_DATA = \
20   doc/html/NON-AUTOTOOLS-BUILD.txt \
21   doc/html/README.txt \
22   doc/html/index.html \
23   doc/html/pcre-config.html \
24   doc/html/pcre.html \
25   doc/html/pcre16.html \
26   doc/html/pcre32.html \
27   doc/html/pcre_assign_jit_stack.html \
28   doc/html/pcre_compile.html \
29   doc/html/pcre_compile2.html \
30   doc/html/pcre_config.html \
31   doc/html/pcre_copy_named_substring.html \
32   doc/html/pcre_copy_substring.html \
33   doc/html/pcre_dfa_exec.html \
34   doc/html/pcre_exec.html \
35   doc/html/pcre_free_study.html \
36   doc/html/pcre_free_substring.html \
37   doc/html/pcre_free_substring_list.html \
38   doc/html/pcre_fullinfo.html \
39   doc/html/pcre_get_named_substring.html \
40   doc/html/pcre_get_stringnumber.html \
41   doc/html/pcre_get_stringtable_entries.html \
42   doc/html/pcre_get_substring.html \
43   doc/html/pcre_get_substring_list.html \
44   doc/html/pcre_jit_exec.html \
45   doc/html/pcre_jit_stack_alloc.html \
46   doc/html/pcre_jit_stack_free.html \
47   doc/html/pcre_maketables.html \
48   doc/html/pcre_pattern_to_host_byte_order.html \
49   doc/html/pcre_refcount.html \
50   doc/html/pcre_study.html \
51   doc/html/pcre_utf16_to_host_byte_order.html \
52   doc/html/pcre_utf32_to_host_byte_order.html \
53   doc/html/pcre_version.html \
54   doc/html/pcreapi.html \
55   doc/html/pcrebuild.html \
56   doc/html/pcrecallout.html \
57   doc/html/pcrecompat.html \
58   doc/html/pcredemo.html \
59   doc/html/pcregrep.html \
60   doc/html/pcrejit.html \
61   doc/html/pcrelimits.html \
62   doc/html/pcrematching.html \
63   doc/html/pcrepartial.html \
64   doc/html/pcrepattern.html \
65   doc/html/pcreperform.html \
66   doc/html/pcreposix.html \
67   doc/html/pcreprecompile.html \
68   doc/html/pcresample.html \
69   doc/html/pcrestack.html \
70   doc/html/pcresyntax.html \
71   doc/html/pcretest.html \
72   doc/html/pcreunicode.html
73
74 pcrecpp_html = doc/html/pcrecpp.html
75 dist_noinst_DATA = $(pcrecpp_html)
76
77 if WITH_PCRE_CPP
78 html_DATA = $(pcrecpp_html)
79 endif
80
81 # The Libtool libraries to install.  We'll add to this later.
82 lib_LTLIBRARIES =
83
84 # Unit tests you want to run when people type 'make check'.
85 # TESTS is for binary unit tests, check_SCRIPTS for script-based tests
86 TESTS =
87 check_SCRIPTS =
88 dist_noinst_SCRIPTS =
89
90 # Some of the binaries we make are to be installed, and others are
91 # (non-user-visible) helper programs needed to build libpcre, libpcre16
92 # or libpcre32.
93 bin_PROGRAMS =
94 noinst_PROGRAMS =
95
96 # Additional files to delete on 'make clean' and 'make maintainer-clean'.
97 CLEANFILES =
98 MAINTAINERCLEANFILES =
99
100 # Additional files to bundle with the distribution, over and above what
101 # the Autotools include by default.
102 EXTRA_DIST =
103
104 # These files contain additional m4 macros that are used by autoconf.
105 EXTRA_DIST += \
106   m4/ax_pthread.m4 m4/pcre_visibility.m4
107
108 # These files contain maintenance information
109 EXTRA_DIST += \
110   doc/perltest.txt \
111   NON-UNIX-USE \
112   NON-AUTOTOOLS-BUILD \
113   HACKING
114
115 # These files are used in the preparation of a release
116 EXTRA_DIST += \
117   PrepareRelease \
118   CheckMan \
119   CleanTxt \
120   Detrail \
121   132html \
122   doc/index.html.src
123
124 # These files are to do with building for Virtual Pascal
125 EXTRA_DIST += \
126   makevp.bat \
127   makevp_c.txt \
128   makevp_l.txt \
129   pcregexp.pas
130
131 # These files are usable versions of pcre.h and config.h that are distributed
132 # for the benefit of people who are building PCRE manually, without the
133 # Autotools support.
134 EXTRA_DIST += \
135   pcre.h.generic \
136   config.h.generic
137
138 # The only difference between pcre.h.in and pcre.h is the setting of the PCRE
139 # version number. Therefore, we can create the generic version just by copying.
140 pcre.h.generic: pcre.h.in configure.ac
141         rm -f $@
142         cp -p pcre.h $@
143
144 # It is more complicated for config.h.generic. We need the version that results
145 # from a default configuration so as to get all the default values for PCRE
146 # configuration macros such as MATCH_LIMIT and NEWLINE. We can get this by
147 # doing a configure in a temporary directory. However, some trickery is needed,
148 # because the source directory may already be configured. If you just try
149 # running configure in a new directory, it complains. For this reason, we move
150 # config.status out of the way while doing the default configuration. The
151 # resulting config.h is munged by perl to put #ifdefs round any #defines for
152 # macros with values, and to #undef all boolean macros such as HAVE_xxx and
153 # SUPPORT_xxx. We also get rid of any gcc-specific visibility settings. Make
154 # sure that PCRE_EXP_DEFN is unset (in case it has visibility settings).
155 config.h.generic: configure.ac
156         rm -rf $@ _generic
157         mkdir _generic
158         cs=$(srcdir)/config.status; test ! -f $$cs || mv -f $$cs $$cs.aside
159         cd _generic && $(abs_top_srcdir)/configure || :
160         cs=$(srcdir)/config.status; test ! -f $$cs.aside || mv -f $$cs.aside $$cs
161         test -f _generic/config.h
162         perl -n \
163           -e 'BEGIN{$$blank=0;}' \
164           -e 'if(/PCRE_EXP_DEFN/){print"/* #undef PCRE_EXP_DEFN */\n";$$blank=0;next;}' \
165           -e 'if(/to make a symbol visible/){next;}' \
166           -e 'if(/__attribute__ \(\(visibility/){next;}' \
167           -e 'if(/LT_OBJDIR/){print"/* This is ignored unless you are using libtool. */\n";}' \
168           -e 'if(/^#define\s((?:HAVE|SUPPORT|STDC)_\w+)/){print"/* #undef $$1 */\n";$$blank=0;next;}' \
169           -e 'if(/^#define\s(?!PACKAGE|VERSION)(\w+)/){print"#ifndef $$1\n$$_#endif\n";$$blank=0;next;}' \
170           -e 'if(/^\s*$$/){print unless $$blank; $$blank=1;} else{print;$$blank=0;}' \
171           _generic/config.h >$@
172         rm -rf _generic
173
174 MAINTAINERCLEANFILES += pcre.h.generic config.h.generic
175
176 # These are the header files we'll install. We do not distribute pcre.h because
177 # it is generated from pcre.h.in.
178 nodist_include_HEADERS = \
179   pcre.h
180 include_HEADERS = \
181   pcreposix.h
182
183 # These additional headers will be be installed if C++ support is enabled. We
184 # do not distribute pcrecpparg.h or pcre_stringpiece.h, as these are generated
185 # from corresponding .h.in files (which we do distribute).
186 if WITH_PCRE_CPP
187 nodist_include_HEADERS += \
188   pcrecpparg.h \
189   pcre_stringpiece.h
190 include_HEADERS += \
191   pcrecpp.h \
192   pcre_scanner.h
193 endif # WITH_PCRE_CPP
194
195 bin_SCRIPTS = pcre-config
196
197 ## ---------------------------------------------------------------
198 ## The dftables program is used to rebuild character tables before compiling
199 ## PCRE, if --enable-rebuild-chartables is specified. It is not a user-visible
200 ## program. The default (when --enable-rebuild-chartables is not specified) is
201 ## to copy a distributed set of tables that are defined for ASCII code. In this
202 ## case, dftables is not needed.
203
204 if WITH_REBUILD_CHARTABLES
205
206 noinst_PROGRAMS += dftables
207 dftables_SOURCES = dftables.c
208
209 pcre_chartables.c: dftables$(EXEEXT)
210         ./dftables$(EXEEXT) $@
211 else
212
213 pcre_chartables.c: $(srcdir)/pcre_chartables.c.dist
214         rm -f $@
215         $(LN_S) $(srcdir)/pcre_chartables.c.dist $@
216
217 endif # WITH_REBUILD_CHARTABLES
218
219 BUILT_SOURCES = pcre_chartables.c
220
221 ## The main pcre library
222
223 # Build the 8 bit library if it is enabled.
224 if WITH_PCRE8
225 lib_LTLIBRARIES += libpcre.la
226
227 libpcre_la_SOURCES = \
228   pcre_byte_order.c \
229   pcre_compile.c \
230   pcre_config.c \
231   pcre_dfa_exec.c \
232   pcre_exec.c \
233   pcre_fullinfo.c \
234   pcre_get.c \
235   pcre_globals.c \
236   pcre_internal.h \
237   pcre_jit_compile.c \
238   pcre_maketables.c \
239   pcre_newline.c \
240   pcre_ord2utf8.c \
241   pcre_refcount.c \
242   pcre_string_utils.c \
243   pcre_study.c \
244   pcre_tables.c \
245   pcre_ucd.c \
246   pcre_valid_utf8.c \
247   pcre_version.c \
248   pcre_xclass.c \
249   ucp.h
250
251 libpcre_la_CFLAGS = \
252   $(VISIBILITY_CFLAGS) \
253   $(AM_CFLAGS)
254
255 libpcre_la_LIBADD =
256
257 ## This file is generated as part of the building process, so don't distribute.
258 nodist_libpcre_la_SOURCES = \
259   pcre_chartables.c
260
261 endif # WITH_PCRE8
262
263 # Build the 16 bit library if it is enabled.
264 if WITH_PCRE16
265 lib_LTLIBRARIES += libpcre16.la
266 libpcre16_la_SOURCES = \
267   pcre16_byte_order.c \
268   pcre16_chartables.c \
269   pcre16_compile.c \
270   pcre16_config.c \
271   pcre16_dfa_exec.c \
272   pcre16_exec.c \
273   pcre16_fullinfo.c \
274   pcre16_get.c \
275   pcre16_globals.c \
276   pcre16_jit_compile.c \
277   pcre16_maketables.c \
278   pcre16_newline.c \
279   pcre16_ord2utf16.c \
280   pcre16_refcount.c \
281   pcre16_string_utils.c \
282   pcre16_study.c \
283   pcre16_tables.c \
284   pcre16_ucd.c \
285   pcre16_utf16_utils.c \
286   pcre16_valid_utf16.c \
287   pcre16_version.c \
288   pcre16_xclass.c
289
290 libpcre16_la_CFLAGS = \
291   $(VISIBILITY_CFLAGS) \
292   $(AM_CFLAGS)
293
294 libpcre16_la_LIBADD =
295
296 ## This file is generated as part of the building process, so don't distribute.
297 nodist_libpcre16_la_SOURCES = \
298   pcre_chartables.c
299
300 endif # WITH_PCRE16
301
302 # Build the 32 bit library if it is enabled.
303 if WITH_PCRE32
304 lib_LTLIBRARIES += libpcre32.la
305 libpcre32_la_SOURCES = \
306   pcre32_byte_order.c \
307   pcre32_chartables.c \
308   pcre32_compile.c \
309   pcre32_config.c \
310   pcre32_dfa_exec.c \
311   pcre32_exec.c \
312   pcre32_fullinfo.c \
313   pcre32_get.c \
314   pcre32_globals.c \
315   pcre32_jit_compile.c \
316   pcre32_maketables.c \
317   pcre32_newline.c \
318   pcre32_ord2utf32.c \
319   pcre32_refcount.c \
320   pcre32_string_utils.c \
321   pcre32_study.c \
322   pcre32_tables.c \
323   pcre32_ucd.c \
324   pcre32_utf32_utils.c \
325   pcre32_valid_utf32.c \
326   pcre32_version.c \
327   pcre32_xclass.c
328
329 libpcre32_la_CFLAGS = \
330   $(VISIBILITY_CFLAGS) \
331   $(AM_CFLAGS)
332
333 libpcre32_la_LIBADD =
334
335 ## This file is generated as part of the building process, so don't distribute.
336 nodist_libpcre32_la_SOURCES = \
337   pcre_chartables.c
338
339 endif # WITH_PCRE32
340
341 # The pcre_chartables.c.dist file is the default version of pcre_chartables.c,
342 # used unless --enable-rebuild-chartables is specified.
343 EXTRA_DIST += pcre_chartables.c.dist
344
345 # The JIT compiler lives in a separate directory, but its files are #included
346 # when pcre_jit_compile.c is processed, so they must be distributed.
347 EXTRA_DIST += \
348   sljit/sljitConfig.h \
349   sljit/sljitConfigInternal.h \
350   sljit/sljitExecAllocator.c \
351   sljit/sljitLir.c \
352   sljit/sljitLir.h \
353   sljit/sljitNativeARM_32.c \
354   sljit/sljitNativeARM_64.c \
355   sljit/sljitNativeARM_T2_32.c \
356   sljit/sljitNativeMIPS_32.c \
357   sljit/sljitNativeMIPS_64.c \
358   sljit/sljitNativeMIPS_common.c \
359   sljit/sljitNativePPC_32.c \
360   sljit/sljitNativePPC_64.c \
361   sljit/sljitNativePPC_common.c \
362   sljit/sljitNativeSPARC_32.c \
363   sljit/sljitNativeSPARC_common.c \
364   sljit/sljitNativeTILEGX_64.c \
365   sljit/sljitNativeTILEGX-encoder.c \
366   sljit/sljitNativeX86_32.c \
367   sljit/sljitNativeX86_64.c \
368   sljit/sljitNativeX86_common.c \
369   sljit/sljitUtils.c
370
371 if WITH_PCRE8
372 libpcre_la_LDFLAGS = $(EXTRA_LIBPCRE_LDFLAGS)
373 endif # WITH_PCRE8
374 if WITH_PCRE16
375 libpcre16_la_LDFLAGS = $(EXTRA_LIBPCRE16_LDFLAGS)
376 endif # WITH_PCRE16
377 if WITH_PCRE32
378 libpcre32_la_LDFLAGS = $(EXTRA_LIBPCRE32_LDFLAGS)
379 endif # WITH_PCRE32
380
381 if WITH_VALGRIND
382 if WITH_PCRE8
383 libpcre_la_CFLAGS += $(VALGRIND_CFLAGS)
384 endif # WITH_PCRE8
385 if WITH_PCRE16
386 libpcre16_la_CFLAGS += $(VALGRIND_CFLAGS)
387 endif # WITH_PCRE16
388 if WITH_PCRE32
389 libpcre32_la_CFLAGS += $(VALGRIND_CFLAGS)
390 endif # WITH_PCRE32
391 endif # WITH_VALGRIND
392
393 if WITH_GCOV
394 if WITH_PCRE8
395 libpcre_la_CFLAGS += $(GCOV_CFLAGS)
396 endif # WITH_PCRE8
397 if WITH_PCRE16
398 libpcre16_la_CFLAGS += $(GCOV_CFLAGS)
399 endif # WITH_PCRE16
400 if WITH_PCRE32
401 libpcre32_la_CFLAGS += $(GCOV_CFLAGS)
402 endif # WITH_PCRE32
403 endif # WITH_GCOV
404
405 CLEANFILES += pcre_chartables.c
406
407 ## If JIT support is enabled, arrange for the JIT test program to run.
408 if WITH_JIT
409 TESTS += pcre_jit_test
410 noinst_PROGRAMS += pcre_jit_test
411 pcre_jit_test_SOURCES = pcre_jit_test.c
412 pcre_jit_test_CFLAGS = $(AM_CFLAGS)
413 pcre_jit_test_LDADD =
414 if WITH_PCRE8
415 pcre_jit_test_LDADD += libpcre.la
416 endif # WITH_PCRE8
417 if WITH_PCRE16
418 pcre_jit_test_LDADD += libpcre16.la
419 endif # WITH_PCRE16
420 if WITH_PCRE32
421 pcre_jit_test_LDADD += libpcre32.la
422 endif # WITH_PCRE32
423 if WITH_GCOV
424 pcre_jit_test_CFLAGS += $(GCOV_CFLAGS)
425 pcre_jit_test_LDADD += $(GCOV_LIBS)
426 endif # WITH_GCOV
427 endif # WITH_JIT
428
429 ## A version of the main pcre library that has a posix re API.
430 if WITH_PCRE8
431
432 lib_LTLIBRARIES += libpcreposix.la
433 libpcreposix_la_SOURCES = \
434   pcreposix.c
435 libpcreposix_la_CFLAGS = $(VISIBILITY_CFLAGS) $(AM_CFLAGS)
436 libpcreposix_la_LDFLAGS = $(EXTRA_LIBPCREPOSIX_LDFLAGS)
437 libpcreposix_la_LIBADD = libpcre.la
438
439 if WITH_GCOV
440 libpcreposix_la_CFLAGS += $(GCOV_CFLAGS)
441 endif # WITH_GCOV
442
443 endif # WITH_PCRE8
444
445 ## There's a C++ library as well.
446 if WITH_PCRE_CPP
447
448 lib_LTLIBRARIES += libpcrecpp.la
449 libpcrecpp_la_SOURCES = \
450   pcrecpp_internal.h \
451   pcrecpp.cc \
452   pcre_scanner.cc \
453   pcre_stringpiece.cc
454 libpcrecpp_la_CXXFLAGS = $(VISIBILITY_CXXFLAGS) $(AM_CXXFLAGS)
455 libpcrecpp_la_LDFLAGS = $(EXTRA_LIBPCRECPP_LDFLAGS)
456 libpcrecpp_la_LIBADD = libpcre.la
457
458 TESTS += pcrecpp_unittest
459 noinst_PROGRAMS += pcrecpp_unittest
460 pcrecpp_unittest_SOURCES = pcrecpp_unittest.cc
461 pcrecpp_unittest_CXXFLAGS = $(AM_CXXFLAGS)
462 pcrecpp_unittest_LDADD = libpcrecpp.la
463
464 TESTS += pcre_scanner_unittest
465 noinst_PROGRAMS += pcre_scanner_unittest
466 pcre_scanner_unittest_SOURCES = pcre_scanner_unittest.cc
467 pcre_scanner_unittest_CXXFLAGS = $(AM_CXXFLAGS)
468 pcre_scanner_unittest_LDADD = libpcrecpp.la
469
470 TESTS += pcre_stringpiece_unittest
471 noinst_PROGRAMS += pcre_stringpiece_unittest
472 pcre_stringpiece_unittest_SOURCES = pcre_stringpiece_unittest.cc
473 pcre_stringpiece_unittest_CXXFLAGS = $(AM_CXXFLAGS)
474 pcre_stringpiece_unittest_LDADD = libpcrecpp.la
475
476 if WITH_GCOV
477 libpcrecpp_la_CXXFLAGS += $(GCOV_CXXFLAGS)
478 pcrecpp_unittest_LDADD += $(GCOV_LIBS)
479 pcre_scanner_unittest_LDADD += $(GCOV_LIBS)
480 pcre_stringpiece_unittest_LDADD += $(GCOV_LIBS)
481 endif # WITH_GCOV
482
483 endif # WITH_PCRE_CPP
484
485 ## The main unit tests
486
487 # Each unit test is a binary plus a script that runs that binary in various
488 # ways. We install these test binaries in case folks find it helpful.
489
490 TESTS += RunTest
491 dist_noinst_SCRIPTS += RunTest
492 EXTRA_DIST += RunTest.bat
493 bin_PROGRAMS += pcretest
494 pcretest_SOURCES = pcretest.c
495 pcretest_CFLAGS = $(AM_CFLAGS)
496 pcretest_LDADD = $(LIBREADLINE)
497 if WITH_PCRE8
498 pcretest_SOURCES += pcre_printint.c
499 pcretest_LDADD += libpcre.la libpcreposix.la
500 endif # WITH_PCRE8
501 if WITH_PCRE16
502 pcretest_SOURCES += pcre16_printint.c
503 pcretest_LDADD += libpcre16.la
504 endif # WITH_PCRE16
505 if WITH_PCRE32
506 pcretest_SOURCES += pcre32_printint.c
507 pcretest_LDADD += libpcre32.la
508 endif # WITH_PCRE32
509 if WITH_VALGRIND
510 pcretest_CFLAGS += $(VALGRIND_CFLAGS)
511 endif # WITH_VALGRIND
512 if WITH_GCOV
513 pcretest_CFLAGS += $(GCOV_CFLAGS)
514 pcretest_LDADD += $(GCOV_LIBS)
515 endif # WITH_GCOV
516
517 if WITH_PCRE8
518 TESTS += RunGrepTest
519 dist_noinst_SCRIPTS += RunGrepTest
520 bin_PROGRAMS += pcregrep
521 pcregrep_SOURCES = pcregrep.c
522 pcregrep_CFLAGS = $(AM_CFLAGS)
523 pcregrep_LDADD = $(LIBZ) $(LIBBZ2)
524 pcregrep_LDADD += libpcre.la libpcreposix.la
525 if WITH_GCOV
526 pcregrep_CFLAGS += $(GCOV_CFLAGS)
527 pcregrep_LDADD += $(GCOV_LIBS)
528 endif # WITH_GCOV
529 endif # WITH_PCRE8
530
531 EXTRA_DIST += \
532   testdata/grepbinary \
533   testdata/grepfilelist \
534   testdata/grepinput \
535   testdata/grepinput3 \
536   testdata/grepinput8 \
537   testdata/grepinputv \
538   testdata/grepinputx \
539   testdata/greplist \
540   testdata/grepoutput \
541   testdata/grepoutput8 \
542   testdata/grepoutputN \
543   testdata/greppatN4 \
544   testdata/saved16 \
545   testdata/saved16BE-1 \
546   testdata/saved16BE-2 \
547   testdata/saved16LE-1 \
548   testdata/saved16LE-2 \
549   testdata/saved32 \
550   testdata/saved32BE-1 \
551   testdata/saved32BE-2 \
552   testdata/saved32LE-1 \
553   testdata/saved32LE-2 \
554   testdata/saved8 \
555   testdata/testinput1 \
556   testdata/testinput2 \
557   testdata/testinput3 \
558   testdata/testinput4 \
559   testdata/testinput5 \
560   testdata/testinput6 \
561   testdata/testinput7 \
562   testdata/testinput8 \
563   testdata/testinput9 \
564   testdata/testinput10 \
565   testdata/testinput11 \
566   testdata/testinput12 \
567   testdata/testinput13 \
568   testdata/testinput14 \
569   testdata/testinput15 \
570   testdata/testinput16 \
571   testdata/testinput17 \
572   testdata/testinput18 \
573   testdata/testinput19 \
574   testdata/testinput20 \
575   testdata/testinput21 \
576   testdata/testinput22 \
577   testdata/testinput23 \
578   testdata/testinput24 \
579   testdata/testinput25 \
580   testdata/testinput26 \
581   testdata/testinputEBC \
582   testdata/testoutput1 \
583   testdata/testoutput2 \
584   testdata/testoutput3 \
585   testdata/testoutput3A \
586   testdata/testoutput3B \
587   testdata/testoutput4 \
588   testdata/testoutput5 \
589   testdata/testoutput6 \
590   testdata/testoutput7 \
591   testdata/testoutput8 \
592   testdata/testoutput9 \
593   testdata/testoutput10 \
594   testdata/testoutput11-8 \
595   testdata/testoutput11-16 \
596   testdata/testoutput11-32 \
597   testdata/testoutput12 \
598   testdata/testoutput13 \
599   testdata/testoutput14 \
600   testdata/testoutput15 \
601   testdata/testoutput16 \
602   testdata/testoutput17 \
603   testdata/testoutput18-16 \
604   testdata/testoutput18-32 \
605   testdata/testoutput19 \
606   testdata/testoutput20 \
607   testdata/testoutput21-16 \
608   testdata/testoutput21-32 \
609   testdata/testoutput22-16 \
610   testdata/testoutput22-32 \
611   testdata/testoutput23 \
612   testdata/testoutput24 \
613   testdata/testoutput25 \
614   testdata/testoutput26 \
615   testdata/testoutputEBC \
616   testdata/wintestinput3 \
617   testdata/wintestoutput3 \
618   perltest.pl
619
620 CLEANFILES += \
621         testsavedregex \
622         teststderr \
623         testtemp* \
624         testtry \
625         testNinput \
626         testtrygrep \
627         teststderrgrep \
628         testNinputgrep
629
630 # PCRE demonstration program. No longer built automatcally. The point is that
631 # the users should build it themselves. So just distribute the source.
632 # noinst_PROGRAMS += pcredemo
633 # pcredemo_SOURCES = pcredemo.c
634 # pcredemo_LDADD = libpcre.la
635
636 EXTRA_DIST += pcredemo.c
637
638
639 ## Utility rules, documentation, etc.
640
641 # A compatibility line, the old build system worked with 'make test'
642 test: check ;
643
644
645 # A PCRE user submitted the following addition, saying that it "will allow
646 # anyone using the 'mingw32' compiler to simply type 'make pcre.dll' and get a
647 # nice DLL for Windows use". (It is used by the pcre.dll target.)
648 DLL_OBJS= pcre_byte_order.o pcre_compile.o pcre_config.o \
649         pcre_dfa_exec.o pcre_exec.o pcre_fullinfo.o pcre_get.o \
650         pcre_globals.o pcre_jit_compile.o pcre_maketables.o \
651         pcre_newline.o pcre_ord2utf8.o pcre_refcount.o \
652         pcre_study.o pcre_tables.o pcre_ucd.o \
653         pcre_valid_utf8.o pcre_version.o pcre_chartables.o \
654         pcre_xclass.o
655
656 # A PCRE user submitted the following addition, saying that it "will allow
657 # anyone using the 'mingw32' compiler to simply type 'make pcre.dll' and get a
658 # nice DLL for Windows use".
659 pcre.dll: $(DLL_OBJS)
660         $(CC) -shared -o pcre.dll -Wl,"--strip-all" -Wl,"--export-all-symbols" $(DLL_OBJS)
661
662
663 # We have .pc files for pkg-config users.
664 pkgconfigdir = $(libdir)/pkgconfig
665 pkgconfig_DATA = libpcre.pc libpcreposix.pc
666 if WITH_PCRE16
667 pkgconfig_DATA += libpcre16.pc
668 endif
669 if WITH_PCRE32
670 pkgconfig_DATA += libpcre32.pc
671 endif
672 if WITH_PCRE_CPP
673 pkgconfig_DATA += libpcrecpp.pc
674 endif
675
676 # Note that pcrecpp.3 is not in this list, but is included separately below.
677
678 dist_man_MANS = \
679   doc/pcre-config.1 \
680   doc/pcre.3 \
681   doc/pcre16.3 \
682   doc/pcre32.3 \
683   doc/pcre_assign_jit_stack.3 \
684   doc/pcre_compile.3 \
685   doc/pcre_compile2.3 \
686   doc/pcre_config.3 \
687   doc/pcre_copy_named_substring.3 \
688   doc/pcre_copy_substring.3 \
689   doc/pcre_dfa_exec.3 \
690   doc/pcre_exec.3 \
691   doc/pcre_free_study.3 \
692   doc/pcre_free_substring.3 \
693   doc/pcre_free_substring_list.3 \
694   doc/pcre_fullinfo.3 \
695   doc/pcre_get_named_substring.3 \
696   doc/pcre_get_stringnumber.3 \
697   doc/pcre_get_stringtable_entries.3 \
698   doc/pcre_get_substring.3 \
699   doc/pcre_get_substring_list.3 \
700   doc/pcre_jit_exec.3 \
701   doc/pcre_jit_stack_alloc.3 \
702   doc/pcre_jit_stack_free.3 \
703   doc/pcre_maketables.3 \
704   doc/pcre_pattern_to_host_byte_order.3 \
705   doc/pcre_refcount.3 \
706   doc/pcre_study.3 \
707   doc/pcre_utf16_to_host_byte_order.3 \
708   doc/pcre_utf32_to_host_byte_order.3 \
709   doc/pcre_version.3 \
710   doc/pcreapi.3 \
711   doc/pcrebuild.3 \
712   doc/pcrecallout.3 \
713   doc/pcrecompat.3 \
714   doc/pcredemo.3 \
715   doc/pcregrep.1 \
716   doc/pcrejit.3 \
717   doc/pcrelimits.3 \
718   doc/pcrematching.3 \
719   doc/pcrepartial.3 \
720   doc/pcrepattern.3 \
721   doc/pcreperform.3 \
722   doc/pcreposix.3 \
723   doc/pcreprecompile.3 \
724   doc/pcresample.3 \
725   doc/pcrestack.3 \
726   doc/pcresyntax.3 \
727   doc/pcretest.1 \
728   doc/pcreunicode.3
729
730 # Arrange for the per-function man pages to have 16- and 32-bit names as well.
731 install-data-hook:
732         ln -sf pcre_assign_jit_stack.3           $(DESTDIR)$(man3dir)/pcre16_assign_jit_stack.3
733         ln -sf pcre_compile.3                    $(DESTDIR)$(man3dir)/pcre16_compile.3
734         ln -sf pcre_compile2.3                   $(DESTDIR)$(man3dir)/pcre16_compile2.3
735         ln -sf pcre_config.3                     $(DESTDIR)$(man3dir)/pcre16_config.3
736         ln -sf pcre_copy_named_substring.3       $(DESTDIR)$(man3dir)/pcre16_copy_named_substring.3
737         ln -sf pcre_copy_substring.3             $(DESTDIR)$(man3dir)/pcre16_copy_substring.3
738         ln -sf pcre_dfa_exec.3                   $(DESTDIR)$(man3dir)/pcre16_dfa_exec.3
739         ln -sf pcre_exec.3                       $(DESTDIR)$(man3dir)/pcre16_exec.3
740         ln -sf pcre_free_study.3                 $(DESTDIR)$(man3dir)/pcre16_free_study.3
741         ln -sf pcre_free_substring.3             $(DESTDIR)$(man3dir)/pcre16_free_substring.3
742         ln -sf pcre_free_substring_list.3        $(DESTDIR)$(man3dir)/pcre16_free_substring_list.3
743         ln -sf pcre_fullinfo.3                   $(DESTDIR)$(man3dir)/pcre16_fullinfo.3
744         ln -sf pcre_get_named_substring.3        $(DESTDIR)$(man3dir)/pcre16_get_named_substring.3
745         ln -sf pcre_get_stringnumber.3           $(DESTDIR)$(man3dir)/pcre16_get_stringnumber.3
746         ln -sf pcre_get_stringtable_entries.3    $(DESTDIR)$(man3dir)/pcre16_get_stringtable_entries.3
747         ln -sf pcre_get_substring.3              $(DESTDIR)$(man3dir)/pcre16_get_substring.3
748         ln -sf pcre_get_substring_list.3         $(DESTDIR)$(man3dir)/pcre16_get_substring_list.3
749         ln -sf pcre_jit_exec.3                   $(DESTDIR)$(man3dir)/pcre16_jit_exec.3
750         ln -sf pcre_jit_stack_alloc.3            $(DESTDIR)$(man3dir)/pcre16_jit_stack_alloc.3
751         ln -sf pcre_jit_stack_free.3             $(DESTDIR)$(man3dir)/pcre16_jit_stack_free.3
752         ln -sf pcre_maketables.3                 $(DESTDIR)$(man3dir)/pcre16_maketables.3
753         ln -sf pcre_pattern_to_host_byte_order.3 $(DESTDIR)$(man3dir)/pcre16_pattern_to_host_byte_order.3
754         ln -sf pcre_refcount.3                   $(DESTDIR)$(man3dir)/pcre16_refcount.3
755         ln -sf pcre_study.3                      $(DESTDIR)$(man3dir)/pcre16_study.3
756         ln -sf pcre_utf16_to_host_byte_order.3   $(DESTDIR)$(man3dir)/pcre16_utf16_to_host_byte_order.3
757         ln -sf pcre_version.3                    $(DESTDIR)$(man3dir)/pcre16_version.3
758         ln -sf pcre_assign_jit_stack.3           $(DESTDIR)$(man3dir)/pcre32_assign_jit_stack.3
759         ln -sf pcre_compile.3                    $(DESTDIR)$(man3dir)/pcre32_compile.3
760         ln -sf pcre_compile2.3                   $(DESTDIR)$(man3dir)/pcre32_compile2.3
761         ln -sf pcre_config.3                     $(DESTDIR)$(man3dir)/pcre32_config.3
762         ln -sf pcre_copy_named_substring.3       $(DESTDIR)$(man3dir)/pcre32_copy_named_substring.3
763         ln -sf pcre_copy_substring.3             $(DESTDIR)$(man3dir)/pcre32_copy_substring.3
764         ln -sf pcre_dfa_exec.3                   $(DESTDIR)$(man3dir)/pcre32_dfa_exec.3
765         ln -sf pcre_exec.3                       $(DESTDIR)$(man3dir)/pcre32_exec.3
766         ln -sf pcre_free_study.3                 $(DESTDIR)$(man3dir)/pcre32_free_study.3
767         ln -sf pcre_free_substring.3             $(DESTDIR)$(man3dir)/pcre32_free_substring.3
768         ln -sf pcre_free_substring_list.3        $(DESTDIR)$(man3dir)/pcre32_free_substring_list.3
769         ln -sf pcre_fullinfo.3                   $(DESTDIR)$(man3dir)/pcre32_fullinfo.3
770         ln -sf pcre_get_named_substring.3        $(DESTDIR)$(man3dir)/pcre32_get_named_substring.3
771         ln -sf pcre_get_stringnumber.3           $(DESTDIR)$(man3dir)/pcre32_get_stringnumber.3
772         ln -sf pcre_get_stringtable_entries.3    $(DESTDIR)$(man3dir)/pcre32_get_stringtable_entries.3
773         ln -sf pcre_get_substring.3              $(DESTDIR)$(man3dir)/pcre32_get_substring.3
774         ln -sf pcre_get_substring_list.3         $(DESTDIR)$(man3dir)/pcre32_get_substring_list.3
775         ln -sf pcre_jit_exec.3                   $(DESTDIR)$(man3dir)/pcre32_jit_exec.3
776         ln -sf pcre_jit_stack_alloc.3            $(DESTDIR)$(man3dir)/pcre32_jit_stack_alloc.3
777         ln -sf pcre_jit_stack_free.3             $(DESTDIR)$(man3dir)/pcre32_jit_stack_free.3
778         ln -sf pcre_maketables.3                 $(DESTDIR)$(man3dir)/pcre32_maketables.3
779         ln -sf pcre_pattern_to_host_byte_order.3 $(DESTDIR)$(man3dir)/pcre32_pattern_to_host_byte_order.3
780         ln -sf pcre_refcount.3                   $(DESTDIR)$(man3dir)/pcre32_refcount.3
781         ln -sf pcre_study.3                      $(DESTDIR)$(man3dir)/pcre32_study.3
782         ln -sf pcre_utf32_to_host_byte_order.3   $(DESTDIR)$(man3dir)/pcre32_utf32_to_host_byte_order.3
783         ln -sf pcre_version.3                    $(DESTDIR)$(man3dir)/pcre32_version.3
784
785 pcrecpp_man = doc/pcrecpp.3
786 EXTRA_DIST += $(pcrecpp_man)
787
788 if WITH_PCRE_CPP
789 man_MANS = $(pcrecpp_man)
790 endif
791
792 # gcov/lcov code coverage reporting
793
794 if WITH_GCOV
795
796 # Coverage reporting targets:
797 #
798 # coverage: Create a coverage report from 'make check'
799 # coverage-baseline: Capture baseline coverage information
800 # coverage-reset: This zeros the coverage counters only
801 # coverage-report: This creates the coverage report only
802 # coverage-clean-report: This removes the generated coverage report
803 #   without cleaning the coverage data itself
804 # coverage-clean-data: This removes the captured coverage data without
805 #   removing the coverage files created at compile time (*.gcno)
806 # coverage-clean: This cleans all coverage data including the generated
807 #   coverage report.
808
809 COVERAGE_TEST_NAME = $(PACKAGE)
810 COVERAGE_NAME = $(PACKAGE)-$(VERSION)
811 COVERAGE_OUTPUT_FILE = $(COVERAGE_NAME)-coverage.info
812 COVERAGE_OUTPUT_DIR = $(COVERAGE_NAME)-coverage
813 COVERAGE_LCOV_EXTRA_FLAGS =
814 COVERAGE_GENHTML_EXTRA_FLAGS =
815
816 coverage_quiet = $(coverage_quiet_$(V))
817 coverage_quiet_ = $(coverage_quiet_$(AM_DEFAULT_VERBOSITY))
818 coverage_quiet_0 = --quiet
819
820 coverage-check: all
821         -$(MAKE) $(AM_MAKEFLAGS) -k check
822
823 coverage-baseline:
824         $(LCOV) $(coverage_quiet) \
825                 --directory $(top_builddir) \
826                 --output-file "$(COVERAGE_OUTPUT_FILE)" \
827                 --capture \
828                 --initial
829
830 coverage-report:
831         $(LCOV) $(coverage_quiet) \
832                 --directory $(top_builddir) \
833                 --capture \
834                 --output-file "$(COVERAGE_OUTPUT_FILE).tmp" \
835                 --test-name "$(COVERAGE_TEST_NAME)" \
836                 --no-checksum \
837                 --compat-libtool \
838                 $(COVERAGE_LCOV_EXTRA_FLAGS)
839         $(LCOV) $(coverage_quiet) \
840                 --directory $(top_builddir) \
841                 --output-file "$(COVERAGE_OUTPUT_FILE)" \
842                 --remove "$(COVERAGE_OUTPUT_FILE).tmp" \
843                 "/tmp/*" \
844                 "/usr/include/*" \
845                 "$(includedir)/*"
846         -@rm -f "$(COVERAGE_OUTPUT_FILE).tmp"
847         LANG=C $(GENHTML) $(coverage_quiet) \
848                 --prefix $(top_builddir) \
849                 --output-directory "$(COVERAGE_OUTPUT_DIR)" \
850                 --title "$(PACKAGE) $(VERSION) Code Coverage Report" \
851                 --show-details "$(COVERAGE_OUTPUT_FILE)" \
852                 --legend \
853                 $(COVERAGE_GENHTML_EXTRA_FLAGS)
854         @echo "Code coverage report written to file://$(abs_builddir)/$(COVERAGE_OUTPUT_DIR)/index.html"
855
856 coverage-reset:
857         -$(LCOV) $(coverage_quiet) --zerocounters --directory $(top_builddir)
858
859 coverage-clean-report:
860         -rm -f "$(COVERAGE_OUTPUT_FILE)" "$(COVERAGE_OUTPUT_FILE).tmp"
861         -rm -rf "$(COVERAGE_OUTPUT_DIR)"
862
863 coverage-clean-data:
864         -find $(top_builddir) -name "*.gcda" -delete
865
866 coverage-clean: coverage-reset coverage-clean-report coverage-clean-data
867         -find $(top_builddir) -name "*.gcno" -delete
868
869 coverage-distclean: coverage-clean
870
871 coverage: coverage-reset coverage-baseline coverage-check coverage-report
872 clean-local: coverage-clean
873 distclean-local: coverage-distclean
874
875 .PHONY: coverage coverage-baseline coverage-check coverage-report coverage-reset coverage-clean-report coverage-clean-data coverage-clean coverage-distclean
876
877 else
878
879 coverage:
880         @echo "Configuring with --enable-coverage required to generate code coverage report."
881
882 endif # WITH_GCOV
883
884 ## CMake support
885
886 EXTRA_DIST += \
887   cmake/COPYING-CMAKE-SCRIPTS \
888   cmake/FindPackageHandleStandardArgs.cmake \
889   cmake/FindReadline.cmake \
890   cmake/FindEditline.cmake \
891   CMakeLists.txt \
892   config-cmake.h.in
893
894 ## end Makefile.am