|
@@ -14,6 +14,7 @@ import json
|
|
|
|
|
|
|
|
from fbt.sdk.collector import SdkCollector
|
|
from fbt.sdk.collector import SdkCollector
|
|
|
from fbt.sdk.cache import SdkCache
|
|
from fbt.sdk.cache import SdkCache
|
|
|
|
|
+from fbt.util import path_as_posix
|
|
|
|
|
|
|
|
|
|
|
|
|
def ProcessSdkDepends(env, filename):
|
|
def ProcessSdkDepends(env, filename):
|
|
@@ -52,6 +53,8 @@ def prebuild_sdk_create_origin_file(target, source, env):
|
|
|
|
|
|
|
|
|
|
|
|
|
class SdkMeta:
|
|
class SdkMeta:
|
|
|
|
|
+ MAP_FILE_SUBST = "SDK_MAP_FILE_SUBST"
|
|
|
|
|
+
|
|
|
def __init__(self, env, tree_builder: "SdkTreeBuilder"):
|
|
def __init__(self, env, tree_builder: "SdkTreeBuilder"):
|
|
|
self.env = env
|
|
self.env = env
|
|
|
self.treebuilder = tree_builder
|
|
self.treebuilder = tree_builder
|
|
@@ -67,6 +70,7 @@ class SdkMeta:
|
|
|
"linker_libs": self.env.subst("${LIBS}"),
|
|
"linker_libs": self.env.subst("${LIBS}"),
|
|
|
"app_ep_subst": self.env.subst("${APP_ENTRY}"),
|
|
"app_ep_subst": self.env.subst("${APP_ENTRY}"),
|
|
|
"sdk_path_subst": self.env.subst("${SDK_DIR_SUBST}"),
|
|
"sdk_path_subst": self.env.subst("${SDK_DIR_SUBST}"),
|
|
|
|
|
+ "map_file_subst": self.MAP_FILE_SUBST,
|
|
|
"hardware": self.env.subst("${TARGET_HW}"),
|
|
"hardware": self.env.subst("${TARGET_HW}"),
|
|
|
}
|
|
}
|
|
|
with open(json_manifest_path, "wt") as f:
|
|
with open(json_manifest_path, "wt") as f:
|
|
@@ -75,9 +79,9 @@ class SdkMeta:
|
|
|
def _wrap_scons_vars(self, vars: str):
|
|
def _wrap_scons_vars(self, vars: str):
|
|
|
expanded_vars = self.env.subst(
|
|
expanded_vars = self.env.subst(
|
|
|
vars,
|
|
vars,
|
|
|
- target=Entry("dummy"),
|
|
|
|
|
|
|
+ target=Entry(self.MAP_FILE_SUBST),
|
|
|
)
|
|
)
|
|
|
- return expanded_vars.replace("\\", "/")
|
|
|
|
|
|
|
+ return path_as_posix(expanded_vars)
|
|
|
|
|
|
|
|
|
|
|
|
|
class SdkTreeBuilder:
|
|
class SdkTreeBuilder:
|
|
@@ -142,13 +146,15 @@ class SdkTreeBuilder:
|
|
|
meta.save_to(self.target[0].path)
|
|
meta.save_to(self.target[0].path)
|
|
|
|
|
|
|
|
def build_sdk_file_path(self, orig_path: str) -> str:
|
|
def build_sdk_file_path(self, orig_path: str) -> str:
|
|
|
- return posixpath.normpath(
|
|
|
|
|
- posixpath.join(
|
|
|
|
|
- self.SDK_DIR_SUBST,
|
|
|
|
|
- self.target_sdk_dir_name,
|
|
|
|
|
- orig_path,
|
|
|
|
|
|
|
+ return path_as_posix(
|
|
|
|
|
+ posixpath.normpath(
|
|
|
|
|
+ posixpath.join(
|
|
|
|
|
+ self.SDK_DIR_SUBST,
|
|
|
|
|
+ self.target_sdk_dir_name,
|
|
|
|
|
+ orig_path,
|
|
|
|
|
+ )
|
|
|
)
|
|
)
|
|
|
- ).replace("\\", "/")
|
|
|
|
|
|
|
+ )
|
|
|
|
|
|
|
|
def emitter(self, target, source, env):
|
|
def emitter(self, target, source, env):
|
|
|
target_folder = target[0]
|
|
target_folder = target[0]
|