diff --git a/embuilder.py b/embuilder.py index 4b706c1d6df76..b7752f936a36b 100755 --- a/embuilder.py +++ b/embuilder.py @@ -291,7 +291,7 @@ def main(): library.erase() if do_build: if USE_NINJA: - library.generate() + library.generate(deterministic_paths=True) else: library.build(deterministic_paths=True) elif what == 'sysroot': diff --git a/test/other/codesize/test_codesize_cxx_except.size b/test/other/codesize/test_codesize_cxx_except.size index c2c735ee85f4b..f802ede453a94 100644 --- a/test/other/codesize/test_codesize_cxx_except.size +++ b/test/other/codesize/test_codesize_cxx_except.size @@ -1 +1 @@ -170928 +170950 diff --git a/test/other/codesize/test_codesize_cxx_except_wasm.size b/test/other/codesize/test_codesize_cxx_except_wasm.size index e5a548bdc8852..dcc00991302e1 100644 --- a/test/other/codesize/test_codesize_cxx_except_wasm.size +++ b/test/other/codesize/test_codesize_cxx_except_wasm.size @@ -1 +1 @@ -142143 +142154 diff --git a/test/other/codesize/test_codesize_cxx_except_wasm_exnref.size b/test/other/codesize/test_codesize_cxx_except_wasm_exnref.size index b3e5808388b4f..61de9cf43ee1e 100644 --- a/test/other/codesize/test_codesize_cxx_except_wasm_exnref.size +++ b/test/other/codesize/test_codesize_cxx_except_wasm_exnref.size @@ -1 +1 @@ -144730 +144741 diff --git a/test/other/codesize/test_codesize_cxx_mangle.size b/test/other/codesize/test_codesize_cxx_mangle.size index d7b5814d237cc..6c8a3c4a397f0 100644 --- a/test/other/codesize/test_codesize_cxx_mangle.size +++ b/test/other/codesize/test_codesize_cxx_mangle.size @@ -1 +1 @@ -232437 +232468 diff --git a/tools/system_libs.py b/tools/system_libs.py index ef896f6ec96ac..73818d8a5b61d 100644 --- a/tools/system_libs.py +++ b/tools/system_libs.py @@ -431,8 +431,8 @@ def build(self, deterministic_paths=False): self.deterministic_paths = deterministic_paths return cache.get(self.get_path(), self.do_build, force=USE_NINJA == 2, quiet=USE_NINJA) - def generate(self): - self.deterministic_paths = False + def generate(self, deterministic_paths=False): + self.deterministic_paths = deterministic_paths return cache.get(self.get_path(), self.do_generate, force=USE_NINJA == 2, quiet=USE_NINJA, deferred=True) @@ -600,12 +600,15 @@ def get_cflags(self): if self.includes: cflags += ['-I' + utils.path_from_root(i) for i in self._inherit_list('includes')] + source_dir = utils.path_from_root() + relative_source_dir = os.path.relpath(source_dir, self.build_dir) if self.deterministic_paths: - source_dir = utils.path_from_root() - relative_source_dir = os.path.relpath(source_dir, self.build_dir) - cflags += [f'-ffile-prefix-map={relative_source_dir}={DETERMINISITIC_PREFIX}'] cflags += [f'-ffile-prefix-map={source_dir}={DETERMINISITIC_PREFIX}', + f'-ffile-prefix-map={relative_source_dir}={DETERMINISITIC_PREFIX}', f'-fdebug-compilation-dir={DETERMINISITIC_PREFIX}'] + else: + cflags += [f'-fmacro-prefix-map={source_dir}={DETERMINISITIC_PREFIX}', + f'-fmacro-prefix-map={relative_source_dir}={DETERMINISITIC_PREFIX}'] return cflags def get_base_name_prefix(self):