Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(128)

Unified Diff: tools/gn/functions_target.cc

Issue 1386783003: [GN]: Support for loadable modules (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: tools/gn/functions_target.cc
diff --git a/tools/gn/functions_target.cc b/tools/gn/functions_target.cc
index fbac2d2bfe26c606d013a6820f401e23ba45bf48..79af5351b358ce2c87c1366718b6fb5d618b29ef 100644
--- a/tools/gn/functions_target.cc
+++ b/tools/gn/functions_target.cc
@@ -355,6 +355,38 @@ Value RunGroup(Scope* scope,
block, err);
}
+// loadable_module -------------------------------------------------------------
+
+const char kLoadableModule[] = "loadable_module";
+const char kLoadableModule_HelpShort[] =
+ "loadable_module: Declare a loadable module target.";
+const char kLoadableModule_Help[] =
+ "loadable_module: Declare a loadable module target.\n"
+ "\n"
+ " This target type allows you to create an object file that is (and can\n"
+ " only be) loaded and unloaded at runtime.\n"
+ "\n"
+ " A loadable module will be specified on the linker line for targets\n"
+ " listing the loadable module in its \"deps\". If you don't want this\n"
+ " (if you don't need to dynamically load the library at runtime), then\n"
+ " you should use a \"shared_library\" target type instead.\n"
+ "\n"
+ "Variables\n"
+ "\n"
+ CONFIG_VALUES_VARS_HELP
+ DEPS_VARS
+ DEPENDENT_CONFIG_VARS
+ GENERAL_TARGET_VARS;
+
+Value RunLoadableModule(Scope* scope,
+ const FunctionCallNode* function,
+ const std::vector<Value>& args,
+ BlockNode* block,
+ Err* err) {
+ return ExecuteGenericTarget(functions::kLoadableModule, scope, function, args,
+ block, err);
+}
+
// shared_library --------------------------------------------------------------
const char kSharedLibrary[] = "shared_library";
@@ -366,7 +398,8 @@ const char kSharedLibrary_Help[] =
" A shared library will be specified on the linker line for targets\n"
" listing the shared library in its \"deps\". If you don't want this\n"
" (say you dynamically load the library at runtime), then you should\n"
- " depend on the shared library via \"data_deps\" instead.\n"
+ " depend on the shared library via \"data_deps\" or, on Darwin\n"
+ " platforms, use a \"loadable_module\" target type instead.\n"
"\n"
"Variables\n"
"\n"
@@ -501,8 +534,7 @@ Value RunTarget(Scope* scope,
BlockNode* block,
Err* err) {
if (args.size() != 2) {
- *err = Err(function, "Expected two arguments.",
- "Dude, try \"gn help target\".");
+ *err = Err(function, "Expected two arguments.", "Try \"gn help target\".");
return Value();
}
« tools/gn/function_toolchain.cc ('K') | « tools/gn/functions.cc ('k') | tools/gn/gn.gyp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698