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

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

Issue 333243004: Rename GN source_prereqs to inputs, enhance "desc" (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 6 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 | Annotate | Revision Log
« no previous file with comments | « tools/gn/variables.h ('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 352 matching lines...) Expand 10 before | Expand all | Expand 10 after
363 "\n" 363 "\n"
364 " Lists files required to run the given target. These are typically\n" 364 " Lists files required to run the given target. These are typically\n"
365 " data files.\n" 365 " data files.\n"
366 "\n" 366 "\n"
367 " Appearing in the \"data\" section does not imply any special handling\n" 367 " Appearing in the \"data\" section does not imply any special handling\n"
368 " such as copying them to the output directory. This is just used for\n" 368 " such as copying them to the output directory. This is just used for\n"
369 " declaring runtime dependencies. There currently isn't a good use for\n" 369 " declaring runtime dependencies. There currently isn't a good use for\n"
370 " these but it is envisioned that test data can be listed here for use\n" 370 " these but it is envisioned that test data can be listed here for use\n"
371 " running automated tests.\n" 371 " running automated tests.\n"
372 "\n" 372 "\n"
373 " See also \"gn help source_prereqs\" and \"gn help datadeps\", both of\n" 373 " See also \"gn help inputs\" and \"gn help datadeps\", both of\n"
374 " which actually affect the build in concrete ways.\n"; 374 " which actually affect the build in concrete ways.\n";
375 375
376 const char kDatadeps[] = "datadeps"; 376 const char kDatadeps[] = "datadeps";
377 const char kDatadeps_HelpShort[] = 377 const char kDatadeps_HelpShort[] =
378 "datadeps: [label list] Non-linked dependencies."; 378 "datadeps: [label list] Non-linked dependencies.";
379 const char kDatadeps_Help[] = 379 const char kDatadeps_Help[] =
380 "datadeps: Non-linked dependencies.\n" 380 "datadeps: Non-linked dependencies.\n"
381 "\n" 381 "\n"
382 " A list of target labels.\n" 382 " A list of target labels.\n"
383 "\n" 383 "\n"
(...skipping 145 matching lines...) Expand 10 before | Expand all | Expand 10 after
529 "\n" 529 "\n"
530 " A list of source directories.\n" 530 " A list of source directories.\n"
531 "\n" 531 "\n"
532 " The directories in this list will be added to the include path for\n" 532 " The directories in this list will be added to the include path for\n"
533 " the files in the affected target.\n" 533 " the files in the affected target.\n"
534 COMMON_ORDERING_HELP 534 COMMON_ORDERING_HELP
535 "\n" 535 "\n"
536 "Example:\n" 536 "Example:\n"
537 " include_dirs = [ \"src/include\", \"//third_party/foo\" ]\n"; 537 " include_dirs = [ \"src/include\", \"//third_party/foo\" ]\n";
538 538
539 const char kInputs[] = "inputs";
540 const char kInputs_HelpShort[] =
541 "inputs: [file list] Additional compile-time dependencies.";
542 const char kInputs_Help[] =
543 "inputs: Additional compile-time dependencies.\n"
544 "\n"
545 " Inputs are compile-time dependencies of the current target. This means\n"
546 " that all inputs must be available before compiling any of the sources\n"
547 " or executing any actions.\n"
548 "\n"
549 " Inputs are typically only used for action and action_foreach targets.\n"
550 "\n"
551 "Inputs for actions\n"
552 "\n"
553 " For action and action_foreach targets, inputs should be the inputs to\n"
554 " script that don't vary. These should be all .py files that the script\n"
555 " uses via imports (the main script itself will be an implcit dependency\n"
556 " of the action so need not be listed).\n"
557 "\n"
558 " For action targets, inputs should be the entire set of inputs the\n"
559 " script needs. For action_foreach targets, inputs should be the set of\n"
560 " dependencies that don't change. These will be applied to each script\n"
561 " invocation over the sources.\n"
562 "\n"
563 " Note that another way to declare input dependencies from an action\n"
564 " is to have the action write a depfile (see \"gn help depfile\"). This\n"
565 " allows the script to dynamically write input dependencies, that might\n"
566 " not be known until actually executing the script. This is more\n"
567 " efficient than doing processing while running GN to determine the\n"
568 " inputs, and is easier to keep in-sync than hardcoding the list.\n"
569 "\n"
570 "Inputs for binary targets\n"
571 "\n"
572 " Any input dependencies will be resolved before compiling any sources.\n"
573 " Normally, all actions that a target depends on will be run before any\n"
574 " files in a target are compiled. So if you depend on generated headers,\n"
575 " you do not typically need to list them in the inputs section.\n"
576 "\n"
577 "Example\n"
578 "\n"
579 " action(\"myscript\") {\n"
580 " script = \"domything.py\"\n"
581 " inputs = [ \"input.data\" ]\n"
582 " }\n";
583
539 const char kLdflags[] = "ldflags"; 584 const char kLdflags[] = "ldflags";
540 const char kLdflags_HelpShort[] = 585 const char kLdflags_HelpShort[] =
541 "ldflags: [string list] Flags passed to the linker."; 586 "ldflags: [string list] Flags passed to the linker.";
542 const char kLdflags_Help[] = 587 const char kLdflags_Help[] =
543 "ldflags: Flags passed to the linker.\n" 588 "ldflags: Flags passed to the linker.\n"
544 "\n" 589 "\n"
545 " A list of strings.\n" 590 " A list of strings.\n"
546 "\n" 591 "\n"
547 " These flags are passed on the command-line to the linker and generally\n" 592 " These flags are passed on the command-line to the linker and generally\n"
548 " specify various linking options. Most targets will not need these and\n" 593 " specify various linking options. Most targets will not need these and\n"
(...skipping 148 matching lines...) Expand 10 before | Expand all | Expand 10 after
697 const char kScript[] = "script"; 742 const char kScript[] = "script";
698 const char kScript_HelpShort[] = 743 const char kScript_HelpShort[] =
699 "script: [file name] Script file for actions."; 744 "script: [file name] Script file for actions.";
700 const char kScript_Help[] = 745 const char kScript_Help[] =
701 "script: Script file for actions.\n" 746 "script: Script file for actions.\n"
702 "\n" 747 "\n"
703 " An absolute or buildfile-relative file name of a Python script to run\n" 748 " An absolute or buildfile-relative file name of a Python script to run\n"
704 " for a action and action_foreach targets (see \"gn help action\" and\n" 749 " for a action and action_foreach targets (see \"gn help action\" and\n"
705 " \"gn help action_foreach\").\n"; 750 " \"gn help action_foreach\").\n";
706 751
707 const char kSourcePrereqs[] = "source_prereqs";
708 const char kSourcePrereqs_HelpShort[] =
709 "source_prereqs: [file list] Additional compile-time dependencies.";
710 const char kSourcePrereqs_Help[] =
711 "source_prereqs: Additional compile-time dependencies.\n"
712 "\n"
713 " Inputs are compile-time dependencies of the current target. This means\n"
714 " that all source prerequisites must be available before compiling any\n"
715 " of the sources.\n"
716 "\n"
717 " If one of your sources #includes a generated file, that file must be\n"
718 " available before that source file is compiled. For subsequent builds,\n"
719 " the \".d\" files will list the include dependencies of each source\n"
720 " and Ninja can know about that dependency to make sure it's generated\n"
721 " before compiling your source file. However, for the first run it's\n"
722 " not possible for Ninja to know about this dependency.\n"
723 "\n"
724 " Source prerequisites solves this problem by declaring such\n"
725 " dependencies. It will introduce a Ninja \"implicit\" dependency for\n"
726 " each source file in the target on the listed files.\n"
727 "\n"
728 " For binary targets, the files in the \"source_prereqs\" should all be\n"
729 " listed in the \"outputs\" section of another target. There is no\n"
730 " reason to declare static source files as source prerequisites since\n"
731 " the normal include file dependency management will handle them more\n"
732 " efficiently anyway.\n"
733 "\n"
734 " For action targets that don't generate \".d\" files, the\n"
735 " \"source_prereqs\" section is how you can list known compile-time\n"
736 " dependencies your script may have.\n"
737 "\n"
738 " See also \"gn help data\" and \"gn help datadeps\" (which declare\n"
739 " run-time rather than compile-time dependencies).\n"
740 "\n"
741 "Examples:\n"
742 " executable(\"foo\") {\n"
743 " sources = [ \"foo.cc\" ]\n"
744 " source_prereqs = [ \"$root_gen_dir/something/generated_data.h\" ]\n"
745 " }\n"
746 "\n"
747 " action(\"myscript\") {\n"
748 " script = \"domything.py\"\n"
749 " source_prereqs = [ \"input.data\" ]\n"
750 " }\n";
751
752 const char kSources[] = "sources"; 752 const char kSources[] = "sources";
753 const char kSources_HelpShort[] = 753 const char kSources_HelpShort[] =
754 "sources: [file list] Source files for a target."; 754 "sources: [file list] Source files for a target.";
755 const char kSources_Help[] = 755 const char kSources_Help[] =
756 "sources: Source files for a target\n" 756 "sources: Source files for a target\n"
757 "\n" 757 "\n"
758 " A list of files relative to the current buildfile.\n"; 758 " A list of files relative to the current buildfile.\n";
759 759
760 const char kVisibility[] = "visibility"; 760 const char kVisibility[] = "visibility";
761 const char kVisibility_HelpShort[] = 761 const char kVisibility_HelpShort[] =
(...skipping 108 matching lines...) Expand 10 before | Expand all | Expand 10 after
870 INSERT_VARIABLE(CflagsObjC) 870 INSERT_VARIABLE(CflagsObjC)
871 INSERT_VARIABLE(CflagsObjCC) 871 INSERT_VARIABLE(CflagsObjCC)
872 INSERT_VARIABLE(Configs) 872 INSERT_VARIABLE(Configs)
873 INSERT_VARIABLE(Data) 873 INSERT_VARIABLE(Data)
874 INSERT_VARIABLE(Datadeps) 874 INSERT_VARIABLE(Datadeps)
875 INSERT_VARIABLE(Depfile) 875 INSERT_VARIABLE(Depfile)
876 INSERT_VARIABLE(Deps) 876 INSERT_VARIABLE(Deps)
877 INSERT_VARIABLE(DirectDependentConfigs) 877 INSERT_VARIABLE(DirectDependentConfigs)
878 INSERT_VARIABLE(ForwardDependentConfigsFrom) 878 INSERT_VARIABLE(ForwardDependentConfigsFrom)
879 INSERT_VARIABLE(IncludeDirs) 879 INSERT_VARIABLE(IncludeDirs)
880 INSERT_VARIABLE(Inputs)
880 INSERT_VARIABLE(Ldflags) 881 INSERT_VARIABLE(Ldflags)
881 INSERT_VARIABLE(Libs) 882 INSERT_VARIABLE(Libs)
882 INSERT_VARIABLE(LibDirs) 883 INSERT_VARIABLE(LibDirs)
883 INSERT_VARIABLE(OutputExtension) 884 INSERT_VARIABLE(OutputExtension)
884 INSERT_VARIABLE(OutputName) 885 INSERT_VARIABLE(OutputName)
885 INSERT_VARIABLE(Outputs) 886 INSERT_VARIABLE(Outputs)
886 INSERT_VARIABLE(Public) 887 INSERT_VARIABLE(Public)
887 INSERT_VARIABLE(Script) 888 INSERT_VARIABLE(Script)
888 INSERT_VARIABLE(SourcePrereqs)
889 INSERT_VARIABLE(Sources) 889 INSERT_VARIABLE(Sources)
890 INSERT_VARIABLE(Visibility) 890 INSERT_VARIABLE(Visibility)
891 } 891 }
892 return info_map; 892 return info_map;
893 } 893 }
894 894
895 #undef INSERT_VARIABLE 895 #undef INSERT_VARIABLE
896 896
897 } // namespace variables 897 } // namespace variables
OLDNEW
« no previous file with comments | « tools/gn/variables.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698