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
68
Configure
68
Configure
@ -429,16 +429,37 @@ $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)
|
||||||
|
{
|
||||||
|
$flags="";
|
||||||
|
$depflags="";
|
||||||
|
$openssl_algorithm_defines="";
|
||||||
|
$openssl_thread_defines="";
|
||||||
|
$openssl_other_defines="";
|
||||||
|
$libs="";
|
||||||
|
$target="";
|
||||||
|
$options="";
|
||||||
|
$symlink=1;
|
||||||
|
|
||||||
|
$argv_unprocessed=0;
|
||||||
|
$argvstring=join(' ',@argvcopy);
|
||||||
|
|
||||||
|
PROCESS_ARGS:
|
||||||
|
foreach (@argvcopy)
|
||||||
{
|
{
|
||||||
s /^-no-/no-/; # some people just can't read the instructions
|
s /^-no-/no-/; # some people just can't read the instructions
|
||||||
if (/^no-asm$/)
|
if (/^no-asm$/)
|
||||||
@ -476,6 +497,29 @@ foreach (@ARGV)
|
|||||||
$openssl_algorithm_defines .= "#define NO_MDC2\n";
|
$openssl_algorithm_defines .= "#define NO_MDC2\n";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
elsif (/^reconfigure/ || /^reconf/)
|
||||||
|
{
|
||||||
|
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 (/^386$/)
|
elsif (/^386$/)
|
||||||
{ $processor=386; }
|
{ $processor=386; }
|
||||||
elsif (/^rsaref$/)
|
elsif (/^rsaref$/)
|
||||||
@ -529,6 +573,7 @@ foreach (@ARGV)
|
|||||||
$options .= " ".$_;
|
$options .= " ".$_;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($target eq "TABLE") {
|
if ($target eq "TABLE") {
|
||||||
@ -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…
Reference in New Issue
Block a user