X-Git-Url: http://plrg.eecs.uci.edu/git/?a=blobdiff_plain;f=folly%2Fconfigure.ac;h=3f4968e02c5d0e421dcbba9366447a1337cdf230;hb=77d5e54744c2ab78ffc06e26085bf18725ec73e1;hp=3786c00ea4713f14b2f02a79499e76693e5f2279;hpb=22aad95382f11174e0c7067e8b340301104c9efd;p=folly.git diff --git a/folly/configure.ac b/folly/configure.ac index 3786c00e..3f4968e0 100644 --- a/folly/configure.ac +++ b/folly/configure.ac @@ -63,6 +63,23 @@ CXXFLAGS="$STD $CXXFLAGS" # expose required -std option via pkg-config PKG_CXXFLAGS=$STD +# See if -Wshadow-local and -Wshadow-compatible-local are supported +AC_MSG_CHECKING( + [whether -Wshadow-local and -Wshadow-compatible-local are supported]) +AC_CACHE_VAL([folly_cv_cxx_shadow_local_support], [ + folly_save_CXXFLAGS="$CXXFLAGS" + CXXFLAGS="$CXXFLAGS -Wshadow-local -Wshadow-compatible-local" + AC_COMPILE_IFELSE( + [AC_LANG_PROGRAM([[]], [[]])], + [folly_cv_cxx_shadow_local_support=yes], + [folly_cv_cxx_shadow_local_support=no]) + CXXFLAGS="$folly_save_CXXFLAGS"]) +AC_MSG_RESULT([$folly_cv_cxx_shadow_local_support]) +if test "$folly_cv_cxx_shadow_local_support" = yes; then + AC_DEFINE([HAVE_SHADOW_LOCAL_WARNINGS], [1], + [Define if both -Wshadow-local and -Wshadow-compatible-local are supported.]) +fi + # Checks for glog and gflags # There are no symbols with C linkage, so we do a try-run AC_HAVE_LIBRARY([gflags],[],[AC_MSG_ERROR( @@ -165,13 +182,13 @@ if test "$folly_cv_prog_cc_int128" = "yes"; then #include static_assert( ::std::is_same<::std::make_signed::type, __int128>::value, - "signed form of `unsigned __uint128` must be `__int128`."); + "signed form of \`unsigned __uint128\` must be \`__int128\`."); ]])], [folly_cv_prog_cc_int128traits=yes], [folly_cv_prog_cc_int128traits=no]) ]) if test "$folly_cv_prog_cc_int128traits" = "no"; then - AC_DEFINE([FOLLY_SUPPLY_MISSING_INT128_TRAITS], [1], [Define if we need the standard integer traits defined for the type `__int128'.]) + AC_DEFINE([SUPPLY_MISSING_INT128_TRAITS], [1], [Define if we need the standard integer traits defined for the type `__int128'.]) fi fi @@ -542,7 +559,7 @@ AC_CHECK_HEADER([lz4.h], AC_CHECK_LIB([lz4], [LZ4_decompress_safe])) AC_CHECK_HEADER([snappy.h], AC_CHECK_LIB([snappy], [main])) AC_CHECK_HEADER([zlib.h], AC_CHECK_LIB([z], [main])) AC_CHECK_HEADER([lzma.h], AC_CHECK_LIB([lzma], [main])) -AC_CHECK_HEADER([zstd.h], AC_CHECK_LIB([zstd], [main])) +AC_CHECK_HEADER([zstd.h], AC_CHECK_LIB([zstd], [ZSTD_compressStream])) AC_CHECK_HEADER([linux/membarrier.h], AC_DEFINE([HAVE_LINUX_MEMBARRIER_H], [1], [Define to 1 if membarrier.h is available])) AC_ARG_ENABLE([follytestmain], @@ -550,13 +567,19 @@ AC_ARG_ENABLE([follytestmain], [follytestmain=${enableval}], [follytestmain=no]) use_follytestmain=yes +# libdwarf used to install in /usr/include, now installs in /usr/include/libdwarf. +AC_CHECK_HEADERS([libdwarf/dwarf.h dwarf.h], [break]) +# Check whether we have both the library and the header +have_libdwarf=no +AS_IF([test "x${ac_cv_header_libdwarf_dwarf_h}" = xyes], [have_libdwarf=yes]) +AS_IF([test "x${ac_cv_header_dwarf_h}" = xyes], [have_libdwarf=yes]) if test "x${follytestmain}" = "xyes"; then - AC_CHECK_HEADERS([libdwarf.h dwarf.h],, AC_MSG_ERROR([Please install libdwarf development package])) - AC_CHECK_HEADERS([libelf.h elf.h],, AC_MSG_ERROR([Please install libelf development package])) - AC_CHECK_HEADERS([libunwind.h],, AC_MSG_ERROR([Please install libinwind development package])) + AS_IF([test "x${have_libdwarf}" = xno], [AC_MSG_ERROR([Please install libdwarf development library and headers])]) + AC_CHECK_HEADERS([elf.h],, AC_MSG_ERROR([Please install libelf development package])) + AC_CHECK_HEADERS([libunwind.h],, AC_MSG_ERROR([Please install libunwind development package])) else - AC_CHECK_HEADERS([libdwarf.h dwarf.h],, [use_follytestmain=no]) - AC_CHECK_HEADERS([libelf.h elf.h],, [use_follytestmain=no]) + AS_IF([test "x${have_libdwarf}" = xno],, [use_follytestmain=no]) + AC_CHECK_HEADERS([elf.h],, [use_follytestmain=no]) AC_CHECK_HEADERS([libunwind.h],, [use_follytestmain=no]) fi