mirror of
https://github.com/microsoft/vcpkg.git
synced 2024-12-28 19:25:27 +08:00
[vcpkg] improve s390x support (#13386)
Signed-off-by: Andrei Lebedev <lebdron@gmail.com>
This commit is contained in:
parent
c4e3da7c5f
commit
645f316824
@ -238,8 +238,8 @@ selectCXX()
|
||||
UNAME="$(uname)"
|
||||
ARCH="$(uname -m)"
|
||||
|
||||
# Force using system utilities for building vcpkg if host arch is arm or arm64.
|
||||
if [ "$ARCH" = "armv7l" -o "$ARCH" = "aarch64" ]; then
|
||||
# Force using system utilities for building vcpkg if host arch is arm, arm64, or s390x.
|
||||
if [ "$ARCH" = "armv7l" -o "$ARCH" = "aarch64" -o "$ARCH" = "s390x" ]; then
|
||||
vcpkgUseSystem=true
|
||||
fi
|
||||
|
||||
|
@ -235,11 +235,13 @@ int main(const int argc, const char* const* const argv)
|
||||
|
||||
load_config(fs);
|
||||
|
||||
#if (defined(__aarch64__) || defined(__arm__) || defined(_M_ARM) || defined(_M_ARM64)) && !defined(_WIN32)
|
||||
#if (defined(__aarch64__) || defined(__arm__) || defined(__s390x__) || defined(_M_ARM) || defined(_M_ARM64)) && \
|
||||
!defined(_WIN32)
|
||||
if (!System::get_environment_variable("VCPKG_FORCE_SYSTEM_BINARIES").has_value())
|
||||
{
|
||||
Checks::exit_with_message(VCPKG_LINE_INFO,
|
||||
"Environment variable VCPKG_FORCE_SYSTEM_BINARIES must be set on arm platform.");
|
||||
Checks::exit_with_message(
|
||||
VCPKG_LINE_INFO,
|
||||
"Environment variable VCPKG_FORCE_SYSTEM_BINARIES must be set on arm and s390x platforms.");
|
||||
}
|
||||
#endif
|
||||
|
||||
|
@ -61,6 +61,10 @@ namespace vcpkg
|
||||
{
|
||||
return CPUArchitecture::ARM64;
|
||||
}
|
||||
if (Strings::starts_with(this->canonical_name(), "s390x-"))
|
||||
{
|
||||
return CPUArchitecture::S390X;
|
||||
}
|
||||
|
||||
return nullopt;
|
||||
}
|
||||
@ -91,6 +95,8 @@ namespace vcpkg
|
||||
return Triplet::from_canonical_name("arm64-linux");
|
||||
#elif defined(__arm__)
|
||||
return Triplet::from_canonical_name("arm-linux");
|
||||
#elif defined(__s390x__)
|
||||
return Triplet::from_canonical_name("s390x-linux");
|
||||
#else
|
||||
return Triplet::from_canonical_name("x64-linux");
|
||||
#endif
|
||||
|
Loading…
x
Reference in New Issue
Block a user