xref: /aosp_15_r20/external/sandboxed-api/oss-internship-2020/guetzli/BUILD.bazel (revision ec63e07ab9515d95e79c211197c445ef84cefa6a)
1*ec63e07aSXin Li# Copyright 2020 Google LLC
2*ec63e07aSXin Li#
3*ec63e07aSXin Li# Licensed under the Apache License, Version 2.0 (the "License");
4*ec63e07aSXin Li# you may not use this file except in compliance with the License.
5*ec63e07aSXin Li# You may obtain a copy of the License at
6*ec63e07aSXin Li#
7*ec63e07aSXin Li#     https://www.apache.org/licenses/LICENSE-2.0
8*ec63e07aSXin Li#
9*ec63e07aSXin Li# Unless required by applicable law or agreed to in writing, software
10*ec63e07aSXin Li# distributed under the License is distributed on an "AS IS" BASIS,
11*ec63e07aSXin Li# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12*ec63e07aSXin Li# See the License for the specific language governing permissions and
13*ec63e07aSXin Li# limitations under the License.
14*ec63e07aSXin Li
15*ec63e07aSXin Liload(
16*ec63e07aSXin Li    "@com_google_sandboxed_api//sandboxed_api/bazel:sapi.bzl",
17*ec63e07aSXin Li    "sapi_library",
18*ec63e07aSXin Li)
19*ec63e07aSXin Li
20*ec63e07aSXin Lilicenses(["notice"])
21*ec63e07aSXin Li
22*ec63e07aSXin Licc_library(
23*ec63e07aSXin Li    name = "guetzli_wrapper",
24*ec63e07aSXin Li    srcs = ["guetzli_entry_points.cc"],
25*ec63e07aSXin Li    hdrs = ["guetzli_entry_points.h"],
26*ec63e07aSXin Li    deps = [
27*ec63e07aSXin Li        "@com_google_absl//absl/status:statusor",
28*ec63e07aSXin Li        "@com_google_sandboxed_api//sandboxed_api:lenval_core",
29*ec63e07aSXin Li        "@com_google_sandboxed_api//sandboxed_api:vars",
30*ec63e07aSXin Li        "@guetzli//:guetzli_lib",
31*ec63e07aSXin Li        "@png_archive//:png",
32*ec63e07aSXin Li    ],
33*ec63e07aSXin Li)
34*ec63e07aSXin Li
35*ec63e07aSXin Lisapi_library(
36*ec63e07aSXin Li    name = "guetzli_sapi",
37*ec63e07aSXin Li    srcs = ["guetzli_transaction.cc"],
38*ec63e07aSXin Li    hdrs = [
39*ec63e07aSXin Li        "guetzli_sandbox.h",
40*ec63e07aSXin Li        "guetzli_transaction.h",
41*ec63e07aSXin Li    ],
42*ec63e07aSXin Li    functions = [
43*ec63e07aSXin Li        "ProcessJpeg",
44*ec63e07aSXin Li        "ProcessRgb",
45*ec63e07aSXin Li        "WriteDataToFd",
46*ec63e07aSXin Li    ],
47*ec63e07aSXin Li    input_files = ["guetzli_entry_points.h"],
48*ec63e07aSXin Li    lib = ":guetzli_wrapper",
49*ec63e07aSXin Li    lib_name = "Guetzli",
50*ec63e07aSXin Li    namespace = "guetzli::sandbox",
51*ec63e07aSXin Li    visibility = ["//visibility:public"],
52*ec63e07aSXin Li)
53*ec63e07aSXin Li
54*ec63e07aSXin Licc_binary(
55*ec63e07aSXin Li    name = "guetzli_sandboxed",
56*ec63e07aSXin Li    srcs = ["guetzli_sandboxed.cc"],
57*ec63e07aSXin Li    deps = [":guetzli_sapi"],
58*ec63e07aSXin Li)
59*ec63e07aSXin Li
60*ec63e07aSXin Licc_test(
61*ec63e07aSXin Li    name = "transaction_tests",
62*ec63e07aSXin Li    size = "large",
63*ec63e07aSXin Li    srcs = ["guetzli_transaction_test.cc"],
64*ec63e07aSXin Li    data = glob(["testdata/*"]),
65*ec63e07aSXin Li    visibility = ["//visibility:public"],
66*ec63e07aSXin Li    deps = [
67*ec63e07aSXin Li        "//:guetzli_sapi",
68*ec63e07aSXin Li        "@com_google_googletest//:gtest_main",
69*ec63e07aSXin Li    ],
70*ec63e07aSXin Li)
71*ec63e07aSXin Li
72*ec63e07aSXin Licc_test(
73*ec63e07aSXin Li    name = "sapi_lib_tests",
74*ec63e07aSXin Li    size = "large",
75*ec63e07aSXin Li    srcs = ["guetzli_sapi_test.cc"],
76*ec63e07aSXin Li    data = glob(["testdata/*"]),
77*ec63e07aSXin Li    visibility = ["//visibility:public"],
78*ec63e07aSXin Li    deps = [
79*ec63e07aSXin Li        "//:guetzli_sapi",
80*ec63e07aSXin Li        "@com_google_googletest//:gtest_main",
81*ec63e07aSXin Li    ],
82*ec63e07aSXin Li)
83