Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(663)

Side by Side Diff: src/trusted/platform_qualify/build.scons

Issue 11864002: Move CPU features into its own static library. (Closed) Base URL: svn://svn.chromium.org/native_client/trunk/src/native_client
Patch Set: Address bsy's comments by not building x86 target when host isn't x86. This is how things are curre… Created 7 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 # -*- python -*- 1 # -*- python -*-
2 # Copyright (c) 2012 The Native Client Authors. All rights reserved. 2 # Copyright (c) 2012 The Native Client Authors. All rights reserved.
3 # Use of this source code is governed by a BSD-style license that can be 3 # Use of this source code is governed by a BSD-style license that can be
4 # found in the LICENSE file. 4 # found in the LICENSE file.
5 # 5 #
6 # TODO(bradchen): 6 # TODO(bradchen):
7 # - update plaform_qualify.gyp to be consistent with build.scons 7 # - update plaform_qualify.gyp to be consistent with build.scons
8 # - update sel_ldr to include blacklist check 8 # - update sel_ldr to include blacklist check
9 9
10 Import('env') 10 Import('env')
11 11
12 12
13 pql_inputs = [] 13 pql_inputs = []
14 extra_libs = []
14 15
15 # 16 #
16 # OS-specific qualification routines 17 # OS-specific qualification routines
17 # 18 #
18 if env.Bit('windows'): 19 if env.Bit('windows'):
19 pql_inputs += ['win/nacl_os_qualify.c', 20 pql_inputs += ['win/nacl_os_qualify.c',
20 'win/nacl_dep_qualify.c'] 21 'win/nacl_dep_qualify.c']
21 else: 22 else:
22 pql_inputs += ['posix/nacl_dep_qualify.c'] 23 pql_inputs += ['posix/nacl_dep_qualify.c']
23 if env.Bit('mac'): 24 if env.Bit('mac'):
(...skipping 13 matching lines...) Expand all
37 if env.Bit('build_x86') and env.Bit('target_x86'): 38 if env.Bit('build_x86') and env.Bit('target_x86'):
38 pql_inputs += ['arch/x86/nacl_cpuwhitelist.c'] 39 pql_inputs += ['arch/x86/nacl_cpuwhitelist.c']
39 40
40 # Make sure CPUID is present and truthful 41 # Make sure CPUID is present and truthful
41 vcpuid_env = env.Clone() 42 vcpuid_env = env.Clone()
42 if env.Bit('mac'): 43 if env.Bit('mac'):
43 vcpuid_env.Append(CCFLAGS = ['-mdynamic-no-pic']) 44 vcpuid_env.Append(CCFLAGS = ['-mdynamic-no-pic'])
44 vcpuid_env.FilterOut(CCFLAGS = ['-fPIC']) 45 vcpuid_env.FilterOut(CCFLAGS = ['-fPIC'])
45 if env.Bit('linux'): 46 if env.Bit('linux'):
46 vcpuid_env.Append(CCFLAGS = ['-msse3']) 47 vcpuid_env.Append(CCFLAGS = ['-msse3'])
47 env.Prepend(LIBS = ['platform_qual_lib',
48 TargetLib(env, 'ncval_base'),
49 'platform', 'gio'])
50 nacl_vcpuid = vcpuid_env.ComponentLibrary('vcpuid', 'arch/x86/vcpuid.c') 48 nacl_vcpuid = vcpuid_env.ComponentLibrary('vcpuid', 'arch/x86/vcpuid.c')
51 env.Append(LIBS = ['vcpuid']) 49 extra_libs += ['platform_qual_lib',
50 TargetLib(env, 'ncval_base'),
51 'platform',
52 'gio',
53 'vcpuid']
52 54
53 if env.Bit('target_x86_64'): 55 if env.Bit('target_x86_64'):
54 # Compile x86-64 primitives for verifying NX functionality 56 # Compile x86-64 primitives for verifying NX functionality
55 pql_inputs += ['arch/x86_64/nacl_dep_qualify_arch.c'] 57 pql_inputs += ['arch/x86_64/nacl_dep_qualify_arch.c']
56 elif env.Bit('target_x86_32'): 58 elif env.Bit('target_x86_32'):
57 pql_inputs += ['arch/x86_32/nacl_dep_qualify_arch.c'] 59 pql_inputs += ['arch/x86_32/nacl_dep_qualify_arch.c']
58 60
59 platform_qual_test = env.ComponentProgram( 61 platform_qual_test = env.ComponentProgram(
60 'platform_qual_test', 'arch/x86/platform_qual_test.c', 62 'platform_qual_test', 'arch/x86/platform_qual_test.c',
61 # 'sel' is required for sel_memory.c and friends 63 # 'sel' is required for sel_memory.c and friends
62 EXTRA_LIBS=['platform_qual_lib', 'sel']) 64 EXTRA_LIBS=extra_libs + ['sel'])
63 node = env.CommandTest('platform_qual_test.out', [platform_qual_test]) 65 node = env.CommandTest('platform_qual_test.out', [platform_qual_test])
64 env.AddNodeToTestSuite( 66 env.AddNodeToTestSuite(
65 node, ['small_tests'], 'run_platform_qual_test', 67 node, ['small_tests'], 'run_platform_qual_test',
66 is_broken=env.IsRunningUnderValgrind()) 68 is_broken=env.IsRunningUnderValgrind())
67 69
68 cpuwhitelist_test = env.ComponentProgram( 70 cpuwhitelist_test = env.ComponentProgram(
69 'cpuwhitelist_test', 'arch/x86/nacl_cpuwhitelist_test.c') 71 'cpuwhitelist_test', 'arch/x86/nacl_cpuwhitelist_test.c',
72 EXTRA_LIBS=extra_libs)
70 node = env.CommandTest('cpuwhitelist_test.out', [cpuwhitelist_test]) 73 node = env.CommandTest('cpuwhitelist_test.out', [cpuwhitelist_test])
71 env.AddNodeToTestSuite(node, ['small_tests'], 'run_cpuwhitelist_test') 74 env.AddNodeToTestSuite(node, ['small_tests'], 'run_cpuwhitelist_test')
72 75
73 76
74 if env.Bit('build_arm'): 77 if env.Bit('build_arm'):
75 # Compile ARM primitives for checking XN functionality 78 # Compile ARM primitives for checking XN functionality
76 pql_inputs += ['arch/arm/nacl_dep_qualify_arch.c'] 79 pql_inputs += ['arch/arm/nacl_dep_qualify_arch.c']
77 # Compile ARM primitives for checking VFP/vector features. 80 # Compile ARM primitives for checking VFP/vector features.
78 pql_inputs += ['arch/arm/nacl_qualify_fpu.c'] 81 pql_inputs += ['arch/arm/nacl_qualify_fpu.c']
79 82
80 if env.Bit('build_mips32'): 83 if env.Bit('build_mips32'):
81 # Compile Mips primitives for checking XN functionality 84 # Compile Mips primitives for checking XN functionality
82 pql_inputs += ['arch/mips/nacl_dep_qualify_arch.c'] 85 pql_inputs += ['arch/mips/nacl_dep_qualify_arch.c']
83 86
84 # ---------------------------------------------------------- 87 # ----------------------------------------------------------
85 # 88 #
86 # ---------------------------------------------------------- 89 # ----------------------------------------------------------
87 env.DualLibrary('platform_qual_lib', pql_inputs) 90 env.DualLibrary('platform_qual_lib', pql_inputs)
88 91
89 92
90 # These tests use assembly which seem to make the coverage instrumentation 93 # These tests use assembly which seem to make the coverage instrumentation
91 # on windows unhappy. Disable them for now on coverage for windows. 94 # on windows unhappy. Disable them for now on coverage for windows.
92 # TODO(bradnelson): figure out a way to get coverage working for these. 95 # TODO(bradnelson): figure out a way to get coverage working for these.
93 if env.Bit('windows') and env.Bit('coverage_enabled'): 96 if env.Bit('windows') and env.Bit('coverage_enabled'):
94 Return() 97 Return()
OLDNEW
« no previous file with comments | « src/trusted/platform_qualify/arch/x86/vcpuid.c ('k') | src/trusted/platform_qualify/platform_qualify.gyp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698