| Index: native_client_sdk/src/build_tools/build_projects.py
|
| diff --git a/native_client_sdk/src/build_tools/build_projects.py b/native_client_sdk/src/build_tools/build_projects.py
|
| index dd8ec1c2cc949d685c8301644a22b5cdd786a853..ab3752cbedb43db58e6d921c7b052d82aeca7142 100755
|
| --- a/native_client_sdk/src/build_tools/build_projects.py
|
| +++ b/native_client_sdk/src/build_tools/build_projects.py
|
| @@ -94,6 +94,26 @@ def ValidateToolchains(toolchains):
|
| buildbot_common.ErrorExit('Invalid toolchain(s): %s' % (
|
| ', '.join(invalid_toolchains)))
|
|
|
| +def GetDeps(projects):
|
| + out = {}
|
| +
|
| + # Build list of all project names
|
| + localtargets = [proj['NAME'] for proj in projects]
|
| +
|
| + # For each project
|
| + for proj in projects:
|
| + deplist = []
|
| + # generate a list of dependencies
|
| + for targ in proj.get('TARGETS', []):
|
| + deplist.extend(targ.get('DEPS', []) + targ.get('LIBS', []))
|
| +
|
| + # and add dependencies to targets built in this subtree
|
| + localdeps = [dep for dep in deplist if dep in localtargets]
|
| + if localdeps:
|
| + out[proj['NAME']] = localdeps
|
| +
|
| + return out
|
| +
|
|
|
| def UpdateProjects(pepperdir, project_tree, toolchains,
|
| clobber=False, configs=None, first_toolchain=False):
|
| @@ -123,11 +143,12 @@ def UpdateProjects(pepperdir, project_tree, toolchains,
|
| buildbot_common.RemoveDir(dirpath)
|
| buildbot_common.MakeDir(dirpath)
|
| targets = [desc['NAME'] for desc in projects]
|
| + deps = GetDeps(projects)
|
|
|
| # Generate master make for this branch of projects
|
| generate_make.GenerateMasterMakefile(pepperdir,
|
| os.path.join(pepperdir, branch),
|
| - targets)
|
| + targets, deps)
|
|
|
| if branch.startswith('examples') and not landing_page:
|
| landing_page = LandingPage()
|
| @@ -156,7 +177,7 @@ def UpdateProjects(pepperdir, project_tree, toolchains,
|
| branch_name = 'examples'
|
| generate_make.GenerateMasterMakefile(pepperdir,
|
| os.path.join(pepperdir, branch_name),
|
| - targets)
|
| + targets, {})
|
|
|
|
|
| def BuildProjectsBranch(pepperdir, branch, deps, clean, config, args=None):
|
|
|