xref: /aosp_15_r20/external/tensorflow/third_party/png.BUILD (revision b6fb3261f9314811a0f4371741dbb8839866f948)
1*b6fb3261SAndroid Build Coastguard Worker# Description:
2*b6fb3261SAndroid Build Coastguard Worker#   libpng is the official PNG reference library.
3*b6fb3261SAndroid Build Coastguard Worker
4*b6fb3261SAndroid Build Coastguard Workerlicenses(["notice"])  # BSD/MIT-like license
5*b6fb3261SAndroid Build Coastguard Worker
6*b6fb3261SAndroid Build Coastguard Workerexports_files(["LICENSE"])
7*b6fb3261SAndroid Build Coastguard Worker
8*b6fb3261SAndroid Build Coastguard Workercc_library(
9*b6fb3261SAndroid Build Coastguard Worker    name = "png",
10*b6fb3261SAndroid Build Coastguard Worker    srcs = [
11*b6fb3261SAndroid Build Coastguard Worker        "png.c",
12*b6fb3261SAndroid Build Coastguard Worker        "pngdebug.h",
13*b6fb3261SAndroid Build Coastguard Worker        "pngerror.c",
14*b6fb3261SAndroid Build Coastguard Worker        "pngget.c",
15*b6fb3261SAndroid Build Coastguard Worker        "pnginfo.h",
16*b6fb3261SAndroid Build Coastguard Worker        "pnglibconf.h",
17*b6fb3261SAndroid Build Coastguard Worker        "pngmem.c",
18*b6fb3261SAndroid Build Coastguard Worker        "pngpread.c",
19*b6fb3261SAndroid Build Coastguard Worker        "pngpriv.h",
20*b6fb3261SAndroid Build Coastguard Worker        "pngread.c",
21*b6fb3261SAndroid Build Coastguard Worker        "pngrio.c",
22*b6fb3261SAndroid Build Coastguard Worker        "pngrtran.c",
23*b6fb3261SAndroid Build Coastguard Worker        "pngrutil.c",
24*b6fb3261SAndroid Build Coastguard Worker        "pngset.c",
25*b6fb3261SAndroid Build Coastguard Worker        "pngstruct.h",
26*b6fb3261SAndroid Build Coastguard Worker        "pngtrans.c",
27*b6fb3261SAndroid Build Coastguard Worker        "pngwio.c",
28*b6fb3261SAndroid Build Coastguard Worker        "pngwrite.c",
29*b6fb3261SAndroid Build Coastguard Worker        "pngwtran.c",
30*b6fb3261SAndroid Build Coastguard Worker        "pngwutil.c",
31*b6fb3261SAndroid Build Coastguard Worker    ] + select({
32*b6fb3261SAndroid Build Coastguard Worker        ":windows": [
33*b6fb3261SAndroid Build Coastguard Worker            "intel/intel_init.c",
34*b6fb3261SAndroid Build Coastguard Worker            "intel/filter_sse2_intrinsics.c",
35*b6fb3261SAndroid Build Coastguard Worker        ],
36*b6fb3261SAndroid Build Coastguard Worker        "@org_tensorflow//tensorflow:linux_ppc64le": [
37*b6fb3261SAndroid Build Coastguard Worker            "powerpc/powerpc_init.c",
38*b6fb3261SAndroid Build Coastguard Worker            "powerpc/filter_vsx_intrinsics.c",
39*b6fb3261SAndroid Build Coastguard Worker        ],
40*b6fb3261SAndroid Build Coastguard Worker        "//conditions:default": [
41*b6fb3261SAndroid Build Coastguard Worker        ],
42*b6fb3261SAndroid Build Coastguard Worker    }),
43*b6fb3261SAndroid Build Coastguard Worker    hdrs = [
44*b6fb3261SAndroid Build Coastguard Worker        "png.h",
45*b6fb3261SAndroid Build Coastguard Worker        "pngconf.h",
46*b6fb3261SAndroid Build Coastguard Worker    ],
47*b6fb3261SAndroid Build Coastguard Worker    copts = select({
48*b6fb3261SAndroid Build Coastguard Worker        ":windows": ["-DPNG_INTEL_SSE_OPT=1"],
49*b6fb3261SAndroid Build Coastguard Worker        "//conditions:default": [],
50*b6fb3261SAndroid Build Coastguard Worker    }),
51*b6fb3261SAndroid Build Coastguard Worker    includes = ["."],
52*b6fb3261SAndroid Build Coastguard Worker    linkopts = select({
53*b6fb3261SAndroid Build Coastguard Worker        ":windows": [],
54*b6fb3261SAndroid Build Coastguard Worker        "//conditions:default": ["-lm"],
55*b6fb3261SAndroid Build Coastguard Worker    }),
56*b6fb3261SAndroid Build Coastguard Worker    visibility = ["//visibility:public"],
57*b6fb3261SAndroid Build Coastguard Worker    deps = ["@zlib"],
58*b6fb3261SAndroid Build Coastguard Worker)
59*b6fb3261SAndroid Build Coastguard Worker
60*b6fb3261SAndroid Build Coastguard Workergenrule(
61*b6fb3261SAndroid Build Coastguard Worker    name = "snappy_stubs_public_h",
62*b6fb3261SAndroid Build Coastguard Worker    srcs = ["scripts/pnglibconf.h.prebuilt"],
63*b6fb3261SAndroid Build Coastguard Worker    outs = ["pnglibconf.h"],
64*b6fb3261SAndroid Build Coastguard Worker    cmd = "sed -e 's/PNG_ZLIB_VERNUM 0/PNG_ZLIB_VERNUM 0x12c0/' $< >$@",
65*b6fb3261SAndroid Build Coastguard Worker)
66*b6fb3261SAndroid Build Coastguard Worker
67*b6fb3261SAndroid Build Coastguard Workerconfig_setting(
68*b6fb3261SAndroid Build Coastguard Worker    name = "windows",
69*b6fb3261SAndroid Build Coastguard Worker    values = {"cpu": "x64_windows"},
70*b6fb3261SAndroid Build Coastguard Worker)
71