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

Side by Side Diff: tools/gn/variables.cc

Issue 572893002: GN: Refine 'complete' static library handling (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Improve complete_static_lib help; other style nitpicks Created 4 years, 8 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 unified diff | Download patch
« no previous file with comments | « tools/gn/target_unittest.cc ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 646 matching lines...) Expand 10 before | Expand all | Expand 10 after
657 " A static library normally doesn't include code from dependencies, but\n" 657 " A static library normally doesn't include code from dependencies, but\n"
658 " instead forwards the static libraries and source sets in its deps up\n" 658 " instead forwards the static libraries and source sets in its deps up\n"
659 " the dependency chain until a linkable target (an executable or shared\n" 659 " the dependency chain until a linkable target (an executable or shared\n"
660 " library) is reached. The final linkable target only links each static\n" 660 " library) is reached. The final linkable target only links each static\n"
661 " library once, even if it appears more than once in its dependency\n" 661 " library once, even if it appears more than once in its dependency\n"
662 " graph.\n" 662 " graph.\n"
663 "\n" 663 "\n"
664 " In some cases the static library might be the final desired output.\n" 664 " In some cases the static library might be the final desired output.\n"
665 " For example, you may be producing a static library for distribution to\n" 665 " For example, you may be producing a static library for distribution to\n"
666 " third parties. In this case, the static library should include code\n" 666 " third parties. In this case, the static library should include code\n"
667 " for all dependencies in one complete package. Since GN does not unpack\n" 667 " for all dependencies in one complete package. However, complete static\n"
668 " static libraries to forward their contents up the dependency chain,\n" 668 " libraries themselves are never linked into other complete static\n"
669 " it is an error for complete static libraries to depend on other static\n" 669 " libraries. All complete static libraries are for distribution and\n"
670 " linking them in would cause code duplication in this case. If the\n"
671 " static library is not for distribution, it should not be complete.\n"
672 "\n"
673 " GN treats non-complete static libraries as source sets when they are\n"
674 " linked into complete static libraries. This is done because some tools\n"
675 " like AR do not handle dependent static libraries properly. This makes\n"
676 " it easier to write \"alink\" rules.\n"
670 "\n" 677 "\n"
671 " In rare cases it makes sense to list a header in more than one\n" 678 " In rare cases it makes sense to list a header in more than one\n"
672 " target if it could be considered conceptually a member of both.\n" 679 " target if it could be considered conceptually a member of both.\n"
673 " libraries.\n" 680 " libraries.\n"
674 "\n" 681 "\n"
675 "Example\n" 682 "Example\n"
676 "\n" 683 "\n"
677 " static_library(\"foo\") {\n" 684 " static_library(\"foo\") {\n"
678 " complete_static_lib = true\n" 685 " complete_static_lib = true\n"
679 " deps = [ \"bar\" ]\n" 686 " deps = [ \"bar\" ]\n"
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after
749 " config(\"default_optimization\") {\n" 756 " config(\"default_optimization\") {\n"
750 " if (optimize_everything) {\n" 757 " if (optimize_everything) {\n"
751 " configs = [ \":super_optimization\" ]\n" 758 " configs = [ \":super_optimization\" ]\n"
752 " } else {\n" 759 " } else {\n"
753 " configs = [ \":no_optimization\" ]\n" 760 " configs = [ \":no_optimization\" ]\n"
754 " }\n" 761 " }\n"
755 " }\n"; 762 " }\n";
756 763
757 const char kConsole[] = "console"; 764 const char kConsole[] = "console";
758 const char kConsole_HelpShort[] = 765 const char kConsole_HelpShort[] =
759 "console [boolean]: Run this action in the console pool."; 766 "console: [boolean] Run this action in the console pool.";
760 const char kConsole_Help[] = 767 const char kConsole_Help[] =
761 "console: Run this action in the console pool.\n" 768 "console: Run this action in the console pool.\n"
762 "\n" 769 "\n"
763 " Boolean. Defaults to false.\n" 770 " Boolean. Defaults to false.\n"
764 "\n" 771 "\n"
765 " Actions marked \"console = true\" will be run in the built-in ninja\n" 772 " Actions marked \"console = true\" will be run in the built-in ninja\n"
766 " \"console\" pool. They will have access to real stdin and stdout, and\n" 773 " \"console\" pool. They will have access to real stdin and stdout, and\n"
767 " output will not be buffered by ninja. This can be useful for\n" 774 " output will not be buffered by ninja. This can be useful for\n"
768 " long-running actions with progress logs, or actions that require user \n" 775 " long-running actions with progress logs, or actions that require user \n"
769 " input.\n" 776 " input.\n"
(...skipping 930 matching lines...) Expand 10 before | Expand all | Expand 10 after
1700 INSERT_VARIABLE(Testonly) 1707 INSERT_VARIABLE(Testonly)
1701 INSERT_VARIABLE(Visibility) 1708 INSERT_VARIABLE(Visibility)
1702 INSERT_VARIABLE(WriteRuntimeDeps) 1709 INSERT_VARIABLE(WriteRuntimeDeps)
1703 } 1710 }
1704 return info_map; 1711 return info_map;
1705 } 1712 }
1706 1713
1707 #undef INSERT_VARIABLE 1714 #undef INSERT_VARIABLE
1708 1715
1709 } // namespace variables 1716 } // namespace variables
OLDNEW
« no previous file with comments | « tools/gn/target_unittest.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698