100 lines
3.1 KiB
Plaintext
100 lines
3.1 KiB
Plaintext
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(<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/$${\\(.*\\)_01}/\\1/g' " +
|
|
"-e 's/$${SNAPPY_MAJOR}/1/g' " +
|
|
"-e 's/$${SNAPPY_MINOR}/1/g' " +
|
|
"-e 's/$${SNAPPY_PATCHLEVEL}/4/g' " +
|
|
"$< >$@"),
|
|
)
|