package(default_visibility = ["//visibility:public"]) licenses(["notice"]) # BSD 3-Clause exports_files(["COPYING"]) cc_library( name = "snappy", srcs = [ "config.h", "snappy.cc", "snappy.h", "snappy-internal.h", "snappy-sinksource.cc", "snappy-sinksource.h", "snappy-stubs-internal.cc", "snappy-stubs-internal.h", "snappy-stubs-public.h", ], hdrs = ["snappy.h"], copts = ["-DHAVE_CONFIG_H"] + select({ "@org_tensorflow//tensorflow:windows": [], "//conditions:default": [ "-fno-exceptions", "-Wno-sign-compare", "-Wno-shift-negative-value", "-Wno-implicit-function-declaration", ], }), defines = select({ "@org_tensorflow//tensorflow:windows": [], "//conditions:default": ["HAVE_SYS_UIO_H"], }), ) 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()", "# define HAVE_BYTESWAP_H 1", "# endif", "# if !defined(HAVE_UNISTD_H) && __has_include()", "# define HAVE_UNISTD_H 1", "# endif", "# if !defined(HAVE_SYS_ENDIAN_H) && __has_include()", "# define HAVE_SYS_ENDIAN_H 1", "# endif", "# if !defined(HAVE_SYS_MMAN_H) && __has_include()", "# define HAVE_SYS_MMAN_H 1", "# endif", "# if !defined(HAVE_SYS_UIO_H) && __has_include()", "# 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/$${\\(.*\\)_01}/\\1/g' " + "-e 's/$${SNAPPY_MAJOR}/1/g' " + "-e 's/$${SNAPPY_MINOR}/1/g' " + "-e 's/$${SNAPPY_PATCHLEVEL}/4/g' " + "$< >$@"), )