Blame check-for-config-changes
|
Bernhard M. Wiedemann |
6ebc4a |
#! /bin/bash
|
|
Bernhard M. Wiedemann |
6ebc4a |
|
|
|
169da8 |
# This is a list of toolchain-dependent configs. That is: only those which
|
|
|
169da8 |
# change .config when gcc, ld, or similar changes.
|
|
|
169da8 |
#
|
|
|
169da8 |
# please keep them sorted alphabetically
|
|
|
169da8 |
declare -a IGNORED_CONFIGS_RE=(
|
|
|
2a524c |
'AS_HAS_[A-Z_]*'
|
|
|
6abda2 |
'AS_VERSION'
|
|
|
169da8 |
'CC_CAN_[A-Z_]*'
|
|
|
169da8 |
'CC_HAS_[A-Z_]*'
|
|
|
169da8 |
'CC_HAVE_[A-Z_]*'
|
|
|
169da8 |
'CC_VERSION_TEXT'
|
|
|
169da8 |
'FTRACE_MCOUNT_USE_CC'
|
|
|
169da8 |
'FTRACE_MCOUNT_USE_RECORDMCOUNT'
|
|
|
169da8 |
'GCC_VERSION'
|
|
|
169da8 |
'HAVE_[A-Z]*_COMPILER'
|
|
|
169da8 |
'LD_VERSION'
|
|
|
735e77 |
'PAHOLE_VERSION'
|
|
|
169da8 |
'TOOLS_SUPPORT_[A-Z_]*'
|
|
|
169da8 |
)
|
|
|
169da8 |
|
|
|
169da8 |
declare -a SED_ARGS=()
|
|
|
169da8 |
|
|
|
169da8 |
for CONFIG in "${IGNORED_CONFIGS_RE[@]}"; do
|
|
|
169da8 |
SED_ARGS+=(-e "/\\<CONFIG_$CONFIG\\>/ d")
|
|
|
169da8 |
done
|
|
|
169da8 |
|
|
|
169da8 |
SED_ARGS+=(
|
|
|
169da8 |
-e '/^# .* is not set$/p'
|
|
|
169da8 |
-e '/^$\|^#/d'
|
|
|
169da8 |
)
|
|
|
169da8 |
|
|
Bernhard M. Wiedemann |
6ebc4a |
differences="$(
|
|
|
169da8 |
diff -bU0 <(sed "${SED_ARGS[@]}" "$1" | sort) \
|
|
|
169da8 |
<(sed "${SED_ARGS[@]}" "$2" | sort) \
|
|
Bernhard M. Wiedemann |
6ebc4a |
| grep '^[-+][^-+]'
|
|
Bernhard M. Wiedemann |
6ebc4a |
)" || true
|
|
Bernhard M. Wiedemann |
6ebc4a |
if [ -n "$differences" ]; then
|
|
Bernhard M. Wiedemann |
6ebc4a |
echo
|
|
Bernhard M. Wiedemann |
6ebc4a |
echo "Changes after running \`make oldconfig':"
|
|
Bernhard M. Wiedemann |
6ebc4a |
echo "$differences"
|
|
Bernhard M. Wiedemann |
6ebc4a |
echo
|
|
Bernhard M. Wiedemann |
6ebc4a |
if echo "$differences" | grep -q '^+' ; then
|
|
Bernhard M. Wiedemann |
6ebc4a |
exit 1
|
|
Bernhard M. Wiedemann |
6ebc4a |
fi
|
|
Bernhard M. Wiedemann |
6ebc4a |
fi
|