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