According to manuals found here: https://gcc.gnu.org/onlinedocs/, GNU
C version 3 and on support the dependency generation options. We
therefore need to check the gcc version to see if we're going to use
it or makedepend for dependency generation.
Reviewed-by: Andy Polyakov <appro@openssl.org>
$config{makedepprog} = which('makedepend');
open(PIPE, "$ccpcc --version 2>&1 | head -2 |");
while ( <PIPE> ) {
- $config{makedepprog} = $ccpcc if /clang|gcc/;
+ # Find the version number and save the major.
+ m|(?:.*)\b(\d+)\.\d+\.\d+\b(?:.*)|;
+ # We know that GNU C version 3 and up as well as all clang
+ # versions support dependency generation
+ $config{makedepprog} = $ccpcc if /clang/ || (/gcc/ && $1 > 3);
$ecc = "clang" if /clang/;
$ecc = "gcc" if /gcc/;
}