Skip to content

Commit 9b8ba4d

Browse files
committed
Use relative path to scatter for include path
1 parent 9245b50 commit 9b8ba4d

File tree

3 files changed

+13
-9
lines changed

3 files changed

+13
-9
lines changed

tools/export/makefile/__init__.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -228,9 +228,10 @@ def prepare_sys_lib(libname):
228228

229229
def generate(self):
230230
if self.resources.linker_script:
231+
sct_file = self.resources.linker_script
231232
new_script = self.toolchain.correct_scatter_shebang(
232-
self.resources.linker_script)
233-
if new_script is not self.resources.linker_script:
233+
sct_file, join(self.resources.file_basepath[sct_file], "BUILD"))
234+
if new_script is not sct_file:
234235
self.resources.linker_script = new_script
235236
self.generated_files.append(new_script)
236237
return super(Arm, self).generate()

tools/export/uvision/__init__.py

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -217,12 +217,14 @@ def generate(self):
217217
# UVFile tuples defined above
218218
'project_files': sorted(list(self.format_src(srcs).iteritems()),
219219
key=lambda (group, _): group.lower()),
220-
'linker_script':self.toolchain.correct_scatter_shebang(
221-
self.resources.linker_script),
222220
'include_paths': '; '.join(self.resources.inc_dirs).encode('utf-8'),
223221
'device': DeviceUvision(self.target),
224222
}
225-
self.generated_files.append(ctx['linker_script'])
223+
sct_file = self.resources.linker_script
224+
ctx['linker_script'] = self.toolchain.correct_scatter_shebang(
225+
sct_file, self.resources.file_basepath[sct_file])
226+
if ctx['linker_script'] != sct_file:
227+
self.generated_files.append(ctx['linker_script'])
226228
core = ctx['device'].core
227229
ctx['cputype'] = core.rstrip("FD")
228230
if core.endswith("FD"):

tools/toolchains/arm.py

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,8 @@
1616
"""
1717
import re
1818
from copy import copy
19-
from os.path import join, dirname, splitext, basename, exists
20-
from os import makedirs, write
19+
from os.path import join, dirname, splitext, basename, exists, relpath
20+
from os import makedirs, write, curdir
2121
from tempfile import mkstemp
2222

2323
from tools.toolchains import mbedToolchain, TOOLCHAIN_PATHS
@@ -184,7 +184,7 @@ def compile_c(self, source, object, includes):
184184
def compile_cpp(self, source, object, includes):
185185
return self.compile(self.cppc, source, object, includes)
186186

187-
def correct_scatter_shebang(self, scatter_file):
187+
def correct_scatter_shebang(self, scatter_file, base_path=curdir):
188188
"""Correct the shebang at the top of a scatter file.
189189
190190
Positional arguments:
@@ -203,7 +203,8 @@ def correct_scatter_shebang(self, scatter_file):
203203
return scatter_file
204204
else:
205205
new_scatter = join(self.build_dir, ".link_script.sct")
206-
self.SHEBANG += " -I %s" % dirname(scatter_file)
206+
self.SHEBANG += " -I %s" % relpath(dirname(scatter_file),
207+
base_path)
207208
if self.need_update(new_scatter, [scatter_file]):
208209
with open(new_scatter, "wb") as out:
209210
out.write(self.SHEBANG)

0 commit comments

Comments
 (0)