95 lines
2.1 KiB
Plaintext
95 lines
2.1 KiB
Plaintext
licenses(["notice"])
|
|
|
|
package(default_visibility = ["//visibility:public"])
|
|
|
|
C89_FLAGS = select({
|
|
"@platforms//cpu:x86_32": [
|
|
"-msse4.1",
|
|
"-DWEBP_HAVE_SSE41",
|
|
],
|
|
"@platforms//cpu:x86_64": [
|
|
"-msse4.1",
|
|
"-DWEBP_HAVE_SSE41",
|
|
],
|
|
"@platforms//cpu:armv7": [
|
|
"-marm",
|
|
"-mfpu=neon",
|
|
],
|
|
"//conditions:default": [],
|
|
})
|
|
|
|
cc_library(
|
|
name = "webp",
|
|
srcs = glob(
|
|
[
|
|
"src/enc/*.c",
|
|
"src/enc/*.h",
|
|
"src/dec/*.c",
|
|
"src/dec/*.h",
|
|
"src/mux/*.c",
|
|
"src/mux/*.h",
|
|
"src/demux/*.c",
|
|
"src/demux/*.h",
|
|
"src/dsp/*.c",
|
|
"src/dsp/*.h",
|
|
],
|
|
),
|
|
hdrs = [
|
|
"src/webp/decode.h",
|
|
"src/webp/demux.h",
|
|
"src/webp/encode.h",
|
|
"src/webp/format_constants.h",
|
|
"src/webp/mux.h",
|
|
"src/webp/mux_types.h",
|
|
"src/webp/types.h",
|
|
],
|
|
copts = C89_FLAGS,
|
|
include_prefix = "third_party/libwebp",
|
|
visibility = ["//visibility:public"],
|
|
deps = [
|
|
":sharpyuv",
|
|
":webp_utils",
|
|
],
|
|
)
|
|
|
|
cc_library(
|
|
name = "webp_utils",
|
|
srcs = glob(["src/utils/*.c"]) + [
|
|
"src/dsp/cpu.h",
|
|
"src/dsp/dsp.h",
|
|
"src/dsp/lossless_common.h",
|
|
"src/webp/decode.h",
|
|
"src/webp/encode.h",
|
|
"src/webp/format_constants.h",
|
|
"src/webp/types.h",
|
|
],
|
|
hdrs = glob(["src/utils/*.h"]),
|
|
copts = C89_FLAGS,
|
|
)
|
|
|
|
cc_library(
|
|
name = "sharpyuv",
|
|
srcs = [
|
|
"sharpyuv/sharpyuv.c",
|
|
"sharpyuv/sharpyuv_cpu.c",
|
|
"sharpyuv/sharpyuv_csp.c",
|
|
"sharpyuv/sharpyuv_dsp.c",
|
|
"sharpyuv/sharpyuv_dsp.h",
|
|
"sharpyuv/sharpyuv_gamma.c",
|
|
"sharpyuv/sharpyuv_neon.c",
|
|
"sharpyuv/sharpyuv_sse2.c",
|
|
"src/dsp/cpu.h",
|
|
"src/webp/types.h",
|
|
],
|
|
hdrs = [
|
|
"sharpyuv/sharpyuv.h",
|
|
"sharpyuv/sharpyuv_cpu.h",
|
|
"sharpyuv/sharpyuv_csp.h",
|
|
"sharpyuv/sharpyuv_gamma.h",
|
|
],
|
|
copts = C89_FLAGS,
|
|
textual_hdrs = [
|
|
"src/dsp/cpu.c",
|
|
],
|
|
)
|