Commit db1bec4f5271d7799d481cd4d95fdc268bdd7614

Authored by Sam Ravnborg
1 parent 6b36ab27d7

kbuild: install all headers when arch is changed

We see some header files that are selected dependent on
the actual architecture so force a reinstallation
of all header files when the arch changes.
This slows down "make headers_check_all" but then
we better reflect reality.

Signed-off-by: Sam Ravnborg <sam@ravnborg.org>

Showing 2 changed files with 12 additions and 8 deletions Side-by-side Diff

scripts/Makefile.headersinst
... ... @@ -43,9 +43,10 @@
43 43  
44 44 quiet_cmd_install = INSTALL $(printdir) ($(words $(all-files))\
45 45 file$(if $(word 2, $(all-files)),s))
46   - cmd_install = $(PERL) $< $(srctree)/$(obj) $(install) $(header-y); \
47   - $(PERL) $< $(objtree)/$(obj) $(install) $(objhdr-y); \
48   - touch $@
  46 + cmd_install = \
  47 + $(PERL) $< $(srctree)/$(obj) $(install) $(SRCARCH) $(header-y); \
  48 + $(PERL) $< $(objtree)/$(obj) $(install) $(SRCARCH) $(objhdr-y); \
  49 + touch $@
49 50  
50 51 quiet_cmd_remove = REMOVE $(unwanted)
51 52 cmd_remove = rm -f $(unwanted-file)
scripts/headers_install.pl
... ... @@ -3,10 +3,13 @@
3 3 # headers_install prepare the listed header files for use in
4 4 # user space and copy the files to their destination.
5 5 #
6   -# Usage: headers_install.pl odir installdir [files...]
7   -# odir: dir to open files
8   -# install: dir to install the files
9   -# files: list of files to check
  6 +# Usage: headers_install.pl readdir installdir arch [files...]
  7 +# readdir: dir to open files
  8 +# installdir: dir to install the files
  9 +# arch: current architecture
  10 +# arch is used to force a reinstallation when the arch
  11 +# changes because kbuild then detect a command line change.
  12 +# files: list of files to check
10 13 #
11 14 # Step in preparation for users space:
12 15 # 1) Drop all use of compiler.h definitions
... ... @@ -16,7 +19,7 @@
16 19 use strict;
17 20 use warnings;
18 21  
19   -my ($readdir, $installdir, @files) = @ARGV;
  22 +my ($readdir, $installdir, $arch, @files) = @ARGV;
20 23  
21 24 my $unifdef = "scripts/unifdef -U__KERNEL__";
22 25