1*dfc6aa5cSAndroid Build Coastguard Worker// Set up common variables for usage across the libjpeg-turbo modules 2*dfc6aa5cSAndroid Build Coastguard Worker 3*dfc6aa5cSAndroid Build Coastguard Workerpackage { 4*dfc6aa5cSAndroid Build Coastguard Worker default_applicable_licenses: ["external_libjpeg-turbo_license"], 5*dfc6aa5cSAndroid Build Coastguard Worker} 6*dfc6aa5cSAndroid Build Coastguard Worker 7*dfc6aa5cSAndroid Build Coastguard Worker// Added automatically by a large-scale-change that took the approach of 8*dfc6aa5cSAndroid Build Coastguard Worker// 'apply every license found to every target'. While this makes sure we respect 9*dfc6aa5cSAndroid Build Coastguard Worker// every license restriction, it may not be entirely correct. 10*dfc6aa5cSAndroid Build Coastguard Worker// 11*dfc6aa5cSAndroid Build Coastguard Worker// e.g. GPL in an MIT project might only apply to the contrib/ directory. 12*dfc6aa5cSAndroid Build Coastguard Worker// 13*dfc6aa5cSAndroid Build Coastguard Worker// Please consider splitting the single license below into multiple licenses, 14*dfc6aa5cSAndroid Build Coastguard Worker// taking care not to lose any license_kind information, and overriding the 15*dfc6aa5cSAndroid Build Coastguard Worker// default license using the 'licenses: [...]' property on targets as needed. 16*dfc6aa5cSAndroid Build Coastguard Worker// 17*dfc6aa5cSAndroid Build Coastguard Worker// For unused files, consider creating a 'fileGroup' with "//visibility:private" 18*dfc6aa5cSAndroid Build Coastguard Worker// to attach the license to, and including a comment whether the files may be 19*dfc6aa5cSAndroid Build Coastguard Worker// used in the current project. 20*dfc6aa5cSAndroid Build Coastguard Worker// See: http://go/android-license-faq 21*dfc6aa5cSAndroid Build Coastguard Workerlicense { 22*dfc6aa5cSAndroid Build Coastguard Worker name: "external_libjpeg-turbo_license", 23*dfc6aa5cSAndroid Build Coastguard Worker visibility: [":__subpackages__"], 24*dfc6aa5cSAndroid Build Coastguard Worker license_kinds: [ 25*dfc6aa5cSAndroid Build Coastguard Worker "SPDX-license-identifier-BSD", 26*dfc6aa5cSAndroid Build Coastguard Worker "SPDX-license-identifier-Beerware", 27*dfc6aa5cSAndroid Build Coastguard Worker "SPDX-license-identifier-MIT", 28*dfc6aa5cSAndroid Build Coastguard Worker "SPDX-license-identifier-Zlib", 29*dfc6aa5cSAndroid Build Coastguard Worker "legacy_notice", 30*dfc6aa5cSAndroid Build Coastguard Worker "legacy_unencumbered", 31*dfc6aa5cSAndroid Build Coastguard Worker ], 32*dfc6aa5cSAndroid Build Coastguard Worker license_text: [ 33*dfc6aa5cSAndroid Build Coastguard Worker "LICENSE.md", 34*dfc6aa5cSAndroid Build Coastguard Worker ], 35*dfc6aa5cSAndroid Build Coastguard Worker} 36*dfc6aa5cSAndroid Build Coastguard Worker 37*dfc6aa5cSAndroid Build Coastguard Workercc_defaults { 38*dfc6aa5cSAndroid Build Coastguard Worker name: "libjpeg-defaults", 39*dfc6aa5cSAndroid Build Coastguard Worker cflags: [ 40*dfc6aa5cSAndroid Build Coastguard Worker "-DWITH_SIMD", 41*dfc6aa5cSAndroid Build Coastguard Worker "-DNO_GETENV", 42*dfc6aa5cSAndroid Build Coastguard Worker 43*dfc6aa5cSAndroid Build Coastguard Worker "-O3", 44*dfc6aa5cSAndroid Build Coastguard Worker "-fstrict-aliasing", 45*dfc6aa5cSAndroid Build Coastguard Worker 46*dfc6aa5cSAndroid Build Coastguard Worker "-Werror", 47*dfc6aa5cSAndroid Build Coastguard Worker "-Wno-sign-compare", 48*dfc6aa5cSAndroid Build Coastguard Worker "-Wno-unused-parameter", 49*dfc6aa5cSAndroid Build Coastguard Worker ], 50*dfc6aa5cSAndroid Build Coastguard Worker srcs: [ 51*dfc6aa5cSAndroid Build Coastguard Worker "jaricom.c", 52*dfc6aa5cSAndroid Build Coastguard Worker "jcapimin.c", 53*dfc6aa5cSAndroid Build Coastguard Worker "jcapistd.c", 54*dfc6aa5cSAndroid Build Coastguard Worker "jcarith.c", 55*dfc6aa5cSAndroid Build Coastguard Worker "jccoefct.c", 56*dfc6aa5cSAndroid Build Coastguard Worker "jccolor.c", 57*dfc6aa5cSAndroid Build Coastguard Worker "jcdctmgr.c", 58*dfc6aa5cSAndroid Build Coastguard Worker "jchuff.c", 59*dfc6aa5cSAndroid Build Coastguard Worker "jcicc.c", 60*dfc6aa5cSAndroid Build Coastguard Worker "jcinit.c", 61*dfc6aa5cSAndroid Build Coastguard Worker "jcmainct.c", 62*dfc6aa5cSAndroid Build Coastguard Worker "jcmarker.c", 63*dfc6aa5cSAndroid Build Coastguard Worker "jcmaster.c", 64*dfc6aa5cSAndroid Build Coastguard Worker "jcomapi.c", 65*dfc6aa5cSAndroid Build Coastguard Worker "jcparam.c", 66*dfc6aa5cSAndroid Build Coastguard Worker "jcphuff.c", 67*dfc6aa5cSAndroid Build Coastguard Worker "jcprepct.c", 68*dfc6aa5cSAndroid Build Coastguard Worker "jcsample.c", 69*dfc6aa5cSAndroid Build Coastguard Worker "jctrans.c", 70*dfc6aa5cSAndroid Build Coastguard Worker "jdapimin.c", 71*dfc6aa5cSAndroid Build Coastguard Worker "jdapistd.c", 72*dfc6aa5cSAndroid Build Coastguard Worker "jdarith.c", 73*dfc6aa5cSAndroid Build Coastguard Worker "jdatadst.c", 74*dfc6aa5cSAndroid Build Coastguard Worker "jdatasrc.c", 75*dfc6aa5cSAndroid Build Coastguard Worker "jdcoefct.c", 76*dfc6aa5cSAndroid Build Coastguard Worker "jdcolor.c", 77*dfc6aa5cSAndroid Build Coastguard Worker "jddctmgr.c", 78*dfc6aa5cSAndroid Build Coastguard Worker "jdhuff.c", 79*dfc6aa5cSAndroid Build Coastguard Worker "jdicc.c", 80*dfc6aa5cSAndroid Build Coastguard Worker "jdinput.c", 81*dfc6aa5cSAndroid Build Coastguard Worker "jdmainct.c", 82*dfc6aa5cSAndroid Build Coastguard Worker "jdmarker.c", 83*dfc6aa5cSAndroid Build Coastguard Worker "jdmaster.c", 84*dfc6aa5cSAndroid Build Coastguard Worker "jdmerge.c", 85*dfc6aa5cSAndroid Build Coastguard Worker "jdphuff.c", 86*dfc6aa5cSAndroid Build Coastguard Worker "jdpostct.c", 87*dfc6aa5cSAndroid Build Coastguard Worker "jdsample.c", 88*dfc6aa5cSAndroid Build Coastguard Worker "jdtrans.c", 89*dfc6aa5cSAndroid Build Coastguard Worker "jerror.c", 90*dfc6aa5cSAndroid Build Coastguard Worker "jfdctflt.c", 91*dfc6aa5cSAndroid Build Coastguard Worker "jfdctfst.c", 92*dfc6aa5cSAndroid Build Coastguard Worker "jfdctint.c", 93*dfc6aa5cSAndroid Build Coastguard Worker "jidctflt.c", 94*dfc6aa5cSAndroid Build Coastguard Worker "jidctfst.c", 95*dfc6aa5cSAndroid Build Coastguard Worker "jidctint.c", 96*dfc6aa5cSAndroid Build Coastguard Worker "jidctred.c", 97*dfc6aa5cSAndroid Build Coastguard Worker "jmemmgr.c", 98*dfc6aa5cSAndroid Build Coastguard Worker "jmemnobs.c", 99*dfc6aa5cSAndroid Build Coastguard Worker "jpeg_nbits_table.c", 100*dfc6aa5cSAndroid Build Coastguard Worker "jquant1.c", 101*dfc6aa5cSAndroid Build Coastguard Worker "jquant2.c", 102*dfc6aa5cSAndroid Build Coastguard Worker "jutils.c", 103*dfc6aa5cSAndroid Build Coastguard Worker ], 104*dfc6aa5cSAndroid Build Coastguard Worker 105*dfc6aa5cSAndroid Build Coastguard Worker arch: { 106*dfc6aa5cSAndroid Build Coastguard Worker arm: { 107*dfc6aa5cSAndroid Build Coastguard Worker // By default, the build system generates ARM target binaries in 108*dfc6aa5cSAndroid Build Coastguard Worker // thumb mode, where each instruction is 16 bits wide. Defining 109*dfc6aa5cSAndroid Build Coastguard Worker // this variable as arm forces the build system to generate object 110*dfc6aa5cSAndroid Build Coastguard Worker // files in 32-bit arm mode. This is the same setting previously 111*dfc6aa5cSAndroid Build Coastguard Worker // used by libjpeg and it provides a small performance benefit. 112*dfc6aa5cSAndroid Build Coastguard Worker instruction_set: "arm", 113*dfc6aa5cSAndroid Build Coastguard Worker // ARM v7 NEON 114*dfc6aa5cSAndroid Build Coastguard Worker srcs: [ 115*dfc6aa5cSAndroid Build Coastguard Worker "simd/arm/aarch32/jchuff-neon.c", 116*dfc6aa5cSAndroid Build Coastguard Worker "simd/arm/aarch32/jsimd.c", 117*dfc6aa5cSAndroid Build Coastguard Worker "simd/arm/jccolor-neon.c", 118*dfc6aa5cSAndroid Build Coastguard Worker "simd/arm/jcgray-neon.c", 119*dfc6aa5cSAndroid Build Coastguard Worker "simd/arm/jcphuff-neon.c", 120*dfc6aa5cSAndroid Build Coastguard Worker "simd/arm/jcsample-neon.c", 121*dfc6aa5cSAndroid Build Coastguard Worker "simd/arm/jdcolor-neon.c", 122*dfc6aa5cSAndroid Build Coastguard Worker "simd/arm/jdmerge-neon.c", 123*dfc6aa5cSAndroid Build Coastguard Worker "simd/arm/jdsample-neon.c", 124*dfc6aa5cSAndroid Build Coastguard Worker "simd/arm/jfdctfst-neon.c", 125*dfc6aa5cSAndroid Build Coastguard Worker "simd/arm/jfdctint-neon.c", 126*dfc6aa5cSAndroid Build Coastguard Worker "simd/arm/jidctfst-neon.c", 127*dfc6aa5cSAndroid Build Coastguard Worker "simd/arm/jidctint-neon.c", 128*dfc6aa5cSAndroid Build Coastguard Worker "simd/arm/jidctred-neon.c", 129*dfc6aa5cSAndroid Build Coastguard Worker "simd/arm/jquanti-neon.c", 130*dfc6aa5cSAndroid Build Coastguard Worker ], 131*dfc6aa5cSAndroid Build Coastguard Worker cflags: ["-DNEON_INTRINSICS", "-mfpu=neon"], 132*dfc6aa5cSAndroid Build Coastguard Worker local_include_dirs: ["simd/arm"], 133*dfc6aa5cSAndroid Build Coastguard Worker }, 134*dfc6aa5cSAndroid Build Coastguard Worker arm64: { 135*dfc6aa5cSAndroid Build Coastguard Worker // ARM v8 64-bit NEON 136*dfc6aa5cSAndroid Build Coastguard Worker srcs: [ 137*dfc6aa5cSAndroid Build Coastguard Worker "simd/arm/aarch64/jchuff-neon.c", 138*dfc6aa5cSAndroid Build Coastguard Worker "simd/arm/aarch64/jsimd.c", 139*dfc6aa5cSAndroid Build Coastguard Worker "simd/arm/jccolor-neon.c", 140*dfc6aa5cSAndroid Build Coastguard Worker "simd/arm/jcgray-neon.c", 141*dfc6aa5cSAndroid Build Coastguard Worker "simd/arm/jcphuff-neon.c", 142*dfc6aa5cSAndroid Build Coastguard Worker "simd/arm/jcsample-neon.c", 143*dfc6aa5cSAndroid Build Coastguard Worker "simd/arm/jdcolor-neon.c", 144*dfc6aa5cSAndroid Build Coastguard Worker "simd/arm/jdmerge-neon.c", 145*dfc6aa5cSAndroid Build Coastguard Worker "simd/arm/jdsample-neon.c", 146*dfc6aa5cSAndroid Build Coastguard Worker "simd/arm/jfdctfst-neon.c", 147*dfc6aa5cSAndroid Build Coastguard Worker "simd/arm/jfdctint-neon.c", 148*dfc6aa5cSAndroid Build Coastguard Worker "simd/arm/jidctfst-neon.c", 149*dfc6aa5cSAndroid Build Coastguard Worker "simd/arm/jidctint-neon.c", 150*dfc6aa5cSAndroid Build Coastguard Worker "simd/arm/jidctred-neon.c", 151*dfc6aa5cSAndroid Build Coastguard Worker "simd/arm/jquanti-neon.c", 152*dfc6aa5cSAndroid Build Coastguard Worker ], 153*dfc6aa5cSAndroid Build Coastguard Worker cflags: ["-DNEON_INTRINSICS"], 154*dfc6aa5cSAndroid Build Coastguard Worker local_include_dirs: ["simd/arm"], 155*dfc6aa5cSAndroid Build Coastguard Worker }, 156*dfc6aa5cSAndroid Build Coastguard Worker x86: { 157*dfc6aa5cSAndroid Build Coastguard Worker // x86 MMX and SSE2 158*dfc6aa5cSAndroid Build Coastguard Worker srcs: [ 159*dfc6aa5cSAndroid Build Coastguard Worker "simd/i386/jccolor-avx2.asm", 160*dfc6aa5cSAndroid Build Coastguard Worker "simd/i386/jccolor-mmx.asm", 161*dfc6aa5cSAndroid Build Coastguard Worker "simd/i386/jccolor-sse2.asm", 162*dfc6aa5cSAndroid Build Coastguard Worker "simd/i386/jcgray-avx2.asm", 163*dfc6aa5cSAndroid Build Coastguard Worker "simd/i386/jcgray-mmx.asm", 164*dfc6aa5cSAndroid Build Coastguard Worker "simd/i386/jcgray-sse2.asm", 165*dfc6aa5cSAndroid Build Coastguard Worker "simd/i386/jchuff-sse2.asm", 166*dfc6aa5cSAndroid Build Coastguard Worker "simd/i386/jcphuff-sse2.asm", 167*dfc6aa5cSAndroid Build Coastguard Worker "simd/i386/jcsample-avx2.asm", 168*dfc6aa5cSAndroid Build Coastguard Worker "simd/i386/jcsample-mmx.asm", 169*dfc6aa5cSAndroid Build Coastguard Worker "simd/i386/jcsample-sse2.asm", 170*dfc6aa5cSAndroid Build Coastguard Worker "simd/i386/jdcolor-avx2.asm", 171*dfc6aa5cSAndroid Build Coastguard Worker "simd/i386/jdcolor-mmx.asm", 172*dfc6aa5cSAndroid Build Coastguard Worker "simd/i386/jdcolor-sse2.asm", 173*dfc6aa5cSAndroid Build Coastguard Worker "simd/i386/jdmerge-avx2.asm", 174*dfc6aa5cSAndroid Build Coastguard Worker "simd/i386/jdmerge-mmx.asm", 175*dfc6aa5cSAndroid Build Coastguard Worker "simd/i386/jdmerge-sse2.asm", 176*dfc6aa5cSAndroid Build Coastguard Worker "simd/i386/jdsample-avx2.asm", 177*dfc6aa5cSAndroid Build Coastguard Worker "simd/i386/jdsample-mmx.asm", 178*dfc6aa5cSAndroid Build Coastguard Worker "simd/i386/jdsample-sse2.asm", 179*dfc6aa5cSAndroid Build Coastguard Worker "simd/i386/jfdctflt-3dn.asm", 180*dfc6aa5cSAndroid Build Coastguard Worker "simd/i386/jfdctflt-sse.asm", 181*dfc6aa5cSAndroid Build Coastguard Worker "simd/i386/jfdctfst-mmx.asm", 182*dfc6aa5cSAndroid Build Coastguard Worker "simd/i386/jfdctfst-sse2.asm", 183*dfc6aa5cSAndroid Build Coastguard Worker "simd/i386/jfdctint-avx2.asm", 184*dfc6aa5cSAndroid Build Coastguard Worker "simd/i386/jfdctint-mmx.asm", 185*dfc6aa5cSAndroid Build Coastguard Worker "simd/i386/jfdctint-sse2.asm", 186*dfc6aa5cSAndroid Build Coastguard Worker "simd/i386/jidctflt-3dn.asm", 187*dfc6aa5cSAndroid Build Coastguard Worker "simd/i386/jidctflt-sse.asm", 188*dfc6aa5cSAndroid Build Coastguard Worker "simd/i386/jidctflt-sse2.asm", 189*dfc6aa5cSAndroid Build Coastguard Worker "simd/i386/jidctfst-mmx.asm", 190*dfc6aa5cSAndroid Build Coastguard Worker "simd/i386/jidctfst-sse2.asm", 191*dfc6aa5cSAndroid Build Coastguard Worker "simd/i386/jidctint-avx2.asm", 192*dfc6aa5cSAndroid Build Coastguard Worker "simd/i386/jidctint-mmx.asm", 193*dfc6aa5cSAndroid Build Coastguard Worker "simd/i386/jidctint-sse2.asm", 194*dfc6aa5cSAndroid Build Coastguard Worker "simd/i386/jidctred-mmx.asm", 195*dfc6aa5cSAndroid Build Coastguard Worker "simd/i386/jidctred-sse2.asm", 196*dfc6aa5cSAndroid Build Coastguard Worker "simd/i386/jquant-3dn.asm", 197*dfc6aa5cSAndroid Build Coastguard Worker "simd/i386/jquant-mmx.asm", 198*dfc6aa5cSAndroid Build Coastguard Worker "simd/i386/jquant-sse.asm", 199*dfc6aa5cSAndroid Build Coastguard Worker "simd/i386/jquantf-sse2.asm", 200*dfc6aa5cSAndroid Build Coastguard Worker "simd/i386/jquanti-avx2.asm", 201*dfc6aa5cSAndroid Build Coastguard Worker "simd/i386/jquanti-sse2.asm", 202*dfc6aa5cSAndroid Build Coastguard Worker "simd/i386/jsimd.c", 203*dfc6aa5cSAndroid Build Coastguard Worker "simd/i386/jsimdcpu.asm", 204*dfc6aa5cSAndroid Build Coastguard Worker ], 205*dfc6aa5cSAndroid Build Coastguard Worker asflags: [ 206*dfc6aa5cSAndroid Build Coastguard Worker "-DPIC", 207*dfc6aa5cSAndroid Build Coastguard Worker "-D__x86__", 208*dfc6aa5cSAndroid Build Coastguard Worker ], 209*dfc6aa5cSAndroid Build Coastguard Worker local_include_dirs: ["simd/nasm"], 210*dfc6aa5cSAndroid Build Coastguard Worker }, 211*dfc6aa5cSAndroid Build Coastguard Worker x86_64: { 212*dfc6aa5cSAndroid Build Coastguard Worker // x86-64 SSE2 213*dfc6aa5cSAndroid Build Coastguard Worker srcs: [ 214*dfc6aa5cSAndroid Build Coastguard Worker "simd/x86_64/jccolor-avx2.asm", 215*dfc6aa5cSAndroid Build Coastguard Worker "simd/x86_64/jccolor-sse2.asm", 216*dfc6aa5cSAndroid Build Coastguard Worker "simd/x86_64/jcgray-avx2.asm", 217*dfc6aa5cSAndroid Build Coastguard Worker "simd/x86_64/jcgray-sse2.asm", 218*dfc6aa5cSAndroid Build Coastguard Worker "simd/x86_64/jchuff-sse2.asm", 219*dfc6aa5cSAndroid Build Coastguard Worker "simd/x86_64/jcphuff-sse2.asm", 220*dfc6aa5cSAndroid Build Coastguard Worker "simd/x86_64/jcsample-avx2.asm", 221*dfc6aa5cSAndroid Build Coastguard Worker "simd/x86_64/jcsample-sse2.asm", 222*dfc6aa5cSAndroid Build Coastguard Worker "simd/x86_64/jdcolor-avx2.asm", 223*dfc6aa5cSAndroid Build Coastguard Worker "simd/x86_64/jdcolor-sse2.asm", 224*dfc6aa5cSAndroid Build Coastguard Worker "simd/x86_64/jdmerge-avx2.asm", 225*dfc6aa5cSAndroid Build Coastguard Worker "simd/x86_64/jdmerge-sse2.asm", 226*dfc6aa5cSAndroid Build Coastguard Worker "simd/x86_64/jdsample-avx2.asm", 227*dfc6aa5cSAndroid Build Coastguard Worker "simd/x86_64/jdsample-sse2.asm", 228*dfc6aa5cSAndroid Build Coastguard Worker "simd/x86_64/jfdctflt-sse.asm", 229*dfc6aa5cSAndroid Build Coastguard Worker "simd/x86_64/jfdctfst-sse2.asm", 230*dfc6aa5cSAndroid Build Coastguard Worker "simd/x86_64/jfdctint-avx2.asm", 231*dfc6aa5cSAndroid Build Coastguard Worker "simd/x86_64/jfdctint-sse2.asm", 232*dfc6aa5cSAndroid Build Coastguard Worker "simd/x86_64/jidctflt-sse2.asm", 233*dfc6aa5cSAndroid Build Coastguard Worker "simd/x86_64/jidctfst-sse2.asm", 234*dfc6aa5cSAndroid Build Coastguard Worker "simd/x86_64/jidctint-avx2.asm", 235*dfc6aa5cSAndroid Build Coastguard Worker "simd/x86_64/jidctint-sse2.asm", 236*dfc6aa5cSAndroid Build Coastguard Worker "simd/x86_64/jidctred-sse2.asm", 237*dfc6aa5cSAndroid Build Coastguard Worker "simd/x86_64/jquantf-sse2.asm", 238*dfc6aa5cSAndroid Build Coastguard Worker "simd/x86_64/jquanti-avx2.asm", 239*dfc6aa5cSAndroid Build Coastguard Worker "simd/x86_64/jquanti-sse2.asm", 240*dfc6aa5cSAndroid Build Coastguard Worker "simd/x86_64/jsimd.c", 241*dfc6aa5cSAndroid Build Coastguard Worker "simd/x86_64/jsimdcpu.asm", 242*dfc6aa5cSAndroid Build Coastguard Worker ], 243*dfc6aa5cSAndroid Build Coastguard Worker asflags: [ 244*dfc6aa5cSAndroid Build Coastguard Worker "-DPIC", 245*dfc6aa5cSAndroid Build Coastguard Worker "-D__x86_64__", 246*dfc6aa5cSAndroid Build Coastguard Worker ], 247*dfc6aa5cSAndroid Build Coastguard Worker local_include_dirs: ["simd/nasm"], 248*dfc6aa5cSAndroid Build Coastguard Worker }, 249*dfc6aa5cSAndroid Build Coastguard Worker riscv64: { 250*dfc6aa5cSAndroid Build Coastguard Worker srcs: ["jsimd_none.c"], 251*dfc6aa5cSAndroid Build Coastguard Worker }, 252*dfc6aa5cSAndroid Build Coastguard Worker }, 253*dfc6aa5cSAndroid Build Coastguard Worker 254*dfc6aa5cSAndroid Build Coastguard Worker target: { 255*dfc6aa5cSAndroid Build Coastguard Worker linux: { 256*dfc6aa5cSAndroid Build Coastguard Worker asflags: [ 257*dfc6aa5cSAndroid Build Coastguard Worker "-DELF", 258*dfc6aa5cSAndroid Build Coastguard Worker ], 259*dfc6aa5cSAndroid Build Coastguard Worker }, 260*dfc6aa5cSAndroid Build Coastguard Worker darwin: { 261*dfc6aa5cSAndroid Build Coastguard Worker asflags: [ 262*dfc6aa5cSAndroid Build Coastguard Worker "-DMACHO", 263*dfc6aa5cSAndroid Build Coastguard Worker ], 264*dfc6aa5cSAndroid Build Coastguard Worker }, 265*dfc6aa5cSAndroid Build Coastguard Worker windows_x86: { 266*dfc6aa5cSAndroid Build Coastguard Worker asflags: [ 267*dfc6aa5cSAndroid Build Coastguard Worker "-DWIN32", 268*dfc6aa5cSAndroid Build Coastguard Worker ], 269*dfc6aa5cSAndroid Build Coastguard Worker }, 270*dfc6aa5cSAndroid Build Coastguard Worker windows_x86_64: { 271*dfc6aa5cSAndroid Build Coastguard Worker asflags: [ 272*dfc6aa5cSAndroid Build Coastguard Worker "-DWIN64", 273*dfc6aa5cSAndroid Build Coastguard Worker ], 274*dfc6aa5cSAndroid Build Coastguard Worker }, 275*dfc6aa5cSAndroid Build Coastguard Worker }, 276*dfc6aa5cSAndroid Build Coastguard Worker} 277*dfc6aa5cSAndroid Build Coastguard Worker 278*dfc6aa5cSAndroid Build Coastguard Worker// Build as a shared library. 279*dfc6aa5cSAndroid Build Coastguard Workercc_library { 280*dfc6aa5cSAndroid Build Coastguard Worker name: "libjpeg", 281*dfc6aa5cSAndroid Build Coastguard Worker afdo: true, 282*dfc6aa5cSAndroid Build Coastguard Worker host_supported: true, 283*dfc6aa5cSAndroid Build Coastguard Worker vendor_available: true, 284*dfc6aa5cSAndroid Build Coastguard Worker product_available: true, 285*dfc6aa5cSAndroid Build Coastguard Worker defaults: ["libjpeg-defaults"], 286*dfc6aa5cSAndroid Build Coastguard Worker export_include_dirs: ["."], 287*dfc6aa5cSAndroid Build Coastguard Worker target: { 288*dfc6aa5cSAndroid Build Coastguard Worker windows: { 289*dfc6aa5cSAndroid Build Coastguard Worker enabled: true, 290*dfc6aa5cSAndroid Build Coastguard Worker }, 291*dfc6aa5cSAndroid Build Coastguard Worker }, 292*dfc6aa5cSAndroid Build Coastguard Worker sdk_version: "current", 293*dfc6aa5cSAndroid Build Coastguard Worker min_sdk_version: "apex_inherit", 294*dfc6aa5cSAndroid Build Coastguard Worker apex_available: [ 295*dfc6aa5cSAndroid Build Coastguard Worker "com.android.mediaprovider", 296*dfc6aa5cSAndroid Build Coastguard Worker "//apex_available:platform" 297*dfc6aa5cSAndroid Build Coastguard Worker ], 298*dfc6aa5cSAndroid Build Coastguard Worker} 299*dfc6aa5cSAndroid Build Coastguard Worker 300*dfc6aa5cSAndroid Build Coastguard Worker// Build static library against the NDK 301*dfc6aa5cSAndroid Build Coastguard Workercc_library_static { 302*dfc6aa5cSAndroid Build Coastguard Worker name: "libjpeg_static_ndk", 303*dfc6aa5cSAndroid Build Coastguard Worker defaults: ["libjpeg-defaults"], 304*dfc6aa5cSAndroid Build Coastguard Worker export_include_dirs: ["."], 305*dfc6aa5cSAndroid Build Coastguard Worker sdk_version: "17", 306*dfc6aa5cSAndroid Build Coastguard Worker} 307*dfc6aa5cSAndroid Build Coastguard Worker 308*dfc6aa5cSAndroid Build Coastguard Worker// Definition for TJBench 309*dfc6aa5cSAndroid Build Coastguard Workercc_binary { 310*dfc6aa5cSAndroid Build Coastguard Worker name: "tjbench", 311*dfc6aa5cSAndroid Build Coastguard Worker 312*dfc6aa5cSAndroid Build Coastguard Worker whole_static_libs: ["libjpeg"], 313*dfc6aa5cSAndroid Build Coastguard Worker 314*dfc6aa5cSAndroid Build Coastguard Worker multilib: { 315*dfc6aa5cSAndroid Build Coastguard Worker lib32: { 316*dfc6aa5cSAndroid Build Coastguard Worker stem: "tj32", 317*dfc6aa5cSAndroid Build Coastguard Worker }, 318*dfc6aa5cSAndroid Build Coastguard Worker lib64: { 319*dfc6aa5cSAndroid Build Coastguard Worker stem: "tj64", 320*dfc6aa5cSAndroid Build Coastguard Worker }, 321*dfc6aa5cSAndroid Build Coastguard Worker }, 322*dfc6aa5cSAndroid Build Coastguard Worker 323*dfc6aa5cSAndroid Build Coastguard Worker compile_multilib: "both", 324*dfc6aa5cSAndroid Build Coastguard Worker 325*dfc6aa5cSAndroid Build Coastguard Worker cflags: [ 326*dfc6aa5cSAndroid Build Coastguard Worker "-DBMP_SUPPORTED", 327*dfc6aa5cSAndroid Build Coastguard Worker "-DPPM_SUPPORTED", 328*dfc6aa5cSAndroid Build Coastguard Worker "-Werror", 329*dfc6aa5cSAndroid Build Coastguard Worker "-Wno-unused-parameter", 330*dfc6aa5cSAndroid Build Coastguard Worker ], 331*dfc6aa5cSAndroid Build Coastguard Worker 332*dfc6aa5cSAndroid Build Coastguard Worker srcs: [ 333*dfc6aa5cSAndroid Build Coastguard Worker "jdatadst-tj.c", 334*dfc6aa5cSAndroid Build Coastguard Worker "jdatasrc-tj.c", 335*dfc6aa5cSAndroid Build Coastguard Worker "rdbmp.c", 336*dfc6aa5cSAndroid Build Coastguard Worker "rdppm.c", 337*dfc6aa5cSAndroid Build Coastguard Worker "tjbench.c", 338*dfc6aa5cSAndroid Build Coastguard Worker "tjutil.c", 339*dfc6aa5cSAndroid Build Coastguard Worker "transupp.c", 340*dfc6aa5cSAndroid Build Coastguard Worker "turbojpeg.c", 341*dfc6aa5cSAndroid Build Coastguard Worker "wrbmp.c", 342*dfc6aa5cSAndroid Build Coastguard Worker "wrppm.c", 343*dfc6aa5cSAndroid Build Coastguard Worker ], 344*dfc6aa5cSAndroid Build Coastguard Worker} 345