build-gem5: fix worktree checkout

This commit is contained in:
Ciro Santilli 六四事件 法轮功
2019-01-24 00:00:02 +00:00
parent 863c6fd905
commit c858e57ed9
2 changed files with 6 additions and 6 deletions

View File

@@ -22,10 +22,8 @@ class Main(common.BuildCliFunction):
disks_dir = os.path.join(self.env['gem5_system_dir'], 'disks')
os.makedirs(binaries_dir, exist_ok=True)
os.makedirs(disks_dir, exist_ok=True)
if self.env['gem5_source_dir'] is None:
if not os.path.exists(os.path.join(self.env['gem5_source_dir'], '.git')):
if self.env['gem5_source_dir'] == self.env['gem5_default_source_dir']:
raise Exception('gem5 submodule not checked out')
if self.env['_args_given']['gem5_worktree']:
self.sh.run_cmd([
'git', LF,
'-C', self.env['gem5_default_source_dir'], LF,
@@ -33,6 +31,8 @@ class Main(common.BuildCliFunction):
'-b', os.path.join('wt', self.env['gem5_build_id']), LF,
self.env['gem5_source_dir'], LF,
])
else:
raise Exception('gem5 submodule not checked out')
if self.env['verbose']:
verbose = ['--verbose', LF]
else:

View File

@@ -532,10 +532,10 @@ Valid emulators: {}
env['gem5_system_dir'] = join(env['gem5_build_dir'], 'system')
# gem5 source
if env['gem5_source_dir'] is not None:
if env['_args_given']['gem5_source_dir']:
assert os.path.exists(env['gem5_source_dir'])
else:
if env['gem5_worktree'] is not None:
if env['_args_given']['gem5_worktree']:
env['gem5_source_dir'] = join(env['gem5_non_default_source_root_dir'], env['gem5_worktree'])
else:
env['gem5_source_dir'] = env['gem5_default_source_dir']