.PHONY: valgrind
valgrind: ircd
valgrind --leak-check=full --show-leak-kinds=all -s --suppressions=$(srcdir)/libtls.supp ./ircd
+
+.PHONY: pch
+if ENABLE_PCH
+CLEANFILES = common.h.@PCHEXT@
+AM_CPPFLAGS = -Winvalid-pch `test -f common.h.@PCHEXT@ && printf @PCHOPT@ "common.h"`
+common.h.@PCHEXT@: src/common.h
+ $(RM) $@; $(CXXCOMPILE) -x c++-header -o $@ $<
+pch: common.h.@PCHEXT@
+endif
[AS_HELP_STRING([--enable-data-in-prefix], [look for data and lua scripts in prefix])])
AM_CONDITIONAL([DATA_IN_PREFIX], [test "x$enable_data_in_prefix" = xyes])
+AC_ARG_ENABLE([pch],
+ [AS_HELP_STRING([--enable-pch], [enable precompiled headers])])
+AM_CONDITIONAL([ENABLE_PCH], [test "x$enable_pch" = xyes])
+AS_IF([test "x$enable_pch" = xyes],
+ [AS_CASE(["$CXX"], [*clang*],
+ [AC_SUBST([PCHEXT], [pch])
+ AC_SUBST([PCHOPT], ['" -include-pch %s.pch\n"'])],
+ [AC_SUBST([PCHEXT], [gch])
+ AC_SUBST([PCHOPT], ['" -include %s\n"'])])])
+
PKG_CHECK_MODULES(LIBUV, [libuv])
PKG_HAVE_DEFINE_WITH_MODULES(LIBTLS, [libtls])
PKG_HAVE_DEFINE_WITH_MODULES(LUA, [lua5.4])