/[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 260 by ph10, Thu Sep 20 10:19:16 2007 UTC revision 843 by ph10, Sun Jan 1 14:36:56 2012 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, [4])  
11  m4_define(pcre_prerelease, [])  m4_define(pcre_major, [8])
12  m4_define(pcre_date, [2007-09-21])  m4_define(pcre_minor, [30])
13    m4_define(pcre_prerelease, [-PT1])
14    m4_define(pcre_date, [2012-01-01])
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 22  AC_CONFIG_SRCDIR([pcre.h.in]) Line 24  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  # 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  # "-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  # getting rid of the -g (which I don't think is needed for a production
# Line 60  then Line 65  then
65    fi    fi
66  fi  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  AC_PROG_LN_S
81    
82  PCRE_MAJOR="pcre_major"  PCRE_MAJOR="pcre_major"
# Line 71  PCRE_MINOR="pcre_minor" Line 84  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 82  then Line 104  then
104    htmldir='${docdir}/html'    htmldir='${docdir}/html'
105  fi  fi
106    
107  # Handle --disable-cpp  # Handle --disable-pcre8 (enabled by default)
108    AC_ARG_ENABLE(pcre8,
109                  AS_HELP_STRING([--disable-pcre8],
110                                 [enable 8 bit character support]),
111                  , enable_pcre8=unset)
112    AC_SUBST(enable_pcre8)
113    
114    # Handle --enable-pcre16 (disabled by default)
115    AC_ARG_ENABLE(pcre16,
116                  AS_HELP_STRING([--enable-pcre16],
117                                 [enable 16 bit character support]),
118                  , enable_pcre16=unset)
119    AC_SUBST(enable_pcre16)
120    
121    # Handle --disable-cpp. The substitution of enable_cpp is needed for use in
122    # pcre-config.
123  AC_ARG_ENABLE(cpp,  AC_ARG_ENABLE(cpp,
124                AS_HELP_STRING([--disable-cpp],                AS_HELP_STRING([--disable-cpp],
125                               [disable C++ support]),                               [disable C++ support]),
126                , enable_cpp=yes)                , enable_cpp=unset)
127    AC_SUBST(enable_cpp)
128    
129    # Handle --enable-jit (disabled by default)
130    AC_ARG_ENABLE(jit,
131                  AS_HELP_STRING([--enable-jit],
132                                 [enable Just-In-Time compiling support]),
133                  , enable_jit=no)
134    
135    # Handle --disable-pcregrep-jit (enabled by default)
136    AC_ARG_ENABLE(pcregrep-jit,
137                  AS_HELP_STRING([--disable-pcregrep-jit],
138                                 [disable JIT support in pcregrep]),
139                  , enable_pcregrep_jit=yes)
140    
141  # Handle --enable-rebuild-chartables  # Handle --enable-rebuild-chartables
142  AC_ARG_ENABLE(rebuild-chartables,  AC_ARG_ENABLE(rebuild-chartables,
# Line 97  AC_ARG_ENABLE(rebuild-chartables, Line 147  AC_ARG_ENABLE(rebuild-chartables,
147  # Handle --enable-utf8 (disabled by default)  # Handle --enable-utf8 (disabled by default)
148  AC_ARG_ENABLE(utf8,  AC_ARG_ENABLE(utf8,
149                AS_HELP_STRING([--enable-utf8],                AS_HELP_STRING([--enable-utf8],
150                               [enable UTF-8 support]),                               [another name for --enable-utf. Kept only for compatibility reasons]),
151                , enable_utf8=unset)                , enable_utf8=unset)
152    
153    # Handle --enable-utf (disabled by default)
154    AC_ARG_ENABLE(utf,
155                  AS_HELP_STRING([--enable-utf],
156                                 [enable UTF-8/16 support (incompatible with --enable-ebcdic)]),
157                  , enable_utf=unset)
158    
159  # Handle --enable-unicode-properties  # Handle --enable-unicode-properties
160  AC_ARG_ENABLE(unicode-properties,  AC_ARG_ENABLE(unicode-properties,
161                AS_HELP_STRING([--enable-unicode-properties],                AS_HELP_STRING([--enable-unicode-properties],
162                               [enable Unicode properties support (implies --enable-utf8)]),                               [enable Unicode properties support (implies --enable-utf)]),
163                , enable_unicode_properties=no)                , enable_unicode_properties=no)
164    
165  # Handle --enable-newline=NL  # Handle --enable-newline=NL
# Line 145  AC_ARG_ENABLE(bsr-anycrlf, Line 201  AC_ARG_ENABLE(bsr-anycrlf,
201  # Handle --enable-ebcdic  # Handle --enable-ebcdic
202  AC_ARG_ENABLE(ebcdic,  AC_ARG_ENABLE(ebcdic,
203                AS_HELP_STRING([--enable-ebcdic],                AS_HELP_STRING([--enable-ebcdic],
204                               [assume EBCDIC coding rather than ASCII; use this only in (uncommon) EBCDIC environments; it implies --enable-rebuild-chartables]),                               [assume EBCDIC coding rather than ASCII; incompatible with --enable-utf; use only in (uncommon) EBCDIC environments; it implies --enable-rebuild-chartables]),
205                , enable_ebcdic=no)                , enable_ebcdic=no)
206    
207  # Handle --disable-stack-for-recursion  # Handle --disable-stack-for-recursion
# Line 154  AC_ARG_ENABLE(stack-for-recursion, Line 210  AC_ARG_ENABLE(stack-for-recursion,
210                               [don't use stack recursion when matching]),                               [don't use stack recursion when matching]),
211                , enable_stack_for_recursion=yes)                , enable_stack_for_recursion=yes)
212    
213    # Handle --enable-pcregrep-libz
214    AC_ARG_ENABLE(pcregrep-libz,
215                  AS_HELP_STRING([--enable-pcregrep-libz],
216                                 [link pcregrep with libz to handle .gz files]),
217                  , enable_pcregrep_libz=no)
218    
219    # Handle --enable-pcregrep-libbz2
220    AC_ARG_ENABLE(pcregrep-libbz2,
221                  AS_HELP_STRING([--enable-pcregrep-libbz2],
222                                 [link pcregrep with libbz2 to handle .bz2 files]),
223                  , enable_pcregrep_libbz2=no)
224    
225    # Handle --with-pcregrep-bufsize=N
226    AC_ARG_WITH(pcregrep-bufsize,
227                  AS_HELP_STRING([--with-pcregrep-bufsize=N],
228                                 [pcregrep buffer size (default=20480)]),
229                  , with_pcregrep_bufsize=20480)
230    
231    # Handle --enable-pcretest-libreadline
232    AC_ARG_ENABLE(pcretest-libreadline,
233                  AS_HELP_STRING([--enable-pcretest-libreadline],
234                                 [link pcretest with libreadline]),
235                  , enable_pcretest_libreadline=no)
236    
237  # Handle --with-posix-malloc-threshold=NBYTES  # Handle --with-posix-malloc-threshold=NBYTES
238  AC_ARG_WITH(posix-malloc-threshold,  AC_ARG_WITH(posix-malloc-threshold,
239              AS_HELP_STRING([--with-posix-malloc-threshold=NBYTES],              AS_HELP_STRING([--with-posix-malloc-threshold=NBYTES],
# Line 185  AC_ARG_WITH(match-limit-recursion, Line 265  AC_ARG_WITH(match-limit-recursion,
265                             [default limit on internal recursion (default=MATCH_LIMIT)]),                             [default limit on internal recursion (default=MATCH_LIMIT)]),
266              , with_match_limit_recursion=MATCH_LIMIT)              , with_match_limit_recursion=MATCH_LIMIT)
267    
268  # Make sure that if enable_unicode_properties was set, that UTF-8 support  # Copy enable_utf8 value to enable_utf for compatibility reasons
269  # is enabled.  if test "x$enable_utf8" != "xunset"
270  #  then
271      if test "x$enable_utf" != "xunset"
272      then
273        AC_MSG_ERROR([--enable/disable-utf8 is kept only for compatibility reasons and its value is copied to --enable/disable-utf. Newer code must use --enable/disable-utf alone.])
274      fi
275      enable_utf=$enable_utf8
276    fi
277    
278    # Set the default value for pcre8
279    if test "x$enable_pcre8" = "xunset"
280    then
281      enable_pcre8=yes
282    fi
283    
284    # Set the default value for pcre16
285    if test "x$enable_pcre16" = "xunset"
286    then
287      enable_pcre16=no
288    fi
289    
290    # Make sure enable_pcre8 or enable_pcre16 was set
291    if test "x$enable_pcre8$enable_pcre16" = "xnono"
292    then
293      AC_MSG_ERROR([Either 8 or 16 bit (or both) pcre library must be enabled])
294    fi
295    
296    # Make sure that if enable_unicode_properties was set, that UTF support is enabled.
297  if test "x$enable_unicode_properties" = "xyes"  if test "x$enable_unicode_properties" = "xyes"
298  then  then
299    if test "x$enable_utf8" = "xno"    if test "x$enable_utf" = "xno"
300    then    then
301      AC_MSG_ERROR([support for Unicode properties requires UTF-8 support])      AC_MSG_ERROR([support for Unicode properties requires UTF-8/16 support])
302    fi    fi
303    enable_utf8=yes    enable_utf=yes
304  fi  fi
305    
306  if test "x$enable_utf8" = "xunset"  # enable_utf is disabled by default.
307    if test "x$enable_utf" = "xunset"
308  then  then
309    enable_utf8=no    enable_utf=no
310    fi
311    
312    # enable_cpp copies the value of enable_pcre8 by default
313    if test "x$enable_cpp" = "xunset"
314    then
315      enable_cpp=$enable_pcre8
316    fi
317    
318    # Make sure that if enable_cpp was set, that enable_pcre8 support is enabled
319    if test "x$enable_cpp" = "xyes"
320    then
321      if test "x$enable_pcre8" = "xno"
322      then
323        AC_MSG_ERROR([C++ library requires pcre library with 8 bit characters])
324      fi
325  fi  fi
326    
327  # Make sure that if enable_ebcdic is set, rebuild_chartables is also enabled.  # Make sure that if enable_ebcdic is set, rebuild_chartables is also enabled.
328    # Also check that UTF support is not requested, because PCRE cannot handle
329    # EBCDIC and UTF in the same build. To do so it would need to use different
330    # character constants depending on the mode.
331  #  #
332  if test "x$enable_ebcdic" = "xyes"  if test "x$enable_ebcdic" = "xyes"
333  then  then
334    enable_rebuild_chartables=yes    enable_rebuild_chartables=yes
335      if test "x$enable_utf" = "xyes"
336      then
337        AC_MSG_ERROR([support for EBCDIC and UTF-8/16 cannot be enabled at the same time])
338      fi
339  fi  fi
340    
341  # Convert the newline identifier into the appropriate integer value.  # Convert the newline identifier into the appropriate integer value.
# Line 259  if test "x$enable_cpp" = "xyes" -a -n "$ Line 388  if test "x$enable_cpp" = "xyes" -a -n "$
388  then  then
389  AC_LANG_PUSH(C++)  AC_LANG_PUSH(C++)
390    
391    # Older versions of pcre defined pcrecpp::no_arg, but in new versions
392    # it's called pcrecpp::RE::no_arg.  For backwards ABI compatibility,
393    # we want to make one an alias for the other.  Different systems do
394    # this in different ways.  Some systems, for instance, can do it via
395    # a linker flag: -alias (for os x 10.5) or -i (for os x <=10.4).
396    OLD_LDFLAGS="$LDFLAGS"
397    for flag in "-alias,__ZN7pcrecpp2RE6no_argE,__ZN7pcrecpp6no_argE" \
398                "-i__ZN7pcrecpp6no_argE:__ZN7pcrecpp2RE6no_argE"; do
399      AC_MSG_CHECKING([for alias support in the linker])
400      LDFLAGS="$OLD_LDFLAGS -Wl,$flag"
401      # We try to run the linker with this new ld flag.  If the link fails,
402      # we give up and remove the new flag from LDFLAGS.
403      AC_LINK_IFELSE([AC_LANG_PROGRAM([namespace pcrecpp {
404                                        class RE { static int no_arg; };
405                                        int RE::no_arg;
406                                      }],
407                                     [])],
408                     [AC_MSG_RESULT([yes]);
409                      EXTRA_LIBPCRECPP_LDFLAGS="$EXTRA_LIBPCRECPP_LDFLAGS -Wl,$flag";
410                      break;],
411                     AC_MSG_RESULT([no]))
412    done
413    LDFLAGS="$OLD_LDFLAGS"
414    
415  # 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
416  # (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
417  # 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 268  AC_CHECK_HEADERS(bits/type_traits.h, [pc Line 421  AC_CHECK_HEADERS(bits/type_traits.h, [pc
421                                       [pcre_have_bits_type_traits="0"])                                       [pcre_have_bits_type_traits="0"])
422  AC_CHECK_HEADERS(type_traits.h, [pcre_have_type_traits="1"],  AC_CHECK_HEADERS(type_traits.h, [pcre_have_type_traits="1"],
423                                  [pcre_have_type_traits="0"])                                  [pcre_have_type_traits="0"])
424    
425    # (This isn't c++-specific, but is only used in pcrecpp.cc, so try this
426    # in a c++ context.  This matters becuase strtoimax is C99 and may not
427    # be supported by the C++ compiler.)
428    # Figure out how to create a longlong from a string: strtoll and
429    # equiv.  It's not enough to call AC_CHECK_FUNCS: hpux has a
430    # strtoll, for instance, but it only takes 2 args instead of 3!
431    # We have to call AH_TEMPLATE since AC_DEFINE_UNQUOTED below is complex.
432    AH_TEMPLATE(HAVE_STRTOQ, [Define to 1 if you have `strtoq'.])
433    AH_TEMPLATE(HAVE_STRTOLL, [Define to 1 if you have `strtoll'.])
434    AH_TEMPLATE(HAVE__STRTOI64, [Define to 1 if you have `_strtoi64'.])
435    AH_TEMPLATE(HAVE_STRTOIMAX, [Define to 1 if you have `strtoimax'.])
436    have_strto_fn=0
437    for fn in strtoq strtoll _strtoi64 strtoimax; do
438      AC_MSG_CHECKING([for $fn])
439      if test "$fn" = strtoimax; then
440        include=stdint.h
441      else
442        include=stdlib.h
443      fi
444      AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include <$include>],
445                                        [char* e; return $fn("100", &e, 10)])],
446                        [AC_MSG_RESULT(yes)
447                         AC_DEFINE_UNQUOTED(HAVE_`echo $fn | tr abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ`, 1,
448                                            [Define to 1 if you have `$fn'.])
449                         have_strto_fn=1
450                         break],
451                        [AC_MSG_RESULT(no)])
452    done
453    
454    if test "$have_strto_fn" = 1; then
455      AC_CHECK_TYPES([long long],
456                     [pcre_have_long_long="1"],
457                     [pcre_have_long_long="0"])
458      AC_CHECK_TYPES([unsigned long long],
459                     [pcre_have_ulong_long="1"],
460                     [pcre_have_ulong_long="0"])
461    else
462      pcre_have_long_long="0"
463      pcre_have_ulong_long="0"
464    fi
465    AC_SUBST(pcre_have_long_long)
466    AC_SUBST(pcre_have_ulong_long)
467    
468  AC_LANG_POP  AC_LANG_POP
469  fi  fi
470  # 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 275  AC_SUBST(pcre_have_type_traits) Line 472  AC_SUBST(pcre_have_type_traits)
472  AC_SUBST(pcre_have_bits_type_traits)  AC_SUBST(pcre_have_bits_type_traits)
473    
474  # Conditional compilation  # Conditional compilation
475    AM_CONDITIONAL(WITH_PCRE8, test "x$enable_pcre8" = "xyes")
476    AM_CONDITIONAL(WITH_PCRE16, test "x$enable_pcre16" = "xyes")
477  AM_CONDITIONAL(WITH_PCRE_CPP, test "x$enable_cpp" = "xyes")  AM_CONDITIONAL(WITH_PCRE_CPP, test "x$enable_cpp" = "xyes")
478  AM_CONDITIONAL(WITH_REBUILD_CHARTABLES, test "x$enable_rebuild_chartables" = "xyes")  AM_CONDITIONAL(WITH_REBUILD_CHARTABLES, test "x$enable_rebuild_chartables" = "xyes")
479    AM_CONDITIONAL(WITH_JIT, test "x$enable_jit" = "xyes")
480    AM_CONDITIONAL(WITH_UTF, test "x$enable_utf" = "xyes")
481    
482  # Checks for typedefs, structures, and compiler characteristics.  # Checks for typedefs, structures, and compiler characteristics.
483    
484  AC_C_CONST  AC_C_CONST
485  AC_TYPE_SIZE_T  AC_TYPE_SIZE_T
486    
 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)  
   
487  # Checks for library functions.  # Checks for library functions.
488    
489  AC_CHECK_FUNCS(bcopy memmove strerror strtoq strtoll _strtoi64)  AC_CHECK_FUNCS(bcopy memmove strerror)
490    
491    # Check for the availability of libz (aka zlib)
492    
493    AC_CHECK_HEADERS([zlib.h], [HAVE_ZLIB_H=1])
494    AC_CHECK_LIB([z], [gzopen], [HAVE_LIBZ=1])
495    
496    # Check for the availability of libbz2. Originally we just used AC_CHECK_LIB,
497    # as for libz. However, this had the following problem, diagnosed and fixed by
498    # a user:
499    #
500    #   - libbz2 uses the Pascal calling convention (WINAPI) for the functions
501    #     under Win32.
502    #   - The standard autoconf AC_CHECK_LIB fails to include "bzlib.h",
503    #     therefore missing the function definition.
504    #   - The compiler thus generates a "C" signature for the test function.
505    #   - The linker fails to find the "C" function.
506    #   - PCRE fails to configure if asked to do so against libbz2.
507    #
508    # Solution:
509    #
510    #   - Replace the AC_CHECK_LIB test with a custom test.
511    
512    AC_CHECK_HEADERS([bzlib.h], [HAVE_BZLIB_H=1])
513    # Original test
514    # AC_CHECK_LIB([bz2], [BZ2_bzopen], [HAVE_LIBBZ2=1])
515    #
516    # Custom test follows
517    
518    AC_MSG_CHECKING([for libbz2])
519    OLD_LIBS="$LIBS"
520    LIBS="$LIBS -lbz2"
521    AC_LINK_IFELSE([AC_LANG_PROGRAM([[
522    #ifdef HAVE_BZLIB_H
523    #include <bzlib.h>
524    #endif]],
525    [[return (int)BZ2_bzopen("conftest", "rb");]])],
526    [AC_MSG_RESULT([yes]);HAVE_LIBBZ2=1; break;],
527    AC_MSG_RESULT([no]))
528    LIBS="$OLD_LIBS"
529    
530    # Check for the availabiity of libreadline
531    
532    AC_CHECK_HEADERS([readline/readline.h], [HAVE_READLINE_H=1])
533    AC_CHECK_HEADERS([readline/history.h], [HAVE_HISTORY_H=1])
534    AC_CHECK_LIB([readline], [readline], [HAVE_LIB_READLINE=1])
535    
536  # This facilitates -ansi builds under Linux  # This facilitates -ansi builds under Linux
537  dnl AC_DEFINE([_GNU_SOURCE], [], [Enable GNU extensions in glibc])  dnl AC_DEFINE([_GNU_SOURCE], [], [Enable GNU extensions in glibc])
538    
539    PCRE_STATIC_CFLAG=""
540  if test "x$enable_shared" = "xno" ; then  if test "x$enable_shared" = "xno" ; then
541    AC_DEFINE([PCRE_STATIC], [1], [    AC_DEFINE([PCRE_STATIC], [1], [
542      Define if linking statically (TODO: make nice with Libtool)])      Define if linking statically (TODO: make nice with Libtool)])
543      PCRE_STATIC_CFLAG="-DPCRE_STATIC"
544  fi  fi
545    AC_SUBST(PCRE_STATIC_CFLAG)
546    
547  # Here is where pcre specific defines are handled  # Here is where pcre specific defines are handled
548    
549  if test "$enable_utf8" = "yes"; then  if test "$enable_pcre8" = "yes"; then
550    AC_DEFINE([SUPPORT_UTF8], [], [    AC_DEFINE([SUPPORT_PCRE8], [], [
551      Define to enable support for the UTF-8 Unicode encoding.])      Define to enable the 8 bit PCRE library.])
552    fi
553    
554    if test "$enable_pcre16" = "yes"; then
555      AC_DEFINE([SUPPORT_PCRE16], [], [
556        Define to enable the 16 bit PCRE library.])
557    fi
558    
559    if test "$enable_jit" = "yes"; then
560      AC_DEFINE([SUPPORT_JIT], [], [
561        Define to enable support for Just-In-Time compiling.])
562    else
563      enable_pcregrep_jit="no"
564    fi
565    
566    if test "$enable_pcregrep_jit" = "yes"; then
567      AC_DEFINE([SUPPORT_PCREGREP_JIT], [], [
568        Define to enable JIT support in pcregrep.])
569    fi
570    
571    if test "$enable_utf" = "yes"; then
572      AC_DEFINE([SUPPORT_UTF], [], [
573        Define to enable support for the UTF-8/16 Unicode encoding. This
574        will work even in an EBCDIC environment, but it is incompatible
575        with the EBCDIC macro. That is, PCRE can support *either* EBCDIC
576        code *or* ASCII/UTF-8/16, but not both at once.])
577  fi  fi
578    
579  if test "$enable_unicode_properties" = "yes"; then  if test "$enable_unicode_properties" = "yes"; then
580    AC_DEFINE([SUPPORT_UCP], [], [    AC_DEFINE([SUPPORT_UCP], [], [
581      Define to enable support for Unicode properties])      Define to enable support for Unicode properties.])
582  fi  fi
583    
584  if test "$enable_stack_for_recursion" = "no"; then  if test "$enable_stack_for_recursion" = "no"; then
# Line 329  if test "$enable_stack_for_recursion" = Line 594  if test "$enable_stack_for_recursion" =
594      (use --disable-stack-for-recursion).])      (use --disable-stack-for-recursion).])
595  fi  fi
596    
597    if test "$enable_pcregrep_libz" = "yes"; then
598      AC_DEFINE([SUPPORT_LIBZ], [], [
599        Define to allow pcregrep to be linked with libz, so that it is
600        able to handle .gz files.])
601    fi
602    
603    if test "$enable_pcregrep_libbz2" = "yes"; then
604      AC_DEFINE([SUPPORT_LIBBZ2], [], [
605        Define to allow pcregrep to be linked with libbz2, so that it is
606        able to handle .bz2 files.])
607    fi
608    
609    if test $with_pcregrep_bufsize -lt 8192 ; then
610      with_pcregrep_bufsize="8192"
611    fi
612    
613    AC_DEFINE_UNQUOTED([PCREGREP_BUFSIZE], [$with_pcregrep_bufsize], [
614      The value of PCREGREP_BUFSIZE determines the size of buffer used by
615      pcregrep to hold parts of the file it is searching. On systems that
616      support it, "configure" can be used to override the default, which is
617      8192. This is also the minimum value. The actual amount of memory used by
618      pcregrep is three times this number, because it allows for the buffering of
619      "before" and "after" lines.])
620    
621    if test "$enable_pcretest_libreadline" = "yes"; then
622      AC_DEFINE([SUPPORT_LIBREADLINE], [], [
623        Define to allow pcretest to be linked with libreadline.])
624    fi
625    
626  AC_DEFINE_UNQUOTED([NEWLINE], [$ac_pcre_newline_value], [  AC_DEFINE_UNQUOTED([NEWLINE], [$ac_pcre_newline_value], [
627    The value of NEWLINE determines the newline character sequence. On    The value of NEWLINE determines the newline character sequence. On
628    systems that support it, "configure" can be used to override the    systems that support it, "configure" can be used to override the
# Line 412  if test "$enable_ebcdic" = "yes"; then Line 706  if test "$enable_ebcdic" = "yes"; then
706    AC_DEFINE_UNQUOTED([EBCDIC], [], [    AC_DEFINE_UNQUOTED([EBCDIC], [], [
707      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
708      character codes, define this macro as 1. On systems that can use      character codes, define this macro as 1. On systems that can use
709      "configure", this can be done via --enable-ebcdic.])      "configure", this can be done via --enable-ebcdic. PCRE will then
710        assume that all input strings are in EBCDIC. If you do not define
711        this macro, PCRE will assume input strings are ASCII or UTF-8/16
712        Unicode. It is not possible to build a version of PCRE that
713        supports both EBCDIC and UTF-8/16.])
714  fi  fi
715    
716  # Platform specific issues  # Platform specific issues
# Line 430  esac Line 728  esac
728  # The extra LDFLAGS for each particular library  # The extra LDFLAGS for each particular library
729  # (Note: The libpcre*_version bits are m4 variables, assigned above)  # (Note: The libpcre*_version bits are m4 variables, assigned above)
730    
731  EXTRA_LIBPCRE_LDFLAGS="$NO_UNDEFINED -version-info libpcre_version"  EXTRA_LIBPCRE_LDFLAGS="$EXTRA_LIBPCRE_LDFLAGS \
732                           $NO_UNDEFINED -version-info libpcre_version"
733    
734  EXTRA_LIBPCREPOSIX_LDFLAGS="$NO_UNDEFINED -version-info libpcreposix_version"  EXTRA_LIBPCREPOSIX_LDFLAGS="$EXTRA_LIBPCREPOSIX_LDFLAGS \
735                                $NO_UNDEFINED -version-info libpcreposix_version"
736    
737  EXTRA_LIBPCRECPP_LDFLAGS="$NO_UNDEFINED $EXPORT_ALL_SYMBOLS -version-info libpcrecpp_version"  EXTRA_LIBPCRECPP_LDFLAGS="$EXTRA_LIBPCRECPP_LDFLAGS \
738                              $NO_UNDEFINED -version-info libpcrecpp_version \
739                              $EXPORT_ALL_SYMBOLS"
740    
741  AC_SUBST(EXTRA_LIBPCRE_LDFLAGS)  AC_SUBST(EXTRA_LIBPCRE_LDFLAGS)
742  AC_SUBST(EXTRA_LIBPCREPOSIX_LDFLAGS)  AC_SUBST(EXTRA_LIBPCREPOSIX_LDFLAGS)
743  AC_SUBST(EXTRA_LIBPCRECPP_LDFLAGS)  AC_SUBST(EXTRA_LIBPCRECPP_LDFLAGS)
744    
745  # When we run 'make distcheck', use these arguments.  # When we run 'make distcheck', use these arguments.
746  DISTCHECK_CONFIGURE_FLAGS="--enable-cpp --enable-unicode-properties"  DISTCHECK_CONFIGURE_FLAGS="--enable-pcre16 --enable-jit --enable-cpp --enable-unicode-properties"
747  AC_SUBST(DISTCHECK_CONFIGURE_FLAGS)  AC_SUBST(DISTCHECK_CONFIGURE_FLAGS)
748    
749    # Check that, if --enable-pcregrep-libz or --enable-pcregrep-libbz2 is
750    # specified, the relevant library is available.
751    
752    if test "$enable_pcregrep_libz" = "yes"; then
753      if test "$HAVE_ZLIB_H" != "1"; then
754        echo "** Cannot --enable-pcregrep-libz because zlib.h was not found"
755        exit 1
756      fi
757      if test "$HAVE_LIBZ" != "1"; then
758        echo "** Cannot --enable-pcregrep-libz because libz was not found"
759        exit 1
760      fi
761      LIBZ="-lz"
762    fi
763    AC_SUBST(LIBZ)
764    
765    if test "$enable_pcregrep_libbz2" = "yes"; then
766      if test "$HAVE_BZLIB_H" != "1"; then
767        echo "** Cannot --enable-pcregrep-libbz2 because bzlib.h was not found"
768        exit 1
769      fi
770      if test "$HAVE_LIBBZ2" != "1"; then
771        echo "** Cannot --enable-pcregrep-libbz2 because libbz2 was not found"
772        exit 1
773      fi
774      LIBBZ2="-lbz2"
775    fi
776    AC_SUBST(LIBBZ2)
777    
778    # Similarly for --enable-pcretest-readline
779    
780    if test "$enable_pcretest_libreadline" = "yes"; then
781      if test "$HAVE_READLINE_H" != "1"; then
782        echo "** Cannot --enable-pcretest-readline because readline/readline.h was not found."
783        exit 1
784      fi
785      if test "$HAVE_HISTORY_H" != "1"; then
786        echo "** Cannot --enable-pcretest-readline because readline/history.h was not found."
787        exit 1
788      fi
789      LIBREADLINE="-lreadline"
790    fi
791    AC_SUBST(LIBREADLINE)
792    
793  # Produce these files, in addition to config.h.  # Produce these files, in addition to config.h.
794  AC_CONFIG_FILES(  AC_CONFIG_FILES(
795          Makefile          Makefile
796          libpcre.pc          libpcre.pc
797            libpcre16.pc
798            libpcreposix.pc
799          libpcrecpp.pc          libpcrecpp.pc
800          pcre-config          pcre-config
801          pcre.h          pcre.h
# Line 466  AC_OUTPUT Line 814  AC_OUTPUT
814    
815  # Print out a nice little message after configure is run displaying your  # Print out a nice little message after configure is run displaying your
816  # chosen options.  # chosen options.
817  #  
818  cat <<EOF  cat <<EOF
819    
820  $PACKAGE-$VERSION configuration summary:  $PACKAGE-$VERSION configuration summary:
821    
822      Install prefix ........... : ${prefix}      Install prefix .................. : ${prefix}
823      C preprocessor ........... : ${CPP}      C preprocessor .................. : ${CPP}
824      C compiler ............... : ${CC}      C compiler ...................... : ${CC}
825      C++ preprocessor ......... : ${CXXCPP}      C++ preprocessor ................ : ${CXXCPP}
826      C++ compiler ............. : ${CXX}      C++ compiler .................... : ${CXX}
827      Linker ................... : ${LD}      Linker .......................... : ${LD}
828      C preprocessor flags ..... : ${CPPFLAGS}      C preprocessor flags ............ : ${CPPFLAGS}
829      C compiler flags ......... : ${CFLAGS}      C compiler flags ................ : ${CFLAGS}
830      C++ compiler flags ....... : ${CXXFLAGS}      C++ compiler flags .............. : ${CXXFLAGS}
831      Linker flags ............. : ${LDFLAGS}      Linker flags .................... : ${LDFLAGS}
832      Extra libraries .......... : ${LIBS}      Extra libraries ................. : ${LIBS}
833    
834      Build C++ library ........ : ${enable_cpp}      Build 8 bit pcre library ........ : ${enable_pcre8}
835      Enable UTF-8 support ..... : ${enable_utf8}      Build 16 bit pcre library ....... : ${enable_pcre16}
836      Unicode properties ....... : ${enable_unicode_properties}      Build C++ library ............... : ${enable_cpp}
837      Newline char/sequence .... : ${enable_newline}      Enable JIT compiling support .... : ${enable_jit}
838      \R matches only ANYCRLF .. : ${enable_bsr_anycrlf}      Enable UTF-8/16 support ......... : ${enable_utf}
839      EBCDIC coding ............ : ${enable_ebcdic}      Unicode properties .............. : ${enable_unicode_properties}
840      Rebuild char tables ...... : ${enable_rebuild_chartables}      Newline char/sequence ........... : ${enable_newline}
841      Use stack recursion ...... : ${enable_stack_for_recursion}      \R matches only ANYCRLF ......... : ${enable_bsr_anycrlf}
842      POSIX mem threshold ...... : ${with_posix_malloc_threshold}      EBCDIC coding ................... : ${enable_ebcdic}
843      Internal link size ....... : ${with_link_size}      Rebuild char tables ............. : ${enable_rebuild_chartables}
844      Match limit .............. : ${with_match_limit}      Use stack recursion ............. : ${enable_stack_for_recursion}
845      Match limit recursion .... : ${with_match_limit_recursion}      POSIX mem threshold ............. : ${with_posix_malloc_threshold}
846      Build shared libs ........ : ${enable_shared}      Internal link size .............. : ${with_link_size}
847      Build static libs ........ : ${enable_static}      Match limit ..................... : ${with_match_limit}
848        Match limit recursion ........... : ${with_match_limit_recursion}
849        Build shared libs ............... : ${enable_shared}
850        Build static libs ............... : ${enable_static}
851        Use JIT in pcregrep ............. : ${enable_pcregrep_jit}
852        Buffer size for pcregrep ........ : ${with_pcregrep_bufsize}
853        Link pcregrep with libz ......... : ${enable_pcregrep_libz}
854        Link pcregrep with libbz2 ....... : ${enable_pcregrep_libbz2}
855        Link pcretest with libreadline .. : ${enable_pcretest_libreadline}
856    
857  EOF  EOF
858    

Legend:
Removed from v.260  
changed lines
  Added in v.843

webmaster@exim.org
ViewVC Help
Powered by ViewVC 1.1.12