kbuild: add CONFIG_HEADERS_INSTALL and loosen the dependency of samples
authorMasahiro Yamada <yamada.masahiro@socionext.com>
Tue, 4 Jun 2019 10:13:59 +0000 (19:13 +0900)
committerMasahiro Yamada <yamada.masahiro@socionext.com>
Sat, 15 Jun 2019 10:57:01 +0000 (19:57 +0900)
commite949f4c2d6a3df2b7fd00e56c0f081b15284906f
treec5b592d884e6eef3680177e384dfd567cc6e03e5
parentc6509a24d6ba0f8560a81c032c30d169ba467b0a
kbuild: add CONFIG_HEADERS_INSTALL and loosen the dependency of samples

Commit 5318321d367c ("samples: disable CONFIG_SAMPLES for UML") used
a big hammer to fix the build errors under the samples/ directory.
Only some samples actually include uapi headers from usr/include.

Introduce CONFIG_HEADERS_INSTALL since 'depends on HEADERS_INSTALL' is
clearer than 'depends on !UML'. If this option is enabled, uapi headers
are installed before starting directory descending.

I added 'depends on HEADERS_INSTALL' to per-sample CONFIG options.
This allows UML to compile some samples.

$ make ARCH=um allmodconfig samples/
  [ snip ]
  CC [M]  samples/configfs/configfs_sample.o
  CC [M]  samples/kfifo/bytestream-example.o
  CC [M]  samples/kfifo/dma-example.o
  CC [M]  samples/kfifo/inttype-example.o
  CC [M]  samples/kfifo/record-example.o
  CC [M]  samples/kobject/kobject-example.o
  CC [M]  samples/kobject/kset-example.o
  CC [M]  samples/trace_events/trace-events-sample.o
  CC [M]  samples/trace_printk/trace-printk.o
  AR      samples/vfio-mdev/built-in.a
  AR      samples/built-in.a

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
12 files changed:
Makefile
arch/arc/configs/tb10x_defconfig
arch/nds32/configs/defconfig
arch/parisc/configs/a500_defconfig
arch/parisc/configs/b180_defconfig
arch/parisc/configs/c3000_defconfig
arch/parisc/configs/default_defconfig
arch/powerpc/configs/ppc6xx_defconfig
arch/s390/configs/debug_defconfig
lib/Kconfig.debug
samples/Kconfig
samples/Makefile