apenwarr-redo/redoconf/rc/default.hpp.precompiled.rc.od
Avery Pennarun 1574b11598 Precompiled headers: supply "-x c-header" or "-x c++-header" if available.
Some older versions of gcc give "all.hpp: linker input file unused
because linking not done" otherwise, because they don't realize files
named *.hpp are headers.

Reported-by: Wayne Scott <wsc9tt@gmail.com>
2019-02-25 13:09:11 +00:00

30 lines
875 B
Text

. ./redoconf.rc
rc_include rc/CXX.rc
base="${1#rc/}"
src="${base%.hpp.precompiled.rc}"
# Check whether the compiler supports forcing
# the language type. Some versions of gcc
# need this in order to precompile headers
# named *.hpp.
x="-x${NL}c++-header"
if (appendln CXXFLAGS "$x" && rc_compile cxx nolink); then
rc_appendln CXXFLAGS_PCH_LANG "$x"
fi
# The existence of the specific gcc warning about
# precompiled headers is a pretty good indicator
# that they are supported in the way we expect.
rc_appendln CXXFLAGS "-Winvalid-pch"
if rc_compile cxx nolink; then
rc_appendln CXXFLAGS_PCH "-include$NL$src.hpp"
rc_appendln CXXFLAGS_PCH_FPIC "-include$NL$src.hpp.fpic"
rc_appendln PRE_CXX_TARGETS "$src.hpp.gch"
rc_appendln PRE_CXX_TARGETS_FPIC "$src.hpp.fpic.gch"
rc_save
else
echo "Precompiled C++ headers not supported." >&2
rc_undo
fi