| 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, [11]) |
| 13 |
m4_define(pcre_prerelease, [-RC1]) |
m4_define(pcre_prerelease, []) |
| 14 |
m4_define(pcre_date, [2010-01-02]) |
m4_define(pcre_date, [2010-12-10]) |
| 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]) |
| 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) |
| 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-rebuild-chartables |
# Handle --enable-rebuild-chartables |
| 116 |
AC_ARG_ENABLE(rebuild-chartables, |
AC_ARG_ENABLE(rebuild-chartables, |
| 342 |
AC_CHECK_HEADERS(type_traits.h, [pcre_have_type_traits="1"], |
AC_CHECK_HEADERS(type_traits.h, [pcre_have_type_traits="1"], |
| 343 |
[pcre_have_type_traits="0"]) |
[pcre_have_type_traits="0"]) |
| 344 |
|
|
| 345 |
|
# (This isn't c++-specific, but is only used in pcrecpp.cc, so try this |
| 346 |
|
# in a c++ context. This matters becuase strtoimax is C99 and may not |
| 347 |
|
# be supported by the C++ compiler.) |
| 348 |
|
# Figure out how to create a longlong from a string: strtoll and |
| 349 |
|
# equiv. It's not enough to call AC_CHECK_FUNCS: hpux has a |
| 350 |
|
# strtoll, for instance, but it only takes 2 args instead of 3! |
| 351 |
|
# We have to call AH_TEMPLATE since AC_DEFINE_UNQUOTED below is complex. |
| 352 |
|
AH_TEMPLATE(HAVE_STRTOQ, [Define to 1 if you have `strtoq'.]) |
| 353 |
|
AH_TEMPLATE(HAVE_STRTOLL, [Define to 1 if you have `strtoll'.]) |
| 354 |
|
AH_TEMPLATE(HAVE__STRTOI64, [Define to 1 if you have `_strtoi64'.]) |
| 355 |
|
AH_TEMPLATE(HAVE_STRTOIMAX, [Define to 1 if you have `strtoimax'.]) |
| 356 |
|
have_strto_fn=0 |
| 357 |
|
for fn in strtoq strtoll _strtoi64 strtoimax; do |
| 358 |
|
AC_MSG_CHECKING([for $fn]) |
| 359 |
|
if test "$fn" = strtoimax; then |
| 360 |
|
include=stdint.h |
| 361 |
|
else |
| 362 |
|
include=stdlib.h |
| 363 |
|
fi |
| 364 |
|
AC_COMPILE_IFELSE(AC_LANG_PROGRAM([#include <$include>], |
| 365 |
|
[char* e; return $fn("100", &e, 10)]), |
| 366 |
|
[AC_MSG_RESULT(yes) |
| 367 |
|
AC_DEFINE_UNQUOTED(HAVE_`echo $fn | tr abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ`, 1, |
| 368 |
|
[Define to 1 if you have `$fn'.]) |
| 369 |
|
have_strto_fn=1 |
| 370 |
|
break], |
| 371 |
|
[AC_MSG_RESULT(no)]) |
| 372 |
|
done |
| 373 |
|
|
| 374 |
|
if test "$have_strto_fn" = 1; then |
| 375 |
|
AC_CHECK_TYPES([long long], |
| 376 |
|
[pcre_have_long_long="1"], |
| 377 |
|
[pcre_have_long_long="0"]) |
| 378 |
|
AC_CHECK_TYPES([unsigned long long], |
| 379 |
|
[pcre_have_ulong_long="1"], |
| 380 |
|
[pcre_have_ulong_long="0"]) |
| 381 |
|
else |
| 382 |
|
pcre_have_long_long="0" |
| 383 |
|
pcre_have_ulong_long="0" |
| 384 |
|
fi |
| 385 |
|
AC_SUBST(pcre_have_long_long) |
| 386 |
|
AC_SUBST(pcre_have_ulong_long) |
| 387 |
|
|
| 388 |
AC_LANG_POP |
AC_LANG_POP |
| 389 |
fi |
fi |
| 390 |
# 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 |
| 400 |
AC_C_CONST |
AC_C_CONST |
| 401 |
AC_TYPE_SIZE_T |
AC_TYPE_SIZE_T |
| 402 |
|
|
|
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) |
|
|
|
|
| 403 |
# Checks for library functions. |
# Checks for library functions. |
| 404 |
|
|
| 405 |
AC_CHECK_FUNCS(bcopy memmove strerror) |
AC_CHECK_FUNCS(bcopy memmove strerror) |