summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Levitte <levitte@openssl.org>2015-03-17 16:30:54 +0100
committerRichard Levitte <levitte@openssl.org>2015-03-17 17:01:31 +0100
commit9e43c6b5c28731d13afcb4658dc2fa4dd188cc0b (patch)
tree10fb1168ba231605354e949b0760fbd8afbc0a35
parent11abf92259e899f4f7da4a3e80781e84b0fb1a64 (diff)
downloadopenssl-new-9e43c6b5c28731d13afcb4658dc2fa4dd188cc0b.tar.gz
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>
-rwxr-xr-xConfigure25
-rwxr-xr-xconfig2
2 files changed, 20 insertions, 7 deletions
diff --git a/Configure b/Configure
index 705f4c686d..4a34b4e9c8 100755
--- a/Configure
+++ b/Configure
@@ -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};
diff --git a/config b/config
index 86442114b4..44c48c1a3d 100755
--- a/config
+++ b/config
@@ -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]