summaryrefslogtreecommitdiff
path: root/src/lib/tools
diff options
context:
space:
mode:
authorJake Petroules <jake.petroules@petroules.com>2013-11-18 10:42:25 -0500
committerJake Petroules <jake.petroules@petroules.com>2013-11-19 16:56:26 +0100
commitc485150efa863fd4a244b7a223ec90734dbe6e04 (patch)
treed65d2c10512978df0705cb57960ea4ed4fa4f61b /src/lib/tools
parente32f9bf66f023669a748046fae9c6d030deef9a0 (diff)
downloadqbs-c485150efa863fd4a244b7a223ec90734dbe6e04.tar.gz
Centralize determination of endianness.
Change-Id: Ia99ed4de2a07fa8959301a50e41cdb0367de46ea Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
Diffstat (limited to 'src/lib/tools')
-rw-r--r--src/lib/tools/hostosinfo.h24
1 files changed, 24 insertions, 0 deletions
diff --git a/src/lib/tools/hostosinfo.h b/src/lib/tools/hostosinfo.h
index 5704886ad..898fa8b20 100644
--- a/src/lib/tools/hostosinfo.h
+++ b/src/lib/tools/hostosinfo.h
@@ -70,6 +70,7 @@ public:
static bool isOsxHost() { return hostOs() == HostOsOsx; }
static inline bool isAnyUnixHost();
static inline QString canonicalArchitecture(const QString &architecture);
+ static inline QString defaultEndianness(const QString &architecture);
static QString appendExecutableSuffix(const QString &executable)
{
@@ -166,6 +167,29 @@ QString HostOsInfo::canonicalArchitecture(const QString &architecture)
return architecture;
}
+QString HostOsInfo::defaultEndianness(const QString &architecture)
+{
+ const QString canonicalArch = canonicalArchitecture(architecture);
+
+ QStringList little = QStringList()
+ << QLatin1String("x86")
+ << QLatin1String("x86_64")
+ << QLatin1String("arm")
+ << QLatin1String("arm64");
+
+ if (little.contains(canonicalArch))
+ return QLatin1String("little");
+
+ QStringList big = QStringList()
+ << QLatin1String("ppc")
+ << QLatin1String("ppc64");
+
+ if (big.contains(canonicalArch))
+ return QLatin1String("big");
+
+ return QString();
+}
+
} // namespace Internal
} // namespace qbs