OLD | NEW |
1 #!/usr/bin/env python2 | 1 #!/usr/bin/env python2 |
2 | 2 |
3 import argparse | 3 import argparse |
4 import os | 4 import os |
5 import subprocess | 5 import subprocess |
6 import sys | 6 import sys |
7 import tempfile | 7 import tempfile |
8 | 8 |
9 import targets | 9 import targets |
10 from utils import shellcmd | 10 from utils import shellcmd |
(...skipping 148 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
159 shellcmd(['{bin}/pnacl-llc'.format(bin=bindir), | 159 shellcmd(['{bin}/pnacl-llc'.format(bin=bindir), |
160 '-mtriple=' + triple, | 160 '-mtriple=' + triple, |
161 '-externalize', | 161 '-externalize', |
162 '-filetype=obj', | 162 '-filetype=obj', |
163 '-o=' + obj_llc, | 163 '-o=' + obj_llc, |
164 bitcode] + llc_flags) | 164 bitcode] + llc_flags) |
165 objs.append(obj_llc) | 165 objs.append(obj_llc) |
166 else: | 166 else: |
167 objs.append(arg) | 167 objs.append(arg) |
168 | 168 |
169 # Add szrt_sb_x8632.o or szrt_native_x8632.o. | 169 # Add szrt_sb_${target}.o or szrt_native_${target}.o. |
170 objs.append(( | 170 objs.append(( |
171 '{root}/toolchain_build/src/subzero/build/runtime/' + | 171 '{root}/toolchain_build/src/subzero/build/runtime/' + |
172 'szrt_{sb}_' + args.target + '.o' | 172 'szrt_{sb}_' + args.target + '.o' |
173 ).format(root=nacl_root, sb='sb' if args.sandbox else 'native')) | 173 ).format(root=nacl_root, sb='sb' if args.sandbox else 'native')) |
174 pure_c = os.path.splitext(args.driver)[1] == '.c' | 174 pure_c = os.path.splitext(args.driver)[1] == '.c' |
175 # Set compiler to clang, clang++, pnacl-clang, or pnacl-clang++. | 175 # Set compiler to clang, clang++, pnacl-clang, or pnacl-clang++. |
176 compiler = '{bin}/{prefix}{cc}'.format( | 176 compiler = '{bin}/{prefix}{cc}'.format( |
177 bin=bindir, prefix='pnacl-' if args.sandbox else '', | 177 bin=bindir, prefix='pnacl-' if args.sandbox else '', |
178 cc='clang' if pure_c else 'clang++') | 178 cc='clang' if pure_c else 'clang++') |
179 sb_native_args = (['-O0', '--pnacl-allow-native', '-arch', 'x8632', | 179 sb_native_args = (['-O0', '--pnacl-allow-native', |
| 180 '-arch', target_info.target, |
180 '-Wn,-defsym=__Sz_AbsoluteZero=0'] | 181 '-Wn,-defsym=__Sz_AbsoluteZero=0'] |
181 if args.sandbox else | 182 if args.sandbox else |
182 ['-g', '-target=' + triple, | 183 ['-g', '-target=' + triple, |
183 '-lm', '-lpthread', | 184 '-lm', '-lpthread', |
184 '-Wl,--defsym=__Sz_AbsoluteZero=0']) | 185 '-Wl,--defsym=__Sz_AbsoluteZero=0'] + |
| 186 target_info.cross_headers) |
185 shellcmd([compiler, args.driver] + objs + | 187 shellcmd([compiler, args.driver] + objs + |
186 ['-o', os.path.join(args.dir, args.output)] + sb_native_args) | 188 ['-o', os.path.join(args.dir, args.output)] + sb_native_args) |
187 | 189 |
188 if __name__ == '__main__': | 190 if __name__ == '__main__': |
189 main() | 191 main() |
OLD | NEW |