2b2b87fe80
These environment variables are not being passed onto compile actions created from makefiles. This change makes sure that these env variables are passed along so that we are able to update the C++ / Javac pool being used Test: Ran a build with RBE_CXX_POOL=cpp_next to test the next pool Bug: b/199774309 Change-Id: Icd47d3647b962a6c3ac712369466d5502b817fd7
99 lines
3.3 KiB
Makefile
99 lines
3.3 KiB
Makefile
#
|
|
# Copyright (C) 2019 The Android Open Source Project
|
|
#
|
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
# you may not use this file except in compliance with the License.
|
|
# You may obtain a copy of the License at
|
|
#
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
# See the License for the specific language governing permissions and
|
|
# limitations under the License.
|
|
#
|
|
|
|
# Notice: this works only with Google's RBE service.
|
|
ifneq ($(filter-out false,$(USE_RBE)),)
|
|
ifdef RBE_DIR
|
|
rbe_dir := $(RBE_DIR)
|
|
else
|
|
rbe_dir := prebuilts/remoteexecution-client/live/
|
|
endif
|
|
|
|
ifdef RBE_CXX_POOL
|
|
cxx_pool := $(RBE_CXX_POOL)
|
|
else
|
|
cxx_pool := default
|
|
endif
|
|
|
|
ifdef RBE_JAVA_POOL
|
|
java_pool := $(RBE_JAVA_POOL)
|
|
else
|
|
java_pool := java16
|
|
endif
|
|
|
|
ifdef RBE_CXX_EXEC_STRATEGY
|
|
cxx_rbe_exec_strategy := $(RBE_CXX_EXEC_STRATEGY)
|
|
else
|
|
cxx_rbe_exec_strategy := local
|
|
endif
|
|
|
|
ifdef RBE_CXX_COMPARE
|
|
cxx_compare := $(RBE_CXX_COMPARE)
|
|
else
|
|
cxx_compare := false
|
|
endif
|
|
|
|
ifdef RBE_CXX_COMPARE
|
|
cxx_compare := $(RBE_CXX_COMPARE)
|
|
else
|
|
cxx_compare := "false"
|
|
endif
|
|
|
|
ifdef RBE_JAVAC_EXEC_STRATEGY
|
|
javac_exec_strategy := $(RBE_JAVAC_EXEC_STRATEGY)
|
|
else
|
|
javac_exec_strategy := remote_local_fallback
|
|
endif
|
|
|
|
ifdef RBE_R8_EXEC_STRATEGY
|
|
r8_exec_strategy := $(RBE_R8_EXEC_STRATEGY)
|
|
else
|
|
r8_exec_strategy := remote_local_fallback
|
|
endif
|
|
|
|
ifdef RBE_D8_EXEC_STRATEGY
|
|
d8_exec_strategy := $(RBE_D8_EXEC_STRATEGY)
|
|
else
|
|
d8_exec_strategy := remote_local_fallback
|
|
endif
|
|
|
|
platform := container-image=docker://gcr.io/androidbuild-re-dockerimage/android-build-remoteexec-image@sha256:582efb38f0c229ea39952fff9e132ccbe183e14869b39888010dacf56b360d62
|
|
cxx_platform := $(platform),Pool=$(cxx_pool)
|
|
java_r8_d8_platform := $(platform),Pool=$(java_pool)
|
|
|
|
RBE_WRAPPER := $(rbe_dir)/rewrapper
|
|
RBE_CXX := --labels=type=compile,lang=cpp,compiler=clang --env_var_allowlist=PWD --exec_strategy=$(cxx_rbe_exec_strategy) --platform=$(cxx_platform) --compare=$(cxx_compare)
|
|
|
|
# Append rewrapper to existing *_WRAPPER variables so it's possible to
|
|
# use both ccache and rewrapper.
|
|
CC_WRAPPER := $(strip $(CC_WRAPPER) $(RBE_WRAPPER) $(RBE_CXX))
|
|
CXX_WRAPPER := $(strip $(CXX_WRAPPER) $(RBE_WRAPPER) $(RBE_CXX))
|
|
|
|
ifdef RBE_JAVAC
|
|
JAVAC_WRAPPER := $(strip $(JAVAC_WRAPPER) $(RBE_WRAPPER) --labels=type=compile,lang=java,compiler=javac --exec_strategy=$(javac_exec_strategy) --platform=$(java_r8_d8_platform))
|
|
endif
|
|
|
|
ifdef RBE_R8
|
|
R8_WRAPPER := $(strip $(RBE_WRAPPER) --labels=type=compile,compiler=r8 --exec_strategy=$(r8_exec_strategy) --platform=$(java_r8_d8_platform) --inputs=out/soong/host/linux-x86/framework/r8-compat-proguard.jar,build/make/core/proguard_basic_keeps.flags --toolchain_inputs=prebuilts/jdk/jdk11/linux-x86/bin/java)
|
|
endif
|
|
|
|
ifdef RBE_D8
|
|
D8_WRAPPER := $(strip $(RBE_WRAPPER) --labels=type=compile,compiler=d8 --exec_strategy=$(d8_exec_strategy) --platform=$(java_r8_d8_platform) --inputs=out/soong/host/linux-x86/framework/d8.jar --toolchain_inputs=prebuilts/jdk/jdk11/linux-x86/bin/java)
|
|
endif
|
|
|
|
rbe_dir :=
|
|
endif
|
|
|