diff --git a/build.config.msm.common b/build.config.msm.common index 9c042efc5663..b4354fb97971 100644 --- a/build.config.msm.common +++ b/build.config.msm.common @@ -18,11 +18,12 @@ CONFIG_TARGET=msm.${MSM_ARCH} ## function compile_external_dtc() { ( - OUT_DIR=${COMMON_OUT_DIR}/external/dtc - if [ ! -d "$OUT_DIR" ]; then + # Bazel builds dtc with its own rule, so skip if building with Bazel + if [ -n "$BUILDING_WITH_BAZEL" ]; then return fi + OUT_DIR=${COMMON_OUT_DIR}/external/dtc [ "${SKIP_MRPROPER}" != "1" ] && rm -rf ${OUT_DIR} cd ${ROOT_DIR}/external/dtc DTC_MAKE_ARGS=("CC=${HOSTCC}" "AR=${AR}") diff --git a/msm_kernel.bzl b/msm_kernel.bzl index 9879575533b2..c1d3873bc214 100644 --- a/msm_kernel.bzl +++ b/msm_kernel.bzl @@ -39,6 +39,18 @@ def define_build_config( variant: variant of kernel to build (e.g. "gki") """ + # Top-level variables set in build.config + native.genrule( + name = "{}_top_level_config".format(target), + srcs = [], + outs = ["build.config.bazel.top.level.{}".format(target)], + cmd_bash = """ + { + echo BUILDING_WITH_BAZEL=true + } > "$@" + """ + ) + # Remove sourcing lines from build config since we're just concatenating fragments below native.genrule( name = "{}_build_config_common_without_source".format(target), @@ -93,6 +105,7 @@ EOF name = "{}_build_config".format(target), srcs = [ # do not sort + ":{}_top_level_config".format(target), "build.config.constants", ":{}_build_config_common_without_source".format(target), "build.config.aarch64",