| 6 |
dnl be defined as -RC2, for example. For real releases, it should be defined |
dnl be defined as -RC2, for example. For real releases, it should be defined |
| 7 |
dnl empty. |
dnl empty. |
| 8 |
|
|
| 9 |
m4_define(pcre_major, [7]) |
m4_define(pcre_major, [8]) |
| 10 |
m4_define(pcre_minor, [6]) |
m4_define(pcre_minor, [00]) |
| 11 |
m4_define(pcre_prerelease, [-RC1]) |
m4_define(pcre_prerelease, [-RC1]) |
| 12 |
m4_define(pcre_date, [2008-01-19]) |
m4_define(pcre_date, [2009-10-05]) |
| 13 |
|
|
| 14 |
# Libtool shared library interface versions (current:revision:age) |
# Libtool shared library interface versions (current:revision:age) |
| 15 |
m4_define(libpcre_version, [0:1:0]) |
m4_define(libpcre_version, [0:1:0]) |
| 60 |
fi |
fi |
| 61 |
fi |
fi |
| 62 |
|
|
| 63 |
|
# AC_PROG_CXX will return "g++" even if no c++ compiler is installed. |
| 64 |
|
# Check for that case, and just disable c++ code if g++ doesn't run. |
| 65 |
|
AC_LANG_PUSH(C++) |
| 66 |
|
AC_COMPILE_IFELSE(AC_LANG_PROGRAM([],[]),, CXX=""; CXXCP=""; CXXFLAGS="") |
| 67 |
|
AC_LANG_POP |
| 68 |
|
|
| 69 |
AC_PROG_INSTALL |
AC_PROG_INSTALL |
| 70 |
AC_LIBTOOL_WIN32_DLL |
AC_LIBTOOL_WIN32_DLL |
| 102 |
# Handle --enable-utf8 (disabled by default) |
# Handle --enable-utf8 (disabled by default) |
| 103 |
AC_ARG_ENABLE(utf8, |
AC_ARG_ENABLE(utf8, |
| 104 |
AS_HELP_STRING([--enable-utf8], |
AS_HELP_STRING([--enable-utf8], |
| 105 |
[enable UTF-8 support]), |
[enable UTF-8 support (incompatible with --enable-ebcdic)]), |
| 106 |
, enable_utf8=unset) |
, enable_utf8=unset) |
| 107 |
|
|
| 108 |
# Handle --enable-unicode-properties |
# Handle --enable-unicode-properties |
| 150 |
# Handle --enable-ebcdic |
# Handle --enable-ebcdic |
| 151 |
AC_ARG_ENABLE(ebcdic, |
AC_ARG_ENABLE(ebcdic, |
| 152 |
AS_HELP_STRING([--enable-ebcdic], |
AS_HELP_STRING([--enable-ebcdic], |
| 153 |
[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-utf8; use only in (uncommon) EBCDIC environments; it implies --enable-rebuild-chartables]), |
| 154 |
, enable_ebcdic=no) |
, enable_ebcdic=no) |
| 155 |
|
|
| 156 |
# Handle --disable-stack-for-recursion |
# Handle --disable-stack-for-recursion |
| 226 |
fi |
fi |
| 227 |
|
|
| 228 |
# 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. |
| 229 |
|
# Also check that UTF-8 support is not requested, because PCRE cannot handle |
| 230 |
|
# EBCDIC and UTF-8 in the same build. To do so it would need to use different |
| 231 |
|
# character constants depending on the mode. |
| 232 |
# |
# |
| 233 |
if test "x$enable_ebcdic" = "xyes" |
if test "x$enable_ebcdic" = "xyes" |
| 234 |
then |
then |
| 235 |
enable_rebuild_chartables=yes |
enable_rebuild_chartables=yes |
| 236 |
|
if test "x$enable_utf8" = "xyes" |
| 237 |
|
then |
| 238 |
|
AC_MSG_ERROR([support for EBCDIC and UTF-8 cannot be enabled at the same time]) |
| 239 |
|
fi |
| 240 |
fi |
fi |
| 241 |
|
|
| 242 |
# Convert the newline identifier into the appropriate integer value. |
# Convert the newline identifier into the appropriate integer value. |
| 289 |
then |
then |
| 290 |
AC_LANG_PUSH(C++) |
AC_LANG_PUSH(C++) |
| 291 |
|
|
| 292 |
|
# Older versions of pcre defined pcrecpp::no_arg, but in new versions |
| 293 |
|
# it's called pcrecpp::RE::no_arg. For backwards ABI compatibility, |
| 294 |
|
# we want to make one an alias for the other. Different systems do |
| 295 |
|
# this in different ways. Some systems, for instance, can do it via |
| 296 |
|
# a linker flag: -alias (for os x 10.5) or -i (for os x <=10.4). |
| 297 |
|
OLD_LDFLAGS="$LDFLAGS" |
| 298 |
|
for flag in "-alias,__ZN7pcrecpp2RE6no_argE,__ZN7pcrecpp6no_argE" \ |
| 299 |
|
"-i__ZN7pcrecpp6no_argE:__ZN7pcrecpp2RE6no_argE"; do |
| 300 |
|
AC_MSG_CHECKING([for alias support in the linker]) |
| 301 |
|
LDFLAGS="$OLD_LDFLAGS -Wl,$flag" |
| 302 |
|
# We try to run the linker with this new ld flag. If the link fails, |
| 303 |
|
# we give up and remove the new flag from LDFLAGS. |
| 304 |
|
AC_LINK_IFELSE(AC_LANG_PROGRAM([namespace pcrecpp { |
| 305 |
|
class RE { static int no_arg; }; |
| 306 |
|
int RE::no_arg; |
| 307 |
|
}], |
| 308 |
|
[]), |
| 309 |
|
[AC_MSG_RESULT([yes]); |
| 310 |
|
EXTRA_LIBPCRECPP_LDFLAGS="$EXTRA_LIBPCRECPP_LDFLAGS -Wl,$flag"; |
| 311 |
|
break;], |
| 312 |
|
AC_MSG_RESULT([no])) |
| 313 |
|
done |
| 314 |
|
LDFLAGS="$OLD_LDFLAGS" |
| 315 |
|
|
| 316 |
# 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 |
| 317 |
# (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 |
| 318 |
# 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. |
| 322 |
[pcre_have_bits_type_traits="0"]) |
[pcre_have_bits_type_traits="0"]) |
| 323 |
AC_CHECK_HEADERS(type_traits.h, [pcre_have_type_traits="1"], |
AC_CHECK_HEADERS(type_traits.h, [pcre_have_type_traits="1"], |
| 324 |
[pcre_have_type_traits="0"]) |
[pcre_have_type_traits="0"]) |
| 325 |
|
|
| 326 |
AC_LANG_POP |
AC_LANG_POP |
| 327 |
fi |
fi |
| 328 |
# 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 |
| 338 |
AC_C_CONST |
AC_C_CONST |
| 339 |
AC_TYPE_SIZE_T |
AC_TYPE_SIZE_T |
| 340 |
|
|
| 341 |
AC_CHECK_TYPES([long long], |
pcre_have_strotolonglong=0 |
| 342 |
[pcre_have_long_long="1"], |
AC_CHECK_FUNCS(strtoq strtoll _strtoi64, [pcre_have_strotolonglong="1"; break]) |
| 343 |
[pcre_have_long_long="0"]) |
# If we can't convert a string to a long long, pretend we don't even |
| 344 |
AC_CHECK_TYPES([unsigned long long], |
# have a long long. |
| 345 |
[pcre_have_ulong_long="1"], |
if test $pcre_have_strotolonglong = "0"; then |
| 346 |
[pcre_have_ulong_long="0"]) |
pcre_have_long_long="0" |
| 347 |
|
pcre_have_ulong_long="0" |
| 348 |
|
else |
| 349 |
|
AC_CHECK_TYPES([long long], |
| 350 |
|
[pcre_have_long_long="1"], |
| 351 |
|
[pcre_have_long_long="0"]) |
| 352 |
|
AC_CHECK_TYPES([unsigned long long], |
| 353 |
|
[pcre_have_ulong_long="1"], |
| 354 |
|
[pcre_have_ulong_long="0"]) |
| 355 |
|
fi |
| 356 |
AC_SUBST(pcre_have_long_long) |
AC_SUBST(pcre_have_long_long) |
| 357 |
AC_SUBST(pcre_have_ulong_long) |
AC_SUBST(pcre_have_ulong_long) |
| 358 |
|
|
| 359 |
# Checks for library functions. |
# Checks for library functions. |
| 360 |
|
|
| 361 |
AC_CHECK_FUNCS(bcopy memmove strerror strtoq strtoll _strtoi64) |
AC_CHECK_FUNCS(bcopy memmove strerror) |
| 362 |
|
|
| 363 |
# Check for the availability of libz (aka zlib) |
# Check for the availability of libz (aka zlib) |
| 364 |
|
|
| 379 |
# This facilitates -ansi builds under Linux |
# This facilitates -ansi builds under Linux |
| 380 |
dnl AC_DEFINE([_GNU_SOURCE], [], [Enable GNU extensions in glibc]) |
dnl AC_DEFINE([_GNU_SOURCE], [], [Enable GNU extensions in glibc]) |
| 381 |
|
|
| 382 |
|
PCRE_STATIC_CFLAG="" |
| 383 |
if test "x$enable_shared" = "xno" ; then |
if test "x$enable_shared" = "xno" ; then |
| 384 |
AC_DEFINE([PCRE_STATIC], [1], [ |
AC_DEFINE([PCRE_STATIC], [1], [ |
| 385 |
Define if linking statically (TODO: make nice with Libtool)]) |
Define if linking statically (TODO: make nice with Libtool)]) |
| 386 |
|
PCRE_STATIC_CFLAG="-DPCRE_STATIC" |
| 387 |
fi |
fi |
| 388 |
|
AC_SUBST(PCRE_STATIC_CFLAG) |
| 389 |
|
|
| 390 |
# Here is where pcre specific defines are handled |
# Here is where pcre specific defines are handled |
| 391 |
|
|
| 392 |
if test "$enable_utf8" = "yes"; then |
if test "$enable_utf8" = "yes"; then |
| 393 |
AC_DEFINE([SUPPORT_UTF8], [], [ |
AC_DEFINE([SUPPORT_UTF8], [], [ |
| 394 |
Define to enable support for the UTF-8 Unicode encoding.]) |
Define to enable support for the UTF-8 Unicode encoding. This will |
| 395 |
|
work even in an EBCDIC environment, but it is incompatible with |
| 396 |
|
the EBCDIC macro. That is, PCRE can support *either* EBCDIC code |
| 397 |
|
*or* ASCII/UTF-8, but not both at once.]) |
| 398 |
fi |
fi |
| 399 |
|
|
| 400 |
if test "$enable_unicode_properties" = "yes"; then |
if test "$enable_unicode_properties" = "yes"; then |
| 515 |
AC_DEFINE_UNQUOTED([EBCDIC], [], [ |
AC_DEFINE_UNQUOTED([EBCDIC], [], [ |
| 516 |
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 |
| 517 |
character codes, define this macro as 1. On systems that can use |
character codes, define this macro as 1. On systems that can use |
| 518 |
"configure", this can be done via --enable-ebcdic.]) |
"configure", this can be done via --enable-ebcdic. PCRE will then |
| 519 |
|
assume that all input strings are in EBCDIC. If you do not define |
| 520 |
|
this macro, PCRE will assume input strings are ASCII or UTF-8 Unicode. |
| 521 |
|
It is not possible to build a version of PCRE that supports both |
| 522 |
|
EBCDIC and UTF-8.]) |
| 523 |
fi |
fi |
| 524 |
|
|
| 525 |
# Platform specific issues |
# Platform specific issues |
| 537 |
# The extra LDFLAGS for each particular library |
# The extra LDFLAGS for each particular library |
| 538 |
# (Note: The libpcre*_version bits are m4 variables, assigned above) |
# (Note: The libpcre*_version bits are m4 variables, assigned above) |
| 539 |
|
|
| 540 |
EXTRA_LIBPCRE_LDFLAGS="$NO_UNDEFINED -version-info libpcre_version" |
EXTRA_LIBPCRE_LDFLAGS="$EXTRA_LIBPCRE_LDFLAGS \ |
| 541 |
|
$NO_UNDEFINED -version-info libpcre_version" |
| 542 |
|
|
| 543 |
EXTRA_LIBPCREPOSIX_LDFLAGS="$NO_UNDEFINED -version-info libpcreposix_version" |
EXTRA_LIBPCREPOSIX_LDFLAGS="$EXTRA_LIBPCREPOSIX_LDFLAGS \ |
| 544 |
|
$NO_UNDEFINED -version-info libpcreposix_version" |
| 545 |
|
|
| 546 |
EXTRA_LIBPCRECPP_LDFLAGS="$NO_UNDEFINED $EXPORT_ALL_SYMBOLS -version-info libpcrecpp_version" |
EXTRA_LIBPCRECPP_LDFLAGS="$EXTRA_LIBPCRECPP_LDFLAGS \ |
| 547 |
|
$NO_UNDEFINED -version-info libpcrecpp_version \ |
| 548 |
|
$EXPORT_ALL_SYMBOLS" |
| 549 |
|
|
| 550 |
AC_SUBST(EXTRA_LIBPCRE_LDFLAGS) |
AC_SUBST(EXTRA_LIBPCRE_LDFLAGS) |
| 551 |
AC_SUBST(EXTRA_LIBPCREPOSIX_LDFLAGS) |
AC_SUBST(EXTRA_LIBPCREPOSIX_LDFLAGS) |
| 556 |
AC_SUBST(DISTCHECK_CONFIGURE_FLAGS) |
AC_SUBST(DISTCHECK_CONFIGURE_FLAGS) |
| 557 |
|
|
| 558 |
# Check that, if --enable-pcregrep-libz or --enable-pcregrep-libbz2 is |
# Check that, if --enable-pcregrep-libz or --enable-pcregrep-libbz2 is |
| 559 |
# specified, the relevant library is available. If so, add it to LIBS. |
# specified, the relevant library is available. |
| 560 |
|
|
| 561 |
if test "$enable_pcregrep_libz" = "yes"; then |
if test "$enable_pcregrep_libz" = "yes"; then |
| 562 |
if test "$HAVE_ZLIB_H" != "1"; then |
if test "$HAVE_ZLIB_H" != "1"; then |
| 567 |
echo "** Cannot --enable-pcregrep-libz because libz was not found" |
echo "** Cannot --enable-pcregrep-libz because libz was not found" |
| 568 |
exit 1 |
exit 1 |
| 569 |
fi |
fi |
| 570 |
if test "$LIBS" = ""; then LIBS=-lz; else LIBS="$LIBS -lz"; fi |
LIBZ="-lz" |
| 571 |
fi |
fi |
| 572 |
|
AC_SUBST(LIBZ) |
| 573 |
|
|
| 574 |
if test "$enable_pcregrep_libbz2" = "yes"; then |
if test "$enable_pcregrep_libbz2" = "yes"; then |
| 575 |
if test "$HAVE_BZLIB_H" != "1"; then |
if test "$HAVE_BZLIB_H" != "1"; then |
| 580 |
echo "** Cannot --enable-pcregrep-libbz2 because libbz2 was not found" |
echo "** Cannot --enable-pcregrep-libbz2 because libbz2 was not found" |
| 581 |
exit 1 |
exit 1 |
| 582 |
fi |
fi |
| 583 |
if test "$LIBS" = ""; then LIBS=-lbz2; else LIBS="$LIBS -lbz2"; fi |
LIBBZ2="-lbz2" |
| 584 |
fi |
fi |
| 585 |
|
AC_SUBST(LIBBZ2) |
| 586 |
|
|
| 587 |
# Similarly for --enable-pcretest-readline |
# Similarly for --enable-pcretest-readline |
| 588 |
|
|
| 595 |
echo "** Cannot --enable-pcretest-readline because readline/history.h was not found." |
echo "** Cannot --enable-pcretest-readline because readline/history.h was not found." |
| 596 |
exit 1 |
exit 1 |
| 597 |
fi |
fi |
| 598 |
if test "$LIBS" = ""; then LIBS=-lreadline; else LIBS="$LIBS -lreadline"; fi |
LIBREADLINE="-lreadline" |
| 599 |
fi |
fi |
| 600 |
|
AC_SUBST(LIBREADLINE) |
| 601 |
|
|
| 602 |
# Produce these files, in addition to config.h. |
# Produce these files, in addition to config.h. |
| 603 |
AC_CONFIG_FILES( |
AC_CONFIG_FILES( |
| 604 |
Makefile |
Makefile |
| 605 |
libpcre.pc |
libpcre.pc |
| 606 |
|
libpcreposix.pc |
| 607 |
libpcrecpp.pc |
libpcrecpp.pc |
| 608 |
pcre-config |
pcre-config |
| 609 |
pcre.h |
pcre.h |