diff options
author | Boris Kolpackov <boris@codesynthesis.com> | 2022-04-13 10:52:13 +0200 |
---|---|---|
committer | Boris Kolpackov <boris@codesynthesis.com> | 2022-04-13 10:55:55 +0200 |
commit | d97c52ba95f82a2010f76f7f75e52017020523f8 (patch) | |
tree | 1ee2be97d35c45a5a7b8daec24ef963f928d8291 /libbuild2/cc/init.cxx | |
parent | f1331c281f0842bd0a113cc966fa2b0b57353904 (diff) |
Prune library graph traversal for recursively-binless libraries
Diffstat (limited to 'libbuild2/cc/init.cxx')
-rw-r--r-- | libbuild2/cc/init.cxx | 22 |
1 files changed, 13 insertions, 9 deletions
diff --git a/libbuild2/cc/init.cxx b/libbuild2/cc/init.cxx index 5c15835..75b32bb 100644 --- a/libbuild2/cc/init.cxx +++ b/libbuild2/cc/init.cxx @@ -133,15 +133,19 @@ namespace build2 vp.insert<string> ("cc.runtime"); vp.insert<string> ("cc.stdlib"); - // Target type, for example, "C library" or "C++ library". Should be set - // on the target as a rule-specific variable by the matching rule to the - // name of the module (e.g., "c", "cxx"). Currenly only set for - // libraries and is used to decide which *.libs to use during static - // linking. - // - // It can also be the special "cc" value which means a C-common library - // but specific language is not known. Used in the import installed - // logic. + // Library target type in the <lang>[,<type>...] form where <lang> is + // "c" (C library), "cxx" (C++ library), or "cc" (C-common library but + // the specific language is not known). Currently recognized <type> + // values are "binless" (library is binless) and "recursively-binless" + // (library and all its prerequisite libraries are binless). Note that + // another indication of a binless library is an empty path, which could + // easier/faster to check. Note also that there should be no whitespaces + // of any kind and <lang> is always first. + // + // This value should be set on the library target as a rule-specific + // variable by the matching rule. Currently <lang> is used to decide + // which *.libs to use during static linking. The "cc" language is used + // in the import installed logic. // // Note that this variable cannot be set via the target type/pattern- // specific mechanism (see process_libraries()). |