/[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 349 by ph10, Wed Jul 2 18:42:11 2008 UTC revision 478 by ph10, Sun Jan 3 16:05:13 2010 UTC
# Line 7  dnl be defined as -RC2, for example. For Line 7  dnl be defined as -RC2, for example. For
7  dnl empty.  dnl empty.
8    
9  m4_define(pcre_major, [8])  m4_define(pcre_major, [8])
10  m4_define(pcre_minor, [0])  m4_define(pcre_minor, [01])
11  m4_define(pcre_prerelease, [-RC1])  m4_define(pcre_prerelease, [])
12  m4_define(pcre_date, [2008-07-01])  m4_define(pcre_date, [2010-01-02])
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])
# Line 66  AC_LANG_PUSH(C++) Line 66  AC_LANG_PUSH(C++)
66  AC_COMPILE_IFELSE(AC_LANG_PROGRAM([],[]),, CXX=""; CXXCP=""; CXXFLAGS="")  AC_COMPILE_IFELSE(AC_LANG_PROGRAM([],[]),, CXX=""; CXXCP=""; CXXFLAGS="")
67  AC_LANG_POP  AC_LANG_POP
68    
69    # Check for a 64-bit integer type
70    AC_TYPE_INT64_T
71    
72  AC_PROG_INSTALL  AC_PROG_INSTALL
73  AC_LIBTOOL_WIN32_DLL  AC_LIBTOOL_WIN32_DLL
74  AC_PROG_LIBTOOL  AC_PROG_LIBTOOL
# Line 102  AC_ARG_ENABLE(rebuild-chartables, Line 105  AC_ARG_ENABLE(rebuild-chartables,
105  # Handle --enable-utf8 (disabled by default)  # Handle --enable-utf8 (disabled by default)
106  AC_ARG_ENABLE(utf8,  AC_ARG_ENABLE(utf8,
107                AS_HELP_STRING([--enable-utf8],                AS_HELP_STRING([--enable-utf8],
108                               [enable UTF-8 support]),                               [enable UTF-8 support (incompatible with --enable-ebcdic)]),
109                , enable_utf8=unset)                , enable_utf8=unset)
110    
111  # Handle --enable-unicode-properties  # Handle --enable-unicode-properties
# Line 150  AC_ARG_ENABLE(bsr-anycrlf, Line 153  AC_ARG_ENABLE(bsr-anycrlf,
153  # Handle --enable-ebcdic  # Handle --enable-ebcdic
154  AC_ARG_ENABLE(ebcdic,  AC_ARG_ENABLE(ebcdic,
155                AS_HELP_STRING([--enable-ebcdic],                AS_HELP_STRING([--enable-ebcdic],
156                               [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]),
157                , enable_ebcdic=no)                , enable_ebcdic=no)
158    
159  # Handle --disable-stack-for-recursion  # Handle --disable-stack-for-recursion
# Line 226  then Line 229  then
229  fi  fi
230    
231  # 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.
232    # Also check that UTF-8 support is not requested, because PCRE cannot handle
233    # EBCDIC and UTF-8 in the same build. To do so it would need to use different
234    # character constants depending on the mode.
235  #  #
236  if test "x$enable_ebcdic" = "xyes"  if test "x$enable_ebcdic" = "xyes"
237  then  then
238    enable_rebuild_chartables=yes    enable_rebuild_chartables=yes
239      if test "x$enable_utf8" = "xyes"
240      then
241        AC_MSG_ERROR([support for EBCDIC and UTF-8 cannot be enabled at the same time])
242      fi
243  fi  fi
244    
245  # Convert the newline identifier into the appropriate integer value.  # Convert the newline identifier into the appropriate integer value.
# Line 358  AC_CHECK_FUNCS(bcopy memmove strerror) Line 368  AC_CHECK_FUNCS(bcopy memmove strerror)
368  AC_CHECK_HEADERS([zlib.h], [HAVE_ZLIB_H=1])  AC_CHECK_HEADERS([zlib.h], [HAVE_ZLIB_H=1])
369  AC_CHECK_LIB([z], [gzopen], [HAVE_LIBZ=1])  AC_CHECK_LIB([z], [gzopen], [HAVE_LIBZ=1])
370    
371  # Check for the availability of libbz2  # Check for the availability of libbz2. Originally we just used AC_CHECK_LIB,
372    # as for libz. However, this had the following problem, diagnosed and fixed by
373    # a user:
374    #
375    #   - libbz2 uses the Pascal calling convention (WINAPI) for the functions
376    #     under Win32.
377    #   - The standard autoconf AC_CHECK_LIB fails to include "bzlib.h",
378    #     therefore missing the function definition.
379    #   - The compiler thus generates a "C" signature for the test function.
380    #   - The linker fails to find the "C" function.
381    #   - PCRE fails to configure if asked to do so against libbz2.
382    #
383    # Solution:
384    #
385    #   - Replace the AC_CHECK_LIB test with a custom test.
386    
387  AC_CHECK_HEADERS([bzlib.h], [HAVE_BZLIB_H=1])  AC_CHECK_HEADERS([bzlib.h], [HAVE_BZLIB_H=1])
388  AC_CHECK_LIB([bz2], [BZ2_bzopen], [HAVE_LIBBZ2=1])  # Original test
389    # AC_CHECK_LIB([bz2], [BZ2_bzopen], [HAVE_LIBBZ2=1])
390    #
391    # Custom test follows
392    
393    AC_MSG_CHECKING([for libbz2])
394    OLD_LIBS="$LIBS"
395    LIBS="$LIBS -lbz2"
396    AC_LINK_IFELSE( AC_LANG_PROGRAM([[
397    #ifdef HAVE_BZLIB_H
398    #include <bzlib.h>
399    #endif]],
400    [[return (int)BZ2_bzopen("conftest", "rb");]]),
401    [AC_MSG_RESULT([yes]);HAVE_LIBBZ2=1; break;],
402    AC_MSG_RESULT([no]))
403    LIBS="$OLD_LIBS"
404    
405  # Check for the availabiity of libreadline  # Check for the availabiity of libreadline
406    
# Line 372  AC_CHECK_LIB([readline], [readline], [HA Line 411  AC_CHECK_LIB([readline], [readline], [HA
411  # This facilitates -ansi builds under Linux  # This facilitates -ansi builds under Linux
412  dnl AC_DEFINE([_GNU_SOURCE], [], [Enable GNU extensions in glibc])  dnl AC_DEFINE([_GNU_SOURCE], [], [Enable GNU extensions in glibc])
413    
414    PCRE_STATIC_CFLAG=""
415  if test "x$enable_shared" = "xno" ; then  if test "x$enable_shared" = "xno" ; then
416    AC_DEFINE([PCRE_STATIC], [1], [    AC_DEFINE([PCRE_STATIC], [1], [
417      Define if linking statically (TODO: make nice with Libtool)])      Define if linking statically (TODO: make nice with Libtool)])
418      PCRE_STATIC_CFLAG="-DPCRE_STATIC"
419  fi  fi
420    AC_SUBST(PCRE_STATIC_CFLAG)
421    
422  # Here is where pcre specific defines are handled  # Here is where pcre specific defines are handled
423    
424  if test "$enable_utf8" = "yes"; then  if test "$enable_utf8" = "yes"; then
425    AC_DEFINE([SUPPORT_UTF8], [], [    AC_DEFINE([SUPPORT_UTF8], [], [
426      Define to enable support for the UTF-8 Unicode encoding.])      Define to enable support for the UTF-8 Unicode encoding. This will
427        work even in an EBCDIC environment, but it is incompatible with
428        the EBCDIC macro. That is, PCRE can support *either* EBCDIC code
429        *or* ASCII/UTF-8, but not both at once.])
430  fi  fi
431    
432  if test "$enable_unicode_properties" = "yes"; then  if test "$enable_unicode_properties" = "yes"; then
# Line 502  if test "$enable_ebcdic" = "yes"; then Line 547  if test "$enable_ebcdic" = "yes"; then
547    AC_DEFINE_UNQUOTED([EBCDIC], [], [    AC_DEFINE_UNQUOTED([EBCDIC], [], [
548      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
549      character codes, define this macro as 1. On systems that can use      character codes, define this macro as 1. On systems that can use
550      "configure", this can be done via --enable-ebcdic.])      "configure", this can be done via --enable-ebcdic. PCRE will then
551        assume that all input strings are in EBCDIC. If you do not define
552        this macro, PCRE will assume input strings are ASCII or UTF-8 Unicode.
553        It is not possible to build a version of PCRE that supports both
554        EBCDIC and UTF-8.])
555  fi  fi
556    
557  # Platform specific issues  # Platform specific issues
# Line 539  DISTCHECK_CONFIGURE_FLAGS="--enable-cpp Line 588  DISTCHECK_CONFIGURE_FLAGS="--enable-cpp
588  AC_SUBST(DISTCHECK_CONFIGURE_FLAGS)  AC_SUBST(DISTCHECK_CONFIGURE_FLAGS)
589    
590  # Check that, if --enable-pcregrep-libz or --enable-pcregrep-libbz2 is  # Check that, if --enable-pcregrep-libz or --enable-pcregrep-libbz2 is
591  # specified, the relevant library is available. If so, add it to LIBS.  # specified, the relevant library is available.
592    
593  if test "$enable_pcregrep_libz" = "yes"; then  if test "$enable_pcregrep_libz" = "yes"; then
594    if test "$HAVE_ZLIB_H" != "1"; then    if test "$HAVE_ZLIB_H" != "1"; then
# Line 550  if test "$enable_pcregrep_libz" = "yes"; Line 599  if test "$enable_pcregrep_libz" = "yes";
599      echo "** Cannot --enable-pcregrep-libz because libz was not found"      echo "** Cannot --enable-pcregrep-libz because libz was not found"
600      exit 1      exit 1
601    fi    fi
602    if test "$LIBS" = ""; then LIBS=-lz; else LIBS="$LIBS -lz"; fi    LIBZ="-lz"
603  fi  fi
604    AC_SUBST(LIBZ)
605    
606  if test "$enable_pcregrep_libbz2" = "yes"; then  if test "$enable_pcregrep_libbz2" = "yes"; then
607    if test "$HAVE_BZLIB_H" != "1"; then    if test "$HAVE_BZLIB_H" != "1"; then
# Line 562  if test "$enable_pcregrep_libbz2" = "yes Line 612  if test "$enable_pcregrep_libbz2" = "yes
612      echo "** Cannot --enable-pcregrep-libbz2 because libbz2 was not found"      echo "** Cannot --enable-pcregrep-libbz2 because libbz2 was not found"
613      exit 1      exit 1
614    fi    fi
615    if test "$LIBS" = ""; then LIBS=-lbz2; else LIBS="$LIBS -lbz2"; fi    LIBBZ2="-lbz2"
616  fi  fi
617    AC_SUBST(LIBBZ2)
618    
619  # Similarly for --enable-pcretest-readline  # Similarly for --enable-pcretest-readline
620    
# Line 576  if test "$enable_pcretest_libreadline" = Line 627  if test "$enable_pcretest_libreadline" =
627      echo "** Cannot --enable-pcretest-readline because readline/history.h was not found."      echo "** Cannot --enable-pcretest-readline because readline/history.h was not found."
628      exit 1      exit 1
629    fi    fi
630    if test "$LIBS" = ""; then LIBS=-lreadline; else LIBS="$LIBS -lreadline"; fi    LIBREADLINE="-lreadline"
631  fi  fi
632    AC_SUBST(LIBREADLINE)
633    
634  # Produce these files, in addition to config.h.  # Produce these files, in addition to config.h.
635  AC_CONFIG_FILES(  AC_CONFIG_FILES(
636          Makefile          Makefile
637          libpcre.pc          libpcre.pc
638            libpcreposix.pc
639          libpcrecpp.pc          libpcrecpp.pc
640          pcre-config          pcre-config
641          pcre.h          pcre.h

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

  ViewVC Help
Powered by ViewVC 1.1.5