/[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 127 by ph10, Mon Mar 19 11:44:45 2007 UTC revision 666 by ph10, Mon Aug 22 14:56:43 2011 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  dnl NOTE FOR MAINTAINERS: Do not use major or minor version numbers with  dnl NOTE FOR MAINTAINERS: Do not use minor version numbers 08 or 09 because
4  dnl leading zeros, because they may be treated as octal constants. The  dnl the leading zeros may cause them to be treated as invalid octal constants
5  dnl PCRE_PRERELEASE feature is for identifying release candidates. It might  dnl if a PCRE user writes code that uses PCRE_MINOR as a number. There is now
6  dnl be defined as -RC2, for example. For real releases, it should be defined  dnl a check further down that throws an error if 08 or 09 are used.
7  dnl empty.  
8    dnl The PCRE_PRERELEASE feature is for identifying release candidates. It might
9  m4_define(pcre_major, [7])  dnl be defined as -RC2, for example. For real releases, it should be empty.
10  m4_define(pcre_minor, [1])  
11  m4_define(pcre_prerelease, [-RC2])  m4_define(pcre_major, [8])
12  m4_define(pcre_date, [2007-03-19])  m4_define(pcre_minor, [20])
13    m4_define(pcre_prerelease, [-RC1])
14    m4_define(pcre_date, [2011-08-18])
15    
16  # Libtool shared library interface versions (current:revision:age)  # Libtool shared library interface versions (current:revision:age)
17  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 23  AC_INIT(PCRE, pcre_major.pcre_minor[]pcr
23  AC_CONFIG_SRCDIR([pcre.h.in])  AC_CONFIG_SRCDIR([pcre.h.in])
24  AM_INIT_AUTOMAKE([dist-bzip2 dist-zip])  AM_INIT_AUTOMAKE([dist-bzip2 dist-zip])
25  AC_CONFIG_HEADERS(config.h)  AC_CONFIG_HEADERS(config.h)
26    
27    # This was added at the suggestion of libtoolize (03-Jan-10)
28    AC_CONFIG_MACRO_DIR([m4])
29    
30    # The default CFLAGS and CXXFLAGS in Autoconf are "-g -O2" for gcc and just
31    # "-g" for any other compiler. There doesn't seem to be a standard way of
32    # getting rid of the -g (which I don't think is needed for a production
33    # library). This fudge seems to achieve the necessary. First, we remember the
34    # externally set values of CFLAGS and CXXFLAGS. Then call the AC_PROG_CC and
35    # AC_PROG_CXX macros to find the compilers - if CFLAGS and CXXFLAGS are not
36    # set, they will be set to Autoconf's defaults. Afterwards, if the original
37    # values were not set, remove the -g from the Autoconf defaults.
38    # (PH 02-May-07)
39    
40    remember_set_CFLAGS="$CFLAGS"
41    remember_set_CXXFLAGS="$CXXFLAGS"
42    
43  AC_PROG_CC  AC_PROG_CC
44  AC_PROG_CXX  AC_PROG_CXX
45    
46    if test "x$remember_set_CFLAGS" = "x"
47    then
48      if test "$CFLAGS" = "-g -O2"
49      then
50        CFLAGS="-O2"
51      elif test "$CFLAGS" = "-g"
52      then
53        CFLAGS=""
54      fi
55    fi
56    
57    if test "x$remember_set_CXXFLAGS" = "x"
58    then
59      if test "$CXXFLAGS" = "-g -O2"
60      then
61        CXXFLAGS="-O2"
62      elif test "$CXXFLAGS" = "-g"
63      then
64        CXXFLAGS=""
65      fi
66    fi
67    
68    # AC_PROG_CXX will return "g++" even if no c++ compiler is installed.
69    # Check for that case, and just disable c++ code if g++ doesn't run.
70    AC_LANG_PUSH(C++)
71    AC_COMPILE_IFELSE([AC_LANG_PROGRAM([],[])],, CXX=""; CXXCP=""; CXXFLAGS="")
72    AC_LANG_POP
73    
74    # Check for a 64-bit integer type
75    AC_TYPE_INT64_T
76    
77  AC_PROG_INSTALL  AC_PROG_INSTALL
78  AC_LIBTOOL_WIN32_DLL  AC_LIBTOOL_WIN32_DLL
79  AC_PROG_LIBTOOL  LT_INIT
80    AC_PROG_LN_S
81    
82  PCRE_MAJOR="pcre_major"  PCRE_MAJOR="pcre_major"
83  PCRE_MINOR="pcre_minor"  PCRE_MINOR="pcre_minor"
84  PCRE_PRERELEASE="pcre_prerelease"  PCRE_PRERELEASE="pcre_prerelease"
85  PCRE_DATE="pcre_date"  PCRE_DATE="pcre_date"
86    
87    if test "$PCRE_MINOR" = "08" -o "$PCRE_MINOR" = "09"
88    then
89      echo "***"
90      echo "*** Minor version number $PCRE_MINOR must not be used. ***"
91      echo "*** Use only 01 to 07 or 10 onwards, to avoid octal issues. ***"
92      echo "***"
93      exit 1
94    fi
95    
96  AC_SUBST(PCRE_MAJOR)  AC_SUBST(PCRE_MAJOR)
97  AC_SUBST(PCRE_MINOR)  AC_SUBST(PCRE_MINOR)
98  AC_SUBST(PCRE_PRERELEASE)  AC_SUBST(PCRE_PRERELEASE)
# Line 43  then Line 104  then
104    htmldir='${docdir}/html'    htmldir='${docdir}/html'
105  fi  fi
106    
107  # Handle --disable-cpp  # Handle --disable-cpp. The substitution of enable_cpp is needed for use in
108    # pcre-config.
109  AC_ARG_ENABLE(cpp,  AC_ARG_ENABLE(cpp,
110                AS_HELP_STRING([--disable-cpp],                AS_HELP_STRING([--disable-cpp],
111                               [disable C++ support]),                               [disable C++ support]),
112                , enable_cpp=yes)                , enable_cpp=yes)
113    AC_SUBST(enable_cpp)
114    
115    # Handle --enable-jit (disabled by default)
116    AC_ARG_ENABLE(jit,
117                  AS_HELP_STRING([--enable-jit],
118                                 [enable Just-In-Time compiling support]),
119                  , enable_jit=no)
120    
121    # Handle --enable-rebuild-chartables
122    AC_ARG_ENABLE(rebuild-chartables,
123                  AS_HELP_STRING([--enable-rebuild-chartables],
124                                 [rebuild character tables in current locale]),
125                  , enable_rebuild_chartables=no)
126    
127  # Handle --enable-utf8 (disabled by default)  # Handle --enable-utf8 (disabled by default)
128  AC_ARG_ENABLE(utf8,  AC_ARG_ENABLE(utf8,
129                AS_HELP_STRING([--enable-utf8],                AS_HELP_STRING([--enable-utf8],
130                               [enable UTF-8 support]),                               [enable UTF-8 support (incompatible with --enable-ebcdic)]),
131                , enable_utf8=unset)                , enable_utf8=unset)
132    
133  # Handle --enable-unicode-properties  # Handle --enable-unicode-properties
# Line 64  AC_ARG_ENABLE(unicode-properties, Line 139  AC_ARG_ENABLE(unicode-properties,
139  # Handle --enable-newline=NL  # Handle --enable-newline=NL
140  dnl AC_ARG_ENABLE(newline,  dnl AC_ARG_ENABLE(newline,
141  dnl               AS_HELP_STRING([--enable-newline=NL],  dnl               AS_HELP_STRING([--enable-newline=NL],
142  dnl                              [use NL as newline (lf, cr, crlf, any; default=lf)]),  dnl                              [use NL as newline (lf, cr, crlf, anycrlf, any; default=lf)]),
143  dnl               , enable_newline=lf)  dnl               , enable_newline=lf)
144    
145  # Separate newline options  # Separate newline options
# Line 81  AC_ARG_ENABLE(newline-is-crlf, Line 156  AC_ARG_ENABLE(newline-is-crlf,
156                AS_HELP_STRING([--enable-newline-is-crlf],                AS_HELP_STRING([--enable-newline-is-crlf],
157                               [use CRLF as newline sequence]),                               [use CRLF as newline sequence]),
158                ac_pcre_newline=crlf)                ac_pcre_newline=crlf)
159    AC_ARG_ENABLE(newline-is-anycrlf,
160                  AS_HELP_STRING([--enable-newline-is-anycrlf],
161                                 [use CR, LF, or CRLF as newline sequence]),
162                  ac_pcre_newline=anycrlf)
163  AC_ARG_ENABLE(newline-is-any,  AC_ARG_ENABLE(newline-is-any,
164                AS_HELP_STRING([--enable-newline-is-any],                AS_HELP_STRING([--enable-newline-is-any],
165                               [use any valid Unicode newline sequence]),                               [use any valid Unicode newline sequence]),
166                ac_pcre_newline=any)                ac_pcre_newline=any)
167  enable_newline="$ac_pcre_newline"  enable_newline="$ac_pcre_newline"
168    
169    # Handle --enable-bsr-anycrlf
170    AC_ARG_ENABLE(bsr-anycrlf,
171                  AS_HELP_STRING([--enable-bsr-anycrlf],
172                                 [\R matches only CR, LF, CRLF by default]),
173                  , enable_bsr_anycrlf=no)
174    
175  # Handle --enable-ebcdic  # Handle --enable-ebcdic
176  AC_ARG_ENABLE(ebcdic,  AC_ARG_ENABLE(ebcdic,
177                AS_HELP_STRING([--enable-ebcdic],                AS_HELP_STRING([--enable-ebcdic],
178                               [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]),
179                , enable_ebcdic=no)                , enable_ebcdic=no)
180    
181  # Handle --disable-stack-for-recursion  # Handle --disable-stack-for-recursion
# Line 99  AC_ARG_ENABLE(stack-for-recursion, Line 184  AC_ARG_ENABLE(stack-for-recursion,
184                               [don't use stack recursion when matching]),                               [don't use stack recursion when matching]),
185                , enable_stack_for_recursion=yes)                , enable_stack_for_recursion=yes)
186    
187    # Handle --enable-pcregrep-libz
188    AC_ARG_ENABLE(pcregrep-libz,
189                  AS_HELP_STRING([--enable-pcregrep-libz],
190                                 [link pcregrep with libz to handle .gz files]),
191                  , enable_pcregrep_libz=no)
192    
193    # Handle --enable-pcregrep-libbz2
194    AC_ARG_ENABLE(pcregrep-libbz2,
195                  AS_HELP_STRING([--enable-pcregrep-libbz2],
196                                 [link pcregrep with libbz2 to handle .bz2 files]),
197                  , enable_pcregrep_libbz2=no)
198    
199    # Handle --with-pcregrep-bufsize=N
200    AC_ARG_WITH(pcregrep-bufsize,
201                  AS_HELP_STRING([--with-pcregrep-bufsize=N],
202                                 [pcregrep buffer size (default=20480)]),
203                  , with_pcregrep_bufsize=20480)
204    
205    # Handle --enable-pcretest-libreadline
206    AC_ARG_ENABLE(pcretest-libreadline,
207                  AS_HELP_STRING([--enable-pcretest-libreadline],
208                                 [link pcretest with libreadline]),
209                  , enable_pcretest_libreadline=no)
210    
211  # Handle --with-posix-malloc-threshold=NBYTES  # Handle --with-posix-malloc-threshold=NBYTES
212  AC_ARG_WITH(posix-malloc-threshold,  AC_ARG_WITH(posix-malloc-threshold,
213              AS_HELP_STRING([--with-posix-malloc-threshold=NBYTES],              AS_HELP_STRING([--with-posix-malloc-threshold=NBYTES],
# Line 147  then Line 256  then
256    enable_utf8=no    enable_utf8=no
257  fi  fi
258    
259    # Make sure that if enable_ebcdic is set, rebuild_chartables is also enabled.
260    # Also check that UTF-8 support is not requested, because PCRE cannot handle
261    # EBCDIC and UTF-8 in the same build. To do so it would need to use different
262    # character constants depending on the mode.
263    #
264    if test "x$enable_ebcdic" = "xyes"
265    then
266      enable_rebuild_chartables=yes
267      if test "x$enable_utf8" = "xyes"
268      then
269        AC_MSG_ERROR([support for EBCDIC and UTF-8 cannot be enabled at the same time])
270      fi
271    fi
272    
273  # Convert the newline identifier into the appropriate integer value.  # Convert the newline identifier into the appropriate integer value.
274  case "$enable_newline" in  case "$enable_newline" in
275    lf)   ac_pcre_newline_value=10   ;;    lf)      ac_pcre_newline_value=10   ;;
276    cr)   ac_pcre_newline_value=13   ;;    cr)      ac_pcre_newline_value=13   ;;
277    crlf) ac_pcre_newline_value=3338 ;;    crlf)    ac_pcre_newline_value=3338 ;;
278    any)  ac_pcre_newline_value=-1   ;;    anycrlf) ac_pcre_newline_value=-2   ;;
279      any)     ac_pcre_newline_value=-1   ;;
280    *)    *)
281    AC_MSG_ERROR([invalid argument \"$enable_newline\" to --enable-newline option])    AC_MSG_ERROR([invalid argument \"$enable_newline\" to --enable-newline option])
282    ;;    ;;
# Line 174  it to run on SunOS4 and other "close to Line 298  it to run on SunOS4 and other "close to
298    
299  If you are going to build PCRE "by hand" on a system without "configure" you  If you are going to build PCRE "by hand" on a system without "configure" you
300  should copy the distributed config.h.generic to config.h, and then set up the  should copy the distributed config.h.generic to config.h, and then set up the
301  macros the way you need them. Alternatively, you can avoid editing by using -D  macro definitions the way you need them. You must then add -DHAVE_CONFIG_H to
302  on the compiler command line to set the macro values.  all of your compile commands, so that config.h is included at the start of
303    every source.
304    
305    Alternatively, you can avoid editing by using -D on the compiler command line
306    to set the macro values. In this case, you do not have to set -DHAVE_CONFIG_H.
307    
308  PCRE uses memmove() if HAVE_MEMMOVE is set to 1; otherwise it uses bcopy() if  PCRE uses memmove() if HAVE_MEMMOVE is set to 1; otherwise it uses bcopy() if
309  HAVE_BCOPY is set to 1. If your system has neither bcopy() nor memmove(), set  HAVE_BCOPY is set to 1. If your system has neither bcopy() nor memmove(), set
# Line 192  if test "x$enable_cpp" = "xyes" -a -n "$ Line 320  if test "x$enable_cpp" = "xyes" -a -n "$
320  then  then
321  AC_LANG_PUSH(C++)  AC_LANG_PUSH(C++)
322    
323    # Older versions of pcre defined pcrecpp::no_arg, but in new versions
324    # it's called pcrecpp::RE::no_arg.  For backwards ABI compatibility,
325    # we want to make one an alias for the other.  Different systems do
326    # this in different ways.  Some systems, for instance, can do it via
327    # a linker flag: -alias (for os x 10.5) or -i (for os x <=10.4).
328    OLD_LDFLAGS="$LDFLAGS"
329    for flag in "-alias,__ZN7pcrecpp2RE6no_argE,__ZN7pcrecpp6no_argE" \
330                "-i__ZN7pcrecpp6no_argE:__ZN7pcrecpp2RE6no_argE"; do
331      AC_MSG_CHECKING([for alias support in the linker])
332      LDFLAGS="$OLD_LDFLAGS -Wl,$flag"
333      # We try to run the linker with this new ld flag.  If the link fails,
334      # we give up and remove the new flag from LDFLAGS.
335      AC_LINK_IFELSE([AC_LANG_PROGRAM([namespace pcrecpp {
336                                        class RE { static int no_arg; };
337                                        int RE::no_arg;
338                                      }],
339                                     [])],
340                     [AC_MSG_RESULT([yes]);
341                      EXTRA_LIBPCRECPP_LDFLAGS="$EXTRA_LIBPCRECPP_LDFLAGS -Wl,$flag";
342                      break;],
343                     AC_MSG_RESULT([no]))
344    done
345    LDFLAGS="$OLD_LDFLAGS"
346    
347  # 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
348  # (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
349  # 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.
# Line 201  AC_CHECK_HEADERS(bits/type_traits.h, [pc Line 353  AC_CHECK_HEADERS(bits/type_traits.h, [pc
353                                       [pcre_have_bits_type_traits="0"])                                       [pcre_have_bits_type_traits="0"])
354  AC_CHECK_HEADERS(type_traits.h, [pcre_have_type_traits="1"],  AC_CHECK_HEADERS(type_traits.h, [pcre_have_type_traits="1"],
355                                  [pcre_have_type_traits="0"])                                  [pcre_have_type_traits="0"])
356    
357    # (This isn't c++-specific, but is only used in pcrecpp.cc, so try this
358    # in a c++ context.  This matters becuase strtoimax is C99 and may not
359    # be supported by the C++ compiler.)
360    # Figure out how to create a longlong from a string: strtoll and
361    # equiv.  It's not enough to call AC_CHECK_FUNCS: hpux has a
362    # strtoll, for instance, but it only takes 2 args instead of 3!
363    # We have to call AH_TEMPLATE since AC_DEFINE_UNQUOTED below is complex.
364    AH_TEMPLATE(HAVE_STRTOQ, [Define to 1 if you have `strtoq'.])
365    AH_TEMPLATE(HAVE_STRTOLL, [Define to 1 if you have `strtoll'.])
366    AH_TEMPLATE(HAVE__STRTOI64, [Define to 1 if you have `_strtoi64'.])
367    AH_TEMPLATE(HAVE_STRTOIMAX, [Define to 1 if you have `strtoimax'.])
368    have_strto_fn=0
369    for fn in strtoq strtoll _strtoi64 strtoimax; do
370      AC_MSG_CHECKING([for $fn])
371      if test "$fn" = strtoimax; then
372        include=stdint.h
373      else
374        include=stdlib.h
375      fi
376      AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include <$include>],
377                                        [char* e; return $fn("100", &e, 10)])],
378                        [AC_MSG_RESULT(yes)
379                         AC_DEFINE_UNQUOTED(HAVE_`echo $fn | tr abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ`, 1,
380                                            [Define to 1 if you have `$fn'.])
381                         have_strto_fn=1
382                         break],
383                        [AC_MSG_RESULT(no)])
384    done
385    
386    if test "$have_strto_fn" = 1; then
387      AC_CHECK_TYPES([long long],
388                     [pcre_have_long_long="1"],
389                     [pcre_have_long_long="0"])
390      AC_CHECK_TYPES([unsigned long long],
391                     [pcre_have_ulong_long="1"],
392                     [pcre_have_ulong_long="0"])
393    else
394      pcre_have_long_long="0"
395      pcre_have_ulong_long="0"
396    fi
397    AC_SUBST(pcre_have_long_long)
398    AC_SUBST(pcre_have_ulong_long)
399    
400  AC_LANG_POP  AC_LANG_POP
401  fi  fi
402  # 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 209  AC_SUBST(pcre_have_bits_type_traits) Line 405  AC_SUBST(pcre_have_bits_type_traits)
405    
406  # Conditional compilation  # Conditional compilation
407  AM_CONDITIONAL(WITH_PCRE_CPP, test "x$enable_cpp" = "xyes")  AM_CONDITIONAL(WITH_PCRE_CPP, test "x$enable_cpp" = "xyes")
408    AM_CONDITIONAL(WITH_REBUILD_CHARTABLES, test "x$enable_rebuild_chartables" = "xyes")
409    AM_CONDITIONAL(WITH_JIT, test "x$enable_jit" = "xyes")
410    
411  # Checks for typedefs, structures, and compiler characteristics.  # Checks for typedefs, structures, and compiler characteristics.
412    
413  AC_C_CONST  AC_C_CONST
414  AC_TYPE_SIZE_T  AC_TYPE_SIZE_T
415    
 AC_CHECK_TYPES([long long],  
                [pcre_have_long_long="1"],  
                [pcre_have_long_long="0"])  
 AC_CHECK_TYPES([unsigned long long],  
                [pcre_have_ulong_long="1"],  
                [pcre_have_ulong_long="0"])  
 AC_SUBST(pcre_have_long_long)  
 AC_SUBST(pcre_have_ulong_long)  
   
416  # Checks for library functions.  # Checks for library functions.
417    
418  AC_CHECK_FUNCS(bcopy memmove strerror strtoq strtoll)  AC_CHECK_FUNCS(bcopy memmove strerror)
419    
420    # Check for the availability of libz (aka zlib)
421    
422    AC_CHECK_HEADERS([zlib.h], [HAVE_ZLIB_H=1])
423    AC_CHECK_LIB([z], [gzopen], [HAVE_LIBZ=1])
424    
425    # Check for the availability of libbz2. Originally we just used AC_CHECK_LIB,
426    # as for libz. However, this had the following problem, diagnosed and fixed by
427    # a user:
428    #
429    #   - libbz2 uses the Pascal calling convention (WINAPI) for the functions
430    #     under Win32.
431    #   - The standard autoconf AC_CHECK_LIB fails to include "bzlib.h",
432    #     therefore missing the function definition.
433    #   - The compiler thus generates a "C" signature for the test function.
434    #   - The linker fails to find the "C" function.
435    #   - PCRE fails to configure if asked to do so against libbz2.
436    #
437    # Solution:
438    #
439    #   - Replace the AC_CHECK_LIB test with a custom test.
440    
441    AC_CHECK_HEADERS([bzlib.h], [HAVE_BZLIB_H=1])
442    # Original test
443    # AC_CHECK_LIB([bz2], [BZ2_bzopen], [HAVE_LIBBZ2=1])
444    #
445    # Custom test follows
446    
447    AC_MSG_CHECKING([for libbz2])
448    OLD_LIBS="$LIBS"
449    LIBS="$LIBS -lbz2"
450    AC_LINK_IFELSE([AC_LANG_PROGRAM([[
451    #ifdef HAVE_BZLIB_H
452    #include <bzlib.h>
453    #endif]],
454    [[return (int)BZ2_bzopen("conftest", "rb");]])],
455    [AC_MSG_RESULT([yes]);HAVE_LIBBZ2=1; break;],
456    AC_MSG_RESULT([no]))
457    LIBS="$OLD_LIBS"
458    
459    # Check for the availabiity of libreadline
460    
461    AC_CHECK_HEADERS([readline/readline.h], [HAVE_READLINE_H=1])
462    AC_CHECK_HEADERS([readline/history.h], [HAVE_HISTORY_H=1])
463    AC_CHECK_LIB([readline], [readline], [HAVE_LIB_READLINE=1])
464    
465  # This facilitates -ansi builds under Linux  # This facilitates -ansi builds under Linux
466  dnl AC_DEFINE([_GNU_SOURCE], [], [Enable GNU extensions in glibc])  dnl AC_DEFINE([_GNU_SOURCE], [], [Enable GNU extensions in glibc])
467    
468    PCRE_STATIC_CFLAG=""
469  if test "x$enable_shared" = "xno" ; then  if test "x$enable_shared" = "xno" ; then
470    AC_DEFINE([PCRE_STATIC], [1], [    AC_DEFINE([PCRE_STATIC], [1], [
471      Define if linking statically (TODO: make nice with Libtool)])      Define if linking statically (TODO: make nice with Libtool)])
472      PCRE_STATIC_CFLAG="-DPCRE_STATIC"
473  fi  fi
474    AC_SUBST(PCRE_STATIC_CFLAG)
475    
476  # Here is where pcre specific defines are handled  # Here is where pcre specific defines are handled
477    
478    if test "$enable_jit" = "yes"; then
479      AC_DEFINE([SUPPORT_JIT], [], [
480        Define to enable support for Just-In-Time compiling.])
481    fi
482    
483  if test "$enable_utf8" = "yes"; then  if test "$enable_utf8" = "yes"; then
484    AC_DEFINE([SUPPORT_UTF8], [], [    AC_DEFINE([SUPPORT_UTF8], [], [
485      Define to enable support for the UTF-8 Unicode encoding.])      Define to enable support for the UTF-8 Unicode encoding. This will
486        work even in an EBCDIC environment, but it is incompatible with
487        the EBCDIC macro. That is, PCRE can support *either* EBCDIC code
488        *or* ASCII/UTF-8, but not both at once.])
489  fi  fi
490    
491  if test "$enable_unicode_properties" = "yes"; then  if test "$enable_unicode_properties" = "yes"; then
492    AC_DEFINE([SUPPORT_UCP], [], [    AC_DEFINE([SUPPORT_UCP], [], [
493      Define to enable support for Unicode properties])      Define to enable support for Unicode properties.])
494  fi  fi
495    
496  if test "$enable_stack_for_recursion" = "no"; then  if test "$enable_stack_for_recursion" = "no"; then
# Line 261  if test "$enable_stack_for_recursion" = Line 506  if test "$enable_stack_for_recursion" =
506      (use --disable-stack-for-recursion).])      (use --disable-stack-for-recursion).])
507  fi  fi
508    
509    if test "$enable_pcregrep_libz" = "yes"; then
510      AC_DEFINE([SUPPORT_LIBZ], [], [
511        Define to allow pcregrep to be linked with libz, so that it is
512        able to handle .gz files.])
513    fi
514    
515    if test "$enable_pcregrep_libbz2" = "yes"; then
516      AC_DEFINE([SUPPORT_LIBBZ2], [], [
517        Define to allow pcregrep to be linked with libbz2, so that it is
518        able to handle .bz2 files.])
519    fi
520    
521    if test $with_pcregrep_bufsize -lt 8192 ; then
522      with_pcregrep_bufsize="8192"
523    fi
524    
525    AC_DEFINE_UNQUOTED([PCREGREP_BUFSIZE], [$with_pcregrep_bufsize], [
526      The value of PCREGREP_BUFSIZE determines the size of buffer used by
527      pcregrep to hold parts of the file it is searching. On systems that
528      support it, "configure" can be used to override the default, which is
529      8192. This is also the minimum value. The actual amount of memory used by
530      pcregrep is three times this number, because it allows for the buffering of
531      "before" and "after" lines.])
532    
533    if test "$enable_pcretest_libreadline" = "yes"; then
534      AC_DEFINE([SUPPORT_LIBREADLINE], [], [
535        Define to allow pcretest to be linked with libreadline.])
536    fi
537    
538  AC_DEFINE_UNQUOTED([NEWLINE], [$ac_pcre_newline_value], [  AC_DEFINE_UNQUOTED([NEWLINE], [$ac_pcre_newline_value], [
539    The value of NEWLINE determines the newline character sequence. On    The value of NEWLINE determines the newline character sequence. On
540    Unix-like systems, "configure" can be used to override the default,    systems that support it, "configure" can be used to override the
541    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),
542    or -1 (ANY).])    3338 (CRLF), -1 (ANY), or -2 (ANYCRLF).])
543    
544    if test "$enable_bsr_anycrlf" = "yes"; then
545      AC_DEFINE([BSR_ANYCRLF], [], [
546        By default, the \R escape sequence matches any Unicode line ending
547        character or sequence of characters. If BSR_ANYCRLF is defined, this is
548        changed so that backslash-R matches only CR, LF, or CRLF. The build-
549        time default can be overridden by the user of PCRE at runtime. On
550        systems that support it, "configure" can be used to override the
551        default.])
552    fi
553    
554  AC_DEFINE_UNQUOTED([LINK_SIZE], [$with_link_size], [  AC_DEFINE_UNQUOTED([LINK_SIZE], [$with_link_size], [
555    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 318  AC_DEFINE([MAX_NAME_COUNT], [10000], [ Line 602  AC_DEFINE([MAX_NAME_COUNT], [10000], [
602    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
603    against integer overflow caused by enormously large patterns.])    against integer overflow caused by enormously large patterns.])
604    
605  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], [  
606  /* 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
607     Win32, and it needs some magic to be inserted before the definition     Win32, and it needs some magic to be inserted before the definition
608     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 333  AH_VERBATIM([PCRE_DATA_SCOPE], [ Line 612  AH_VERBATIM([PCRE_DATA_SCOPE], [
612     every exported function that is part of the external API. It does     every exported function that is part of the external API. It does
613     not appear on functions that are "external" in the C sense, but     not appear on functions that are "external" in the C sense, but
614     which are internal to the library. */     which are internal to the library. */
615  #undef PCRE_DATA_SCOPE])  #undef PCRE_EXP_DEFN])
616    
617  if test "$enable_ebcdic" = "yes"; then  if test "$enable_ebcdic" = "yes"; then
618    AC_DEFINE_UNQUOTED([EBCDIC], [], [    AC_DEFINE_UNQUOTED([EBCDIC], [], [
619      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
620      character codes, define this macro as 1. On systems that can use      character codes, define this macro as 1. On systems that can use
621      "configure", this can be done via --enable-ebcdic.])      "configure", this can be done via --enable-ebcdic. PCRE will then
622        assume that all input strings are in EBCDIC. If you do not define
623        this macro, PCRE will assume input strings are ASCII or UTF-8 Unicode.
624        It is not possible to build a version of PCRE that supports both
625        EBCDIC and UTF-8.])
626  fi  fi
627    
628  # Platform specific issues  # Platform specific issues
# Line 357  esac Line 640  esac
640  # The extra LDFLAGS for each particular library  # The extra LDFLAGS for each particular library
641  # (Note: The libpcre*_version bits are m4 variables, assigned above)  # (Note: The libpcre*_version bits are m4 variables, assigned above)
642    
643  EXTRA_LIBPCRE_LDFLAGS="$NO_UNDEFINED -version-info libpcre_version"  EXTRA_LIBPCRE_LDFLAGS="$EXTRA_LIBPCRE_LDFLAGS \
644                           $NO_UNDEFINED -version-info libpcre_version"
645    
646  EXTRA_LIBPCREPOSIX_LDFLAGS="$NO_UNDEFINED -version-info libpcreposix_version"  EXTRA_LIBPCREPOSIX_LDFLAGS="$EXTRA_LIBPCREPOSIX_LDFLAGS \
647                                $NO_UNDEFINED -version-info libpcreposix_version"
648    
649  EXTRA_LIBPCRECPP_LDFLAGS="$NO_UNDEFINED $EXPORT_ALL_SYMBOLS -version-info libpcrecpp_version"  EXTRA_LIBPCRECPP_LDFLAGS="$EXTRA_LIBPCRECPP_LDFLAGS \
650                              $NO_UNDEFINED -version-info libpcrecpp_version \
651                              $EXPORT_ALL_SYMBOLS"
652    
653  AC_SUBST(EXTRA_LIBPCRE_LDFLAGS)  AC_SUBST(EXTRA_LIBPCRE_LDFLAGS)
654  AC_SUBST(EXTRA_LIBPCREPOSIX_LDFLAGS)  AC_SUBST(EXTRA_LIBPCREPOSIX_LDFLAGS)
655  AC_SUBST(EXTRA_LIBPCRECPP_LDFLAGS)  AC_SUBST(EXTRA_LIBPCRECPP_LDFLAGS)
656    
657  # When we run 'make distcheck', use these arguments.  # When we run 'make distcheck', use these arguments.
658  DISTCHECK_CONFIGURE_FLAGS="--enable-cpp --enable-unicode-properties"  DISTCHECK_CONFIGURE_FLAGS="--enable-jit --enable-cpp --enable-unicode-properties"
659  AC_SUBST(DISTCHECK_CONFIGURE_FLAGS)  AC_SUBST(DISTCHECK_CONFIGURE_FLAGS)
660    
661    # Check that, if --enable-pcregrep-libz or --enable-pcregrep-libbz2 is
662    # specified, the relevant library is available.
663    
664    if test "$enable_pcregrep_libz" = "yes"; then
665      if test "$HAVE_ZLIB_H" != "1"; then
666        echo "** Cannot --enable-pcregrep-libz because zlib.h was not found"
667        exit 1
668      fi
669      if test "$HAVE_LIBZ" != "1"; then
670        echo "** Cannot --enable-pcregrep-libz because libz was not found"
671        exit 1
672      fi
673      LIBZ="-lz"
674    fi
675    AC_SUBST(LIBZ)
676    
677    if test "$enable_pcregrep_libbz2" = "yes"; then
678      if test "$HAVE_BZLIB_H" != "1"; then
679        echo "** Cannot --enable-pcregrep-libbz2 because bzlib.h was not found"
680        exit 1
681      fi
682      if test "$HAVE_LIBBZ2" != "1"; then
683        echo "** Cannot --enable-pcregrep-libbz2 because libbz2 was not found"
684        exit 1
685      fi
686      LIBBZ2="-lbz2"
687    fi
688    AC_SUBST(LIBBZ2)
689    
690    # Similarly for --enable-pcretest-readline
691    
692    if test "$enable_pcretest_libreadline" = "yes"; then
693      if test "$HAVE_READLINE_H" != "1"; then
694        echo "** Cannot --enable-pcretest-readline because readline/readline.h was not found."
695        exit 1
696      fi
697      if test "$HAVE_HISTORY_H" != "1"; then
698        echo "** Cannot --enable-pcretest-readline because readline/history.h was not found."
699        exit 1
700      fi
701      LIBREADLINE="-lreadline"
702    fi
703    AC_SUBST(LIBREADLINE)
704    
705  # Produce these files, in addition to config.h.  # Produce these files, in addition to config.h.
706  AC_CONFIG_FILES(  AC_CONFIG_FILES(
707          Makefile          Makefile
         RunGrepTest  
         RunTest  
708          libpcre.pc          libpcre.pc
709            libpcreposix.pc
710          libpcrecpp.pc          libpcrecpp.pc
711          pcre-config          pcre-config
712          pcre.h          pcre.h
# Line 385  AC_CONFIG_FILES( Line 715  AC_CONFIG_FILES(
715  )  )
716    
717  # Make the generated script files executable.  # Make the generated script files executable.
718  AC_CONFIG_COMMANDS([script-chmod], [chmod a+x RunTest RunGrepTest pcre-config])  AC_CONFIG_COMMANDS([script-chmod], [chmod a+x pcre-config])
719    
720    # Make sure that pcre_chartables.c is removed in case the method for
721    # creating it was changed by reconfiguration.
722    AC_CONFIG_COMMANDS([delete-old-chartables], [rm -f pcre_chartables.c])
723    
724  AC_OUTPUT  AC_OUTPUT
725    
726  # Print out a nice little message after configure is run displaying your  # Print out a nice little message after configure is run displaying your
727  # chosen options.  # chosen options.
728  #  
729  cat <<EOF  cat <<EOF
730    
731  $PACKAGE-$VERSION configuration summary:  $PACKAGE-$VERSION configuration summary:
732    
733      Install prefix ......... : ${prefix}      Install prefix .................. : ${prefix}
734      C preprocessor ......... : ${CPP}      C preprocessor .................. : ${CPP}
735      C compiler ............. : ${CC}      C compiler ...................... : ${CC}
736      C++ preprocessor ....... : ${CXXCPP}      C++ preprocessor ................ : ${CXXCPP}
737      C++ compiler ........... : ${CXX}      C++ compiler .................... : ${CXX}
738      Linker ................. : ${LD}      Linker .......................... : ${LD}
739      C preprocessor flags ... : ${CPPFLAGS}      C preprocessor flags ............ : ${CPPFLAGS}
740      C compiler flags ....... : ${CFLAGS}      C compiler flags ................ : ${CFLAGS}
741      C++ compiler flags ..... : ${CXXFLAGS}      C++ compiler flags .............. : ${CXXFLAGS}
742      Linker flags ........... : ${LDFLAGS}      Linker flags .................... : ${LDFLAGS}
743      Extra libraries ........ : ${LIBS}      Extra libraries ................. : ${LIBS}
744    
745      Build C++ library ...... : ${enable_cpp}      Build C++ library ............... : ${enable_cpp}
746      Enable UTF-8 support ... : ${enable_utf8}      Enable JIT compiling support .... : ${enable_jit}
747      Unicode properties ..... : ${enable_unicode_properties}      Enable UTF-8 support ............ : ${enable_utf8}
748      Newline char/sequence .. : ${enable_newline}      Unicode properties .............. : ${enable_unicode_properties}
749      EBCDIC coding .......... : ${enable_ebcdic}      Newline char/sequence ........... : ${enable_newline}
750      Use stack recursion .... : ${enable_stack_for_recursion}      \R matches only ANYCRLF ......... : ${enable_bsr_anycrlf}
751      POSIX mem threshold .... : ${with_posix_malloc_threshold}      EBCDIC coding ................... : ${enable_ebcdic}
752      Internal link size ..... : ${with_link_size}      Rebuild char tables ............. : ${enable_rebuild_chartables}
753      Match limit ............ : ${with_match_limit}      Use stack recursion ............. : ${enable_stack_for_recursion}
754      Match limit recursion .. : ${with_match_limit_recursion}      POSIX mem threshold ............. : ${with_posix_malloc_threshold}
755      Build shared libs ...... : ${enable_shared}      Internal link size .............. : ${with_link_size}
756      Build static libs ...... : ${enable_static}      Match limit ..................... : ${with_match_limit}
757        Match limit recursion ........... : ${with_match_limit_recursion}
758        Build shared libs ............... : ${enable_shared}
759        Build static libs ............... : ${enable_static}
760        Buffer size for pcregrep ........ : ${with_pcregrep_bufsize}
761        Link pcregrep with libz ......... : ${enable_pcregrep_libz}
762        Link pcregrep with libbz2 ....... : ${enable_pcregrep_libbz2}
763        Link pcretest with libreadline .. : ${enable_pcretest_libreadline}
764    
765  EOF  EOF
766    

Legend:
Removed from v.127  
changed lines
  Added in v.666

  ViewVC Help
Powered by ViewVC 1.1.5