diff options
| -rw-r--r-- | bitbake/doc/user-manual/user-manual-metadata.xml | 88 |
1 files changed, 87 insertions, 1 deletions
diff --git a/bitbake/doc/user-manual/user-manual-metadata.xml b/bitbake/doc/user-manual/user-manual-metadata.xml index 73238fd9e5..239390ac8d 100644 --- a/bitbake/doc/user-manual/user-manual-metadata.xml +++ b/bitbake/doc/user-manual/user-manual-metadata.xml | |||
| @@ -579,10 +579,96 @@ | |||
| 579 | <para> For the 'deptask', 'rdeptask', 'depends', 'rdepends' and 'recrdeptask' flags please see the dependencies section.</para> | 579 | <para> For the 'deptask', 'rdeptask', 'depends', 'rdepends' and 'recrdeptask' flags please see the dependencies section.</para> |
| 580 | </section> | 580 | </section> |
| 581 | 581 | ||
| 582 | |||
| 583 | <section id='parsing-and-execution'> | ||
| 584 | <title>Parsing and Execution</title> | ||
| 585 | |||
| 582 | <section id='parsing-overview'> | 586 | <section id='parsing-overview'> |
| 583 | <title>Parsing</title> | 587 | <title>Parsing Overview</title> |
| 588 | |||
| 589 | <para> | ||
| 590 | BitBake parses configuration files, classes, and | ||
| 591 | <filename>.bb</filename> files. | ||
| 592 | </para> | ||
| 593 | |||
| 594 | <para> | ||
| 595 | The first thing BitBake does is look for the | ||
| 596 | <filename>bitbake.conf</filename> file. | ||
| 597 | This file resides in the within the <filename>conf/</filename> | ||
| 598 | directory. | ||
| 599 | BitBake finds it by examining its <filename>BBPATH</filename> | ||
| 600 | environment variable and looking for the | ||
| 601 | <filename>conf/</filename> directory. | ||
| 602 | </para> | ||
| 603 | |||
| 604 | <para> | ||
| 605 | The <filename>bitbake.conf</filename> file lists other configuration | ||
| 606 | files to include from a <filename>conf/</filename> directory below the | ||
| 607 | directories listed in <filename>BBPATH</filename>. | ||
| 608 | In general, the most important configuration file from a user's perspective | ||
| 609 | is <filename>local.conf</filename>, which contains a user's | ||
| 610 | customized settings for the build environment. | ||
| 611 | Other notable configuration files are the distribution configuration | ||
| 612 | file (set by the <filename>DISTRO</filename> variable) and the machine | ||
| 613 | configuration file (set by the <filename>MACHINE</filename> variable). | ||
| 614 | The <filename>DISTRO</filename> and <filename>MACHINE</filename> BitBake | ||
| 615 | environment variables are both usually set in the | ||
| 616 | <filename>local.conf file</filename>. | ||
| 617 | Valid distribution configuration files are available | ||
| 618 | in the <filename>conf/distro/</filename> directory and valid machine | ||
| 619 | configuration files in the <filename>meta/conf/machine/</filename> | ||
| 620 | directory. | ||
| 621 | Within the <filename>conf/machine/include/</filename> directory are | ||
| 622 | various <filename>tune-*.inc</filename> configuration files | ||
| 623 | that provide common "tuning" settings specific to and shared between | ||
| 624 | particular architectures and machines. | ||
| 625 | </para> | ||
| 626 | |||
| 627 | <para> | ||
| 628 | After parsing of the configuration files, some standard classes are | ||
| 629 | included. | ||
| 630 | The <filename>base.bbclass</filename> file | ||
| 631 | is always included. | ||
| 632 | Other classes that are specified in the configuration using the | ||
| 633 | <filename>INHERIT</filename> variable are also included. | ||
| 634 | Class files are searched for in a classes subdirectory under | ||
| 635 | the paths in <filename>BBPATH</filename> in the same way as | ||
| 636 | configuration files. | ||
| 637 | </para> | ||
| 638 | |||
| 639 | <para> | ||
| 640 | After classes are included, the variable | ||
| 641 | <filename>BBFILES</filename> is set, usually in | ||
| 642 | <filename>local.conf</filename>, and defines the list of | ||
| 643 | places to search for <filename>.bb</filename> files. | ||
| 644 | Adding extra content to <filename>BBFILES</filename> is best | ||
| 645 | achieved through the use of BitBake layers as described in the | ||
| 646 | Layers section below. | ||
| 647 | </para> | ||
| 648 | |||
| 649 | <para> | ||
| 650 | BitBake parses each <filename>.bb</filename> file in | ||
| 651 | <filename>BBFILES</filename> and stores the values of various | ||
| 652 | variables. | ||
| 653 | In summary, for each <filename>.bb</filename> file the configuration | ||
| 654 | plus the base class of variables are set, followed by the data in the | ||
| 655 | <filename>.bb</filename> file itself, followed by any inherit commands | ||
| 656 | that <filename>.bb</filename> file might contain. | ||
| 657 | </para> | ||
| 658 | |||
| 659 | <para> | ||
| 660 | Because parsing <filename>.bb</filename> files is a time consuming | ||
| 661 | process, a cache is kept to speed up subsequent parsing. | ||
| 662 | This cache is invalid if the timestamp of the | ||
| 663 | <filename>.bb</filename> file itself changes, or if the timestamps of | ||
| 664 | any of the include, configuration files or class files on which | ||
| 665 | the <filename>.bb</filename> file depends change. | ||
| 666 | </para> | ||
| 667 | </section> | ||
| 668 | |||
| 584 | <section id='configiguration-files'> | 669 | <section id='configiguration-files'> |
| 585 | <title>Configuration files</title> | 670 | <title>Configuration files</title> |
| 671 | |||
| 586 | <para> | 672 | <para> |
| 587 | The first kind of metadata in BitBake is configuration metadata. | 673 | The first kind of metadata in BitBake is configuration metadata. |
| 588 | This metadata is global, and therefore affects all packages and | 674 | This metadata is global, and therefore affects all packages and |
