summaryrefslogtreecommitdiff
path: root/util/build_allowed.sh
diff options
context:
space:
mode:
Diffstat (limited to 'util/build_allowed.sh')
-rwxr-xr-xutil/build_allowed.sh83
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