Chromium Code Reviews| Index: site_scons/site_tools/naclsdk.py |
| diff --git a/site_scons/site_tools/naclsdk.py b/site_scons/site_tools/naclsdk.py |
| index 72c666e12ad3cffb6c58ef07af4a9095a015ddd2..4b47d9404a9ef6828f04d814b02eac618f9e6a30 100755 |
| --- a/site_scons/site_tools/naclsdk.py |
| +++ b/site_scons/site_tools/naclsdk.py |
| @@ -214,10 +214,12 @@ def _SetEnvForPnacl(env, root): |
| arch = env['TARGET_FULLARCH'] |
| assert arch in ['arm', 'arm-thumb2', 'x86-32', 'x86-64'] |
| + arch_flag = ' -arch %s' % arch |
|
robertm
2012/03/13 20:57:51
having two arch flags is a little confusing.
Is th
(google.com) Derek Schuff
2012/03/13 21:23:03
Actually I think the right thing to do is have san
|
| if env.Bit('pnacl_stop_with_pexe'): |
| - arch_flag = '' |
| + ld_arch_flag = '' |
| else: |
| - arch_flag = ' -arch %s' % arch |
| + ld_arch_flag = arch_flag |
| + |
| if env.Bit('nacl_glibc'): |
| subroot = root + '/glibc' |
| @@ -248,6 +250,7 @@ def _SetEnvForPnacl(env, root): |
| pnacl_as = binprefix + 'as' + binext |
| pnacl_nm = binprefix + 'nm' + binext |
| pnacl_ranlib = binprefix + 'ranlib' + binext |
| + pnacl_translate = binprefix + 'translate' + binext |
| frontend = env['PNACL_FRONTEND'] |
| if frontend == 'clang': |
| @@ -273,6 +276,7 @@ def _SetEnvForPnacl(env, root): |
| pnacl_cxx_flags = '' |
| pnacl_cc_flags = ' -std=gnu99' |
| pnacl_ld_flags = ' ' + ' '.join(env['PNACL_BCLDFLAGS']) |
| + pnacl_translate_flags = '' |
| if env.Bit('nacl_pic'): |
| pnacl_cc_flags += ' -fPIC' |
| @@ -280,11 +284,14 @@ def _SetEnvForPnacl(env, root): |
| # NOTE: this is a special hack for the pnacl backend which |
| # does more than linking |
| pnacl_ld_flags += ' -fPIC' |
| + pnacl_translate_flags += ' -fPIC' |
| if env.Bit('use_sandboxed_translator'): |
| - pnacl_ld_flags += ' --pnacl-sb --pnacl-default-command-line' |
| + sb_flags = ' --pnacl-sb --pnacl-default-command-line' |
| if env.Bit('sandboxed_translator_is_dynamic'): |
| - pnacl_ld_flags += ' --pnacl-sb-dynamic' |
| + sb_flags += ' --pnacl-sb-dynamic' |
| + pnacl_ld_flags += sb_flags |
| + pnacl_translate_flags += sb_flags |
| if pnacl_extra_lib: |
| env.Prepend(LIBPATH=pnacl_extra_lib) |
| @@ -301,21 +308,22 @@ def _SetEnvForPnacl(env, root): |
| SHLIBPREFIX="lib", |
| SHLIBSUFFIX=".so", |
| OBJSUFFIX=".bc", |
| - LINK=pnacl_cxx + arch_flag + pnacl_ld_flags, |
| + LINK=pnacl_cxx + ld_arch_flag + pnacl_ld_flags, |
| # Although we are currently forced to produce native output |
| # for LINK, we are free to produce bitcode for SHLINK |
| # (SharedLibrary linking) because scons doesn't do anything |
| # with shared libraries except use them with the toolchain. |
| - SHLINK=pnacl_cxx + arch_flag + pnacl_ld_flags, |
| + SHLINK=pnacl_cxx + ld_arch_flag + pnacl_ld_flags, |
| LD=pnacl_ld, |
| NATIVELD=pnacl_nativeld, |
| AR=pnacl_ar, |
| - AS=pnacl_as + arch_flag, |
| + AS=pnacl_as + ld_arch_flag, |
| RANLIB=pnacl_ranlib, |
| DISASS=pnacl_disass, |
| OBJDUMP=pnacl_disass, |
| STRIP=pnacl_strip, |
| GENNMF=pnacl_nmf, |
| + TRANSLATE=pnacl_translate + arch_flag + pnacl_translate_flags, |
|
jvoung - send to chromium...
2012/03/13 20:58:31
Actually, it looks like you have now baked in tran
(google.com) Derek Schuff
2012/03/13 21:23:03
yes, it's just those tests that need to add extra
jvoung - send to chromium...
2012/03/13 21:41:23
Can you initialize it to an empty string '' and ad
|
| ) |