aboutsummaryrefslogtreecommitdiffhomepage
path: root/third_party
diff options
context:
space:
mode:
authorGravatar Justine Tunney <jart@google.com>2018-04-05 00:53:51 -0700
committerGravatar TensorFlower Gardener <gardener@tensorflow.org>2018-04-05 01:01:21 -0700
commitdfa9921e6343727b05f42f8d4a918b19528ff994 (patch)
tree45c9d9d089cfa58a3a1b33aadb78e3a5f5def0ea /third_party
parent007e3e6c3d72ea5edca361eb908fb7aa66ac6d6d (diff)
Upgrade Snappy to latest version
They added big endian preprocessor macros in recent releases. Hopefully this should do the right thing on IBM mainframes. PiperOrigin-RevId: 191705207
Diffstat (limited to 'third_party')
-rw-r--r--third_party/snappy.BUILD96
1 files changed, 69 insertions, 27 deletions
diff --git a/third_party/snappy.BUILD b/third_party/snappy.BUILD
index fd48ed8941..cc11f52d0e 100644
--- a/third_party/snappy.BUILD
+++ b/third_party/snappy.BUILD
@@ -4,25 +4,12 @@ licenses(["notice"]) # BSD 3-Clause
exports_files(["COPYING"])
-config_setting(
- name = "windows",
- values = {"cpu": "x64_windows"},
- visibility = ["//visibility:public"],
-)
-
-config_setting(
- name = "windows_msvc",
- values = {"cpu": "x64_windows_msvc"},
- visibility = ["//visibility:public"],
-)
-
cc_library(
name = "snappy",
srcs = [
+ "config.h",
"snappy.cc",
"snappy.h",
- "snappy-c.cc",
- "snappy-c.h",
"snappy-internal.h",
"snappy-sinksource.cc",
"snappy-sinksource.h",
@@ -32,9 +19,18 @@ cc_library(
],
hdrs = ["snappy.h"],
copts = select({
- ":windows": [],
- ":windows_msvc": [],
+ "@org_tensorflow//tensorflow:windows": [
+ "/DHAVE_CONFIG_H",
+ "/EHsc",
+ ],
+ "@org_tensorflow//tensorflow:windows_msvc": [
+ "/DHAVE_CONFIG_H",
+ "/EHsc",
+ ],
"//conditions:default": [
+ "-DHAVE_CONFIG_H",
+ "-fno-exceptions",
+ "-Wno-sign-compare",
"-Wno-shift-negative-value",
"-Wno-implicit-function-declaration",
],
@@ -42,20 +38,66 @@ cc_library(
)
genrule(
+ name = "config_h",
+ outs = ["config.h"],
+ cmd = "\n".join([
+ "cat <<'EOF' >$@",
+ "#define HAVE_STDDEF_H 1",
+ "#define HAVE_STDINT_H 1",
+ "",
+ "#ifdef __has_builtin",
+ "# if !defined(HAVE_BUILTIN_EXPECT) && __has_builtin(__builtin_expect)",
+ "# define HAVE_BUILTIN_EXPECT 1",
+ "# endif",
+ "# if !defined(HAVE_BUILTIN_CTZ) && __has_builtin(__builtin_ctzll)",
+ "# define HAVE_BUILTIN_CTZ 1",
+ "# endif",
+ "#elif defined(__GNUC__) && (__GNUC__ > 3 || __GNUC__ == 3 && __GNUC_MINOR__ >= 4)",
+ "# ifndef HAVE_BUILTIN_EXPECT",
+ "# define HAVE_BUILTIN_EXPECT 1",
+ "# endif",
+ "# ifndef HAVE_BUILTIN_CTZ",
+ "# define HAVE_BUILTIN_CTZ 1",
+ "# endif",
+ "#endif",
+ "",
+ "#ifdef __has_include",
+ "# if !defined(HAVE_BYTESWAP_H) && __has_include(<byteswap.h>)",
+ "# define HAVE_BYTESWAP_H 1",
+ "# endif",
+ "# if !defined(HAVE_UNISTD_H) && __has_include(<unistd.h>)",
+ "# define HAVE_UNISTD_H 1",
+ "# endif",
+ "# if !defined(HAVE_SYS_ENDIAN_H) && __has_include(<sys/endian.h>)",
+ "# define HAVE_SYS_ENDIAN_H 1",
+ "# endif",
+ "# if !defined(HAVE_SYS_MMAN_H) && __has_include(<sys/mman.h>)",
+ "# define HAVE_SYS_MMAN_H 1",
+ "# endif",
+ "# if !defined(HAVE_SYS_UIO_H) && __has_include(<sys/uio.h>)",
+ "# define HAVE_SYS_UIO_H 1",
+ "# endif",
+ "#endif",
+ "",
+ "#ifndef SNAPPY_IS_BIG_ENDIAN",
+ "# ifdef __s390x__",
+ "# define SNAPPY_IS_BIG_ENDIAN 1",
+ "# elif defined(__BYTE_ORDER__) && defined(__ORDER_BIG_ENDIAN__) && __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__",
+ "# define SNAPPY_IS_BIG_ENDIAN 1",
+ "# endif",
+ "#endif",
+ "EOF",
+ ]),
+)
+
+genrule(
name = "snappy_stubs_public_h",
srcs = ["snappy-stubs-public.h.in"],
outs = ["snappy-stubs-public.h"],
cmd = ("sed " +
- "-e 's/@ac_cv_have_stdint_h@/1/g' " +
- "-e 's/@ac_cv_have_stddef_h@/1/g' " +
- "-e 's/@ac_cv_have_stdint_h@/1/g' " +
- select({
- "@org_tensorflow//tensorflow:windows": "-e 's/@ac_cv_have_sys_uio_h@/0/g' ",
- "@org_tensorflow//tensorflow:windows_msvc": "-e 's/@ac_cv_have_sys_uio_h@/0/g' ",
- "//conditions:default": "-e 's/@ac_cv_have_sys_uio_h@/1/g' ",
- }) +
- "-e 's/@SNAPPY_MAJOR@/1/g' " +
- "-e 's/@SNAPPY_MINOR@/1/g' " +
- "-e 's/@SNAPPY_PATCHLEVEL@/4/g' " +
+ "-e 's/$${\\(.*\\)_01}/\\1/g' " +
+ "-e 's/$${SNAPPY_MAJOR}/1/g' " +
+ "-e 's/$${SNAPPY_MINOR}/1/g' " +
+ "-e 's/$${SNAPPY_PATCHLEVEL}/4/g' " +
"$< >$@"),
)