diff options
Diffstat (limited to 'util/build_allowed.sh')
-rwxr-xr-x | util/build_allowed.sh | 83 |
1 files changed, 0 insertions, 83 deletions
diff --git a/util/build_allowed.sh b/util/build_allowed.sh deleted file mode 100755 index 6ef4fe03a5..0000000000 --- a/util/build_allowed.sh +++ /dev/null @@ -1,83 +0,0 @@ -#!/bin/bash -# -# Copyright 2021 The Chromium OS Authors. All rights reserved. -# Use of this source code is governed by a BSD-style license that can be -# found in the LICENSE file. - -# Taken from U-Boot and modified. - -# This grubby little script creates the list of allowed configurations. This -# file contains all the config options which are allowed to be used outside -# Kconfig. Please do not add things to the list. Instead, add your new option to -# Kconfig. -# -# Usage: -# build_allowed.sh [-u] -# -# -u : Update the existing allowed file - -export LC_ALL=C LC_COLLATE=C - -# Current list of allowed ad-hoc CONFIGs -allowed=util/config_allowed.txt - -[ "$1" == "-u" ] && update=1 - -tmp=$(mktemp -d) -kconfigs="${tmp}/kconfigs" - -# -# Look for the CONFIG options, excluding those in Kconfig and defconfig files. -# -git grep CONFIG_ | \ - grep -E -vi "(Kconfig:|defconfig:|README|\.py|\.pl:)" \ - | tr ' \t' '\n' \ - | sed -n 's/^\(CONFIG_[A-Za-z0-9_]*\).*/\1/p' \ - | sort | uniq >"${tmp}/allowed.tmp1"; - -# We need a list of the valid Kconfig options to exclude these from the allowed -# list. -find . -type f -name "Kconfig*" -exec cat {} \; | sed -n -e \ - 's/^\s*\(config\|menuconfig\) *\([A-Za-z0-9_]*\)$/CONFIG_\2/p' \ - | sort | uniq > "${kconfigs}" - -# Most Kconfigs follow the pattern of CONFIG_PLATFORM_EC_*. Strip PLATFORM_EC_ -# from the config name to match the cros-ec namespace. -sed -e 's/^CONFIG_PLATFORM_EC_/CONFIG_/p' "${kconfigs}" | sort | uniq \ - > "${tmp}/allowed.tmp2" - -# Use only the options that are present in the first file but not the second. -# These comprise new ad-hoc CONFIG options. -comm -23 "${tmp}/allowed.tmp1" "${tmp}/allowed.tmp2" \ - | sort | uniq >"${tmp}/allowed.tmp3" - -# If ${allowed} already exists, take the intersection of the current -# list and the new one. We do not want to increase the allowed options. -if [ -r "${allowed}" ]; then - comm -12 "${tmp}/allowed.tmp3" "${allowed}" > "${tmp}/allowed.tmp4" - - # Find any ad-hoc configs that now have Kconfig options - comm -13 "${tmp}/allowed.tmp4" "${allowed}" > "${tmp}/allowed.tmp5" - if [ -n "${update}" ]; then - echo >&2 "Removing these CONFIG options from the allowed list:" - comm -13 "${tmp}/allowed.tmp4" "${allowed}" - mv "${tmp}/allowed.tmp4" "${allowed}" - elif [ -s "${tmp}/allowed.tmp5" ]; then - echo >&2 "Congratulations! The following options are now in" - echo >&2 "Kconfig:" - cat "${tmp}/allowed.tmp5" - echo >&2 - echo >&2 "Please run this to update the list of allowed ad-hoc" - echo >&2 "CONFIGs and include this update in your CL." - echo >&2 - echo -e >&2 "\t./util/build_allowed.sh -u" - fi -else - # If there is no file yet, add one. This allows it to be regenerated - # from scratch if needed. - mv "${tmp}/allowed.tmp3" "${allowed}" -fi - -rm -rf "${tmp}" - -unset LC_ALL LC_COLLATE |