summaryrefslogtreecommitdiffstats
path: root/Configure
diff options
context:
space:
mode:
authorAndy Polyakov <appro@openssl.org>2007-09-14 19:32:33 +0000
committerAndy Polyakov <appro@openssl.org>2007-09-14 19:32:33 +0000
commit1187ee7dad8a3809192d24e6f1c69718767caa88 (patch)
tree7299ccd07acd940b363cc90382bc00cdcce9aacb /Configure
parent7c5921e7362e0e5ddd84a0b51d678b66a6801a01 (diff)
More Intel cc fix-ups.
Diffstat (limited to 'Configure')
-rwxr-xr-xConfigure19
1 files changed, 16 insertions, 3 deletions
diff --git a/Configure b/Configure
index f5a1d5384f..e26e6e4e6e 100755
--- a/Configure
+++ b/Configure
@@ -1180,12 +1180,16 @@ if (!$IsMK1MF)
}
$cpuid_obj.=" uplink.o uplink-cof.o" if ($cflags =~ /\-DOPENSSL_USE_APPLINK/);
+
# Compiler fix-ups
if ($target =~ /icc$/)
{
- my($iccver)=`$cc -V 2>&1`;
- if ($iccver =~ /Version ([0-9]+)\./) { $iccver=$1; }
- else { $iccver=0; }
+ my $iccver=0;
+ if (open(FD,"$cc -V 2>&1 |"))
+ {
+ while(<FD>) { $iccver=$1 if (/Version ([0-9]+)\./); }
+ close(FD);
+ }
if ($iccver>=8)
{
# Eliminate unnecessary dependency from libirc.a. This is
@@ -1193,6 +1197,15 @@ if ($target =~ /icc$/)
# apps/openssl can end up in endless loop upon startup...
$cflags.=" -Dmemcpy=__builtin_memcpy -Dmemset=__builtin_memset";
}
+ if ($iccver>=9)
+ {
+ $cflags.=" -i-static";
+ $cflags=~s/\-no_cpprt/-no-cpprt/;
+ }
+ if ($iccver>=10)
+ {
+ $cflags=~s/\-i\-static/-static-intel/;
+ }
}
if ($sys_id ne "")