summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--compilerplugins/Makefile-clang.mk8
-rw-r--r--config_host.mk.in3
-rw-r--r--configure.ac15
3 files changed, 17 insertions, 9 deletions
diff --git a/compilerplugins/Makefile-clang.mk b/compilerplugins/Makefile-clang.mk
index 9b24df07ab6b..4d405e9bc5d2 100644
--- a/compilerplugins/Makefile-clang.mk
+++ b/compilerplugins/Makefile-clang.mk
@@ -22,10 +22,6 @@ CLANGSRC= \
# Compile flags ('make CLANGCXXFLAGS=-g' if you need to debug the plugin)
CLANGCXXFLAGS=-O2 -Wall -g
-# The prefix where Clang resides, override to where Clang resides if using a source build.
-CLANGDIR=/usr
-# The build directory (different from CLANGDIR if using a Clang out-of-source build)
-CLANGBUILD=/usr
# The uninteresting rest.
@@ -56,7 +52,7 @@ CLANGOBJS=
define clangbuildsrc
$(3): $(2) $(SRCDIR)/compilerplugins/Makefile-clang.mk $(CLANGOUTDIR)/clang-timestamp
@echo [build CXX] $(subst $(SRCDIR)/,,$(2))
- $(CXX) $(CLANGPLUGIN_CPPFLAGS) $(CLANGCXXFLAGS) $(CLANGDEFS) $(CLANGINCLUDES) -DSRCDIR=$(SRCDIR) $(2) -fPIC -c -o $(3) -MMD -MT $(3) -MP -MF $(CLANGOUTDIR)/$(1).d
+ $(CXX) $(CLANGCXXFLAGS) $(CLANGDEFS) $(CLANGINCLUDES) -DSRCDIR=$(SRCDIR) $(2) -fPIC -c -o $(3) -MMD -MT $(3) -MP -MF $(CLANGOUTDIR)/$(1).d
-include $(CLANGOUTDIR)/$(1).d
@@ -71,7 +67,7 @@ $(CLANGOUTDIR)/plugin.so: $(CLANGOBJS)
$(CXX) -shared $(CLANGOBJS) -o $@
# Clang most probably doesn't maintain binary compatibility, so rebuild when clang changes.
-$(CLANGOUTDIR)/clang-timestamp: $(CLANGBUILD)/bin/clang
+$(CLANGOUTDIR)/clang-timestamp: $(CLANGDIR)/bin/clang
touch $@ -r $^
# vim: set noet sw=4 ts=4:
diff --git a/config_host.mk.in b/config_host.mk.in
index 12a075265996..b1406004cd15 100644
--- a/config_host.mk.in
+++ b/config_host.mk.in
@@ -53,7 +53,8 @@ export CDR_CFLAGS=$(gb_SPACE)@CDR_CFLAGS@
export CDR_LIBS=$(gb_SPACE)@CDR_LIBS@
@x_CFLAGS@ export CFLAGS=@CFLAGS@
export CHECK_PARALLELISM?=@CHECK_PARALLELISM@
-export CLANGPLUGIN_CPPFLAGS=@CLANGPLUGIN_CPPFLAGS@
+export CLANGBUILD=@CLANGBUILD@
+export CLANGDIR=@CLANGDIR@
export CLUCENE_CFLAGS=$(gb_SPACE)@CLUCENE_CFLAGS@
export CLUCENE_LIBS=$(gb_SPACE)@CLUCENE_LIBS@
export CMIS_CFLAGS=$(gb_SPACE)@CMIS_CFLAGS@
diff --git a/configure.ac b/configure.ac
index 8186eb626f76..d0178d4c797c 100644
--- a/configure.ac
+++ b/configure.ac
@@ -5296,9 +5296,19 @@ if test "$COM_GCC_IS_CLANG" = "TRUE"; then
compiler_plugins=no
fi
if test "$compiler_plugins" != "no"; then
+ dnl The prefix where Clang resides, override to where Clang resides if
+ dnl using a source build:
+ if test -z "$CLANGDIR"; then
+ CLANGDIR=/usr
+ fi
+ dnl The build directory (different from CLANGDIR if using a Clang out-
+ dnl of-source build):
+ if test -z "$CLANGBUILD"; then
+ CLANGBUILD=/usr
+ fi
AC_LANG_PUSH([C++])
save_CPPFLAGS=$CPPFLAGS
- CPPFLAGS="$CPPFLAGS $CLANGPLUGIN_CPPFLAGS -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS"
+ CPPFLAGS="$CPPFLAGS -I$CLANGDIR/include -I$CLANGDIR/tools/clang/include -I$CLANGBUILD/include -I$CLANGBUILD/tools/clang/include -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS"
AC_CHECK_HEADER(clang/AST/RecursiveASTVisitor.h,
[COMPILER_PLUGINS=TRUE],
[
@@ -5318,7 +5328,8 @@ else
fi
fi
AC_SUBST(COMPILER_PLUGINS)
-AC_SUBST(CLANGPLUGIN_CPPFLAGS)
+AC_SUBST(CLANGDIR)
+AC_SUBST(CLANGBUILD)
dnl ===================================================================
dnl Set the MinGW sys-root