xref: /aosp_15_r20/external/libexif/Android.bp (revision 735d6239c16e246968a03ef6e2db00d67bad6cdc)
1*735d6239SKiyoung Kim//
2*735d6239SKiyoung Kim// Copyright (C) 2013 The Android Open Source Project
3*735d6239SKiyoung Kim//
4*735d6239SKiyoung Kim// Licensed under the Apache License, Version 2.0 (the "License");
5*735d6239SKiyoung Kim// you may not use this file except in compliance with the License.
6*735d6239SKiyoung Kim// You may obtain a copy of the License at
7*735d6239SKiyoung Kim//
8*735d6239SKiyoung Kim//      http://www.apache.org/licenses/LICENSE-2.0
9*735d6239SKiyoung Kim//
10*735d6239SKiyoung Kim// Unless required by applicable law or agreed to in writing, software
11*735d6239SKiyoung Kim// distributed under the License is distributed on an "AS IS" BASIS,
12*735d6239SKiyoung Kim// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13*735d6239SKiyoung Kim// See the License for the specific language governing permissions and
14*735d6239SKiyoung Kim// limitations under the License.
15*735d6239SKiyoung Kim//
16*735d6239SKiyoung Kim
17*735d6239SKiyoung Kim// WARNING: this makefile builds a shared library. Do not ever make it build
18*735d6239SKiyoung Kim// a static library or otherwise statically link libexif with your code.
19*735d6239SKiyoung Kimpackage {
20*735d6239SKiyoung Kim    default_applicable_licenses: ["external_libexif_license"],
21*735d6239SKiyoung Kim}
22*735d6239SKiyoung Kim
23*735d6239SKiyoung Kim// Added automatically by a large-scale-change that took the approach of
24*735d6239SKiyoung Kim// 'apply every license found to every target'. While this makes sure we respect
25*735d6239SKiyoung Kim// every license restriction, it may not be entirely correct.
26*735d6239SKiyoung Kim//
27*735d6239SKiyoung Kim// e.g. GPL in an MIT project might only apply to the contrib/ directory.
28*735d6239SKiyoung Kim//
29*735d6239SKiyoung Kim// Please consider splitting the single license below into multiple licenses,
30*735d6239SKiyoung Kim// taking care not to lose any license_kind information, and overriding the
31*735d6239SKiyoung Kim// default license using the 'licenses: [...]' property on targets as needed.
32*735d6239SKiyoung Kim//
33*735d6239SKiyoung Kim// For unused files, consider creating a 'fileGroup' with "//visibility:private"
34*735d6239SKiyoung Kim// to attach the license to, and including a comment whether the files may be
35*735d6239SKiyoung Kim// used in the current project.
36*735d6239SKiyoung Kim//
37*735d6239SKiyoung Kim// large-scale-change included anything that looked like it might be a license
38*735d6239SKiyoung Kim// text as a license_text. e.g. LICENSE, NOTICE, COPYING etc.
39*735d6239SKiyoung Kim//
40*735d6239SKiyoung Kim// Please consider removing redundant or irrelevant files from 'license_text:'.
41*735d6239SKiyoung Kim// See: http://go/android-license-faq
42*735d6239SKiyoung Kimlicense {
43*735d6239SKiyoung Kim    name: "external_libexif_license",
44*735d6239SKiyoung Kim    visibility: [":__subpackages__"],
45*735d6239SKiyoung Kim    license_kinds: [
46*735d6239SKiyoung Kim        "SPDX-license-identifier-Apache-2.0",
47*735d6239SKiyoung Kim        "SPDX-license-identifier-BSD",
48*735d6239SKiyoung Kim        "SPDX-license-identifier-FSFAP",
49*735d6239SKiyoung Kim        "SPDX-license-identifier-GPL",
50*735d6239SKiyoung Kim        "SPDX-license-identifier-LGPL",
51*735d6239SKiyoung Kim        "SPDX-license-identifier-LGPL-2.1",
52*735d6239SKiyoung Kim        "SPDX-license-identifier-LGPL-3.0",
53*735d6239SKiyoung Kim        "SPDX-license-identifier-MIT",
54*735d6239SKiyoung Kim        "legacy_notice",
55*735d6239SKiyoung Kim        "legacy_permissive",
56*735d6239SKiyoung Kim        "legacy_unencumbered",
57*735d6239SKiyoung Kim    ],
58*735d6239SKiyoung Kim    license_text: [
59*735d6239SKiyoung Kim        "COPYING",
60*735d6239SKiyoung Kim        "NOTICE",
61*735d6239SKiyoung Kim    ],
62*735d6239SKiyoung Kim}
63*735d6239SKiyoung Kim
64*735d6239SKiyoung Kimcc_library_shared {
65*735d6239SKiyoung Kim    name: "libexif",
66*735d6239SKiyoung Kim    host_supported: true,
67*735d6239SKiyoung Kim    vendor_available: true,
68*735d6239SKiyoung Kim
69*735d6239SKiyoung Kim    srcs: [
70*735d6239SKiyoung Kim        "libexif/exif-byte-order.c",
71*735d6239SKiyoung Kim        "libexif/exif-content.c",
72*735d6239SKiyoung Kim        "libexif/exif-data.c",
73*735d6239SKiyoung Kim        "libexif/exif-entry.c",
74*735d6239SKiyoung Kim        "libexif/exif-format.c",
75*735d6239SKiyoung Kim        "libexif/exif-ifd.c",
76*735d6239SKiyoung Kim        "libexif/exif-loader.c",
77*735d6239SKiyoung Kim        "libexif/exif-log.c",
78*735d6239SKiyoung Kim        "libexif/exif-mem.c",
79*735d6239SKiyoung Kim        "libexif/exif-mnote-data.c",
80*735d6239SKiyoung Kim        "libexif/exif-tag.c",
81*735d6239SKiyoung Kim        "libexif/exif-utils.c",
82*735d6239SKiyoung Kim    ],
83*735d6239SKiyoung Kim
84*735d6239SKiyoung Kim    shared_libs: [
85*735d6239SKiyoung Kim        "liblog",
86*735d6239SKiyoung Kim    ],
87*735d6239SKiyoung Kim
88*735d6239SKiyoung Kim    export_include_dirs: ["."],
89*735d6239SKiyoung Kim
90*735d6239SKiyoung Kim    cflags: [
91*735d6239SKiyoung Kim        "-ftrapv",
92*735d6239SKiyoung Kim
93*735d6239SKiyoung Kim        // TODO(b/27347470): Disable the following warnings.
94*735d6239SKiyoung Kim        "-Wno-conversion",
95*735d6239SKiyoung Kim        "-Wno-unused-parameter",
96*735d6239SKiyoung Kim        "-Wno-missing-field-initializers",
97*735d6239SKiyoung Kim        "-Wno-switch",
98*735d6239SKiyoung Kim        "-Wno-absolute-value",
99*735d6239SKiyoung Kim        "-Werror",
100*735d6239SKiyoung Kim    ],
101*735d6239SKiyoung Kim
102*735d6239SKiyoung Kim    sanitize: {
103*735d6239SKiyoung Kim        integer_overflow: true,
104*735d6239SKiyoung Kim        blocklist: "libexif_blocklist.txt",
105*735d6239SKiyoung Kim    },
106*735d6239SKiyoung Kim}
107*735d6239SKiyoung Kim
108*735d6239SKiyoung Kim// WARNING: this makefile builds a shared library. Do not ever make it build
109*735d6239SKiyoung Kim// a static library or otherwise statically link libexif with your code.
110