Correct the request of debug builds

./config would translate -d into having the target get a 'debug-'
prefix, and then run './Configure LIST' to find out if such a
debugging target exists or not.

With the recent changes, the separate 'debug-foo' targets are
disappearing, and we're giving the normal targets debugging
capabilities instead.  Unfortunately, './config' wasn't changed to
match this new behavior.

This change introduces the arguments '--debug' and '--release' - the
latter just for orthogonality - to ./Configure, and ./config now
treats -d by adding '--debug' to the options for ./Configure.

Reviewed-by: Matt Caswell <matt@openssl.org>
This commit is contained in:
Richard Levitte 2015-03-17 16:30:54 +01:00
parent 11abf92259
commit 9e43c6b5c2
2 changed files with 20 additions and 7 deletions

View file

@ -946,6 +946,7 @@ my $options;
my $symlink;
my $make_depend=0;
my %withargs=();
my $build_prefix = "release_";
my @argvcopy=@ARGV;
my $argvstring="";
@ -1020,10 +1021,18 @@ PROCESS_ARGS:
{
exit(&test_sanity());
}
elsif (/^--strict-warnings/)
elsif (/^--strict-warnings$/)
{
$strict_warnings = 1;
}
elsif (/^--debug$/)
{
$build_prefix = "debug_";
}
elsif (/^--release$/)
{
$build_prefix = "release_";
}
elsif (/^reconfigure/ || /^reconf/)
{
if (open(IN,"<$Makefile"))
@ -1234,10 +1243,10 @@ if ($target =~ m/^CygWin32(-.*)$/) {
print "Configuring for $target\n";
# Support for legacy targets having a name starting with 'debug-'
my ($d, $t) = $target =~ m/^(debug-)?(.*)$/;
my $debug_prefix = "release_";
if ($d) {
$debug_prefix = "debug_";
$build_prefix = "debug_";
# If we do not find debug-foo in the table, the target is set to foo,
# but only if the foo target has a noon-empty debug_cflags or debug_lflags
@ -1248,7 +1257,11 @@ if ($d) {
}
}
&usage if (!defined($table{$target}) || $table{$target}->{template});
&usage if (!defined($table{$target})
|| $table{$target}->{template}
|| ($build_prefix eq "debug_"
&& !($table{$target}->{debug_cflags}
|| $table{$target}->{debug_lflags})));
if ($fips)
{
@ -1359,10 +1372,10 @@ my $cc = $ENV{CC} || $table{$t}->{cc};
# Do it in such a way that no spurious space is appended (hence the grep).
my $cflags = join(" ",
grep { $_ } ($table{$t}->{cflags},
$table{$t}->{$debug_prefix."cflags"}));
$table{$t}->{$build_prefix."cflags"}));
my $lflags = join(" ",
grep { $_ } ($table{$t}->{lflags},
$table{$t}->{$debug_prefix."lflags"}));
$table{$t}->{$build_prefix."lflags"}));
my $unistd = $table{$t}->{unistd};
my $thread_cflag = $table{$t}->{thread_cflag};

2
config
View file

@ -29,7 +29,7 @@ EXE=""
for i
do
case "$i" in
-d*) PREFIX="debug-";;
-d*) options=$options" --debug";;
-t*) TEST="true";;
-h*) TEST="true"; cat <<EOF
Usage: config [options]