summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJosé Fonseca <jose.r.fonseca@gmail.com>2011-10-08 16:47:33 +0100
committerJosé Fonseca <jose.r.fonseca@gmail.com>2011-10-08 16:47:33 +0100
commit834d14c3574c47225ddc31484ea144b9d1a1dffa (patch)
tree32b0ba4e33e7b86bf0d858d91d81261210ecad05
parenta384e61261c518ab374e4965261bc6ce23f741b0 (diff)
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.
-rw-r--r--thirdparty/snappy/.gitignore1
-rw-r--r--thirdparty/snappy/CMakeLists.txt38
-rw-r--r--thirdparty/snappy/config.h (renamed from thirdparty/snappy/config.h.in)83
3 files changed, 51 insertions, 71 deletions
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
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 <byteswap.h> header file. */
-#cmakedefine HAVE_BYTESWAP_H
+#if defined(__linux__)
+# define HAVE_BYTESWAP_H 1
+#endif
/* Define to 1 if you have the <dlfcn.h> 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 <inttypes.h> 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 <memory.h> header file. */
-#cmakedefine HAVE_MEMORY_H
+#undef HAVE_MEMORY_H
/* Define to 1 if you have the <stddef.h> header file. */
-#cmakedefine HAVE_STDDEF_H
+#define HAVE_STDDEF_H 1
/* Define to 1 if you have the <stdint.h> header file. */
-#cmakedefine HAVE_STDINT_H
+#define HAVE_STDINT_H 1
/* Define to 1 if you have the <stdlib.h> header file. */
-#cmakedefine HAVE_STDLIB_H
+#define HAVE_STDLIB_H 1
/* Define to 1 if you have the <strings.h> header file. */
-#cmakedefine HAVE_STRINGS_H
+#undef HAVE_STRINGS_H
/* Define to 1 if you have the <string.h> header file. */
-#cmakedefine HAVE_STRING_H
+#define HAVE_STRING_H 1
/* Define to 1 if you have the <sys/byteswap.h> header file. */
-#cmakedefine HAVE_SYS_BYTESWAP_H
+#undef HAVE_SYS_BYTESWAP_H
/* Define to 1 if you have the <sys/endian.h> header file. */
-#cmakedefine HAVE_SYS_ENDIAN_H
+#undef HAVE_SYS_ENDIAN_H
/* Define to 1 if you have the <sys/mman.h> header file. */
-#cmakedefine HAVE_SYS_MMAN_H
+#undef HAVE_SYS_MMAN_H
/* Define to 1 if you have the <sys/resource.h> header file. */
-#cmakedefine HAVE_SYS_RESOURCE_H
+#undef HAVE_SYS_RESOURCE_H
/* Define to 1 if you have the <sys/stat.h> header file. */
-#cmakedefine HAVE_SYS_STAT_H
+#undef HAVE_SYS_STAT_H
/* Define to 1 if you have the <sys/types.h> header file. */
-#cmakedefine HAVE_SYS_TYPES_H
+#define HAVE_SYS_TYPES_H 1
/* Define to 1 if you have the <unistd.h> header file. */
-#cmakedefine HAVE_UNISTD_H
+#if !defined(_WIN32)
+# define HAVE_UNISTD_H 1
+#endif
/* Define to 1 if you have the <windows.h> 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 <endian.h>
+# if __BYTE_ORDER == __BIG_ENDIAN
+# define WORDS_BIGENDIAN 1
+# endif
+#elif defined(__APPLE__)
+# include <machine/endian.h>
+# if __DARWIN_BYTE_ORDER == __DARWIN_BIG_ENDIAN
+# define WORDS_BIGENDIAN 1
+# endif
+#endif