| Index: SConstruct
|
| diff --git a/SConstruct b/SConstruct
|
| index af1db56b93c44d13dbb3495a2d4ee71e997834eb..62670b7aed431320e64345f25749770aa3f54cf4 100755
|
| --- a/SConstruct
|
| +++ b/SConstruct
|
| @@ -878,7 +878,7 @@ pre_base_env.AddMethod(Banner)
|
| #
|
| # Various variables in the scons environment are related to this, e.g.
|
| #
|
| -# BUILD_ARCH: (arm, x86)
|
| +# BUILD_ARCH: (arm, mips, x86)
|
| # BUILD_SUBARCH: (32, 64)
|
| #
|
| # The settings can be controlled using scons command line variables:
|
| @@ -893,6 +893,7 @@ pre_base_env.AddMethod(Banner)
|
| AVAILABLE_PLATFORMS = {
|
| 'x86-32' : { 'arch' : 'x86' , 'subarch' : '32' },
|
| 'x86-64' : { 'arch' : 'x86' , 'subarch' : '64' },
|
| + 'mips32' : { 'arch' : 'mips', 'subarch' : '32' },
|
| 'arm' : { 'arch' : 'arm' , 'subarch' : '32' },
|
| 'arm-thumb2' : { 'arch' : 'arm' , 'subarch' : '32' }
|
| }
|
| @@ -921,6 +922,8 @@ DeclareBit('build_x86_32', 'Building binaries for the x86-32 architecture',
|
| exclusive_groups='build_arch')
|
| DeclareBit('build_x86_64', 'Building binaries for the x86-64 architecture',
|
| exclusive_groups='build_arch')
|
| +DeclareBit('build_mips32', 'Building binaries for the MIPS architecture',
|
| + exclusive_groups='build_arch')
|
| DeclareBit('build_arm_arm', 'Building binaries for the ARM architecture',
|
| exclusive_groups='build_arch')
|
| DeclareBit('build_arm_thumb2',
|
| @@ -930,6 +933,8 @@ DeclareBit('target_x86_32', 'Tools being built will process x86-32 binaries',
|
| exclusive_groups='target_arch')
|
| DeclareBit('target_x86_64', 'Tools being built will process x86-36 binaries',
|
| exclusive_groups='target_arch')
|
| +DeclareBit('target_mips32', 'Tools being built will process MIPS binaries',
|
| + exclusive_groups='target_arch')
|
| DeclareBit('target_arm_arm', 'Tools being built will process ARM binaries',
|
| exclusive_groups='target_arch')
|
| DeclareBit('target_arm_thumb2',
|
| @@ -976,9 +981,10 @@ def MakeArchSpecificEnv():
|
|
|
| env.Replace(BUILD_ISA_NAME=GetPlatform('buildplatform'))
|
|
|
| - if env.Bit('target_arm') and not env.Bit('native_code'):
|
| - # This has always been a silent default on ARM.
|
| - env.SetBits('bitcode')
|
| + if env.Bit('target_arm') or env.Bit('target_mips32'):
|
| + if not env.Bit('native_code'):
|
| + # This is a silent default on ARM and MIPS.
|
| + env.SetBits('bitcode')
|
|
|
| # If it's not bitcode, it's native code.
|
| if not env.Bit('bitcode'):
|
| @@ -1124,6 +1130,8 @@ def GetValidator(env, validator):
|
| if validator is None:
|
| if env.Bit('build_arm'):
|
| validator = 'arm-ncval-core'
|
| + elif env.Bit('build_mips32'):
|
| + validator = 'mips-ncval-core'
|
| else:
|
| validator = 'ncval'
|
|
|
| @@ -1756,9 +1764,11 @@ def PPAPIBrowserTester(env,
|
| pre_base_env.AddMethod(PPAPIBrowserTester)
|
|
|
|
|
| -# Disabled for ARM because Chrome binaries for ARM are not available.
|
| +# Disabled for ARM and MIPS because Chrome binaries for ARM and MIPS are not
|
| +# available.
|
| def PPAPIBrowserTesterIsBroken(env):
|
| - return env.Bit('target_arm') or env.Bit('target_arm_thumb2')
|
| + return (env.Bit('target_arm') or env.Bit('target_arm_thumb2')
|
| + or env.Bit('target_mips32'))
|
|
|
| pre_base_env.AddMethod(PPAPIBrowserTesterIsBroken)
|
|
|
| @@ -1970,7 +1980,7 @@ def SelUniversalTest(env, name, nexe, sel_universal_flags=None, **kwargs):
|
|
|
| # When run under qemu, sel_universal must sneak in qemu to the execv
|
| # call that spawns sel_ldr.
|
| - if env.Bit('target_arm') and env.UsingEmulator():
|
| + if env.UsingEmulator():
|
| sel_universal_flags.append('--command_prefix')
|
| sel_universal_flags.append(GetEmulator(env))
|
|
|
| @@ -2614,11 +2624,13 @@ def MakeBaseTrustedEnv():
|
|
|
| base_env.AddMethod(SDKInstallBin)
|
|
|
| - # The ARM validator can be built for any target that doesn't use ELFCLASS64.
|
| + # The ARM and MIPS validators can be built for any target that doesn't use
|
| + # ELFCLASS64.
|
| if not base_env.Bit('target_x86_64'):
|
| base_env.Append(
|
| BUILD_SCONSCRIPTS = [
|
| 'src/trusted/validator_arm/build.scons',
|
| + 'src/trusted/validator_mips/build.scons',
|
| ])
|
|
|
| base_env.Replace(
|
| @@ -3000,6 +3012,9 @@ def MakeLinuxEnv():
|
| linux_env.FilterOut(LIBPATH=['/usr/lib'])
|
| # This appears to be needed for sel_universal
|
| linux_env.Append(LIBS=['dl'])
|
| + elif linux_env.Bit('build_mips32'):
|
| + # TODO(petarj): Add support for MIPS.
|
| + pass
|
| else:
|
| Banner('Strange platform: %s' % BUILD_NAME)
|
|
|
|
|