Deos Software Build Anter Base Camp Project
Provide Deos customers examples and the ability to transform source code to Deos compatible executables via OpenArbor.
Description
Current Deos Software Development Kit (DESK) project examples require cygwin's gnu make, the cygwin bash shell, and a handful of cygwin utilities. Because of this, customers wishing to build a Deos software application must install cygwin, and by inference, use Microsoft Windows.
The goal of this project is to migrate the scripts used by customers away from cygwin/unix shell commands and towards the OpenArbor Builder.
Note: This project's focus is on the techniques customers use to build Deos software applications and Board Support Packages (BSP)s within the OpenArbor Integrated Development Environment (IDE), thus matching the current OpenArbor experience. The techniques customers use outside of OpenArbor will be up to them. A future release may attempt to solve this by automatically generating a host platform agnostic build script using GNU Make, ANT, or perhaps SCons.
This project requires the following skills:
- Eclipse/OpenArbor experience
- Deos Software Development Kit maintainer experience
Status
| Milestones | Due Date | Estimated Delivery | Delivered | Percentage Complete |
|---|---|---|---|---|
| [1] Deos Application Build Variations | 15-Mar-09 | 12-Mar-09 | TBD | 81% |
| [2] Kernel and IOI Product Examples | 15-Mar-09 | 23-Feb-09 | 23-Feb-09 | 100% |
[1] Deos Application Build Variations
The customer will be able to use the OpenArbor Builder to create the following variations:
- release
- This type sets transformation tool (compilers, linkers, etc.) options and parameters such that production ready executable code is produced. The settings used by the Deos team to produce production ready code can be used as an example.
- diagnostic
- This results in code that may contain additional features to aid in customer technical support. As an example, building the diagnostic Deos IOI library results in an executable that emits additional diagnostic messages.
- instrumented_release
- This type is identical to release but injects ABC/SCAT instrumentation into the resulting executable code. It does this by first compiling the source code to assembly, injecting the ABC/SCAT instrumentation, and then assembling and linking the result. See ABC/SCAT Overview.
- instrumented_abc_compliant
- This type results in the same steps as used in instrumented_release except that it may use tool options and parameters that ensure the resulting assembly language is compliant with the ABC/SCAT boolean conditionals restriction. As an example, it may be a less agressive compiler optimization setting than used in release. The settings used by the Deos team can be used here as a starting point.
| Task | Dependency | Assignee | Original Estimate | Elapsed | Remaining |
|---|---|---|---|---|---|
| 1.0 Integrate Deos Build Variations into OpenArbor Builder. | None | Lisa | 20 | 85 | 20 |
| Totals | 20 | 55 | 40 | ||
[2] Kernel and IOI Product Examples
Eschew the DESK product, desk-examples component for a new collection of Examples provided by the product itself. Here we formally define Example as a sample program that when built correctly, "just works." Examples provide a sample of working code that demonstrates a particular feature of its product. This is different than a "Lesson" - something that comes with training material and may need to be repaired by the student in order to get it to function.
For this project, several existing lessons will be converted to examples; those that are relevant to the kernel will be located under the kernel product as a new component called "kernel-examples" and the one ioi example will be located under the ioi product as a new component called "ioi-examples". Comments will be added to the .cpp files to describe the example. One central file will describe the process of building, loading and running examples; this will most likely be a "user's guide" plug-in, available from the eclipse help menu.
Initially, all of the legacy build files (i.e., bootstrap & configure) will be included in the new "kernel-examples" and "ioi-examples" components, but these files will not be part of the package for the eclipse environment.
| Task | Dependency | Assignee | Original Estimate | Elapsed | Remaining |
|---|---|---|---|---|---|
| 2.0 Create IOI-Examples component. This includes source code, and appropriate integration tool XML files. | None | Kelly | 4 | 28 | 0 |
| 2.1 Create Kernel-Examples component. This includes source code, and appropriate integration tool XML files. | None | Kelly | 4 | 42 | 0 |
| 2.2 Migrate DESK environment to Command Line Deos Integration Tool (in support of DESK Examples et.al.) | |||||
| 2.2.1 Update Integration Tool to accept search path mechanism to find XML files. PCR:5546 | None | Gary | 16 | 30 | 0 |
| 2.2.2 Update VMWare BSP to add PI XML and BSP IT configuration files. PCR:5556,PCR:5557,PCR:5558,PCR:5559,PCR:5560,PCR:5569,PCR:4392,PCR:5564,PCR:5555 | None | Gary | 8 | 22 | 0 |
| 2.2.3 Update HPCN BSP to add PI XML and BSP IT configuration files. PCR:5572 | None | Gary | 8 | 17 | 0 |
| Totals | 40 | 139 | 0 | ||