diff options
author | Nat Goodspeed <nat@lindenlab.com> | 2021-09-23 16:28:14 -0400 |
---|---|---|
committer | Nat Goodspeed <nat@lindenlab.com> | 2021-09-23 16:28:14 -0400 |
commit | 274fc85fcbbe37f491f2d78b8b0f0b4ebb7bba26 (patch) | |
tree | e27d31612409d665120defe7f7d120ea5a876324 /indra/llcommon/llsys.cpp | |
parent | 2b96d1bbe00c317ea8dfe420dd4167dde5d153ae (diff) | |
parent | 1d6bfb727a8015e82cd4060a0c73cf3fc719e818 (diff) |
DRTVWR-543: Merge branch 'DRTVWR-543-maint' into classic
Diffstat (limited to 'indra/llcommon/llsys.cpp')
-rw-r--r-- | indra/llcommon/llsys.cpp | 28 |
1 files changed, 27 insertions, 1 deletions
diff --git a/indra/llcommon/llsys.cpp b/indra/llcommon/llsys.cpp index 4e61fb8a58..f710f1b279 100644 --- a/indra/llcommon/llsys.cpp +++ b/indra/llcommon/llsys.cpp @@ -36,7 +36,7 @@ #ifdef LL_USESYSTEMLIBS # include <zlib.h> #else -# include "zlib/zlib.h" +# include "zlib-ng/zlib.h" #endif #include "llprocessor.h" @@ -474,6 +474,8 @@ LLOSInfo::LLOSInfo() : dotted_version_string << mMajorVer << "." << mMinorVer << "." << mBuild; mOSVersionString.append(dotted_version_string.str()); + mOSBitness = is64Bit() ? 64 : 32; + LL_INFOS("LLOSInfo") << "OS bitness: " << mOSBitness << LL_ENDL; } #ifndef LL_WINDOWS @@ -529,6 +531,11 @@ const std::string& LLOSInfo::getOSVersionString() const return mOSVersionString; } +const S32 LLOSInfo::getOSBitness() const +{ + return mOSBitness; +} + //static U32 LLOSInfo::getProcessVirtualSizeKB() { @@ -582,6 +589,25 @@ U32 LLOSInfo::getProcessResidentSizeKB() return resident_size; } +//static +bool LLOSInfo::is64Bit() +{ +#if LL_WINDOWS +#if defined(_WIN64) + return true; +#elif defined(_WIN32) + // 32-bit viewer may be run on both 32-bit and 64-bit Windows, need to elaborate + BOOL f64 = FALSE; + return IsWow64Process(GetCurrentProcess(), &f64) && f64; +#else + return false; +#endif +#else // ! LL_WINDOWS + // we only build a 64-bit mac viewer and currently we don't build for linux at all + return true; +#endif +} + LLCPUInfo::LLCPUInfo() { std::ostringstream out; |