From 8922d4bc4a8b8893d72a48deb2cdf58215f98505 Mon Sep 17 00:00:00 2001 From: djm <> Date: Fri, 1 Oct 2010 22:59:01 +0000 Subject: resolve conflicts, fix local changes --- src/lib/libcrypto/util/pl/BC-16.pl | 151 -------------- src/lib/libcrypto/util/pl/BC-32.pl | 2 +- src/lib/libcrypto/util/pl/Mingw32.pl | 6 +- src/lib/libcrypto/util/pl/VC-16.pl | 177 ---------------- src/lib/libcrypto/util/pl/VC-32-GMAKE.pl | 222 -------------------- src/lib/libcrypto/util/pl/VC-32.pl | 341 ++++++++++--------------------- src/lib/libcrypto/util/pl/VC-CE.pl | 116 ----------- 7 files changed, 113 insertions(+), 902 deletions(-) delete mode 100644 src/lib/libcrypto/util/pl/BC-16.pl delete mode 100644 src/lib/libcrypto/util/pl/VC-16.pl delete mode 100644 src/lib/libcrypto/util/pl/VC-32-GMAKE.pl delete mode 100644 src/lib/libcrypto/util/pl/VC-CE.pl (limited to 'src/lib/libcrypto/util/pl') diff --git a/src/lib/libcrypto/util/pl/BC-16.pl b/src/lib/libcrypto/util/pl/BC-16.pl deleted file mode 100644 index 8030653daa..0000000000 --- a/src/lib/libcrypto/util/pl/BC-16.pl +++ /dev/null @@ -1,151 +0,0 @@ -#!/usr/local/bin/perl -# VCw16lib.pl - the file for Visual C++ 1.52b for windows, static libraries -# - -$o='\\'; -$cp='copy'; -$rm='del'; - -# C compiler stuff -$cc='bcc'; - -if ($debug) - { $op="-v "; } -else { $op="-O "; } - -$cflags="-d -ml $op -DL_ENDIAN"; -# I add the stack opt -$base_lflags="/c /C"; -$lflags="$base_lflags"; - -if ($win16) - { - $shlib=1; - $cflags.=" -DOPENSSL_SYSNAME_WIN16"; - $app_cflag="-W"; - $lib_cflag="-WD"; - $lflags.="/Twe"; - } -else - { - $cflags.=" -DOENSSL_SYSNAME_MSDOS"; - $lflags.=" /Tde"; - } - -if ($shlib) - { - $mlflags=" /Twd $base_lflags"; # stack if defined in .def file - $libs="libw ldllcew"; - $no_asm=1; - } -else - { $mlflags=''; } - -$obj='.obj'; -$ofile="-o"; - -# EXE linking stuff -$link="tlink"; -$efile=""; -$exep='.exe'; -$ex_libs="CL"; -$ex_libs.=$no_sock?"":" winsock.lib"; - -$app_ex_obj="C0L.obj "; -$shlib_ex_obj="" if ($shlib); - -# static library stuff -$mklib='tlib'; -$ranlib='echo no ranlib'; -$plib=""; -$libp=".lib"; -$shlibp=($shlib)?".dll":".lib"; -$lfile=''; - -$asm='bcc -c -B -Tml'; -$afile='/o'; -if ($no_asm || $fips) - { - $bn_asm_obj=''; - $bn_asm_src=''; - } -elsif ($asmbits == 32) - { - $bn_asm_obj='crypto\bn\asm\x86w32.obj'; - $bn_asm_src='crypto\bn\asm\x86w32.asm'; - } -else - { - $bn_asm_obj='crypto\bn\asm\x86w16.obj'; - $bn_asm_src='crypto\bn\asm\x86w16.asm'; - } - -sub do_lib_rule - { - local($target,$name,$shlib)=@_; - local($ret,$Name); - - $taget =~ s/\//$o/g if $o ne '/'; - ($Name=$name) =~ tr/a-z/A-Z/; - - $ret.="$target: \$(${Name}OBJ)\n"; - $ret.="\t\$(RM) \$(O_$Name)\n"; - - # Due to a pathetic line length limit, I unwrap the args. - local($lib_names)=""; - local($dll_names)=""; - foreach $_ (sort split(/\s+/,$Vars{"${Name}OBJ"})) - { - $lib_names.=" +$_ &\n"; - $dll_names.=" $_\n"; - } - - if (!$shlib) - { - $ret.="\t\$(MKLIB) $target & <<|\n$lib_names\n,\n|\n"; - } - else - { - local($ex)=($Name eq "SSL")?' $(L_CRYPTO) winsock':""; - $ret.="\t\$(LINK) \$(MLFLAGS) @&&|\n"; - $ret.=$dll_names; - $ret.="\n $target\n\n $ex $libs\nms$o${name}16.def;\n|\n"; - ($out_lib=$target) =~ s/O_/L_/; - $ret.="\timplib /nowep $out_lib $target\n\n"; - } - $ret.="\n"; - return($ret); - } - -sub do_link_rule - { - local($target,$files,$dep_libs,$libs,$sha1file,$openssl)=@_; - local($ret,$f,$_,@f); - - $file =~ s/\//$o/g if $o ne '/'; - $n=&bname($target); - $ret.="$target: $files $dep_libs\n"; - $ret.=" \$(LINK) @&&|"; - - # Due to a pathetic line length limit, I have to unwrap the args. - $ret.=" \$(LFLAGS) "; - if ($files =~ /\(([^)]*)\)$/) - { - $ret.=" \$(APP_EX_OBJ)"; - foreach $_ (sort split(/\s+/,$Vars{$1})) - { $ret.="\n $r $_ +"; } - chop($ret); - $ret.="\n"; - } - else - { $ret.="\n $r \$(APP_EX_OBJ) $files\n"; } - $ret.=" $target\n\n $libs\n\n|\n"; - if (defined $sha1file) - { - $ret.=" $openssl sha1 -hmac etaonrishdlcupfm -binary $target > $sha1file"; - } - $ret.="\n"; - return($ret); - } - -1; diff --git a/src/lib/libcrypto/util/pl/BC-32.pl b/src/lib/libcrypto/util/pl/BC-32.pl index 99b8c058d2..1f1e13fb40 100644 --- a/src/lib/libcrypto/util/pl/BC-32.pl +++ b/src/lib/libcrypto/util/pl/BC-32.pl @@ -117,7 +117,7 @@ ___ else { local($ex)=($target =~ /O_SSL/)?' $(L_CRYPTO)':''; - $ex.=' wsock32.lib gdi32.lib'; + $ex.=' ws2_32.lib gdi32.lib'; $ret.="\t\$(LINK) \$(MLFLAGS) $efile$target /def:ms/${Name}.def @<<\n \$(SHLIB_EX_OBJ) $objs $ex\n<<\n"; } $ret.="\n"; diff --git a/src/lib/libcrypto/util/pl/Mingw32.pl b/src/lib/libcrypto/util/pl/Mingw32.pl index 8f0483fb93..fe3fb27a78 100644 --- a/src/lib/libcrypto/util/pl/Mingw32.pl +++ b/src/lib/libcrypto/util/pl/Mingw32.pl @@ -19,7 +19,7 @@ $cc='gcc'; if ($debug) { $cflags="-DL_ENDIAN -DDSO_WIN32 -g2 -ggdb"; } else - { $cflags="-DL_ENDIAN -DDSO_WIN32 -fomit-frame-pointer -O3 -march=i486 -Wall"; } + { $cflags="-DL_ENDIAN -DDSO_WIN32 -fomit-frame-pointer -O3 -mcpu=i486 -Wall"; } if ($gaswin and !$no_asm) { @@ -43,8 +43,6 @@ if ($gaswin and !$no_asm) $rmd160_asm_src='crypto/ripemd/asm/rm-win32.s'; $sha1_asm_obj='$(OBJ_D)\s1-win32.o'; $sha1_asm_src='crypto/sha/asm/s1-win32.s'; - $cpuid_asm_obj='$(OBJ_D)\cpu-win32.o'; - $cpuid_asm_src='crypto/cpu-win32.s'; $cflags.=" -DBN_ASM -DMD5_ASM -DSHA1_ASM -DOPENSSL_BN_ASM_PART_WORDS"; } @@ -57,7 +55,7 @@ $link='${CC}'; $lflags='${CFLAGS}'; $efile='-o '; $exep=''; -$ex_libs="-lwsock32 -lgdi32"; +$ex_libs="-lws2_32 -lgdi32"; # static library stuff $mklib='ar r'; diff --git a/src/lib/libcrypto/util/pl/VC-16.pl b/src/lib/libcrypto/util/pl/VC-16.pl deleted file mode 100644 index 564ba3fd08..0000000000 --- a/src/lib/libcrypto/util/pl/VC-16.pl +++ /dev/null @@ -1,177 +0,0 @@ -#!/usr/local/bin/perl -# VCw16lib.pl - the file for Visual C++ 1.52b for windows, static libraries -# - -$ssl= "ssleay16"; -$crypto="libeay16"; - -$o='\\'; -$cp='copy'; -$rm='del'; - -# C compiler stuff -$cc='cl'; - -$out_def="out16"; -$tmp_def="tmp16"; -$inc_def="inc16"; - -if ($debug) - { - $op="/Od /Zi /Zd"; - $base_lflags="/CO"; - } -else { - $op="/G2 /f- /Ocgnotb2"; - } -$base_lflags.=" /FARCALL /NOLOGO /NOD /SEG:1024 /ONERROR:NOEXE /NOE /PACKC:60000"; -if ($win16) { $base_lflags.=" /PACKD:60000"; } - -$cflags="/ALw /Gx- /Gt256 /Gf $op /W3 /WX -DL_ENDIAN /nologo"; -# I add the stack opt -$lflags="$base_lflags /STACK:20000"; - -if ($win16) - { - $cflags.=" -DOPENSSL_SYSNAME_WIN16"; - $app_cflag="/Gw /FPi87"; - $lib_cflag="/Gw"; - $lib_cflag.=" -D_WINDLL -D_DLL" if $shlib; - $lib_cflag.=" -DWIN16TTY" if !$shlib; - $lflags.=" /ALIGN:256"; - $ex_libs.="oldnames llibcewq libw"; - } -else - { - $no_sock=1; - $cflags.=" -DMSDOS"; - $lflags.=" /EXEPACK"; - $ex_libs.="oldnames.lib llibce.lib"; - } - -if ($shlib) - { - $mlflags="$base_lflags"; - $libs="oldnames ldllcew libw"; - $shlib_ex_obj=""; -# $no_asm=1; - $out_def="out16dll"; - $tmp_def="tmp16dll"; - } -else - { $mlflags=''; } - -$app_ex_obj=""; - -$obj='.obj'; -$ofile="/Fo"; - -# EXE linking stuff -$link="link"; -$efile=""; -$exep='.exe'; -$ex_libs.=$no_sock?"":" winsock"; - -# static library stuff -$mklib='lib /PAGESIZE:1024'; -$ranlib=''; -$plib=""; -$libp=".lib"; -$shlibp=($shlib)?".dll":".lib"; -$lfile=''; - -$asm='ml /Cp /c /Cx'; -$afile='/Fo'; - -$bn_asm_obj=''; -$bn_asm_src=''; -$des_enc_obj=''; -$des_enc_src=''; -$bf_enc_obj=''; -$bf_enc_src=''; - -if (!$no_asm && !$fips) - { - if ($asmbits == 32) - { - $bn_asm_obj='crypto\bn\asm\x86w32.obj'; - $bn_asm_src='crypto\bn\asm\x86w32.asm'; - } - else - { - $bn_asm_obj='crypto\bn\asm\x86w16.obj'; - $bn_asm_src='crypto\bn\asm\x86w16.asm'; - } - } - -sub do_lib_rule - { - local($objs,$target,$name,$shlib)=@_; - local($ret,$Name); - - $taget =~ s/\//$o/g if $o ne '/'; - ($Name=$name) =~ tr/a-z/A-Z/; - -# $target="\$(LIB_D)$o$target"; - $ret.="$target: $objs\n"; -# $ret.="\t\$(RM) \$(O_$Name)\n"; - - # Due to a pathetic line length limit, I unwrap the args. - local($lib_names)=""; - local($dll_names)=" \$(SHLIB_EX_OBJ) +\n"; - ($obj)= ($objs =~ /\((.*)\)/); - foreach $_ (sort split(/\s+/,$Vars{$obj})) - { - $lib_names.="+$_ &\n"; - $dll_names.=" $_ +\n"; - } - - if (!$shlib) - { - $ret.="\tdel $target\n"; - $ret.="\t\$(MKLIB) @<<\n$target\ny\n$lib_names\n\n<<\n"; - } - else - { - local($ex)=($target =~ /O_SSL/)?'$(L_CRYPTO)':""; - $ex.=' winsock'; - $ret.="\t\$(LINK) \$(MLFLAGS) @<<\n"; - $ret.=$dll_names; - $ret.="\n $target\n\n $ex $libs\nms$o${name}.def;\n<<\n"; - ($out_lib=$target) =~ s/O_/L_/; - $ret.="\timplib /noignorecase /nowep $out_lib $target\n"; - } - $ret.="\n"; - return($ret); - } - -sub do_link_rule - { - local($target,$files,$dep_libs,$libs,$sha1file,$openssl)=@_; - local($ret,$f,$_,@f); - - $file =~ s/\//$o/g if $o ne '/'; - $n=&bname($targer); - $ret.="$target: $files $dep_libs\n"; - $ret.=" \$(LINK) \$(LFLAGS) @<<\n"; - - # Due to a pathetic line length limit, I have to unwrap the args. - if ($files =~ /\(([^)]*)\)$/) - { - @a=('$(APP_EX_OBJ)'); - push(@a,sort split(/\s+/,$Vars{$1})); - for $_ (@a) - { $ret.=" $_ +\n"; } - } - else - { $ret.=" \$(APP_EX_OBJ) $files"; } - $ret.="\n $target\n\n $libs\n\n<<\n"; - if (defined $sha1file) - { - $ret.=" $openssl sha1 -hmac etaonrishdlcupfm -binary $target > $sha1file"; - } - $ret.="\n"; - return($ret); - } - -1; diff --git a/src/lib/libcrypto/util/pl/VC-32-GMAKE.pl b/src/lib/libcrypto/util/pl/VC-32-GMAKE.pl deleted file mode 100644 index b5bbcac6c2..0000000000 --- a/src/lib/libcrypto/util/pl/VC-32-GMAKE.pl +++ /dev/null @@ -1,222 +0,0 @@ -#!/usr/local/bin/perl -# VCw32lib.pl - the file for Visual C++ 4.[01] for windows NT, static libraries -# - - -if ($fips && !$shlib) - { - $crypto="libeayfips32"; - $crypto_compat = "libeaycompat32.lib"; - } -else - { - $crypto="libeay32"; - } -$ssl= "ssleay32"; - -$o='/'; -#$cp='copy nul+'; # Timestamps get stuffed otherwise -#$rm='del'; - -$cp='cp'; -$rm='rm'; - -$zlib_lib="zlib1.lib"; - -# C compiler stuff -$cc='cl'; -$cflags=' -MD -W3 -WX -Ox -O2 -Ob2 -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -DDSO_WIN32'; -$cflags.=' -D_CRT_SECURE_NO_DEPRECATE'; # shut up VC8 -$cflags.=' -D_CRT_NONSTDC_NO_DEPRECATE'; # shut up VC8 -$lflags="-nologo -subsystem:console -machine:I386 -opt:ref"; -$mlflags=''; - -$out_def="gmout32"; -$tmp_def="gmtmp32"; -$inc_def="gminc32"; - -if ($debug) - { - $cflags=" -MDd -W3 -WX -Zi -Yd -Od -nologo -DOPENSSL_SYSNAME_WIN32 -D_DEBUG -DL_ENDIAN -DWIN32_LEAN_AND_MEAN -DDEBUG -DDSO_WIN32"; - $lflags.=" -debug"; - $mlflags.=' -debug'; - } -$cflags .= " -DOPENSSL_SYSNAME_WINNT" if $NT == 1; - -$obj='.obj'; -$ofile="-Fo"; - -# EXE linking stuff -$link="link"; -$efile="-out:"; -$exep='.exe'; -if ($no_sock) - { $ex_libs=""; } -else { $ex_libs="wsock32.lib user32.lib gdi32.lib"; } - -# static library stuff -$mklib='lib'; -$ranlib=''; -$plib=""; -$libp=".lib"; -$shlibp=($shlib)?".dll":".lib"; -$lfile='-out:'; - -$shlib_ex_obj=""; -$app_ex_obj="setargv.obj"; -if ($nasm) { - $asm='nasmw -f win32'; - $afile='-o '; -} else { - $asm='ml -Cp -coff -c -Cx'; - $asm.=" -Zi" if $debug; - $afile='-Fo'; -} - -$bn_asm_obj=''; -$bn_asm_src=''; -$des_enc_obj=''; -$des_enc_src=''; -$bf_enc_obj=''; -$bf_enc_src=''; - -if (!$no_asm && !$fips) - { - $bn_asm_obj='crypto/bn/asm/bn_win32.obj'; - $bn_asm_src='crypto/bn/asm/bn_win32.asm'; - $des_enc_obj='crypto/des/asm/d_win32.obj crypto/des/asm/y_win32.obj'; - $des_enc_src='crypto/des/asm/d_win32.asm crypto/des/asm/y_win32.asm'; - $bf_enc_obj='crypto/bf/asm/b_win32.obj'; - $bf_enc_src='crypto/bf/asm/b_win32.asm'; - $cast_enc_obj='crypto/cast/asm/c_win32.obj'; - $cast_enc_src='crypto/cast/asm/c_win32.asm'; - $rc4_enc_obj='crypto/rc4/asm/r4_win32.obj'; - $rc4_enc_src='crypto/rc4/asm/r4_win32.asm'; - $rc5_enc_obj='crypto/rc5/asm/r5_win32.obj'; - $rc5_enc_src='crypto/rc5/asm/r5_win32.asm'; - $md5_asm_obj='crypto/md5/asm/m5_win32.obj'; - $md5_asm_src='crypto/md5/asm/m5_win32.asm'; - $sha1_asm_obj='crypto/sha/asm/s1_win32.obj'; - $sha1_asm_src='crypto/sha/asm/s1_win32.asm'; - $rmd160_asm_obj='crypto/ripemd/asm/rm_win32.obj'; - $rmd160_asm_src='crypto/ripemd/asm/rm_win32.asm'; - $cflags.=" -DBN_ASM -DMD5_ASM -DSHA1_ASM -DRMD160_ASM"; - } - -if ($shlib) - { - $mlflags.=" $lflags -dll"; -# $cflags =~ s| -MD| -MT|; - $lib_cflag=" -D_WINDLL"; - $out_def="gmout32dll"; - $tmp_def="gmtmp32dll"; - } - -$cflags.=" -Fd$out_def"; - -sub do_lib_rule - { - local($objs,$target,$name,$shlib,$ign,$base_addr, $fips_get_sig, $fips_premain_src)=@_; - local($ret,$Name); - - $taget =~ s/\//$o/g if $o ne '/'; - ($Name=$name) =~ tr/a-z/A-Z/; - my $base_arg; - if ($base_addr ne "") - { - $base_arg= " -base:$base_addr"; - } - else - { - $base_arg = ""; - } - - -# $target="\$(LIB_D)$o$target"; - if (!$shlib) - { -# $ret.="\t\$(RM) \$(O_$Name)\n"; - $ret.="$target: $objs\n"; - $ex =' advapi32.lib'; - $ret.="\t\$(MKLIB) $lfile$target $objs $ex\n\n"; - } - else - { - local($ex)=($target =~ /O_SSL/)?' $(L_CRYPTO)':''; - $ex.=' wsock32.lib gdi32.lib advapi32.lib user32.lib'; - $ex.=" $zlib_lib" if $zlib_opt == 1 && $target =~ /O_CRYPTO/; - if (defined $fips_get_sig) - { - $ret.="$target: \$(O_FIPSCANISTER) $objs $fips_get_sig\n"; - $ret.="\tFIPS_LINK=\$(LINK) "; - $ret.="FIPS_CC=\$(CC) "; - $ret.="FIPS_CC_ARGS=\"-Fo\$(OBJ_D)${o}fips_premain.obj \$(SHLIB_CFLAGS) -c\" "; - $ret.="FIPS_PREMAIN_DSO=$fips_get_sig "; - $ret.="FIPS_TARGET=$target "; - $ret.="FIPS_LIBDIR=\$(FIPSLIB_D) "; - $ret.="\$(FIPSLINK) \$(MLFLAGS) $base_arg $efile$target "; - $ret.="-def:ms/${Name}.def \$(SHLIB_EX_OBJ) $objs "; - $ret.="\$(OBJ_D)${o}fips_premain.obj $ex\n\n"; - } - else - { - $ret.="$target: $objs\n"; - $ret.="\t\$(LINK) \$(MLFLAGS) $base_arg $efile$target /def:ms/${Name}.def \$(SHLIB_EX_OBJ) $objs $ex\n\n"; - } - } - $ret.="\n"; - return($ret); - } - -sub do_link_rule - { - local($target,$files,$dep_libs,$libs,$standalone)=@_; - local($ret,$_); - $file =~ s/\//$o/g if $o ne '/'; - $n=&bname($targer); - if ($standalone) - { - $ret.="$target: $files $dep_libs\n"; - $ret.="\t\$(LINK) \$(LFLAGS) $efile$target "; - $ret.="$files $libs\n\n"; - } - elsif ($fips && !$shlib) - { - $ret.="$target: \$(O_FIPSCANISTER) $files $dep_libs\n"; - $ret.="\tFIPS_LINK=\$(LINK) "; - $ret.="FIPS_CC=\$(CC) "; - $ret.="FIPS_CC_ARGS=\"-Fo\$(OBJ_D)${o}fips_premain.obj \$(SHLIB_CFLAGS) -c\" "; - $ret.="FIPS_PREMAIN_DSO= "; - $ret.="FIPS_TARGET=$target "; - $ret.="FIPS_LIBDIR=\$(FIPSLIB_D) "; - $ret.=" \$(FIPSLINK) \$(LFLAGS) $efile$target "; - $ret.="\$(APP_EX_OBJ) $files \$(OBJ_D)${o}fips_premain.obj $libs\n\n"; - } - else - { - $ret.="$target: $files $dep_libs\n"; - $ret.="\t\$(LINK) \$(LFLAGS) $efile$target "; - $ret.="\$(APP_EX_OBJ) $files $libs\n\n"; - } - $ret.="\n"; - return($ret); - } - -sub do_rlink_rule - { - local($target,$files,$check_hash, $deps)=@_; - local($ret,$_); - - $file =~ s/\//$o/g if $o ne '/'; - $n=&bname($targer); - $ret.="$target: $check_hash $files $deps\n"; - $ret.="\t\$(PERL) util${o}checkhash.pl -chdir fips-1.0 -program_path ..$o$check_hash\n"; - $ret.="\t\$(MKCANISTER) $target $files\n"; - $ret.="\t$check_hash $target > $target.sha1\n"; - $ret.="\t\$(CP) fips-1.0${o}fips_premain.c \$(FIPSLIB_D)\n"; - $ret.="\t$check_hash \$(FIPSLIB_D)${o}fips_premain.c > \$(FIPSLIB_D)${o}fips_premain.c.sha1\n\n"; - return($ret); - } - - -1; diff --git a/src/lib/libcrypto/util/pl/VC-32.pl b/src/lib/libcrypto/util/pl/VC-32.pl index 8eb3c6c4bd..c3e29fda96 100644 --- a/src/lib/libcrypto/util/pl/VC-32.pl +++ b/src/lib/libcrypto/util/pl/VC-32.pl @@ -4,21 +4,7 @@ # $ssl= "ssleay32"; - -if ($fips && !$shlib) - { - $crypto="libeayfips32"; - $crypto_compat = "libeaycompat32.lib"; - } -else - { - $crypto="libeay32"; - } - -if ($fipscanisterbuild) - { - $fips_canister_path = "\$(LIB_D)\\fipscanister.lib"; - } +$crypto="libeay32"; $o='\\'; $cp='$(PERL) util/copy.pl'; @@ -27,6 +13,10 @@ $rm='del /Q'; $zlib_lib="zlib1.lib"; +# Santize -L options for ms link +$l_flags =~ s/-L("\[^"]+")/\/libpath:$1/g; +$l_flags =~ s/-L(\S+)/\/libpath:$1/g; + # C compiler stuff $cc='cl'; if ($FLAVOR =~ /WIN64/) @@ -42,14 +32,28 @@ if ($FLAVOR =~ /WIN64/) # per 0.9.8 release remaining warnings were explicitly examined and # considered safe to ignore. # - $base_cflags=' /W3 /Gs0 /GF /Gy /nologo -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -DDSO_WIN32 -DOPENSSL_SYSNAME_WIN32 -DOPENSSL_SYSNAME_WINNT -DUNICODE -D_UNICODE'; - $base_cflags.=' -D_CRT_SECURE_NO_DEPRECATE'; # shut up VC8 - $base_cflags.=' -D_CRT_NONSTDC_NO_DEPRECATE'; # shut up VC8 + $base_cflags= " $mf_cflag"; my $f = $shlib?' /MD':' /MT'; $lib_cflag='/Zl' if (!$shlib); # remove /DEFAULTLIBs from static lib $opt_cflags=$f.' /Ox'; $dbg_cflags=$f.'d /Od -DDEBUG -D_DEBUG'; $lflags="/nologo /subsystem:console /opt:ref"; + + *::perlasm_compile_target = sub { + my ($target,$source,$bname)=@_; + my $ret; + + $bname =~ s/(.*)\.[^\.]$/$1/; + $ret=<<___; +\$(TMP_D)$o$bname.asm: $source + set ASM=\$(ASM) + \$(PERL) $source \$\@ + +$target: \$(TMP_D)$o$bname.asm + \$(ASM) $afile\$\@ \$(TMP_D)$o$bname.asm + +___ + } } elsif ($FLAVOR =~ /CE/) { @@ -99,18 +103,18 @@ elsif ($FLAVOR =~ /CE/) } $cc='$(CC)'; - $base_cflags=' /W3 /WX /GF /Gy /nologo -DUNICODE -D_UNICODE -DOPENSSL_SYSNAME_WINCE -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -DDSO_WIN32 -DNO_CHMOD -I$(WCECOMPAT)/include -DOPENSSL_SMALL_FOOTPRINT'; + $base_cflags=' /W3 /WX /GF /Gy /nologo -DUNICODE -D_UNICODE -DOPENSSL_SYSNAME_WINCE -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -DDSO_WIN32 -DNO_CHMOD -DOPENSSL_SMALL_FOOTPRINT'; $base_cflags.=" $wcecdefs"; + $base_cflags.=' -I$(WCECOMPAT)/include' if (defined($ENV{'WCECOMPAT'})); + $base_cflags.=' -I$(PORTSDK_LIBPATH)/../../include' if (defined($ENV{'PORTSDK_LIBPATH'})); $opt_cflags=' /MC /O1i'; # optimize for space, but with intrinsics... $dbg_clfags=' /MC /Od -DDEBUG -D_DEBUG'; $lflags="/nologo /opt:ref $wcelflag"; } else # Win32 { - $base_cflags=' /W3 /WX /Gs0 /GF /Gy /nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -DDSO_WIN32'; - $base_cflags.=' -D_CRT_SECURE_NO_DEPRECATE'; # shut up VC8 - $base_cflags.=' -D_CRT_NONSTDC_NO_DEPRECATE'; # shut up VC8 - my $f = $shlib || $fips ?' /MD':' /MT'; + $base_cflags= " $mf_cflag"; + my $f = $shlib?' /MD':' /MT'; $lib_cflag='/Zl' if (!$shlib); # remove /DEFAULTLIBs from static lib $opt_cflags=$f.' /Ox /O2 /Ob2'; $dbg_cflags=$f.'d /Od -DDEBUG -D_DEBUG'; @@ -118,22 +122,28 @@ else # Win32 } $mlflags=''; -$out_def="out32"; $out_def.='_$(TARGETCPU)' if ($FLAVOR =~ /CE/); -$tmp_def="tmp32"; $tmp_def.='_$(TARGETCPU)' if ($FLAVOR =~ /CE/); +$out_def ="out32"; $out_def.="dll" if ($shlib); + $out_def.='_$(TARGETCPU)' if ($FLAVOR =~ /CE/); +$tmp_def ="tmp32"; $tmp_def.="dll" if ($shlib); + $tmp_def.='_$(TARGETCPU)' if ($FLAVOR =~ /CE/); $inc_def="inc32"; if ($debug) { $cflags=$dbg_cflags.$base_cflags; - $lflags.=" /debug"; - $mlflags.=' /debug'; } else { $cflags=$opt_cflags.$base_cflags; } +# generate symbols.pdb unconditionally +$app_cflag.=" /Zi /Fd$tmp_def/app"; +$lib_cflag.=" /Zi /Fd$tmp_def/lib"; +$lflags.=" /debug"; + $obj='.obj'; +$asm_suffix='.asm'; $ofile="/Fo"; # EXE linking stuff @@ -143,26 +153,23 @@ $efile="/out:"; $exep='.exe'; if ($no_sock) { $ex_libs=''; } elsif ($FLAVOR =~ /CE/) { $ex_libs='winsock.lib'; } -else { $ex_libs='wsock32.lib'; } +else { $ex_libs='ws2_32.lib'; } if ($FLAVOR =~ /CE/) { - $ex_libs.=' $(WCECOMPAT)/lib/wcecompatex.lib'; + $ex_libs.=' $(WCECOMPAT)/lib/wcecompatex.lib' if (defined($ENV{'WCECOMPAT'})); + $ex_libs.=' $(PORTSDK_LIBPATH)/portlib.lib' if (defined($ENV{'PORTSDK_LIBPATH'})); $ex_libs.=' /nodefaultlib:oldnames.lib coredll.lib corelibc.lib' if ($ENV{'TARGETCPU'} eq "X86"); } else { - $ex_libs.=' gdi32.lib crypt32.lib advapi32.lib user32.lib'; - $ex_libs.=' bufferoverflowu.lib' if ($FLAVOR =~ /WIN64/); + $ex_libs.=' gdi32.lib advapi32.lib crypt32.lib user32.lib'; + $ex_libs.=' bufferoverflowu.lib' if ($FLAVOR =~ /WIN64/ and `cl 2>&1` =~ /14\.00\.4[0-9]{4}\./); + # WIN32 UNICODE build gets linked with unicows.lib for + # backward compatibility with Win9x. + $ex_libs="unicows.lib $ex_libs" if ($FLAVOR =~ /WIN32/ and $cflags =~ /\-DUNICODE/); } -# As native NT API is pure UNICODE, our WIN-NT build defaults to UNICODE, -# but gets linked with unicows.lib to ensure backward compatibility. -if ($FLAVOR =~ /NT/) - { - $cflags.=" -DOPENSSL_SYSNAME_WINNT -DUNICODE -D_UNICODE"; - $ex_libs="unicows.lib $ex_libs"; - } # static library stuff $mklib='lib /nologo'; $ranlib=''; @@ -173,23 +180,30 @@ $lfile='/out:'; $shlib_ex_obj=""; $app_ex_obj="setargv.obj" if ($FLAVOR !~ /CE/); -if ($nasm) { +if ($FLAVOR =~ /WIN64A/) { + if (`nasm -v 2>NUL` =~ /NASM version ([0-9]+\.[0-9]+)/ && $1 >= 2.0) { + $asm='nasm -f win64 -DNEAR -Ox -g'; + $afile='-o '; + } else { + $asm='ml64 /c /Cp /Cx /Zi'; + $afile='/Fo'; + } +} elsif ($FLAVOR =~ /WIN64I/) { + $asm='ias -d debug'; + $afile="-o "; +} elsif ($nasm) { my $ver=`nasm -v 2>NUL`; my $vew=`nasmw -v 2>NUL`; # pick newest version $asm=($ver gt $vew?"nasm":"nasmw")." -f win32"; + $asmtype="win32n"; $afile='-o '; -} elsif ($ml64) { - $asm='ml64 /c /Cp /Cx'; - $asm.=' /Zi' if $debug; - $afile='/Fo'; } else { - $asm='ml /nologo /Cp /coff /c /Cx'; - $asm.=" /Zi" if $debug; + $asm='ml /nologo /Cp /coff /c /Cx /Zi'; $afile='/Fo'; + $asmtype="win32"; } -$aes_asm_obj=''; $bn_asm_obj=''; $bn_asm_src=''; $des_enc_obj=''; @@ -198,56 +212,26 @@ $bf_enc_obj=''; $bf_enc_src=''; if (!$no_asm) - { - if ($FLAVOR =~ "WIN32") - { - $aes_asm_obj='crypto\aes\asm\a_win32.obj'; - $aes_asm_src='crypto\aes\asm\a_win32.asm'; - $bn_asm_obj='crypto\bn\asm\bn_win32.obj crypto\bn\asm\mt_win32.obj'; - $bn_asm_src='crypto\bn\asm\bn_win32.asm crypto\bn\asm\mt_win32.asm'; - $bnco_asm_obj='crypto\bn\asm\co_win32.obj'; - $bnco_asm_src='crypto\bn\asm\co_win32.asm'; - $des_enc_obj='crypto\des\asm\d_win32.obj crypto\des\asm\y_win32.obj'; - $des_enc_src='crypto\des\asm\d_win32.asm crypto\des\asm\y_win32.asm'; - $bf_enc_obj='crypto\bf\asm\b_win32.obj'; - $bf_enc_src='crypto\bf\asm\b_win32.asm'; - $cast_enc_obj='crypto\cast\asm\c_win32.obj'; - $cast_enc_src='crypto\cast\asm\c_win32.asm'; - $rc4_enc_obj='crypto\rc4\asm\r4_win32.obj'; - $rc4_enc_src='crypto\rc4\asm\r4_win32.asm'; - $rc5_enc_obj='crypto\rc5\asm\r5_win32.obj'; - $rc5_enc_src='crypto\rc5\asm\r5_win32.asm'; - $md5_asm_obj='crypto\md5\asm\m5_win32.obj'; - $md5_asm_src='crypto\md5\asm\m5_win32.asm'; - $sha1_asm_obj='crypto\sha\asm\s1_win32.obj crypto\sha\asm\sha512-sse2.obj'; - $sha1_asm_src='crypto\sha\asm\s1_win32.asm crypto\sha\asm\sha512-sse2.asm'; - $rmd160_asm_obj='crypto\ripemd\asm\rm_win32.obj'; - $rmd160_asm_src='crypto\ripemd\asm\rm_win32.asm'; - $cpuid_asm_obj='crypto\cpu_win32.obj'; - $cpuid_asm_src='crypto\cpu_win32.asm'; - $cflags.=" -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DAES_ASM -DBN_ASM -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_BN_ASM_MONT -DMD5_ASM -DSHA1_ASM -DRMD160_ASM"; - } - elsif ($FLAVOR =~ "WIN64A") { - $aes_asm_obj='$(OBJ_D)\aes-x86_64.obj'; - $aes_asm_src='crypto\aes\asm\aes-x86_64.asm'; - $bn_asm_obj='$(OBJ_D)\x86_64-mont.obj $(OBJ_D)\bn_asm.obj'; - $bn_asm_src='crypto\bn\asm\x86_64-mont.asm'; - $sha1_asm_obj='$(OBJ_D)\sha1-x86_64.obj $(OBJ_D)\sha256-x86_64.obj $(OBJ_D)\sha512-x86_64.obj'; - $sha1_asm_src='crypto\sha\asm\sha1-x86_64.asm crypto\sha\asm\sha256-x86_64.asm crypto\sha\asm\sha512-x86_64.asm'; - $cpuid_asm_obj='$(OBJ_D)\cpuid-x86_64.obj'; - $cpuid_asm_src='crypto\cpuid-x86_64.asm'; - $cflags.=" -DOPENSSL_CPUID_OBJ -DAES_ASM -DOPENSSL_BN_ASM_MONT -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM"; + win32_import_asm($mf_bn_asm, "bn", \$bn_asm_obj, \$bn_asm_src); + win32_import_asm($mf_aes_asm, "aes", \$aes_asm_obj, \$aes_asm_src); + win32_import_asm($mf_des_asm, "des", \$des_enc_obj, \$des_enc_src); + win32_import_asm($mf_bf_asm, "bf", \$bf_enc_obj, \$bf_enc_src); + win32_import_asm($mf_cast_asm, "cast", \$cast_enc_obj, \$cast_enc_src); + win32_import_asm($mf_rc4_asm, "rc4", \$rc4_enc_obj, \$rc4_enc_src); + win32_import_asm($mf_rc5_asm, "rc5", \$rc5_enc_obj, \$rc5_enc_src); + win32_import_asm($mf_md5_asm, "md5", \$md5_asm_obj, \$md5_asm_src); + win32_import_asm($mf_sha_asm, "sha", \$sha1_asm_obj, \$sha1_asm_src); + win32_import_asm($mf_rmd_asm, "ripemd", \$rmd160_asm_obj, \$rmd160_asm_src); + win32_import_asm($mf_wp_asm, "whrlpool", \$whirlpool_asm_obj, \$whirlpool_asm_src); + win32_import_asm($mf_cpuid_asm, "", \$cpuid_asm_obj, \$cpuid_asm_src); + $perl_asm = 1; } - } if ($shlib && $FLAVOR !~ /CE/) { $mlflags.=" $lflags /dll"; -# $cflags =~ s| /MD| /MT|; - $lib_cflag=" -D_WINDLL"; - $out_def="out32dll"; - $tmp_def="tmp32dll"; + $lib_cflag.=" -D_WINDLL"; # # Engage Applink... # @@ -267,8 +251,8 @@ $(INCO_D)\applink.c: ms\applink.c EXHEADER= $(EXHEADER) $(INCO_D)\applink.c LIBS_DEP=$(LIBS_DEP) $(OBJ_D)\applink.obj +CRYPTOOBJ=$(OBJ_D)\uplink.obj $(CRYPTOOBJ) ___ -$banner .= "CRYPTOOBJ=\$(OBJ_D)\\uplink.obj \$(CRYPTOOBJ)\n"; $banner.=<<'___' if ($FLAVOR =~ /WIN64/); CRYPTOOBJ=ms\uptable.obj $(CRYPTOOBJ) ___ @@ -276,119 +260,35 @@ ___ elsif ($shlib && $FLAVOR =~ /CE/) { $mlflags.=" $lflags /dll"; - $lib_cflag=" -D_WINDLL -D_DLL"; - $out_def='out32dll_$(TARGETCPU)'; - $tmp_def='tmp32dll_$(TARGETCPU)'; + $lflags.=' /entry:mainCRTstartup' if(defined($ENV{'PORTSDK_LIBPATH'})); + $lib_cflag.=" -D_WINDLL -D_DLL"; } -$cflags.=" /Fd$out_def"; - sub do_lib_rule { - my($objs,$target,$name,$shlib,$ign,$base_addr) = @_; + local($objs,$target,$name,$shlib)=@_; local($ret); $taget =~ s/\//$o/g if $o ne '/'; - my $base_arg; - if ($base_addr ne "") - { - $base_arg= " /base:$base_addr"; - } - else - { - $base_arg = ""; - } - if ($target =~ /O_CRYPTO/ && $fipsdso) - { - $name = "/def:ms/libeayfips.def"; - } - elsif ($name ne "") + if ($name ne "") { $name =~ tr/a-z/A-Z/; $name = "/def:ms/${name}.def"; } + # $target="\$(LIB_D)$o$target"; -# $ret.="$target: $objs\n"; + $ret.="$target: $objs\n"; if (!$shlib) { # $ret.="\t\$(RM) \$(O_$Name)\n"; - $ex =' '; - $ret.="$target: $objs\n"; - $ret.="\t\$(MKLIB) $lfile$target @<<\n $objs $ex\n<<\n"; + $ret.="\t\$(MKLIB) $lfile$target @<<\n $objs\n<<\n"; } else { - my $ex = ""; - if ($target =~ /O_SSL/) - { - $ex .= " \$(L_CRYPTO)"; - #$ex .= " \$(L_FIPS)" if $fipsdso; - } - my $fipstarget; - if ($fipsdso) - { - $fipstarget = "O_FIPS"; - } - else - { - $fipstarget = "O_CRYPTO"; - } - - - if ($name eq "") - { - $ex.=' bufferoverflowu.lib' if ($FLAVOR =~ /WIN64/); - if ($target =~ /capi/) - { - $ex.=' crypt32.lib advapi32.lib'; - } - } - elsif ($FLAVOR =~ /CE/) - { - $ex.=' winsock.lib $(WCECOMPAT)/lib/wcecompatex.lib'; - } - else - { - $ex.=' unicows.lib' if ($FLAVOR =~ /NT/); - $ex.=' wsock32.lib gdi32.lib advapi32.lib user32.lib'; - $ex.=' crypt32.lib'; - $ex.=' bufferoverflowu.lib' if ($FLAVOR =~ /WIN64/); - } + local($ex)=($target =~ /O_CRYPTO/)?'':' $(L_CRYPTO)'; $ex.=" $zlib_lib" if $zlib_opt == 1 && $target =~ /O_CRYPTO/; - - if ($fips && $target =~ /$fipstarget/) - { - $ex.= $mwex unless $fipscanisterbuild; - $ret.="$target: $objs \$(PREMAIN_DSO_EXE)"; - if ($fipsdso) - { - $ex.=" \$(OBJ_D)\\\$(LIBFIPS).res"; - $ret.=" \$(OBJ_D)\\\$(LIBFIPS).res"; - $ret.=" ms/\$(LIBFIPS).def"; - } - $ret.="\n\tSET FIPS_LINK=\$(LINK)\n"; - $ret.="\tSET FIPS_CC=\$(CC)\n"; - $ret.="\tSET FIPS_CC_ARGS=/Fo\$(OBJ_D)${o}fips_premain.obj \$(SHLIB_CFLAGS) -c\n"; - $ret.="\tSET PREMAIN_DSO_EXE=\$(PREMAIN_DSO_EXE)\n"; - $ret.="\tSET FIPS_SHA1_EXE=\$(FIPS_SHA1_EXE)\n"; - $ret.="\tSET FIPS_TARGET=$target\n"; - $ret.="\tSET FIPSLIB_D=\$(FIPSLIB_D)\n"; - $ret.="\t\$(FIPSLINK) \$(MLFLAGS) /map $base_arg $efile$target "; - $ret.="$name @<<\n \$(SHLIB_EX_OBJ) $objs "; - $ret.="\$(OBJ_D)${o}fips_premain.obj $ex\n<<\n"; - } - else - { - $ret.="$target: $objs"; - if ($target =~ /O_CRYPTO/ && $fipsdso) - { - $ret .= " \$(O_FIPS)"; - $ex .= " \$(L_FIPS)"; - } - $ret.="\n\t\$(LINK) \$(MLFLAGS) $efile$target $name @<<\n \$(SHLIB_EX_OBJ) $objs $ex\n<<\n"; - } - - $ret.="\tIF EXIST \$@.manifest mt -nologo -manifest \$@.manifest -outputresource:\$@;2\n\n"; + $ret.="\t\$(LINK) \$(MLFLAGS) $efile$target $name @<<\n \$(SHLIB_EX_OBJ) $objs $ex \$(EX_LIBS)\n<<\n"; + $ret.="\tIF EXIST \$@.manifest mt -nologo -manifest \$@.manifest -outputresource:\$@;2\n\n"; } $ret.="\n"; return($ret); @@ -396,64 +296,43 @@ sub do_lib_rule sub do_link_rule { - my($target,$files,$dep_libs,$libs,$standalone)=@_; + local($target,$files,$dep_libs,$libs)=@_; local($ret,$_); + $file =~ s/\//$o/g if $o ne '/'; $n=&bname($targer); $ret.="$target: $files $dep_libs\n"; - if ($standalone == 1) - { - $ret.=" \$(LINK) \$(LFLAGS) $efile$target @<<\n\t"; - $ret.= "\$(EX_LIBS) " if ($files =~ /O_FIPSCANISTER/ && !$fipscanisterbuild); - $ret.="$files $libs\n<<\n"; - } - elsif ($standalone == 2) + $ret.="\t\$(LINK) \$(LFLAGS) $efile$target @<<\n"; + $ret.=" \$(APP_EX_OBJ) $files $libs\n<<\n"; + $ret.="\tIF EXIST \$@.manifest mt -nologo -manifest \$@.manifest -outputresource:\$@;1\n\n"; + return($ret); + } + +sub win32_import_asm + { + my ($mf_var, $asm_name, $oref, $sref) = @_; + my $asm_dir; + if ($asm_name eq "") { - $ret.="\tSET FIPS_LINK=\$(LINK)\n"; - $ret.="\tSET FIPS_CC=\$(CC)\n"; - $ret.="\tSET FIPS_CC_ARGS=/Fo\$(OBJ_D)${o}fips_premain.obj \$(SHLIB_CFLAGS) -c\n"; - $ret.="\tSET PREMAIN_DSO_EXE=\n"; - $ret.="\tSET FIPS_TARGET=$target\n"; - $ret.="\tSET FIPS_SHA1_EXE=\$(FIPS_SHA1_EXE)\n"; - $ret.="\tSET FIPSLIB_D=\$(FIPSLIB_D)\n"; - $ret.="\t\$(FIPSLINK) \$(LFLAGS) /map $efile$target @<<\n"; - $ret.="\t\$(APP_EX_OBJ) $files \$(OBJ_D)${o}fips_premain.obj $libs\n<<\n"; + $asm_dir = "crypto\\"; } else { - $ret.="\t\$(LINK) \$(LFLAGS) $efile$target @<<\n"; - $ret.="\t\$(APP_EX_OBJ) $files $libs\n<<\n"; + $asm_dir = "crypto\\$asm_name\\asm\\"; } - $ret.="\tIF EXIST \$@.manifest mt -nologo -manifest \$@.manifest -outputresource:\$@;1\n\n"; - return($ret); - } -sub do_rlink_rule - { - local($target,$rl_start, $rl_mid, $rl_end,$dep_libs,$libs)=@_; - local($ret,$_); - my $files = "$rl_start $rl_mid $rl_end"; + $$oref = ""; + $mf_var =~ s/\.o$/.obj/g; - $file =~ s/\//$o/g if $o ne '/'; - $n=&bname($targer); - $ret.="$target: $files $dep_libs \$(FIPS_SHA1_EXE)\n"; - $ret.="\t\$(PERL) ms\\segrenam.pl \$\$a $rl_start\n"; - $ret.="\t\$(PERL) ms\\segrenam.pl \$\$b $rl_mid\n"; - $ret.="\t\$(PERL) ms\\segrenam.pl \$\$c $rl_end\n"; - $ret.="\t\$(MKLIB) $lfile$target @<<\n\t$files\n<<\n"; - $ret.="\t\$(FIPS_SHA1_EXE) $target > ${target}.sha1\n"; - $ret.="\t\$(PERL) util${o}copy.pl -stripcr fips${o}fips_premain.c \$(LIB_D)${o}fips_premain.c\n"; - $ret.="\t\$(CP) fips${o}fips_premain.c.sha1 \$(LIB_D)${o}fips_premain.c.sha1\n"; - $ret.="\n"; - return($ret); - } + foreach (split(/ /, $mf_var)) + { + $$oref .= $asm_dir . $_ . " "; + } + $$oref =~ s/ $//; + $$sref = $$oref; + $$sref =~ s/\.obj/.asm/g; -sub do_sdef_rule - { - my $ret = "ms/\$(LIBFIPS).def: \$(O_FIPSCANISTER)\n"; - $ret.="\t\$(PERL) util/mksdef.pl \$(MLFLAGS) /out:dummy.dll /def:ms/libeay32.def @<<\n \$(O_FIPSCANISTER)\n<<\n"; - $ret.="\n"; - return $ret; } + 1; diff --git a/src/lib/libcrypto/util/pl/VC-CE.pl b/src/lib/libcrypto/util/pl/VC-CE.pl deleted file mode 100644 index 2fd0c4dd32..0000000000 --- a/src/lib/libcrypto/util/pl/VC-CE.pl +++ /dev/null @@ -1,116 +0,0 @@ -#!/usr/local/bin/perl -# VC-CE.pl - the file for eMbedded Visual C++ 3.0 for windows CE, static libraries -# - -$ssl= "ssleay32"; -$crypto="libeay32"; -$RSAref="RSAref32"; - -$o='\\'; -$cp='copy nul+'; # Timestamps get stuffed otherwise -$rm='del'; - -# C compiler stuff -$cc='$(CC)'; -$cflags=' /W3 /WX /Ox /O2 /Ob2 /Gs0 /GF /Gy /nologo $(WCETARGETDEFS) -DUNICODE -D_UNICODE -DWIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -DDSO_WIN32 -DNO_CHMOD -I$(WCECOMPAT)/include'; -$lflags='/nologo /subsystem:windowsce,$(WCELDVERSION) /machine:$(WCELDMACHINE) /opt:ref'; -$mlflags=''; - -$out_def='out32_$(TARGETCPU)'; -$tmp_def='tmp32_$(TARGETCPU)'; -$inc_def="inc32"; - -if ($debug) - { - $cflags=" /MDd /W3 /WX /Zi /Yd /Od /nologo -DWIN32 -D_DEBUG -DL_ENDIAN -DWIN32_LEAN_AND_MEAN -DDEBUG -DDSO_WIN32"; - $lflags.=" /debug"; - $mlflags.=' /debug'; - } - -$obj='.obj'; -$ofile="/Fo"; - -# EXE linking stuff -$link="link"; -$efile="/out:"; -$exep='.exe'; -if ($no_sock) - { $ex_libs=""; } -else { $ex_libs='winsock.lib $(WCECOMPAT)/lib/wcecompatex.lib $(WCELDFLAGS)'; } - -# static library stuff -$mklib='lib'; -$ranlib=''; -$plib=""; -$libp=".lib"; -$shlibp=($shlib)?".dll":".lib"; -$lfile='/out:'; - -$shlib_ex_obj=""; -$app_ex_obj=""; -$app_ex_obj=""; - -$bn_asm_obj=''; -$bn_asm_src=''; -$des_enc_obj=''; -$des_enc_src=''; -$bf_enc_obj=''; -$bf_enc_src=''; - -if ($shlib) - { - $mlflags.=" $lflags /dll"; -# $cflags =~ s| /MD| /MT|; - $lib_cflag=" -D_WINDLL -D_DLL"; - $out_def='out32dll_$(TARGETCPU)'; - $tmp_def='tmp32dll_$(TARGETCPU)'; - } - -$cflags.=" /Fd$out_def"; - -sub do_lib_rule - { - local($objs,$target,$name,$shlib)=@_; - local($ret,$Name); - - $taget =~ s/\//$o/g if $o ne '/'; - ($Name=$name) =~ tr/a-z/A-Z/; - -# $target="\$(LIB_D)$o$target"; - $ret.="$target: $objs\n"; - if (!$shlib) - { -# $ret.="\t\$(RM) \$(O_$Name)\n"; - $ex =' '; - $ret.="\t\$(MKLIB) $lfile$target @<<\n $objs $ex\n<<\n"; - } - else - { - local($ex)=($target =~ /O_SSL/)?' $(L_CRYPTO)':''; -# $ex.=' winsock.lib coredll.lib $(WCECOMPAT)/lib/wcecompatex.lib'; - $ex.=' winsock.lib $(WCECOMPAT)/lib/wcecompatex.lib'; - $ret.="\t\$(LINK) \$(MLFLAGS) $efile$target /def:ms/${Name}.def @<<\n \$(SHLIB_EX_OBJ) $objs $ex\n<<\n"; - } - $ret.="\n"; - return($ret); - } - -sub do_link_rule - { - local($target,$files,$dep_libs,$libs,$sha1file,$openssl)=@_; - local($ret,$_); - - $file =~ s/\//$o/g if $o ne '/'; - $n=&bname($targer); - $ret.="$target: $files $dep_libs\n"; - $ret.=" \$(LINK) \$(LFLAGS) $efile$target @<<\n"; - $ret.=" \$(APP_EX_OBJ) $files $libs\n<<\n"; - if (defined $sha1file) - { - $ret.=" $openssl sha1 -hmac etaonrishdlcupfm -binary $target > $sha1file"; - } - $ret.="\n"; - return($ret); - } - -1; -- cgit v1.2.3-55-g6feb