diff --git a/build-gem5 b/build-gem5 index 06e7bd8..ad2ea55 100755 --- a/build-gem5 +++ b/build-gem5 @@ -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 not os.path.exists(os.path.join(self.env['gem5_source_dir'], '.git')): + 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: diff --git a/common.py b/common.py index 21c0e28..332986e 100644 --- a/common.py +++ b/common.py @@ -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']