xref: /aosp_15_r20/external/dng_sdk/Android.bp (revision fd1fabb72dbdf09ea7034f531e6f8e9f57334c8d)
1*fd1fabb7SAndroid Build Coastguard Worker// *** THIS PACKAGE HAS SPECIAL LICENSING CONDITIONS.  PLEASE
2*fd1fabb7SAndroid Build Coastguard Worker//     CONSULT THE OWNERS AND [email protected] BEFORE
3*fd1fabb7SAndroid Build Coastguard Worker//     DEPENDING ON IT IN YOUR PROJECT. ***
4*fd1fabb7SAndroid Build Coastguard Workerpackage {
5*fd1fabb7SAndroid Build Coastguard Worker    default_applicable_licenses: ["external_dng_sdk_license"],
6*fd1fabb7SAndroid Build Coastguard Worker}
7*fd1fabb7SAndroid Build Coastguard Worker
8*fd1fabb7SAndroid Build Coastguard Worker// Added automatically by a large-scale-change that took the approach of
9*fd1fabb7SAndroid Build Coastguard Worker// 'apply every license found to every target'. While this makes sure we respect
10*fd1fabb7SAndroid Build Coastguard Worker// every license restriction, it may not be entirely correct.
11*fd1fabb7SAndroid Build Coastguard Worker//
12*fd1fabb7SAndroid Build Coastguard Worker// e.g. GPL in an MIT project might only apply to the contrib/ directory.
13*fd1fabb7SAndroid Build Coastguard Worker//
14*fd1fabb7SAndroid Build Coastguard Worker// Please consider splitting the single license below into multiple licenses,
15*fd1fabb7SAndroid Build Coastguard Worker// taking care not to lose any license_kind information, and overriding the
16*fd1fabb7SAndroid Build Coastguard Worker// default license using the 'licenses: [...]' property on targets as needed.
17*fd1fabb7SAndroid Build Coastguard Worker//
18*fd1fabb7SAndroid Build Coastguard Worker// For unused files, consider creating a 'fileGroup' with "//visibility:private"
19*fd1fabb7SAndroid Build Coastguard Worker// to attach the license to, and including a comment whether the files may be
20*fd1fabb7SAndroid Build Coastguard Worker// used in the current project.
21*fd1fabb7SAndroid Build Coastguard Worker//
22*fd1fabb7SAndroid Build Coastguard Worker// large-scale-change included anything that looked like it might be a license
23*fd1fabb7SAndroid Build Coastguard Worker// text as a license_text. e.g. LICENSE, NOTICE, COPYING etc.
24*fd1fabb7SAndroid Build Coastguard Worker//
25*fd1fabb7SAndroid Build Coastguard Worker// Please consider removing redundant or irrelevant files from 'license_text:'.
26*fd1fabb7SAndroid Build Coastguard Worker// See: http://go/android-license-faq
27*fd1fabb7SAndroid Build Coastguard Workerlicense {
28*fd1fabb7SAndroid Build Coastguard Worker    name: "external_dng_sdk_license",
29*fd1fabb7SAndroid Build Coastguard Worker    visibility: [":__subpackages__"],
30*fd1fabb7SAndroid Build Coastguard Worker    license_kinds: [
31*fd1fabb7SAndroid Build Coastguard Worker        "SPDX-license-identifier-Apache-2.0",
32*fd1fabb7SAndroid Build Coastguard Worker        "SPDX-license-identifier-MIT",
33*fd1fabb7SAndroid Build Coastguard Worker        "legacy_by_exception_only", // by exception only
34*fd1fabb7SAndroid Build Coastguard Worker    ],
35*fd1fabb7SAndroid Build Coastguard Worker    license_text: [
36*fd1fabb7SAndroid Build Coastguard Worker        "LICENSE",
37*fd1fabb7SAndroid Build Coastguard Worker        "LICENSE.source_code",
38*fd1fabb7SAndroid Build Coastguard Worker        "LICENSE.technology",
39*fd1fabb7SAndroid Build Coastguard Worker        "NOTICE",
40*fd1fabb7SAndroid Build Coastguard Worker        "PATENTS",
41*fd1fabb7SAndroid Build Coastguard Worker    ],
42*fd1fabb7SAndroid Build Coastguard Worker}
43*fd1fabb7SAndroid Build Coastguard Worker
44*fd1fabb7SAndroid Build Coastguard Workercc_defaults {
45*fd1fabb7SAndroid Build Coastguard Worker    name: "libdng_sdk-defaults",
46*fd1fabb7SAndroid Build Coastguard Worker    srcs: [
47*fd1fabb7SAndroid Build Coastguard Worker        "source/dng_1d_function.cpp",
48*fd1fabb7SAndroid Build Coastguard Worker        "source/dng_1d_table.cpp",
49*fd1fabb7SAndroid Build Coastguard Worker        "source/dng_abort_sniffer.cpp",
50*fd1fabb7SAndroid Build Coastguard Worker        "source/dng_area_task.cpp",
51*fd1fabb7SAndroid Build Coastguard Worker        "source/dng_bad_pixels.cpp",
52*fd1fabb7SAndroid Build Coastguard Worker        "source/dng_bottlenecks.cpp",
53*fd1fabb7SAndroid Build Coastguard Worker        "source/dng_camera_profile.cpp",
54*fd1fabb7SAndroid Build Coastguard Worker        "source/dng_color_space.cpp",
55*fd1fabb7SAndroid Build Coastguard Worker        "source/dng_color_spec.cpp",
56*fd1fabb7SAndroid Build Coastguard Worker        "source/dng_date_time.cpp",
57*fd1fabb7SAndroid Build Coastguard Worker        "source/dng_exceptions.cpp",
58*fd1fabb7SAndroid Build Coastguard Worker        "source/dng_exif.cpp",
59*fd1fabb7SAndroid Build Coastguard Worker        "source/dng_file_stream.cpp",
60*fd1fabb7SAndroid Build Coastguard Worker        "source/dng_filter_task.cpp",
61*fd1fabb7SAndroid Build Coastguard Worker        "source/dng_fingerprint.cpp",
62*fd1fabb7SAndroid Build Coastguard Worker        "source/dng_gain_map.cpp",
63*fd1fabb7SAndroid Build Coastguard Worker        "source/dng_globals.cpp",
64*fd1fabb7SAndroid Build Coastguard Worker        "source/dng_host.cpp",
65*fd1fabb7SAndroid Build Coastguard Worker        "source/dng_hue_sat_map.cpp",
66*fd1fabb7SAndroid Build Coastguard Worker        "source/dng_ifd.cpp",
67*fd1fabb7SAndroid Build Coastguard Worker        "source/dng_image.cpp",
68*fd1fabb7SAndroid Build Coastguard Worker        "source/dng_image_writer.cpp",
69*fd1fabb7SAndroid Build Coastguard Worker        "source/dng_info.cpp",
70*fd1fabb7SAndroid Build Coastguard Worker        "source/dng_iptc.cpp",
71*fd1fabb7SAndroid Build Coastguard Worker        "source/dng_jpeg_image.cpp",
72*fd1fabb7SAndroid Build Coastguard Worker        "source/dng_jpeg_memory_source.cpp",
73*fd1fabb7SAndroid Build Coastguard Worker        "source/dng_lens_correction.cpp",
74*fd1fabb7SAndroid Build Coastguard Worker        "source/dng_linearization_info.cpp",
75*fd1fabb7SAndroid Build Coastguard Worker        "source/dng_lossless_jpeg.cpp",
76*fd1fabb7SAndroid Build Coastguard Worker        "source/dng_matrix.cpp",
77*fd1fabb7SAndroid Build Coastguard Worker        "source/dng_memory.cpp",
78*fd1fabb7SAndroid Build Coastguard Worker        "source/dng_memory_stream.cpp",
79*fd1fabb7SAndroid Build Coastguard Worker        "source/dng_misc_opcodes.cpp",
80*fd1fabb7SAndroid Build Coastguard Worker        "source/dng_mosaic_info.cpp",
81*fd1fabb7SAndroid Build Coastguard Worker        "source/dng_mutex.cpp",
82*fd1fabb7SAndroid Build Coastguard Worker        "source/dng_negative.cpp",
83*fd1fabb7SAndroid Build Coastguard Worker        "source/dng_opcode_list.cpp",
84*fd1fabb7SAndroid Build Coastguard Worker        "source/dng_opcodes.cpp",
85*fd1fabb7SAndroid Build Coastguard Worker        "source/dng_orientation.cpp",
86*fd1fabb7SAndroid Build Coastguard Worker        "source/dng_parse_utils.cpp",
87*fd1fabb7SAndroid Build Coastguard Worker        "source/dng_pixel_buffer.cpp",
88*fd1fabb7SAndroid Build Coastguard Worker        "source/dng_point.cpp",
89*fd1fabb7SAndroid Build Coastguard Worker        "source/dng_preview.cpp",
90*fd1fabb7SAndroid Build Coastguard Worker        "source/dng_pthread.cpp",
91*fd1fabb7SAndroid Build Coastguard Worker        "source/dng_rational.cpp",
92*fd1fabb7SAndroid Build Coastguard Worker        "source/dng_read_image.cpp",
93*fd1fabb7SAndroid Build Coastguard Worker        "source/dng_rect.cpp",
94*fd1fabb7SAndroid Build Coastguard Worker        "source/dng_ref_counted_block.cpp",
95*fd1fabb7SAndroid Build Coastguard Worker        "source/dng_reference.cpp",
96*fd1fabb7SAndroid Build Coastguard Worker        "source/dng_render.cpp",
97*fd1fabb7SAndroid Build Coastguard Worker        "source/dng_resample.cpp",
98*fd1fabb7SAndroid Build Coastguard Worker        "source/dng_safe_arithmetic.cpp",
99*fd1fabb7SAndroid Build Coastguard Worker        "source/dng_shared.cpp",
100*fd1fabb7SAndroid Build Coastguard Worker        "source/dng_simple_image.cpp",
101*fd1fabb7SAndroid Build Coastguard Worker        "source/dng_spline.cpp",
102*fd1fabb7SAndroid Build Coastguard Worker        "source/dng_stream.cpp",
103*fd1fabb7SAndroid Build Coastguard Worker        "source/dng_string.cpp",
104*fd1fabb7SAndroid Build Coastguard Worker        "source/dng_string_list.cpp",
105*fd1fabb7SAndroid Build Coastguard Worker        "source/dng_tag_types.cpp",
106*fd1fabb7SAndroid Build Coastguard Worker        "source/dng_temperature.cpp",
107*fd1fabb7SAndroid Build Coastguard Worker        "source/dng_tile_iterator.cpp",
108*fd1fabb7SAndroid Build Coastguard Worker        "source/dng_tone_curve.cpp",
109*fd1fabb7SAndroid Build Coastguard Worker        "source/dng_utils.cpp",
110*fd1fabb7SAndroid Build Coastguard Worker        "source/dng_xy_coord.cpp",
111*fd1fabb7SAndroid Build Coastguard Worker        "source/dng_xmp.cpp",
112*fd1fabb7SAndroid Build Coastguard Worker    ],
113*fd1fabb7SAndroid Build Coastguard Worker    cflags: [
114*fd1fabb7SAndroid Build Coastguard Worker        "-DUNIX_ENV=1",
115*fd1fabb7SAndroid Build Coastguard Worker        "-DqDNGBigEndian=0",
116*fd1fabb7SAndroid Build Coastguard Worker        "-DqDNGThreadSafe=1",
117*fd1fabb7SAndroid Build Coastguard Worker        "-DqDNGUseLibJPEG=1",
118*fd1fabb7SAndroid Build Coastguard Worker        "-DqDNGUseXMP=0",
119*fd1fabb7SAndroid Build Coastguard Worker        "-DqDNGValidateTarget=1",
120*fd1fabb7SAndroid Build Coastguard Worker        "-DqAndroid=1",
121*fd1fabb7SAndroid Build Coastguard Worker        "-Werror",
122*fd1fabb7SAndroid Build Coastguard Worker        "-Wsign-compare",
123*fd1fabb7SAndroid Build Coastguard Worker        "-Wno-reorder",
124*fd1fabb7SAndroid Build Coastguard Worker        "-Wframe-larger-than=20000",
125*fd1fabb7SAndroid Build Coastguard Worker
126*fd1fabb7SAndroid Build Coastguard Worker        // Ignore unused parameters.
127*fd1fabb7SAndroid Build Coastguard Worker        "-Wno-unused-parameter",
128*fd1fabb7SAndroid Build Coastguard Worker
129*fd1fabb7SAndroid Build Coastguard Worker        // Some integral return types are annotated with "const."
130*fd1fabb7SAndroid Build Coastguard Worker        "-Wno-ignored-qualifiers",
131*fd1fabb7SAndroid Build Coastguard Worker    ],
132*fd1fabb7SAndroid Build Coastguard Worker
133*fd1fabb7SAndroid Build Coastguard Worker    rtti: true,
134*fd1fabb7SAndroid Build Coastguard Worker    cppflags: ["-fexceptions"],
135*fd1fabb7SAndroid Build Coastguard Worker
136*fd1fabb7SAndroid Build Coastguard Worker    sanitize: {
137*fd1fabb7SAndroid Build Coastguard Worker        misc_undefined: [
138*fd1fabb7SAndroid Build Coastguard Worker            "unsigned-integer-overflow",
139*fd1fabb7SAndroid Build Coastguard Worker            "signed-integer-overflow",
140*fd1fabb7SAndroid Build Coastguard Worker        ],
141*fd1fabb7SAndroid Build Coastguard Worker    },
142*fd1fabb7SAndroid Build Coastguard Worker}
143*fd1fabb7SAndroid Build Coastguard Worker
144*fd1fabb7SAndroid Build Coastguard Workercc_library {
145*fd1fabb7SAndroid Build Coastguard Worker    name: "libdng_sdk",
146*fd1fabb7SAndroid Build Coastguard Worker    host_supported: true,
147*fd1fabb7SAndroid Build Coastguard Worker    vendor_available: true,
148*fd1fabb7SAndroid Build Coastguard Worker    defaults: ["libdng_sdk-defaults"],
149*fd1fabb7SAndroid Build Coastguard Worker
150*fd1fabb7SAndroid Build Coastguard Worker    cflags: ["-DqDNGValidate=0"],
151*fd1fabb7SAndroid Build Coastguard Worker
152*fd1fabb7SAndroid Build Coastguard Worker    shared_libs: [
153*fd1fabb7SAndroid Build Coastguard Worker        "libz",
154*fd1fabb7SAndroid Build Coastguard Worker        "libjpeg",
155*fd1fabb7SAndroid Build Coastguard Worker    ],
156*fd1fabb7SAndroid Build Coastguard Worker
157*fd1fabb7SAndroid Build Coastguard Worker    target: {
158*fd1fabb7SAndroid Build Coastguard Worker        host_linux: {
159*fd1fabb7SAndroid Build Coastguard Worker            static_libs: ["libcompiler_rt-extras"],
160*fd1fabb7SAndroid Build Coastguard Worker        },
161*fd1fabb7SAndroid Build Coastguard Worker        darwin: {
162*fd1fabb7SAndroid Build Coastguard Worker            host_ldlibs: [
163*fd1fabb7SAndroid Build Coastguard Worker                "-framework AppKit",
164*fd1fabb7SAndroid Build Coastguard Worker            ],
165*fd1fabb7SAndroid Build Coastguard Worker        },
166*fd1fabb7SAndroid Build Coastguard Worker        windows: {
167*fd1fabb7SAndroid Build Coastguard Worker            enabled: true,
168*fd1fabb7SAndroid Build Coastguard Worker            cflags: [
169*fd1fabb7SAndroid Build Coastguard Worker                "-D_LIBCPP_ENABLE_CXX17_REMOVED_AUTO_PTR",
170*fd1fabb7SAndroid Build Coastguard Worker                "-Wno-null-arithmetic",
171*fd1fabb7SAndroid Build Coastguard Worker                "-Wno-sign-compare",
172*fd1fabb7SAndroid Build Coastguard Worker                "-Wno-tautological-pointer-compare",
173*fd1fabb7SAndroid Build Coastguard Worker                "-Wno-unknown-pragmas",
174*fd1fabb7SAndroid Build Coastguard Worker            ],
175*fd1fabb7SAndroid Build Coastguard Worker            static_libs: ["libcompiler_rt-extras"],
176*fd1fabb7SAndroid Build Coastguard Worker        },
177*fd1fabb7SAndroid Build Coastguard Worker    },
178*fd1fabb7SAndroid Build Coastguard Worker
179*fd1fabb7SAndroid Build Coastguard Worker    export_include_dirs: ["source"],
180*fd1fabb7SAndroid Build Coastguard Worker}
181*fd1fabb7SAndroid Build Coastguard Worker
182*fd1fabb7SAndroid Build Coastguard Worker// dng sdk validating version static library
183*fd1fabb7SAndroid Build Coastguard Worker// This version will print out validation warnings/errors to stderr
184*fd1fabb7SAndroid Build Coastguard Worker// and is built against the NDK for use with CTS
185*fd1fabb7SAndroid Build Coastguard Worker// ========================================================
186*fd1fabb7SAndroid Build Coastguard Worker
187*fd1fabb7SAndroid Build Coastguard Workercc_library_static {
188*fd1fabb7SAndroid Build Coastguard Worker    name: "libdng_sdk_validate",
189*fd1fabb7SAndroid Build Coastguard Worker    defaults: ["libdng_sdk-defaults"],
190*fd1fabb7SAndroid Build Coastguard Worker
191*fd1fabb7SAndroid Build Coastguard Worker    cflags: ["-DqDNGValidate=1"],
192*fd1fabb7SAndroid Build Coastguard Worker
193*fd1fabb7SAndroid Build Coastguard Worker    static_libs: ["libjpeg_static_ndk"],
194*fd1fabb7SAndroid Build Coastguard Worker    shared_libs: ["libz"],
195*fd1fabb7SAndroid Build Coastguard Worker
196*fd1fabb7SAndroid Build Coastguard Worker    export_include_dirs: ["source"],
197*fd1fabb7SAndroid Build Coastguard Worker
198*fd1fabb7SAndroid Build Coastguard Worker    sdk_version: "24",
199*fd1fabb7SAndroid Build Coastguard Worker    stl: "c++_static",
200*fd1fabb7SAndroid Build Coastguard Worker}
201*fd1fabb7SAndroid Build Coastguard Worker
202*fd1fabb7SAndroid Build Coastguard Worker// dng sdk unittests for target
203*fd1fabb7SAndroid Build Coastguard Worker// ========================================================
204*fd1fabb7SAndroid Build Coastguard Worker
205*fd1fabb7SAndroid Build Coastguard Workercc_binary {
206*fd1fabb7SAndroid Build Coastguard Worker    name: "dng_validate",
207*fd1fabb7SAndroid Build Coastguard Worker    defaults: ["libdng_sdk-defaults"],
208*fd1fabb7SAndroid Build Coastguard Worker    srcs: ["source/dng_validate.cpp"],
209*fd1fabb7SAndroid Build Coastguard Worker
210*fd1fabb7SAndroid Build Coastguard Worker    cflags: ["-DqDNGValidate=1"],
211*fd1fabb7SAndroid Build Coastguard Worker
212*fd1fabb7SAndroid Build Coastguard Worker    shared_libs: [
213*fd1fabb7SAndroid Build Coastguard Worker        "libz",
214*fd1fabb7SAndroid Build Coastguard Worker        "libjpeg",
215*fd1fabb7SAndroid Build Coastguard Worker    ],
216*fd1fabb7SAndroid Build Coastguard Worker}
217*fd1fabb7SAndroid Build Coastguard Worker
218*fd1fabb7SAndroid Build Coastguard Workercc_binary_host {
219*fd1fabb7SAndroid Build Coastguard Worker    name: "dng_validate_host",
220*fd1fabb7SAndroid Build Coastguard Worker    defaults: ["libdng_sdk-defaults"],
221*fd1fabb7SAndroid Build Coastguard Worker    srcs: ["source/dng_validate.cpp"],
222*fd1fabb7SAndroid Build Coastguard Worker
223*fd1fabb7SAndroid Build Coastguard Worker    cflags: ["-DqDNGValidate=1"],
224*fd1fabb7SAndroid Build Coastguard Worker
225*fd1fabb7SAndroid Build Coastguard Worker    shared_libs: [
226*fd1fabb7SAndroid Build Coastguard Worker        "libz",
227*fd1fabb7SAndroid Build Coastguard Worker        "libjpeg",
228*fd1fabb7SAndroid Build Coastguard Worker    ],
229*fd1fabb7SAndroid Build Coastguard Worker
230*fd1fabb7SAndroid Build Coastguard Worker    target: {
231*fd1fabb7SAndroid Build Coastguard Worker        darwin: {
232*fd1fabb7SAndroid Build Coastguard Worker            enabled: false, // b/67474260
233*fd1fabb7SAndroid Build Coastguard Worker        },
234*fd1fabb7SAndroid Build Coastguard Worker    },
235*fd1fabb7SAndroid Build Coastguard Worker}
236