/[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 302 by ph10, Sun Jan 20 19:12:46 2008 UTC revision 461 by ph10, Mon Oct 5 10:59:35 2009 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, [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])
# 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  AC_PROG_INSTALL  AC_PROG_INSTALL
70  AC_LIBTOOL_WIN32_DLL  AC_LIBTOOL_WIN32_DLL
# Line 97  AC_ARG_ENABLE(rebuild-chartables, Line 102  AC_ARG_ENABLE(rebuild-chartables,
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
# Line 145  AC_ARG_ENABLE(bsr-anycrlf, Line 150  AC_ARG_ENABLE(bsr-anycrlf,
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
# Line 221  then Line 226  then
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.
# Line 277  if test "x$enable_cpp" = "xyes" -a -n "$ Line 289  if test "x$enable_cpp" = "xyes" -a -n "$
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.
# Line 286  AC_CHECK_HEADERS(bits/type_traits.h, [pc Line 322  AC_CHECK_HEADERS(bits/type_traits.h, [pc
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
# Line 301  AM_CONDITIONAL(WITH_REBUILD_CHARTABLES, Line 338  AM_CONDITIONAL(WITH_REBUILD_CHARTABLES,
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    
# Line 333  AC_CHECK_LIB([readline], [readline], [HA Line 379  AC_CHECK_LIB([readline], [readline], [HA
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
# Line 463  if test "$enable_ebcdic" = "yes"; then Line 515  if test "$enable_ebcdic" = "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
# Line 481  esac Line 537  esac
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)
# Line 496  DISTCHECK_CONFIGURE_FLAGS="--enable-cpp Line 556  DISTCHECK_CONFIGURE_FLAGS="--enable-cpp
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
# Line 507  if test "$enable_pcregrep_libz" = "yes"; Line 567  if test "$enable_pcregrep_libz" = "yes";
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
# Line 519  if test "$enable_pcregrep_libbz2" = "yes Line 580  if test "$enable_pcregrep_libbz2" = "yes
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    
# Line 533  if test "$enable_pcretest_libreadline" = Line 595  if test "$enable_pcretest_libreadline" =
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

Legend:
Removed from v.302  
changed lines
  Added in v.461

webmaster@exim.org
ViewVC Help
Powered by ViewVC 1.1.12