aboutsummaryrefslogtreecommitdiff
path: root/toolsrc/src
diff options
context:
space:
mode:
authorxyb <xyb@xyb.name>2020-09-05 10:45:48 -0700
committerGitHub <noreply@github.com>2020-09-05 10:45:48 -0700
commitfdac1fc5aa36e8edeb9f358f0fad041de2626215 (patch)
tree56cdf5ea8aa709b27b2ea8c989af3c0b3f000117 /toolsrc/src
parentbd8af0789804dad0f76dced3f837845f086350c5 (diff)
downloadvcpkg-fdac1fc5aa36e8edeb9f358f0fad041de2626215.tar.gz
vcpkg-fdac1fc5aa36e8edeb9f358f0fad041de2626215.zip
Add community triple arm64-linux and arm-linux. (#11880)
Verify the following command on both 32 bits and 64 bits OS on Raspberry pi 3. ./bootstrap-vcpkg.sh ./vcpkg install boost
Diffstat (limited to 'toolsrc/src')
-rw-r--r--toolsrc/src/vcpkg.cpp8
-rw-r--r--toolsrc/src/vcpkg/triplet.cpp6
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