39
39
# link time.
40
40
USE_NINJA = int (os .environ .get ('EMCC_USE_NINJA' , '0' ))
41
41
42
+ # A dummy path used as a compilation directory for deterministic builds.
43
+ DUMMY_EMSCRIPTEN_ROOT = '/emsdk/emscripten'
44
+
42
45
43
46
def files_in_path (path , filenames ):
44
47
srcdir = utils .path_from_root (path )
@@ -472,9 +475,9 @@ def generate_ninja(self, build_dir, libname):
472
475
if self .deterministic_paths :
473
476
source_dir = utils .path_from_root ()
474
477
relative_source_dir = os .path .relpath (source_dir , build_dir )
475
- cflags += [f'-ffile-prefix-map={ source_dir } =/emsdk/emscripten ' ,
478
+ cflags += [f'-ffile-prefix-map={ source_dir } ={ DUMMY_EMSCRIPTEN_ROOT } ' ,
476
479
f'-ffile-prefix-map={ relative_source_dir } /=' ,
477
- '-fdebug-compilation-dir=/emsdk/emscripten ' ]
480
+ f '-fdebug-compilation-dir={ DUMMY_EMSCRIPTEN_ROOT } ' ]
478
481
asflags = get_base_cflags (preprocess = False )
479
482
input_files = self .get_files ()
480
483
ninja_file = os .path .join (build_dir , 'build.ninja' )
@@ -494,9 +497,9 @@ def build_objects(self, build_dir):
494
497
if self .deterministic_paths :
495
498
source_dir = utils .path_from_root ()
496
499
relative_source_dir = os .path .relpath (source_dir , build_dir )
497
- cflags += [f'-ffile-prefix-map={ source_dir } =/emsdk/emscripten ' ,
500
+ cflags += [f'-ffile-prefix-map={ source_dir } ={ DUMMY_EMSCRIPTEN_ROOT } ' ,
498
501
f'-ffile-prefix-map={ relative_source_dir } /=' ,
499
- '-fdebug-compilation-dir=/emsdk/emscripten ' ]
502
+ f '-fdebug-compilation-dir={ DUMMY_EMSCRIPTEN_ROOT } ' ]
500
503
case_insensitive = is_case_insensitive (build_dir )
501
504
for src in self .get_files ():
502
505
ext = shared .suffix (src )
0 commit comments