summaryrefslogtreecommitdiffstats
path: root/process_configs.sh
diff options
context:
space:
mode:
Diffstat (limited to 'process_configs.sh')
-rwxr-xr-xprocess_configs.sh33
1 files changed, 26 insertions, 7 deletions
diff --git a/process_configs.sh b/process_configs.sh
index 166d4766e..8c997a5fa 100755
--- a/process_configs.sh
+++ b/process_configs.sh
@@ -31,6 +31,16 @@ die()
exit 1
}
+get_cross_compile()
+{
+ arch=$1
+ if [[ "$CC_IS_CLANG" -eq 1 ]]; then
+ echo "$arch"
+ else
+ echo "scripts/dummy-tools/"
+ fi
+}
+
# stupid function to find top of tree to do kernel make configs
switch_to_toplevel()
{
@@ -135,9 +145,9 @@ parsenewconfigs()
BEGIN { inpatch=0;
outfile="none";
symbol="none"; }
- /^CONFIG_.*:$/ {
- split($0, a, ":");
- symbol=a[1];
+ /^Symbol: .*$/ {
+ split($0, a, " ");
+ symbol="CONFIG_"a[2];
outfile=BASE "/fake_"symbol
}
/-----/ {
@@ -193,11 +203,11 @@ function commit_new_configs()
fi
echo -n "Checking for new configs in $cfg ... "
- make ARCH="$arch" KCONFIG_CONFIG="$cfgorig" listnewconfig >& .listnewconfig
+ make ${MAKEOPTS} ARCH="$arch" CROSS_COMPILE=$(get_cross_compile $arch) KCONFIG_CONFIG="$cfgorig" listnewconfig >& .listnewconfig
grep -E 'CONFIG_' .listnewconfig > .newoptions
if test -s .newoptions
then
- make ARCH="$arch" KCONFIG_CONFIG="$cfgorig" helpnewconfig >& .helpnewconfig
+ make ${MAKEOPTS} ARCH="$arch" CROSS_COMPILE=$(get_cross_compile $arch) KCONFIG_CONFIG="$cfgorig" helpnewconfig >& .helpnewconfig
parsenewconfigs
fi
rm .newoptions
@@ -227,7 +237,7 @@ function process_configs()
fi
echo -n "Processing $cfg ... "
- make ARCH="$arch" KCONFIG_CONFIG="$cfgorig" listnewconfig >& .listnewconfig
+ make ${MAKEOPTS} ARCH="$arch" CROSS_COMPILE=$(get_cross_compile $arch) KCONFIG_CONFIG="$cfgorig" listnewconfig >& .listnewconfig
grep -E 'CONFIG_' .listnewconfig > .newoptions
if test -n "$NEWOPTIONS" && test -s .newoptions
then
@@ -252,7 +262,7 @@ function process_configs()
rm .listnewconfig
- make ARCH="$arch" KCONFIG_CONFIG="$cfgorig" olddefconfig > /dev/null || exit 1
+ make ${MAKEOPTS} ARCH="$arch" CROSS_COMPILE=$(get_cross_compile $arch) KCONFIG_CONFIG="$cfgorig" olddefconfig > /dev/null || exit 1
echo "# $arch" > "$cfgtmp"
cat "$cfgorig" >> "$cfgtmp"
if test -n "$CHECKOPTIONS"
@@ -280,6 +290,8 @@ CONTINUEONERROR=""
NEWOPTIONS=""
TESTRUN=""
CHECKWARNINGS=""
+MAKEOPTS=""
+CC_IS_CLANG=0
RETURNCODE=0
@@ -314,6 +326,13 @@ do
-z)
COMMITNEWCONFIGS="x"
;;
+ -m)
+ shift
+ if [ "$1" = "CC=clang" -o "$1" = "LLVM=1" ]; then
+ CC_IS_CLANG=1
+ fi
+ MAKEOPTS="$MAKEOPTS $1"
+ ;;
*)
break;;
esac