summaryrefslogtreecommitdiff
path: root/mesonbuild/compilers/cpp.py
diff options
context:
space:
mode:
authorGabrĂ­el ArthĂșr PĂ©tursson <gabriel@system.is>2017-08-06 22:02:45 +0000
committerJussi Pakkanen <jpakkane@gmail.com>2017-08-13 21:24:28 +0300
commit0ad448f89009e87fc3f22a85b0af53de5ebf8355 (patch)
treeba6a32fc69acda2f7ddd2259a7c2fb8d90cab7ed /mesonbuild/compilers/cpp.py
parent556966003ebd95c275b8d2c889c1d8ac339f3d36 (diff)
downloadmeson-0ad448f89009e87fc3f22a85b0af53de5ebf8355.tar.gz
Pass -fpch-preprocess to GCC when precompiled headers are used
CCache requires this flag when building with precompiled headers. Without it, the preprocessor fails and CCache fallbacks to running the real compiler. Users still need to set 'sloppiness' to 'pch_defines,time_macros' in their ccache.conf file for CCache to cache builds that use precompiled headers. See the CCache manual for more info: https://ccache.samba.org/manual.html#_precompiled_headers
Diffstat (limited to 'mesonbuild/compilers/cpp.py')
-rw-r--r--mesonbuild/compilers/cpp.py5
1 files changed, 5 insertions, 0 deletions
diff --git a/mesonbuild/compilers/cpp.py b/mesonbuild/compilers/cpp.py
index a933f0e6a..a9093b31e 100644
--- a/mesonbuild/compilers/cpp.py
+++ b/mesonbuild/compilers/cpp.py
@@ -12,6 +12,8 @@
# See the License for the specific language governing permissions and
# limitations under the License.
+import os.path
+
from .. import coredata
from ..mesonlib import version_compare
@@ -126,6 +128,9 @@ class GnuCPPCompiler(GnuCompiler, CPPCompiler):
return options['cpp_winlibs'].value[:]
return []
+ def get_pch_use_args(self, pch_dir, header):
+ return ['-fpch-preprocess', '-include', os.path.split(header)[-1]]
+
class IntelCPPCompiler(IntelCompiler, CPPCompiler):
def __init__(self, exelist, version, icc_type, is_cross, exe_wrap):