tools: Avoid creating symbolic links for tools/version.h
authorBin Meng <bmeng.cn@gmail.com>
Sun, 27 Oct 2019 12:19:47 +0000 (05:19 -0700)
committerTom Rini <trini@konsulko.com>
Mon, 28 Oct 2019 17:32:51 +0000 (13:32 -0400)
commit4d90f6cd9813cb513303a91d8b53e1ee027324bd
treeb6dc04c335f09f7c5d6a5fcdc61a4330db20f5f5
parent1f35137997a25a14c734abd2c7a2fe9406944307
tools: Avoid creating symbolic links for tools/version.h

When building U-Boot host tools for Windows from Microsoft Azure
Pipelines, the following errors were seen:

  HOSTCC  tools/mkenvimage.o
  In file included from tools/mkenvimage.c:25:
  ./tools/version.h:1:1: error: expected identifier or ‘(’ before ‘.’ token
     1 | ../include/version.h
       | ^
  tools/mkenvimage.c: In function ‘main’:
  tools/mkenvimage.c:117:4: warning: implicit declaration of function ‘usage’ [-Wimplicit-function-declaration]
   117 |    usage(prg);
       |    ^~~~~
  tools/mkenvimage.c:120:35: error: ‘PLAIN_VERSION’ undeclared (first use in this function)
   120 |    printf("%s version %s\n", prg, PLAIN_VERSION);
       |                                   ^~~~~~~~~~~~~
  tools/mkenvimage.c:120:35: note: each undeclared identifier is reported only once for each function it appears in
  make[2]: *** [scripts/Makefile.host:114: tools/mkenvimage.o] Error 1

It turns out tools/version.h is a symbolic link and with Windows
default settings it is unsupported hence the actual content of
tools/version.h is not what file include/version.h has, but the
the linked file path, which breaks the build.

To fix this, remove the symbolic links for tools/version.h. Instead
we perform a copy from include/version.h during the build.

Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Makefile
tools/.gitignore
tools/version.h [deleted symlink]