xref: /aosp_15_r20/external/curl/Android.bp (revision 6236dae45794135f37c4eb022389c904c8b0090d)
1*6236dae4SAndroid Build Coastguard Workerpackage {
2*6236dae4SAndroid Build Coastguard Worker    default_applicable_licenses: ["external_curl_license"],
3*6236dae4SAndroid Build Coastguard Worker}
4*6236dae4SAndroid Build Coastguard Worker
5*6236dae4SAndroid Build Coastguard Worker// Added automatically by a large-scale-change that took the approach of
6*6236dae4SAndroid Build Coastguard Worker// 'apply every license found to every target'. While this makes sure we respect
7*6236dae4SAndroid Build Coastguard Worker// every license restriction, it may not be entirely correct.
8*6236dae4SAndroid Build Coastguard Worker//
9*6236dae4SAndroid Build Coastguard Worker// e.g. GPL in an MIT project might only apply to the contrib/ directory.
10*6236dae4SAndroid Build Coastguard Worker//
11*6236dae4SAndroid Build Coastguard Worker// Please consider splitting the single license below into multiple licenses,
12*6236dae4SAndroid Build Coastguard Worker// taking care not to lose any license_kind information, and overriding the
13*6236dae4SAndroid Build Coastguard Worker// default license using the 'licenses: [...]' property on targets as needed.
14*6236dae4SAndroid Build Coastguard Worker//
15*6236dae4SAndroid Build Coastguard Worker// For unused files, consider creating a 'fileGroup' with "//visibility:private"
16*6236dae4SAndroid Build Coastguard Worker// to attach the license to, and including a comment whether the files may be
17*6236dae4SAndroid Build Coastguard Worker// used in the current project.
18*6236dae4SAndroid Build Coastguard Worker//
19*6236dae4SAndroid Build Coastguard Worker// large-scale-change filtered out the below license kinds as false-positives:
20*6236dae4SAndroid Build Coastguard Worker//   SPDX-license-identifier-GPL
21*6236dae4SAndroid Build Coastguard Worker// See: http://go/android-license-faq
22*6236dae4SAndroid Build Coastguard Workerlicense {
23*6236dae4SAndroid Build Coastguard Worker    name: "external_curl_license",
24*6236dae4SAndroid Build Coastguard Worker    visibility: [":__subpackages__"],
25*6236dae4SAndroid Build Coastguard Worker    license_kinds: [
26*6236dae4SAndroid Build Coastguard Worker        "SPDX-license-identifier-BSD",
27*6236dae4SAndroid Build Coastguard Worker        "SPDX-license-identifier-ISC",
28*6236dae4SAndroid Build Coastguard Worker        "SPDX-license-identifier-MIT",
29*6236dae4SAndroid Build Coastguard Worker        "SPDX-license-identifier-OpenSSL",
30*6236dae4SAndroid Build Coastguard Worker        "legacy_notice",
31*6236dae4SAndroid Build Coastguard Worker        "legacy_unencumbered",
32*6236dae4SAndroid Build Coastguard Worker    ],
33*6236dae4SAndroid Build Coastguard Worker    license_text: [
34*6236dae4SAndroid Build Coastguard Worker        "COPYING",
35*6236dae4SAndroid Build Coastguard Worker    ],
36*6236dae4SAndroid Build Coastguard Worker}
37*6236dae4SAndroid Build Coastguard Worker
38*6236dae4SAndroid Build Coastguard Workercc_defaults {
39*6236dae4SAndroid Build Coastguard Worker    name: "curl_common_defaults",
40*6236dae4SAndroid Build Coastguard Worker    cflags: [
41*6236dae4SAndroid Build Coastguard Worker        "-Wpointer-arith",
42*6236dae4SAndroid Build Coastguard Worker        "-Wwrite-strings",
43*6236dae4SAndroid Build Coastguard Worker        "-Wunused",
44*6236dae4SAndroid Build Coastguard Worker        "-Winline",
45*6236dae4SAndroid Build Coastguard Worker        "-Wnested-externs",
46*6236dae4SAndroid Build Coastguard Worker        "-Wmissing-declarations",
47*6236dae4SAndroid Build Coastguard Worker        "-Wmissing-prototypes",
48*6236dae4SAndroid Build Coastguard Worker        "-Wno-long-long",
49*6236dae4SAndroid Build Coastguard Worker        "-Wfloat-equal",
50*6236dae4SAndroid Build Coastguard Worker        "-Wno-multichar",
51*6236dae4SAndroid Build Coastguard Worker        "-Wno-sign-compare",
52*6236dae4SAndroid Build Coastguard Worker        "-Wno-format-nonliteral",
53*6236dae4SAndroid Build Coastguard Worker        "-Wendif-labels",
54*6236dae4SAndroid Build Coastguard Worker        "-Wstrict-prototypes",
55*6236dae4SAndroid Build Coastguard Worker        "-Wdeclaration-after-statement",
56*6236dae4SAndroid Build Coastguard Worker        "-Wno-system-headers",
57*6236dae4SAndroid Build Coastguard Worker        "-DHAVE_CONFIG_H",
58*6236dae4SAndroid Build Coastguard Worker        "-Werror",
59*6236dae4SAndroid Build Coastguard Worker        // Bug: http://b/29823425 Disable -Wvarargs for Clang update to r271374
60*6236dae4SAndroid Build Coastguard Worker        "-Wno-varargs",
61*6236dae4SAndroid Build Coastguard Worker    ],
62*6236dae4SAndroid Build Coastguard Worker    local_include_dirs: [
63*6236dae4SAndroid Build Coastguard Worker        "include",
64*6236dae4SAndroid Build Coastguard Worker        "lib",
65*6236dae4SAndroid Build Coastguard Worker    ],
66*6236dae4SAndroid Build Coastguard Worker    multilib: {
67*6236dae4SAndroid Build Coastguard Worker        lib32: {
68*6236dae4SAndroid Build Coastguard Worker            cflags: [
69*6236dae4SAndroid Build Coastguard Worker                "-DSIZEOF_LONG=4",
70*6236dae4SAndroid Build Coastguard Worker                "-DSIZEOF_LONG_LONG=8",
71*6236dae4SAndroid Build Coastguard Worker                "-DSIZEOF_SIZE_T=4",
72*6236dae4SAndroid Build Coastguard Worker                "-DSIZEOF_TIME_T=4",
73*6236dae4SAndroid Build Coastguard Worker            ],
74*6236dae4SAndroid Build Coastguard Worker        },
75*6236dae4SAndroid Build Coastguard Worker        lib64: {
76*6236dae4SAndroid Build Coastguard Worker            cflags: [
77*6236dae4SAndroid Build Coastguard Worker                "-DSIZEOF_LONG=8",
78*6236dae4SAndroid Build Coastguard Worker                "-DSIZEOF_LONG_LONG=8",
79*6236dae4SAndroid Build Coastguard Worker                "-DSIZEOF_SIZE_T=8",
80*6236dae4SAndroid Build Coastguard Worker                "-DSIZEOF_TIME_T=8",
81*6236dae4SAndroid Build Coastguard Worker            ],
82*6236dae4SAndroid Build Coastguard Worker        },
83*6236dae4SAndroid Build Coastguard Worker    },
84*6236dae4SAndroid Build Coastguard Worker}
85*6236dae4SAndroid Build Coastguard Worker
86*6236dae4SAndroid Build Coastguard Workercc_library {
87*6236dae4SAndroid Build Coastguard Worker    name: "libcurl",
88*6236dae4SAndroid Build Coastguard Worker    vendor_available: true,
89*6236dae4SAndroid Build Coastguard Worker    product_available: true,
90*6236dae4SAndroid Build Coastguard Worker    defaults: ["curl_common_defaults"],
91*6236dae4SAndroid Build Coastguard Worker    export_include_dirs: ["include"],
92*6236dae4SAndroid Build Coastguard Worker    host_supported: true,
93*6236dae4SAndroid Build Coastguard Worker    cflags: [
94*6236dae4SAndroid Build Coastguard Worker        "-DBUILDING_LIBCURL",
95*6236dae4SAndroid Build Coastguard Worker        "-Wno-format",
96*6236dae4SAndroid Build Coastguard Worker        "-Wformat-security",
97*6236dae4SAndroid Build Coastguard Worker    ],
98*6236dae4SAndroid Build Coastguard Worker    srcs: [
99*6236dae4SAndroid Build Coastguard Worker        "lib/**/*.c",
100*6236dae4SAndroid Build Coastguard Worker    ],
101*6236dae4SAndroid Build Coastguard Worker    shared_libs: [
102*6236dae4SAndroid Build Coastguard Worker        "libcrypto",
103*6236dae4SAndroid Build Coastguard Worker        "libssl",
104*6236dae4SAndroid Build Coastguard Worker        "libz",
105*6236dae4SAndroid Build Coastguard Worker    ],
106*6236dae4SAndroid Build Coastguard Worker    target: {
107*6236dae4SAndroid Build Coastguard Worker        host: {
108*6236dae4SAndroid Build Coastguard Worker            cflags: ["-D_GNU_SOURCE=1"],
109*6236dae4SAndroid Build Coastguard Worker        },
110*6236dae4SAndroid Build Coastguard Worker        darwin: {
111*6236dae4SAndroid Build Coastguard Worker            enabled: false,
112*6236dae4SAndroid Build Coastguard Worker        },
113*6236dae4SAndroid Build Coastguard Worker    },
114*6236dae4SAndroid Build Coastguard Worker    unique_host_soname: true,
115*6236dae4SAndroid Build Coastguard Worker}
116*6236dae4SAndroid Build Coastguard Worker
117*6236dae4SAndroid Build Coastguard Workercc_binary {
118*6236dae4SAndroid Build Coastguard Worker    name: "curl",
119*6236dae4SAndroid Build Coastguard Worker    defaults: ["curl_common_defaults"],
120*6236dae4SAndroid Build Coastguard Worker    srcs: [
121*6236dae4SAndroid Build Coastguard Worker        "src/*.c",
122*6236dae4SAndroid Build Coastguard Worker        "lib/base64.c",
123*6236dae4SAndroid Build Coastguard Worker        "lib/dynbuf.c",
124*6236dae4SAndroid Build Coastguard Worker    ],
125*6236dae4SAndroid Build Coastguard Worker    exclude_srcs: ["src/tool_hugehelp.c"],
126*6236dae4SAndroid Build Coastguard Worker    shared_libs: [
127*6236dae4SAndroid Build Coastguard Worker        "libcrypto",
128*6236dae4SAndroid Build Coastguard Worker        "libssl",
129*6236dae4SAndroid Build Coastguard Worker        "libz",
130*6236dae4SAndroid Build Coastguard Worker    ],
131*6236dae4SAndroid Build Coastguard Worker    static_libs: ["libcurl"],
132*6236dae4SAndroid Build Coastguard Worker}
133