Fix #2284, improve add_cfe_tables function#2299
Merged
Conversation
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.
dmknutsen
approved these changes
Apr 25, 2023
2 tasks
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
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>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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.