1*b6fb3261SAndroid Build Coastguard Workerpackage(default_visibility = ["//visibility:public"]) 2*b6fb3261SAndroid Build Coastguard Worker 3*b6fb3261SAndroid Build Coastguard Workerlicenses(["notice"]) # BSD 3-Clause 4*b6fb3261SAndroid Build Coastguard Worker 5*b6fb3261SAndroid Build Coastguard Workerexports_files(["COPYING"]) 6*b6fb3261SAndroid Build Coastguard Worker 7*b6fb3261SAndroid Build Coastguard Workercc_library( 8*b6fb3261SAndroid Build Coastguard Worker name = "snappy", 9*b6fb3261SAndroid Build Coastguard Worker srcs = [ 10*b6fb3261SAndroid Build Coastguard Worker "config.h", 11*b6fb3261SAndroid Build Coastguard Worker "snappy.cc", 12*b6fb3261SAndroid Build Coastguard Worker "snappy.h", 13*b6fb3261SAndroid Build Coastguard Worker "snappy-internal.h", 14*b6fb3261SAndroid Build Coastguard Worker "snappy-sinksource.cc", 15*b6fb3261SAndroid Build Coastguard Worker "snappy-sinksource.h", 16*b6fb3261SAndroid Build Coastguard Worker "snappy-stubs-internal.cc", 17*b6fb3261SAndroid Build Coastguard Worker "snappy-stubs-internal.h", 18*b6fb3261SAndroid Build Coastguard Worker "snappy-stubs-public.h", 19*b6fb3261SAndroid Build Coastguard Worker ], 20*b6fb3261SAndroid Build Coastguard Worker hdrs = ["snappy.h"], 21*b6fb3261SAndroid Build Coastguard Worker copts = ["-DHAVE_CONFIG_H"] + select({ 22*b6fb3261SAndroid Build Coastguard Worker "@org_tensorflow//tensorflow:windows": [], 23*b6fb3261SAndroid Build Coastguard Worker "//conditions:default": [ 24*b6fb3261SAndroid Build Coastguard Worker "-fno-exceptions", 25*b6fb3261SAndroid Build Coastguard Worker "-Wno-sign-compare", 26*b6fb3261SAndroid Build Coastguard Worker "-Wno-shift-negative-value", 27*b6fb3261SAndroid Build Coastguard Worker "-Wno-implicit-function-declaration", 28*b6fb3261SAndroid Build Coastguard Worker ], 29*b6fb3261SAndroid Build Coastguard Worker }), 30*b6fb3261SAndroid Build Coastguard Worker defines = select({ 31*b6fb3261SAndroid Build Coastguard Worker "@org_tensorflow//tensorflow:windows": [], 32*b6fb3261SAndroid Build Coastguard Worker "//conditions:default": ["HAVE_SYS_UIO_H"], 33*b6fb3261SAndroid Build Coastguard Worker }), 34*b6fb3261SAndroid Build Coastguard Worker) 35*b6fb3261SAndroid Build Coastguard Worker 36*b6fb3261SAndroid Build Coastguard Workergenrule( 37*b6fb3261SAndroid Build Coastguard Worker name = "config_h", 38*b6fb3261SAndroid Build Coastguard Worker outs = ["config.h"], 39*b6fb3261SAndroid Build Coastguard Worker cmd = "\n".join([ 40*b6fb3261SAndroid Build Coastguard Worker "cat <<'EOF' >$@", 41*b6fb3261SAndroid Build Coastguard Worker "#define HAVE_STDDEF_H 1", 42*b6fb3261SAndroid Build Coastguard Worker "#define HAVE_STDINT_H 1", 43*b6fb3261SAndroid Build Coastguard Worker "", 44*b6fb3261SAndroid Build Coastguard Worker "#ifdef __has_builtin", 45*b6fb3261SAndroid Build Coastguard Worker "# if !defined(HAVE_BUILTIN_EXPECT) && __has_builtin(__builtin_expect)", 46*b6fb3261SAndroid Build Coastguard Worker "# define HAVE_BUILTIN_EXPECT 1", 47*b6fb3261SAndroid Build Coastguard Worker "# endif", 48*b6fb3261SAndroid Build Coastguard Worker "# if !defined(HAVE_BUILTIN_CTZ) && __has_builtin(__builtin_ctzll)", 49*b6fb3261SAndroid Build Coastguard Worker "# define HAVE_BUILTIN_CTZ 1", 50*b6fb3261SAndroid Build Coastguard Worker "# endif", 51*b6fb3261SAndroid Build Coastguard Worker "#elif defined(__GNUC__) && (__GNUC__ > 3 || __GNUC__ == 3 && __GNUC_MINOR__ >= 4)", 52*b6fb3261SAndroid Build Coastguard Worker "# ifndef HAVE_BUILTIN_EXPECT", 53*b6fb3261SAndroid Build Coastguard Worker "# define HAVE_BUILTIN_EXPECT 1", 54*b6fb3261SAndroid Build Coastguard Worker "# endif", 55*b6fb3261SAndroid Build Coastguard Worker "# ifndef HAVE_BUILTIN_CTZ", 56*b6fb3261SAndroid Build Coastguard Worker "# define HAVE_BUILTIN_CTZ 1", 57*b6fb3261SAndroid Build Coastguard Worker "# endif", 58*b6fb3261SAndroid Build Coastguard Worker "#endif", 59*b6fb3261SAndroid Build Coastguard Worker "", 60*b6fb3261SAndroid Build Coastguard Worker "#ifdef __has_include", 61*b6fb3261SAndroid Build Coastguard Worker "# if !defined(HAVE_BYTESWAP_H) && __has_include(<byteswap.h>)", 62*b6fb3261SAndroid Build Coastguard Worker "# define HAVE_BYTESWAP_H 1", 63*b6fb3261SAndroid Build Coastguard Worker "# endif", 64*b6fb3261SAndroid Build Coastguard Worker "# if !defined(HAVE_UNISTD_H) && __has_include(<unistd.h>)", 65*b6fb3261SAndroid Build Coastguard Worker "# define HAVE_UNISTD_H 1", 66*b6fb3261SAndroid Build Coastguard Worker "# endif", 67*b6fb3261SAndroid Build Coastguard Worker "# if !defined(HAVE_SYS_ENDIAN_H) && __has_include(<sys/endian.h>)", 68*b6fb3261SAndroid Build Coastguard Worker "# define HAVE_SYS_ENDIAN_H 1", 69*b6fb3261SAndroid Build Coastguard Worker "# endif", 70*b6fb3261SAndroid Build Coastguard Worker "# if !defined(HAVE_SYS_MMAN_H) && __has_include(<sys/mman.h>)", 71*b6fb3261SAndroid Build Coastguard Worker "# define HAVE_SYS_MMAN_H 1", 72*b6fb3261SAndroid Build Coastguard Worker "# endif", 73*b6fb3261SAndroid Build Coastguard Worker "# if !defined(HAVE_SYS_UIO_H) && __has_include(<sys/uio.h>)", 74*b6fb3261SAndroid Build Coastguard Worker "# define HAVE_SYS_UIO_H 1", 75*b6fb3261SAndroid Build Coastguard Worker "# endif", 76*b6fb3261SAndroid Build Coastguard Worker "#endif", 77*b6fb3261SAndroid Build Coastguard Worker "", 78*b6fb3261SAndroid Build Coastguard Worker "#ifndef SNAPPY_IS_BIG_ENDIAN", 79*b6fb3261SAndroid Build Coastguard Worker "# ifdef __s390x__", 80*b6fb3261SAndroid Build Coastguard Worker "# define SNAPPY_IS_BIG_ENDIAN 1", 81*b6fb3261SAndroid Build Coastguard Worker "# elif defined(__BYTE_ORDER__) && defined(__ORDER_BIG_ENDIAN__) && __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__", 82*b6fb3261SAndroid Build Coastguard Worker "# define SNAPPY_IS_BIG_ENDIAN 1", 83*b6fb3261SAndroid Build Coastguard Worker "# endif", 84*b6fb3261SAndroid Build Coastguard Worker "#endif", 85*b6fb3261SAndroid Build Coastguard Worker "EOF", 86*b6fb3261SAndroid Build Coastguard Worker ]), 87*b6fb3261SAndroid Build Coastguard Worker) 88*b6fb3261SAndroid Build Coastguard Worker 89*b6fb3261SAndroid Build Coastguard Workergenrule( 90*b6fb3261SAndroid Build Coastguard Worker name = "snappy_stubs_public_h", 91*b6fb3261SAndroid Build Coastguard Worker srcs = ["snappy-stubs-public.h.in"], 92*b6fb3261SAndroid Build Coastguard Worker outs = ["snappy-stubs-public.h"], 93*b6fb3261SAndroid Build Coastguard Worker cmd = ("sed " + 94*b6fb3261SAndroid Build Coastguard Worker "-e 's/$${\\(.*\\)_01}/\\1/g' " + 95*b6fb3261SAndroid Build Coastguard Worker "-e 's/$${SNAPPY_MAJOR}/1/g' " + 96*b6fb3261SAndroid Build Coastguard Worker "-e 's/$${SNAPPY_MINOR}/1/g' " + 97*b6fb3261SAndroid Build Coastguard Worker "-e 's/$${SNAPPY_PATCHLEVEL}/4/g' " + 98*b6fb3261SAndroid Build Coastguard Worker "$< >$@"), 99*b6fb3261SAndroid Build Coastguard Worker) 100