[Libreoffice-commits] core.git: config_host.mk.in configure.ac Makefile.in
Riccardo Magliocchetti
riccardo.magliocchetti at gmail.com
Wed Nov 5 01:56:22 PST 2014
Makefile.in | 8 +++++---
config_host.mk.in | 1 +
configure.ac | 8 ++++++++
3 files changed, 14 insertions(+), 3 deletions(-)
New commits:
commit c716b3888e7e8150d1c1053ee6550afb56438b1f
Author: Riccardo Magliocchetti <riccardo.magliocchetti at gmail.com>
Date: Tue Nov 4 16:26:45 2014 +0100
Add build support for iwyu
include-what-you-use is a tool to help removing unneeded includes.
Homepage:
https://code.google.com/p/include-what-you-use/
So to use it pass its path to configure like:
./configure --with-iwyu=/usr/bin/include-what-you-use
May be helpful for fdo#42949
Change-Id: Idc185c5181d754b9dfd82fcf6a5ad05953b3cd03
Reviewed-on: https://gerrit.libreoffice.org/12255
Reviewed-by: Michael Meeks <michael.meeks at collabora.com>
Tested-by: Michael Meeks <michael.meeks at collabora.com>
diff --git a/Makefile.in b/Makefile.in
index c13deb4..a051625 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 19bee1a..98dad1d 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 84505ba..26f7b79 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
#
More information about the Libreoffice-commits
mailing list