Streamline dependency generation
authorRichard Levitte <levitte@openssl.org>
Mon, 12 Mar 2018 08:18:44 +0000 (09:18 +0100)
committerRichard Levitte <levitte@openssl.org>
Thu, 15 Mar 2018 14:21:52 +0000 (15:21 +0100)
commitbbb9413b7e530aa25779b33b5ca7a5fd610e66f1
treed787543bf1e254822806d9a1fadf4091146fc97f
parent7731e619fba2f9ea1e888bf906289be37c52e6ac
Streamline dependency generation

It seems that only gcc -MMD produces dependency files that are "sane"
for our needs.  For all other methods, some post processing is needed:

- 'makedepend' (Unix) insists that object files are located in the
  same spot as the source file.
- 'cl /Zs /showIncludes' (Visual C) has "Note: including file: " where
  we'd like to see the object.
- 'CC/DECC' (VMS) insists that the object file is located in the
  current directory, i.e. it strips away all directory information.

So far, we've managed this (except for the VMS case) with individual
uncommented perl command lines directly in the build file template.
We're now collecting these diverse hacks into one perl script that
takes an argument to tell what kind of input to expect and that
massages whatever it gets on STDIN and outputs the result on STDOUT.

Reviewed-by: Andy Polyakov <appro@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/5591)
Configurations/descrip.mms.tmpl
Configurations/unix-Makefile.tmpl
Configurations/windows-makefile.tmpl
util/postprocess-makedepend.pl [new file with mode: 0644]