/[pcre]/code/trunk/configure.ac
ViewVC logotype

Diff of /code/trunk/configure.ac

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 98 by ph10, Mon Mar 5 15:55:02 2007 UTC revision 475 by ph10, Sat Jan 2 18:21:30 2010 UTC
# Line 1  Line 1 
1  dnl Process this file with autoconf to produce a configure script.  dnl Process this file with autoconf to produce a configure script.
2    
3  m4_define(pcre_major, [7])  dnl NOTE FOR MAINTAINERS: Do not use major or minor version numbers with
4  m4_define(pcre_minor, [1])  dnl leading zeros, because they may be treated as octal constants. The
5  m4_define(pcre_prerelease, [-RC1])  dnl PCRE_PRERELEASE feature is for identifying release candidates. It might
6  m4_define(pcre_date, [2007-03-05])  dnl be defined as -RC2, for example. For real releases, it should be defined
7    dnl empty.
8    
9    m4_define(pcre_major, [8])
10    m4_define(pcre_minor, [01])
11    m4_define(pcre_prerelease, [])
12    m4_define(pcre_date, [2010-01-02])
13    
14  # Libtool shared library interface versions (current:revision:age)  # Libtool shared library interface versions (current:revision:age)
15  m4_define(libpcre_version, [0:1:0])  m4_define(libpcre_version, [0:1:0])
# Line 15  AC_INIT(PCRE, pcre_major.pcre_minor[]pcr Line 21  AC_INIT(PCRE, pcre_major.pcre_minor[]pcr
21  AC_CONFIG_SRCDIR([pcre.h.in])  AC_CONFIG_SRCDIR([pcre.h.in])
22  AM_INIT_AUTOMAKE([dist-bzip2 dist-zip])  AM_INIT_AUTOMAKE([dist-bzip2 dist-zip])
23  AC_CONFIG_HEADERS(config.h)  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  AC_PROG_CC
39  AC_PROG_CXX  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    # Check for a 64-bit integer type
70    AC_TYPE_INT64_T
71    
72  AC_PROG_INSTALL  AC_PROG_INSTALL
73  AC_LIBTOOL_WIN32_DLL  AC_LIBTOOL_WIN32_DLL
74  AC_PROG_LIBTOOL  AC_PROG_LIBTOOL
75    AC_PROG_LN_S
76    
77  PCRE_MAJOR="pcre_major"  PCRE_MAJOR="pcre_major"
78  PCRE_MINOR="pcre_minor"  PCRE_MINOR="pcre_minor"
# Line 43  AC_ARG_ENABLE(cpp, Line 96  AC_ARG_ENABLE(cpp,
96                               [disable C++ support]),                               [disable C++ support]),
97                , enable_cpp=yes)                , enable_cpp=yes)
98    
99    # Handle --enable-rebuild-chartables
100    AC_ARG_ENABLE(rebuild-chartables,
101                  AS_HELP_STRING([--enable-rebuild-chartables],
102                                 [rebuild character tables in current locale]),
103                  , enable_rebuild_chartables=no)
104    
105  # Handle --enable-utf8 (disabled by default)  # Handle --enable-utf8 (disabled by default)
106  AC_ARG_ENABLE(utf8,  AC_ARG_ENABLE(utf8,
107                AS_HELP_STRING([--enable-utf8],                AS_HELP_STRING([--enable-utf8],
108                               [enable UTF-8 support]),                               [enable UTF-8 support (incompatible with --enable-ebcdic)]),
109                , enable_utf8=unset)                , enable_utf8=unset)
110    
111  # Handle --enable-unicode-properties  # Handle --enable-unicode-properties
# Line 58  AC_ARG_ENABLE(unicode-properties, Line 117  AC_ARG_ENABLE(unicode-properties,
117  # Handle --enable-newline=NL  # Handle --enable-newline=NL
118  dnl AC_ARG_ENABLE(newline,  dnl AC_ARG_ENABLE(newline,
119  dnl               AS_HELP_STRING([--enable-newline=NL],  dnl               AS_HELP_STRING([--enable-newline=NL],
120  dnl                              [use NL as newline (lf, cr, crlf, any; default=lf)]),  dnl                              [use NL as newline (lf, cr, crlf, anycrlf, any; default=lf)]),
121  dnl               , enable_newline=lf)  dnl               , enable_newline=lf)
122    
123  # Separate newline options  # Separate newline options
# Line 75  AC_ARG_ENABLE(newline-is-crlf, Line 134  AC_ARG_ENABLE(newline-is-crlf,
134                AS_HELP_STRING([--enable-newline-is-crlf],                AS_HELP_STRING([--enable-newline-is-crlf],
135                               [use CRLF as newline sequence]),                               [use CRLF as newline sequence]),
136                ac_pcre_newline=crlf)                ac_pcre_newline=crlf)
137    AC_ARG_ENABLE(newline-is-anycrlf,
138                  AS_HELP_STRING([--enable-newline-is-anycrlf],
139                                 [use CR, LF, or CRLF as newline sequence]),
140                  ac_pcre_newline=anycrlf)
141  AC_ARG_ENABLE(newline-is-any,  AC_ARG_ENABLE(newline-is-any,
142                AS_HELP_STRING([--enable-newline-is-any],                AS_HELP_STRING([--enable-newline-is-any],
143                               [use any valid Unicode newline sequence]),                               [use any valid Unicode newline sequence]),
144                ac_pcre_newline=any)                ac_pcre_newline=any)
145  enable_newline="$ac_pcre_newline"  enable_newline="$ac_pcre_newline"
146    
147    # Handle --enable-bsr-anycrlf
148    AC_ARG_ENABLE(bsr-anycrlf,
149                  AS_HELP_STRING([--enable-bsr-anycrlf],
150                                 [\R matches only CR, LF, CRLF by default]),
151                  , enable_bsr_anycrlf=no)
152    
153  # Handle --enable-ebcdic  # Handle --enable-ebcdic
154  AC_ARG_ENABLE(ebcdic,  AC_ARG_ENABLE(ebcdic,
155                AS_HELP_STRING([--enable-ebcdic],                AS_HELP_STRING([--enable-ebcdic],
156                               [assume EBCDIC coding rather than ASCII]),                               [assume EBCDIC coding rather than ASCII; incompatible with --enable-utf8; use only in (uncommon) EBCDIC environments; it implies --enable-rebuild-chartables]),
157                , enable_ebcdic=no)                , enable_ebcdic=no)
158    
159  # Handle --disable-stack-for-recursion  # Handle --disable-stack-for-recursion
# Line 93  AC_ARG_ENABLE(stack-for-recursion, Line 162  AC_ARG_ENABLE(stack-for-recursion,
162                               [don't use stack recursion when matching]),                               [don't use stack recursion when matching]),
163                , enable_stack_for_recursion=yes)                , enable_stack_for_recursion=yes)
164    
165    # Handle --enable-pcregrep-libz
166    AC_ARG_ENABLE(pcregrep-libz,
167                  AS_HELP_STRING([--enable-pcregrep-libz],
168                                 [link pcregrep with libz to handle .gz files]),
169                  , enable_pcregrep_libz=no)
170    
171    # Handle --enable-pcregrep-libbz2
172    AC_ARG_ENABLE(pcregrep-libbz2,
173                  AS_HELP_STRING([--enable-pcregrep-libbz2],
174                                 [link pcregrep with libbz2 to handle .bz2 files]),
175                  , enable_pcregrep_libbz2=no)
176    
177    # Handle --enable-pcretest-libreadline
178    AC_ARG_ENABLE(pcretest-libreadline,
179                  AS_HELP_STRING([--enable-pcretest-libreadline],
180                                 [link pcretest with libreadline]),
181                  , enable_pcretest_libreadline=no)
182    
183  # Handle --with-posix-malloc-threshold=NBYTES  # Handle --with-posix-malloc-threshold=NBYTES
184  AC_ARG_WITH(posix-malloc-threshold,  AC_ARG_WITH(posix-malloc-threshold,
185              AS_HELP_STRING([--with-posix-malloc-threshold=NBYTES],              AS_HELP_STRING([--with-posix-malloc-threshold=NBYTES],
# Line 141  then Line 228  then
228    enable_utf8=no    enable_utf8=no
229  fi  fi
230    
231    # Make sure that if enable_ebcdic is set, rebuild_chartables is also enabled.
232    # Also check that UTF-8 support is not requested, because PCRE cannot handle
233    # EBCDIC and UTF-8 in the same build. To do so it would need to use different
234    # character constants depending on the mode.
235    #
236    if test "x$enable_ebcdic" = "xyes"
237    then
238      enable_rebuild_chartables=yes
239      if test "x$enable_utf8" = "xyes"
240      then
241        AC_MSG_ERROR([support for EBCDIC and UTF-8 cannot be enabled at the same time])
242      fi
243    fi
244    
245  # Convert the newline identifier into the appropriate integer value.  # Convert the newline identifier into the appropriate integer value.
246  case "$enable_newline" in  case "$enable_newline" in
247    lf)   ac_pcre_newline_value=10   ;;    lf)      ac_pcre_newline_value=10   ;;
248    cr)   ac_pcre_newline_value=13   ;;    cr)      ac_pcre_newline_value=13   ;;
249    crlf) ac_pcre_newline_value=3338 ;;    crlf)    ac_pcre_newline_value=3338 ;;
250    any)  ac_pcre_newline_value=-1   ;;    anycrlf) ac_pcre_newline_value=-2   ;;
251      any)     ac_pcre_newline_value=-1   ;;
252    *)    *)
253    AC_MSG_ERROR([invalid argument \"$enable_newline\" to --enable-newline option])    AC_MSG_ERROR([invalid argument \"$enable_newline\" to --enable-newline option])
254    ;;    ;;
# Line 161  case "$with_link_size" in Line 263  case "$with_link_size" in
263  esac  esac
264    
265  AH_TOP([  AH_TOP([
266  /* On Unix-like systems config.in is converted by "configure" into  /* On Unix-like systems config.h.in is converted by "configure" into config.h.
267  config.h.  Some other environments also support the use of "configure".  Some other environments also support the use of "configure". PCRE is written in
268  PCRE is written in Standard C, but there are a few non-standard things  Standard C, but there are a few non-standard things it can cope with, allowing
269  it can cope with, allowing it to run on SunOS4 and other "close to  it to run on SunOS4 and other "close to standard" systems.
270  standard" systems.  
271    If you are going to build PCRE "by hand" on a system without "configure" you
272  On a non-Unix-like system you should just copy this file into config.h,  should copy the distributed config.h.generic to config.h, and then set up the
273  and set up the macros the way you need them.  You should normally change  macro definitions the way you need them. You must then add -DHAVE_CONFIG_H to
274  the definitions of HAVE_STRERROR and HAVE_MEMMOVE to 1.  Unfortunately,  all of your compile commands, so that config.h is included at the start of
275  because of the way autoconf works, these cannot be made the defaults.  every source.
276  If your system has bcopy() and not memmove(), change the definition of  
277  HAVE_BCOPY instead of HAVE_MEMMOVE.  If your system has neither bcopy()  Alternatively, you can avoid editing by using -D on the compiler command line
278  nor memmove(), leave them both as 0; an emulation function will be  to set the macro values. In this case, you do not have to set -DHAVE_CONFIG_H.
279  used. */])  
280    PCRE uses memmove() if HAVE_MEMMOVE is set to 1; otherwise it uses bcopy() if
281    HAVE_BCOPY is set to 1. If your system has neither bcopy() nor memmove(), set
282    them both to 0; an emulation function will be used. */])
283    
284  # Checks for header files.  # Checks for header files.
285  AC_HEADER_STDC  AC_HEADER_STDC
# Line 187  if test "x$enable_cpp" = "xyes" -a -n "$ Line 292  if test "x$enable_cpp" = "xyes" -a -n "$
292  then  then
293  AC_LANG_PUSH(C++)  AC_LANG_PUSH(C++)
294    
295    # Older versions of pcre defined pcrecpp::no_arg, but in new versions
296    # it's called pcrecpp::RE::no_arg.  For backwards ABI compatibility,
297    # we want to make one an alias for the other.  Different systems do
298    # this in different ways.  Some systems, for instance, can do it via
299    # a linker flag: -alias (for os x 10.5) or -i (for os x <=10.4).
300    OLD_LDFLAGS="$LDFLAGS"
301    for flag in "-alias,__ZN7pcrecpp2RE6no_argE,__ZN7pcrecpp6no_argE" \
302                "-i__ZN7pcrecpp6no_argE:__ZN7pcrecpp2RE6no_argE"; do
303      AC_MSG_CHECKING([for alias support in the linker])
304      LDFLAGS="$OLD_LDFLAGS -Wl,$flag"
305      # We try to run the linker with this new ld flag.  If the link fails,
306      # we give up and remove the new flag from LDFLAGS.
307      AC_LINK_IFELSE(AC_LANG_PROGRAM([namespace pcrecpp {
308                                        class RE { static int no_arg; };
309                                        int RE::no_arg;
310                                      }],
311                                     []),
312                     [AC_MSG_RESULT([yes]);
313                      EXTRA_LIBPCRECPP_LDFLAGS="$EXTRA_LIBPCRECPP_LDFLAGS -Wl,$flag";
314                      break;],
315                     AC_MSG_RESULT([no]))
316    done
317    LDFLAGS="$OLD_LDFLAGS"
318    
319  # We could be more clever here, given we're doing AC_SUBST with this  # We could be more clever here, given we're doing AC_SUBST with this
320  # (eg set a var to be the name of the include file we want).  But we're not  # (eg set a var to be the name of the include file we want). But we're not
321  # so it's easy to change back to 'regular' autoconf vars if we needed to.  # so it's easy to change back to 'regular' autoconf vars if we needed to.
322  AC_CHECK_HEADERS(string, [pcre_have_cpp_headers="1"],  AC_CHECK_HEADERS(string, [pcre_have_cpp_headers="1"],
323                           [pcre_have_cpp_headers="0"])                           [pcre_have_cpp_headers="0"])
# Line 196  AC_CHECK_HEADERS(bits/type_traits.h, [pc Line 325  AC_CHECK_HEADERS(bits/type_traits.h, [pc
325                                       [pcre_have_bits_type_traits="0"])                                       [pcre_have_bits_type_traits="0"])
326  AC_CHECK_HEADERS(type_traits.h, [pcre_have_type_traits="1"],  AC_CHECK_HEADERS(type_traits.h, [pcre_have_type_traits="1"],
327                                  [pcre_have_type_traits="0"])                                  [pcre_have_type_traits="0"])
328    
329  AC_LANG_POP  AC_LANG_POP
330  fi  fi
331  # Using AC_SUBST eliminates the need to include config.h in a public .h file  # Using AC_SUBST eliminates the need to include config.h in a public .h file
# Line 204  AC_SUBST(pcre_have_bits_type_traits) Line 334  AC_SUBST(pcre_have_bits_type_traits)
334    
335  # Conditional compilation  # Conditional compilation
336  AM_CONDITIONAL(WITH_PCRE_CPP, test "x$enable_cpp" = "xyes")  AM_CONDITIONAL(WITH_PCRE_CPP, test "x$enable_cpp" = "xyes")
337    AM_CONDITIONAL(WITH_REBUILD_CHARTABLES, test "x$enable_rebuild_chartables" = "xyes")
338    
339  # Checks for typedefs, structures, and compiler characteristics.  # Checks for typedefs, structures, and compiler characteristics.
340    
341  AC_C_CONST  AC_C_CONST
342  AC_TYPE_SIZE_T  AC_TYPE_SIZE_T
343    
344  AC_CHECK_TYPES([long long],  pcre_have_strotolonglong=0
345                 [pcre_have_long_long="1"],  AC_CHECK_FUNCS(strtoq strtoll _strtoi64, [pcre_have_strotolonglong="1"; break])
346                 [pcre_have_long_long="0"])  # If we can't convert a string to a long long, pretend we don't even
347  AC_CHECK_TYPES([unsigned long long],  # have a long long.
348                 [pcre_have_ulong_long="1"],  if test $pcre_have_strotolonglong = "0"; then
349                 [pcre_have_ulong_long="0"])     pcre_have_long_long="0"
350       pcre_have_ulong_long="0"
351    else
352      AC_CHECK_TYPES([long long],
353                     [pcre_have_long_long="1"],
354                     [pcre_have_long_long="0"])
355      AC_CHECK_TYPES([unsigned long long],
356                     [pcre_have_ulong_long="1"],
357                     [pcre_have_ulong_long="0"])
358    fi
359  AC_SUBST(pcre_have_long_long)  AC_SUBST(pcre_have_long_long)
360  AC_SUBST(pcre_have_ulong_long)  AC_SUBST(pcre_have_ulong_long)
361    
362  # Checks for library functions.  # Checks for library functions.
363    
364  AC_CHECK_FUNCS(bcopy memmove strerror strtoq strtoll)  AC_CHECK_FUNCS(bcopy memmove strerror)
365    
366    # Check for the availability of libz (aka zlib)
367    
368    AC_CHECK_HEADERS([zlib.h], [HAVE_ZLIB_H=1])
369    AC_CHECK_LIB([z], [gzopen], [HAVE_LIBZ=1])
370    
371    # Check for the availability of libbz2
372    
373    AC_CHECK_HEADERS([bzlib.h], [HAVE_BZLIB_H=1])
374    AC_CHECK_LIB([bz2], [BZ2_bzopen], [HAVE_LIBBZ2=1])
375    
376    # Check for the availabiity of libreadline
377    
378    AC_CHECK_HEADERS([readline/readline.h], [HAVE_READLINE_H=1])
379    AC_CHECK_HEADERS([readline/history.h], [HAVE_HISTORY_H=1])
380    AC_CHECK_LIB([readline], [readline], [HAVE_LIB_READLINE=1])
381    
382  # This facilitates -ansi builds under Linux  # This facilitates -ansi builds under Linux
383  dnl AC_DEFINE([_GNU_SOURCE], [], [Enable GNU extensions in glibc])  dnl AC_DEFINE([_GNU_SOURCE], [], [Enable GNU extensions in glibc])
384    
385    PCRE_STATIC_CFLAG=""
386  if test "x$enable_shared" = "xno" ; then  if test "x$enable_shared" = "xno" ; then
387    AC_DEFINE([PCRE_STATIC], [1], [    AC_DEFINE([PCRE_STATIC], [1], [
388      Define if linking statically (TODO: make nice with Libtool)])      Define if linking statically (TODO: make nice with Libtool)])
389      PCRE_STATIC_CFLAG="-DPCRE_STATIC"
390  fi  fi
391    AC_SUBST(PCRE_STATIC_CFLAG)
392    
393  # Here is where pcre specific defines are handled  # Here is where pcre specific defines are handled
394    
395  if test "$enable_utf8" = "yes"; then  if test "$enable_utf8" = "yes"; then
396    AC_DEFINE([SUPPORT_UTF8], [], [    AC_DEFINE([SUPPORT_UTF8], [], [
397      Define to enable support for the UTF-8 Unicode encoding.])      Define to enable support for the UTF-8 Unicode encoding. This will
398        work even in an EBCDIC environment, but it is incompatible with
399        the EBCDIC macro. That is, PCRE can support *either* EBCDIC code
400        *or* ASCII/UTF-8, but not both at once.])
401  fi  fi
402    
403  if test "$enable_unicode_properties" = "yes"; then  if test "$enable_unicode_properties" = "yes"; then
# Line 246  fi Line 408  fi
408  if test "$enable_stack_for_recursion" = "no"; then  if test "$enable_stack_for_recursion" = "no"; then
409    AC_DEFINE([NO_RECURSE], [], [    AC_DEFINE([NO_RECURSE], [], [
410      PCRE uses recursive function calls to handle backtracking while      PCRE uses recursive function calls to handle backtracking while
411      matching.  This can sometimes be a problem on systems that have      matching. This can sometimes be a problem on systems that have
412      stacks of limited size.  Define NO_RECURSE to get a version that      stacks of limited size. Define NO_RECURSE to get a version that
413      doesn't use recursion in the match() function; instead it creates      doesn't use recursion in the match() function; instead it creates
414      its own stack by steam using pcre_recurse_malloc() to obtain memory      its own stack by steam using pcre_recurse_malloc() to obtain memory
415      from the heap. For more detail, see the comments and other stuff      from the heap. For more detail, see the comments and other stuff
# Line 256  if test "$enable_stack_for_recursion" = Line 418  if test "$enable_stack_for_recursion" =
418      (use --disable-stack-for-recursion).])      (use --disable-stack-for-recursion).])
419  fi  fi
420    
421    if test "$enable_pcregrep_libz" = "yes"; then
422      AC_DEFINE([SUPPORT_LIBZ], [], [
423        Define to allow pcregrep to be linked with libz, so that it is
424        able to handle .gz files.])
425    fi
426    
427    if test "$enable_pcregrep_libbz2" = "yes"; then
428      AC_DEFINE([SUPPORT_LIBBZ2], [], [
429        Define to allow pcregrep to be linked with libbz2, so that it is
430        able to handle .bz2 files.])
431    fi
432    
433    if test "$enable_pcretest_libreadline" = "yes"; then
434      AC_DEFINE([SUPPORT_LIBREADLINE], [], [
435        Define to allow pcretest to be linked with libreadline.])
436    fi
437    
438  AC_DEFINE_UNQUOTED([NEWLINE], [$ac_pcre_newline_value], [  AC_DEFINE_UNQUOTED([NEWLINE], [$ac_pcre_newline_value], [
439    The value of NEWLINE determines the newline character. The default is    The value of NEWLINE determines the newline character sequence. On
440    to leave it up to the compiler, but some sites want to force a    systems that support it, "configure" can be used to override the
441    particular value.  On Unix-like systems, "configure" can be used to    default, which is 10. The possible values are 10 (LF), 13 (CR),
442    override this default.])    3338 (CRLF), -1 (ANY), or -2 (ANYCRLF).])
443    
444    if test "$enable_bsr_anycrlf" = "yes"; then
445      AC_DEFINE([BSR_ANYCRLF], [], [
446        By default, the \R escape sequence matches any Unicode line ending
447        character or sequence of characters. If BSR_ANYCRLF is defined, this is
448        changed so that backslash-R matches only CR, LF, or CRLF. The build-
449        time default can be overridden by the user of PCRE at runtime. On
450        systems that support it, "configure" can be used to override the
451        default.])
452    fi
453    
454  AC_DEFINE_UNQUOTED([LINK_SIZE], [$with_link_size], [  AC_DEFINE_UNQUOTED([LINK_SIZE], [$with_link_size], [
455    The value of LINK_SIZE determines the number of bytes used to store    The value of LINK_SIZE determines the number of bytes used to store
# Line 284  AC_DEFINE_UNQUOTED([POSIX_MALLOC_THRESHO Line 473  AC_DEFINE_UNQUOTED([POSIX_MALLOC_THRESHO
473  AC_DEFINE_UNQUOTED([MATCH_LIMIT], [$with_match_limit], [  AC_DEFINE_UNQUOTED([MATCH_LIMIT], [$with_match_limit], [
474    The value of MATCH_LIMIT determines the default number of times the    The value of MATCH_LIMIT determines the default number of times the
475    internal match() function can be called during a single execution of    internal match() function can be called during a single execution of
476    pcre_exec().  There is a runtime interface for setting a different    pcre_exec(). There is a runtime interface for setting a different
477    limit. The limit exists in order to catch runaway regular    limit. The limit exists in order to catch runaway regular
478    expressions that take for ever to determine that they do not match.    expressions that take for ever to determine that they do not match.
479    The default is set very large so that it does not accidentally catch    The default is set very large so that it does not accidentally catch
# Line 299  AC_DEFINE_UNQUOTED([MATCH_LIMIT_RECURSIO Line 488  AC_DEFINE_UNQUOTED([MATCH_LIMIT_RECURSIO
488    NO_RECURSE is defined) that is used. The value of    NO_RECURSE is defined) that is used. The value of
489    MATCH_LIMIT_RECURSION applies only to recursive calls of match(). To    MATCH_LIMIT_RECURSION applies only to recursive calls of match(). To
490    have any useful effect, it must be less than the value of    have any useful effect, it must be less than the value of
491    MATCH_LIMIT. There is a runtime method for setting a different    MATCH_LIMIT. The default is to use the same value as MATCH_LIMIT.
492    limit. On systems that support it, "configure" can be used to    There is a runtime method for setting a different limit. On systems
493    override this default default.])    that support it, "configure" can be used to override the default.])
494    
495  AC_DEFINE([MAX_NAME_SIZE], [32], [  AC_DEFINE([MAX_NAME_SIZE], [32], [
496    This limit is parameterized just in case anybody ever wants to    This limit is parameterized just in case anybody ever wants to
# Line 313  AC_DEFINE([MAX_NAME_COUNT], [10000], [ Line 502  AC_DEFINE([MAX_NAME_COUNT], [10000], [
502    change it. Care must be taken if it is increased, because it guards    change it. Care must be taken if it is increased, because it guards
503    against integer overflow caused by enormously large patterns.])    against integer overflow caused by enormously large patterns.])
504    
505  AC_DEFINE([MAX_DUPLENGTH], [30000], [  AH_VERBATIM([PCRE_EXP_DEFN], [
   This limit is parameterized just in case anybody ever wants to  
   change it. Care must be taken if it is increased, because it guards  
   against integer overflow caused by enormously large patterns.])  
   
 AH_VERBATIM([PCRE_DATA_SCOPE], [  
506  /* If you are compiling for a system other than a Unix-like system or  /* If you are compiling for a system other than a Unix-like system or
507     Win32, and it needs some magic to be inserted before the definition     Win32, and it needs some magic to be inserted before the definition
508     of a function that is exported by the library, define this macro to     of a function that is exported by the library, define this macro to
# Line 328  AH_VERBATIM([PCRE_DATA_SCOPE], [ Line 512  AH_VERBATIM([PCRE_DATA_SCOPE], [
512     every exported function that is part of the external API. It does     every exported function that is part of the external API. It does
513     not appear on functions that are "external" in the C sense, but     not appear on functions that are "external" in the C sense, but
514     which are internal to the library. */     which are internal to the library. */
515  #undef PCRE_DATA_SCOPE])  #undef PCRE_EXP_DEFN])
516    
517  if test "$enable_ebcdic" = "yes"; then  if test "$enable_ebcdic" = "yes"; then
518    AC_DEFINE_UNQUOTED([EBCDIC], [], [    AC_DEFINE_UNQUOTED([EBCDIC], [], [
519      If you are compiling for a system that uses EBCDIC instead of ASCII      If you are compiling for a system that uses EBCDIC instead of ASCII
520      character codes, define this macro as 1. On systems that can use      character codes, define this macro as 1. On systems that can use
521      "configure", this can be done via --enable-ebcdic.])      "configure", this can be done via --enable-ebcdic. PCRE will then
522        assume that all input strings are in EBCDIC. If you do not define
523        this macro, PCRE will assume input strings are ASCII or UTF-8 Unicode.
524        It is not possible to build a version of PCRE that supports both
525        EBCDIC and UTF-8.])
526  fi  fi
527    
 # Here is where pcre specific substs are handled  
 # These 3 are only used by RunTest.in.  
 # TODO: remove once RunTest uses pcretest -C instead.  
 AC_SUBST(LINK_SIZE, $with_link_size)  
 AC_SUBST(UTF8, $enable_utf8)  
 AC_SUBST(UCP, $enable_unicode_properties)  
   
528  # Platform specific issues  # Platform specific issues
529  NO_UNDEFINED=  NO_UNDEFINED=
530  EXPORT_ALL_SYMBOLS=  EXPORT_ALL_SYMBOLS=
# Line 359  esac Line 540  esac
540  # The extra LDFLAGS for each particular library  # The extra LDFLAGS for each particular library
541  # (Note: The libpcre*_version bits are m4 variables, assigned above)  # (Note: The libpcre*_version bits are m4 variables, assigned above)
542    
543  EXTRA_LIBPCRE_LDFLAGS="$NO_UNDEFINED -version-info libpcre_version"  EXTRA_LIBPCRE_LDFLAGS="$EXTRA_LIBPCRE_LDFLAGS \
544                           $NO_UNDEFINED -version-info libpcre_version"
545    
546  EXTRA_LIBPCREPOSIX_LDFLAGS="$NO_UNDEFINED -version-info libpcreposix_version"  EXTRA_LIBPCREPOSIX_LDFLAGS="$EXTRA_LIBPCREPOSIX_LDFLAGS \
547                                $NO_UNDEFINED -version-info libpcreposix_version"
548    
549  EXTRA_LIBPCRECPP_LDFLAGS="$NO_UNDEFINED $EXPORT_ALL_SYMBOLS -version-info libpcrecpp_version"  EXTRA_LIBPCRECPP_LDFLAGS="$EXTRA_LIBPCRECPP_LDFLAGS \
550                              $NO_UNDEFINED -version-info libpcrecpp_version \
551                              $EXPORT_ALL_SYMBOLS"
552    
553  AC_SUBST(EXTRA_LIBPCRE_LDFLAGS)  AC_SUBST(EXTRA_LIBPCRE_LDFLAGS)
554  AC_SUBST(EXTRA_LIBPCREPOSIX_LDFLAGS)  AC_SUBST(EXTRA_LIBPCREPOSIX_LDFLAGS)
# Line 373  AC_SUBST(EXTRA_LIBPCRECPP_LDFLAGS) Line 558  AC_SUBST(EXTRA_LIBPCRECPP_LDFLAGS)
558  DISTCHECK_CONFIGURE_FLAGS="--enable-cpp --enable-unicode-properties"  DISTCHECK_CONFIGURE_FLAGS="--enable-cpp --enable-unicode-properties"
559  AC_SUBST(DISTCHECK_CONFIGURE_FLAGS)  AC_SUBST(DISTCHECK_CONFIGURE_FLAGS)
560    
561    # Check that, if --enable-pcregrep-libz or --enable-pcregrep-libbz2 is
562    # specified, the relevant library is available.
563    
564    if test "$enable_pcregrep_libz" = "yes"; then
565      if test "$HAVE_ZLIB_H" != "1"; then
566        echo "** Cannot --enable-pcregrep-libz because zlib.h was not found"
567        exit 1
568      fi
569      if test "$HAVE_LIBZ" != "1"; then
570        echo "** Cannot --enable-pcregrep-libz because libz was not found"
571        exit 1
572      fi
573      LIBZ="-lz"
574    fi
575    AC_SUBST(LIBZ)
576    
577    if test "$enable_pcregrep_libbz2" = "yes"; then
578      if test "$HAVE_BZLIB_H" != "1"; then
579        echo "** Cannot --enable-pcregrep-libbz2 because bzlib.h was not found"
580        exit 1
581      fi
582      if test "$HAVE_LIBBZ2" != "1"; then
583        echo "** Cannot --enable-pcregrep-libbz2 because libbz2 was not found"
584        exit 1
585      fi
586      LIBBZ2="-lbz2"
587    fi
588    AC_SUBST(LIBBZ2)
589    
590    # Similarly for --enable-pcretest-readline
591    
592    if test "$enable_pcretest_libreadline" = "yes"; then
593      if test "$HAVE_READLINE_H" != "1"; then
594        echo "** Cannot --enable-pcretest-readline because readline/readline.h was not found."
595        exit 1
596      fi
597      if test "$HAVE_HISTORY_H" != "1"; then
598        echo "** Cannot --enable-pcretest-readline because readline/history.h was not found."
599        exit 1
600      fi
601      LIBREADLINE="-lreadline"
602    fi
603    AC_SUBST(LIBREADLINE)
604    
605  # Produce these files, in addition to config.h.  # Produce these files, in addition to config.h.
606  AC_CONFIG_FILES(  AC_CONFIG_FILES(
607          Makefile          Makefile
         RunGrepTest  
         RunTest  
608          libpcre.pc          libpcre.pc
609            libpcreposix.pc
610          libpcrecpp.pc          libpcrecpp.pc
611          pcre-config          pcre-config
612          pcre.h          pcre.h
# Line 387  AC_CONFIG_FILES( Line 615  AC_CONFIG_FILES(
615  )  )
616    
617  # Make the generated script files executable.  # Make the generated script files executable.
618  AC_CONFIG_COMMANDS([script-chmod], [chmod a+x RunTest RunGrepTest pcre-config])  AC_CONFIG_COMMANDS([script-chmod], [chmod a+x pcre-config])
619    
620    # Make sure that pcre_chartables.c is removed in case the method for
621    # creating it was changed by reconfiguration.
622    AC_CONFIG_COMMANDS([delete-old-chartables], [rm -f pcre_chartables.c])
623    
624  AC_OUTPUT  AC_OUTPUT
625    
626  # Print out a nice little message after configure is run displaying your  # Print out a nice little message after configure is run displaying your
627  # chosen options.  # chosen options.
628  #  
629  cat <<EOF  cat <<EOF
630    
631  $PACKAGE-$VERSION configuration summary:  $PACKAGE-$VERSION configuration summary:
632    
633      Install prefix ......... : ${prefix}      Install prefix .................. : ${prefix}
634      C preprocessor ......... : ${CPP}      C preprocessor .................. : ${CPP}
635      C compiler ............. : ${CC}      C compiler ...................... : ${CC}
636      C++ preprocessor ....... : ${CXXCPP}      C++ preprocessor ................ : ${CXXCPP}
637      C++ compiler ........... : ${CXX}      C++ compiler .................... : ${CXX}
638      Linker ................. : ${LD}      Linker .......................... : ${LD}
639      C preprocessor flags ... : ${CPPFLAGS}      C preprocessor flags ............ : ${CPPFLAGS}
640      C compiler flags ....... : ${CFLAGS}      C compiler flags ................ : ${CFLAGS}
641      C++ compiler flags ..... : ${CXXFLAGS}      C++ compiler flags .............. : ${CXXFLAGS}
642      Linker flags ........... : ${LDFLAGS}      Linker flags .................... : ${LDFLAGS}
643      Extra libraries ........ : ${LIBS}      Extra libraries ................. : ${LIBS}
644    
645      Build C++ library ...... : ${enable_cpp}      Build C++ library ............... : ${enable_cpp}
646      Enable UTF-8 support ... : ${enable_utf8}      Enable UTF-8 support ............ : ${enable_utf8}
647      Unicode properties ..... : ${enable_unicode_properties}      Unicode properties .............. : ${enable_unicode_properties}
648      Newline char/sequence .. : ${enable_newline}      Newline char/sequence ........... : ${enable_newline}
649      EBCDIC coding .......... : ${enable_ebcdic}      \R matches only ANYCRLF ......... : ${enable_bsr_anycrlf}
650      Use stack recursion .... : ${enable_stack_for_recursion}      EBCDIC coding ................... : ${enable_ebcdic}
651      POSIX mem threshold .... : ${with_posix_malloc_threshold}      Rebuild char tables ............. : ${enable_rebuild_chartables}
652      Internal link size ..... : ${with_link_size}      Use stack recursion ............. : ${enable_stack_for_recursion}
653      Match limit ............ : ${with_match_limit}      POSIX mem threshold ............. : ${with_posix_malloc_threshold}
654      Match limit recursion .. : ${with_match_limit_recursion}      Internal link size .............. : ${with_link_size}
655      Build shared libs ...... : ${enable_shared}      Match limit ..................... : ${with_match_limit}
656      Build static libs ...... : ${enable_static}      Match limit recursion ........... : ${with_match_limit_recursion}
657        Build shared libs ............... : ${enable_shared}
658        Build static libs ............... : ${enable_static}
659        Link pcregrep with libz ......... : ${enable_pcregrep_libz}
660        Link pcregrep with libbz2 ....... : ${enable_pcregrep_libbz2}
661        Link pcretest with libreadline .. : ${enable_pcretest_libreadline}
662    
663  EOF  EOF
664    

Legend:
Removed from v.98  
changed lines
  Added in v.475

  ViewVC Help
Powered by ViewVC 1.1.5