diff options
| author | Jake Petroules <jake.petroules@petroules.com> | 2013-11-18 10:42:25 -0500 |
|---|---|---|
| committer | Jake Petroules <jake.petroules@petroules.com> | 2013-11-19 16:56:26 +0100 |
| commit | c485150efa863fd4a244b7a223ec90734dbe6e04 (patch) | |
| tree | d65d2c10512978df0705cb57960ea4ed4fa4f61b /src/lib/tools | |
| parent | e32f9bf66f023669a748046fae9c6d030deef9a0 (diff) | |
| download | qbs-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.h | 24 |
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 |
