kheaders: optimize header copy for in-tree builds

commit ea79e5168be644fdaf7d4e6a73eceaf07b3da76a upstream.

This script copies headers by the cpio command twice; first from
srctree, and then from objtree. However, when we building in-tree,
we know the srctree and the objtree are the same. That is, all the
headers copied by the first cpio are overwritten by the second one.

Skip the first cpio when we are building in-tree.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Signed-off-by: Matthias Maennich <maennich@google.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
Masahiro Yamada 2019-10-08 21:05:54 +09:00 committed by Greg Kroah-Hartman
parent a1d0c6e2f3
commit 18f48708c3

View File

@ -56,14 +56,16 @@ fi
rm -rf $cpio_dir rm -rf $cpio_dir
mkdir $cpio_dir mkdir $cpio_dir
pushd $srctree > /dev/null if [ "$building_out_of_srctree" ]; then
for f in $dir_list; pushd $srctree > /dev/null
do find "$f" -name "*.h"; for f in $dir_list
done | cpio --quiet -pd $cpio_dir do find "$f" -name "*.h";
popd > /dev/null done | cpio --quiet -pd $cpio_dir
popd > /dev/null
fi
# The second CPIO can complain if files already exist which can # The second CPIO can complain if files already exist which can happen with out
# happen with out of tree builds. Just silence CPIO for now. # of tree builds having stale headers in srctree. Just silence CPIO for now.
for f in $dir_list; for f in $dir_list;
do find "$f" -name "*.h"; do find "$f" -name "*.h";
done | cpio --quiet -pd $cpio_dir >/dev/null 2>&1 done | cpio --quiet -pd $cpio_dir >/dev/null 2>&1