tizen 2.3.1 release
[framework/web/pcre.git] / configure.ac
1 dnl Process this file with autoconf to produce a configure script.
2
3 dnl NOTE FOR MAINTAINERS: Do not use major or minor version numbers with
4 dnl leading zeros, because they may be treated as octal constants. The
5 dnl PCRE_PRERELEASE feature is for identifying release candidates. It might
6 dnl be defined as -RC2, for example. For real releases, it should be defined
7 dnl empty.
8
9 m4_define(pcre_major, [7])
10 m4_define(pcre_minor, [7])
11 m4_define(pcre_prerelease, [])
12 m4_define(pcre_date, [2008-05-07])
13
14 # Libtool shared library interface versions (current:revision:age)
15 m4_define(libpcre_version, [0:1:0])
16 m4_define(libpcreposix_version, [0:0:0])
17 m4_define(libpcrecpp_version, [0:0:0])
18
19 AC_PREREQ(2.57)
20 AC_INIT(PCRE, pcre_major.pcre_minor[]pcre_prerelease, , pcre)
21 AC_CONFIG_SRCDIR([pcre.h.in])
22 AM_INIT_AUTOMAKE([dist-bzip2 dist-zip])
23 AC_CONFIG_HEADERS(config.h)
24
25 # The default CFLAGS and CXXFLAGS in Autoconf are "-g -O2" for gcc and just
26 # "-g" for any other compiler. There doesn't seem to be a standard way of
27 # getting rid of the -g (which I don't think is needed for a production
28 # library). This fudge seems to achieve the necessary. First, we remember the
29 # externally set values of CFLAGS and CXXFLAGS. Then call the AC_PROG_CC and
30 # AC_PROG_CXX macros to find the compilers - if CFLAGS and CXXFLAGS are not
31 # set, they will be set to Autoconf's defaults. Afterwards, if the original
32 # values were not set, remove the -g from the Autoconf defaults.
33 # (PH 02-May-07)
34
35 remember_set_CFLAGS="$CFLAGS"
36 remember_set_CXXFLAGS="$CXXFLAGS"
37
38 AC_PROG_CC
39 AC_PROG_CXX
40
41 if test "x$remember_set_CFLAGS" = "x"
42 then
43   if test "$CFLAGS" = "-g -O2"
44   then
45     CFLAGS="-O2"
46   elif test "$CFLAGS" = "-g"
47   then
48     CFLAGS=""
49   fi
50 fi
51
52 if test "x$remember_set_CXXFLAGS" = "x"
53 then
54   if test "$CXXFLAGS" = "-g -O2"
55   then
56     CXXFLAGS="-O2"
57   elif test "$CXXFLAGS" = "-g"
58   then
59     CXXFLAGS=""
60   fi
61 fi
62
63 # AC_PROG_CXX will return "g++" even if no c++ compiler is installed.
64 # Check for that case, and just disable c++ code if g++ doesn't run.
65 AC_LANG_PUSH(C++)
66 AC_COMPILE_IFELSE(AC_LANG_PROGRAM([],[]),, CXX=""; CXXCP=""; CXXFLAGS="")
67 AC_LANG_POP
68
69 AC_PROG_INSTALL
70 AC_LIBTOOL_WIN32_DLL
71 AC_PROG_LIBTOOL
72 AC_PROG_LN_S
73
74 PCRE_MAJOR="pcre_major"
75 PCRE_MINOR="pcre_minor"
76 PCRE_PRERELEASE="pcre_prerelease"
77 PCRE_DATE="pcre_date"
78
79 AC_SUBST(PCRE_MAJOR)
80 AC_SUBST(PCRE_MINOR)
81 AC_SUBST(PCRE_PRERELEASE)
82 AC_SUBST(PCRE_DATE)
83
84 # Set a more sensible default value for $(htmldir).
85 if test "x$htmldir" = 'x${docdir}'
86 then
87   htmldir='${docdir}/html'
88 fi
89
90 # Handle --disable-cpp
91 AC_ARG_ENABLE(cpp,
92               AS_HELP_STRING([--disable-cpp],
93                              [disable C++ support]),
94               , enable_cpp=yes)
95
96 # Handle --enable-rebuild-chartables
97 AC_ARG_ENABLE(rebuild-chartables,
98               AS_HELP_STRING([--enable-rebuild-chartables],
99                              [rebuild character tables in current locale]),
100               , enable_rebuild_chartables=no)
101
102 # Handle --enable-utf8 (disabled by default)
103 AC_ARG_ENABLE(utf8,
104               AS_HELP_STRING([--enable-utf8],
105                              [enable UTF-8 support]),
106               , enable_utf8=unset)
107
108 # Handle --enable-unicode-properties
109 AC_ARG_ENABLE(unicode-properties,
110               AS_HELP_STRING([--enable-unicode-properties],
111                              [enable Unicode properties support (implies --enable-utf8)]),
112               , enable_unicode_properties=no)
113
114 # Handle --enable-newline=NL
115 dnl AC_ARG_ENABLE(newline,
116 dnl               AS_HELP_STRING([--enable-newline=NL],
117 dnl                              [use NL as newline (lf, cr, crlf, anycrlf, any; default=lf)]),
118 dnl               , enable_newline=lf)
119
120 # Separate newline options
121 ac_pcre_newline=lf
122 AC_ARG_ENABLE(newline-is-cr,
123               AS_HELP_STRING([--enable-newline-is-cr],
124                              [use CR as newline character]),
125               ac_pcre_newline=cr)
126 AC_ARG_ENABLE(newline-is-lf,
127               AS_HELP_STRING([--enable-newline-is-lf],
128                              [use LF as newline character (default)]),
129               ac_pcre_newline=lf)
130 AC_ARG_ENABLE(newline-is-crlf,
131               AS_HELP_STRING([--enable-newline-is-crlf],
132                              [use CRLF as newline sequence]),
133               ac_pcre_newline=crlf)
134 AC_ARG_ENABLE(newline-is-anycrlf,
135               AS_HELP_STRING([--enable-newline-is-anycrlf],
136                              [use CR, LF, or CRLF as newline sequence]),
137               ac_pcre_newline=anycrlf)
138 AC_ARG_ENABLE(newline-is-any,
139               AS_HELP_STRING([--enable-newline-is-any],
140                              [use any valid Unicode newline sequence]),
141               ac_pcre_newline=any)
142 enable_newline="$ac_pcre_newline"
143
144 # Handle --enable-bsr-anycrlf
145 AC_ARG_ENABLE(bsr-anycrlf,
146               AS_HELP_STRING([--enable-bsr-anycrlf],
147                              [\R matches only CR, LF, CRLF by default]),
148               , enable_bsr_anycrlf=no)
149
150 # Handle --enable-ebcdic
151 AC_ARG_ENABLE(ebcdic,
152               AS_HELP_STRING([--enable-ebcdic],
153                              [assume EBCDIC coding rather than ASCII; use this only in (uncommon) EBCDIC environments; it implies --enable-rebuild-chartables]),
154               , enable_ebcdic=no)
155
156 # Handle --disable-stack-for-recursion
157 AC_ARG_ENABLE(stack-for-recursion,
158               AS_HELP_STRING([--disable-stack-for-recursion],
159                              [don't use stack recursion when matching]),
160               , enable_stack_for_recursion=yes)
161
162 # Handle --enable-pcregrep-libz
163 AC_ARG_ENABLE(pcregrep-libz,
164               AS_HELP_STRING([--enable-pcregrep-libz],
165                              [link pcregrep with libz to handle .gz files]),
166               , enable_pcregrep_libz=no)
167
168 # Handle --enable-pcregrep-libbz2
169 AC_ARG_ENABLE(pcregrep-libbz2,
170               AS_HELP_STRING([--enable-pcregrep-libbz2],
171                              [link pcregrep with libbz2 to handle .bz2 files]),
172               , enable_pcregrep_libbz2=no)
173
174 # Handle --enable-pcretest-libreadline
175 AC_ARG_ENABLE(pcretest-libreadline,
176               AS_HELP_STRING([--enable-pcretest-libreadline],
177                              [link pcretest with libreadline]),
178               , enable_pcretest_libreadline=no)
179
180 # Handle --with-posix-malloc-threshold=NBYTES
181 AC_ARG_WITH(posix-malloc-threshold,
182             AS_HELP_STRING([--with-posix-malloc-threshold=NBYTES],
183                            [threshold for POSIX malloc usage (default=10)]),
184             , with_posix_malloc_threshold=10)
185
186 # Handle --with-link-size=N
187 AC_ARG_WITH(link-size,
188             AS_HELP_STRING([--with-link-size=N],
189                            [internal link size (2, 3, or 4 allowed; default=2)]),
190             , with_link_size=2)
191
192 # Handle --with-match-limit=N
193 AC_ARG_WITH(match-limit,
194             AS_HELP_STRING([--with-match-limit=N],
195                            [default limit on internal looping (default=10000000)]),
196             , with_match_limit=10000000)
197
198 # Handle --with-match-limit_recursion=N
199 #
200 # Note: In config.h, the default is to define MATCH_LIMIT_RECURSION
201 # symbolically as MATCH_LIMIT, which in turn is defined to be some numeric
202 # value (e.g. 10000000). MATCH_LIMIT_RECURSION can otherwise be set to some
203 # different numeric value (or even the same numeric value as MATCH_LIMIT,
204 # though no longer defined in terms of the latter).
205 #
206 AC_ARG_WITH(match-limit-recursion,
207             AS_HELP_STRING([--with-match-limit-recursion=N],
208                            [default limit on internal recursion (default=MATCH_LIMIT)]),
209             , with_match_limit_recursion=MATCH_LIMIT)
210
211 # Make sure that if enable_unicode_properties was set, that UTF-8 support
212 # is enabled.
213 #
214 if test "x$enable_unicode_properties" = "xyes"
215 then
216   if test "x$enable_utf8" = "xno"
217   then
218     AC_MSG_ERROR([support for Unicode properties requires UTF-8 support])
219   fi
220   enable_utf8=yes
221 fi
222
223 if test "x$enable_utf8" = "xunset"
224 then
225   enable_utf8=no
226 fi
227
228 # Make sure that if enable_ebcdic is set, rebuild_chartables is also enabled.
229 #
230 if test "x$enable_ebcdic" = "xyes"
231 then
232   enable_rebuild_chartables=yes
233 fi
234
235 # Convert the newline identifier into the appropriate integer value.
236 case "$enable_newline" in
237   lf)      ac_pcre_newline_value=10   ;;
238   cr)      ac_pcre_newline_value=13   ;;
239   crlf)    ac_pcre_newline_value=3338 ;;
240   anycrlf) ac_pcre_newline_value=-2   ;;
241   any)     ac_pcre_newline_value=-1   ;;
242   *)
243   AC_MSG_ERROR([invalid argument \"$enable_newline\" to --enable-newline option])
244   ;;
245 esac
246
247 # Check argument to --with-link-size
248 case "$with_link_size" in
249   2|3|4) ;;
250   *)
251   AC_MSG_ERROR([invalid argument \"$with_link_size\" to --with-link-size option])
252   ;;
253 esac
254
255 AH_TOP([
256 /* On Unix-like systems config.h.in is converted by "configure" into config.h.
257 Some other environments also support the use of "configure". PCRE is written in
258 Standard C, but there are a few non-standard things it can cope with, allowing
259 it to run on SunOS4 and other "close to standard" systems.
260
261 If you are going to build PCRE "by hand" on a system without "configure" you
262 should copy the distributed config.h.generic to config.h, and then set up the
263 macro definitions the way you need them. You must then add -DHAVE_CONFIG_H to
264 all of your compile commands, so that config.h is included at the start of
265 every source.
266
267 Alternatively, you can avoid editing by using -D on the compiler command line
268 to set the macro values. In this case, you do not have to set -DHAVE_CONFIG_H.
269
270 PCRE uses memmove() if HAVE_MEMMOVE is set to 1; otherwise it uses bcopy() if
271 HAVE_BCOPY is set to 1. If your system has neither bcopy() nor memmove(), set
272 them both to 0; an emulation function will be used. */])
273
274 # Checks for header files.
275 AC_HEADER_STDC
276 AC_CHECK_HEADERS(limits.h sys/types.h sys/stat.h dirent.h windows.h)
277
278 # The files below are C++ header files.
279 pcre_have_type_traits="0"
280 pcre_have_bits_type_traits="0"
281 if test "x$enable_cpp" = "xyes" -a -n "$CXX"
282 then
283 AC_LANG_PUSH(C++)
284
285 # Older versions of pcre defined pcrecpp::no_arg, but in new versions
286 # it's called pcrecpp::RE::no_arg.  For backwards ABI compatibility,
287 # we want to make one an alias for the other.  Different systems do
288 # this in different ways.  Some systems, for instance, can do it via
289 # a linker flag: -alias (for os x 10.5) or -i (for os x <=10.4).
290 OLD_LDFLAGS="$LDFLAGS"
291 for flag in "-alias,__ZN7pcrecpp2RE6no_argE,__ZN7pcrecpp6no_argE" \
292             "-i__ZN7pcrecpp6no_argE:__ZN7pcrecpp2RE6no_argE"; do
293   AC_MSG_CHECKING([for alias support in the linker])
294   LDFLAGS="$OLD_LDFLAGS -Wl,$flag"
295   # We try to run the linker with this new ld flag.  If the link fails,
296   # we give up and remove the new flag from LDFLAGS.
297   AC_LINK_IFELSE(AC_LANG_PROGRAM([namespace pcrecpp {
298                                     class RE { static int no_arg; };
299                                     int RE::no_arg;
300                                   }],
301                                  []),
302                  [AC_MSG_RESULT([yes]);
303                   EXTRA_LIBPCRECPP_LDFLAGS="$EXTRA_LIBPCRECPP_LDFLAGS -Wl,$flag";
304                   break;],
305                  AC_MSG_RESULT([no]))
306 done
307 LDFLAGS="$OLD_LDFLAGS"
308
309 # We could be more clever here, given we're doing AC_SUBST with this
310 # (eg set a var to be the name of the include file we want). But we're not
311 # so it's easy to change back to 'regular' autoconf vars if we needed to.
312 AC_CHECK_HEADERS(string, [pcre_have_cpp_headers="1"],
313                          [pcre_have_cpp_headers="0"])
314 AC_CHECK_HEADERS(bits/type_traits.h, [pcre_have_bits_type_traits="1"],
315                                      [pcre_have_bits_type_traits="0"])
316 AC_CHECK_HEADERS(type_traits.h, [pcre_have_type_traits="1"],
317                                 [pcre_have_type_traits="0"])
318
319 AC_LANG_POP
320 fi
321 # Using AC_SUBST eliminates the need to include config.h in a public .h file
322 AC_SUBST(pcre_have_type_traits)
323 AC_SUBST(pcre_have_bits_type_traits)
324
325 # Conditional compilation
326 AM_CONDITIONAL(WITH_PCRE_CPP, test "x$enable_cpp" = "xyes")
327 AM_CONDITIONAL(WITH_REBUILD_CHARTABLES, test "x$enable_rebuild_chartables" = "xyes")
328
329 # Checks for typedefs, structures, and compiler characteristics.
330
331 AC_C_CONST
332 AC_TYPE_SIZE_T
333
334 pcre_have_strotolonglong=0
335 AC_CHECK_FUNCS(strtoq strtoll _strtoi64, [pcre_have_strotolonglong="1"; break])
336 # If we can't convert a string to a long long, pretend we don't even
337 # have a long long.
338 if test $pcre_have_strotolonglong = "0"; then
339    pcre_have_long_long="0"
340    pcre_have_ulong_long="0"
341 else
342   AC_CHECK_TYPES([long long],
343                  [pcre_have_long_long="1"],
344                  [pcre_have_long_long="0"])
345   AC_CHECK_TYPES([unsigned long long],
346                  [pcre_have_ulong_long="1"],
347                  [pcre_have_ulong_long="0"])
348 fi
349 AC_SUBST(pcre_have_long_long)
350 AC_SUBST(pcre_have_ulong_long)
351
352 # Checks for library functions.
353
354 AC_CHECK_FUNCS(bcopy memmove strerror)
355
356 # Check for the availability of libz (aka zlib)
357
358 AC_CHECK_HEADERS([zlib.h], [HAVE_ZLIB_H=1])
359 AC_CHECK_LIB([z], [gzopen], [HAVE_LIBZ=1])
360
361 # Check for the availability of libbz2
362
363 AC_CHECK_HEADERS([bzlib.h], [HAVE_BZLIB_H=1])
364 AC_CHECK_LIB([bz2], [BZ2_bzopen], [HAVE_LIBBZ2=1])
365
366 # Check for the availabiity of libreadline
367
368 AC_CHECK_HEADERS([readline/readline.h], [HAVE_READLINE_H=1])
369 AC_CHECK_HEADERS([readline/history.h], [HAVE_HISTORY_H=1])
370 AC_CHECK_LIB([readline], [readline], [HAVE_LIB_READLINE=1])
371
372 # This facilitates -ansi builds under Linux
373 dnl AC_DEFINE([_GNU_SOURCE], [], [Enable GNU extensions in glibc])
374
375 if test "x$enable_shared" = "xno" ; then
376   AC_DEFINE([PCRE_STATIC], [1], [
377     Define if linking statically (TODO: make nice with Libtool)])
378 fi
379
380 # Here is where pcre specific defines are handled
381
382 if test "$enable_utf8" = "yes"; then
383   AC_DEFINE([SUPPORT_UTF8], [], [
384     Define to enable support for the UTF-8 Unicode encoding.])
385 fi
386
387 if test "$enable_unicode_properties" = "yes"; then
388   AC_DEFINE([SUPPORT_UCP], [], [
389     Define to enable support for Unicode properties])
390 fi
391
392 if test "$enable_stack_for_recursion" = "no"; then
393   AC_DEFINE([NO_RECURSE], [], [
394     PCRE uses recursive function calls to handle backtracking while
395     matching. This can sometimes be a problem on systems that have
396     stacks of limited size. Define NO_RECURSE to get a version that
397     doesn't use recursion in the match() function; instead it creates
398     its own stack by steam using pcre_recurse_malloc() to obtain memory
399     from the heap. For more detail, see the comments and other stuff
400     just above the match() function. On systems that support it,
401     "configure" can be used to set this in the Makefile
402     (use --disable-stack-for-recursion).])
403 fi
404
405 if test "$enable_pcregrep_libz" = "yes"; then
406   AC_DEFINE([SUPPORT_LIBZ], [], [
407     Define to allow pcregrep to be linked with libz, so that it is
408     able to handle .gz files.])
409 fi
410
411 if test "$enable_pcregrep_libbz2" = "yes"; then
412   AC_DEFINE([SUPPORT_LIBBZ2], [], [
413     Define to allow pcregrep to be linked with libbz2, so that it is
414     able to handle .bz2 files.])
415 fi
416
417 if test "$enable_pcretest_libreadline" = "yes"; then
418   AC_DEFINE([SUPPORT_LIBREADLINE], [], [
419     Define to allow pcretest to be linked with libreadline.])
420 fi
421
422 AC_DEFINE_UNQUOTED([NEWLINE], [$ac_pcre_newline_value], [
423   The value of NEWLINE determines the newline character sequence. On
424   systems that support it, "configure" can be used to override the
425   default, which is 10. The possible values are 10 (LF), 13 (CR),
426   3338 (CRLF), -1 (ANY), or -2 (ANYCRLF).])
427
428 if test "$enable_bsr_anycrlf" = "yes"; then
429   AC_DEFINE([BSR_ANYCRLF], [], [
430     By default, the \R escape sequence matches any Unicode line ending
431     character or sequence of characters. If BSR_ANYCRLF is defined, this is
432     changed so that backslash-R matches only CR, LF, or CRLF. The build-
433     time default can be overridden by the user of PCRE at runtime. On
434     systems that support it, "configure" can be used to override the
435     default.])
436 fi
437
438 AC_DEFINE_UNQUOTED([LINK_SIZE], [$with_link_size], [
439   The value of LINK_SIZE determines the number of bytes used to store
440   links as offsets within the compiled regex. The default is 2, which
441   allows for compiled patterns up to 64K long. This covers the vast
442   majority of cases. However, PCRE can also be compiled to use 3 or 4
443   bytes instead. This allows for longer patterns in extreme cases. On
444   systems that support it, "configure" can be used to override this default.])
445
446 AC_DEFINE_UNQUOTED([POSIX_MALLOC_THRESHOLD], [$with_posix_malloc_threshold], [
447   When calling PCRE via the POSIX interface, additional working storage
448   is required for holding the pointers to capturing substrings because
449   PCRE requires three integers per substring, whereas the POSIX
450   interface provides only two. If the number of expected substrings is
451   small, the wrapper function uses space on the stack, because this is
452   faster than using malloc() for each call. The threshold above which
453   the stack is no longer used is defined by POSIX_MALLOC_THRESHOLD. On
454   systems that support it, "configure" can be used to override this
455   default.])
456
457 AC_DEFINE_UNQUOTED([MATCH_LIMIT], [$with_match_limit], [
458   The value of MATCH_LIMIT determines the default number of times the
459   internal match() function can be called during a single execution of
460   pcre_exec(). There is a runtime interface for setting a different
461   limit. The limit exists in order to catch runaway regular
462   expressions that take for ever to determine that they do not match.
463   The default is set very large so that it does not accidentally catch
464   legitimate cases. On systems that support it, "configure" can be
465   used to override this default default.])
466
467 AC_DEFINE_UNQUOTED([MATCH_LIMIT_RECURSION], [$with_match_limit_recursion], [
468   The above limit applies to all calls of match(), whether or not they
469   increase the recursion depth. In some environments it is desirable
470   to limit the depth of recursive calls of match() more strictly, in
471   order to restrict the maximum amount of stack (or heap, if
472   NO_RECURSE is defined) that is used. The value of
473   MATCH_LIMIT_RECURSION applies only to recursive calls of match(). To
474   have any useful effect, it must be less than the value of
475   MATCH_LIMIT. The default is to use the same value as MATCH_LIMIT.
476   There is a runtime method for setting a different limit. On systems
477   that support it, "configure" can be used to override the default.])
478
479 AC_DEFINE([MAX_NAME_SIZE], [32], [
480   This limit is parameterized just in case anybody ever wants to
481   change it. Care must be taken if it is increased, because it guards
482   against integer overflow caused by enormously large patterns.])
483
484 AC_DEFINE([MAX_NAME_COUNT], [10000], [
485   This limit is parameterized just in case anybody ever wants to
486   change it. Care must be taken if it is increased, because it guards
487   against integer overflow caused by enormously large patterns.])
488
489 AH_VERBATIM([PCRE_EXP_DEFN], [
490 /* If you are compiling for a system other than a Unix-like system or
491    Win32, and it needs some magic to be inserted before the definition
492    of a function that is exported by the library, define this macro to
493    contain the relevant magic. If you do not define this macro, it
494    defaults to "extern" for a C compiler and "extern C" for a C++
495    compiler on non-Win32 systems. This macro apears at the start of
496    every exported function that is part of the external API. It does
497    not appear on functions that are "external" in the C sense, but
498    which are internal to the library. */
499 #undef PCRE_EXP_DEFN])
500
501 if test "$enable_ebcdic" = "yes"; then
502   AC_DEFINE_UNQUOTED([EBCDIC], [], [
503     If you are compiling for a system that uses EBCDIC instead of ASCII
504     character codes, define this macro as 1. On systems that can use
505     "configure", this can be done via --enable-ebcdic.])
506 fi
507
508 # Platform specific issues
509 NO_UNDEFINED=
510 EXPORT_ALL_SYMBOLS=
511 case $host_os in
512   cygwin* | mingw* )
513     if test X"$enable_shared" = Xyes; then
514       NO_UNDEFINED="-no-undefined"
515       EXPORT_ALL_SYMBOLS="-Wl,--export-all-symbols"
516     fi
517     ;;
518 esac
519
520 # The extra LDFLAGS for each particular library
521 # (Note: The libpcre*_version bits are m4 variables, assigned above)
522
523 EXTRA_LIBPCRE_LDFLAGS="$EXTRA_LIBPCRE_LDFLAGS \
524                        $NO_UNDEFINED -version-info libpcre_version"
525
526 EXTRA_LIBPCREPOSIX_LDFLAGS="$EXTRA_LIBPCREPOSIX_LDFLAGS \
527                             $NO_UNDEFINED -version-info libpcreposix_version"
528
529 EXTRA_LIBPCRECPP_LDFLAGS="$EXTRA_LIBPCRECPP_LDFLAGS \
530                           $NO_UNDEFINED -version-info libpcrecpp_version \
531                           $EXPORT_ALL_SYMBOLS"
532
533 AC_SUBST(EXTRA_LIBPCRE_LDFLAGS)
534 AC_SUBST(EXTRA_LIBPCREPOSIX_LDFLAGS)
535 AC_SUBST(EXTRA_LIBPCRECPP_LDFLAGS)
536
537 # When we run 'make distcheck', use these arguments.
538 DISTCHECK_CONFIGURE_FLAGS="--enable-cpp --enable-unicode-properties"
539 AC_SUBST(DISTCHECK_CONFIGURE_FLAGS)
540
541 # Check that, if --enable-pcregrep-libz or --enable-pcregrep-libbz2 is
542 # specified, the relevant library is available. If so, add it to LIBS.
543
544 if test "$enable_pcregrep_libz" = "yes"; then
545   if test "$HAVE_ZLIB_H" != "1"; then
546     echo "** Cannot --enable-pcregrep-libz because zlib.h was not found"
547     exit 1
548   fi
549   if test "$HAVE_LIBZ" != "1"; then
550     echo "** Cannot --enable-pcregrep-libz because libz was not found"
551     exit 1
552   fi
553   if test "$LIBS" = ""; then LIBS=-lz; else LIBS="$LIBS -lz"; fi
554 fi
555
556 if test "$enable_pcregrep_libbz2" = "yes"; then
557   if test "$HAVE_BZLIB_H" != "1"; then
558     echo "** Cannot --enable-pcregrep-libbz2 because bzlib.h was not found"
559     exit 1
560   fi
561   if test "$HAVE_LIBBZ2" != "1"; then
562     echo "** Cannot --enable-pcregrep-libbz2 because libbz2 was not found"
563     exit 1
564   fi
565   if test "$LIBS" = ""; then LIBS=-lbz2; else LIBS="$LIBS -lbz2"; fi
566 fi
567
568 # Similarly for --enable-pcretest-readline
569
570 if test "$enable_pcretest_libreadline" = "yes"; then
571   if test "$HAVE_READLINE_H" != "1"; then
572     echo "** Cannot --enable-pcretest-readline because readline/readline.h was not found."
573     exit 1
574   fi
575   if test "$HAVE_HISTORY_H" != "1"; then
576     echo "** Cannot --enable-pcretest-readline because readline/history.h was not found."
577     exit 1
578   fi
579   if test "$LIBS" = ""; then LIBS=-lreadline; else LIBS="$LIBS -lreadline"; fi
580 fi
581
582 # Produce these files, in addition to config.h.
583 AC_CONFIG_FILES(
584         Makefile
585         libpcre.pc
586         libpcrecpp.pc
587         pcre-config
588         pcre.h
589         pcre_stringpiece.h
590         pcrecpparg.h
591 )
592
593 # Make the generated script files executable.
594 AC_CONFIG_COMMANDS([script-chmod], [chmod a+x pcre-config])
595
596 # Make sure that pcre_chartables.c is removed in case the method for
597 # creating it was changed by reconfiguration.
598 AC_CONFIG_COMMANDS([delete-old-chartables], [rm -f pcre_chartables.c])
599
600 AC_OUTPUT
601
602 # Print out a nice little message after configure is run displaying your
603 # chosen options.
604
605 cat <<EOF
606
607 $PACKAGE-$VERSION configuration summary:
608
609     Install prefix .................. : ${prefix}
610     C preprocessor .................. : ${CPP}
611     C compiler ...................... : ${CC}
612     C++ preprocessor ................ : ${CXXCPP}
613     C++ compiler .................... : ${CXX}
614     Linker .......................... : ${LD}
615     C preprocessor flags ............ : ${CPPFLAGS}
616     C compiler flags ................ : ${CFLAGS}
617     C++ compiler flags .............. : ${CXXFLAGS}
618     Linker flags .................... : ${LDFLAGS}
619     Extra libraries ................. : ${LIBS}
620
621     Build C++ library ............... : ${enable_cpp}
622     Enable UTF-8 support ............ : ${enable_utf8}
623     Unicode properties .............. : ${enable_unicode_properties}
624     Newline char/sequence ........... : ${enable_newline}
625     \R matches only ANYCRLF ......... : ${enable_bsr_anycrlf}
626     EBCDIC coding ................... : ${enable_ebcdic}
627     Rebuild char tables ............. : ${enable_rebuild_chartables}
628     Use stack recursion ............. : ${enable_stack_for_recursion}
629     POSIX mem threshold ............. : ${with_posix_malloc_threshold}
630     Internal link size .............. : ${with_link_size}
631     Match limit ..................... : ${with_match_limit}
632     Match limit recursion ........... : ${with_match_limit_recursion}
633     Build shared libs ............... : ${enable_shared}
634     Build static libs ............... : ${enable_static}
635     Link pcregrep with libz ......... : ${enable_pcregrep_libz}
636     Link pcregrep with libbz2 ....... : ${enable_pcregrep_libbz2}
637     Link pcretest with libreadline .. : ${enable_pcretest_libreadline}
638
639 EOF
640
641 dnl end configure.ac