Chapter 5. The component repository and working directories

Table of Contents
Component repository
Build tree
Install tree
Application build tree

Each of the various file trees involved in eCos development has a different role.

Component repository

The eCos component repository contains directories for all the packages that are shipped with eCos or provided by third parties.

The component repository should not be modified as part of application development, not even for the purpose of changing configuration options. The Configuration Tool copies all configuration header files to the build tree before it changes any configuration option. When configuring manually, you should always make modifications in the build tree after running pkgconf.tcl (see Chapter 8).

Figure 5-1. Component repository

Purpose

The component respository is the master copy of source code for all system and third party components. It also contains some utilities needed to build the system, such as pkgconf.tcl.

How is it modified?

You modify it by importing new versions of packages from a distribution.

When is it edited manually?

Files in this tree should only be edited manually as determined by the component maintainer.

User applications

User application source code should not go into the component repository.

Examples of files in this hierarchy:

BASE_DIR/doc/ref/ecos-ref/ecos-ref.html

The top level HTML file for the eCos Reference Manual.

BASE_DIR/prebuilt/v1_1/mn10300-stdeval1-ram/tests/kernel/thread_gdb.exe, BASE_DIR/prebuilt/v1_1/tx39-jmr3904-ram/tests/kernel/thread_gdb.exe, BASE_DIR/prebuilt/v1_1/powerpc-cogent-ram/tests/kernel/thread_gdb.exe

Prebuilt tests for the three supported platforms.

BASE_DIR/examples/twothreads.c

One of the example programs.

BASE_DIR/pkgconf.tcl

The Tcl program which is used to create a build tree and the makefile.

BASE_DIR/packages/language/c/libm/v1_1/src/double/portable-api/s_tanh.c

Implementation of the hyperbolic tangent function in the standard math library.

BASE_DIR/pkgconf/makrules.src

A file with make rules, used by the makefile.