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