[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Wrong order of preprocessor and compiler flags

From: Evgeny Grin
Subject: Re: Wrong order of preprocessor and compiler flags
Date: Thu, 24 Mar 2022 21:52:54 +0300
User-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101 Thunderbird/91.7.0

On 24.03.2022 17:42, Bob Friesenhahn wrote:
On Thu, 24 Mar 2022, Evgeny Grin wrote:

It's not uncommon to use CFLAGS for macros or for '-I' flags.
I think it's easy to imagine other conflicting situation where the order of used flags is significant.

It may not be uncommon, but it is a usage bug to use CFLAGS for pre-processor options.  Such usages should be corrected.

I can't fully agree. First of all, portable build cannot rely of CPPFLAGS support as POSIX doesn't define it. See Secondly, there are too many situations, where pre-processor flags considered as a part of set of compiler flags, like
Maybe we can try to fix them all, but it looks impractical.

Becides cases where the pre-processor may be used directly (not sure if there are any), it should be considered that CPPFLAGS works for both the C and C++ compilers but CFLAGS is only for the C compiler.

I can see the only one situation, where pre-processor flags could be used directly: it is tests inside "configure". However, the more reliable way to test is to use compile-test instead of pure pre-processor test. So the direct use is really quite limited.

Without a doubt, CPPFLAGS are different in purpose. The question is how to combine them with CFLAGS in proper and portable way.

Usage of CPPFLAGS before CFLAGS looks logical for me, I think autoconf should be fixed.

It does feel more logical.

While it looks more logical, it can be suboptimal and not aligned with other tools.


Attachment: OpenPGP_0x460A317C3326D2AE.asc
Description: OpenPGP public key

Attachment: OpenPGP_signature
Description: OpenPGP digital signature

reply via email to

[Prev in Thread] Current Thread [Next in Thread]