1dnl Process this file with autoconf to produce a configure script.
2
3dnl NOTE FOR MAINTAINERS: Do not use minor version numbers 08 or 09 because
4dnl the leading zeros may cause them to be treated as invalid octal constants
5dnl if a PCRE user writes code that uses PCRE_MINOR as a number. There is now
6dnl a check further down that throws an error if 08 or 09 are used.
7
8dnl The PCRE_PRERELEASE feature is for identifying release candidates. It might
9dnl be defined as -RC2, for example. For real releases, it should be empty.
10
11m4_define(pcre_major, [8])
12m4_define(pcre_minor, [38])
13m4_define(pcre_prerelease, [])
14m4_define(pcre_date, [2015-11-23])
15
16# NOTE: The CMakeLists.txt file searches for the above variables in the first
17# 50 lines of this file. Please update that if the variables above are moved.
18
19# Libtool shared library interface versions (current:revision:age)
20m4_define(libpcre_version, [3:6:2])
21m4_define(libpcre16_version, [2:6:2])
22m4_define(libpcre32_version, [0:6:0])
23m4_define(libpcreposix_version, [0:3:0])
24m4_define(libpcrecpp_version, [0:1:0])
25
26AC_PREREQ(2.57)
27AC_INIT(PCRE, pcre_major.pcre_minor[]pcre_prerelease, , pcre)
28AC_CONFIG_SRCDIR([pcre.h.in])
29AM_INIT_AUTOMAKE([dist-bzip2 dist-zip])
30m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
31AC_CONFIG_HEADERS(config.h)
32
33# This is a new thing required to stop a warning from automake 1.12
34m4_ifdef([AM_PROG_AR], [AM_PROG_AR])
35
36# This was added at the suggestion of libtoolize (03-Jan-10)
37AC_CONFIG_MACRO_DIR([m4])
38
39# The default CFLAGS and CXXFLAGS in Autoconf are "-g -O2" for gcc and just
40# "-g" for any other compiler. There doesn't seem to be a standard way of
41# getting rid of the -g (which I don't think is needed for a production
42# library). This fudge seems to achieve the necessary. First, we remember the
43# externally set values of CFLAGS and CXXFLAGS. Then call the AC_PROG_CC and
44# AC_PROG_CXX macros to find the compilers - if CFLAGS and CXXFLAGS are not
45# set, they will be set to Autoconf's defaults. Afterwards, if the original
46# values were not set, remove the -g from the Autoconf defaults.
47# (PH 02-May-07)
48
49remember_set_CFLAGS="$CFLAGS"
50remember_set_CXXFLAGS="$CXXFLAGS"
51
52AC_PROG_CC
53AC_PROG_CXX
54AM_PROG_CC_C_O
55
56if test "x$remember_set_CFLAGS" = "x"
57then
58  if test "$CFLAGS" = "-g -O2"
59  then
60    CFLAGS="-O2"
61  elif test "$CFLAGS" = "-g"
62  then
63    CFLAGS=""
64  fi
65fi
66
67if test "x$remember_set_CXXFLAGS" = "x"
68then
69  if test "$CXXFLAGS" = "-g -O2"
70  then
71    CXXFLAGS="-O2"
72  elif test "$CXXFLAGS" = "-g"
73  then
74    CXXFLAGS=""
75  fi
76fi
77
78# AC_PROG_CXX will return "g++" even if no c++ compiler is installed.
79# Check for that case, and just disable c++ code if g++ doesn't run.
80AC_LANG_PUSH(C++)
81AC_COMPILE_IFELSE([AC_LANG_PROGRAM([],[])],, CXX=""; CXXCP=""; CXXFLAGS="")
82AC_LANG_POP
83
84# Check for a 64-bit integer type
85AC_TYPE_INT64_T
86
87AC_PROG_INSTALL
88AC_LIBTOOL_WIN32_DLL
89LT_INIT
90AC_PROG_LN_S
91
92# Check for GCC visibility feature
93
94PCRE_VISIBILITY
95
96# Versioning
97
98PCRE_MAJOR="pcre_major"
99PCRE_MINOR="pcre_minor"
100PCRE_PRERELEASE="pcre_prerelease"
101PCRE_DATE="pcre_date"
102
103if test "$PCRE_MINOR" = "08" -o "$PCRE_MINOR" = "09"
104then
105  echo "***"
106  echo "*** Minor version number $PCRE_MINOR must not be used. ***"
107  echo "*** Use only 01 to 07 or 10 onwards, to avoid octal issues. ***"
108  echo "***"
109  exit 1
110fi
111
112AC_SUBST(PCRE_MAJOR)
113AC_SUBST(PCRE_MINOR)
114AC_SUBST(PCRE_PRERELEASE)
115AC_SUBST(PCRE_DATE)
116
117# Set a more sensible default value for $(htmldir).
118if test "x$htmldir" = 'x${docdir}'
119then
120  htmldir='${docdir}/html'
121fi
122
123# Handle --disable-pcre8 (enabled by default)
124AC_ARG_ENABLE(pcre8,
125              AS_HELP_STRING([--disable-pcre8],
126                             [disable 8 bit character support]),
127              , enable_pcre8=unset)
128AC_SUBST(enable_pcre8)
129
130# Handle --enable-pcre16 (disabled by default)
131AC_ARG_ENABLE(pcre16,
132              AS_HELP_STRING([--enable-pcre16],
133                             [enable 16 bit character support]),
134              , enable_pcre16=unset)
135AC_SUBST(enable_pcre16)
136
137# Handle --enable-pcre32 (disabled by default)
138AC_ARG_ENABLE(pcre32,
139              AS_HELP_STRING([--enable-pcre32],
140                             [enable 32 bit character support]),
141              , enable_pcre32=unset)
142AC_SUBST(enable_pcre32)
143
144# Handle --disable-cpp. The substitution of enable_cpp is needed for use in
145# pcre-config.
146AC_ARG_ENABLE(cpp,
147              AS_HELP_STRING([--disable-cpp],
148                             [disable C++ support]),
149              , enable_cpp=unset)
150AC_SUBST(enable_cpp)
151
152# Handle --enable-jit (disabled by default)
153AC_ARG_ENABLE(jit,
154              AS_HELP_STRING([--enable-jit],
155                             [enable Just-In-Time compiling support]),
156              , enable_jit=no)
157
158# Handle --disable-pcregrep-jit (enabled by default)
159AC_ARG_ENABLE(pcregrep-jit,
160              AS_HELP_STRING([--disable-pcregrep-jit],
161                             [disable JIT support in pcregrep]),
162              , enable_pcregrep_jit=yes)
163
164# Handle --enable-rebuild-chartables
165AC_ARG_ENABLE(rebuild-chartables,
166              AS_HELP_STRING([--enable-rebuild-chartables],
167                             [rebuild character tables in current locale]),
168              , enable_rebuild_chartables=no)
169
170# Handle --enable-utf8 (disabled by default)
171AC_ARG_ENABLE(utf8,
172              AS_HELP_STRING([--enable-utf8],
173                             [another name for --enable-utf. Kept only for compatibility reasons]),
174              , enable_utf8=unset)
175
176# Handle --enable-utf (disabled by default)
177AC_ARG_ENABLE(utf,
178              AS_HELP_STRING([--enable-utf],
179                             [enable UTF-8/16/32 support (incompatible with --enable-ebcdic)]),
180              , enable_utf=unset)
181
182# Handle --enable-unicode-properties
183AC_ARG_ENABLE(unicode-properties,
184              AS_HELP_STRING([--enable-unicode-properties],
185                             [enable Unicode properties support (implies --enable-utf)]),
186              , enable_unicode_properties=no)
187
188# Handle newline options
189ac_pcre_newline=lf
190AC_ARG_ENABLE(newline-is-cr,
191              AS_HELP_STRING([--enable-newline-is-cr],
192                             [use CR as newline character]),
193              ac_pcre_newline=cr)
194AC_ARG_ENABLE(newline-is-lf,
195              AS_HELP_STRING([--enable-newline-is-lf],
196                             [use LF as newline character (default)]),
197              ac_pcre_newline=lf)
198AC_ARG_ENABLE(newline-is-crlf,
199              AS_HELP_STRING([--enable-newline-is-crlf],
200                             [use CRLF as newline sequence]),
201              ac_pcre_newline=crlf)
202AC_ARG_ENABLE(newline-is-anycrlf,
203              AS_HELP_STRING([--enable-newline-is-anycrlf],
204                             [use CR, LF, or CRLF as newline sequence]),
205              ac_pcre_newline=anycrlf)
206AC_ARG_ENABLE(newline-is-any,
207              AS_HELP_STRING([--enable-newline-is-any],
208                             [use any valid Unicode newline sequence]),
209              ac_pcre_newline=any)
210enable_newline="$ac_pcre_newline"
211
212# Handle --enable-bsr-anycrlf
213AC_ARG_ENABLE(bsr-anycrlf,
214              AS_HELP_STRING([--enable-bsr-anycrlf],
215                             [\R matches only CR, LF, CRLF by default]),
216              , enable_bsr_anycrlf=no)
217
218# Handle --enable-ebcdic
219AC_ARG_ENABLE(ebcdic,
220              AS_HELP_STRING([--enable-ebcdic],
221                             [assume EBCDIC coding rather than ASCII; incompatible with --enable-utf; use only in (uncommon) EBCDIC environments; it implies --enable-rebuild-chartables]),
222              , enable_ebcdic=no)
223
224# Handle --enable-ebcdic-nl25
225AC_ARG_ENABLE(ebcdic-nl25,
226              AS_HELP_STRING([--enable-ebcdic-nl25],
227                             [set EBCDIC code for NL to 0x25 instead of 0x15; it implies --enable-ebcdic]),
228              , enable_ebcdic_nl25=no)
229
230# Handle --disable-stack-for-recursion
231AC_ARG_ENABLE(stack-for-recursion,
232              AS_HELP_STRING([--disable-stack-for-recursion],
233                             [don't use stack recursion when matching]),
234              , enable_stack_for_recursion=yes)
235
236# Handle --enable-pcregrep-libz
237AC_ARG_ENABLE(pcregrep-libz,
238              AS_HELP_STRING([--enable-pcregrep-libz],
239                             [link pcregrep with libz to handle .gz files]),
240              , enable_pcregrep_libz=no)
241
242# Handle --enable-pcregrep-libbz2
243AC_ARG_ENABLE(pcregrep-libbz2,
244              AS_HELP_STRING([--enable-pcregrep-libbz2],
245                             [link pcregrep with libbz2 to handle .bz2 files]),
246              , enable_pcregrep_libbz2=no)
247
248# Handle --with-pcregrep-bufsize=N
249AC_ARG_WITH(pcregrep-bufsize,
250              AS_HELP_STRING([--with-pcregrep-bufsize=N],
251                             [pcregrep buffer size (default=20480, minimum=8192)]),
252              , with_pcregrep_bufsize=20480)
253
254# Handle --enable-pcretest-libedit
255AC_ARG_ENABLE(pcretest-libedit,
256              AS_HELP_STRING([--enable-pcretest-libedit],
257                             [link pcretest with libedit]),
258              , enable_pcretest_libedit=no)
259
260# Handle --enable-pcretest-libreadline
261AC_ARG_ENABLE(pcretest-libreadline,
262              AS_HELP_STRING([--enable-pcretest-libreadline],
263                             [link pcretest with libreadline]),
264              , enable_pcretest_libreadline=no)
265
266# Handle --with-posix-malloc-threshold=NBYTES
267AC_ARG_WITH(posix-malloc-threshold,
268            AS_HELP_STRING([--with-posix-malloc-threshold=NBYTES],
269                           [threshold for POSIX malloc usage (default=10)]),
270            , with_posix_malloc_threshold=10)
271
272# Handle --with-link-size=N
273AC_ARG_WITH(link-size,
274            AS_HELP_STRING([--with-link-size=N],
275                           [internal link size (2, 3, or 4 allowed; default=2)]),
276            , with_link_size=2)
277
278# Handle --with-parens-nest-limit=N
279AC_ARG_WITH(parens-nest-limit,
280            AS_HELP_STRING([--with-parens-nest-limit=N],
281                           [nested parentheses limit (default=250)]),
282            , with_parens_nest_limit=250)
283
284# Handle --with-match-limit=N
285AC_ARG_WITH(match-limit,
286            AS_HELP_STRING([--with-match-limit=N],
287                           [default limit on internal looping (default=10000000)]),
288            , with_match_limit=10000000)
289
290# Handle --with-match-limit_recursion=N
291#
292# Note: In config.h, the default is to define MATCH_LIMIT_RECURSION
293# symbolically as MATCH_LIMIT, which in turn is defined to be some numeric
294# value (e.g. 10000000). MATCH_LIMIT_RECURSION can otherwise be set to some
295# different numeric value (or even the same numeric value as MATCH_LIMIT,
296# though no longer defined in terms of the latter).
297#
298AC_ARG_WITH(match-limit-recursion,
299            AS_HELP_STRING([--with-match-limit-recursion=N],
300                           [default limit on internal recursion (default=MATCH_LIMIT)]),
301            , with_match_limit_recursion=MATCH_LIMIT)
302
303# Handle --enable-valgrind
304AC_ARG_ENABLE(valgrind,
305              AS_HELP_STRING([--enable-valgrind],
306                             [valgrind support]),
307              , enable_valgrind=no)
308
309# Enable code coverage reports using gcov
310AC_ARG_ENABLE(coverage,
311              AS_HELP_STRING([--enable-coverage],
312                             [enable code coverage reports using gcov]),
313              , enable_coverage=no)
314
315# Copy enable_utf8 value to enable_utf for compatibility reasons
316if test "x$enable_utf8" != "xunset"
317then
318  if test "x$enable_utf" != "xunset"
319  then
320    AC_MSG_ERROR([--enable/disable-utf8 is kept only for compatibility reasons and its value is copied to --enable/disable-utf. Newer code must use --enable/disable-utf alone.])
321  fi
322  enable_utf=$enable_utf8
323fi
324
325# Set the default value for pcre8
326if test "x$enable_pcre8" = "xunset"
327then
328  enable_pcre8=yes
329fi
330
331# Set the default value for pcre16
332if test "x$enable_pcre16" = "xunset"
333then
334  enable_pcre16=no
335fi
336
337# Set the default value for pcre32
338if test "x$enable_pcre32" = "xunset"
339then
340  enable_pcre32=no
341fi
342
343# Make sure enable_pcre8 or enable_pcre16 was set
344if test "x$enable_pcre8$enable_pcre16$enable_pcre32" = "xnonono"
345then
346  AC_MSG_ERROR([At least one of 8, 16 or 32 bit pcre library must be enabled])
347fi
348
349# Make sure that if enable_unicode_properties was set, that UTF support is enabled.
350if test "x$enable_unicode_properties" = "xyes"
351then
352  if test "x$enable_utf" = "xno"
353  then
354    AC_MSG_ERROR([support for Unicode properties requires UTF-8/16/32 support])
355  fi
356  enable_utf=yes
357fi
358
359# enable_utf is disabled by default.
360if test "x$enable_utf" = "xunset"
361then
362  enable_utf=no
363fi
364
365# enable_cpp copies the value of enable_pcre8 by default
366if test "x$enable_cpp" = "xunset"
367then
368  enable_cpp=$enable_pcre8
369fi
370
371# Make sure that if enable_cpp was set, that enable_pcre8 support is enabled
372if test "x$enable_cpp" = "xyes"
373then
374  if test "x$enable_pcre8" = "xno"
375  then
376    AC_MSG_ERROR([C++ library requires pcre library with 8 bit characters])
377  fi
378fi
379
380# Convert the newline identifier into the appropriate integer value. The first
381# three are ASCII values 0x0a, 0x0d, and 0x0d0a, but if EBCDIC is enabled, they
382# are changed below.
383
384case "$enable_newline" in
385  lf)      ac_pcre_newline_value=10   ;;
386  cr)      ac_pcre_newline_value=13   ;;
387  crlf)    ac_pcre_newline_value=3338 ;;
388  anycrlf) ac_pcre_newline_value=-2   ;;
389  any)     ac_pcre_newline_value=-1   ;;
390  *)
391  AC_MSG_ERROR([invalid argument \"$enable_newline\" to --enable-newline option])
392  ;;
393esac
394
395# --enable-ebcdic-nl25 implies --enable-ebcdic
396if test "x$enable_ebcdic_nl25" = "xyes"; then
397  enable_ebcdic=yes
398fi
399
400# Make sure that if enable_ebcdic is set, rebuild_chartables is also enabled,
401# and the newline value is adjusted appropriately (CR is still 13, but LF is
402# 21 or 37). Also check that UTF support is not requested, because PCRE cannot
403# handle EBCDIC and UTF in the same build. To do so it would need to use
404# different character constants depending on the mode.
405#
406if test "x$enable_ebcdic" = "xyes"; then
407  enable_rebuild_chartables=yes
408
409  if test "x$enable_utf" = "xyes"; then
410    AC_MSG_ERROR([support for EBCDIC and UTF-8/16/32 cannot be enabled at the same time])
411  fi
412
413  if test "x$enable_ebcdic_nl25" = "xno"; then
414    case "$ac_pcre_newline_value" in
415      10)   ac_pcre_newline_value=21 ;;
416      3338) ac_pcre_newline_value=3349 ;;
417    esac
418  else
419    case "$ac_pcre_newline_value" in
420      10)   ac_pcre_newline_value=37 ;;
421      3338) ac_pcre_newline_value=3365 ;;
422    esac
423  fi
424fi
425
426# Check argument to --with-link-size
427case "$with_link_size" in
428  2|3|4) ;;
429  *)
430  AC_MSG_ERROR([invalid argument \"$with_link_size\" to --with-link-size option])
431  ;;
432esac
433
434AH_TOP([
435/* PCRE is written in Standard C, but there are a few non-standard things it
436can cope with, allowing it to run on SunOS4 and other "close to standard"
437systems.
438
439In environments that support the GNU autotools, config.h.in is converted into
440config.h by the "configure" script. In environments that use CMake,
441config-cmake.in is converted into config.h. If you are going to build PCRE "by
442hand" without using "configure" or CMake, you should copy the distributed
443config.h.generic to config.h, and edit the macro definitions to be the way you
444need them. You must then add -DHAVE_CONFIG_H to all of your compile commands,
445so that config.h is included at the start of every source.
446
447Alternatively, you can avoid editing by using -D on the compiler command line
448to set the macro values. In this case, you do not have to set -DHAVE_CONFIG_H,
449but if you do, default values will be taken from config.h for non-boolean
450macros that are not defined on the command line.
451
452Boolean macros such as HAVE_STDLIB_H and SUPPORT_PCRE8 should either be defined
453(conventionally to 1) for TRUE, and not defined at all for FALSE. All such
454macros are listed as a commented #undef in config.h.generic. Macros such as
455MATCH_LIMIT, whose actual value is relevant, have defaults defined, but are
456surrounded by #ifndef/#endif lines so that the value can be overridden by -D.
457
458PCRE uses memmove() if HAVE_MEMMOVE is defined; otherwise it uses bcopy() if
459HAVE_BCOPY is defined. If your system has neither bcopy() nor memmove(), make
460sure both macros are undefined; an emulation function will then be used. */])
461
462# Checks for header files.
463AC_HEADER_STDC
464AC_CHECK_HEADERS(limits.h sys/types.h sys/stat.h dirent.h)
465AC_CHECK_HEADERS([windows.h], [HAVE_WINDOWS_H=1])
466
467# The files below are C++ header files.
468pcre_have_type_traits="0"
469pcre_have_bits_type_traits="0"
470
471if test "x$enable_cpp" = "xyes" -a -z "$CXX"; then
472   AC_MSG_ERROR([You need a C++ compiler for C++ support.])
473fi
474
475if test "x$enable_cpp" = "xyes" -a -n "$CXX"
476then
477AC_LANG_PUSH(C++)
478
479# Older versions of pcre defined pcrecpp::no_arg, but in new versions
480# it's called pcrecpp::RE::no_arg.  For backwards ABI compatibility,
481# we want to make one an alias for the other.  Different systems do
482# this in different ways.  Some systems, for instance, can do it via
483# a linker flag: -alias (for os x 10.5) or -i (for os x <=10.4).
484OLD_LDFLAGS="$LDFLAGS"
485for flag in "-alias,__ZN7pcrecpp2RE6no_argE,__ZN7pcrecpp6no_argE" \
486            "-i__ZN7pcrecpp6no_argE:__ZN7pcrecpp2RE6no_argE"; do
487  AC_MSG_CHECKING([for alias support in the linker])
488  LDFLAGS="$OLD_LDFLAGS -Wl,$flag"
489  # We try to run the linker with this new ld flag.  If the link fails,
490  # we give up and remove the new flag from LDFLAGS.
491  AC_LINK_IFELSE([AC_LANG_PROGRAM([namespace pcrecpp {
492                                    class RE { static int no_arg; };
493                                    int RE::no_arg;
494                                  }],
495                                 [])],
496                 [AC_MSG_RESULT([yes]);
497                  EXTRA_LIBPCRECPP_LDFLAGS="$EXTRA_LIBPCRECPP_LDFLAGS -Wl,$flag";
498                  break;],
499                 AC_MSG_RESULT([no]))
500done
501LDFLAGS="$OLD_LDFLAGS"
502
503# We could be more clever here, given we're doing AC_SUBST with this
504# (eg set a var to be the name of the include file we want). But we're not
505# so it's easy to change back to 'regular' autoconf vars if we needed to.
506AC_CHECK_HEADERS(string, [pcre_have_cpp_headers="1"],
507                         [pcre_have_cpp_headers="0"])
508AC_CHECK_HEADERS(bits/type_traits.h, [pcre_have_bits_type_traits="1"],
509                                     [pcre_have_bits_type_traits="0"])
510AC_CHECK_HEADERS(type_traits.h, [pcre_have_type_traits="1"],
511                                [pcre_have_type_traits="0"])
512
513# (This isn't c++-specific, but is only used in pcrecpp.cc, so try this
514# in a c++ context.  This matters becuase strtoimax is C99 and may not
515# be supported by the C++ compiler.)
516# Figure out how to create a longlong from a string: strtoll and
517# equiv.  It's not enough to call AC_CHECK_FUNCS: hpux has a
518# strtoll, for instance, but it only takes 2 args instead of 3!
519# We have to call AH_TEMPLATE since AC_DEFINE_UNQUOTED below is complex.
520AH_TEMPLATE(HAVE_STRTOQ, [Define to 1 if you have `strtoq'.])
521AH_TEMPLATE(HAVE_STRTOLL, [Define to 1 if you have `strtoll'.])
522AH_TEMPLATE(HAVE__STRTOI64, [Define to 1 if you have `_strtoi64'.])
523AH_TEMPLATE(HAVE_STRTOIMAX, [Define to 1 if you have `strtoimax'.])
524have_strto_fn=0
525for fn in strtoq strtoll _strtoi64 strtoimax; do
526  AC_MSG_CHECKING([for $fn])
527  if test "$fn" = strtoimax; then
528    include=stdint.h
529  else
530    include=stdlib.h
531  fi
532  AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include <$include>],
533                                    [char* e; return $fn("100", &e, 10)])],
534                    [AC_MSG_RESULT(yes)
535                     AC_DEFINE_UNQUOTED(HAVE_`echo $fn | tr abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ`, 1,
536                                        [Define to 1 if you have `$fn'.])
537                     have_strto_fn=1
538                     break],
539                    [AC_MSG_RESULT(no)])
540done
541
542if test "$have_strto_fn" = 1; then
543  AC_CHECK_TYPES([long long],
544                 [pcre_have_long_long="1"],
545                 [pcre_have_long_long="0"])
546  AC_CHECK_TYPES([unsigned long long],
547                 [pcre_have_ulong_long="1"],
548                 [pcre_have_ulong_long="0"])
549else
550  pcre_have_long_long="0"
551  pcre_have_ulong_long="0"
552fi
553AC_SUBST(pcre_have_long_long)
554AC_SUBST(pcre_have_ulong_long)
555
556AC_LANG_POP
557fi
558# Using AC_SUBST eliminates the need to include config.h in a public .h file
559AC_SUBST(pcre_have_type_traits)
560AC_SUBST(pcre_have_bits_type_traits)
561
562# Conditional compilation
563AM_CONDITIONAL(WITH_PCRE8, test "x$enable_pcre8" = "xyes")
564AM_CONDITIONAL(WITH_PCRE16, test "x$enable_pcre16" = "xyes")
565AM_CONDITIONAL(WITH_PCRE32, test "x$enable_pcre32" = "xyes")
566AM_CONDITIONAL(WITH_PCRE_CPP, test "x$enable_cpp" = "xyes")
567AM_CONDITIONAL(WITH_REBUILD_CHARTABLES, test "x$enable_rebuild_chartables" = "xyes")
568AM_CONDITIONAL(WITH_JIT, test "x$enable_jit" = "xyes")
569AM_CONDITIONAL(WITH_UTF, test "x$enable_utf" = "xyes")
570AM_CONDITIONAL(WITH_VALGRIND, test "x$enable_valgrind" = "xyes")
571
572# Checks for typedefs, structures, and compiler characteristics.
573
574AC_C_CONST
575AC_TYPE_SIZE_T
576
577# Checks for library functions.
578
579AC_CHECK_FUNCS(bcopy memmove strerror)
580
581# Check for the availability of libz (aka zlib)
582
583AC_CHECK_HEADERS([zlib.h], [HAVE_ZLIB_H=1])
584AC_CHECK_LIB([z], [gzopen], [HAVE_LIBZ=1])
585
586# Check for the availability of libbz2. Originally we just used AC_CHECK_LIB,
587# as for libz. However, this had the following problem, diagnosed and fixed by
588# a user:
589#
590#   - libbz2 uses the Pascal calling convention (WINAPI) for the functions
591#     under Win32.
592#   - The standard autoconf AC_CHECK_LIB fails to include "bzlib.h",
593#     therefore missing the function definition.
594#   - The compiler thus generates a "C" signature for the test function.
595#   - The linker fails to find the "C" function.
596#   - PCRE fails to configure if asked to do so against libbz2.
597#
598# Solution:
599#
600#   - Replace the AC_CHECK_LIB test with a custom test.
601
602AC_CHECK_HEADERS([bzlib.h], [HAVE_BZLIB_H=1])
603# Original test
604# AC_CHECK_LIB([bz2], [BZ2_bzopen], [HAVE_LIBBZ2=1])
605#
606# Custom test follows
607
608AC_MSG_CHECKING([for libbz2])
609OLD_LIBS="$LIBS"
610LIBS="$LIBS -lbz2"
611AC_LINK_IFELSE([AC_LANG_PROGRAM([[
612#ifdef HAVE_BZLIB_H
613#include <bzlib.h>
614#endif]],
615[[return (int)BZ2_bzopen("conftest", "rb");]])],
616[AC_MSG_RESULT([yes]);HAVE_LIBBZ2=1; break;],
617AC_MSG_RESULT([no]))
618LIBS="$OLD_LIBS"
619
620# Check for the availabiity of libreadline
621
622if test "$enable_pcretest_libreadline" = "yes"; then
623 AC_CHECK_HEADERS([readline/readline.h], [HAVE_READLINE_H=1])
624 AC_CHECK_HEADERS([readline/history.h], [HAVE_HISTORY_H=1])
625 AC_CHECK_LIB([readline], [readline], [LIBREADLINE="-lreadline"],
626   [unset ac_cv_lib_readline_readline;
627    AC_CHECK_LIB([readline], [readline], [LIBREADLINE="-ltinfo"],
628     [unset ac_cv_lib_readline_readline;
629      AC_CHECK_LIB([readline], [readline], [LIBREADLINE="-lcurses"],
630       [unset ac_cv_lib_readline_readline;
631        AC_CHECK_LIB([readline], [readline], [LIBREADLINE="-lncurses"],
632         [unset ac_cv_lib_readline_readline;
633	  AC_CHECK_LIB([readline], [readline], [LIBREADLINE="-lncursesw"],
634           [unset ac_cv_lib_readline_readline;
635	    AC_CHECK_LIB([readline], [readline], [LIBREADLINE="-ltermcap"],
636             [LIBREADLINE=""],
637             [-ltermcap])],
638           [-lncursesw])],
639         [-lncurses])],
640       [-lcurses])],
641     [-ltinfo])])
642 AC_SUBST(LIBREADLINE)
643 if test -n "$LIBREADLINE"; then
644   if test "$LIBREADLINE" != "-lreadline"; then
645     echo "-lreadline needs $LIBREADLINE"
646     LIBREADLINE="-lreadline $LIBREADLINE"
647   fi
648 fi
649fi
650
651
652# Check for the availability of libedit. Different distributions put its
653# headers in different places. Try to cover the most common ones.
654
655if test "$enable_pcretest_libedit" = "yes"; then
656  AC_CHECK_HEADERS([editline/readline.h], [HAVE_EDITLINE_READLINE_H=1],
657    [AC_CHECK_HEADERS([edit/readline/readline.h], [HAVE_READLINE_READLINE_H=1],
658      [AC_CHECK_HEADERS([readline/readline.h], [HAVE_READLINE_READLINE_H=1])])])
659  AC_CHECK_LIB([edit], [readline], [LIBEDIT="-ledit"])
660fi
661
662# This facilitates -ansi builds under Linux
663dnl AC_DEFINE([_GNU_SOURCE], [], [Enable GNU extensions in glibc])
664
665PCRE_STATIC_CFLAG=""
666if test "x$enable_shared" = "xno" ; then
667  AC_DEFINE([PCRE_STATIC], [1], [
668    Define to any value if linking statically (TODO: make nice with Libtool)])
669  PCRE_STATIC_CFLAG="-DPCRE_STATIC"
670fi
671AC_SUBST(PCRE_STATIC_CFLAG)
672
673# Here is where pcre specific defines are handled
674
675if test "$enable_pcre8" = "yes"; then
676  AC_DEFINE([SUPPORT_PCRE8], [], [
677    Define to any value to enable the 8 bit PCRE library.])
678fi
679
680if test "$enable_pcre16" = "yes"; then
681  AC_DEFINE([SUPPORT_PCRE16], [], [
682    Define to any value to enable the 16 bit PCRE library.])
683fi
684
685if test "$enable_pcre32" = "yes"; then
686  AC_DEFINE([SUPPORT_PCRE32], [], [
687    Define to any value to enable the 32 bit PCRE library.])
688fi
689
690# Unless running under Windows, JIT support requires pthreads.
691
692if test "$enable_jit" = "yes"; then
693  if test "$HAVE_WINDOWS_H" != "1"; then
694    AX_PTHREAD([], [AC_MSG_ERROR([JIT support requires pthreads])])
695    CC="$PTHREAD_CC"
696    CFLAGS="$PTHREAD_CFLAGS $CFLAGS"
697    LIBS="$PTHREAD_LIBS $LIBS"
698  fi
699  AC_DEFINE([SUPPORT_JIT], [], [
700    Define to any value to enable support for Just-In-Time compiling.])
701else
702  enable_pcregrep_jit="no"
703fi
704
705if test "$enable_pcregrep_jit" = "yes"; then
706  AC_DEFINE([SUPPORT_PCREGREP_JIT], [], [
707    Define to any value to enable JIT support in pcregrep.])
708fi
709
710if test "$enable_utf" = "yes"; then
711  AC_DEFINE([SUPPORT_UTF], [], [
712    Define to any value to enable support for the UTF-8/16/32 Unicode encoding.
713    This will work even in an EBCDIC environment, but it is incompatible
714    with the EBCDIC macro. That is, PCRE can support *either* EBCDIC
715    code *or* ASCII/UTF-8/16/32, but not both at once.])
716fi
717
718if test "$enable_unicode_properties" = "yes"; then
719  AC_DEFINE([SUPPORT_UCP], [], [
720    Define to any value to enable support for Unicode properties.])
721fi
722
723if test "$enable_stack_for_recursion" = "no"; then
724  AC_DEFINE([NO_RECURSE], [], [
725    PCRE uses recursive function calls to handle backtracking while
726    matching. This can sometimes be a problem on systems that have
727    stacks of limited size. Define NO_RECURSE to any value to get a
728    version that doesn't use recursion in the match() function; instead
729    it creates its own stack by steam using pcre_recurse_malloc() to obtain
730    memory from the heap. For more detail, see the comments and other stuff
731    just above the match() function.])
732fi
733
734if test "$enable_pcregrep_libz" = "yes"; then
735  AC_DEFINE([SUPPORT_LIBZ], [], [
736    Define to any value to allow pcregrep to be linked with libz, so that it is
737    able to handle .gz files.])
738fi
739
740if test "$enable_pcregrep_libbz2" = "yes"; then
741  AC_DEFINE([SUPPORT_LIBBZ2], [], [
742    Define to any value to allow pcregrep to be linked with libbz2, so that it
743    is able to handle .bz2 files.])
744fi
745
746if test $with_pcregrep_bufsize -lt 8192 ; then
747  AC_MSG_WARN([$with_pcregrep_bufsize is too small for --with-pcregrep-bufsize; using 8192])
748  with_pcregrep_bufsize="8192"
749else
750  if test $? -gt 1 ; then
751  AC_MSG_ERROR([Bad value for  --with-pcregrep-bufsize])
752  fi
753fi
754
755AC_DEFINE_UNQUOTED([PCREGREP_BUFSIZE], [$with_pcregrep_bufsize], [
756  The value of PCREGREP_BUFSIZE determines the size of buffer used by pcregrep
757  to hold parts of the file it is searching. This is also the minimum value.
758  The actual amount of memory used by pcregrep is three times this number,
759  because it allows for the buffering of "before" and "after" lines.])
760
761if test "$enable_pcretest_libedit" = "yes"; then
762  AC_DEFINE([SUPPORT_LIBEDIT], [], [
763    Define to any value to allow pcretest to be linked with libedit.])
764  LIBREADLINE="$LIBEDIT"
765elif test "$enable_pcretest_libreadline" = "yes"; then
766  AC_DEFINE([SUPPORT_LIBREADLINE], [], [
767    Define to any value to allow pcretest to be linked with libreadline.])
768fi
769
770AC_DEFINE_UNQUOTED([NEWLINE], [$ac_pcre_newline_value], [
771  The value of NEWLINE determines the default newline character sequence. PCRE
772  client programs can override this by selecting other values at run time. In
773  ASCII environments, the value can be 10 (LF), 13 (CR), or 3338 (CRLF); in
774  EBCDIC environments the value can be 21 or 37 (LF), 13 (CR), or 3349 or 3365
775  (CRLF) because there are two alternative codepoints (0x15 and 0x25) that are
776  used as the NL line terminator that is equivalent to ASCII LF. In both ASCII
777  and EBCDIC environments the value can also be -1 (ANY), or -2 (ANYCRLF).])
778
779if test "$enable_bsr_anycrlf" = "yes"; then
780  AC_DEFINE([BSR_ANYCRLF], [], [
781    By default, the \R escape sequence matches any Unicode line ending
782    character or sequence of characters. If BSR_ANYCRLF is defined (to any
783    value), this is changed so that backslash-R matches only CR, LF, or CRLF.
784    The build-time default can be overridden by the user of PCRE at runtime.])
785fi
786
787AC_DEFINE_UNQUOTED([LINK_SIZE], [$with_link_size], [
788  The value of LINK_SIZE determines the number of bytes used to store
789  links as offsets within the compiled regex. The default is 2, which
790  allows for compiled patterns up to 64K long. This covers the vast
791  majority of cases. However, PCRE can also be compiled to use 3 or 4
792  bytes instead. This allows for longer patterns in extreme cases.])
793
794AC_DEFINE_UNQUOTED([POSIX_MALLOC_THRESHOLD], [$with_posix_malloc_threshold], [
795  When calling PCRE via the POSIX interface, additional working storage
796  is required for holding the pointers to capturing substrings because
797  PCRE requires three integers per substring, whereas the POSIX
798  interface provides only two. If the number of expected substrings is
799  small, the wrapper function uses space on the stack, because this is
800  faster than using malloc() for each call. The threshold above which
801  the stack is no longer used is defined by POSIX_MALLOC_THRESHOLD.])
802
803AC_DEFINE_UNQUOTED([PARENS_NEST_LIMIT], [$with_parens_nest_limit], [
804  The value of PARENS_NEST_LIMIT specifies the maximum depth of nested
805  parentheses (of any kind) in a pattern. This limits the amount of system
806  stack that is used while compiling a pattern.])
807
808AC_DEFINE_UNQUOTED([MATCH_LIMIT], [$with_match_limit], [
809  The value of MATCH_LIMIT determines the default number of times the
810  internal match() function can be called during a single execution of
811  pcre_exec(). There is a runtime interface for setting a different
812  limit. The limit exists in order to catch runaway regular
813  expressions that take for ever to determine that they do not match.
814  The default is set very large so that it does not accidentally catch
815  legitimate cases.])
816
817AC_DEFINE_UNQUOTED([MATCH_LIMIT_RECURSION], [$with_match_limit_recursion], [
818  The above limit applies to all calls of match(), whether or not they
819  increase the recursion depth. In some environments it is desirable
820  to limit the depth of recursive calls of match() more strictly, in
821  order to restrict the maximum amount of stack (or heap, if
822  NO_RECURSE is defined) that is used. The value of
823  MATCH_LIMIT_RECURSION applies only to recursive calls of match(). To
824  have any useful effect, it must be less than the value of
825  MATCH_LIMIT. The default is to use the same value as MATCH_LIMIT.
826  There is a runtime method for setting a different limit.])
827
828AC_DEFINE([MAX_NAME_SIZE], [32], [
829  This limit is parameterized just in case anybody ever wants to
830  change it. Care must be taken if it is increased, because it guards
831  against integer overflow caused by enormously large patterns.])
832
833AC_DEFINE([MAX_NAME_COUNT], [10000], [
834  This limit is parameterized just in case anybody ever wants to
835  change it. Care must be taken if it is increased, because it guards
836  against integer overflow caused by enormously large patterns.])
837
838AH_VERBATIM([PCRE_EXP_DEFN], [
839/* If you are compiling for a system other than a Unix-like system or
840   Win32, and it needs some magic to be inserted before the definition
841   of a function that is exported by the library, define this macro to
842   contain the relevant magic. If you do not define this macro, a suitable
843    __declspec value is used for Windows systems; in other environments
844   "extern" is used for a C compiler and "extern C" for a C++ compiler.
845   This macro apears at the start of every exported function that is part
846   of the external API. It does not appear on functions that are "external"
847   in the C sense, but which are internal to the library. */
848#undef PCRE_EXP_DEFN])
849
850if test "$enable_ebcdic" = "yes"; then
851  AC_DEFINE_UNQUOTED([EBCDIC], [], [
852    If you are compiling for a system that uses EBCDIC instead of ASCII
853    character codes, define this macro to any value. You must also edit the
854    NEWLINE macro below to set a suitable EBCDIC newline, commonly 21 (0x15).
855    On systems that can use "configure" or CMake to set EBCDIC, NEWLINE is
856    automatically adjusted. When EBCDIC is set, PCRE assumes that all input
857    strings are in EBCDIC. If you do not define this macro, PCRE will assume
858    input strings are ASCII or UTF-8/16/32 Unicode. It is not possible to build
859    a version of PCRE that supports both EBCDIC and UTF-8/16/32.])
860fi
861
862if test "$enable_ebcdic_nl25" = "yes"; then
863  AC_DEFINE_UNQUOTED([EBCDIC_NL25], [], [
864    In an EBCDIC environment, define this macro to any value to arrange for
865    the NL character to be 0x25 instead of the default 0x15. NL plays the role
866    that LF does in an ASCII/Unicode environment. The value must also be set in
867    the NEWLINE macro below. On systems that can use "configure" or CMake to
868    set EBCDIC_NL25, the adjustment of NEWLINE is automatic.])
869fi
870
871if test "$enable_valgrind" = "yes"; then
872  AC_DEFINE_UNQUOTED([SUPPORT_VALGRIND], [], [
873     Define to any value for valgrind support to find invalid memory reads.])
874fi
875
876# Platform specific issues
877NO_UNDEFINED=
878EXPORT_ALL_SYMBOLS=
879case $host_os in
880  cygwin* | mingw* )
881    if test X"$enable_shared" = Xyes; then
882      NO_UNDEFINED="-no-undefined"
883      EXPORT_ALL_SYMBOLS="-Wl,--export-all-symbols"
884    fi
885    ;;
886esac
887
888# The extra LDFLAGS for each particular library
889# (Note: The libpcre*_version bits are m4 variables, assigned above)
890
891EXTRA_LIBPCRE_LDFLAGS="$EXTRA_LIBPCRE_LDFLAGS \
892                       $NO_UNDEFINED -version-info libpcre_version"
893
894EXTRA_LIBPCRE16_LDFLAGS="$EXTRA_LIBPCRE16_LDFLAGS \
895                       $NO_UNDEFINED -version-info libpcre16_version"
896
897EXTRA_LIBPCRE32_LDFLAGS="$EXTRA_LIBPCRE32_LDFLAGS \
898                       $NO_UNDEFINED -version-info libpcre32_version"
899
900EXTRA_LIBPCREPOSIX_LDFLAGS="$EXTRA_LIBPCREPOSIX_LDFLAGS \
901                            $NO_UNDEFINED -version-info libpcreposix_version"
902
903EXTRA_LIBPCRECPP_LDFLAGS="$EXTRA_LIBPCRECPP_LDFLAGS \
904                          $NO_UNDEFINED -version-info libpcrecpp_version \
905                          $EXPORT_ALL_SYMBOLS"
906
907AC_SUBST(EXTRA_LIBPCRE_LDFLAGS)
908AC_SUBST(EXTRA_LIBPCRE16_LDFLAGS)
909AC_SUBST(EXTRA_LIBPCRE32_LDFLAGS)
910AC_SUBST(EXTRA_LIBPCREPOSIX_LDFLAGS)
911AC_SUBST(EXTRA_LIBPCRECPP_LDFLAGS)
912
913# When we run 'make distcheck', use these arguments. Turning off compiler
914# optimization makes it run faster.
915DISTCHECK_CONFIGURE_FLAGS="CFLAGS='' CXXFLAGS='' --enable-pcre16 --enable-pcre32 --enable-jit --enable-cpp --enable-unicode-properties"
916AC_SUBST(DISTCHECK_CONFIGURE_FLAGS)
917
918# Check that, if --enable-pcregrep-libz or --enable-pcregrep-libbz2 is
919# specified, the relevant library is available.
920
921if test "$enable_pcregrep_libz" = "yes"; then
922  if test "$HAVE_ZLIB_H" != "1"; then
923    echo "** Cannot --enable-pcregrep-libz because zlib.h was not found"
924    exit 1
925  fi
926  if test "$HAVE_LIBZ" != "1"; then
927    echo "** Cannot --enable-pcregrep-libz because libz was not found"
928    exit 1
929  fi
930  LIBZ="-lz"
931fi
932AC_SUBST(LIBZ)
933
934if test "$enable_pcregrep_libbz2" = "yes"; then
935  if test "$HAVE_BZLIB_H" != "1"; then
936    echo "** Cannot --enable-pcregrep-libbz2 because bzlib.h was not found"
937    exit 1
938  fi
939  if test "$HAVE_LIBBZ2" != "1"; then
940    echo "** Cannot --enable-pcregrep-libbz2 because libbz2 was not found"
941    exit 1
942  fi
943  LIBBZ2="-lbz2"
944fi
945AC_SUBST(LIBBZ2)
946
947# Similarly for --enable-pcretest-readline
948
949if test "$enable_pcretest_libedit" = "yes"; then
950  if test "$enable_pcretest_libreadline" = "yes"; then
951    echo "** Cannot use both --enable-pcretest-libedit and --enable-pcretest-readline"
952    exit 1
953  fi
954  if test "$HAVE_EDITLINE_READLINE_H" != "1" -a \
955          "$HAVE_READLINE_READLINE_H" != "1"; then
956    echo "** Cannot --enable-pcretest-libedit because neither editline/readline.h"
957    echo "** nor readline/readline.h was found."
958    exit 1
959  fi
960  if test -z "$LIBEDIT"; then
961    echo "** Cannot --enable-pcretest-libedit because libedit library was not found."
962    exit 1
963  fi
964fi
965
966if test "$enable_pcretest_libreadline" = "yes"; then
967  if test "$HAVE_READLINE_H" != "1"; then
968    echo "** Cannot --enable-pcretest-readline because readline/readline.h was not found."
969    exit 1
970  fi
971  if test "$HAVE_HISTORY_H" != "1"; then
972    echo "** Cannot --enable-pcretest-readline because readline/history.h was not found."
973    exit 1
974  fi
975  if test -z "$LIBREADLINE"; then
976    echo "** Cannot --enable-pcretest-readline because readline library was not found."
977    exit 1
978  fi
979fi
980
981# Handle valgrind support
982
983if test "$enable_valgrind" = "yes"; then
984  m4_ifdef([PKG_CHECK_MODULES],
985           [PKG_CHECK_MODULES([VALGRIND],[valgrind])],
986           [AC_MSG_ERROR([pkg-config not supported])])
987fi
988
989# Handle code coverage reporting support
990if test "$enable_coverage" = "yes"; then
991  if test "x$GCC" != "xyes"; then
992    AC_MSG_ERROR([Code coverage reports can only be generated when using GCC])
993  fi
994
995  # ccache is incompatible with gcov
996  AC_PATH_PROG([SHTOOL],[shtool],[false])
997  case `$SHTOOL path $CC` in
998    *ccache*) cc_ccache=yes;;
999    *) cc_ccache=no;;
1000  esac
1001
1002  if test "$cc_ccache" = "yes"; then
1003    if test -z "$CCACHE_DISABLE" -o "$CCACHE_DISABLE" != "1"; then
1004      AC_MSG_ERROR([must export CCACHE_DISABLE=1 to disable ccache for code coverage])
1005    fi
1006  fi
1007
1008  AC_ARG_VAR([LCOV],[the ltp lcov program])
1009  AC_PATH_PROG([LCOV],[lcov],[false])
1010  if test "x$LCOV" = "xfalse"; then
1011    AC_MSG_ERROR([lcov not found])
1012  fi
1013
1014  AC_ARG_VAR([GENHTML],[the ltp genhtml program])
1015  AC_PATH_PROG([GENHTML],[genhtml],[false])
1016  if test "x$GENHTML" = "xfalse"; then
1017    AC_MSG_ERROR([genhtml not found])
1018  fi
1019
1020  # Set flags needed for gcov
1021  GCOV_CFLAGS="-O0 -ggdb3 -fprofile-arcs -ftest-coverage"
1022  GCOV_CXXFLAGS="-O0 -ggdb3 -fprofile-arcs -ftest-coverage"
1023  GCOV_LIBS="-lgcov"
1024  AC_SUBST([GCOV_CFLAGS])
1025  AC_SUBST([GCOV_CXXFLAGS])
1026  AC_SUBST([GCOV_LIBS])
1027fi # enable_coverage
1028
1029AM_CONDITIONAL([WITH_GCOV],[test "x$enable_coverage" = "xyes"])
1030
1031# Produce these files, in addition to config.h.
1032AC_CONFIG_FILES(
1033	Makefile
1034	libpcre.pc
1035	libpcre16.pc
1036	libpcre32.pc
1037	libpcreposix.pc
1038	libpcrecpp.pc
1039	pcre-config
1040	pcre.h
1041	pcre_stringpiece.h
1042	pcrecpparg.h
1043)
1044
1045# Make the generated script files executable.
1046AC_CONFIG_COMMANDS([script-chmod], [chmod a+x pcre-config])
1047
1048# Make sure that pcre_chartables.c is removed in case the method for
1049# creating it was changed by reconfiguration.
1050AC_CONFIG_COMMANDS([delete-old-chartables], [rm -f pcre_chartables.c])
1051
1052AC_OUTPUT
1053
1054# Print out a nice little message after configure is run displaying the
1055# chosen options.
1056
1057ebcdic_nl_code=n/a
1058if test "$enable_ebcdic_nl25" = "yes"; then
1059  ebcdic_nl_code=0x25
1060elif test "$enable_ebcdic" = "yes"; then
1061  ebcdic_nl_code=0x15
1062fi
1063
1064cat <<EOF
1065
1066$PACKAGE-$VERSION configuration summary:
1067
1068    Install prefix .................. : ${prefix}
1069    C preprocessor .................. : ${CPP}
1070    C compiler ...................... : ${CC}
1071    C++ preprocessor ................ : ${CXXCPP}
1072    C++ compiler .................... : ${CXX}
1073    Linker .......................... : ${LD}
1074    C preprocessor flags ............ : ${CPPFLAGS}
1075    C compiler flags ................ : ${CFLAGS} ${VISIBILITY_CFLAGS}
1076    C++ compiler flags .............. : ${CXXFLAGS} ${VISIBILITY_CXXFLAGS}
1077    Linker flags .................... : ${LDFLAGS}
1078    Extra libraries ................. : ${LIBS}
1079
1080    Build 8 bit pcre library ........ : ${enable_pcre8}
1081    Build 16 bit pcre library ....... : ${enable_pcre16}
1082    Build 32 bit pcre library ....... : ${enable_pcre32}
1083    Build C++ library ............... : ${enable_cpp}
1084    Enable JIT compiling support .... : ${enable_jit}
1085    Enable UTF-8/16/32 support ...... : ${enable_utf}
1086    Unicode properties .............. : ${enable_unicode_properties}
1087    Newline char/sequence ........... : ${enable_newline}
1088    \R matches only ANYCRLF ......... : ${enable_bsr_anycrlf}
1089    EBCDIC coding ................... : ${enable_ebcdic}
1090    EBCDIC code for NL .............. : ${ebcdic_nl_code}
1091    Rebuild char tables ............. : ${enable_rebuild_chartables}
1092    Use stack recursion ............. : ${enable_stack_for_recursion}
1093    POSIX mem threshold ............. : ${with_posix_malloc_threshold}
1094    Internal link size .............. : ${with_link_size}
1095    Nested parentheses limit ........ : ${with_parens_nest_limit}
1096    Match limit ..................... : ${with_match_limit}
1097    Match limit recursion ........... : ${with_match_limit_recursion}
1098    Build shared libs ............... : ${enable_shared}
1099    Build static libs ............... : ${enable_static}
1100    Use JIT in pcregrep ............. : ${enable_pcregrep_jit}
1101    Buffer size for pcregrep ........ : ${with_pcregrep_bufsize}
1102    Link pcregrep with libz ......... : ${enable_pcregrep_libz}
1103    Link pcregrep with libbz2 ....... : ${enable_pcregrep_libbz2}
1104    Link pcretest with libedit ...... : ${enable_pcretest_libedit}
1105    Link pcretest with libreadline .. : ${enable_pcretest_libreadline}
1106    Valgrind support ................ : ${enable_valgrind}
1107    Code coverage ................... : ${enable_coverage}
1108
1109EOF
1110
1111dnl end configure.ac
1112