/[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 106 by ph10, Wed Mar 7 09:43:22 2007 UTC revision 478 by ph10, Sun Jan 3 16:05:13 2010 UTC
# Line 6  dnl PCRE_PRERELEASE feature is for ident Line 6  dnl PCRE_PRERELEASE feature is for ident
6  dnl be defined as -RC2, for example. For real releases, it should be defined  dnl be defined as -RC2, for example. For real releases, it should be defined
7  dnl empty.  dnl empty.
8    
9  m4_define(pcre_major, [7])  m4_define(pcre_major, [8])
10  m4_define(pcre_minor, [1])  m4_define(pcre_minor, [01])
11  m4_define(pcre_prerelease, [-RC1])  m4_define(pcre_prerelease, [])
12  m4_define(pcre_date, [2007-03-05])  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 21  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 49  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 64  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 81  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 99  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 147  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 172  Some other environments also support the Line 268  Some other environments also support the
268  Standard C, but there are a few non-standard things it can cope with, allowing  Standard C, but there are a few non-standard things it can cope with, allowing
269  it to run on SunOS4 and other "close to standard" systems.  it to run on SunOS4 and other "close to standard" systems.
270    
271  On a system without "configure" you should use the distributed config.h, and  If you are going to build PCRE "by hand" on a system without "configure" you
272  set up the macros the way you need them.  should copy the distributed config.h.generic to config.h, and then set up the
273    macro definitions the way you need them. You must then add -DHAVE_CONFIG_H to
274  If your system has bcopy() and not memmove(), change the definitions of  all of your compile commands, so that config.h is included at the start of
275  HAVE_BCOPY and HAVE_MEMMOVE. If your system has neither bcopy() nor memmove(),  every source.
276  leave them both undefined; an emulation function will be used. */])  
277    Alternatively, you can avoid editing by using -D on the compiler command line
278    to set the macro values. In this case, you do not have to set -DHAVE_CONFIG_H.
279    
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 190  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 199  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 207  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. Originally we just used AC_CHECK_LIB,
372    # as for libz. However, this had the following problem, diagnosed and fixed by
373    # a user:
374    #
375    #   - libbz2 uses the Pascal calling convention (WINAPI) for the functions
376    #     under Win32.
377    #   - The standard autoconf AC_CHECK_LIB fails to include "bzlib.h",
378    #     therefore missing the function definition.
379    #   - The compiler thus generates a "C" signature for the test function.
380    #   - The linker fails to find the "C" function.
381    #   - PCRE fails to configure if asked to do so against libbz2.
382    #
383    # Solution:
384    #
385    #   - Replace the AC_CHECK_LIB test with a custom test.
386    
387    AC_CHECK_HEADERS([bzlib.h], [HAVE_BZLIB_H=1])
388    # Original test
389    # AC_CHECK_LIB([bz2], [BZ2_bzopen], [HAVE_LIBBZ2=1])
390    #
391    # Custom test follows
392    
393    AC_MSG_CHECKING([for libbz2])
394    OLD_LIBS="$LIBS"
395    LIBS="$LIBS -lbz2"
396    AC_LINK_IFELSE( AC_LANG_PROGRAM([[
397    #ifdef HAVE_BZLIB_H
398    #include <bzlib.h>
399    #endif]],
400    [[return (int)BZ2_bzopen("conftest", "rb");]]),
401    [AC_MSG_RESULT([yes]);HAVE_LIBBZ2=1; break;],
402    AC_MSG_RESULT([no]))
403    LIBS="$OLD_LIBS"
404    
405    # Check for the availabiity of libreadline
406    
407    AC_CHECK_HEADERS([readline/readline.h], [HAVE_READLINE_H=1])
408    AC_CHECK_HEADERS([readline/history.h], [HAVE_HISTORY_H=1])
409    AC_CHECK_LIB([readline], [readline], [HAVE_LIB_READLINE=1])
410    
411  # This facilitates -ansi builds under Linux  # This facilitates -ansi builds under Linux
412  dnl AC_DEFINE([_GNU_SOURCE], [], [Enable GNU extensions in glibc])  dnl AC_DEFINE([_GNU_SOURCE], [], [Enable GNU extensions in glibc])
413    
414    PCRE_STATIC_CFLAG=""
415  if test "x$enable_shared" = "xno" ; then  if test "x$enable_shared" = "xno" ; then
416    AC_DEFINE([PCRE_STATIC], [1], [    AC_DEFINE([PCRE_STATIC], [1], [
417      Define if linking statically (TODO: make nice with Libtool)])      Define if linking statically (TODO: make nice with Libtool)])
418      PCRE_STATIC_CFLAG="-DPCRE_STATIC"
419  fi  fi
420    AC_SUBST(PCRE_STATIC_CFLAG)
421    
422  # Here is where pcre specific defines are handled  # Here is where pcre specific defines are handled
423    
424  if test "$enable_utf8" = "yes"; then  if test "$enable_utf8" = "yes"; then
425    AC_DEFINE([SUPPORT_UTF8], [], [    AC_DEFINE([SUPPORT_UTF8], [], [
426      Define to enable support for the UTF-8 Unicode encoding.])      Define to enable support for the UTF-8 Unicode encoding. This will
427        work even in an EBCDIC environment, but it is incompatible with
428        the EBCDIC macro. That is, PCRE can support *either* EBCDIC code
429        *or* ASCII/UTF-8, but not both at once.])
430  fi  fi
431    
432  if test "$enable_unicode_properties" = "yes"; then  if test "$enable_unicode_properties" = "yes"; then
# Line 249  fi Line 437  fi
437  if test "$enable_stack_for_recursion" = "no"; then  if test "$enable_stack_for_recursion" = "no"; then
438    AC_DEFINE([NO_RECURSE], [], [    AC_DEFINE([NO_RECURSE], [], [
439      PCRE uses recursive function calls to handle backtracking while      PCRE uses recursive function calls to handle backtracking while
440      matching.  This can sometimes be a problem on systems that have      matching. This can sometimes be a problem on systems that have
441      stacks of limited size. Define NO_RECURSE to get a version that      stacks of limited size. Define NO_RECURSE to get a version that
442      doesn't use recursion in the match() function; instead it creates      doesn't use recursion in the match() function; instead it creates
443      its own stack by steam using pcre_recurse_malloc() to obtain memory      its own stack by steam using pcre_recurse_malloc() to obtain memory
# Line 259  if test "$enable_stack_for_recursion" = Line 447  if test "$enable_stack_for_recursion" =
447      (use --disable-stack-for-recursion).])      (use --disable-stack-for-recursion).])
448  fi  fi
449    
450    if test "$enable_pcregrep_libz" = "yes"; then
451      AC_DEFINE([SUPPORT_LIBZ], [], [
452        Define to allow pcregrep to be linked with libz, so that it is
453        able to handle .gz files.])
454    fi
455    
456    if test "$enable_pcregrep_libbz2" = "yes"; then
457      AC_DEFINE([SUPPORT_LIBBZ2], [], [
458        Define to allow pcregrep to be linked with libbz2, so that it is
459        able to handle .bz2 files.])
460    fi
461    
462    if test "$enable_pcretest_libreadline" = "yes"; then
463      AC_DEFINE([SUPPORT_LIBREADLINE], [], [
464        Define to allow pcretest to be linked with libreadline.])
465    fi
466    
467  AC_DEFINE_UNQUOTED([NEWLINE], [$ac_pcre_newline_value], [  AC_DEFINE_UNQUOTED([NEWLINE], [$ac_pcre_newline_value], [
468    The value of NEWLINE determines the newline character sequence. On    The value of NEWLINE determines the newline character sequence. On
469    Unix-like systems, "configure" can be used to override the default,    systems that support it, "configure" can be used to override the
470    which is 10. The possible values are 10 (LF), 13 (CR), 3338 (CRLF),    default, which is 10. The possible values are 10 (LF), 13 (CR),
471    or -1 (ANY).])    3338 (CRLF), -1 (ANY), or -2 (ANYCRLF).])
472    
473    if test "$enable_bsr_anycrlf" = "yes"; then
474      AC_DEFINE([BSR_ANYCRLF], [], [
475        By default, the \R escape sequence matches any Unicode line ending
476        character or sequence of characters. If BSR_ANYCRLF is defined, this is
477        changed so that backslash-R matches only CR, LF, or CRLF. The build-
478        time default can be overridden by the user of PCRE at runtime. On
479        systems that support it, "configure" can be used to override the
480        default.])
481    fi
482    
483  AC_DEFINE_UNQUOTED([LINK_SIZE], [$with_link_size], [  AC_DEFINE_UNQUOTED([LINK_SIZE], [$with_link_size], [
484    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 302  AC_DEFINE_UNQUOTED([MATCH_LIMIT_RECURSIO Line 517  AC_DEFINE_UNQUOTED([MATCH_LIMIT_RECURSIO
517    NO_RECURSE is defined) that is used. The value of    NO_RECURSE is defined) that is used. The value of
518    MATCH_LIMIT_RECURSION applies only to recursive calls of match(). To    MATCH_LIMIT_RECURSION applies only to recursive calls of match(). To
519    have any useful effect, it must be less than the value of    have any useful effect, it must be less than the value of
520    MATCH_LIMIT. The default is to use the same value as MATCH_LIMIT.    MATCH_LIMIT. The default is to use the same value as MATCH_LIMIT.
521    There is a runtime method for setting a different limit. On systems    There is a runtime method for setting a different limit. On systems
522    that support it, "configure" can be used to override the default.])    that support it, "configure" can be used to override the default.])
523    
524  AC_DEFINE([MAX_NAME_SIZE], [32], [  AC_DEFINE([MAX_NAME_SIZE], [32], [
# Line 316  AC_DEFINE([MAX_NAME_COUNT], [10000], [ Line 531  AC_DEFINE([MAX_NAME_COUNT], [10000], [
531    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
532    against integer overflow caused by enormously large patterns.])    against integer overflow caused by enormously large patterns.])
533    
534  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], [  
535  /* 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
536     Win32, and it needs some magic to be inserted before the definition     Win32, and it needs some magic to be inserted before the definition
537     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 331  AH_VERBATIM([PCRE_DATA_SCOPE], [ Line 541  AH_VERBATIM([PCRE_DATA_SCOPE], [
541     every exported function that is part of the external API. It does     every exported function that is part of the external API. It does
542     not appear on functions that are "external" in the C sense, but     not appear on functions that are "external" in the C sense, but
543     which are internal to the library. */     which are internal to the library. */
544  #undef PCRE_DATA_SCOPE])  #undef PCRE_EXP_DEFN])
545    
546  if test "$enable_ebcdic" = "yes"; then  if test "$enable_ebcdic" = "yes"; then
547    AC_DEFINE_UNQUOTED([EBCDIC], [], [    AC_DEFINE_UNQUOTED([EBCDIC], [], [
548      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
549      character codes, define this macro as 1. On systems that can use      character codes, define this macro as 1. On systems that can use
550      "configure", this can be done via --enable-ebcdic.])      "configure", this can be done via --enable-ebcdic. PCRE will then
551        assume that all input strings are in EBCDIC. If you do not define
552        this macro, PCRE will assume input strings are ASCII or UTF-8 Unicode.
553        It is not possible to build a version of PCRE that supports both
554        EBCDIC and UTF-8.])
555  fi  fi
556    
 # 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)  
   
557  # Platform specific issues  # Platform specific issues
558  NO_UNDEFINED=  NO_UNDEFINED=
559  EXPORT_ALL_SYMBOLS=  EXPORT_ALL_SYMBOLS=
# Line 362  esac Line 569  esac
569  # The extra LDFLAGS for each particular library  # The extra LDFLAGS for each particular library
570  # (Note: The libpcre*_version bits are m4 variables, assigned above)  # (Note: The libpcre*_version bits are m4 variables, assigned above)
571    
572  EXTRA_LIBPCRE_LDFLAGS="$NO_UNDEFINED -version-info libpcre_version"  EXTRA_LIBPCRE_LDFLAGS="$EXTRA_LIBPCRE_LDFLAGS \
573                           $NO_UNDEFINED -version-info libpcre_version"
574    
575  EXTRA_LIBPCREPOSIX_LDFLAGS="$NO_UNDEFINED -version-info libpcreposix_version"  EXTRA_LIBPCREPOSIX_LDFLAGS="$EXTRA_LIBPCREPOSIX_LDFLAGS \
576                                $NO_UNDEFINED -version-info libpcreposix_version"
577    
578  EXTRA_LIBPCRECPP_LDFLAGS="$NO_UNDEFINED $EXPORT_ALL_SYMBOLS -version-info libpcrecpp_version"  EXTRA_LIBPCRECPP_LDFLAGS="$EXTRA_LIBPCRECPP_LDFLAGS \
579                              $NO_UNDEFINED -version-info libpcrecpp_version \
580                              $EXPORT_ALL_SYMBOLS"
581    
582  AC_SUBST(EXTRA_LIBPCRE_LDFLAGS)  AC_SUBST(EXTRA_LIBPCRE_LDFLAGS)
583  AC_SUBST(EXTRA_LIBPCREPOSIX_LDFLAGS)  AC_SUBST(EXTRA_LIBPCREPOSIX_LDFLAGS)
# Line 376  AC_SUBST(EXTRA_LIBPCRECPP_LDFLAGS) Line 587  AC_SUBST(EXTRA_LIBPCRECPP_LDFLAGS)
587  DISTCHECK_CONFIGURE_FLAGS="--enable-cpp --enable-unicode-properties"  DISTCHECK_CONFIGURE_FLAGS="--enable-cpp --enable-unicode-properties"
588  AC_SUBST(DISTCHECK_CONFIGURE_FLAGS)  AC_SUBST(DISTCHECK_CONFIGURE_FLAGS)
589    
590    # Check that, if --enable-pcregrep-libz or --enable-pcregrep-libbz2 is
591    # specified, the relevant library is available.
592    
593    if test "$enable_pcregrep_libz" = "yes"; then
594      if test "$HAVE_ZLIB_H" != "1"; then
595        echo "** Cannot --enable-pcregrep-libz because zlib.h was not found"
596        exit 1
597      fi
598      if test "$HAVE_LIBZ" != "1"; then
599        echo "** Cannot --enable-pcregrep-libz because libz was not found"
600        exit 1
601      fi
602      LIBZ="-lz"
603    fi
604    AC_SUBST(LIBZ)
605    
606    if test "$enable_pcregrep_libbz2" = "yes"; then
607      if test "$HAVE_BZLIB_H" != "1"; then
608        echo "** Cannot --enable-pcregrep-libbz2 because bzlib.h was not found"
609        exit 1
610      fi
611      if test "$HAVE_LIBBZ2" != "1"; then
612        echo "** Cannot --enable-pcregrep-libbz2 because libbz2 was not found"
613        exit 1
614      fi
615      LIBBZ2="-lbz2"
616    fi
617    AC_SUBST(LIBBZ2)
618    
619    # Similarly for --enable-pcretest-readline
620    
621    if test "$enable_pcretest_libreadline" = "yes"; then
622      if test "$HAVE_READLINE_H" != "1"; then
623        echo "** Cannot --enable-pcretest-readline because readline/readline.h was not found."
624        exit 1
625      fi
626      if test "$HAVE_HISTORY_H" != "1"; then
627        echo "** Cannot --enable-pcretest-readline because readline/history.h was not found."
628        exit 1
629      fi
630      LIBREADLINE="-lreadline"
631    fi
632    AC_SUBST(LIBREADLINE)
633    
634  # Produce these files, in addition to config.h.  # Produce these files, in addition to config.h.
635  AC_CONFIG_FILES(  AC_CONFIG_FILES(
636          Makefile          Makefile
         RunGrepTest  
         RunTest  
637          libpcre.pc          libpcre.pc
638            libpcreposix.pc
639          libpcrecpp.pc          libpcrecpp.pc
640          pcre-config          pcre-config
641          pcre.h          pcre.h
# Line 390  AC_CONFIG_FILES( Line 644  AC_CONFIG_FILES(
644  )  )
645    
646  # Make the generated script files executable.  # Make the generated script files executable.
647  AC_CONFIG_COMMANDS([script-chmod], [chmod a+x RunTest RunGrepTest pcre-config])  AC_CONFIG_COMMANDS([script-chmod], [chmod a+x pcre-config])
648    
649    # Make sure that pcre_chartables.c is removed in case the method for
650    # creating it was changed by reconfiguration.
651    AC_CONFIG_COMMANDS([delete-old-chartables], [rm -f pcre_chartables.c])
652    
653  AC_OUTPUT  AC_OUTPUT
654    
655  # Print out a nice little message after configure is run displaying your  # Print out a nice little message after configure is run displaying your
656  # chosen options.  # chosen options.
657  #  
658  cat <<EOF  cat <<EOF
659    
660  $PACKAGE-$VERSION configuration summary:  $PACKAGE-$VERSION configuration summary:
661    
662      Install prefix ......... : ${prefix}      Install prefix .................. : ${prefix}
663      C preprocessor ......... : ${CPP}      C preprocessor .................. : ${CPP}
664      C compiler ............. : ${CC}      C compiler ...................... : ${CC}
665      C++ preprocessor ....... : ${CXXCPP}      C++ preprocessor ................ : ${CXXCPP}
666      C++ compiler ........... : ${CXX}      C++ compiler .................... : ${CXX}
667      Linker ................. : ${LD}      Linker .......................... : ${LD}
668      C preprocessor flags ... : ${CPPFLAGS}      C preprocessor flags ............ : ${CPPFLAGS}
669      C compiler flags ....... : ${CFLAGS}      C compiler flags ................ : ${CFLAGS}
670      C++ compiler flags ..... : ${CXXFLAGS}      C++ compiler flags .............. : ${CXXFLAGS}
671      Linker flags ........... : ${LDFLAGS}      Linker flags .................... : ${LDFLAGS}
672      Extra libraries ........ : ${LIBS}      Extra libraries ................. : ${LIBS}
673    
674      Build C++ library ...... : ${enable_cpp}      Build C++ library ............... : ${enable_cpp}
675      Enable UTF-8 support ... : ${enable_utf8}      Enable UTF-8 support ............ : ${enable_utf8}
676      Unicode properties ..... : ${enable_unicode_properties}      Unicode properties .............. : ${enable_unicode_properties}
677      Newline char/sequence .. : ${enable_newline}      Newline char/sequence ........... : ${enable_newline}
678      EBCDIC coding .......... : ${enable_ebcdic}      \R matches only ANYCRLF ......... : ${enable_bsr_anycrlf}
679      Use stack recursion .... : ${enable_stack_for_recursion}      EBCDIC coding ................... : ${enable_ebcdic}
680      POSIX mem threshold .... : ${with_posix_malloc_threshold}      Rebuild char tables ............. : ${enable_rebuild_chartables}
681      Internal link size ..... : ${with_link_size}      Use stack recursion ............. : ${enable_stack_for_recursion}
682      Match limit ............ : ${with_match_limit}      POSIX mem threshold ............. : ${with_posix_malloc_threshold}
683      Match limit recursion .. : ${with_match_limit_recursion}      Internal link size .............. : ${with_link_size}
684      Build shared libs ...... : ${enable_shared}      Match limit ..................... : ${with_match_limit}
685      Build static libs ...... : ${enable_static}      Match limit recursion ........... : ${with_match_limit_recursion}
686        Build shared libs ............... : ${enable_shared}
687        Build static libs ............... : ${enable_static}
688        Link pcregrep with libz ......... : ${enable_pcregrep_libz}
689        Link pcregrep with libbz2 ....... : ${enable_pcregrep_libbz2}
690        Link pcretest with libreadline .. : ${enable_pcretest_libreadline}
691    
692  EOF  EOF
693    

Legend:
Removed from v.106  
changed lines
  Added in v.478

  ViewVC Help
Powered by ViewVC 1.1.5