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

Legend:
Removed from v.230  
changed lines
  Added in v.836

  ViewVC Help
Powered by ViewVC 1.1.5