diff options
-rw-r--r-- | Makefile.in | 8 | ||||
-rw-r--r-- | config_host.mk.in | 1 | ||||
-rw-r--r-- | configure.ac | 8 |
3 files changed, 14 insertions, 3 deletions
diff --git a/Makefile.in b/Makefile.in index c13deb4f383c..a051625566d7 100644 --- a/Makefile.in +++ b/Makefile.in @@ -60,6 +60,8 @@ export GMAKE_OPTIONS?=-r$(if $(verbose)$(VERBOSE),,s)$(value $(MAKEFLAGS)) PARALLELISM_OPTION := $(if $(filter-out 0,$(PARALLELISM)),-j $(PARALLELISM),) +IWYU_OPTION := $(if $(IWYU_PATH),-k CXX=$(IWYU_PATH),) + # # Partial Build # @@ -67,13 +69,13 @@ define gb_Top_GbuildModuleRules .PHONY: $(1) $(1).all $(1).build $(1).check $(1).clean $(1).showdeliverables $(foreach target,$(gb_Top_MODULE_CHECK_TARGETS),$(1).$(target)) $(1): bootstrap fetch - cd $(SRCDIR)/$(2) && $$(MAKE) $(PARALLELISM_OPTION) $(GMAKE_OPTIONS) + cd $(SRCDIR)/$(2) && $$(MAKE) $(IWYU_OPTION) $(PARALLELISM_OPTION) $(GMAKE_OPTIONS) $(1).build $(1).check $(1).clean $(1).showdeliverables $(foreach target,$(gb_Top_MODULE_CHECK_TARGETS),$(1).$(target)): cd $(SRCDIR)/$(2) && $$(MAKE) $(PARALLELISM_OPTION) $(GMAKE_OPTIONS) $$(patsubst $(1).%,%,$$@) $(1).all: bootstrap fetch - $$(MAKE) $(PARALLELISM_OPTION) $(GMAKE_OPTIONS) -f $(SRCDIR)/Makefile.gbuild $(WORKDIR)/Module/$(1) $(if $(CROSS_COMPILING),,$(WORKDIR)/Module/check/$(1) $(WORKDIR)/Module/slowcheck/$(1)) + $$(MAKE) $(PARALLELISM_OPTION) $(IWYU_OPTION) $(GMAKE_OPTIONS) -f $(SRCDIR)/Makefile.gbuild $(WORKDIR)/Module/$(1) $(if $(CROSS_COMPILING),,$(WORKDIR)/Module/check/$(1) $(WORKDIR)/Module/slowcheck/$(1)) endef @@ -230,7 +232,7 @@ build: bootstrap fetch $(if $(CROSS_COMPILING),cross-toolset) ifneq ($(filter-out WNT MACOSX IOS ANDROID,$(OS)),) mkdir -p $(INSTDIR) && install-gdb-printers -a $(INSTDIR) -c endif - $(MAKE) $(PARALLELISM_OPTION) $(GMAKE_OPTIONS) -f $(SRCDIR)/Makefile.gbuild $(build_goal) + $(MAKE) $(PARALLELISM_OPTION) $(IWYU_OPTION) $(GMAKE_OPTIONS) -f $(SRCDIR)/Makefile.gbuild $(build_goal) ifeq ($(OS),IOS) $(MAKE) $(PARALLELISM_OPTION) $(GMAKE_OPTIONS) ios endif diff --git a/config_host.mk.in b/config_host.mk.in index 19bee1a2496e..98dad1d02259 100644 --- a/config_host.mk.in +++ b/config_host.mk.in @@ -283,6 +283,7 @@ export INSTDIR=@INSTDIR@ export INSTDIR_FOR_BUILD=@INSTDIR_FOR_BUILD@ export INSTROOT=@INSTROOT@ export INSTROOT_FOR_BUILD=@INSTROOT_FOR_BUILD@ +export IWYU_PATH=@IWYU_PATH@ export JAVACISGCJ=@JAVACISGCJ@ export JAVACOMPILER=@JAVACOMPILER@ export JAVADOC=@JAVADOC@ diff --git a/configure.ac b/configure.ac index 84505ba67215..26f7b79de9ce 100644 --- a/configure.ac +++ b/configure.ac @@ -2093,6 +2093,12 @@ AC_ARG_WITH(gssapi, where a good system GSSAPI is available.]), ,) +AC_ARG_WITH(iwyu, + AS_HELP_STRING([--with-iwyu], + [Provide IWYU binary path to check unneeded includes instead of building. + Use only if you are hacking on it.]), +,) + dnl =================================================================== dnl Branding dnl =================================================================== @@ -12503,6 +12509,8 @@ else fi AC_SUBST(PARALLELISM) +IWYU_PATH="$with_iwyu" +AC_SUBST(IWYU_PATH) # # Set up ILIB for MSVC build # |