diff options
author | Campbell Barton <ideasman42@gmail.com> | 2011-09-19 12:02:17 +0400 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2011-09-19 12:02:17 +0400 |
commit | 83a2f02a78cd01aaf31b9b4ae8a217a1ecea6a49 (patch) | |
tree | 9a2b9e2d5aa4f5b5bc4835848c3dc78029643d9a /build_files/scons | |
parent | 425a81a29b8adf1fc2d913dfc679d6ca62cd05fa (diff) |
cleanup endian handling
- define __BIG_ENDIAN__ or __LITTLE_ENDIAN__ with cmake & scons.
- ENDIAN_ORDER is now a define rather than a global short.
- replace checks like this with single ifdef: #if defined(__sgi) || defined (__sparc) || defined (__sparc__) || defined (__PPC__) || defined (__ppc__) || defined (__hppa__) || defined (__BIG_ENDIAN__)
- remove BKE_endian.h which isn't used
Diffstat (limited to 'build_files/scons')
-rw-r--r-- | build_files/scons/tools/btools.py | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/build_files/scons/tools/btools.py b/build_files/scons/tools/btools.py index be059241727..caa83ea41be 100644 --- a/build_files/scons/tools/btools.py +++ b/build_files/scons/tools/btools.py @@ -63,9 +63,27 @@ def get_revision(): return 'r' + build_rev + +# copied from: http://www.scons.org/wiki/AutoconfRecipes +def checkEndian(): + import struct + array = struct.pack('cccc', '\x01', '\x02', '\x03', '\x04') + i = struct.unpack('i', array) + # Little Endian + if i == struct.unpack('<i', array): + return "little" + # Big Endian + elif i == struct.unpack('>i', array): + return "big" + else: + raise Exception("cant find endian") + + # This is used in creating the local config directories VERSION, VERSION_DISPLAY = get_version() REVISION = get_revision() +ENDIAN = checkEndian() + def print_arguments(args, bc): if len(args): |