xref: /aosp_15_r20/bootable/libbootloader/gbl/libfdt/BUILD.libufdt_c.bazel (revision 5225e6b173e52d2efc6bcf950c27374fd72adabc)
1*5225e6b1SAndroid Build Coastguard Worker# Copyright (C) 2024 The Android Open Source Project
2*5225e6b1SAndroid Build Coastguard Worker#
3*5225e6b1SAndroid Build Coastguard Worker# Licensed under the Apache License, Version 2.0 (the "License");
4*5225e6b1SAndroid Build Coastguard Worker# you may not use this file except in compliance with the License.
5*5225e6b1SAndroid Build Coastguard Worker# You may obtain a copy of the License at
6*5225e6b1SAndroid Build Coastguard Worker#
7*5225e6b1SAndroid Build Coastguard Worker#     http://www.apache.org/licenses/LICENSE-2.0
8*5225e6b1SAndroid Build Coastguard Worker#
9*5225e6b1SAndroid Build Coastguard Worker# Unless required by applicable law or agreed to in writing, software
10*5225e6b1SAndroid Build Coastguard Worker# distributed under the License is distributed on an "AS IS" BASIS,
11*5225e6b1SAndroid Build Coastguard Worker# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12*5225e6b1SAndroid Build Coastguard Worker# See the License for the specific language governing permissions and
13*5225e6b1SAndroid Build Coastguard Worker# limitations under the License.
14*5225e6b1SAndroid Build Coastguard Worker
15*5225e6b1SAndroid Build Coastguard Workerpackage(
16*5225e6b1SAndroid Build Coastguard Worker    default_visibility = ["//visibility:public"],
17*5225e6b1SAndroid Build Coastguard Worker)
18*5225e6b1SAndroid Build Coastguard Worker
19*5225e6b1SAndroid Build Coastguard Workercc_library(
20*5225e6b1SAndroid Build Coastguard Worker    name = "libufdt_c",
21*5225e6b1SAndroid Build Coastguard Worker    srcs = [
22*5225e6b1SAndroid Build Coastguard Worker        "ufdt_convert.c",
23*5225e6b1SAndroid Build Coastguard Worker        "ufdt_node.c",
24*5225e6b1SAndroid Build Coastguard Worker        "ufdt_node_pool.c",
25*5225e6b1SAndroid Build Coastguard Worker        "ufdt_overlay.c",
26*5225e6b1SAndroid Build Coastguard Worker        "ufdt_prop_dict.c",
27*5225e6b1SAndroid Build Coastguard Worker    ] + select({
28*5225e6b1SAndroid Build Coastguard Worker        "@gbl//toolchain:gbl_rust_host_x86_64": ["sysdeps/libufdt_sysdeps_posix.c"],
29*5225e6b1SAndroid Build Coastguard Worker        "//conditions:default": [
30*5225e6b1SAndroid Build Coastguard Worker            "sysdeps/libufdt_sysdeps_vendor.c",
31*5225e6b1SAndroid Build Coastguard Worker            # Contains noop placeholder for dto_print from libufdt_sysdeps_vendor.c
32*5225e6b1SAndroid Build Coastguard Worker            "@gbl//libfdt:deps/print.c",
33*5225e6b1SAndroid Build Coastguard Worker        ],
34*5225e6b1SAndroid Build Coastguard Worker    }),
35*5225e6b1SAndroid Build Coastguard Worker    hdrs = [
36*5225e6b1SAndroid Build Coastguard Worker        "include/libufdt.h",
37*5225e6b1SAndroid Build Coastguard Worker        "include/ufdt_node_pool.h",
38*5225e6b1SAndroid Build Coastguard Worker        "include/ufdt_overlay.h",
39*5225e6b1SAndroid Build Coastguard Worker        "include/ufdt_overlay_internal.h",
40*5225e6b1SAndroid Build Coastguard Worker        "include/ufdt_types.h",
41*5225e6b1SAndroid Build Coastguard Worker        "sysdeps/include/libufdt_sysdeps.h",
42*5225e6b1SAndroid Build Coastguard Worker        "ufdt_prop_dict.h",
43*5225e6b1SAndroid Build Coastguard Worker    ],
44*5225e6b1SAndroid Build Coastguard Worker    copts = [
45*5225e6b1SAndroid Build Coastguard Worker        # Disable default dto_print implementation to include libufdt_sysdeps_vendor.c
46*5225e6b1SAndroid Build Coastguard Worker        "-DDTO_DISABLE_DEFAULT_VENDOR_LIBC_PRINT",
47*5225e6b1SAndroid Build Coastguard Worker        # Disable default dto_malloc, dto_free implementations to include libufdt_sysdeps_vendor.c
48*5225e6b1SAndroid Build Coastguard Worker        "-DDTO_DISABLE_DEFAULT_VENDOR_LIBC_ALLOCATION",
49*5225e6b1SAndroid Build Coastguard Worker        # Disable default dto_malloc, dto_free implementations to include libufdt_sysdeps_posix.c
50*5225e6b1SAndroid Build Coastguard Worker        "-DDTO_DISABLE_DEFAULT_POSIX_LIBC_ALLOCATION",
51*5225e6b1SAndroid Build Coastguard Worker    ],
52*5225e6b1SAndroid Build Coastguard Worker    includes = [
53*5225e6b1SAndroid Build Coastguard Worker        ".",
54*5225e6b1SAndroid Build Coastguard Worker        "include",
55*5225e6b1SAndroid Build Coastguard Worker        "sysdeps/include",
56*5225e6b1SAndroid Build Coastguard Worker    ],
57*5225e6b1SAndroid Build Coastguard Worker    deps = [
58*5225e6b1SAndroid Build Coastguard Worker        "@gbl//libc:headers",
59*5225e6b1SAndroid Build Coastguard Worker        "@libfdt_c",
60*5225e6b1SAndroid Build Coastguard Worker    ],
61*5225e6b1SAndroid Build Coastguard Worker)
62