From 834d14c3574c47225ddc31484ea144b9d1a1dffa Mon Sep 17 00:00:00 2001 From: =?utf8?q?Jos=C3=A9=20Fonseca?= Date: Sat, 8 Oct 2011 16:47:33 +0100 Subject: [PATCH] Universal config.h for snappy. Should (hopefully) work on all platforms that apitrace builds. And this will make my life easier, as it will allow mixed in/out of source builds flawlessly. --- thirdparty/snappy/.gitignore | 1 - thirdparty/snappy/CMakeLists.txt | 38 ---------- thirdparty/snappy/{config.h.in => config.h} | 83 +++++++++++++-------- 3 files changed, 51 insertions(+), 71 deletions(-) delete mode 100644 thirdparty/snappy/.gitignore rename thirdparty/snappy/{config.h.in => config.h} (66%) diff --git a/thirdparty/snappy/.gitignore b/thirdparty/snappy/.gitignore deleted file mode 100644 index 0e56cf2..0000000 --- a/thirdparty/snappy/.gitignore +++ /dev/null @@ -1 +0,0 @@ -config.h diff --git a/thirdparty/snappy/CMakeLists.txt b/thirdparty/snappy/CMakeLists.txt index bcacda7..87873d9 100644 --- a/thirdparty/snappy/CMakeLists.txt +++ b/thirdparty/snappy/CMakeLists.txt @@ -1,29 +1,3 @@ -# We only do the subset of the snappy autoconf that actually affect the library -# (as most of them are for the tests which we don't build.) - -include (CheckIncludeFileCXX) -include (CheckCXXSourceCompiles) -include (TestBigEndian) - -check_include_file_cxx (sys/mman.h HAVE_SYS_MMAN_H) -check_include_file_cxx (sys/byteorder.h HAVE_SYS_BYTEORDER_H) -check_include_file_cxx (sys/endian.h HAVE_SYS_ENDIAN_H) -check_include_file_cxx (byteswap.h HAVE_BYTESWAP_H) - -check_cxx_source_compiles ( - "main() { return __builtin_expect(1, 1) ? 1 : 0; }" - HAVE_BUILTIN_EXPECT -) - -check_cxx_source_compiles ( - "main() { return (__builtin_ctzll(0x100000000LL) == 32) ? 1 : 0; }" - HAVE_BUILTIN_CTZ -) - -test_big_endian (WORDS_BIGENDIAN) - -configure_file (config.h.in config.h) - add_definitions (-DHAVE_CONFIG_H) # Adjust warnings @@ -31,9 +5,6 @@ if (CMAKE_COMPILER_IS_GNUCXX) add_definitions (-Wno-unused-function) endif () - -include_directories (${CMAKE_CURRENT_BINARY_DIR}) - add_library (snappy_bundled STATIC snappy.cc snappy-sinksource.cc @@ -44,12 +15,3 @@ add_library (snappy_bundled STATIC set_target_properties (snappy_bundled PROPERTIES COMPILE_FLAGS "${CMAKE_SHARED_LIBRARY_CXX_FLAGS}" ) - -# If we're doing an out of source build remove any config.h from the source tree. -if (NOT CMAKE_CURRENT_SOURCE_DIR STREQUAL CMAKE_CURRENT_BINARY_DIR) - add_custom_command ( - TARGET snappy_bundled - PRE_BUILD - COMMAND ${CMAKE_COMMAND} -E remove -f ${CMAKE_CURRENT_SOURCE_DIR}/config.h - ) -endif() diff --git a/thirdparty/snappy/config.h.in b/thirdparty/snappy/config.h similarity index 66% rename from thirdparty/snappy/config.h.in rename to thirdparty/snappy/config.h index e9ccb58..6e6e7cf 100644 --- a/thirdparty/snappy/config.h.in +++ b/thirdparty/snappy/config.h @@ -1,85 +1,94 @@ -/* config.h.in. Generated from configure.ac by autoheader. */ - -/* Define if building universal (internal helper macro) */ -#undef AC_APPLE_UNIVERSAL_BUILD +/* config.h. Manually derived from config.h.in, with the subset of defines + * that actually affect the library, given that most of them are meant for the + * tests, which we don't build. */ /* Define to 1 if the compiler supports __builtin_ctz and friends. */ -#cmakedefine HAVE_BUILTIN_CTZ +#if defined(__GNUCC__) +# define HAVE_BUILTIN_CTZ 1 +#endif /* Define to 1 if the compiler supports __builtin_expect. */ -#cmakedefine HAVE_BUILTIN_EXPECT +#if defined(__GNUCC__) +# define HAVE_BUILTIN_EXPECT 1 +#endif /* Define to 1 if you have the header file. */ -#cmakedefine HAVE_BYTESWAP_H +#if defined(__linux__) +# define HAVE_BYTESWAP_H 1 +#endif /* Define to 1 if you have the header file. */ -#cmakedefine HAVE_DLFCN_H +#undef HAVE_DLFCN_H /* Use the gflags package for command-line parsing. */ -#cmakedefine HAVE_GFLAGS +#undef HAVE_GFLAGS /* Defined when Google Test is available. */ -#cmakedefine HAVE_GTEST +#undef HAVE_GTEST /* Define to 1 if you have the header file. */ -#cmakedefine HAVE_INTTYPES_H +#define HAVE_INTTYPES_H 1 /* Define to 1 if you have the `fastlz' library (-lfastlz). */ -#cmakedefine HAVE_LIBFASTLZ +#undef HAVE_LIBFASTLZ /* Define to 1 if you have the `lzf' library (-llzf). */ -#cmakedefine HAVE_LIBLZF +#undef HAVE_LIBLZF /* Define to 1 if you have the `lzo2' library (-llzo2). */ -#cmakedefine HAVE_LIBLZO2 +#undef HAVE_LIBLZO2 /* Define to 1 if you have the `quicklz' library (-lquicklz). */ -#cmakedefine HAVE_LIBQUICKLZ +#undef HAVE_LIBQUICKLZ /* Define to 1 if you have the `z' library (-lz). */ -#cmakedefine HAVE_LIBZ +#undef HAVE_LIBZ /* Define to 1 if you have the header file. */ -#cmakedefine HAVE_MEMORY_H +#undef HAVE_MEMORY_H /* Define to 1 if you have the header file. */ -#cmakedefine HAVE_STDDEF_H +#define HAVE_STDDEF_H 1 /* Define to 1 if you have the header file. */ -#cmakedefine HAVE_STDINT_H +#define HAVE_STDINT_H 1 /* Define to 1 if you have the header file. */ -#cmakedefine HAVE_STDLIB_H +#define HAVE_STDLIB_H 1 /* Define to 1 if you have the header file. */ -#cmakedefine HAVE_STRINGS_H +#undef HAVE_STRINGS_H /* Define to 1 if you have the header file. */ -#cmakedefine HAVE_STRING_H +#define HAVE_STRING_H 1 /* Define to 1 if you have the header file. */ -#cmakedefine HAVE_SYS_BYTESWAP_H +#undef HAVE_SYS_BYTESWAP_H /* Define to 1 if you have the header file. */ -#cmakedefine HAVE_SYS_ENDIAN_H +#undef HAVE_SYS_ENDIAN_H /* Define to 1 if you have the header file. */ -#cmakedefine HAVE_SYS_MMAN_H +#undef HAVE_SYS_MMAN_H /* Define to 1 if you have the header file. */ -#cmakedefine HAVE_SYS_RESOURCE_H +#undef HAVE_SYS_RESOURCE_H /* Define to 1 if you have the header file. */ -#cmakedefine HAVE_SYS_STAT_H +#undef HAVE_SYS_STAT_H /* Define to 1 if you have the header file. */ -#cmakedefine HAVE_SYS_TYPES_H +#define HAVE_SYS_TYPES_H 1 /* Define to 1 if you have the header file. */ -#cmakedefine HAVE_UNISTD_H +#if !defined(_WIN32) +# define HAVE_UNISTD_H 1 +#endif /* Define to 1 if you have the header file. */ -#cmakedefine HAVE_WINDOWS_H +#if defined(_WIN32) +# define HAVE_WINDOWS_H 1 +#endif /* Define to the sub-directory in which libtool stores uninstalled libraries. */ @@ -107,11 +116,21 @@ #undef PACKAGE_VERSION /* Define to 1 if you have the ANSI C header files. */ -#undef STDC_HEADERS +#define STDC_HEADERS 1 /* Version number of package */ #undef VERSION /* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most significant byte first (like Motorola and SPARC, unlike Intel). */ -#cmakedefine WORDS_BIGENDIAN +#if defined(__GLIBC__) +# include +# if __BYTE_ORDER == __BIG_ENDIAN +# define WORDS_BIGENDIAN 1 +# endif +#elif defined(__APPLE__) +# include +# if __DARWIN_BYTE_ORDER == __DARWIN_BIG_ENDIAN +# define WORDS_BIGENDIAN 1 +# endif +#endif -- 2.43.0