diff --git a/Deprecation.md b/Deprecation.md index 2f936e354..0cf3a0193 100644 --- a/Deprecation.md +++ b/Deprecation.md @@ -14,19 +14,19 @@ have any problems converting, please contact us via: | Module type | State | | -------------------------------- | --------- | -| `BUILD_AUX_EXECUTABLE` | Error | -| `BUILD_AUX_STATIC_LIBRARY` | Error | +| `BUILD_AUX_EXECUTABLE` | Obsolete | +| `BUILD_AUX_STATIC_LIBRARY` | Obsolete | | `BUILD_COPY_HEADERS` | Error | | `BUILD_HOST_EXECUTABLE` | Error | | `BUILD_HOST_FUZZ_TEST` | Error | | `BUILD_HOST_NATIVE_TEST` | Error | | `BUILD_HOST_SHARED_LIBRARY` | Error | -| `BUILD_HOST_SHARED_TEST_LIBRARY` | Error | +| `BUILD_HOST_SHARED_TEST_LIBRARY` | Obsolete | | `BUILD_HOST_STATIC_LIBRARY` | Error | | `BUILD_HOST_STATIC_TEST_LIBRARY` | Error | | `BUILD_HOST_TEST_CONFIG` | Error | | `BUILD_NATIVE_BENCHMARK` | Error | -| `BUILD_SHARED_TEST_LIBRARY` | Error | +| `BUILD_SHARED_TEST_LIBRARY` | Obsolete | | `BUILD_STATIC_TEST_LIBRARY` | Error | | `BUILD_TARGET_TEST_CONFIG` | Error | | `BUILD_*` | Available | diff --git a/core/aux_config.mk b/core/aux_config.mk deleted file mode 100644 index 10d2536bc..000000000 --- a/core/aux_config.mk +++ /dev/null @@ -1,187 +0,0 @@ -variant_list := $(filter AUX-%,$(MAKECMDGOALS)) - -ifdef variant_list -AUX_OS_VARIANT_LIST := $(patsubst AUX-%,%,$(variant_list)) -else -AUX_OS_VARIANT_LIST := $(TARGET_AUX_OS_VARIANT_LIST) -endif - -# exclude AUX targets from build -ifeq ($(AUX_OS_VARIANT_LIST),none) -AUX_OS_VARIANT_LIST := -endif - -# temporary workaround to support external toolchain -ifeq ($(NANOHUB_TOOLCHAIN),) -AUX_OS_VARIANT_LIST := -endif - -# setup toolchain paths for various CPU architectures -# this one will come from android prebuilts eventually -AUX_TOOLCHAIN_cortexm4 := $(NANOHUB_TOOLCHAIN) -ifeq ($(wildcard $(AUX_TOOLCHAIN_cortexm4)gcc),) -AUX_TOOLCHAIN_cortexm4:= -endif - -# there is no MAKE var that defines path to HOST toolchain -# all the interesting paths are hardcoded in soong, and are not available from here -# There is no other way but to hardcode them again, as we may need host x86 toolcain for AUX -ifeq ($(HOST_OS),linux) -AUX_TOOLCHAIN_x86 := prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.15-4.8/bin/x86_64-linux- -endif - -# setup AUX globals -AUX_SHLIB_SUFFIX := .so -AUX_GLOBAL_ARFLAGS := crsPD -AUX_STATIC_LIB_SUFFIX := .a - -# Load ever-lasting "indexed" version of AUX variant environment; it is treated as READ-ONLY from this -# moment on. -# -# $(1) - variant -# no return value -define aux-variant-setup-paths -$(eval AUX_OUT_ROOT_$(1) := $(PRODUCT_OUT)/aux/$(1)) \ -$(eval AUX_COMMON_OUT_ROOT_$(1) := $(AUX_OUT_ROOT_$(1))/common) \ -$(eval AUX_OUT_$(1) := $(AUX_OUT_ROOT_$(1))/$(AUX_OS_$(1))-$(AUX_ARCH_$(1))-$(AUX_CPU_$(1))) \ -$(eval AUX_OUT_INTERMEDIATES_$(1) := $(AUX_OUT_$(1))/obj) \ -$(eval AUX_OUT_COMMON_INTERMEDIATES_$(1) := $(AUX_COMMON_OUT_ROOT_$(1))/obj) \ -$(eval AUX_OUT_HEADERS_$(1) := $(AUX_OUT_INTERMEDIATES_$(1))/include) \ -$(eval AUX_OUT_NOTICE_FILES_$(1) := $(AUX_OUT_INTERMEDIATES_$(1))/NOTICE_FILES) \ -$(eval AUX_OUT_FAKE_$(1) := $(AUX_OUT_$(1))/fake_packages) \ -$(eval AUX_OUT_GEN_$(1) := $(AUX_OUT_$(1))/gen) \ -$(eval AUX_OUT_COMMON_GEN_$(1) := $(AUX_COMMON_OUT_ROOT_$(1))/gen) \ -$(eval AUX_OUT_EXECUTABLES_$(1) := $(AUX_OUT_$(1))/bin) \ -$(eval AUX_OUT_UNSTRIPPED_$(1) := $(AUX_OUT_$(1))/symbols) -endef - -# Copy "indexed" AUX environment for given VARIANT into -# volatile not-indexed set of variables for simplicity of access. -# Injection of index support throughout the build system is suboptimal -# hence volatile environment is constructed -# Unlike HOST*, TARGET* variables, AUX* variables are NOT read-only, but their -# indexed versions are. -# -# $(1) - variant -# no return value -define aux-variant-load-env -$(eval AUX_OS_VARIANT:=$(1)) \ -$(eval AUX_OS:=$(AUX_OS_$(1))) \ -$(eval AUX_ARCH:=$(AUX_ARCH_$(1))) \ -$(eval AUX_SUBARCH:=$(AUX_SUBARCH_$(1))) \ -$(eval AUX_CPU:=$(AUX_CPU_$(1))) \ -$(eval AUX_OS_PATH:=$(AUX_OS_PATH_$(1))) \ -$(eval AUX_OUT_ROOT := $(AUX_OUT_ROOT_$(1))) \ -$(eval AUX_COMMON_OUT_ROOT := $(AUX_COMMON_OUT_ROOT_$(1))) \ -$(eval AUX_OUT := $(AUX_OUT_$(1))) \ -$(eval AUX_OUT_INTERMEDIATES := $(AUX_OUT_INTERMEDIATES_$(1))) \ -$(eval AUX_OUT_COMMON_INTERMEDIATES := $(AUX_OUT_COMMON_INTERMEDIATES_$(1))) \ -$(eval AUX_OUT_HEADERS := $(AUX_OUT_HEADERS_$(1))) \ -$(eval AUX_OUT_NOTICE_FILES := $(AUX_OUT_NOTICE_FILES_$(1))) \ -$(eval AUX_OUT_FAKE := $(AUX_OUT_FAKE_$(1))) \ -$(eval AUX_OUT_GEN := $(AUX_OUT_GEN_$(1))) \ -$(eval AUX_OUT_COMMON_GEN := $(AUX_OUT_COMMON_GEN_$(1))) \ -$(eval AUX_OUT_EXECUTABLES := $(AUX_OUT_EXECUTABLES_$(1))) \ -$(eval AUX_OUT_UNSTRIPPED := $(AUX_OUT_UNSTRIPPED_$(1))) -endef - -# given a variant:path pair, load the variant conviguration with aux-variant-setup-paths from file -# this is a build system extension mechainsm, since configuration typically resides in non-build -# project space -# -# $(1) - variant:path pair -# $(2) - file suffix -# no return value -define aux-variant-import-from-pair -$(eval _pair := $(subst :, ,$(1))) \ -$(eval _name:=$(word 1,$(_pair))) \ -$(eval _path:=$(word 2,$(_pair))) \ -$(eval include $(_path)/$(_name)$(2)) \ -$(eval AUX_OS_VARIANT_LIST_$(AUX_OS_$(1)):=) \ -$(call aux-variant-setup-paths,$(_name)) \ -$(eval AUX_ALL_VARIANTS += $(_name)) \ -$(eval AUX_ALL_OSES := $(filter-out $(AUX_OS_$(_name)),$(AUX_ALL_OSES)) $(AUX_OS_$(_name))) \ -$(eval AUX_ALL_CPUS := $(filter-out $(AUX_CPU_$(_name)),$(AUX_ALL_CPUS)) $(AUX_CPU_$(_name))) \ -$(eval AUX_ALL_ARCHS := $(filter-out $(AUX_ARCH_$(_name)),$(AUX_ALL_ARCHS)) $(AUX_ARCH_$(_name))) \ -$(eval AUX_ALL_SUBARCHS := $(filter-out $(AUX_SUBARCH_$(_name)),$(AUX_ALL_SUBARCHS)) $(AUX_SUBARCH_$(_name))) -endef - -# Load system configuration referenced by AUX variant config; -# this is a build extension mechanism; typically system config -# resides in a non-build projects; -# system config may define new rules and globally visible BUILD* -# includes to support project-specific build steps and toolchains -# MAintains list of valiants that reference this os config in OS "indexed" var -# this facilitates multivariant build of the OS (or whataver it is the name of common component these variants share) -# -# $(1) - variant -# no return value -define aux-import-os-config -$(eval _aioc_os := $(AUX_OS_$(1))) \ -$(eval AUX_OS_PATH_$(1) := $(patsubst $(_aioc_os):%,%,$(filter $(_aioc_os):%,$(AUX_ALL_OS_PATHS)))) \ -$(eval _aioc_os_cfg := $(AUX_OS_PATH_$(1))/$(_aioc_os)$(os_sfx)) \ -$(if $(wildcard $(_aioc_os_cfg)),,$(error AUX '$(_aioc_os)' OS config file [$(notdir $(_aioc_os_cfg))] required by AUX variant '$(1)' does not exist)) \ -$(if $(filter $(_aioc_os),$(_os_list)),,$(eval include $(_aioc_os_cfg))) \ -$(eval AUX_OS_VARIANT_LIST_$(_aioc_os) += $(1)) \ -$(eval _os_list += $(_aioc_os)) -endef - -# make sure that AUX config variables are minimally sane; -# as a bare minimum they must contain the vars described by aux_env -# Generate error if requirement is not met. -# -#$(1) - variant -# no return value -define aux-variant-validate -$(eval _all:=) \ -$(eval _req:=$(addsuffix _$(1),$(aux_env))) \ -$(foreach var,$(_req),$(eval _all += $(var))) \ -$(eval _missing := $(filter-out $(_all),$(_req))) \ -$(if $(_missing),$(error AUX variant $(1) must define vars: $(_missing))) -endef - -AUX_ALL_VARIANTS := -AUX_ALL_OSES := -AUX_ALL_CPUS := -AUX_ALL_ARCHS := -AUX_ALL_SUBARCHS := - -variant_sfx :=_aux_variant_config.mk -os_sfx :=_aux_os_config.mk - -ifdef AUX_OS_VARIANT_LIST - -config_roots := $(wildcard device vendor) -all_configs := -ifdef config_roots -all_configs := $(sort $(shell find $(config_roots) -maxdepth 4 -name '*$(variant_sfx)' -o -name '*$(os_sfx)')) -endif -all_os_configs := $(filter %$(os_sfx),$(all_configs)) -all_variant_configs := $(filter %$(variant_sfx),$(all_configs)) - -AUX_ALL_OS_PATHS := $(foreach f,$(all_os_configs),$(patsubst %$(os_sfx),%,$(notdir $(f))):$(patsubst %/,%,$(dir $(f)))) -AUX_ALL_OS_VARIANT_PATHS := $(foreach f,$(all_variant_configs),$(patsubst %$(variant_sfx),%,$(notdir $(f))):$(patsubst %/,%,$(dir $(f)))) - -my_variant_pairs := $(foreach v,$(AUX_OS_VARIANT_LIST),$(filter $(v):%,$(AUX_ALL_OS_VARIANT_PATHS))) -my_missing_variants := $(foreach v,$(AUX_OS_VARIANT_LIST),$(if $(filter $(v):%,$(AUX_ALL_OS_VARIANT_PATHS)),,$(v))) - -ifneq ($(strip $(my_missing_variants)),) -$(error Don't know how to build variant(s): $(my_missing_variants)) -endif - -# mandatory variables -aux_env := AUX_OS AUX_ARCH AUX_SUBARCH AUX_CPU - -$(foreach v,$(my_variant_pairs),$(if $(filter $(v),$(AUX_ALL_VARIANTS)),,$(call aux-variant-import-from-pair,$(v),$(variant_sfx)))) - -ifdef AUX_ALL_VARIANTS -_os_list := -$(foreach v,$(AUX_ALL_VARIANTS),\ - $(call aux-import-os-config,$(v)) \ - $(call aux-variant-validate,$(v)) \ -) -endif - -endif # AUX_OS_VARIANT_LIST - -INSTALLED_AUX_TARGETS := diff --git a/core/aux_executable.mk b/core/aux_executable.mk deleted file mode 100644 index 5395e6196..000000000 --- a/core/aux_executable.mk +++ /dev/null @@ -1,95 +0,0 @@ -# caller might have included aux_toolchain, e.g. if custom build steps are defined -ifeq ($(LOCAL_IS_AUX_MODULE),) -include $(BUILD_SYSTEM)/aux_toolchain.mk -endif - -ifeq ($(AUX_BUILD_NOT_COMPATIBLE),) - -########################################################### -## Standard rules for building an executable file. -## -## Additional inputs from base_rules.make: -## None. -########################################################### - -ifeq ($(strip $(LOCAL_MODULE_CLASS)),) -LOCAL_MODULE_CLASS := EXECUTABLES -endif - -$(call $(aux-executable-hook)) - -########################################################### -## Standard rules for building any target-side binaries -## with dynamic linkage (dynamic libraries or executables -## that link with dynamic libraries) -## -## Files including this file must define a rule to build -## the target $(linked_module). -########################################################### - -# The name of the target file, without any path prepended. -# This duplicates logic from base_rules.mk because we need to -# know its results before base_rules.mk is included. -include $(BUILD_SYSTEM)/configure_module_stem.mk - -intermediates := $(call local-intermediates-dir) - -# Define the target that is the unmodified output of the linker. -# The basename of this target must be the same as the final output -# binary name, because it's used to set the "soname" in the binary. -# The includer of this file will define a rule to build this target. -linked_module := $(intermediates)/LINKED/$(my_built_module_stem) - -ALL_ORIGINAL_DYNAMIC_BINARIES += $(linked_module) - -# Because AUX_SYMBOL_FILTER_FILE depends on ALL_ORIGINAL_DYNAMIC_BINARIES, -# the linked_module rules won't necessarily inherit the PRIVATE_ -# variables from LOCAL_BUILT_MODULE. This tells binary.make to explicitly -# define the PRIVATE_ variables for linked_module as well as for -# LOCAL_BUILT_MODULE. -LOCAL_INTERMEDIATE_TARGETS += $(linked_module) - -################################### -include $(BUILD_SYSTEM)/binary.mk -################################### - -aux_output := $(linked_module) - -ifneq ($(LOCAL_CUSTOM_BUILD_STEP_INPUT),) -ifneq ($(LOCAL_CUSTOM_BUILD_STEP_OUTPUT),) - -# injecting custom build steps -$(LOCAL_CUSTOM_BUILD_STEP_INPUT): $(aux_output) - @echo "$(AUX_DISPLAY) custom copy: $(PRIVATE_MODULE) ($@)" - @mkdir -p $(dir $@) - $(hide) $(copy-file-to-target) - -aux_output := $(LOCAL_CUSTOM_BUILD_STEP_OUTPUT) - -endif -endif - -$(LOCAL_BUILT_MODULE): $(aux_output) - @echo "$(AUX_DISPLAY) final copy: $(PRIVATE_MODULE) ($@)" - @mkdir -p $(dir $@) - $(hide) $(copy-file-to-target) - -INSTALLED_AUX_TARGETS += $(LOCAL_INSTALLED_MODULE) - -$(cleantarget): PRIVATE_CLEAN_FILES += \ - $(linked_module) \ - -# Define PRIVATE_ variables from global vars -$(linked_module): PRIVATE_POST_LINK_CMD := $(LOCAL_POST_LINK_CMD) - -ifeq ($(LOCAL_FORCE_STATIC_EXECUTABLE),true) -$(linked_module): $(all_objects) $(all_libraries) $(LOCAL_ADDITIONAL_DEPENDENCIES) - $(transform-o-to-aux-static-executable) - $(PRIVATE_POST_LINK_CMD) -else -$(linked_module): $(all_objects) $(all_libraries) $(LOCAL_ADDITIONAL_DEPENDENCIES) - $(transform-o-to-aux-executable) - $(PRIVATE_POST_LINK_CMD) -endif - -endif # AUX_BUILD_NOT_COMPATIBLE diff --git a/core/aux_static_library.mk b/core/aux_static_library.mk deleted file mode 100644 index d88478d83..000000000 --- a/core/aux_static_library.mk +++ /dev/null @@ -1,27 +0,0 @@ -ifeq ($(LOCAL_IS_AUX_MODULE),) -include $(BUILD_SYSTEM)/aux_toolchain.mk -endif - -ifeq ($(AUX_BUILD_NOT_COMPATIBLE),) - -ifeq ($(strip $(LOCAL_MODULE_CLASS)),) -LOCAL_MODULE_CLASS := STATIC_LIBRARIES -endif -ifeq ($(strip $(LOCAL_MODULE_SUFFIX)),) -LOCAL_MODULE_SUFFIX := .a -endif - -LOCAL_UNINSTALLABLE_MODULE := true - -ifneq ($(strip $(LOCAL_MODULE_STEM)$(LOCAL_BUILT_MODULE_STEM)),) -$(error $(LOCAL_PATH): Cannot set module stem for a library) -endif - -include $(BUILD_SYSTEM)/binary.mk - -$(LOCAL_BUILT_MODULE) : PRIVATE_AR := $(AUX_AR) -$(LOCAL_BUILT_MODULE) : $(built_whole_libraries) -$(LOCAL_BUILT_MODULE) : $(all_objects) - $(transform-o-to-aux-static-lib) - -endif # AUX_BUILD_NOT_COMPATIBLE diff --git a/core/aux_toolchain.mk b/core/aux_toolchain.mk deleted file mode 100644 index c7102288d..000000000 --- a/core/aux_toolchain.mk +++ /dev/null @@ -1,52 +0,0 @@ -########################################################### -# takes form LOCAL_AUX_TOOLCHAIN_$(LOCAL_AUX_CPU) -########################################################### - -############################### -# setup AUX environment -############################### - -# shortcuts for targets with a single instance of OS, ARCH, VARIANT, CPU -AUX_TOOLCHAIN := $(if $(LOCAL_AUX_TOOLCHAIN),$(LOCAL_AUX_TOOLCHAIN),$(AUX_TOOLCHAIN_$(AUX_CPU))) -AUX_BUILD_NOT_COMPATIBLE:= -ifeq ($(strip $(AUX_TOOLCHAIN)),) - ifeq ($(strip $(AUX_CPU)),) - $(warning $(LOCAL_PATH): $(LOCAL_MODULE): Undefined CPU for AUX toolchain) - AUX_BUILD_NOT_COMPATIBLE += TOOLCHAIN - else - $(warning $(LOCAL_PATH): $(LOCAL_MODULE): Undefined AUX toolchain for CPU=$(AUX_CPU)) - AUX_BUILD_NOT_COMPATIBLE += TOOLCHAIN - endif -endif - -AUX_BUILD_NOT_COMPATIBLE += $(foreach var,OS ARCH SUBARCH CPU OS_VARIANT,$(if $(LOCAL_AUX_$(var)),$(if \ - $(filter $(LOCAL_AUX_$(var)),$(AUX_$(var))),,$(var)))) - -AUX_BUILD_NOT_COMPATIBLE := $(strip $(AUX_BUILD_NOT_COMPATIBLE)) - -ifneq ($(AUX_BUILD_NOT_COMPATIBLE),) -$(info $(LOCAL_PATH): $(LOCAL_MODULE): not compatible: "$(AUX_BUILD_NOT_COMPATIBLE)" with) -$(info ====> OS=$(AUX_OS) CPU=$(AUX_CPU) ARCH=$(AUX_ARCH) SUBARCH=$(AUX_SUBARCH) OS_VARIANT=$(AUX_OS_VARIANT)) -$(info ====> TOOLCHAIN=$(AUX_TOOLCHAIN)) -endif - -AUX_AR := $(AUX_TOOLCHAIN)ar -AUX_AS := $(AUX_TOOLCHAIN)gcc -AUX_CC := $(AUX_TOOLCHAIN)gcc -AUX_CXX := $(AUX_TOOLCHAIN)g++ -AUX_LINKER := $(AUX_TOOLCHAIN)ld -AUX_OBJCOPY := $(AUX_TOOLCHAIN)objcopy -AUX_OBJDUMP := $(AUX_TOOLCHAIN)objdump - -############################### -# setup Android environment -############################### - -LOCAL_IS_AUX_MODULE := true -LOCAL_2ND_ARCH_VAR_PREFIX := -LOCAL_CC := $(AUX_CC) -LOCAL_CXX := $(AUX_CXX) -LOCAL_NO_DEFAULT_COMPILER_FLAGS := true -LOCAL_SYSTEM_SHARED_LIBRARIES := -LOCAL_CXX_STL := none -LOCAL_NO_PIC := true diff --git a/core/base_rules.mk b/core/base_rules.mk index 1d1c114e9..b1613841f 100644 --- a/core/base_rules.mk +++ b/core/base_rules.mk @@ -34,7 +34,6 @@ endif $(call verify-module-name) LOCAL_IS_HOST_MODULE := $(strip $(LOCAL_IS_HOST_MODULE)) -LOCAL_IS_AUX_MODULE := $(strip $(LOCAL_IS_AUX_MODULE)) ifdef LOCAL_IS_HOST_MODULE ifneq ($(LOCAL_IS_HOST_MODULE),true) $(error $(LOCAL_PATH): LOCAL_IS_HOST_MODULE must be "true" or empty, not "$(LOCAL_IS_HOST_MODULE)") @@ -47,16 +46,8 @@ ifdef LOCAL_IS_HOST_MODULE my_host := host- my_kind := HOST else - ifdef LOCAL_IS_AUX_MODULE - ifneq ($(LOCAL_IS_AUX_MODULE),true) - $(error $(LOCAL_PATH): LOCAL_IS_AUX_MODULE must be "true" or empty, not "$(LOCAL_IS_AUX_MODULE)") - endif - my_prefix := AUX_ - my_kind := AUX - else - my_prefix := TARGET_ - my_kind := - endif + my_prefix := TARGET_ + my_kind := my_host := endif @@ -316,12 +307,9 @@ else my_all_targets := device_$(my_register_name)_all_targets endif -# variant is enough to make nano class unique; it serves as a key to lookup (OS,ARCH) tuple -aux_class := $($(my_prefix)OS_VARIANT) # Make sure that this IS_HOST/CLASS/MODULE combination is unique. module_id := MODULE.$(if \ - $(LOCAL_IS_HOST_MODULE),$($(my_prefix)OS),$(if \ - $(LOCAL_IS_AUX_MODULE),$(aux_class),TARGET)).$(LOCAL_MODULE_CLASS).$(my_register_name) + $(LOCAL_IS_HOST_MODULE),$($(my_prefix)OS),TARGET).$(LOCAL_MODULE_CLASS).$(my_register_name) ifdef $(module_id) $(error $(LOCAL_PATH): $(module_id) already defined by $($(module_id))) endif @@ -428,7 +416,6 @@ $(cleantarget):: ########################################################### $(LOCAL_INTERMEDIATE_TARGETS) : PRIVATE_PATH:=$(LOCAL_PATH) $(LOCAL_INTERMEDIATE_TARGETS) : PRIVATE_IS_HOST_MODULE := $(LOCAL_IS_HOST_MODULE) -$(LOCAL_INTERMEDIATE_TARGETS) : PRIVATE_IS_AUX_MODULE := $(LOCAL_IS_AUX_MODULE) $(LOCAL_INTERMEDIATE_TARGETS) : PRIVATE_HOST:= $(my_host) $(LOCAL_INTERMEDIATE_TARGETS) : PRIVATE_PREFIX := $(my_prefix) diff --git a/core/clear_vars.mk b/core/clear_vars.mk index 3d481df55..90bef1b77 100644 --- a/core/clear_vars.mk +++ b/core/clear_vars.mk @@ -474,17 +474,6 @@ LOCAL_ROBOTEST_FILES := LOCAL_ROBOTEST_TIMEOUT := LOCAL_TEST_PACKAGE := -# Aux specific variables -LOCAL_AUX_ARCH := -LOCAL_AUX_CPU := -LOCAL_AUX_OS := -LOCAL_AUX_OS_VARIANT := -LOCAL_AUX_SUBARCH := -LOCAL_AUX_TOOLCHAIN := -LOCAL_CUSTOM_BUILD_STEP_INPUT:= -LOCAL_CUSTOM_BUILD_STEP_OUTPUT:= -LOCAL_IS_AUX_MODULE := - full_android_manifest := non_system_module := diff --git a/core/config.mk b/core/config.mk index f086a9aab..90bc8e70c 100644 --- a/core/config.mk +++ b/core/config.mk @@ -122,6 +122,18 @@ $(KATI_obsolete_var PRODUCT_IOT) $(KATI_obsolete_var MD5SUM) $(KATI_obsolete_var BOARD_HAL_STATIC_LIBRARIES, See $(CHANGES_URL)#BOARD_HAL_STATIC_LIBRARIES) $(KATI_obsolete_var LOCAL_HAL_STATIC_LIBRARIES, See $(CHANGES_URL)#BOARD_HAL_STATIC_LIBRARIES) +$(KATI_obsolete_var \ + TARGET_AUX_OS_VARIANT_LIST \ + LOCAL_AUX_ARCH \ + LOCAL_AUX_CPU \ + LOCAL_AUX_OS \ + LOCAL_AUX_OS_VARIANT \ + LOCAL_AUX_SUBARCH \ + LOCAL_AUX_TOOLCHAIN \ + LOCAL_CUSTOM_BUILD_STEP_INPUT \ + LOCAL_CUSTOM_BUILD_STEP_OUTPUT \ + LOCAL_IS_AUX_MODULE \ + ,AUX support has been removed) # Used to force goals to build. Only use for conditionally defined goals. .PHONY: FORCE @@ -170,8 +182,6 @@ BUILD_HOST_STATIC_LIBRARY :=$= $(BUILD_SYSTEM)/host_static_library.mk BUILD_HOST_SHARED_LIBRARY :=$= $(BUILD_SYSTEM)/host_shared_library.mk BUILD_STATIC_LIBRARY :=$= $(BUILD_SYSTEM)/static_library.mk BUILD_HEADER_LIBRARY :=$= $(BUILD_SYSTEM)/header_library.mk -BUILD_AUX_STATIC_LIBRARY :=$= $(BUILD_SYSTEM)/aux_static_library.mk -BUILD_AUX_EXECUTABLE :=$= $(BUILD_SYSTEM)/aux_executable.mk BUILD_SHARED_LIBRARY :=$= $(BUILD_SYSTEM)/shared_library.mk BUILD_EXECUTABLE :=$= $(BUILD_SYSTEM)/executable.mk BUILD_HOST_EXECUTABLE :=$= $(BUILD_SYSTEM)/host_executable.mk diff --git a/core/config_sanitizers.mk b/core/config_sanitizers.mk index 8c76a8d17..c5cb91c10 100644 --- a/core/config_sanitizers.mk +++ b/core/config_sanitizers.mk @@ -372,8 +372,8 @@ ifneq ($(filter hwaddress,$(my_sanitize)),) my_cflags += $(HWADDRESS_SANITIZER_CONFIG_EXTRA_CFLAGS) endif -# Use minimal diagnostics when integer overflow is enabled; never do it for HOST or AUX modules -ifeq ($(LOCAL_IS_HOST_MODULE)$(LOCAL_IS_AUX_MODULE),) +# Use minimal diagnostics when integer overflow is enabled; never do it for HOST modules +ifeq ($(LOCAL_IS_HOST_MODULE),) # Pre-emptively add UBSAN minimal runtime incase a static library dependency requires it ifeq ($(filter STATIC_LIBRARIES,$(LOCAL_MODULE_CLASS)),) ifndef LOCAL_SDK_VERSION diff --git a/core/definitions.mk b/core/definitions.mk index 6d8cddb3d..1467e9687 100644 --- a/core/definitions.mk +++ b/core/definitions.mk @@ -95,7 +95,6 @@ ANDROID_RESOURCE_GENERATED_CLASSES := 'R.class' 'R$$*.class' 'Manifest.class' 'M # Display names for various build targets TARGET_DISPLAY := target -AUX_DISPLAY := aux HOST_DISPLAY := host HOST_CROSS_DISPLAY := host cross @@ -510,23 +509,18 @@ define reverse-list $(if $(1),$(call reverse-list,$(wordlist 2,$(words $(1)),$(1)))) $(firstword $(1)) endef -define def-host-aux-target -$(eval _idf_val_:=$(if $(strip $(LOCAL_IS_HOST_MODULE)),HOST,$(if $(strip $(LOCAL_IS_AUX_MODULE)),AUX,))) \ -$(_idf_val_) -endef - ########################################################### ## Returns correct _idfPrefix from the list: -## { HOST, HOST_CROSS, AUX, TARGET } +## { HOST, HOST_CROSS, TARGET } ########################################################### # the following rules checked in order: -# ($1 is in {AUX, HOST_CROSS} => $1; +# ($1 is in {HOST_CROSS} => $1; # ($1 is empty) => TARGET; # ($2 is not empty) => HOST_CROSS; # => HOST; define find-idf-prefix $(strip \ - $(eval _idf_pfx_:=$(strip $(filter AUX HOST_CROSS,$(1)))) \ + $(eval _idf_pfx_:=$(strip $(filter HOST_CROSS,$(1)))) \ $(eval _idf_pfx_:=$(if $(strip $(1)),$(if $(_idf_pfx_),$(_idf_pfx_),$(if $(strip $(2)),HOST_CROSS,HOST)),TARGET)) \ $(_idf_pfx_) ) @@ -542,7 +536,7 @@ endef # $(1): target class, like "APPS" # $(2): target name, like "NotePad" -# $(3): { HOST, HOST_CROSS, AUX, , } +# $(3): { HOST, HOST_CROSS, , } # $(4): if non-empty, force the intermediates to be COMMON # $(5): if non-empty, force the intermediates to be for the 2nd arch # $(6): if non-empty, force the intermediates to be for the host cross os @@ -579,7 +573,7 @@ $(strip \ $(error $(LOCAL_PATH): LOCAL_MODULE_CLASS not defined before call to local-intermediates-dir)) \ $(if $(strip $(LOCAL_MODULE)),, \ $(error $(LOCAL_PATH): LOCAL_MODULE not defined before call to local-intermediates-dir)) \ - $(call intermediates-dir-for,$(LOCAL_MODULE_CLASS),$(LOCAL_MODULE),$(call def-host-aux-target),$(1),$(2),$(3)) \ + $(call intermediates-dir-for,$(LOCAL_MODULE_CLASS),$(LOCAL_MODULE),$(if $(strip $(LOCAL_IS_HOST_MODULE)),HOST),$(1),$(2),$(3)) \ ) endef @@ -594,7 +588,7 @@ endef # $(1): target class, like "APPS" # $(2): target name, like "NotePad" -# $(3): { HOST, HOST_CROSS, AUX, , } +# $(3): { HOST, HOST_CROSS, , } # $(4): if non-empty, force the generated sources to be COMMON define generated-sources-dir-for $(strip \ @@ -624,7 +618,7 @@ $(strip \ $(error $(LOCAL_PATH): LOCAL_MODULE_CLASS not defined before call to local-generated-sources-dir)) \ $(if $(strip $(LOCAL_MODULE)),, \ $(error $(LOCAL_PATH): LOCAL_MODULE not defined before call to local-generated-sources-dir)) \ - $(call generated-sources-dir-for,$(LOCAL_MODULE_CLASS),$(LOCAL_MODULE),$(call def-host-aux-target),$(1)) \ + $(call generated-sources-dir-for,$(LOCAL_MODULE_CLASS),$(LOCAL_MODULE),$(if $(strip $(LOCAL_IS_HOST_MODULE)),HOST),$(1)) \ ) endef @@ -1499,89 +1493,6 @@ $(call split-long-arguments,$($(PRIVATE_2ND_ARCH_VAR_PREFIX)TARGET_AR) \ $(hide) mv -f $@.tmp $@ endef -# $(1): the full path of the source static library. -# $(2): the full path of the destination static library. -define _extract-and-include-single-aux-whole-static-lib -$(hide) ldir=$(PRIVATE_INTERMEDIATES_DIR)/WHOLE/$(basename $(notdir $(1)))_objs;\ - rm -rf $$ldir; \ - mkdir -p $$ldir; \ - cp $(1) $$ldir; \ - lib_to_include=$$ldir/$(notdir $(1)); \ - filelist=; \ - subdir=0; \ - for f in `$(PRIVATE_AR) t $(1)`; do \ - if [ -e $$ldir/$$f ]; then \ - mkdir $$ldir/$$subdir; \ - ext=$$subdir/; \ - subdir=$$((subdir+1)); \ - $(PRIVATE_AR) m $$lib_to_include $$f; \ - else \ - ext=; \ - fi; \ - $(PRIVATE_AR) p $$lib_to_include $$f > $$ldir/$$ext$$f; \ - filelist="$$filelist $$ldir/$$ext$$f"; \ - done ; \ - $(PRIVATE_AR) $(AUX_GLOBAL_ARFLAGS) $(2) $$filelist - -endef - -define extract-and-include-aux-whole-static-libs -$(call extract-and-include-whole-static-libs-first, $(firstword $(PRIVATE_ALL_WHOLE_STATIC_LIBRARIES)),$(1)) -$(foreach lib,$(wordlist 2,999,$(PRIVATE_ALL_WHOLE_STATIC_LIBRARIES)), \ - $(call _extract-and-include-single-aux-whole-static-lib, $(lib), $(1))) -endef - -# Explicitly delete the archive first so that ar doesn't -# try to add to an existing archive. -define transform-o-to-aux-static-lib -@echo "$($(PRIVATE_PREFIX)DISPLAY) StaticLib: $(PRIVATE_MODULE) ($@)" -@mkdir -p $(dir $@) -@rm -f $@ $@.tmp -$(call extract-and-include-aux-whole-static-libs,$@.tmp) -$(call split-long-arguments,$(PRIVATE_AR) \ - $(AUX_GLOBAL_ARFLAGS) $@.tmp,$(PRIVATE_ALL_OBJECTS)) -$(hide) mv -f $@.tmp $@ -endef - -define transform-o-to-aux-executable-inner -$(hide) $(PRIVATE_CXX_LINK) -pie \ - -Bdynamic \ - -Wl,--gc-sections \ - $(PRIVATE_ALL_OBJECTS) \ - -Wl,--whole-archive \ - $(PRIVATE_ALL_WHOLE_STATIC_LIBRARIES) \ - -Wl,--no-whole-archive \ - $(PRIVATE_ALL_STATIC_LIBRARIES) \ - $(PRIVATE_LDFLAGS) \ - -o $@ -endef - -define transform-o-to-aux-executable -@echo "$(AUX_DISPLAY) Executable: $(PRIVATE_MODULE) ($@)" -@mkdir -p $(dir $@) -$(transform-o-to-aux-executable-inner) -endef - -define transform-o-to-aux-static-executable-inner -$(hide) $(PRIVATE_CXX_LINK) \ - -Bstatic \ - -Wl,--gc-sections \ - $(PRIVATE_ALL_OBJECTS) \ - -Wl,--whole-archive \ - $(PRIVATE_ALL_WHOLE_STATIC_LIBRARIES) \ - -Wl,--no-whole-archive \ - $(PRIVATE_ALL_STATIC_LIBRARIES) \ - $(PRIVATE_LDFLAGS) \ - -Wl,-Map=$(@).map \ - -o $@ -endef - -define transform-o-to-aux-static-executable -@echo "$(AUX_DISPLAY) StaticExecutable: $(PRIVATE_MODULE) ($@)" -@mkdir -p $(dir $@) -$(transform-o-to-aux-static-executable-inner) -endef - ########################################################### ## Commands for running host ar ########################################################### diff --git a/core/deprecation.mk b/core/deprecation.mk index 19bd4cfb9..879505b37 100644 --- a/core/deprecation.mk +++ b/core/deprecation.mk @@ -29,8 +29,6 @@ DEFAULT_WARNING_BUILD_MODULE_TYPES :=$= \ # BUILD_BROKEN_USES_BUILD_* in your BoardConfig.mk in order to turn them back # to warnings. DEFAULT_ERROR_BUILD_MODULE_TYPES :=$= \ - BUILD_AUX_EXECUTABLE \ - BUILD_AUX_STATIC_LIBRARY \ BUILD_COPY_HEADERS \ BUILD_HOST_EXECUTABLE \ BUILD_HOST_FUZZ_TEST \ @@ -46,6 +44,8 @@ DEFAULT_ERROR_BUILD_MODULE_TYPES :=$= \ # These are BUILD_* variables that are always errors to reference. # Setting the BUILD_BROKEN_USES_BUILD_* variables is also an error. OBSOLETE_BUILD_MODULE_TYPES :=$= \ + BUILD_AUX_EXECUTABLE \ + BUILD_AUX_STATIC_LIBRARY \ BUILD_HOST_SHARED_TEST_LIBRARY \ BUILD_SHARED_TEST_LIBRARY \ diff --git a/core/envsetup.mk b/core/envsetup.mk index ac3d5cff9..109385684 100644 --- a/core/envsetup.mk +++ b/core/envsetup.mk @@ -360,9 +360,6 @@ HOST_OUT_FAKE := $(HOST_OUT)/fake_packages HOST_OUT_COMMON_INTERMEDIATES \ HOST_OUT_FAKE -# Nano environment config -include $(BUILD_SYSTEM)/aux_config.mk - HOST_CROSS_OUT_INTERMEDIATES := $(HOST_CROSS_OUT)/obj HOST_CROSS_OUT_NOTICE_FILES := $(HOST_CROSS_OUT_INTERMEDIATES)/NOTICE_FILES .KATI_READONLY := \ diff --git a/core/link_type.mk b/core/link_type.mk index f7604ff4a..ff525cb04 100644 --- a/core/link_type.mk +++ b/core/link_type.mk @@ -10,7 +10,7 @@ # my_link_deps: the dependencies, in the form of : # -my_link_prefix := LINK_TYPE:$(call find-idf-prefix,$(my_kind),$(my_host_cross))$(if $(filter AUX,$(my_kind)),-$(AUX_OS_VARIANT)):$(if $(my_common),$(my_common):_,_:$(if $(my_2nd_arch_prefix),$(my_2nd_arch_prefix),_)) +my_link_prefix := LINK_TYPE:$(call find-idf-prefix,$(my_kind),$(my_host_cross)):$(if $(my_common),$(my_common):_,_:$(if $(my_2nd_arch_prefix),$(my_2nd_arch_prefix),_)) link_type := $(my_link_prefix):$(LOCAL_MODULE_CLASS):$(LOCAL_MODULE) ALL_LINK_TYPES := $(ALL_LINK_TYPES) $(link_type) $(link_type).TYPE := $(my_link_type) diff --git a/core/main.mk b/core/main.mk index 8b8517036..151a01831 100644 --- a/core/main.mk +++ b/core/main.mk @@ -344,9 +344,6 @@ ifneq ($(words $(sort $(filter-out $(INTERNAL_MODIFIER_TARGETS) checkbuild emula $(error The 'sdk' target may not be specified with any other targets) endif -# AUX dependencies are already added by now; remove triggers from the MAKECMDGOALS -MAKECMDGOALS := $(strip $(filter-out AUX-%,$(MAKECMDGOALS))) - # TODO: this should be eng I think. Since the sdk is built from the eng # variant. tags_to_install := debug eng @@ -830,7 +827,6 @@ add-required-deps := # - TARGET # - HOST # - HOST_CROSS -# - AUX- # 3: Whether to use the common intermediates directory or not # - _ # - COMMON @@ -857,14 +853,8 @@ add-required-deps := link_type_error := -define link-type-prefix-base -$(word 2,$(subst :,$(space),$(1))) -endef define link-type-prefix -$(if $(filter AUX-%,$(link-type-prefix-base)),$(patsubst AUX-%,AUX,$(link-type-prefix-base)),$(link-type-prefix-base)) -endef -define link-type-aux-variant -$(if $(filter AUX-%,$(link-type-prefix-base)),$(patsubst AUX-%,%,$(link-type-prefix-base))) +$(word 2,$(subst :,$(space),$(1))) endef define link-type-common $(patsubst _,,$(word 3,$(subst :,$(space),$(1)))) @@ -882,7 +872,7 @@ define link-type-os $(strip $(eval _p := $(link-type-prefix))\ $(if $(filter HOST HOST_CROSS,$(_p)),\ $($(_p)_OS),\ - $(if $(filter AUX,$(_p)),AUX,android))) + android)) endef define link-type-arch $($(link-type-prefix)_$(link-type-2ndarchprefix)ARCH) @@ -1435,9 +1425,6 @@ bootimage_test_harness: $(INSTALLED_TEST_HARNESS_BOOTIMAGE_TARGET) .PHONY: vbmetaimage vbmetaimage: $(INSTALLED_VBMETAIMAGE_TARGET) -.PHONY: auxiliary -auxiliary: $(INSTALLED_AUX_TARGETS) - # Build files and then package it into the rom formats .PHONY: droidcore droidcore: $(filter $(HOST_OUT_ROOT)/%,$(modules_to_install)) \ @@ -1483,7 +1470,6 @@ droidcore: $(filter $(HOST_OUT_ROOT)/%,$(modules_to_install)) \ $(INSTALLED_FILES_FILE_RECOVERY) \ $(INSTALLED_FILES_JSON_RECOVERY) \ $(INSTALLED_ANDROID_INFO_TXT_TARGET) \ - auxiliary \ soong_docs # dist_files only for putting your library into the dist directory with a full build. diff --git a/core/ninja_config.mk b/core/ninja_config.mk index 3f2e5de8e..1ead512a8 100644 --- a/core/ninja_config.mk +++ b/core/ninja_config.mk @@ -15,7 +15,6 @@ PARSE_TIME_MAKE_GOALS := \ $(dont_bother_goals) \ all \ ECLIPSE-% \ - AUX-% \ brillo_tests \ btnod \ build-art% \