32 lines
1.8 KiB
Bash
Executable File
32 lines
1.8 KiB
Bash
Executable File
#! /bin/bash
|
|
##CL Replace is-board-platform[-in-list] with is-board-platform[-in-list]2
|
|
##CL
|
|
##CL The regular is-board-platform[-in-list] functions are defined in
|
|
##CL some product/board configuration makefiles, and sometimes also
|
|
##CL used in Android.mk files. When the product/board configuration
|
|
##CL is converted to starlark, the functions will no longer be defined
|
|
##CL for the Android.mk files to use. Switch to using a version of
|
|
##CL these functions that is defined inside the core build system
|
|
##CL makefiles, so it will still be defined when the configuration
|
|
##CL is in Starlark.
|
|
##CL
|
|
##CL The new function returns either an empty string or the matching
|
|
##CL platform, while the old one returned either an empty string or true.
|
|
##CL So now if statements are compared against an empty string instead of
|
|
##CL true.
|
|
##CL
|
|
##CL Bug: 201477826
|
|
##CL Test: treehugger
|
|
declare -r files="$(grep -rlP '^[^#]*call +is-board-platform' --include '*.mk' --exclude 'utils_test.mk' --exclude 'utils_sample_usage.mk')"
|
|
[[ -z "$files" ]] || sed -i -r -f <(cat <<"EOF"
|
|
s/ifeq +\(\$\(call is-board-platform,(.*)\), *true\)/ifneq (,$(call is-board-platform2,\1))/
|
|
s/ifeq +\(\$\(call is-board-platform,(.*)\), *\)/ifeq (,$(call is-board-platform2,\1))/
|
|
s/ifneq +\(\$\(call is-board-platform,(.*)\), *true\)/ifeq (,$(call is-board-platform2,\1))/
|
|
s/ifeq +\(\$\(call is-board-platform-in-list,(.*)\), *true\)/ifneq (,$(call is-board-platform-in-list2,\1))/
|
|
s/ifeq +\(\$\(call is-board-platform-in-list,(.*)\), *\)/ifeq (,$(call is-board-platform-in-list2,\1))/
|
|
s/ifeq +\(\$\(call is-board-platform-in-list,(.*)\), *false\)/ifeq (,T) # TODO: remove useless check/
|
|
s/ifneq +\(\$\(call is-board-platform-in-list,(.*)\), *true\)/ifeq (,$(call is-board-platform-in-list2,\1))/
|
|
s/\$\(call is-board-platform,(.*)\)/$(call is-board-platform2,\1)/
|
|
EOF
|
|
) $files
|