Allow reconfiguration. This can be useful if some source update
requires that you configure again, but you don't want to reenter all those configuration arguments again.
This commit is contained in:
parent
fa1194d30a
commit
c59cb511f3
212
Configure
212
Configure
@ -429,104 +429,149 @@ $perl=$ENV{'PERL'} or $perl=&which("perl5") or $perl=&which("perl")
|
|||||||
|
|
||||||
&usage if ($#ARGV < 0);
|
&usage if ($#ARGV < 0);
|
||||||
|
|
||||||
my $flags="";
|
my $flags;
|
||||||
my $depflags="";
|
my $depflags;
|
||||||
my $openssl_algorithm_defines="";
|
my $openssl_algorithm_defines;
|
||||||
my $openssl_thread_defines="";
|
my $openssl_thread_defines;
|
||||||
my $openssl_other_defines="";
|
my $openssl_other_defines;
|
||||||
my $libs="";
|
my $libs;
|
||||||
my $target="";
|
my $target;
|
||||||
my $options="";
|
my $options;
|
||||||
my $symlink=1;
|
my $symlink;
|
||||||
foreach (@ARGV)
|
|
||||||
|
my @argvcopy=@ARGV;
|
||||||
|
my $argvstring="";
|
||||||
|
my $argv_unprocessed=1;
|
||||||
|
|
||||||
|
while($argv_unprocessed)
|
||||||
{
|
{
|
||||||
s /^-no-/no-/; # some people just can't read the instructions
|
$flags="";
|
||||||
if (/^no-asm$/)
|
$depflags="";
|
||||||
{
|
$openssl_algorithm_defines="";
|
||||||
$no_asm=1;
|
$openssl_thread_defines="";
|
||||||
$flags .= "-DNO_ASM ";
|
$openssl_other_defines="";
|
||||||
$openssl_other_defines .= "#define NO_ASM\n";
|
$libs="";
|
||||||
}
|
$target="";
|
||||||
elsif (/^no-dso$/)
|
$options="";
|
||||||
{ $no_dso=1; }
|
$symlink=1;
|
||||||
elsif (/^no-threads$/)
|
|
||||||
{ $no_threads=1; }
|
$argv_unprocessed=0;
|
||||||
elsif (/^threads$/)
|
$argvstring=join(' ',@argvcopy);
|
||||||
{ $threads=1; }
|
|
||||||
elsif (/^no-shared$/)
|
PROCESS_ARGS:
|
||||||
{ $no_shared=1; }
|
foreach (@argvcopy)
|
||||||
elsif (/^shared$/)
|
|
||||||
{ $no_shared=0; }
|
|
||||||
elsif (/^no-symlinks$/)
|
|
||||||
{ $symlink=0; }
|
|
||||||
elsif (/^no-(.+)$/)
|
|
||||||
{
|
{
|
||||||
my $algo=$1;
|
s /^-no-/no-/; # some people just can't read the instructions
|
||||||
push @skip,$algo;
|
if (/^no-asm$/)
|
||||||
$algo =~ tr/[a-z]/[A-Z]/;
|
{
|
||||||
$flags .= "-DNO_$algo ";
|
$no_asm=1;
|
||||||
$depflags .= "-DNO_$algo ";
|
$flags .= "-DNO_ASM ";
|
||||||
$openssl_algorithm_defines .= "#define NO_$algo\n";
|
$openssl_other_defines .= "#define NO_ASM\n";
|
||||||
if ($algo eq "DES")
|
|
||||||
{
|
|
||||||
push @skip, "mdc2";
|
|
||||||
$options .= " no-mdc2";
|
|
||||||
$flags .= "-DNO_MDC2 ";
|
|
||||||
$depflags .= "-DNO_MDC2 ";
|
|
||||||
$openssl_algorithm_defines .= "#define NO_MDC2\n";
|
|
||||||
}
|
}
|
||||||
}
|
elsif (/^no-dso$/)
|
||||||
elsif (/^386$/)
|
{ $no_dso=1; }
|
||||||
{ $processor=386; }
|
elsif (/^no-threads$/)
|
||||||
elsif (/^rsaref$/)
|
{ $no_threads=1; }
|
||||||
{
|
elsif (/^threads$/)
|
||||||
$libs.= "-lRSAglue -lrsaref ";
|
{ $threads=1; }
|
||||||
$flags.= "-DRSAref ";
|
elsif (/^no-shared$/)
|
||||||
$openssl_other_defines .= "#define RSAref\n";
|
{ $no_shared=1; }
|
||||||
}
|
elsif (/^shared$/)
|
||||||
elsif (/^[-+]/)
|
{ $no_shared=0; }
|
||||||
{
|
elsif (/^no-symlinks$/)
|
||||||
if (/^-[lL](.*)$/)
|
{ $symlink=0; }
|
||||||
|
elsif (/^no-(.+)$/)
|
||||||
{
|
{
|
||||||
$libs.=$_." ";
|
my $algo=$1;
|
||||||
|
push @skip,$algo;
|
||||||
|
$algo =~ tr/[a-z]/[A-Z]/;
|
||||||
|
$flags .= "-DNO_$algo ";
|
||||||
|
$depflags .= "-DNO_$algo ";
|
||||||
|
$openssl_algorithm_defines .= "#define NO_$algo\n";
|
||||||
|
if ($algo eq "DES")
|
||||||
|
{
|
||||||
|
push @skip, "mdc2";
|
||||||
|
$options .= " no-mdc2";
|
||||||
|
$flags .= "-DNO_MDC2 ";
|
||||||
|
$depflags .= "-DNO_MDC2 ";
|
||||||
|
$openssl_algorithm_defines .= "#define NO_MDC2\n";
|
||||||
|
}
|
||||||
}
|
}
|
||||||
elsif (/^-[^-]/ or /^\+/)
|
elsif (/^reconfigure/ || /^reconf/)
|
||||||
{
|
{
|
||||||
$flags.=$_." ";
|
if (open(IN,"<$Makefile"))
|
||||||
|
{
|
||||||
|
while (<IN>)
|
||||||
|
{
|
||||||
|
chop;
|
||||||
|
if (/^CONFIGURE_ARGS=(.*)/)
|
||||||
|
{
|
||||||
|
$argvstring=$1;
|
||||||
|
@argvcopy=split(' ',$argvstring);
|
||||||
|
die "Incorrect data to reconfigure, please do a normal configuration\n"
|
||||||
|
if (grep(/^reconf/,@argvcopy));
|
||||||
|
print "Reconfiguring with: $argvstring\n";
|
||||||
|
$argv_unprocessed=1;
|
||||||
|
close(IN);
|
||||||
|
last PROCESS_ARGS;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
close(IN);
|
||||||
|
}
|
||||||
|
die "Insufficient data to reconfigure, please do a normal configuration\n";
|
||||||
}
|
}
|
||||||
elsif (/^--prefix=(.*)$/)
|
elsif (/^386$/)
|
||||||
|
{ $processor=386; }
|
||||||
|
elsif (/^rsaref$/)
|
||||||
{
|
{
|
||||||
$prefix=$1;
|
$libs.= "-lRSAglue -lrsaref ";
|
||||||
|
$flags.= "-DRSAref ";
|
||||||
|
$openssl_other_defines .= "#define RSAref\n";
|
||||||
}
|
}
|
||||||
elsif (/^--openssldir=(.*)$/)
|
elsif (/^[-+]/)
|
||||||
{
|
{
|
||||||
$openssldir=$1;
|
if (/^-[lL](.*)$/)
|
||||||
|
{
|
||||||
|
$libs.=$_." ";
|
||||||
|
}
|
||||||
|
elsif (/^-[^-]/ or /^\+/)
|
||||||
|
{
|
||||||
|
$flags.=$_." ";
|
||||||
|
}
|
||||||
|
elsif (/^--prefix=(.*)$/)
|
||||||
|
{
|
||||||
|
$prefix=$1;
|
||||||
|
}
|
||||||
|
elsif (/^--openssldir=(.*)$/)
|
||||||
|
{
|
||||||
|
$openssldir=$1;
|
||||||
|
}
|
||||||
|
elsif (/^--install.prefix=(.*)$/)
|
||||||
|
{
|
||||||
|
$install_prefix=$1;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
print STDERR $usage;
|
||||||
|
exit(1);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
elsif (/^--install.prefix=(.*)$/)
|
elsif ($_ =~ /^([^:]+):(.+)$/)
|
||||||
{
|
{
|
||||||
$install_prefix=$1;
|
eval "\$table{\$1} = \"$2\""; # allow $xxx constructs in the string
|
||||||
|
$target=$1;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
print STDERR $usage;
|
die "target already defined - $target\n" if ($target ne "");
|
||||||
exit(1);
|
$target=$_;
|
||||||
|
}
|
||||||
|
unless ($_ eq $target) {
|
||||||
|
if ($options eq "") {
|
||||||
|
$options = $_;
|
||||||
|
} else {
|
||||||
|
$options .= " ".$_;
|
||||||
}
|
}
|
||||||
}
|
|
||||||
elsif ($_ =~ /^([^:]+):(.+)$/)
|
|
||||||
{
|
|
||||||
eval "\$table{\$1} = \"$2\""; # allow $xxx constructs in the string
|
|
||||||
$target=$1;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
die "target already defined - $target\n" if ($target ne "");
|
|
||||||
$target=$_;
|
|
||||||
}
|
|
||||||
unless ($_ eq $target) {
|
|
||||||
if ($options eq "") {
|
|
||||||
$options = $_;
|
|
||||||
} else {
|
|
||||||
$options .= " ".$_;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -546,6 +591,8 @@ if ($target eq "LIST") {
|
|||||||
exit 0;
|
exit 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
print "Configuring for $target\n";
|
||||||
|
|
||||||
&usage if (!defined($table{$target}));
|
&usage if (!defined($table{$target}));
|
||||||
|
|
||||||
my $IsWindows=scalar grep /^$target$/,@WinTargets;
|
my $IsWindows=scalar grep /^$target$/,@WinTargets;
|
||||||
@ -736,6 +783,7 @@ while (<IN>)
|
|||||||
s/^INSTALL_PREFIX=.*$/INSTALL_PREFIX=$install_prefix/;
|
s/^INSTALL_PREFIX=.*$/INSTALL_PREFIX=$install_prefix/;
|
||||||
s/^PLATFORM=.*$/PLATFORM=$target/;
|
s/^PLATFORM=.*$/PLATFORM=$target/;
|
||||||
s/^OPTIONS=.*$/OPTIONS=$options/;
|
s/^OPTIONS=.*$/OPTIONS=$options/;
|
||||||
|
s/^CONFIGURE_ARGS=.*$/CONFIGURE_ARGS=$argvstring/;
|
||||||
s/^CC=.*$/CC= $cc/;
|
s/^CC=.*$/CC= $cc/;
|
||||||
s/^CFLAG=.*$/CFLAG= $cflags/;
|
s/^CFLAG=.*$/CFLAG= $cflags/;
|
||||||
s/^DEPFLAG=.*$/DEPFLAG= $depflags/;
|
s/^DEPFLAG=.*$/DEPFLAG= $depflags/;
|
||||||
|
@ -11,6 +11,7 @@ SHLIB_MAJOR=
|
|||||||
SHLIB_MINOR=
|
SHLIB_MINOR=
|
||||||
PLATFORM=dist
|
PLATFORM=dist
|
||||||
OPTIONS=
|
OPTIONS=
|
||||||
|
CONFIGURE_ARGS=
|
||||||
SHLIB_TARGET=
|
SHLIB_TARGET=
|
||||||
|
|
||||||
# INSTALL_PREFIX is for package builders so that they can configure
|
# INSTALL_PREFIX is for package builders so that they can configure
|
||||||
|
2
config
2
config
@ -559,7 +559,7 @@ OUT="$PREFIX$OUT"
|
|||||||
|
|
||||||
$PERL ./Configure LIST | grep "$OUT" > /dev/null
|
$PERL ./Configure LIST | grep "$OUT" > /dev/null
|
||||||
if [ $? = "0" ]; then
|
if [ $? = "0" ]; then
|
||||||
echo Configuring for $OUT
|
#echo Configuring for $OUT
|
||||||
|
|
||||||
if [ "$TEST" = "true" ]; then
|
if [ "$TEST" = "true" ]; then
|
||||||
echo $PERL ./Configure $OUT $options
|
echo $PERL ./Configure $OUT $options
|
||||||
|
Loading…
x
Reference in New Issue
Block a user