summaryrefslogtreecommitdiff
path: root/README.md
blob: 346886f53d85d82424b1c7faa687618cc4d48132 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
# RTEMS RSB Deployment Tests

This project proivdes a holds buildset configuration scripts that test
the RSB. It provides:

1. Regression tests for the RSB

2. Examples of buildset configuration files for deployment

3. Waf build script as a template that can be used to create
   deplayment workflows for teams and organisations.


## RTEMS Source Builder

The RTEMS Source Builder or RSB is a package that builds tools, board
support packages (BSP) and third party libraries for RTEMS. The RSB is
a tool that can be embedded into custom workflows to provide a base
for deployment of tools, BSPs and libraries for users, teams and
organisations.

Deplopyment of tools, BSPs and libraries provides a stable common base
for all uses in project. Stable and controlled delivery can be
achieved when combined with a host's package management system.

## Requirements

- Please follow the RTEMS User Guide's Quick Start and Host section to
  get a properly configured host that can build RTEMS tools.

- A copy of the RSB in source. It can be a released tar file for the
  cloned git repo.

## Instructions

The default configuration does not install the built output and to
create a tar file. This is the RSB deployment mode. You can optionally
configure a prefix if you wish to install the built output or use the
build set tar file created by the builds.

### Help

The `waf` build system provides help:

```
./waf --help
```

**Configuration**:

To run a test build you must first run `configure`. Valid configure options are:

1. The `--rsb` option provides the path to the RSB to use when
   running the build set commands.

2. The optional `--prefx` option lets you set an install path for the
   build if the install mode is `install`.

3. The `--install` option enable the install mode. By default the
   builds do not install any output. Use this option with the `--prefix` option
   if you want to use the tools directly.

3. The `--rtems-version` options lets you specify the version of the
   RSB to test.

**Build**:

1. The `list` command will list the build targets.

2. The build `--targets` options lets you specific a build set
   configuration to run. This helps target or select a specific build
   set from the group of builds provided.

### Build All

Configure the build with the RSB you wish to use. Please sure the RSB
is the right version for the version configured:

```
./waf configure --rsb=../rtems-source-builder
```

Build:

```
./waf
```

### Dry Run

A dry-run is useful to check the RSB configurations are usable. Using
the Build All configuration:

```
./waf dry-run
```

### Show

Show the RSB commands for the build sets:

```
./waf show
```

### Prefix

The configure `--prefix` option lets you specify a deployment prefix
for your team or organisation:

```
./waf configure --rsb=../rtems-source-builder --prefix=/opt/project
```

All built sets built will use this prefix and the tar files create in
the build will use this path. Run the builds:

```
./waf
```

Use the `--targets=` option to select a specific build.Installing

### Installing

To install the output provide a prefix to a writable location on your disk:

```
./waf configure --rsb=../rtems-source-builder --prefix=/opt/project --install
```

Each build set will install to the prefix path. Run the builds:

```
./waf
```

Use the `--targets=` option to select a specific build.