/[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 263 by ph10, Mon Nov 12 16:53:25 2007 UTC revision 367 by ph10, Sun Aug 24 11:25:07 2008 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, [7])  m4_define(pcre_major, [7])
10  m4_define(pcre_minor, [5])  m4_define(pcre_minor, [8])
11  m4_define(pcre_prerelease, [-RC1])  m4_define(pcre_prerelease, [-RC1])
12  m4_define(pcre_date, [2007-11-12])  m4_define(pcre_date, [2008-08-25])
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 154  AC_ARG_ENABLE(stack-for-recursion, Line 159  AC_ARG_ENABLE(stack-for-recursion,
159                               [don't use stack recursion when matching]),                               [don't use stack recursion when matching]),
160                , enable_stack_for_recursion=yes)                , enable_stack_for_recursion=yes)
161    
162    # Handle --enable-pcregrep-libz
163    AC_ARG_ENABLE(pcregrep-libz,
164                  AS_HELP_STRING([--enable-pcregrep-libz],
165                                 [link pcregrep with libz to handle .gz files]),
166                  , enable_pcregrep_libz=no)
167    
168    # Handle --enable-pcregrep-libbz2
169    AC_ARG_ENABLE(pcregrep-libbz2,
170                  AS_HELP_STRING([--enable-pcregrep-libbz2],
171                                 [link pcregrep with libbz2 to handle .bz2 files]),
172                  , enable_pcregrep_libbz2=no)
173    
174    # Handle --enable-pcretest-libreadline
175    AC_ARG_ENABLE(pcretest-libreadline,
176                  AS_HELP_STRING([--enable-pcretest-libreadline],
177                                 [link pcretest with libreadline]),
178                  , enable_pcretest_libreadline=no)
179    
180  # Handle --with-posix-malloc-threshold=NBYTES  # Handle --with-posix-malloc-threshold=NBYTES
181  AC_ARG_WITH(posix-malloc-threshold,  AC_ARG_WITH(posix-malloc-threshold,
182              AS_HELP_STRING([--with-posix-malloc-threshold=NBYTES],              AS_HELP_STRING([--with-posix-malloc-threshold=NBYTES],
# Line 259  if test "x$enable_cpp" = "xyes" -a -n "$ Line 282  if test "x$enable_cpp" = "xyes" -a -n "$
282  then  then
283  AC_LANG_PUSH(C++)  AC_LANG_PUSH(C++)
284    
285    # Older versions of pcre defined pcrecpp::no_arg, but in new versions
286    # it's called pcrecpp::RE::no_arg.  For backwards ABI compatibility,
287    # we want to make one an alias for the other.  Different systems do
288    # this in different ways.  Some systems, for instance, can do it via
289    # a linker flag: -alias (for os x 10.5) or -i (for os x <=10.4).
290    OLD_LDFLAGS="$LDFLAGS"
291    for flag in "-alias,__ZN7pcrecpp2RE6no_argE,__ZN7pcrecpp6no_argE" \
292                "-i__ZN7pcrecpp6no_argE:__ZN7pcrecpp2RE6no_argE"; do
293      AC_MSG_CHECKING([for alias support in the linker])
294      LDFLAGS="$OLD_LDFLAGS -Wl,$flag"
295      # We try to run the linker with this new ld flag.  If the link fails,
296      # we give up and remove the new flag from LDFLAGS.
297      AC_LINK_IFELSE(AC_LANG_PROGRAM([namespace pcrecpp {
298                                        class RE { static int no_arg; };
299                                        int RE::no_arg;
300                                      }],
301                                     []),
302                     [AC_MSG_RESULT([yes]);
303                      EXTRA_LIBPCRECPP_LDFLAGS="$EXTRA_LIBPCRECPP_LDFLAGS -Wl,$flag";
304                      break;],
305                     AC_MSG_RESULT([no]))
306    done
307    LDFLAGS="$OLD_LDFLAGS"
308    
309  # 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
310  # (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
311  # 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 268  AC_CHECK_HEADERS(bits/type_traits.h, [pc Line 315  AC_CHECK_HEADERS(bits/type_traits.h, [pc
315                                       [pcre_have_bits_type_traits="0"])                                       [pcre_have_bits_type_traits="0"])
316  AC_CHECK_HEADERS(type_traits.h, [pcre_have_type_traits="1"],  AC_CHECK_HEADERS(type_traits.h, [pcre_have_type_traits="1"],
317                                  [pcre_have_type_traits="0"])                                  [pcre_have_type_traits="0"])
318    
319  AC_LANG_POP  AC_LANG_POP
320  fi  fi
321  # 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 283  AM_CONDITIONAL(WITH_REBUILD_CHARTABLES, Line 331  AM_CONDITIONAL(WITH_REBUILD_CHARTABLES,
331  AC_C_CONST  AC_C_CONST
332  AC_TYPE_SIZE_T  AC_TYPE_SIZE_T
333    
334  AC_CHECK_TYPES([long long],  pcre_have_strotolonglong=0
335                 [pcre_have_long_long="1"],  AC_CHECK_FUNCS(strtoq strtoll _strtoi64, [pcre_have_strotolonglong="1"; break])
336                 [pcre_have_long_long="0"])  # If we can't convert a string to a long long, pretend we don't even
337  AC_CHECK_TYPES([unsigned long long],  # have a long long.
338                 [pcre_have_ulong_long="1"],  if test $pcre_have_strotolonglong = "0"; then
339                 [pcre_have_ulong_long="0"])     pcre_have_long_long="0"
340       pcre_have_ulong_long="0"
341    else
342      AC_CHECK_TYPES([long long],
343                     [pcre_have_long_long="1"],
344                     [pcre_have_long_long="0"])
345      AC_CHECK_TYPES([unsigned long long],
346                     [pcre_have_ulong_long="1"],
347                     [pcre_have_ulong_long="0"])
348    fi
349  AC_SUBST(pcre_have_long_long)  AC_SUBST(pcre_have_long_long)
350  AC_SUBST(pcre_have_ulong_long)  AC_SUBST(pcre_have_ulong_long)
351    
352  # Checks for library functions.  # Checks for library functions.
353    
354  AC_CHECK_FUNCS(bcopy memmove strerror strtoq strtoll _strtoi64)  AC_CHECK_FUNCS(bcopy memmove strerror)
355    
356    # Check for the availability of libz (aka zlib)
357    
358    AC_CHECK_HEADERS([zlib.h], [HAVE_ZLIB_H=1])
359    AC_CHECK_LIB([z], [gzopen], [HAVE_LIBZ=1])
360    
361    # Check for the availability of libbz2
362    
363    AC_CHECK_HEADERS([bzlib.h], [HAVE_BZLIB_H=1])
364    AC_CHECK_LIB([bz2], [BZ2_bzopen], [HAVE_LIBBZ2=1])
365    
366    # Check for the availabiity of libreadline
367    
368    AC_CHECK_HEADERS([readline/readline.h], [HAVE_READLINE_H=1])
369    AC_CHECK_HEADERS([readline/history.h], [HAVE_HISTORY_H=1])
370    AC_CHECK_LIB([readline], [readline], [HAVE_LIB_READLINE=1])
371    
372  # This facilitates -ansi builds under Linux  # This facilitates -ansi builds under Linux
373  dnl AC_DEFINE([_GNU_SOURCE], [], [Enable GNU extensions in glibc])  dnl AC_DEFINE([_GNU_SOURCE], [], [Enable GNU extensions in glibc])
# Line 329  if test "$enable_stack_for_recursion" = Line 402  if test "$enable_stack_for_recursion" =
402      (use --disable-stack-for-recursion).])      (use --disable-stack-for-recursion).])
403  fi  fi
404    
405    if test "$enable_pcregrep_libz" = "yes"; then
406      AC_DEFINE([SUPPORT_LIBZ], [], [
407        Define to allow pcregrep to be linked with libz, so that it is
408        able to handle .gz files.])
409    fi
410    
411    if test "$enable_pcregrep_libbz2" = "yes"; then
412      AC_DEFINE([SUPPORT_LIBBZ2], [], [
413        Define to allow pcregrep to be linked with libbz2, so that it is
414        able to handle .bz2 files.])
415    fi
416    
417    if test "$enable_pcretest_libreadline" = "yes"; then
418      AC_DEFINE([SUPPORT_LIBREADLINE], [], [
419        Define to allow pcretest to be linked with libreadline.])
420    fi
421    
422  AC_DEFINE_UNQUOTED([NEWLINE], [$ac_pcre_newline_value], [  AC_DEFINE_UNQUOTED([NEWLINE], [$ac_pcre_newline_value], [
423    The value of NEWLINE determines the newline character sequence. On    The value of NEWLINE determines the newline character sequence. On
424    systems that support it, "configure" can be used to override the    systems that support it, "configure" can be used to override the
# Line 430  esac Line 520  esac
520  # The extra LDFLAGS for each particular library  # The extra LDFLAGS for each particular library
521  # (Note: The libpcre*_version bits are m4 variables, assigned above)  # (Note: The libpcre*_version bits are m4 variables, assigned above)
522    
523  EXTRA_LIBPCRE_LDFLAGS="$NO_UNDEFINED -version-info libpcre_version"  EXTRA_LIBPCRE_LDFLAGS="$EXTRA_LIBPCRE_LDFLAGS \
524                           $NO_UNDEFINED -version-info libpcre_version"
525    
526  EXTRA_LIBPCREPOSIX_LDFLAGS="$NO_UNDEFINED -version-info libpcreposix_version"  EXTRA_LIBPCREPOSIX_LDFLAGS="$EXTRA_LIBPCREPOSIX_LDFLAGS \
527                                $NO_UNDEFINED -version-info libpcreposix_version"
528    
529  EXTRA_LIBPCRECPP_LDFLAGS="$NO_UNDEFINED $EXPORT_ALL_SYMBOLS -version-info libpcrecpp_version"  EXTRA_LIBPCRECPP_LDFLAGS="$EXTRA_LIBPCRECPP_LDFLAGS \
530                              $NO_UNDEFINED -version-info libpcrecpp_version \
531                              $EXPORT_ALL_SYMBOLS"
532    
533  AC_SUBST(EXTRA_LIBPCRE_LDFLAGS)  AC_SUBST(EXTRA_LIBPCRE_LDFLAGS)
534  AC_SUBST(EXTRA_LIBPCREPOSIX_LDFLAGS)  AC_SUBST(EXTRA_LIBPCREPOSIX_LDFLAGS)
# Line 444  AC_SUBST(EXTRA_LIBPCRECPP_LDFLAGS) Line 538  AC_SUBST(EXTRA_LIBPCRECPP_LDFLAGS)
538  DISTCHECK_CONFIGURE_FLAGS="--enable-cpp --enable-unicode-properties"  DISTCHECK_CONFIGURE_FLAGS="--enable-cpp --enable-unicode-properties"
539  AC_SUBST(DISTCHECK_CONFIGURE_FLAGS)  AC_SUBST(DISTCHECK_CONFIGURE_FLAGS)
540    
541    # Check that, if --enable-pcregrep-libz or --enable-pcregrep-libbz2 is
542    # specified, the relevant library is available. If so, add it to LIBS.
543    
544    if test "$enable_pcregrep_libz" = "yes"; then
545      if test "$HAVE_ZLIB_H" != "1"; then
546        echo "** Cannot --enable-pcregrep-libz because zlib.h was not found"
547        exit 1
548      fi
549      if test "$HAVE_LIBZ" != "1"; then
550        echo "** Cannot --enable-pcregrep-libz because libz was not found"
551        exit 1
552      fi
553      if test "$LIBS" = ""; then LIBS=-lz; else LIBS="$LIBS -lz"; fi
554    fi
555    
556    if test "$enable_pcregrep_libbz2" = "yes"; then
557      if test "$HAVE_BZLIB_H" != "1"; then
558        echo "** Cannot --enable-pcregrep-libbz2 because bzlib.h was not found"
559        exit 1
560      fi
561      if test "$HAVE_LIBBZ2" != "1"; then
562        echo "** Cannot --enable-pcregrep-libbz2 because libbz2 was not found"
563        exit 1
564      fi
565      if test "$LIBS" = ""; then LIBS=-lbz2; else LIBS="$LIBS -lbz2"; fi
566    fi
567    
568    # Similarly for --enable-pcretest-readline
569    
570    if test "$enable_pcretest_libreadline" = "yes"; then
571      if test "$HAVE_READLINE_H" != "1"; then
572        echo "** Cannot --enable-pcretest-readline because readline/readline.h was not found."
573        exit 1
574      fi
575      if test "$HAVE_HISTORY_H" != "1"; then
576        echo "** Cannot --enable-pcretest-readline because readline/history.h was not found."
577        exit 1
578      fi
579      if test "$LIBS" = ""; then LIBS=-lreadline; else LIBS="$LIBS -lreadline"; fi
580    fi
581    
582  # Produce these files, in addition to config.h.  # Produce these files, in addition to config.h.
583  AC_CONFIG_FILES(  AC_CONFIG_FILES(
584          Makefile          Makefile
# Line 466  AC_OUTPUT Line 601  AC_OUTPUT
601    
602  # Print out a nice little message after configure is run displaying your  # Print out a nice little message after configure is run displaying your
603  # chosen options.  # chosen options.
604  #  
605  cat <<EOF  cat <<EOF
606    
607  $PACKAGE-$VERSION configuration summary:  $PACKAGE-$VERSION configuration summary:
608    
609      Install prefix ........... : ${prefix}      Install prefix .................. : ${prefix}
610      C preprocessor ........... : ${CPP}      C preprocessor .................. : ${CPP}
611      C compiler ............... : ${CC}      C compiler ...................... : ${CC}
612      C++ preprocessor ......... : ${CXXCPP}      C++ preprocessor ................ : ${CXXCPP}
613      C++ compiler ............. : ${CXX}      C++ compiler .................... : ${CXX}
614      Linker ................... : ${LD}      Linker .......................... : ${LD}
615      C preprocessor flags ..... : ${CPPFLAGS}      C preprocessor flags ............ : ${CPPFLAGS}
616      C compiler flags ......... : ${CFLAGS}      C compiler flags ................ : ${CFLAGS}
617      C++ compiler flags ....... : ${CXXFLAGS}      C++ compiler flags .............. : ${CXXFLAGS}
618      Linker flags ............. : ${LDFLAGS}      Linker flags .................... : ${LDFLAGS}
619      Extra libraries .......... : ${LIBS}      Extra libraries ................. : ${LIBS}
620    
621      Build C++ library ........ : ${enable_cpp}      Build C++ library ............... : ${enable_cpp}
622      Enable UTF-8 support ..... : ${enable_utf8}      Enable UTF-8 support ............ : ${enable_utf8}
623      Unicode properties ....... : ${enable_unicode_properties}      Unicode properties .............. : ${enable_unicode_properties}
624      Newline char/sequence .... : ${enable_newline}      Newline char/sequence ........... : ${enable_newline}
625      \R matches only ANYCRLF .. : ${enable_bsr_anycrlf}      \R matches only ANYCRLF ......... : ${enable_bsr_anycrlf}
626      EBCDIC coding ............ : ${enable_ebcdic}      EBCDIC coding ................... : ${enable_ebcdic}
627      Rebuild char tables ...... : ${enable_rebuild_chartables}      Rebuild char tables ............. : ${enable_rebuild_chartables}
628      Use stack recursion ...... : ${enable_stack_for_recursion}      Use stack recursion ............. : ${enable_stack_for_recursion}
629      POSIX mem threshold ...... : ${with_posix_malloc_threshold}      POSIX mem threshold ............. : ${with_posix_malloc_threshold}
630      Internal link size ....... : ${with_link_size}      Internal link size .............. : ${with_link_size}
631      Match limit .............. : ${with_match_limit}      Match limit ..................... : ${with_match_limit}
632      Match limit recursion .... : ${with_match_limit_recursion}      Match limit recursion ........... : ${with_match_limit_recursion}
633      Build shared libs ........ : ${enable_shared}      Build shared libs ............... : ${enable_shared}
634      Build static libs ........ : ${enable_static}      Build static libs ............... : ${enable_static}
635        Link pcregrep with libz ......... : ${enable_pcregrep_libz}
636        Link pcregrep with libbz2 ....... : ${enable_pcregrep_libbz2}
637        Link pcretest with libreadline .. : ${enable_pcretest_libreadline}
638    
639  EOF  EOF
640    

Legend:
Removed from v.263  
changed lines
  Added in v.367

webmaster@exim.org
ViewVC Help
Powered by ViewVC 1.1.12