More Intel cc fix-ups.
authorAndy Polyakov <appro@openssl.org>
Fri, 14 Sep 2007 19:32:33 +0000 (19:32 +0000)
committerAndy Polyakov <appro@openssl.org>
Fri, 14 Sep 2007 19:32:33 +0000 (19:32 +0000)
Configure

index f5a1d5384f5c035e86471e8098a0bb5db0283b47..e26e6e4e6e0dd32fdecccfc65708bc06ff329cc9 100755 (executable)
--- a/Configure
+++ b/Configure
@@ -1180,12 +1180,16 @@ if (!$IsMK1MF)
        }
 
 $cpuid_obj.=" uplink.o uplink-cof.o" if ($cflags =~ /\-DOPENSSL_USE_APPLINK/);
        }
 
 $cpuid_obj.=" uplink.o uplink-cof.o" if ($cflags =~ /\-DOPENSSL_USE_APPLINK/);
+
 # Compiler fix-ups
 if ($target =~ /icc$/)
        {
 # 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
        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";
                }
                # 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 "")
        }
 
 if ($sys_id ne "")