URL
https://opencores.org/ocsvn/or1k/or1k/trunk
Subversion Repositories or1k
[/] [or1k/] [trunk/] [ecos-2.0/] [doc/] [html/] [user-guide/] [creating-build-tree.html] - Rev 1765
Compare with Previous | Blame | View Log
<!-- Copyright (C) 2003 Red Hat, Inc. --> <!-- This material may be distributed only subject to the terms --> <!-- and conditions set forth in the Open Publication License, v1.0 --> <!-- or later (the latest version is presently available at --> <!-- http://www.opencontent.org/openpub/). --> <!-- Distribution of the work or derivative of the work in any --> <!-- standard (paper) book form is prohibited unless prior --> <!-- permission is obtained from the copyright holder. --> <HTML ><HEAD ><TITLE >Creating the Build Tree</TITLE ><meta name="MSSmartTagsPreventParsing" content="TRUE"> <META NAME="GENERATOR" CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+ "><LINK REL="HOME" TITLE="eCos User Guide" HREF="ecos-user-guide.html"><LINK REL="UP" TITLE="Manual Configuration" HREF="manual-configuration.html"><LINK REL="PREVIOUS" TITLE="Manual Configuration" HREF="manual-configuration.html"><LINK REL="NEXT" TITLE="Conflicts and constraints" HREF="conflicts-and-constraints.html"></HEAD ><BODY CLASS="SECT1" BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#0000FF" VLINK="#840084" ALINK="#0000FF" ><DIV CLASS="NAVHEADER" ><TABLE SUMMARY="Header navigation table" WIDTH="100%" BORDER="0" CELLPADDING="0" CELLSPACING="0" ><TR ><TH COLSPAN="3" ALIGN="center" >eCos User Guide</TH ></TR ><TR ><TD WIDTH="10%" ALIGN="left" VALIGN="bottom" ><A HREF="manual-configuration.html" ACCESSKEY="P" >Prev</A ></TD ><TD WIDTH="80%" ALIGN="center" VALIGN="bottom" >Chapter 28. Manual Configuration</TD ><TD WIDTH="10%" ALIGN="right" VALIGN="bottom" ><A HREF="conflicts-and-constraints.html" ACCESSKEY="N" >Next</A ></TD ></TR ></TABLE ><HR ALIGN="LEFT" WIDTH="100%"></DIV ><DIV CLASS="SECT1" ><H1 CLASS="SECT1" ><A NAME="CREATING-BUILD-TREE">Creating the Build Tree</H1 ><P >Generating a build tree is a non-trivial operation and should not be attempted manually. Instead, <SPAN CLASS="PRODUCTNAME" >eCos</SPAN > is shipped with a tool called <B CLASS="COMMAND" >ecosconfig</B > that should be used to create a build tree.</P ><P >Usually <B CLASS="COMMAND" >ecosconfig</B > will be run inside the build tree itself. If you are creating a new build tree then typically you will create a new empty directory using the <B CLASS="COMMAND" >mkdir</B > command, <B CLASS="COMMAND" >cd</B > into that directory, and then invoke <B CLASS="COMMAND" >ecosconfig</B > to create a configuration. By default, the configuration is stored in a file <TT CLASS="FILENAME" >ecos.ecc</TT > in the current directory. The configuration may be modified by editing this file directly. <B CLASS="COMMAND" >ecosconfig</B > itself deals with a number of coarse-grained configuration options such as the target platform and the packages that should be used.</P ><P >The <B CLASS="COMMAND" >ecosconfig</B > tool is also used subsequently to generate a build tree for a configuration. Once a build tree exists, it is possible to run <B CLASS="COMMAND" >ecosconfig</B > again inside the same build tree. This will be necessary if your wish to change some of the configuration options.</P ><P ><B CLASS="COMMAND" >ecosconfig</B > does not generate the top-level directory of the build tree; you must do this yourself. </P ><TABLE BORDER="5" BGCOLOR="#E0E0F0" WIDTH="70%" ><TR ><TD ><PRE CLASS="SCREEN" >$ mkdir ecos-work $ cd ecos-work</PRE ></TD ></TR ></TABLE ><P >The next step is to run <B CLASS="COMMAND" >ecosconfig</B >: </P ><TABLE BORDER="5" BGCOLOR="#E0E0F0" WIDTH="70%" ><TR ><TD ><PRE CLASS="SCREEN" >$ ecosconfig <qualifiers> <command></PRE ></TD ></TR ></TABLE ><DIV CLASS="SECT2" ><H2 CLASS="SECT2" ><A NAME="AEN2416">ecosconfig qualifiers</H2 ><P >The available command line qualifiers for <B CLASS="COMMAND" >ecosconfig</B > are as follows. Multiple qualifiers may be used on the command line: </P ><P ></P ><DIV CLASS="VARIABLELIST" ><DL ><DT ><TT CLASS="OPTION" >--help</TT ></DT ><DD ><P >Provides basic usage guidelines for the available commands and qualifiers.</P ></DD ><DT ><TT CLASS="OPTION" >--config=<file></TT ></DT ><DD ><P >Specifies an <SPAN CLASS="PRODUCTNAME" >eCos</SPAN > configuration save file for use by the tool. By default, the file <TT CLASS="FILENAME" >ecos.ecc</TT > in the current directory is used. Developers may prefer to use a common location for all their <SPAN CLASS="PRODUCTNAME" >eCos</SPAN > configurations rather than keep the configuration information in the base of the build tree.</P ></DD ><DT ><TT CLASS="OPTION" >--prefix=<dir></TT ></DT ><DD ><P >Specifies an alternative location for the install tree. By default, the install tree resides inside the <TT CLASS="FILENAME" >install</TT > directory in the build tree. Developers may prefer to locate the build tree in a temporary file hierarchy but keep the install tree in a more permanent location.</P ></DD ><DT ><TT CLASS="OPTION" >--srcdir=<dir></TT ></DT ><DD ><P >Specifies the location of the component repository. By default, the tool uses the location specified in the <TT CLASS="REPLACEABLE" ><I >ECOS_REPOSITORY</I ></TT > environment variable. Developers may prefer to use of this qualifier if they are working with more than one repository.</P ></DD ><DT ><TT CLASS="OPTION" >--no-resolve</TT ></DT ><DD ><P >Disables the implicit resolution of conflicts while manipulating the configuration data. developers may prefer to resolve conflicts by editing the <SPAN CLASS="PRODUCTNAME" >eCos</SPAN > configuration save file manually.</P ></DD ><DT ><TT CLASS="OPTION" >--ignore-errors</TT >, <TT CLASS="OPTION" >-i</TT ></DT ><DD ><P >By default, ecosconfig will exit with an error code if the current configuration contains any conflicts, and it is not possible to generate or update a build tree for such configurations. This qualifier causes ecosconfig to ignore such problems, and hence it is possible to generate a build tree even if there are still conflicts. Of course, there are no guarantees that the resulting system will actually do anything.</P ></DD ><DT ><TT CLASS="OPTION" >--verbose</TT >, <TT CLASS="OPTION" >-v</TT ></DT ><DD ><P >Display more information.</P ></DD ><DT ><TT CLASS="OPTION" >--quiet</TT >, <TT CLASS="OPTION" >-q</TT ></DT ><DD ><P >Display less information.</P ></DD ></DL ></DIV ><P >The <TT CLASS="OPTION" >--config</TT >, <TT CLASS="OPTION" >--prefix</TT > and <TT CLASS="OPTION" >--srcdir</TT > qualifiers can also be written with two arguments, for example:</P ><TABLE BORDER="5" BGCOLOR="#E0E0F0" WIDTH="70%" ><TR ><TD ><PRE CLASS="SCREEN" >ecosconfig --srcdir <TT CLASS="REPLACEABLE" ><I ><dir></I ></TT > ...</PRE ></TD ></TR ></TABLE ><P >This simplifies filename completion with some shells.</P ></DIV ><DIV CLASS="SECT2" ><H2 CLASS="SECT2" ><A NAME="AEN2480">ecosconfig commands</H2 ><P >The available commands for <B CLASS="COMMAND" >ecosconfig</B > are as follows:</P ><P ></P ><DIV CLASS="VARIABLELIST" ><DL ><DT ><B CLASS="COMMAND" >list</B ></DT ><DD ><P >Lists the available packages, targets and templates as installed in the <SPAN CLASS="PRODUCTNAME" >eCos</SPAN > repository. Aliases and package versions are also reported.</P ></DD ><DT ><B CLASS="COMMAND" >new <target> [<template> [<version>]]</B ></DT ><DD ><P >Creates a new <SPAN CLASS="PRODUCTNAME" >eCos</SPAN > configuration for the specified target hardware and saves it. A software template may also be specified. By default, the template named ‘default’ is used. If the template version is not specified, the latest version is used.</P ></DD ><DT ><B CLASS="COMMAND" >target <target></B ></DT ><DD ><P >Changes the target hardware selection for the <SPAN CLASS="PRODUCTNAME" >eCos</SPAN > configuration. This has the effect of unloading packages supporting the target selected previously and loading the packages which support the new hardware. This command will be used typically when switching between a simulator and real hardware.</P ></DD ><DT ><B CLASS="COMMAND" >template <template> [<version>]</B ></DT ><DD ><P >Changes the template selection for the <SPAN CLASS="PRODUCTNAME" >eCos</SPAN > configuration. This has the effect of unloading packages specified by the template selected previously and loading the packages specified by the new template. By default, the latest version of the specified template is used.</P ></DD ><DT ><B CLASS="COMMAND" >remove <packages></B ></DT ><DD ><P >Removes the specified packages from the <SPAN CLASS="PRODUCTNAME" >eCos</SPAN > configuration. This command will be used typically when the template on which a configuration is based contains packages which are not required.</P ></DD ><DT ><B CLASS="COMMAND" >add <packages></B ></DT ><DD ><P >Adds the specified packages to the <SPAN CLASS="PRODUCTNAME" >eCos</SPAN > configuration. This command will be used typically when the template on which a configuration is based does not contain all the packages which are required.For example, add-on packages provided by third parties will not be known to the standard templates, so they will have to be added explicitly. </P ></DD ><DT ><B CLASS="COMMAND" >version <version> <packages></B ></DT ><DD ><P >Selects the specified version of a number of packages in the <SPAN CLASS="PRODUCTNAME" >eCos</SPAN > configuration. By default, the most recent version of each package is used. This command will be used typically when an older version of a package is required.</P ></DD ><DT ><B CLASS="COMMAND" >check</B ></DT ><DD ><P >Presents the following information concerning the current configuration:</P ><P ></P ><OL TYPE="1" ><LI ><P >the selected target hardware</P ></LI ><LI ><P >the selected template</P ></LI ><LI ><P >additional packages</P ></LI ><LI ><P >removed packages</P ></LI ><LI ><P >the selected version of packages where this is not the most recent version</P ></LI ><LI ><P >conflicts in the current configuration</P ></LI ></OL ></DD ><DT ><B CLASS="COMMAND" >resolve</B ></DT ><DD ><P >Resolves conflicts identified in the current <SPAN CLASS="PRODUCTNAME" >eCos</SPAN > configuration by invoking an inference capability. Resolved conflicts are reported, but not all conflicts may be resolvable. This command will be used typically following manual editing of the configuration.</P ></DD ><DT ><B CLASS="COMMAND" >export <file></B ></DT ><DD ><P >Exports a minimal <SPAN CLASS="PRODUCTNAME" >eCos</SPAN > configuration save file with the specified name. This file contains only those options which do not have their default value. Such files are used typically to transfer option values from one configuration to another.</P ></DD ><DT ><B CLASS="COMMAND" >import <file></B ></DT ><DD ><P >Imports a minimal <SPAN CLASS="PRODUCTNAME" >eCos</SPAN > configuration save file with the specified name. The values of those options specified in the file are applied to the current configuration.</P ></DD ><DT ><B CLASS="COMMAND" >tree</B ></DT ><DD ><P >Generates a build tree based on the current <SPAN CLASS="PRODUCTNAME" >eCos</SPAN > configuration. This command will be used typically just before building <SPAN CLASS="PRODUCTNAME" >eCos</SPAN >.Normally a build tree can only be generated if if the configuration has no unresolved conflicts, but <TT CLASS="OPTION" >--ignore-errors</TT > can be used to override this.</P ></DD ></DL ></DIV ></DIV ></DIV ><DIV CLASS="NAVFOOTER" ><HR ALIGN="LEFT" WIDTH="100%"><TABLE SUMMARY="Footer navigation table" WIDTH="100%" BORDER="0" CELLPADDING="0" CELLSPACING="0" ><TR ><TD WIDTH="33%" ALIGN="left" VALIGN="top" ><A HREF="manual-configuration.html" ACCESSKEY="P" >Prev</A ></TD ><TD WIDTH="34%" ALIGN="center" VALIGN="top" ><A HREF="ecos-user-guide.html" ACCESSKEY="H" >Home</A ></TD ><TD WIDTH="33%" ALIGN="right" VALIGN="top" ><A HREF="conflicts-and-constraints.html" ACCESSKEY="N" >Next</A ></TD ></TR ><TR ><TD WIDTH="33%" ALIGN="left" VALIGN="top" >Manual Configuration</TD ><TD WIDTH="34%" ALIGN="center" VALIGN="top" ><A HREF="manual-configuration.html" ACCESSKEY="U" >Up</A ></TD ><TD WIDTH="33%" ALIGN="right" VALIGN="top" >Conflicts and constraints</TD ></TR ></TABLE ></DIV ></BODY ></HTML >