xref: /aosp_15_r20/external/dtc/Android.bp (revision cd60bc56d4bea3af4ec04523e4d71c2b272c8aff)
1*cd60bc56SAndroid Build Coastguard Worker// Copyright 2016 The Android Open Source Project
2*cd60bc56SAndroid Build Coastguard Workerpackage {
3*cd60bc56SAndroid Build Coastguard Worker    default_applicable_licenses: ["external_dtc_license"],
4*cd60bc56SAndroid Build Coastguard Worker}
5*cd60bc56SAndroid Build Coastguard Worker
6*cd60bc56SAndroid Build Coastguard Worker// Added automatically by a large-scale-change that took the approach of
7*cd60bc56SAndroid Build Coastguard Worker// 'apply every license found to every target'. While this makes sure we respect
8*cd60bc56SAndroid Build Coastguard Worker// every license restriction, it may not be entirely correct.
9*cd60bc56SAndroid Build Coastguard Worker//
10*cd60bc56SAndroid Build Coastguard Worker// e.g. GPL in an MIT project might only apply to the contrib/ directory.
11*cd60bc56SAndroid Build Coastguard Worker//
12*cd60bc56SAndroid Build Coastguard Worker// Please consider splitting the single license below into multiple licenses,
13*cd60bc56SAndroid Build Coastguard Worker// taking care not to lose any license_kind information, and overriding the
14*cd60bc56SAndroid Build Coastguard Worker// default license using the 'licenses: [...]' property on targets as needed.
15*cd60bc56SAndroid Build Coastguard Worker//
16*cd60bc56SAndroid Build Coastguard Worker// For unused files, consider creating a 'fileGroup' with "//visibility:private"
17*cd60bc56SAndroid Build Coastguard Worker// to attach the license to, and including a comment whether the files may be
18*cd60bc56SAndroid Build Coastguard Worker// used in the current project.
19*cd60bc56SAndroid Build Coastguard Worker//
20*cd60bc56SAndroid Build Coastguard Worker// large-scale-change included anything that looked like it might be a license
21*cd60bc56SAndroid Build Coastguard Worker// text as a license_text. e.g. LICENSE, NOTICE, COPYING etc.
22*cd60bc56SAndroid Build Coastguard Worker//
23*cd60bc56SAndroid Build Coastguard Worker// Please consider removing redundant or irrelevant files from 'license_text:'.
24*cd60bc56SAndroid Build Coastguard Worker// See: http://go/android-license-faq
25*cd60bc56SAndroid Build Coastguard Workerlicense {
26*cd60bc56SAndroid Build Coastguard Worker    name: "external_dtc_license",
27*cd60bc56SAndroid Build Coastguard Worker    visibility: [":__subpackages__"],
28*cd60bc56SAndroid Build Coastguard Worker    license_kinds: ["SPDX-license-identifier-GPL-2.0"],
29*cd60bc56SAndroid Build Coastguard Worker    license_text: ["GPL"],
30*cd60bc56SAndroid Build Coastguard Worker}
31*cd60bc56SAndroid Build Coastguard Worker
32*cd60bc56SAndroid Build Coastguard Workerlicense {
33*cd60bc56SAndroid Build Coastguard Worker    name: "external_dtc_libfdt_license",
34*cd60bc56SAndroid Build Coastguard Worker    visibility: [":__subpackages__"],
35*cd60bc56SAndroid Build Coastguard Worker    license_kinds: ["SPDX-license-identifier-BSD-2-Clause"],
36*cd60bc56SAndroid Build Coastguard Worker    license_text: ["BSD-2-Clause"],
37*cd60bc56SAndroid Build Coastguard Worker}
38*cd60bc56SAndroid Build Coastguard Worker
39*cd60bc56SAndroid Build Coastguard Workerlicense {
40*cd60bc56SAndroid Build Coastguard Worker    name: "external_dtc_tests_license",
41*cd60bc56SAndroid Build Coastguard Worker    visibility: [":__subpackages__"],
42*cd60bc56SAndroid Build Coastguard Worker    license_kinds: ["SPDX-license-identifier-LGPL-2.1+"],
43*cd60bc56SAndroid Build Coastguard Worker    license_text: ["LGPL"],
44*cd60bc56SAndroid Build Coastguard Worker}
45*cd60bc56SAndroid Build Coastguard Worker
46*cd60bc56SAndroid Build Coastguard Workercc_defaults {
47*cd60bc56SAndroid Build Coastguard Worker    name: "dtc_cflags_defaults",
48*cd60bc56SAndroid Build Coastguard Worker    cflags: [
49*cd60bc56SAndroid Build Coastguard Worker        "-Wall",
50*cd60bc56SAndroid Build Coastguard Worker        "-Werror",
51*cd60bc56SAndroid Build Coastguard Worker        "-Wno-macro-redefined",
52*cd60bc56SAndroid Build Coastguard Worker        "-Wno-missing-field-initializers",
53*cd60bc56SAndroid Build Coastguard Worker        "-Wno-sign-compare",
54*cd60bc56SAndroid Build Coastguard Worker        "-Wno-unused-parameter",
55*cd60bc56SAndroid Build Coastguard Worker    ],
56*cd60bc56SAndroid Build Coastguard Worker}
57*cd60bc56SAndroid Build Coastguard Worker
58*cd60bc56SAndroid Build Coastguard Workercc_defaults {
59*cd60bc56SAndroid Build Coastguard Worker    name: "dt_defaults",
60*cd60bc56SAndroid Build Coastguard Worker    defaults: ["dtc_cflags_defaults"],
61*cd60bc56SAndroid Build Coastguard Worker    cflags: [
62*cd60bc56SAndroid Build Coastguard Worker        "-DNO_YAML",
63*cd60bc56SAndroid Build Coastguard Worker    ],
64*cd60bc56SAndroid Build Coastguard Worker
65*cd60bc56SAndroid Build Coastguard Worker    generated_headers: ["dtc_version_gen.h"],
66*cd60bc56SAndroid Build Coastguard Worker    shared_libs: ["libfdt"],
67*cd60bc56SAndroid Build Coastguard Worker
68*cd60bc56SAndroid Build Coastguard Worker    stl: "none",
69*cd60bc56SAndroid Build Coastguard Worker    target: {
70*cd60bc56SAndroid Build Coastguard Worker        host: {
71*cd60bc56SAndroid Build Coastguard Worker            dist: {
72*cd60bc56SAndroid Build Coastguard Worker                targets: [
73*cd60bc56SAndroid Build Coastguard Worker                    "dist_files",
74*cd60bc56SAndroid Build Coastguard Worker                ],
75*cd60bc56SAndroid Build Coastguard Worker                dir: "dtc",
76*cd60bc56SAndroid Build Coastguard Worker            },
77*cd60bc56SAndroid Build Coastguard Worker        },
78*cd60bc56SAndroid Build Coastguard Worker    },
79*cd60bc56SAndroid Build Coastguard Worker}
80*cd60bc56SAndroid Build Coastguard Worker
81*cd60bc56SAndroid Build Coastguard Workercc_defaults {
82*cd60bc56SAndroid Build Coastguard Worker    name: "dtc_defaults",
83*cd60bc56SAndroid Build Coastguard Worker    defaults: ["dt_defaults"],
84*cd60bc56SAndroid Build Coastguard Worker    srcs: [
85*cd60bc56SAndroid Build Coastguard Worker        "checks.c",
86*cd60bc56SAndroid Build Coastguard Worker        "data.c",
87*cd60bc56SAndroid Build Coastguard Worker        "dtc.c",
88*cd60bc56SAndroid Build Coastguard Worker        "dtc-lexer.l",
89*cd60bc56SAndroid Build Coastguard Worker        "dtc-parser.y",
90*cd60bc56SAndroid Build Coastguard Worker        "flattree.c",
91*cd60bc56SAndroid Build Coastguard Worker        "fstree.c",
92*cd60bc56SAndroid Build Coastguard Worker        "livetree.c",
93*cd60bc56SAndroid Build Coastguard Worker        "srcpos.c",
94*cd60bc56SAndroid Build Coastguard Worker        "treesource.c",
95*cd60bc56SAndroid Build Coastguard Worker        "util.c",
96*cd60bc56SAndroid Build Coastguard Worker    ],
97*cd60bc56SAndroid Build Coastguard Worker}
98*cd60bc56SAndroid Build Coastguard Worker
99*cd60bc56SAndroid Build Coastguard Workercc_binary {
100*cd60bc56SAndroid Build Coastguard Worker    name: "dtc_static",
101*cd60bc56SAndroid Build Coastguard Worker    defaults: ["dtc_defaults"],
102*cd60bc56SAndroid Build Coastguard Worker    static_executable: true,
103*cd60bc56SAndroid Build Coastguard Worker    // TODO(b/373646042): this is a workaround for failed link
104*cd60bc56SAndroid Build Coastguard Worker    sanitize: {
105*cd60bc56SAndroid Build Coastguard Worker        hwaddress: false,
106*cd60bc56SAndroid Build Coastguard Worker    },
107*cd60bc56SAndroid Build Coastguard Worker    installable: false, // test only
108*cd60bc56SAndroid Build Coastguard Worker}
109*cd60bc56SAndroid Build Coastguard Worker
110*cd60bc56SAndroid Build Coastguard Workercc_binary_host {
111*cd60bc56SAndroid Build Coastguard Worker    name: "dtc",
112*cd60bc56SAndroid Build Coastguard Worker    defaults: ["dtc_defaults"],
113*cd60bc56SAndroid Build Coastguard Worker}
114*cd60bc56SAndroid Build Coastguard Worker
115*cd60bc56SAndroid Build Coastguard Workercc_binary_host {
116*cd60bc56SAndroid Build Coastguard Worker    name: "fdtget",
117*cd60bc56SAndroid Build Coastguard Worker    defaults: ["dt_defaults"],
118*cd60bc56SAndroid Build Coastguard Worker    srcs: [
119*cd60bc56SAndroid Build Coastguard Worker        "fdtget.c",
120*cd60bc56SAndroid Build Coastguard Worker        "util.c",
121*cd60bc56SAndroid Build Coastguard Worker    ],
122*cd60bc56SAndroid Build Coastguard Worker}
123*cd60bc56SAndroid Build Coastguard Worker
124*cd60bc56SAndroid Build Coastguard Workercc_binary_host {
125*cd60bc56SAndroid Build Coastguard Worker    name: "fdtoverlay",
126*cd60bc56SAndroid Build Coastguard Worker    defaults: ["dt_defaults"],
127*cd60bc56SAndroid Build Coastguard Worker    srcs: [
128*cd60bc56SAndroid Build Coastguard Worker        "fdtoverlay.c",
129*cd60bc56SAndroid Build Coastguard Worker        "util.c",
130*cd60bc56SAndroid Build Coastguard Worker    ],
131*cd60bc56SAndroid Build Coastguard Worker}
132*cd60bc56SAndroid Build Coastguard Worker
133*cd60bc56SAndroid Build Coastguard Workercc_binary_host {
134*cd60bc56SAndroid Build Coastguard Worker    name: "fdtdump",
135*cd60bc56SAndroid Build Coastguard Worker    defaults: ["dt_defaults"],
136*cd60bc56SAndroid Build Coastguard Worker    srcs: [
137*cd60bc56SAndroid Build Coastguard Worker        "fdtdump.c",
138*cd60bc56SAndroid Build Coastguard Worker        "util.c",
139*cd60bc56SAndroid Build Coastguard Worker    ],
140*cd60bc56SAndroid Build Coastguard Worker}
141*cd60bc56SAndroid Build Coastguard Worker
142*cd60bc56SAndroid Build Coastguard Workersh_binary_host {
143*cd60bc56SAndroid Build Coastguard Worker    name: "dtdiff",
144*cd60bc56SAndroid Build Coastguard Worker    src: "dtdiff",
145*cd60bc56SAndroid Build Coastguard Worker    required: ["dtc"],
146*cd60bc56SAndroid Build Coastguard Worker}
147*cd60bc56SAndroid Build Coastguard Worker
148*cd60bc56SAndroid Build Coastguard Workergenrule {
149*cd60bc56SAndroid Build Coastguard Worker    name: "dtc_version_gen.h",
150*cd60bc56SAndroid Build Coastguard Worker    out: ["version_gen.h"],
151*cd60bc56SAndroid Build Coastguard Worker    srcs: ["version_gen.h.in"],
152*cd60bc56SAndroid Build Coastguard Worker    tool_files: [
153*cd60bc56SAndroid Build Coastguard Worker        "METADATA",
154*cd60bc56SAndroid Build Coastguard Worker        "METADATA_version.sed",
155*cd60bc56SAndroid Build Coastguard Worker    ],
156*cd60bc56SAndroid Build Coastguard Worker    cmd: "version=$$(" +
157*cd60bc56SAndroid Build Coastguard Worker        "sed -f $(location METADATA_version.sed) -n $(location METADATA)" +
158*cd60bc56SAndroid Build Coastguard Worker        ")-Android-build;" +
159*cd60bc56SAndroid Build Coastguard Worker        "sed s/@VCS_TAG@/$${version}/ $(in) > $(out)",
160*cd60bc56SAndroid Build Coastguard Worker}
161*cd60bc56SAndroid Build Coastguard Worker
162*cd60bc56SAndroid Build Coastguard Workerdirgroup {
163*cd60bc56SAndroid Build Coastguard Worker    name: "trusty_dirgroup_external_dtc",
164*cd60bc56SAndroid Build Coastguard Worker    dirs: ["."],
165*cd60bc56SAndroid Build Coastguard Worker    visibility: ["//trusty/vendor/google/aosp/scripts"],
166*cd60bc56SAndroid Build Coastguard Worker}
167