load("@bazel_skylib//rules:write_file.bzl", "write_file") load("@bazel_skylib//lib:paths.bzl", "paths") load("@bazel_skylib//rules:common_settings.bzl", "bool_flag") load( "//build/kernel/kleaf:kernel.bzl", "kernel_dtstree", "kernel_build_config", ) load("//build/kernel/kleaf:kernel.bzl", "ddk_headers", "ddk_module") load(":project/project.bzl", "project_configs") label_flag( name = "kernel", build_setting_default = "//common_drivers:amlogic", visibility = ["//visibility:public"], ) config_setting( name = "use_amlogic_kernel", flag_values = {":kernel": "//common_drivers:amlogic"}, ) config_setting( name = "use_adt4_kernel", flag_values = {":kernel": "//project/sei/adt4:adt4"}, ) label_flag( name = "build_config", build_setting_default = "//common_drivers:amlogic_build_config", visibility = ["//visibility:public"], ) _SET_PROJECT_DIR_CMD = "PROJECT_DIR=\"{project_dir}\"".format( project_dir = paths.join( package_relative_label(":x").workspace_root, package_relative_label(":x").package, ), ) write_file( name = "set_project_dir", out = "set_project_dir/build.config.project", content = [ _SET_PROJECT_DIR_CMD, "", ], visibility = ["//visibility:public"], # TODO: This should be private ) kernel_build_config( name = "amlogic_build_config", srcs = [ # do not sort ":set_project_dir", "project/build.config.project", "build.config.amlogic.bazel", ], ) ddk_headers( name = "soc_headers", hdrs = glob([ "include/**/*.h", ]), linux_includes = [ "include", "include/uapi", ], visibility = ["//visibility:public"], ) exports_files(["build.config.amlogic.fragment.bazel"]) exports_files(["build.config.amlogic.bazel"]) exports_files(["Kconfig.ext"]) exports_files(["project/build.config.project"]) exports_files(["build.config.amlogic"]) exports_files(["arch/arm64/configs/amlogic_gki.fragment"]) filegroup( name = "amlogic_build_config_fragment", srcs = ["build.config.amlogic.fragment.bazel"], ) filegroup( name = "common_drivers_sources", srcs = glob( [ "**", ], exclude = [ "BUILD.bazel", "*.bzl", ".git/**", "customer/**", "rootfs_base.cpio.gz.uboot", ], ) + project_configs.COMMON_DRIVERS_KCONFIG_AND_MAKEFILE, visibility = ["//visibility:public"], ) filegroup( name = "amlogic_sources", srcs = [ ":common_drivers_sources", "//common:kernel_aarch64_sources", ], visibility = ["//visibility:public"], ) kernel_dtstree( name = "dtstree", srcs = glob([ "arch/arm64/boot/dts/**", "include/dt-bindings/**", ]), makefile = "arch/arm64/boot/dts/Makefile", visibility = ["//visibility:public"], ) COMMON_DRIVERS_DIR = "common_drivers" load(":amlogic.bzl", "define_amlogic") define_amlogic(name="amlogic", project_configs=project_configs)