123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133 |
- m4_define([snappy_major], [1])
- m4_define([snappy_minor], [1])
- m4_define([snappy_patchlevel], [2])
- # Libtool shared library interface versions (current:revision:age)
- # Update this value for every release! (A:B:C will map to foo.so.(A-C).C.B)
- # http://www.gnu.org/software/libtool/manual/html_node/Updating-version-info.html
- m4_define([snappy_ltversion], [3:1:2])
- AC_INIT([snappy], [snappy_major.snappy_minor.snappy_patchlevel])
- AC_CONFIG_MACRO_DIR([m4])
- # These are flags passed to automake (though they look like gcc flags!)
- AM_INIT_AUTOMAKE([-Wall])
- LT_INIT
- AC_SUBST([LIBTOOL_DEPS])
- AC_PROG_CXX
- AC_LANG([C++])
- AC_C_BIGENDIAN
- AC_TYPE_SIZE_T
- AC_TYPE_SSIZE_T
- AC_CHECK_HEADERS([stdint.h stddef.h sys/mman.h sys/resource.h windows.h byteswap.h sys/byteswap.h sys/endian.h sys/time.h])
- # Don't use AC_FUNC_MMAP, as it checks for mappings of already-mapped memory,
- # which we don't need (and does not exist on Windows).
- AC_CHECK_FUNC([mmap])
- GTEST_LIB_CHECK([], [true], [true # Ignore; we can live without it.])
- AC_ARG_WITH([gflags],
- [AS_HELP_STRING(
- [--with-gflags],
- [use Google Flags package to enhance the unit test @<:@default=check@:>@])],
- [],
- [with_gflags=check])
- if test "x$with_gflags" != "xno"; then
- PKG_CHECK_MODULES(
- [gflags],
- [libgflags],
- [AC_DEFINE([HAVE_GFLAGS], [1], [Use the gflags package for command-line parsing.])],
- [if test "x$with_gflags" != "xcheck"; then
- AC_MSG_FAILURE([--with-gflags was given, but test for gflags failed])
- fi])
- fi
- # See if we have __builtin_expect.
- # TODO: Use AC_CACHE.
- AC_MSG_CHECKING([if the compiler supports __builtin_expect])
-
- AC_TRY_COMPILE(, [
- return __builtin_expect(1, 1) ? 1 : 0
- ], [
- snappy_have_builtin_expect=yes
- AC_MSG_RESULT([yes])
- ], [
- snappy_have_builtin_expect=no
- AC_MSG_RESULT([no])
- ])
- if test x$snappy_have_builtin_expect = xyes ; then
- AC_DEFINE([HAVE_BUILTIN_EXPECT], [1], [Define to 1 if the compiler supports __builtin_expect.])
- fi
- # See if we have working count-trailing-zeros intrinsics.
- # TODO: Use AC_CACHE.
- AC_MSG_CHECKING([if the compiler supports __builtin_ctzll])
- AC_TRY_COMPILE(, [
- return (__builtin_ctzll(0x100000000LL) == 32) ? 1 : 0
- ], [
- snappy_have_builtin_ctz=yes
- AC_MSG_RESULT([yes])
- ], [
- snappy_have_builtin_ctz=no
- AC_MSG_RESULT([no])
- ])
- if test x$snappy_have_builtin_ctz = xyes ; then
- AC_DEFINE([HAVE_BUILTIN_CTZ], [1], [Define to 1 if the compiler supports __builtin_ctz and friends.])
- fi
- # Other compression libraries; the unit test can use these for comparison
- # if they are available. If they are not found, just ignore.
- UNITTEST_LIBS=""
- AC_DEFUN([CHECK_EXT_COMPRESSION_LIB], [
- AH_CHECK_LIB([$1])
- AC_CHECK_LIB(
- [$1],
- [$2],
- [
- AC_DEFINE_UNQUOTED(AS_TR_CPP(HAVE_LIB$1))
- UNITTEST_LIBS="-l$1 $UNITTEST_LIBS"
- ],
- [true]
- )
- ])
- CHECK_EXT_COMPRESSION_LIB([z], [zlibVersion])
- CHECK_EXT_COMPRESSION_LIB([lzo2], [lzo1x_1_15_compress])
- CHECK_EXT_COMPRESSION_LIB([lzf], [lzf_compress])
- CHECK_EXT_COMPRESSION_LIB([fastlz], [fastlz_compress])
- CHECK_EXT_COMPRESSION_LIB([quicklz], [qlz_compress])
- AC_SUBST([UNITTEST_LIBS])
- # These are used by snappy-stubs-public.h.in.
- if test "$ac_cv_header_stdint_h" = "yes"; then
- AC_SUBST([ac_cv_have_stdint_h], [1])
- else
- AC_SUBST([ac_cv_have_stdint_h], [0])
- fi
- if test "$ac_cv_header_stddef_h" = "yes"; then
- AC_SUBST([ac_cv_have_stddef_h], [1])
- else
- AC_SUBST([ac_cv_have_stddef_h], [0])
- fi
- if test "$ac_cv_header_sys_uio_h" = "yes"; then
- AC_SUBST([ac_cv_have_sys_uio_h], [1])
- else
- AC_SUBST([ac_cv_have_sys_uio_h], [0])
- fi
- # Export the version to snappy-stubs-public.h.
- SNAPPY_MAJOR="snappy_major"
- SNAPPY_MINOR="snappy_minor"
- SNAPPY_PATCHLEVEL="snappy_patchlevel"
- AC_SUBST([SNAPPY_MAJOR])
- AC_SUBST([SNAPPY_MINOR])
- AC_SUBST([SNAPPY_PATCHLEVEL])
- AC_SUBST([SNAPPY_LTVERSION], snappy_ltversion)
- AC_CONFIG_HEADERS([config.h])
- AC_CONFIG_FILES([Makefile snappy-stubs-public.h])
- AC_OUTPUT
|