diff options
Diffstat (limited to 'toolsrc/src')
| -rw-r--r-- | toolsrc/src/vcpkg.cpp | 8 | ||||
| -rw-r--r-- | toolsrc/src/vcpkg/triplet.cpp | 6 |
2 files changed, 14 insertions, 0 deletions
diff --git a/toolsrc/src/vcpkg.cpp b/toolsrc/src/vcpkg.cpp index d0df8749f..6c30f7ced 100644 --- a/toolsrc/src/vcpkg.cpp +++ b/toolsrc/src/vcpkg.cpp @@ -235,6 +235,14 @@ 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 (!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."); + } +#endif + VcpkgCmdArguments args = VcpkgCmdArguments::create_from_command_line(fs, argc, argv); args.imbue_from_environment(); args.check_feature_flag_consistency(); diff --git a/toolsrc/src/vcpkg/triplet.cpp b/toolsrc/src/vcpkg/triplet.cpp index c9ae74970..1d325fb65 100644 --- a/toolsrc/src/vcpkg/triplet.cpp +++ b/toolsrc/src/vcpkg/triplet.cpp @@ -87,7 +87,13 @@ namespace vcpkg #elif defined(__FreeBSD__) return Triplet::from_canonical_name("x64-freebsd"); #elif defined(__GLIBC__) +#if defined(__aarch64__) + return Triplet::from_canonical_name("arm64-linux"); +#elif defined(__arm__) + return Triplet::from_canonical_name("arm-linux"); +#else return Triplet::from_canonical_name("x64-linux"); +#endif #else return Triplet::from_canonical_name("x64-linux-musl"); #endif |
