Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCampbell Barton <ideasman42@gmail.com>2011-09-19 12:02:17 +0400
committerCampbell Barton <ideasman42@gmail.com>2011-09-19 12:02:17 +0400
commit83a2f02a78cd01aaf31b9b4ae8a217a1ecea6a49 (patch)
tree9a2b9e2d5aa4f5b5bc4835848c3dc78029643d9a /build_files/scons
parent425a81a29b8adf1fc2d913dfc679d6ca62cd05fa (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.py18
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):