Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix #2284, improve add_cfe_tables function #2299

Merged
merged 1 commit into from
Apr 25, 2023

Conversation

jphickey
Copy link
Contributor

Checklist (Please check before submitting)

Describe the contribution
Improves the functionality and adds additional documentation about how this function is intended to work. The improvements add some flexibility and intelligence and should be backward compatible with existing use cases.

The add_cfe_app() function now adds an additional interface target that can be referenced when building tables, and this includes the directory-scope properties from the original app build. Therefore, calls to add_cfe_tables from other (non-app) contexts can get the full set of include directories.

This also makes the target name simpler when adding custom properties, it is simply "${APP_NAME}.table"

Finally, instead of invoking the table tool (elf2cfetbl) directly in the context of the table build rule, it generates a custom makefile rule instead, which is called from the top-level (mission) scope to do the conversions.

Fixes #2284

Testing performed
Build and sanity check table builds of CFS apps in a variety of configurations, with and without mission-provided overrides

Expected behavior changes
Updates to how the table tool is actually invoked

System(s) tested on
Debian

Additional context
This also sets up for an easier migration path to EDS-based tables, as in this context the table building process must be run using a host-native compiler rather than the target compiler (because EDS, not the compiler, defines the binary layout).

Contributor Info - All information REQUIRED for consideration of pull request
Joseph Hickey, Vantage Systems, Inc.

Improves the functionality and adds additional documentation about
how this function is intended to work.  The improvements add some
flexibility and intelligence and should be backward compatible with
existing use cases.

The add_cfe_app() function now adds an additional interface target that
can be referenced when building tables, and this includes the
directory-scope properties from the original app build.  Therefore,
calls to add_cfe_tables from other (non-app) contexts can get the full
set of include directories.

This also makes the target name simpler when adding custom properties,
it is simply "${APP_NAME}.table"

Finally, instead of invoking the table tool (elf2cfetbl) directly in the
context of the table build rule, it generates a custom makefile rule
instead, which is called from the top-level (mission) scope to do the
conversions.
@jphickey jphickey added the CCB:Ready Ready for discussion at the Configuration Control Board (CCB) label Apr 20, 2023
@dzbaker dzbaker requested a review from dmknutsen April 20, 2023 18:36
@dzbaker dzbaker added CCB:Approved Indicates code review and approval by community CCB and removed CCB:Ready Ready for discussion at the Configuration Control Board (CCB) CCB:Provisionally-Approved labels Apr 25, 2023
dzbaker added a commit to nasa/cFS that referenced this pull request Apr 25, 2023
*Combines:*

cFE v7.0.0-rc4+dev276
osal v6.0.0-rc4+dev213
PSP v1.6.0-rc4+dev76

**Includes:**

*cFE*
- nasa/cFE#2299
- nasa/cFE#2300
- nasa/cFE#2298

*osal*
- nasa/osal#1383

*PSP*
- nasa/PSP#391

Co-authored by: Joseph Hickey <jphickey@users.noreply.github.com>
Co-authored by: Dylan Z. Baker <dzbaker@users.noreply.github.com>
@dzbaker dzbaker mentioned this pull request Apr 25, 2023
2 tasks
@dzbaker dzbaker merged commit 67faef0 into nasa:main Apr 25, 2023
dzbaker added a commit to nasa/cFS that referenced this pull request Apr 25, 2023
*Combines:*

cFE v7.0.0-rc4+dev276
osal v6.0.0-rc4+dev213
PSP v1.6.0-rc4+dev76

**Includes:**

*cFE*
- nasa/cFE#2299
- nasa/cFE#2300
- nasa/cFE#2298

*osal*
- nasa/osal#1383

*PSP*
- nasa/PSP#391

Co-authored by: Joseph Hickey <jphickey@users.noreply.github.com>
Co-authored by: Dylan Z. Baker <dzbaker@users.noreply.github.com>
@jphickey jphickey deleted the fix-2284-add_cfe_tbl branch April 28, 2023 17:41
@dmknutsen dmknutsen added this to the Equuleus milestone May 26, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
CCB:Approved Indicates code review and approval by community CCB enhancement Equuleus-rc1
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Incorrect include directories when using add_cfe_tables outside app
4 participants