zephyriot / zephyr-issues

0 stars 0 forks source link

C++ compiler flags are not managed correctly #446

Open nashif opened 8 years ago

nashif commented 8 years ago

Reported by Andrew Boie:

In the toplevel Makefile starting around line 600 there are a bunch of KBUILD_CFLAGS that are not propagated to KBUILD_CXXFLAGS. As an example, we never set compiler optimization level when building C++ files.

It's probable that there are a lot of other places in the build where flags are being passed to the C compiler but not C++, grep for KBUILD_CFLAGS to see what I mean.

We really need a better way in the build to express compiler flags that apply equally to C and C++, I don't feel duplicating KBUILD_CFLAGS assignments with KBUILD_CXXFLAGS assignments is a scalable solution for this.

(Imported from Jira ZEP-458)

nashif commented 8 years ago

by Peter Mitsis:

I wonder ... what if we were to introduce a KBUILD_C_CPP_FLAGS variable (or some similar name) for flags/options that are to be common when building for either C or C++. Then, the xxxCFLAGS and xxxCPPFLAGS/CXXFLAGS (I am unsure of the correct names off hand) could be used for ones that are specific to C or C++ respectively. Do you think that would scale any better?

nashif commented 8 years ago

by Andrew Boie:

I don't have a strong opinion on how this gets solved but that seems reasonable.

nashif commented 8 years ago

by Mark Linkmeyer:

Peter Mitsis , what's the current status on fixing this bug?

nashif commented 7 years ago

by Peter Mitsis:

I am migrating off Zephyr to a different group beginning Monday, so I will not be able act on this issue.

nashif commented 7 years ago

by Mark Linkmeyer:

Fixing incorrect priority

nashif commented 7 years ago

by Kuo-Lang Tseng:

Changed to To Do as previous patch was abandoned: https://gerrit.zephyrproject.org/r/#/c/7327/

nashif commented 7 years ago

by Kuo-Lang Tseng:

Changed Assignee to "Unassigned" as Juan is working on higher priority one (GH-1646) and not likely to get to this one, given this is low priority one.

nashif commented 7 years ago

by Michał Fita:

{{CPPFLAGS}} are traditionally {color:#14892c}p{color}re{color:#14892c}p{color}rocessor flags, while C++ are traditionally {{CXXFLAGS}}. {{CXX}}, not {{CPP}} is a C++ compiler.