OLD | NEW |
1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "tools/gn/variables.h" | 5 #include "tools/gn/variables.h" |
6 | 6 |
7 namespace variables { | 7 namespace variables { |
8 | 8 |
9 // Built-in variables ---------------------------------------------------------- | 9 // Built-in variables ---------------------------------------------------------- |
10 | 10 |
(...skipping 704 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
715 " }\n"; | 715 " }\n"; |
716 | 716 |
717 const char kDeps[] = "deps"; | 717 const char kDeps[] = "deps"; |
718 const char kDeps_HelpShort[] = | 718 const char kDeps_HelpShort[] = |
719 "deps: [label list] Private linked dependencies."; | 719 "deps: [label list] Private linked dependencies."; |
720 const char kDeps_Help[] = | 720 const char kDeps_Help[] = |
721 "deps: Private linked dependencies.\n" | 721 "deps: Private linked dependencies.\n" |
722 "\n" | 722 "\n" |
723 " A list of target labels.\n" | 723 " A list of target labels.\n" |
724 "\n" | 724 "\n" |
725 " Specifies private dependencies of a target. Shared and dynamic\n" | 725 " Specifies private dependencies of a target. Private dependencies are\n" |
726 " libraries will be linked into the current target.\n" | 726 " propagated up the dependency tree and linked to dependant targets, but\n" |
| 727 " do not grant the ability to include headers from the dependency.\n" |
| 728 " Public configs are not forwarded.\n" |
727 "\n" | 729 "\n" |
728 " These dependencies are private in that it does not grant dependent\n" | 730 "Details of dependency propagation\n" |
729 " targets the ability to include headers from the dependency, and direct\n" | |
730 " dependent configs are not forwarded.\n" | |
731 "\n" | 731 "\n" |
732 " See also \"public_deps\" and \"data_deps\".\n"; | 732 " Source sets, shared libraries, and non-complete static libraries\n" |
| 733 " will be propagated up the dependency tree across groups, non-complete\n" |
| 734 " static libraries and source sets.\n" |
| 735 "\n" |
| 736 " Executables, shared libraries, and complete static libraries will\n" |
| 737 " link all propagated targets and stop propagation. Actions and copy\n" |
| 738 " steps also stop propagation, allowing them to take a library as an\n" |
| 739 " input but not force dependants to link to it.\n" |
| 740 "\n" |
| 741 " Propagation of all_dependent_configs and public_configs happens\n" |
| 742 " independently of target type. all_dependent_configs are always\n" |
| 743 " propagated across all types of targets, and public_configs\n" |
| 744 " are always propagated across public deps of all types of targets.\n" |
| 745 "\n" |
| 746 " Data dependencies are propagated differently. See\n" |
| 747 " \"gn help data_deps\" and \"gn help runtime_deps\".\n" |
| 748 "\n" |
| 749 " See also \"public_deps\".\n"; |
733 | 750 |
734 const char kIncludeDirs[] = "include_dirs"; | 751 const char kIncludeDirs[] = "include_dirs"; |
735 const char kIncludeDirs_HelpShort[] = | 752 const char kIncludeDirs_HelpShort[] = |
736 "include_dirs: [directory list] Additional include directories."; | 753 "include_dirs: [directory list] Additional include directories."; |
737 const char kIncludeDirs_Help[] = | 754 const char kIncludeDirs_Help[] = |
738 "include_dirs: Additional include directories.\n" | 755 "include_dirs: Additional include directories.\n" |
739 "\n" | 756 "\n" |
740 " A list of source directories.\n" | 757 " A list of source directories.\n" |
741 "\n" | 758 "\n" |
742 " The directories in this list will be added to the include path for\n" | 759 " The directories in this list will be added to the include path for\n" |
(...skipping 372 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1115 "\n" | 1132 "\n" |
1116 " See also \"all_dependent_configs\".\n" | 1133 " See also \"all_dependent_configs\".\n" |
1117 COMMON_ORDERING_HELP; | 1134 COMMON_ORDERING_HELP; |
1118 | 1135 |
1119 const char kPublicDeps[] = "public_deps"; | 1136 const char kPublicDeps[] = "public_deps"; |
1120 const char kPublicDeps_HelpShort[] = | 1137 const char kPublicDeps_HelpShort[] = |
1121 "public_deps: [label list] Declare public dependencies."; | 1138 "public_deps: [label list] Declare public dependencies."; |
1122 const char kPublicDeps_Help[] = | 1139 const char kPublicDeps_Help[] = |
1123 "public_deps: Declare public dependencies.\n" | 1140 "public_deps: Declare public dependencies.\n" |
1124 "\n" | 1141 "\n" |
1125 " Public dependencies are like private dependencies (\"deps\") but\n" | 1142 " Public dependencies are like private dependencies (see\n" |
1126 " additionally express that the current target exposes the listed deps\n" | 1143 " \"gn help deps\") but additionally express that the current target\n" |
1127 " as part of its public API.\n" | 1144 " exposes the listed deps as part of its public API.\n" |
1128 "\n" | 1145 "\n" |
1129 " This has several ramifications:\n" | 1146 " This has several ramifications:\n" |
1130 "\n" | 1147 "\n" |
1131 " - public_configs that are part of the dependency are forwarded\n" | 1148 " - public_configs that are part of the dependency are forwarded\n" |
1132 " to direct dependents.\n" | 1149 " to direct dependents.\n" |
1133 "\n" | 1150 "\n" |
1134 " - Public headers in the dependency are usable by dependents\n" | 1151 " - Public headers in the dependency are usable by dependents\n" |
1135 " (includes do not require a direct dependency or visibility).\n" | 1152 " (includes do not require a direct dependency or visibility).\n" |
1136 "\n" | 1153 "\n" |
1137 " - If the current target is a shared library, other shared libraries\n" | 1154 " - If the current target is a shared library, other shared libraries\n" |
(...skipping 267 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1405 INSERT_VARIABLE(Sources) | 1422 INSERT_VARIABLE(Sources) |
1406 INSERT_VARIABLE(Testonly) | 1423 INSERT_VARIABLE(Testonly) |
1407 INSERT_VARIABLE(Visibility) | 1424 INSERT_VARIABLE(Visibility) |
1408 } | 1425 } |
1409 return info_map; | 1426 return info_map; |
1410 } | 1427 } |
1411 | 1428 |
1412 #undef INSERT_VARIABLE | 1429 #undef INSERT_VARIABLE |
1413 | 1430 |
1414 } // namespace variables | 1431 } // namespace variables |
OLD | NEW |