X-Git-Url: https://git.openssl.org/gitweb/?p=openssl.git;a=blobdiff_plain;f=util%2Fmk1mf.pl;h=8c6370bc5dcbb470550d520b834148a027a7d3bc;hp=0db416a6d4a0c09a82b07b5fe82a8caa240b3443;hb=7a1f92fdc39c5840cb8f491fa59a6ae5b9b5f610;hpb=97f56446a3f5bb012dda3825d96e6167f108e29d diff --git a/util/mk1mf.pl b/util/mk1mf.pl index 0db416a6d4..8c6370bc5d 100755 --- a/util/mk1mf.pl +++ b/util/mk1mf.pl @@ -24,6 +24,7 @@ $infile="MINFO"; %ops=( "VC-WIN32", "Microsoft Visual C++ [4-6] - Windows NT or 9X", + "VC-CE", "Microsoft eMbedded Visual C++ 3.0 - Windows CE ONLY", "VC-NT", "Microsoft Visual C++ [4-6] - Windows NT ONLY", "VC-W31-16", "Microsoft Visual C++ 1.52 - Windows 3.1 - 286", "VC-WIN16", "Alias for VC-W31-32", @@ -37,6 +38,7 @@ $infile="MINFO"; "linux-elf","Linux elf", "ultrix-mips","DEC mips ultrix", "FreeBSD","FreeBSD distribution", + "OS2-EMX", "EMX GCC OS/2", "default","cc under unix", ); @@ -54,13 +56,15 @@ foreach (@ARGV) and [options] can be one of no-md2 no-md4 no-md5 no-sha no-mdc2 - Skip this digest no-ripemd - no-rc2 no-rc4 no-idea no-des no-bf no-cast - Skip this symetric cipher - no-rc5 + no-rc2 no-rc4 no-rc5 no-idea no-des - Skip this symetric cipher + no-bf no-cast no-aes no-rsa no-dsa no-dh - Skip this public key cipher no-ssl2 no-ssl3 - Skip this version of SSL just-ssl - remove all non-ssl keys/digest no-asm - No x86 asm no-krb5 - No KRB5 + no-ec - No EC + no-ecdsa - No ECDSA nasm - Use NASM for x86 asm gaswin - Use GNU as with Mingw32 no-socks - No socket code @@ -81,7 +85,7 @@ EOF } $platform=$_; } -foreach (split / /, $OPTIONS) +foreach (grep(!/^$/, split(/ /, $OPTIONS))) { print STDERR "unknown option - $_\n" if !&read_options; } @@ -91,14 +95,14 @@ $no_mdc2=1 if ($no_des); $no_ssl3=1 if ($no_md5 || $no_sha); $no_ssl3=1 if ($no_rsa && $no_dh); -$no_ssl2=1 if ($no_md5 || $no_rsa); +$no_ssl2=1 if ($no_md5); $no_ssl2=1 if ($no_rsa); $out_def="out"; $inc_def="outinc"; $tmp_def="tmp"; -$mkdir="mkdir"; +$mkdir="-mkdir"; ($ssl,$crypto)=("ssl","crypto"); $ranlib="echo ranlib"; @@ -135,6 +139,10 @@ elsif (($platform eq "VC-WIN32") || ($platform eq "VC-NT")) $NT = 1 if $platform eq "VC-NT"; require 'VC-32.pl'; } +elsif ($platform eq "VC-CE") + { + require 'VC-CE.pl'; + } elsif ($platform eq "Mingw32") { require 'Mingw32.pl'; @@ -182,6 +190,11 @@ elsif ($platform eq "ultrix-mips") require "ultrix.pl"; $unix=1; } +elsif ($platform eq "OS2-EMX") + { + $wc=1; + require 'OS2-EMX.pl'; + } else { require "unix.pl"; @@ -196,28 +209,31 @@ $inc_dir=(defined($VARS{'INC'}))?$VARS{'INC'}:$inc_def; $bin_dir=$bin_dir.$o unless ((substr($bin_dir,-1,1) eq $o) || ($bin_dir eq '')); -$cflags.=" -DNO_IDEA" if $no_idea; -$cflags.=" -DNO_RC2" if $no_rc2; -$cflags.=" -DNO_RC4" if $no_rc4; -$cflags.=" -DNO_RC5" if $no_rc5; -$cflags.=" -DNO_MD2" if $no_md2; -$cflags.=" -DNO_MD4" if $no_md4; -$cflags.=" -DNO_MD5" if $no_md5; -$cflags.=" -DNO_SHA" if $no_sha; -$cflags.=" -DNO_SHA1" if $no_sha1; -$cflags.=" -DNO_RIPEMD" if $no_rmd160; -$cflags.=" -DNO_MDC2" if $no_mdc2; -$cflags.=" -DNO_BF" if $no_bf; -$cflags.=" -DNO_CAST" if $no_cast; -$cflags.=" -DNO_DES" if $no_des; -$cflags.=" -DNO_RSA" if $no_rsa; -$cflags.=" -DNO_DSA" if $no_dsa; -$cflags.=" -DNO_DH" if $no_dh; -$cflags.=" -DNO_SOCK" if $no_sock; -$cflags.=" -DNO_SSL2" if $no_ssl2; -$cflags.=" -DNO_SSL3" if $no_ssl3; -$cflags.=" -DNO_ERR" if $no_err; -$cflags.=" -DNO_KRB5" if $no_krb5; +$cflags.=" -DOPENSSL_NO_IDEA" if $no_idea; +$cflags.=" -DOPENSSL_NO_AES" if $no_aes; +$cflags.=" -DOPENSSL_NO_RC2" if $no_rc2; +$cflags.=" -DOPENSSL_NO_RC4" if $no_rc4; +$cflags.=" -DOPENSSL_NO_RC5" if $no_rc5; +$cflags.=" -DOPENSSL_NO_MD2" if $no_md2; +$cflags.=" -DOPENSSL_NO_MD4" if $no_md4; +$cflags.=" -DOPENSSL_NO_MD5" if $no_md5; +$cflags.=" -DOPENSSL_NO_SHA" if $no_sha; +$cflags.=" -DOPENSSL_NO_SHA1" if $no_sha1; +$cflags.=" -DOPENSSL_NO_RIPEMD" if $no_rmd160; +$cflags.=" -DOPENSSL_NO_MDC2" if $no_mdc2; +$cflags.=" -DOPENSSL_NO_BF" if $no_bf; +$cflags.=" -DOPENSSL_NO_CAST" if $no_cast; +$cflags.=" -DOPENSSL_NO_DES" if $no_des; +$cflags.=" -DOPENSSL_NO_RSA" if $no_rsa; +$cflags.=" -DOPENSSL_NO_DSA" if $no_dsa; +$cflags.=" -DOPENSSL_NO_DH" if $no_dh; +$cflags.=" -DOPENSSL_NO_SOCK" if $no_sock; +$cflags.=" -DOPENSSL_NO_SSL2" if $no_ssl2; +$cflags.=" -DOPENSSL_NO_SSL3" if $no_ssl3; +$cflags.=" -DOPENSSL_NO_ERR" if $no_err; +$cflags.=" -DOPENSSL_NO_KRB5" if $no_krb5; +$cflags.=" -DOPENSSL_NO_EC" if $no_ec; +$cflags.=" -DOPENSSL_NO_ECDSA" if $no_ecdsa; #$cflags.=" -DRSAref" if $rsaref ne ""; ## if ($unix) @@ -257,6 +273,17 @@ $defs= <<"EOF"; # The one monster makefile better suits building in non-unix # environments. +EOF + +if ($platform eq "VC-CE") + { + $defs.= <<"EOF"; +!INCLUDE <\$(WCECOMPAT)/wcedefs.mak> + +EOF + } + +$defs.= <<"EOF"; INSTALLTOP=$INSTALLTOP # Set your compiler options @@ -277,6 +304,7 @@ SRC_D=$src_dir LINK=$link LFLAGS=$lflags +RSC=$rsc BN_ASM_OBJ=$bn_asm_obj BN_ASM_SRC=$bn_asm_src @@ -589,6 +617,18 @@ foreach (values %lib_nam) $rules.=&do_compile_rule("\$(OBJ_D)",$lib_obj{$_},$lib); } +# hack to add version info on MSVC +if (($platform eq "VC-WIN32") || ($platform eq "VC-NT")) { + $rules.= <<"EOF"; +\$(OBJ_D)\\\$(CRYPTO).res: ms\\version32.rc + \$(RSC) /fo"\$(OBJ_D)\\\$(CRYPTO).res" /d CRYPTO ms\\version32.rc + +\$(OBJ_D)\\\$(SSL).res: ms\\version32.rc + \$(RSC) /fo"\$(OBJ_D)\\\$(SSL).res" /d SSL ms\\version32.rc + +EOF +} + $defs.=&do_defs("T_EXE",$test,"\$(TEST_D)",$exep); foreach (split(/\s+/,$test)) { @@ -624,6 +664,7 @@ sub var_add local(@a,$_,$ret); return("") if $no_idea && $dir =~ /\/idea/; + return("") if $no_aes && $dir =~ /\/aes/; return("") if $no_rc2 && $dir =~ /\/rc2/; return("") if $no_rc4 && $dir =~ /\/rc4/; return("") if $no_rc5 && $dir =~ /\/rc5/; @@ -649,7 +690,8 @@ sub var_add @a=grep(!/^e_.*_3d$/,@a) if $no_des; @a=grep(!/^e_.*_d$/,@a) if $no_des; - @a=grep(!/^e_.*_i$/,@a) if $no_idea; + @a=grep(!/^e_.*_ae$/,@a) if $no_idea; + @a=grep(!/^e_.*_i$/,@a) if $no_aes; @a=grep(!/^e_.*_r2$/,@a) if $no_rc2; @a=grep(!/^e_.*_r5$/,@a) if $no_rc5; @a=grep(!/^e_.*_bf$/,@a) if $no_bf; @@ -742,6 +784,14 @@ sub do_defs $Vars{$var}.="$t "; $ret.=$t; } + # hack to add version info on MSVC + if ($shlib && ($platform eq "VC-WIN32") || ($platform eq "VC-NT")) + { + if ($var eq "CRYPTOOBJ") + { $ret.="\$(OBJ_D)\\\$(CRYPTO).res "; } + elsif ($var eq "SSLOBJ") + { $ret.="\$(OBJ_D)\\\$(SSL).res "; } + } chop($ret); $ret.="\n\n"; return($ret); @@ -848,6 +898,7 @@ sub read_options elsif (/^no-rc4$/) { $no_rc4=1; } elsif (/^no-rc5$/) { $no_rc5=1; } elsif (/^no-idea$/) { $no_idea=1; } + elsif (/^no-aes$/) { $no_aes=1; } elsif (/^no-des$/) { $no_des=1; } elsif (/^no-bf$/) { $no_bf=1; } elsif (/^no-cast$/) { $no_cast=1; } @@ -863,7 +914,7 @@ sub read_options elsif (/^no-dsa$/) { $no_dsa=1; } elsif (/^no-dh$/) { $no_dh=1; } elsif (/^no-hmac$/) { $no_hmac=1; } - elsif (/^no-rijndael$/) { $no_rijndael=1; } + elsif (/^no-aes$/) { $no_aes=1; } elsif (/^no-asm$/) { $no_asm=1; } elsif (/^nasm$/) { $nasm=1; } elsif (/^gaswin$/) { $gaswin=1; } @@ -872,10 +923,13 @@ sub read_options elsif (/^no-err$/) { $no_err=1; } elsif (/^no-sock$/) { $no_sock=1; } elsif (/^no-krb5$/) { $no_krb5=1; } + elsif (/^no-ec$/) { $no_ec=1; } + elsif (/^no-ecdsa$/) { $no_ecdsa=1; } elsif (/^just-ssl$/) { $no_rc2=$no_idea=$no_des=$no_bf=$no_cast=1; $no_md2=$no_sha=$no_mdc2=$no_dsa=$no_dh=1; - $no_ssl2=$no_err=$no_rmd160=$no_rc5=1; } + $no_ssl2=$no_err=$no_rmd160=$no_rc5=1; + $no_aes=1; } elsif (/^rsaref$/) { } elsif (/^gcc$/) { $gcc=1; }