Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
None
-
Security Level: Public (Viewable by anyone)
-
None
Description
When two packages specify conflicting build options, it is undefined which one takes effect. Worse, if two packages specify conflicting cflags (e.g., "-DLOG_LEVEL=0" and "-DLOG_LEVEL=1"), gcc reports an error and aborts the build.
We should enforce a well-defined precedence hierarchy. I'm thinking something like this (lowest priority first):
- Library
- BSP
- App
- Target
In the case of conflicting options, newt should discard all but the highest priority. Newt would need to do some simple parsing of cflags to identity conflicts.