/[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 478 by ph10, Sun Jan 3 16:05:13 2010 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    dnl be defined as -RC2, for example. For real releases, it should be empty.
10    
11  m4_define(pcre_major, [8])  m4_define(pcre_major, [8])
12  m4_define(pcre_minor, [01])  m4_define(pcre_minor, [20])
13  m4_define(pcre_prerelease, [])  m4_define(pcre_prerelease, [-RC1])
14  m4_define(pcre_date, [2010-01-02])  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 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 63  fi Line 68  fi
68  # AC_PROG_CXX will return "g++" even if no c++ compiler is installed.  # 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.  # Check for that case, and just disable c++ code if g++ doesn't run.
70  AC_LANG_PUSH(C++)  AC_LANG_PUSH(C++)
71  AC_COMPILE_IFELSE(AC_LANG_PROGRAM([],[]),, CXX=""; CXXCP=""; CXXFLAGS="")  AC_COMPILE_IFELSE([AC_LANG_PROGRAM([],[])],, CXX=""; CXXCP=""; CXXFLAGS="")
72  AC_LANG_POP  AC_LANG_POP
73    
74  # Check for a 64-bit integer type  # Check for a 64-bit integer type
# Line 71  AC_TYPE_INT64_T Line 76  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 79  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 90  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  # Handle --enable-rebuild-chartables
122  AC_ARG_ENABLE(rebuild-chartables,  AC_ARG_ENABLE(rebuild-chartables,
# Line 174  AC_ARG_ENABLE(pcregrep-libbz2, Line 196  AC_ARG_ENABLE(pcregrep-libbz2,
196                               [link pcregrep with libbz2 to handle .bz2 files]),                               [link pcregrep with libbz2 to handle .bz2 files]),
197                , enable_pcregrep_libbz2=no)                , 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  # Handle --enable-pcretest-libreadline
206  AC_ARG_ENABLE(pcretest-libreadline,  AC_ARG_ENABLE(pcretest-libreadline,
207                AS_HELP_STRING([--enable-pcretest-libreadline],                AS_HELP_STRING([--enable-pcretest-libreadline],
# Line 304  for flag in "-alias,__ZN7pcrecpp2RE6no_a Line 332  for flag in "-alias,__ZN7pcrecpp2RE6no_a
332    LDFLAGS="$OLD_LDFLAGS -Wl,$flag"    LDFLAGS="$OLD_LDFLAGS -Wl,$flag"
333    # We try to run the linker with this new ld flag.  If the link fails,    # 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.    # we give up and remove the new flag from LDFLAGS.
335    AC_LINK_IFELSE(AC_LANG_PROGRAM([namespace pcrecpp {    AC_LINK_IFELSE([AC_LANG_PROGRAM([namespace pcrecpp {
336                                      class RE { static int no_arg; };                                      class RE { static int no_arg; };
337                                      int RE::no_arg;                                      int RE::no_arg;
338                                    }],                                    }],
339                                   []),                                   [])],
340                   [AC_MSG_RESULT([yes]);                   [AC_MSG_RESULT([yes]);
341                    EXTRA_LIBPCRECPP_LDFLAGS="$EXTRA_LIBPCRECPP_LDFLAGS -Wl,$flag";                    EXTRA_LIBPCRECPP_LDFLAGS="$EXTRA_LIBPCRECPP_LDFLAGS -Wl,$flag";
342                    break;],                    break;],
# Line 326  AC_CHECK_HEADERS(bits/type_traits.h, [pc Line 354  AC_CHECK_HEADERS(bits/type_traits.h, [pc
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 335  AC_SUBST(pcre_have_bits_type_traits) Line 406  AC_SUBST(pcre_have_bits_type_traits)
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")  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    
 pcre_have_strotolonglong=0  
 AC_CHECK_FUNCS(strtoq strtoll _strtoi64, [pcre_have_strotolonglong="1"; break])  
 # If we can't convert a string to a long long, pretend we don't even  
 # have a long long.  
 if test $pcre_have_strotolonglong = "0"; then  
    pcre_have_long_long="0"  
    pcre_have_ulong_long="0"  
 else  
   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"])  
 fi  
 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)  AC_CHECK_FUNCS(bcopy memmove strerror)
# Line 393  AC_CHECK_HEADERS([bzlib.h], [HAVE_BZLIB_ Line 447  AC_CHECK_HEADERS([bzlib.h], [HAVE_BZLIB_
447  AC_MSG_CHECKING([for libbz2])  AC_MSG_CHECKING([for libbz2])
448  OLD_LIBS="$LIBS"  OLD_LIBS="$LIBS"
449  LIBS="$LIBS -lbz2"  LIBS="$LIBS -lbz2"
450  AC_LINK_IFELSE( AC_LANG_PROGRAM([[  AC_LINK_IFELSE([AC_LANG_PROGRAM([[
451  #ifdef HAVE_BZLIB_H  #ifdef HAVE_BZLIB_H
452  #include <bzlib.h>  #include <bzlib.h>
453  #endif]],  #endif]],
454  [[return (int)BZ2_bzopen("conftest", "rb");]]),  [[return (int)BZ2_bzopen("conftest", "rb");]])],
455  [AC_MSG_RESULT([yes]);HAVE_LIBBZ2=1; break;],  [AC_MSG_RESULT([yes]);HAVE_LIBBZ2=1; break;],
456  AC_MSG_RESULT([no]))  AC_MSG_RESULT([no]))
457  LIBS="$OLD_LIBS"  LIBS="$OLD_LIBS"
# Line 421  AC_SUBST(PCRE_STATIC_CFLAG) Line 475  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. This will      Define to enable support for the UTF-8 Unicode encoding. This will
# Line 431  fi Line 490  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 459  if test "$enable_pcregrep_libbz2" = "yes Line 518  if test "$enable_pcregrep_libbz2" = "yes
518      able to handle .bz2 files.])      able to handle .bz2 files.])
519  fi  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  if test "$enable_pcretest_libreadline" = "yes"; then
534    AC_DEFINE([SUPPORT_LIBREADLINE], [], [    AC_DEFINE([SUPPORT_LIBREADLINE], [], [
535      Define to allow pcretest to be linked with libreadline.])      Define to allow pcretest to be linked with libreadline.])
# Line 584  AC_SUBST(EXTRA_LIBPCREPOSIX_LDFLAGS) Line 655  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  # Check that, if --enable-pcregrep-libz or --enable-pcregrep-libbz2 is
# Line 672  $PACKAGE-$VERSION configuration summary: Line 743  $PACKAGE-$VERSION configuration summary:
743      Extra libraries ................. : ${LIBS}      Extra libraries ................. : ${LIBS}
744    
745      Build C++ library ............... : ${enable_cpp}      Build C++ library ............... : ${enable_cpp}
746        Enable JIT compiling support .... : ${enable_jit}
747      Enable UTF-8 support ............ : ${enable_utf8}      Enable UTF-8 support ............ : ${enable_utf8}
748      Unicode properties .............. : ${enable_unicode_properties}      Unicode properties .............. : ${enable_unicode_properties}
749      Newline char/sequence ........... : ${enable_newline}      Newline char/sequence ........... : ${enable_newline}
# Line 685  $PACKAGE-$VERSION configuration summary: Line 757  $PACKAGE-$VERSION configuration summary:
757      Match limit recursion ........... : ${with_match_limit_recursion}      Match limit recursion ........... : ${with_match_limit_recursion}
758      Build shared libs ............... : ${enable_shared}      Build shared libs ............... : ${enable_shared}
759      Build static libs ............... : ${enable_static}      Build static libs ............... : ${enable_static}
760        Buffer size for pcregrep ........ : ${with_pcregrep_bufsize}
761      Link pcregrep with libz ......... : ${enable_pcregrep_libz}      Link pcregrep with libz ......... : ${enable_pcregrep_libz}
762      Link pcregrep with libbz2 ....... : ${enable_pcregrep_libbz2}      Link pcregrep with libbz2 ....... : ${enable_pcregrep_libbz2}
763      Link pcretest with libreadline .. : ${enable_pcretest_libreadline}      Link pcretest with libreadline .. : ${enable_pcretest_libreadline}

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

  ViewVC Help
Powered by ViewVC 1.1.5