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

Integration Candidate: Fast Track #444

Merged
merged 6 commits into from
May 5, 2020
Merged

Conversation

astrogeco
Copy link
Contributor

@astrogeco astrogeco commented May 5, 2020

Describe the contribution
Fixes #285

Testing performed
See #443
Bundle CI - https://github.com/nasa/cFS/pull/78/checks?check_run_id=644721591

Expected behavior changes

Changes build system considerably:

  • No more user-maintained osconfig.h file, this is now replaced by a cmake configuration file
  • Breaks up low-level implementation into small, separate subsystem units, with a separate header file for each one.

System(s) tested on
See PR
Bundle CI - Ubuntu:Bionic

Additional context
Part of nasa/cFS#78

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

jphickey and others added 6 commits May 4, 2020 12:38
Use separate source files and CMake-based source selection
to configure OSAL features, rather than using the C preprocessor.

All implementation units now provide a separate header
file for each functional group/subsystem.

This commit covers the OSAL main FSW code and particularly the
"portable" implementation blocks to follow this model.  Includes
minor updates to UT stubs due to header file changes.
Use separate source files and CMake-based source selection
to configure OSAL features, rather than using the C preprocessor.

This commit covers the OSAL coverage test.  This had been using
inclusion of a C file to allow access to static functions/variables.
This updates all UT code to correspond with the FSW code changes.
All "static" helper functions become non-static so unit test can
invoke directly.  Prototype is in a private header, so
the functions are still not exposed in the API.
Permissive mode is required for testing on POSIX when
running as a normal (non-root) user.
Fix #285, Refactor OSAL to avoid inclusion of C files
The "include()" cmake function only read the first file when passed a list.
Adding a foreach loop supports allowing a list of files which is useful
for adding and override/addendum file to a base config.
Definitions within osconfig.h are referenced by doxygen
in other source code files, so this should also include
doxygen-formatted descriptions of each macro defined by
this template file.
@astrogeco astrogeco changed the title Integration candidate Integration Candidate: Fast Track May 5, 2020
@astrogeco astrogeco marked this pull request as ready for review May 5, 2020 14:27
@astrogeco astrogeco merged commit 8600459 into master May 5, 2020
@skliper skliper added this to the 5.1.0 milestone Jun 1, 2020
jphickey pushed a commit to jphickey/osal that referenced this pull request Aug 10, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Replace #include of c files with build system source selection
3 participants