aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDan Albert <danalbert@google.com>2015-08-28 16:49:04 -0700
committerDan Albert <danalbert@google.com>2015-08-28 16:49:04 -0700
commitc78ebe9a44cf69c46fd4e3185fef62e567b5ad4a (patch)
tree8ac58677d1bcce191344ca157c9fad399ba82d59
parentd91d70c01d44a6f0feb72380b2accc928e6d0f32 (diff)
downloadyasm-c78ebe9a44cf69c46fd4e3185fef62e567b5ad4a.tar.gz
Refactor to use build_support.
Change-Id: Ie8b02b50a537c12806442dff529f1c7d755a93f0
-rwxr-xr-xbuild.py66
1 files changed, 8 insertions, 58 deletions
diff --git a/build.py b/build.py
index 0cd17a8a..b7286903 100755
--- a/build.py
+++ b/build.py
@@ -17,68 +17,18 @@
"""Builds YASM for the NDK."""
from __future__ import print_function
-import argparse
-import inspect
import os
-import subprocess
-import sys
+import site
+site.addsitedir(os.path.join(os.path.dirname(__file__), '../../ndk/build/lib'))
-def android_path(path=''):
- top = os.getenv('ANDROID_BUILD_TOP', '')
- return os.path.realpath(os.path.join(top, path))
+import build_support
-def get_default_package_dir():
- return android_path('out/ndk')
-
-
-def get_default_host():
- if sys.platform in ('linux', 'linux2'):
- return 'linux'
- elif sys.platform == 'darwin':
- return 'darwin'
- else:
- raise RuntimeError('Unsupported host: {}'.format(sys.platform))
-
-
-class ArgParser(argparse.ArgumentParser):
- def __init__(self):
- super(ArgParser, self).__init__(
- description=inspect.getdoc(sys.modules[__name__]),
- formatter_class=argparse.RawDescriptionHelpFormatter)
-
- self.add_argument(
- '--host', choices=('darwin', 'linux', 'windows', 'windows64'),
- default=get_default_host(),
- help='Build binaries for given OS (e.g. linux).')
- self.add_argument(
- '--package-dir', help='Directory to place the packaged GCC.',
- default=get_default_package_dir())
-
-
-def main():
- args = ArgParser().parse_args()
-
- if 'ANDROID_BUILD_TOP' not in os.environ:
- top = os.path.join(os.path.dirname(__file__), '../..')
- os.environ['ANDROID_BUILD_TOP'] = os.path.realpath(top)
-
- os.chdir(android_path('toolchain/yasm'))
-
- toolchain_path = android_path('toolchain')
- ndk_path = android_path('ndk')
-
- package_dir_arg = '--package-dir={}'.format(args.package_dir)
-
- ndk_build_tools_path = android_path('ndk/build/tools')
- build_env = dict(os.environ)
- build_env['NDK_BUILDTOOLS_PATH'] = ndk_build_tools_path
- build_env['ANDROID_NDK_ROOT'] = ndk_path
-
+def main(args):
build_cmd = [
- 'bash', 'build-yasm.sh', toolchain_path, ndk_path,
- package_dir_arg, '--verbose',
+ 'bash', 'build-yasm.sh', build_support.toolchain_path(),
+ build_support.ndk_path(),
]
if args.host in ('windows', 'windows64'):
@@ -87,7 +37,7 @@ def main():
if args.host != 'windows':
build_cmd.append('--try-64')
- subprocess.check_call(build_cmd, env=build_env)
+ build_support.build(build_cmd, args)
if __name__ == '__main__':
- main()
+ build_support.run(main)