2019-02-03 01:14:51 -05:00
|
|
|
. ./redoconf.rc
|
|
|
|
|
rc_include rc/CXX.rc
|
|
|
|
|
|
|
|
|
|
base="${1#rc/}"
|
|
|
|
|
src="${base%.hpp.precompiled.rc}"
|
|
|
|
|
|
2019-02-25 13:09:11 +00:00
|
|
|
# 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
|
|
|
|
|
|
2019-02-03 01:14:51 -05:00
|
|
|
# The existence of the specific gcc warning about
|
|
|
|
|
# precompiled headers is a pretty good indicator
|
|
|
|
|
# that they are supported in the way we expect.
|
2019-02-25 13:09:11 +00:00
|
|
|
rc_appendln CXXFLAGS "-Winvalid-pch"
|
2019-02-03 01:14:51 -05:00
|
|
|
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
|