Configure: make LIST command work with dynamic 15-android.conf.
authorAndy Polyakov <appro@openssl.org>
Mon, 26 Mar 2018 10:35:57 +0000 (12:35 +0200)
committerAndy Polyakov <appro@openssl.org>
Tue, 27 Mar 2018 17:52:30 +0000 (19:52 +0200)
This is quick-n-dirty ad-hoc solution, the problem asks for more
elegant one...

Reviewed-by: Richard Levitte <levitte@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/5755)

Configurations/15-android.conf
Configure

index 551f71b92f55d6f20971b9d48feb81610bad5297..d117386d2df55f4615b4945e1a5cbfe5ee1128bb 100644 (file)
 
     sub android_ndk {
         unless (%$android_ndk) {
+            if ($now_printing =~ m|^android|) {
+                return $android_ndk = { bn_ops => "BN_AUTO" };
+            }
+
             my $ndk = $ENV{ANDROID_NDK};
             die "\$ANDROID_NDK is not defined"  if (!$ndk);
             die "\$ANDROID_NDK=$ndk is invalid" if (!-d "$ndk/platforms");
index 7a2ef9bae40a617a4bce2e5ea100b47e075baf39..8770090c7c853fa502ac80a794d4043fb2b963f8 100755 (executable)
--- a/Configure
+++ b/Configure
@@ -179,6 +179,10 @@ my $apitable = {
 our %table = ();
 our %config = ();
 our %withargs = ();
+our $now_printing;      # set to current entry's name in print_table_entry
+                        # (todo: right thing would be to encapsulate name
+                        # into %target [class] and make print_table_entry
+                        # a method)
 
 # Forward declarations ###############################################
 
@@ -3108,8 +3112,8 @@ sub env
 
 sub print_table_entry
 {
-    my $target = shift;
-    my %target = resolve_config($target);
+    local $now_printing = shift;
+    my %target = resolve_config($now_printing);
     my $type = shift;
 
     # Don't print the templates
@@ -3178,7 +3182,7 @@ sub print_table_entry
 
     if ($type eq "TABLE") {
        print "\n";
-       print "*** $target\n";
+       print "*** $now_printing\n";
         foreach (@sequence) {
             if (ref($target{$_}) eq "ARRAY") {
                 printf "\$%-12s = %s\n", $_, join(" ", @{$target{$_}});
@@ -3189,7 +3193,7 @@ sub print_table_entry
     } elsif ($type eq "HASH") {
        my $largest =
            length((sort { length($a) <=> length($b) } @sequence)[-1]);
-       print "    '$target' => {\n";
+       print "    '$now_printing' => {\n";
        foreach (@sequence) {
            if ($target{$_}) {
                 if (ref($target{$_}) eq "ARRAY") {