/[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 309 by ph10, Mon Jan 21 15:22:09 2008 UTC revision 475 by ph10, Sat Jan 2 18:21:30 2010 UTC
# Line 6  dnl PCRE_PRERELEASE feature is for ident Line 6  dnl PCRE_PRERELEASE feature is for ident
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, [01])
11  m4_define(pcre_prerelease, [-RC1])  m4_define(pcre_prerelease, [])
12  m4_define(pcre_date, [2008-01-21])  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 60  then Line 60  then
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    # 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
# Line 97  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 145  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 221  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 277  if test "x$enable_cpp" = "xyes" -a -n "$ Line 292  if test "x$enable_cpp" = "xyes" -a -n "$
292  then  then
293  AC_LANG_PUSH(C++)  AC_LANG_PUSH(C++)
294    
295    # Older versions of pcre defined pcrecpp::no_arg, but in new versions
296    # it's called pcrecpp::RE::no_arg.  For backwards ABI compatibility,
297    # we want to make one an alias for the other.  Different systems do
298    # this in different ways.  Some systems, for instance, can do it via
299    # a linker flag: -alias (for os x 10.5) or -i (for os x <=10.4).
300    OLD_LDFLAGS="$LDFLAGS"
301    for flag in "-alias,__ZN7pcrecpp2RE6no_argE,__ZN7pcrecpp6no_argE" \
302                "-i__ZN7pcrecpp6no_argE:__ZN7pcrecpp2RE6no_argE"; do
303      AC_MSG_CHECKING([for alias support in the linker])
304      LDFLAGS="$OLD_LDFLAGS -Wl,$flag"
305      # We try to run the linker with this new ld flag.  If the link fails,
306      # we give up and remove the new flag from LDFLAGS.
307      AC_LINK_IFELSE(AC_LANG_PROGRAM([namespace pcrecpp {
308                                        class RE { static int no_arg; };
309                                        int RE::no_arg;
310                                      }],
311                                     []),
312                     [AC_MSG_RESULT([yes]);
313                      EXTRA_LIBPCRECPP_LDFLAGS="$EXTRA_LIBPCRECPP_LDFLAGS -Wl,$flag";
314                      break;],
315                     AC_MSG_RESULT([no]))
316    done
317    LDFLAGS="$OLD_LDFLAGS"
318    
319  # 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
320  # (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
321  # 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 286  AC_CHECK_HEADERS(bits/type_traits.h, [pc Line 325  AC_CHECK_HEADERS(bits/type_traits.h, [pc
325                                       [pcre_have_bits_type_traits="0"])                                       [pcre_have_bits_type_traits="0"])
326  AC_CHECK_HEADERS(type_traits.h, [pcre_have_type_traits="1"],  AC_CHECK_HEADERS(type_traits.h, [pcre_have_type_traits="1"],
327                                  [pcre_have_type_traits="0"])                                  [pcre_have_type_traits="0"])
328    
329  AC_LANG_POP  AC_LANG_POP
330  fi  fi
331  # 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 301  AM_CONDITIONAL(WITH_REBUILD_CHARTABLES, Line 341  AM_CONDITIONAL(WITH_REBUILD_CHARTABLES,
341  AC_C_CONST  AC_C_CONST
342  AC_TYPE_SIZE_T  AC_TYPE_SIZE_T
343    
344  AC_CHECK_TYPES([long long],  pcre_have_strotolonglong=0
345                 [pcre_have_long_long="1"],  AC_CHECK_FUNCS(strtoq strtoll _strtoi64, [pcre_have_strotolonglong="1"; break])
346                 [pcre_have_long_long="0"])  # If we can't convert a string to a long long, pretend we don't even
347  AC_CHECK_TYPES([unsigned long long],  # have a long long.
348                 [pcre_have_ulong_long="1"],  if test $pcre_have_strotolonglong = "0"; then
349                 [pcre_have_ulong_long="0"])     pcre_have_long_long="0"
350       pcre_have_ulong_long="0"
351    else
352      AC_CHECK_TYPES([long long],
353                     [pcre_have_long_long="1"],
354                     [pcre_have_long_long="0"])
355      AC_CHECK_TYPES([unsigned long long],
356                     [pcre_have_ulong_long="1"],
357                     [pcre_have_ulong_long="0"])
358    fi
359  AC_SUBST(pcre_have_long_long)  AC_SUBST(pcre_have_long_long)
360  AC_SUBST(pcre_have_ulong_long)  AC_SUBST(pcre_have_ulong_long)
361    
362  # Checks for library functions.  # Checks for library functions.
363    
364  AC_CHECK_FUNCS(bcopy memmove strerror strtoq strtoll _strtoi64)  AC_CHECK_FUNCS(bcopy memmove strerror)
365    
366  # Check for the availability of libz (aka zlib)  # Check for the availability of libz (aka zlib)
367    
# Line 333  AC_CHECK_LIB([readline], [readline], [HA Line 382  AC_CHECK_LIB([readline], [readline], [HA
382  # This facilitates -ansi builds under Linux  # This facilitates -ansi builds under Linux
383  dnl AC_DEFINE([_GNU_SOURCE], [], [Enable GNU extensions in glibc])  dnl AC_DEFINE([_GNU_SOURCE], [], [Enable GNU extensions in glibc])
384    
385    PCRE_STATIC_CFLAG=""
386  if test "x$enable_shared" = "xno" ; then  if test "x$enable_shared" = "xno" ; then
387    AC_DEFINE([PCRE_STATIC], [1], [    AC_DEFINE([PCRE_STATIC], [1], [
388      Define if linking statically (TODO: make nice with Libtool)])      Define if linking statically (TODO: make nice with Libtool)])
389      PCRE_STATIC_CFLAG="-DPCRE_STATIC"
390  fi  fi
391    AC_SUBST(PCRE_STATIC_CFLAG)
392    
393  # Here is where pcre specific defines are handled  # Here is where pcre specific defines are handled
394    
395  if test "$enable_utf8" = "yes"; then  if test "$enable_utf8" = "yes"; then
396    AC_DEFINE([SUPPORT_UTF8], [], [    AC_DEFINE([SUPPORT_UTF8], [], [
397      Define to enable support for the UTF-8 Unicode encoding.])      Define to enable support for the UTF-8 Unicode encoding. This will
398        work even in an EBCDIC environment, but it is incompatible with
399        the EBCDIC macro. That is, PCRE can support *either* EBCDIC code
400        *or* ASCII/UTF-8, but not both at once.])
401  fi  fi
402    
403  if test "$enable_unicode_properties" = "yes"; then  if test "$enable_unicode_properties" = "yes"; then
# Line 463  if test "$enable_ebcdic" = "yes"; then Line 518  if test "$enable_ebcdic" = "yes"; then
518    AC_DEFINE_UNQUOTED([EBCDIC], [], [    AC_DEFINE_UNQUOTED([EBCDIC], [], [
519      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
520      character codes, define this macro as 1. On systems that can use      character codes, define this macro as 1. On systems that can use
521      "configure", this can be done via --enable-ebcdic.])      "configure", this can be done via --enable-ebcdic. PCRE will then
522        assume that all input strings are in EBCDIC. If you do not define
523        this macro, PCRE will assume input strings are ASCII or UTF-8 Unicode.
524        It is not possible to build a version of PCRE that supports both
525        EBCDIC and UTF-8.])
526  fi  fi
527    
528  # Platform specific issues  # Platform specific issues
# Line 481  esac Line 540  esac
540  # The extra LDFLAGS for each particular library  # The extra LDFLAGS for each particular library
541  # (Note: The libpcre*_version bits are m4 variables, assigned above)  # (Note: The libpcre*_version bits are m4 variables, assigned above)
542    
543  EXTRA_LIBPCRE_LDFLAGS="$NO_UNDEFINED -version-info libpcre_version"  EXTRA_LIBPCRE_LDFLAGS="$EXTRA_LIBPCRE_LDFLAGS \
544                           $NO_UNDEFINED -version-info libpcre_version"
545    
546  EXTRA_LIBPCREPOSIX_LDFLAGS="$NO_UNDEFINED -version-info libpcreposix_version"  EXTRA_LIBPCREPOSIX_LDFLAGS="$EXTRA_LIBPCREPOSIX_LDFLAGS \
547                                $NO_UNDEFINED -version-info libpcreposix_version"
548    
549  EXTRA_LIBPCRECPP_LDFLAGS="$NO_UNDEFINED $EXPORT_ALL_SYMBOLS -version-info libpcrecpp_version"  EXTRA_LIBPCRECPP_LDFLAGS="$EXTRA_LIBPCRECPP_LDFLAGS \
550                              $NO_UNDEFINED -version-info libpcrecpp_version \
551                              $EXPORT_ALL_SYMBOLS"
552    
553  AC_SUBST(EXTRA_LIBPCRE_LDFLAGS)  AC_SUBST(EXTRA_LIBPCRE_LDFLAGS)
554  AC_SUBST(EXTRA_LIBPCREPOSIX_LDFLAGS)  AC_SUBST(EXTRA_LIBPCREPOSIX_LDFLAGS)
# Line 496  DISTCHECK_CONFIGURE_FLAGS="--enable-cpp Line 559  DISTCHECK_CONFIGURE_FLAGS="--enable-cpp
559  AC_SUBST(DISTCHECK_CONFIGURE_FLAGS)  AC_SUBST(DISTCHECK_CONFIGURE_FLAGS)
560    
561  # Check that, if --enable-pcregrep-libz or --enable-pcregrep-libbz2 is  # Check that, if --enable-pcregrep-libz or --enable-pcregrep-libbz2 is
562  # specified, the relevant library is available. If so, add it to LIBS.  # specified, the relevant library is available.
563    
564  if test "$enable_pcregrep_libz" = "yes"; then  if test "$enable_pcregrep_libz" = "yes"; then
565    if test "$HAVE_ZLIB_H" != "1"; then    if test "$HAVE_ZLIB_H" != "1"; then
# Line 507  if test "$enable_pcregrep_libz" = "yes"; Line 570  if test "$enable_pcregrep_libz" = "yes";
570      echo "** Cannot --enable-pcregrep-libz because libz was not found"      echo "** Cannot --enable-pcregrep-libz because libz was not found"
571      exit 1      exit 1
572    fi    fi
573    if test "$LIBS" = ""; then LIBS=-lz; else LIBS="$LIBS -lz"; fi    LIBZ="-lz"
574  fi  fi
575    AC_SUBST(LIBZ)
576    
577  if test "$enable_pcregrep_libbz2" = "yes"; then  if test "$enable_pcregrep_libbz2" = "yes"; then
578    if test "$HAVE_BZLIB_H" != "1"; then    if test "$HAVE_BZLIB_H" != "1"; then
# Line 519  if test "$enable_pcregrep_libbz2" = "yes Line 583  if test "$enable_pcregrep_libbz2" = "yes
583      echo "** Cannot --enable-pcregrep-libbz2 because libbz2 was not found"      echo "** Cannot --enable-pcregrep-libbz2 because libbz2 was not found"
584      exit 1      exit 1
585    fi    fi
586    if test "$LIBS" = ""; then LIBS=-lbz2; else LIBS="$LIBS -lbz2"; fi    LIBBZ2="-lbz2"
587  fi  fi
588    AC_SUBST(LIBBZ2)
589    
590  # Similarly for --enable-pcretest-readline  # Similarly for --enable-pcretest-readline
591    
# Line 533  if test "$enable_pcretest_libreadline" = Line 598  if test "$enable_pcretest_libreadline" =
598      echo "** Cannot --enable-pcretest-readline because readline/history.h was not found."      echo "** Cannot --enable-pcretest-readline because readline/history.h was not found."
599      exit 1      exit 1
600    fi    fi
601    if test "$LIBS" = ""; then LIBS=-lreadline; else LIBS="$LIBS -lreadline"; fi    LIBREADLINE="-lreadline"
602  fi  fi
603    AC_SUBST(LIBREADLINE)
604    
605  # Produce these files, in addition to config.h.  # Produce these files, in addition to config.h.
606  AC_CONFIG_FILES(  AC_CONFIG_FILES(
607          Makefile          Makefile
608          libpcre.pc          libpcre.pc
609            libpcreposix.pc
610          libpcrecpp.pc          libpcrecpp.pc
611          pcre-config          pcre-config
612          pcre.h          pcre.h

Legend:
Removed from v.309  
changed lines
  Added in v.475

  ViewVC Help
Powered by ViewVC 1.1.5