From 8cf5aa5e92f4853ba2f41a160b92aef1e585b9e2 Mon Sep 17 00:00:00 2001 From: Dan Willemsen Date: Tue, 17 Oct 2017 01:30:14 -0700 Subject: [PATCH] Prevent using config.mk from make, clean up unused code Print a large warning and stop unless we're using ckati. Then remove a bunch of code that soong_ui doesn't use. Test: command make -f build/core/config.mk Test: . build/envsetup.sh; lunch aosp_arm-eng; m nothing Test: cs/CALLED_FROM_SETUP Change-Id: Ib823d5ef8955fb68dbc9a035cfa8d5ac4903534a --- core/config.mk | 17 ++++++++ core/dumpvar.mk | 101 +----------------------------------------------- 2 files changed, 18 insertions(+), 100 deletions(-) diff --git a/core/config.mk b/core/config.mk index 2ce064ff8a..669306d5ea 100644 --- a/core/config.mk +++ b/core/config.mk @@ -3,6 +3,23 @@ # current configuration and platform, which # are not specific to what is being built. +ifndef KATI +$(warning Directly using config.mk from make is no longer supported.) +$(info ) +# Repeat the warning so that it's in both the stdout and stderr streams +$(info Directly using config.mk from make is no longer supported.) +$(info ) +$(info If you are just attempting to build, you probably need to re-source envsetup.sh:) +$(info ) +$(info $$ source build/envsetup.sh) +$(info ) +$(info If you are attempting to emulate get_build_var, use one of the following:) +$(info $$ build/soong/soong_ui.bash --dumpvar-mode) +$(info $$ build/soong/soong_ui.bash --dumpvars-mode) +$(info ) +$(error done) +endif + # Only use ANDROID_BUILD_SHELL to wrap around bash. # DO NOT use other shells such as zsh. ifdef ANDROID_BUILD_SHELL diff --git a/core/dumpvar.mk b/core/dumpvar.mk index acae48eec6..59efb048b8 100644 --- a/core/dumpvar.mk +++ b/core/dumpvar.mk @@ -1,37 +1,3 @@ - -# List of variables we want to print in the build banner. -print_build_config_vars := \ - PLATFORM_VERSION_CODENAME \ - PLATFORM_VERSION \ - TARGET_PRODUCT \ - TARGET_BUILD_VARIANT \ - TARGET_BUILD_TYPE \ - TARGET_PLATFORM_VERSION \ - TARGET_BUILD_APPS \ - TARGET_ARCH \ - TARGET_ARCH_VARIANT \ - TARGET_CPU_VARIANT \ - TARGET_2ND_ARCH \ - TARGET_2ND_ARCH_VARIANT \ - TARGET_2ND_CPU_VARIANT \ - HOST_ARCH \ - HOST_2ND_ARCH \ - HOST_OS \ - HOST_OS_EXTRA \ - HOST_CROSS_OS \ - HOST_CROSS_ARCH \ - HOST_CROSS_2ND_ARCH \ - HOST_BUILD_TYPE \ - BUILD_ID \ - OUT_DIR \ - AUX_OS_VARIANT_LIST - -ifeq ($(TARGET_BUILD_PDK),true) -print_build_config_vars += \ - TARGET_BUILD_PDK \ - PDK_FUSION_PLATFORM_ZIP -endif - # --------------------------------------------------------------- # the setpath shell function in envsetup.sh uses this to figure out # what to add to the path given the config we have chosen. @@ -52,79 +18,14 @@ ANDROID_BUILD_PATHS := $(ABP) ANDROID_PREBUILTS := prebuilt/$(HOST_PREBUILT_TAG) ANDROID_GCC_PREBUILTS := prebuilts/gcc/$(HOST_PREBUILT_TAG) -# The "dumpvar" stuff lets you say something like -# -# CALLED_FROM_SETUP=true \ -# make -f config/envsetup.make dumpvar-TARGET_OUT -# or -# CALLED_FROM_SETUP=true \ -# make -f config/envsetup.make dumpvar-abs-HOST_OUT_EXECUTABLES -# -# The plain (non-abs) version just dumps the value of the named variable. -# The "abs" version will treat the variable as a path, and dumps an -# absolute path to it. -# -dumpvar_goals := \ - $(strip $(patsubst dumpvar-%,%,$(filter dumpvar-%,$(MAKECMDGOALS)))) -ifdef dumpvar_goals - - ifneq ($(words $(dumpvar_goals)),1) - $(error Only one "dumpvar-" goal allowed. Saw "$(MAKECMDGOALS)") - endif - - # If the goal is of the form "dumpvar-abs-VARNAME", then - # treat VARNAME as a path and return the absolute path to it. - absolute_dumpvar := $(strip $(filter abs-%,$(dumpvar_goals))) - ifdef absolute_dumpvar - dumpvar_goals := $(patsubst abs-%,%,$(dumpvar_goals)) - DUMPVAR_VALUE := $(abspath $($(dumpvar_goals))) - dumpvar_target := dumpvar-abs-$(dumpvar_goals) - else - DUMPVAR_VALUE := $($(dumpvar_goals)) - dumpvar_target := dumpvar-$(dumpvar_goals) - endif - -.PHONY: $(dumpvar_target) -$(dumpvar_target): - @echo $(DUMPVAR_VALUE) - -endif # dumpvar_goals - -ifneq ($(dumpvar_goals),report_config) -PRINT_BUILD_CONFIG:= -endif - -ifneq ($(filter report_config,$(DUMP_MANY_VARS)),) -# Construct the shell commands that print the config banner. -report_config_sh := echo '============================================'; -report_config_sh += $(foreach v,$(print_build_config_vars),echo '$v=$($(v))';) -report_config_sh += echo '============================================'; -endif - # Dump mulitple variables to "=" pairs, one per line. # The output may be executed as bash script. # Input variables: # DUMP_MANY_VARS: the list of variable names. # DUMP_VAR_PREFIX: an optional prefix of the variable name added to the output. -# DUMP_MANY_ABS_VARS: the list of abs variable names. -# DUMP_ABS_VAR_PREFIX: an optional prefix of the abs variable name added to the output. .PHONY: dump-many-vars dump-many-vars : - @$(foreach v, $(filter-out report_config, $(DUMP_MANY_VARS)),\ + @$(foreach v, $(DUMP_MANY_VARS),\ echo "$(DUMP_VAR_PREFIX)$(v)='$($(v))'";) -ifneq ($(filter report_config, $(DUMP_MANY_VARS)),) - @# Construct a special variable for report_config. - @# Escape \` to defer the execution of report_config_sh to preserve the line breaks. - @echo "$(DUMP_VAR_PREFIX)report_config=\`$(report_config_sh)\`" -endif - @$(foreach v, $(sort $(DUMP_MANY_ABS_VARS)),\ - echo "$(DUMP_ABS_VAR_PREFIX)$(v)='$(abspath $($(v)))'";) endif # CALLED_FROM_SETUP - -ifneq ($(PRINT_BUILD_CONFIG),) -$(info ============================================) -$(foreach v, $(print_build_config_vars),\ - $(info $v=$($(v)))) -$(info ============================================) -endif