mk1mf.pl and mkdef.pl read OPTIONS from toplevel Makefile.
Configure no longer changes files in place.
This commit is contained in:
parent
8bc1431edd
commit
31ff97b28a
8 changed files with 87 additions and 62 deletions
15
Configure
15
Configure
|
@ -298,6 +298,7 @@ my $flags="";
|
|||
my $depflags="";
|
||||
my $libs="";
|
||||
my $target="";
|
||||
my $options="";
|
||||
foreach (@ARGV)
|
||||
{
|
||||
if (/^no-asm$/)
|
||||
|
@ -349,15 +350,17 @@ foreach (@ARGV)
|
|||
exit(1);
|
||||
}
|
||||
}
|
||||
elsif ($_ =~ /^([^:]+):(.+)$/) {
|
||||
elsif ($_ =~ /^([^:]+):(.+)$/)
|
||||
{
|
||||
eval "\$table{\$1} = \"$2\""; # allow $xxx constructs in the string
|
||||
$target=$1;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
die "target already defined - $target\n" if ($target ne "");
|
||||
$target=$_;
|
||||
}
|
||||
$options .= $_ unless $_ eq $target;
|
||||
}
|
||||
|
||||
&usage if (!defined($table{$target}));
|
||||
|
@ -477,6 +480,7 @@ while (<IN>)
|
|||
s/^OPENSSLDIR=.*$/OPENSSLDIR=$openssldir/;
|
||||
s/^INSTALL_PREFIX=.*$/INSTALL_PREFIX=$install_prefix/;
|
||||
s/^PLATFORM=.*$/PLATFORM=$target/;
|
||||
s/^OPTIONS=.*$/OPTIONS=$options/;
|
||||
s/^CC=.*$/CC= $cc/;
|
||||
s/^CFLAG=.*$/CFLAG= $cflags/;
|
||||
s/^DEPFLAG=.*$/DEPFLAG= $depflags/;
|
||||
|
@ -641,11 +645,8 @@ if($IsWindows) {
|
|||
(system "make -f Makefile.ssl PERL=\'$perl\' links") == 0 or exit $?;
|
||||
(system 'make depend') == 0 or exit $? if $depflags ne "";
|
||||
&dofile("tools/c_rehash",$openssldir,'^DIR=', 'DIR=%s',);
|
||||
&dofile("util/mk1mf.pl",$openssldir,
|
||||
('^\$INSTALLTOP=','$INSTALLTOP="%s";',));
|
||||
}
|
||||
|
||||
|
||||
my $pwd;
|
||||
|
||||
if($IsWindows) {
|
||||
|
@ -730,7 +731,7 @@ sub dofile
|
|||
my $f; my $p; my %m; my @a; my $k; my $ff;
|
||||
($f,$p,%m)=@_;
|
||||
|
||||
open(IN,"<$f") || die "unable to open $f:$!\n";
|
||||
open(IN,"<$f.in") || open(IN,"<$f") || die "unable to open $f:$!\n";
|
||||
@a=<IN>;
|
||||
close(IN);
|
||||
foreach $k (keys %m)
|
||||
|
@ -741,6 +742,6 @@ sub dofile
|
|||
open(OUT,">$ff.new") || die "unable to open $f:$!\n";
|
||||
print OUT @a;
|
||||
close(OUT);
|
||||
rename($f,"$ff.bak") || die "unable to rename $f\n";
|
||||
rename($f,"$ff.bak") || die "unable to rename $f\n" if -e $f;
|
||||
rename("$ff.new",$f) || die "unable to rename $ff.new\n";
|
||||
}
|
||||
|
|
|
@ -82,7 +82,8 @@
|
|||
|
||||
* Compile OpenSSL:
|
||||
|
||||
Run ms\mw.bat
|
||||
> perl Configure Mingw32
|
||||
> ms\mw.bat
|
||||
|
||||
This will create the library and binaries in out.
|
||||
|
||||
|
|
|
@ -6,6 +6,7 @@ VERSION=
|
|||
MAJOR=
|
||||
MINOR=
|
||||
PLATFORM=dist
|
||||
OPTIONS=
|
||||
# INSTALL_PREFIX is for package builders so that they can configure
|
||||
# for, say, /usr/ and yet have everything installed to /tmp/somedir/usr/.
|
||||
# Normally it is left empty.
|
||||
|
|
|
@ -1,9 +1,6 @@
|
|||
@rem OpenSSL with Mingw32
|
||||
@rem --------------------
|
||||
|
||||
perl Configure Mingw32
|
||||
if errorlevel 1 goto end
|
||||
|
||||
@rem Makefile
|
||||
perl util\mkfiles.pl >MINFO
|
||||
perl util\mk1mf.pl Mingw32 >ms\mingw32.mak
|
||||
|
|
2
tools/.cvsignore
Normal file
2
tools/.cvsignore
Normal file
|
@ -0,0 +1,2 @@
|
|||
c_rehash
|
||||
c_rehash.bak
|
116
util/mk1mf.pl
116
util/mk1mf.pl
|
@ -6,8 +6,17 @@
|
|||
#
|
||||
|
||||
$INSTALLTOP="/usr/local/ssl";
|
||||
$OPTIONS="";
|
||||
$ssl_version="";
|
||||
|
||||
$ssl_version="0.9.2b";
|
||||
open(IN,"<Makefile.ssl") || die "unable to open Makefile.ssl!\n";
|
||||
while(<IN>) {
|
||||
$ssl_version=$1 if (/^VERSION=(.*)$/);
|
||||
$options=$1 if (/^OPTIONS=(.*)$/);
|
||||
$INSTALLTOP=$1 if (/^INSTALLTOP=(.*$)/);
|
||||
}
|
||||
|
||||
die "Makefile.ssl is not the toplevel Makefile!\n" if $ssl_version eq "";
|
||||
|
||||
$infile="MINFO";
|
||||
|
||||
|
@ -32,53 +41,14 @@ $infile="MINFO";
|
|||
$platform="";
|
||||
foreach (@ARGV)
|
||||
{
|
||||
if (/^no-rc2$/) { $no_rc2=1; }
|
||||
elsif (/^no-rc4$/) { $no_rc4=1; }
|
||||
elsif (/^no-rc5$/) { $no_rc5=1; }
|
||||
elsif (/^no-idea$/) { $no_idea=1; }
|
||||
elsif (/^no-des$/) { $no_des=1; }
|
||||
elsif (/^no-bf$/) { $no_bf=1; }
|
||||
elsif (/^no-cast$/) { $no_cast=1; }
|
||||
elsif (/^no-md2$/) { $no_md2=1; }
|
||||
elsif (/^no-md5$/) { $no_md5=1; }
|
||||
elsif (/^no-sha$/) { $no_sha=1; }
|
||||
elsif (/^no-sha1$/) { $no_sha1=1; }
|
||||
elsif (/^no-ripemd$/) { $no_ripemd=1; }
|
||||
elsif (/^no-mdc2$/) { $no_mdc2=1; }
|
||||
elsif (/^no-patents$/) { $no_rc2=$no_rc4=$no_rc5=$no_idea=$no_rsa=1; }
|
||||
elsif (/^no-rsa$/) { $no_rsa=1; }
|
||||
elsif (/^no-dsa$/) { $no_dsa=1; }
|
||||
elsif (/^no-dh$/) { $no_dh=1; }
|
||||
elsif (/^no-hmac$/) { $no_hmac=1; }
|
||||
elsif (/^no-asm$/) { $no_asm=1; }
|
||||
elsif (/^no-ssl2$/) { $no_ssl2=1; }
|
||||
elsif (/^no-ssl3$/) { $no_ssl3=1; }
|
||||
elsif (/^no-err$/) { $no_err=1; }
|
||||
elsif (/^no-sock$/) { $no_sock=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; }
|
||||
|
||||
elsif (/^rsaref$/) { $rsaref=1; }
|
||||
elsif (/^gcc$/) { $gcc=1; }
|
||||
elsif (/^debug$/) { $debug=1; }
|
||||
elsif (/^shlib$/) { $shlib=1; }
|
||||
elsif (/^dll$/) { $shlib=1; }
|
||||
elsif (/^([^=]*)=(.*)$/){ $VARS{$1}=$2; }
|
||||
elsif (/^-[lL].*$/) { $l_flags.="$_ "; }
|
||||
elsif ((!/^-help/) && (!/^-h/) && (!/^-\?/) && /^-.*$/)
|
||||
{ $c_flags.="$_ "; }
|
||||
else
|
||||
if (!&read_options && !defined($ops{$_}))
|
||||
{
|
||||
if (!defined($ops{$_}))
|
||||
{
|
||||
print STDERR "unknown option - $_\n";
|
||||
print STDERR "usage: perl mk1mf.pl [system] [options]\n";
|
||||
print STDERR "\nwhere [system] can be one of the following\n";
|
||||
foreach $i (sort keys %ops)
|
||||
{ printf STDERR "\t%-10s\t%s\n",$i,$ops{$i}; }
|
||||
print STDERR <<"EOF";
|
||||
print STDERR "unknown option - $_\n";
|
||||
print STDERR "usage: perl mk1mf.pl [system] [options]\n";
|
||||
print STDERR "\nwhere [system] can be one of the following\n";
|
||||
foreach $i (sort keys %ops)
|
||||
{ printf STDERR "\t%-10s\t%s\n",$i,$ops{$i}; }
|
||||
print STDERR <<"EOF";
|
||||
and [options] can be one of
|
||||
no-md2 no-md5 no-sha no-mdc2 no-ripemd - Skip this digest
|
||||
no-rc2 no-rc4 no-idea no-des no-bf no-cast - Skip this symetric cipher
|
||||
|
@ -101,10 +71,13 @@ TMP=tmpdir OUT=outdir SRC=srcdir BIN=binpath INC=header-outdir CC=C-compiler
|
|||
-<ex_cc_flags> - extra 'cc' flags,
|
||||
added (MS), or replace (unix)
|
||||
EOF
|
||||
exit(1);
|
||||
}
|
||||
$platform=$_;
|
||||
exit(1);
|
||||
}
|
||||
$platform=$_;
|
||||
}
|
||||
foreach (split / /, $OPTIONS)
|
||||
{
|
||||
print STDERR "unknown option - $_\n" if !&read_options;
|
||||
}
|
||||
|
||||
$no_mdc2=1 if ($no_des);
|
||||
|
@ -817,3 +790,46 @@ sub do_copy_rule
|
|||
}
|
||||
return($ret);
|
||||
}
|
||||
|
||||
sub read_options
|
||||
{
|
||||
if (/^no-rc2$/) { $no_rc2=1; }
|
||||
elsif (/^no-rc4$/) { $no_rc4=1; }
|
||||
elsif (/^no-rc5$/) { $no_rc5=1; }
|
||||
elsif (/^no-idea$/) { $no_idea=1; }
|
||||
elsif (/^no-des$/) { $no_des=1; }
|
||||
elsif (/^no-bf$/) { $no_bf=1; }
|
||||
elsif (/^no-cast$/) { $no_cast=1; }
|
||||
elsif (/^no-md2$/) { $no_md2=1; }
|
||||
elsif (/^no-md5$/) { $no_md5=1; }
|
||||
elsif (/^no-sha$/) { $no_sha=1; }
|
||||
elsif (/^no-sha1$/) { $no_sha1=1; }
|
||||
elsif (/^no-ripemd$/) { $no_ripemd=1; }
|
||||
elsif (/^no-mdc2$/) { $no_mdc2=1; }
|
||||
elsif (/^no-patents$/) { $no_rc2=$no_rc4=$no_rc5=$no_idea=$no_rsa=1; }
|
||||
elsif (/^no-rsa$/) { $no_rsa=1; }
|
||||
elsif (/^no-dsa$/) { $no_dsa=1; }
|
||||
elsif (/^no-dh$/) { $no_dh=1; }
|
||||
elsif (/^no-hmac$/) { $no_hmac=1; }
|
||||
elsif (/^no-asm$/) { $no_asm=1; }
|
||||
elsif (/^no-ssl2$/) { $no_ssl2=1; }
|
||||
elsif (/^no-ssl3$/) { $no_ssl3=1; }
|
||||
elsif (/^no-err$/) { $no_err=1; }
|
||||
elsif (/^no-sock$/) { $no_sock=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; }
|
||||
|
||||
elsif (/^rsaref$/) { $rsaref=1; }
|
||||
elsif (/^gcc$/) { $gcc=1; }
|
||||
elsif (/^debug$/) { $debug=1; }
|
||||
elsif (/^shlib$/) { $shlib=1; }
|
||||
elsif (/^dll$/) { $shlib=1; }
|
||||
elsif (/^([^=]*)=(.*)$/){ $VARS{$1}=$2; }
|
||||
elsif (/^-[lL].*$/) { $l_flags.="$_ "; }
|
||||
elsif ((!/^-help/) && (!/^-h/) && (!/^-\?/) && /^-.*$/)
|
||||
{ $c_flags.="$_ "; }
|
||||
else { return(1); }
|
||||
return(0);
|
||||
}
|
||||
|
|
|
@ -18,7 +18,14 @@ $W32=1;
|
|||
$NT=0;
|
||||
# Set this to make typesafe STACK definitions appear in DEF
|
||||
$safe_stack_def = 1;
|
||||
foreach (@ARGV)
|
||||
|
||||
$options="";
|
||||
open(IN,"<Makefile.ssl") || die "unable to open Makefile.ssl!\n";
|
||||
while(<IN>) {
|
||||
$options=$1 if (/^OPTIONS=(.*)$/);
|
||||
}
|
||||
|
||||
foreach (@ARGV, split(/ /, $options))
|
||||
{
|
||||
$W32=1 if $_ eq "32";
|
||||
$W32=0 if $_ eq "16";
|
||||
|
|
Loading…
Reference in a new issue