$config{$target_key} =
$mkvalue->($ref_type, $user{$_})
|| $mkvalue->($ref_type, $target{$target_key});
- if (defined $useradd{$_} && @{$useradd{$_}}) {
- if (defined $config{$target_key}) {
- push @{$config{$target_key}}, @{$useradd{$_}};
- } else {
- $config{$target_key} = [ @{$useradd{$_}} ];
- }
- }
delete $config{$target_key} unless defined $config{$target_key};
}
$config{plib_lflags} = [ $target{plib_lflags} ];
# Allow overriding the build file name
$config{build_file} = env('BUILDFILE') || $target{build_file} || "Makefile";
-# ALL USE OF %useradd MUST BE DONE FROM HERE ON
-%useradd = undef;
-
my %disabled_info = (); # For configdata.pm
foreach my $what (sort keys %disabled) {
$config{options} .= " no-$what";
}
if ($target =~ /linux.*-mips/ && !$disabled{asm}
- && !grep { $_ !~ /-m(ips|arch=)/ } @{$user{CFLAGS}}) {
+ && !grep { $_ !~ /-m(ips|arch=)/ } (@{$user{CFLAGS}},
+ @{$useradd{CFLAGS}}) {
# minimally required architecture flags for assembly modules
my $value;
$value = '-mips2' if ($target =~ /mips32/);
# system-dependent compiler options that are necessary. We
# can't truly check that the given options are correct, but
# we expect the user to know what [s]He is doing.
- if (!@{$user{CFLAGS}} && !@{$user{CPPDEFINES}}) {
+ if (!@{$user{CFLAGS}} && !@{$useradd{CFLAGS}}
+ && !@{$user{CPPDEFINES}} && !@{$useradd{CPPDEFINES}}) {
die "You asked for multi-threading support, but didn't\n"
,"provide any system-specific compiler options\n";
}
push @{$config{openssl_other_defines}}, "OPENSSL_NO_AFALGENG" if ($disabled{afalgeng});
+# Finish up %config by appending things the user gave us on the command line
+# apart from "make variables"
+foreach (keys %useradd) {
+ # The must all be lists, so we assert that here
+ die "internal error: \$useradd{$_} isn't an ARRAY\n"
+ unless ref $useradd{$_} eq 'ARRAY';
+
+ my $target_key = $user_to_target{$_} // lc $_;
+
+ if (defined $config{$target_key}) {
+ push @{$config{$target_key}}, @{$useradd{$_}};
+ } else {
+ $config{$target_key} = [ @{$useradd{$_}} ];
+ }
+}
+
# ALL MODIFICATIONS TO %config and %target MUST BE DONE FROM HERE ON
# If we use the unified build, collect information from build.info files
$builders{$builder}->($builder_platform, @builder_opts);
+# Show a note on the use of configdata.pm, but ONLY for release 1.1.1
+# (i.e. this message disappears with the following update, 1.1.1a)
+print <<"EOF" if ($config{version_num} =~ m|^0x1010100.L$|);
+
+NOTE: Starting with OpenSSL 1.1.1, 'Configure' doesn't display all the disabled
+options or the "make variables" with their values. Instead, you must use
+'configdata.pm' as a script to get a display of the configuration data. For
+help, please do this:
+
+ perl configdata.pm --help
+EOF
print <<"EOF" if ($disabled{threads} eq "unavailable");
The library could not be configured for supporting multi-threaded