edgexfoundry / edgexfoundry/device-sdk-c

Build system flags for C services in support of Open SFF application

Open
#418 1 comment 0 reactions 0 assignees View on GitHub
enhancement
Dominant language
C
Stars
45
Forks
55
PR merge metrics
No merged PRs in 30d

Description

# 🚀 Feature Request
support / honor relevant compiler and linker env vars passed in per OpenSFF application.

### Relevant Package [**REQUIRED**]
C SDK and C based device services

### Description [**REQUIRED**]
Per Open SFF application:

Build systems for native binaries MUST honor the relevant compiler and linker (environment) variables passed in to them (e.g., CC, CFLAGS, CXX, CXXFLAGS, and LDFLAGS) and pass them to compiler and linker invocations. A build system MAY extend them with additional flags; it MUST NOT simply replace provided values with its own. If no native binaries are being generated, select "not applicable" (N/A). [build_standard_variables]
It should be easy to enable special build features like Address Sanitizer (ASAN), or to comply with distribution hardening best practices (e.g., by easily turning on compiler flags to do so).

The build and installation system SHOULD preserve debugging information if they are requested in the relevant flags (e.g., "install -s" is not used). If there is no build or installation system (e.g., typical JavaScript libraries), select "not applicable" (N/A). [build_preserve_debug]
### Describe the solution you'd like

If you have a solution in mind, please describe it.
Per email response from @iain-anderson
As far as the SDK is concerned, the [build_standard_variables] is fine. It also explicitly builds debug / non-debug versions so I think we're okay for [build_preserve_debug] also. Will have to check the services themselves but they shouldn't be a problem to fix if we don't do the right thing yet

### Describe alternatives you've considered
Have you considered any alternative solutions or workarounds?

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.