| Index: native_client_sdk/src/tools/create_nmf.py
|
| diff --git a/native_client_sdk/src/tools/create_nmf.py b/native_client_sdk/src/tools/create_nmf.py
|
| index de72408c4df141bbcac49f8255d724aa5f18beae..dc7e552a615cfac4705d00180f69bfa658fa01e2 100755
|
| --- a/native_client_sdk/src/tools/create_nmf.py
|
| +++ b/native_client_sdk/src/tools/create_nmf.py
|
| @@ -466,15 +466,16 @@ def ParseExtraFiles(encoded_list, err):
|
|
|
|
|
| def GetSDKRoot():
|
| - """Determine current NACL_SDK_ROOT, either via the environment variable
|
| - itself, or by attempting to derive it from the location of this script.
|
| + """Returns the root directory of the NaCl SDK.
|
| """
|
| - sdk_root = os.environ.get('NACL_SDK_ROOT')
|
| - if not sdk_root:
|
| - sdk_root = os.path.dirname(SCRIPT_DIR)
|
| - if not os.path.exists(os.path.join(sdk_root, 'toolchain')):
|
| - return None
|
| -
|
| + # This script should be installed in NACL_SDK_ROOT/tools. Assert that
|
| + # the 'toolchain' folder exists within this directory in case, for
|
| + # example, this script is moved to a different location.
|
| + # During the Chrome build this script is sometimes run outside of
|
| + # of an SDK but in these cases it should always be run with --objdump=
|
| + # and --no-default-libpath which avoids the need to call this function.
|
| + sdk_root = os.path.dirname(SCRIPT_DIR)
|
| + assert(os.path.exists(os.path.join(sdk_root, 'toolchain')))
|
| return sdk_root
|
|
|
|
|
| @@ -482,12 +483,8 @@ def FindObjdumpExecutable():
|
| """Derive path to objdump executable to use for determining shared
|
| object dependencies.
|
| """
|
| - sdk_root = GetSDKRoot()
|
| - if not sdk_root:
|
| - return None
|
| -
|
| osname = getos.GetPlatform()
|
| - toolchain = os.path.join(sdk_root, 'toolchain', '%s_x86_glibc' % osname)
|
| + toolchain = os.path.join(GetSDKRoot(), 'toolchain', '%s_x86_glibc' % osname)
|
| objdump = os.path.join(toolchain, 'bin', 'x86_64-nacl-objdump')
|
| if osname == 'win':
|
| objdump += '.exe'
|
| @@ -508,10 +505,6 @@ def GetDefaultLibPath(config):
|
| """
|
| assert(config in ('Debug', 'Release'))
|
| sdk_root = GetSDKRoot()
|
| - if not sdk_root:
|
| - # TOOD(sbc): output a warning here? We would also need to suppress
|
| - # the warning when run from the chromium build.
|
| - return []
|
|
|
| osname = getos.GetPlatform()
|
| libpath = [
|
| @@ -580,8 +573,8 @@ def main(args):
|
| help='Rename FOO as BAR',
|
| action='append', default=[], metavar='FOO,BAR')
|
| parser.add_argument('-x', '--extra-files',
|
| - help=('Add extra key:file tuple to the "files"' +
|
| - ' section of the .nmf'),
|
| + help='Add extra key:file tuple to the "files"'
|
| + ' section of the .nmf',
|
| action='append', default=[], metavar='FILE')
|
| parser.add_argument('-O', '--pnacl-optlevel',
|
| help='Set the optimization level to N in PNaCl manifests',
|
| @@ -669,7 +662,7 @@ def main(args):
|
| pnacl_debug_optlevel=pnacl_debug_optlevel,
|
| nmf_root=nmf_root)
|
|
|
| - if not options.output:
|
| + if options.output is None:
|
| sys.stdout.write(nmf.GetJson())
|
| else:
|
| with open(options.output, 'w') as output:
|
|
|