aboutsummaryrefslogtreecommitdiff
path: root/Configure
diff options
context:
space:
mode:
authorTodd Short <tshort@akamai.com>2018-05-03 11:17:49 -0400
committerAndy Polyakov <appro@openssl.org>2018-05-05 20:58:21 +0200
commit717f308e7624233e2ad18fba62558a421dfda83d (patch)
tree451db4872e65f0f19607663a32d4f1b1fd9d1550 /Configure
parent41d6e0f36e43a2b6f555977147e05f0fdec87f56 (diff)
downloadopenssl-717f308e7624233e2ad18fba62558a421dfda83d.zip
openssl-717f308e7624233e2ad18fba62558a421dfda83d.tar.gz
openssl-717f308e7624233e2ad18fba62558a421dfda83d.tar.bz2
Configure: fix Mac OS X builds that still require makedepend
Earlier Apple Xcode compilers, e.g. one targeting Mac OS X 10.7, don't support dependency generation and one still has to use makedepend. It's unclear when it was fixed, but all clang-based Apple compilers seem to support -M options. Reviewed-by: Rich Salz <rsalz@openssl.org> Reviewed-by: Andy Polyakov <appro@openssl.org> (Merged from https://github.com/openssl/openssl/pull/6169)
Diffstat (limited to 'Configure')
-rwxr-xr-xConfigure6
1 files changed, 4 insertions, 2 deletions
diff --git a/Configure b/Configure
index 6650703..62c354a 100755
--- a/Configure
+++ b/Configure
@@ -1415,9 +1415,11 @@ if (!$disabled{makedepend}) {
# For VC- and vms- targets, there's nothing more to do here. The
# functionality is hard coded in the corresponding build files for
# cl (Windows) and CC/DECC (VMS).
- } elsif ($predefined{__GNUC__} >= 3) {
+ } elsif (($predefined{__GNUC__} // -1) >= 3
+ && !($predefined{__APPLE_CC__} && !$predefined{__clang__})) {
# We know that GNU C version 3 and up as well as all clang
- # versions support dependency generation
+ # versions support dependency generation, but Xcode did not
+ # handle $cc -M before clang support (but claims __GNUC__ = 3)
$config{makedepprog} = "\$(CROSS_COMPILE)$config{CC}";
} else {
# In all other cases, we look for 'makedepend', and disable the