GCC Newspaper
JUNE 15, 2026
Date
/
Architectures
Components
Topics
News & Policy
Other
build

Build: Set default CPP_FOR_BUILD in all cases.

Ensure CPP_FOR_BUILD is always defaulted, which is important for build systems using autoconf.

The CPP_FOR_BUILD environment variable, used to specify the C preprocessor for building programs, wasn’t being defaulted in all build configurations, particularly when the build and host architectures were the same. This commit ensures that CPP_FOR_BUILD is always defaulted to $CC_FOR_BUILD -E, resolving a potential issue where autoconf would try to infer the preprocessor by trying CC -E.

In Details

This patch modifies configure.ac to ensure CPP_FOR_BUILD is always defaulted. Previously, the default was only set when build != host. Without this, the build system might fall back to inferring CPP using AC_PROG_CC, which tries $CC -E. This change doesn't affect working cross-compilation setups since CPP_FOR_BUILD is already set but fixes native builds without CPP_FOR_BUILD set.

For Context

When building software, the C preprocessor is used to handle include files and conditional compilation. In complex build systems, especially when cross-compiling (building for a different architecture than the one you're building on), specific tools for the build architecture are needed. This commit ensures that the CPP_FOR_BUILD variable, which specifies the C preprocessor for the build architecture, is always properly set during the configuration process. This is mainly important for systems using autoconf and ensures a more robust build process.

Filed Under: buildconfigurepreprocessor