mirror of https://github.com/openssl/openssl
Configure: do not check for an absolute prefix in cross-builds
The check is always made according to the host platform's rules, which may not be true for true when the target platform is different, e.g. when cross-building for Windows on a Linux machine. So skip this check when used together with the `--cross-compile-prefix=` option. Fixes https://github.com/openssl/openssl/issues/9520 Reviewed-by: Paul Dale <pauli@openssl.org> Reviewed-by: Dmitry Belyavskiy <beldmit@gmail.com> Reviewed-by: Tomas Mraz <tomas@openssl.org> (Merged from https://github.com/openssl/openssl/pull/22723)
This commit is contained in:
parent
dcfd8cfd4a
commit
4ea752997d
|
@ -980,8 +980,6 @@ while (@argvcopy)
|
||||||
if (/^--prefix=(.*)$/)
|
if (/^--prefix=(.*)$/)
|
||||||
{
|
{
|
||||||
$config{prefix}=$1;
|
$config{prefix}=$1;
|
||||||
die "Directory given with --prefix MUST be absolute\n"
|
|
||||||
unless file_name_is_absolute($config{prefix});
|
|
||||||
}
|
}
|
||||||
elsif (/^--api=(.*)$/)
|
elsif (/^--api=(.*)$/)
|
||||||
{
|
{
|
||||||
|
@ -1440,6 +1438,11 @@ foreach (keys %useradd) {
|
||||||
# At this point, we can forget everything about %user and %useradd,
|
# At this point, we can forget everything about %user and %useradd,
|
||||||
# because it's now all been merged into the corresponding $config entry
|
# because it's now all been merged into the corresponding $config entry
|
||||||
|
|
||||||
|
if ($config{prefix} && !$config{CROSS_COMPILE}) {
|
||||||
|
die "Directory given with --prefix MUST be absolute\n"
|
||||||
|
unless file_name_is_absolute($config{prefix});
|
||||||
|
}
|
||||||
|
|
||||||
if (grep { $_ =~ /(?:^|\s)-static(?:\s|$)/ } @{$config{LDFLAGS}}) {
|
if (grep { $_ =~ /(?:^|\s)-static(?:\s|$)/ } @{$config{LDFLAGS}}) {
|
||||||
disable('static', 'pic', 'threads');
|
disable('static', 'pic', 'threads');
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue