Remove hardcoded -fmodules-embed-all-files flag
The -fmodules-embed-all-files flag was being unconditionally added to
the module_deps variable. This is not ideal as it should be controlled
by the user via cflags.
This change removes the hardcoded flag from
ninja_c_binary_target_writer.cc and updates the corresponding unit
tests.
Bug: 40440396
Change-Id: I9b430115f8c0c9e0c9c498456010d723da54b942
Reviewed-on: https://gn-review.googlesource.com/c/gn/+/19280
Reviewed-by: Sylvain Defresne <sdefresne@chromium.org>
Commit-Queue: Takuto Ikuta <tikuta@google.com>
diff --git a/src/gn/ninja_c_binary_target_writer.cc b/src/gn/ninja_c_binary_target_writer.cc
index cdfce61..83a95d0 100644
--- a/src/gn/ninja_c_binary_target_writer.cc
+++ b/src/gn/ninja_c_binary_target_writer.cc
@@ -269,9 +269,7 @@
EscapeOptions options;
options.mode = ESCAPE_NINJA_COMMAND;
- out_ << substitution->ninja_name << " = -Xclang ";
- EscapeStringToStream(out_, "-fmodules-embed-all-files", options);
-
+ out_ << substitution->ninja_name << " =";
for (const auto& module_dep : module_dep_info) {
if (!module_dep.is_self || include_self) {
out_ << " ";
diff --git a/src/gn/ninja_c_binary_target_writer_unittest.cc b/src/gn/ninja_c_binary_target_writer_unittest.cc
index 80f453d..dfaa5ca 100644
--- a/src/gn/ninja_c_binary_target_writer_unittest.cc
+++ b/src/gn/ninja_c_binary_target_writer_unittest.cc
@@ -2584,8 +2584,8 @@
include_dirs =
cflags =
cflags_cc =
-module_deps = -Xclang -fmodules-embed-all-files -fmodule-file=obj/blah/liba.a.pcm
-module_deps_no_self = -Xclang -fmodules-embed-all-files
+module_deps = -fmodule-file=obj/blah/liba.a.pcm
+module_deps_no_self =
label = //blah$:a
root_out_dir = withmodules
target_out_dir = obj/blah
@@ -2630,8 +2630,8 @@
include_dirs =
cflags =
cflags_cc =
-module_deps = -Xclang -fmodules-embed-all-files -fmodule-file=obj/blah/liba.a.pcm -fmodule-file=obj/stuff/libb.b.pcm
-module_deps_no_self = -Xclang -fmodules-embed-all-files -fmodule-file=obj/blah/liba.a.pcm
+module_deps = -fmodule-file=obj/blah/liba.a.pcm -fmodule-file=obj/stuff/libb.b.pcm
+module_deps_no_self = -fmodule-file=obj/blah/liba.a.pcm
label = //stuff$:b
root_out_dir = withmodules
target_out_dir = obj/stuff
@@ -2674,8 +2674,8 @@
include_dirs =
cflags =
cflags_cc =
-module_deps = -Xclang -fmodules-embed-all-files -fmodule-file=obj/blah/liba.a.pcm -fmodule-file=obj/stuff/libb.b.pcm -fmodule-file=obj/stuff/libc.c.pcm
-module_deps_no_self = -Xclang -fmodules-embed-all-files -fmodule-file=obj/blah/liba.a.pcm -fmodule-file=obj/stuff/libb.b.pcm
+module_deps = -fmodule-file=obj/blah/liba.a.pcm -fmodule-file=obj/stuff/libb.b.pcm -fmodule-file=obj/stuff/libc.c.pcm
+module_deps_no_self = -fmodule-file=obj/blah/liba.a.pcm -fmodule-file=obj/stuff/libb.b.pcm
label = //things$:c
root_out_dir = withmodules
target_out_dir = obj/things
@@ -2714,8 +2714,8 @@
include_dirs =
cflags =
cflags_cc =
-module_deps = -Xclang -fmodules-embed-all-files -fmodule-file=obj/blah/liba.a.pcm -fmodule-file=obj/stuff/libb.b.pcm
-module_deps_no_self = -Xclang -fmodules-embed-all-files -fmodule-file=obj/blah/liba.a.pcm -fmodule-file=obj/stuff/libb.b.pcm
+module_deps = -fmodule-file=obj/blah/liba.a.pcm -fmodule-file=obj/stuff/libb.b.pcm
+module_deps_no_self = -fmodule-file=obj/blah/liba.a.pcm -fmodule-file=obj/stuff/libb.b.pcm
label = //zap$:c
root_out_dir = withmodules
target_out_dir = obj/zap