summaryrefslogtreecommitdiff
path: root/compilerplugins/Makefile-clang.mk
diff options
context:
space:
mode:
authorStephan Bergmann <sbergman@redhat.com>2017-12-05 10:21:53 +0100
committerStephan Bergmann <sbergman@redhat.com>2017-12-06 07:26:14 +0100
commite754d0931ca75403647cc16100edd98e7e5ceadb (patch)
treec47c4b87494d17a76b74022e57c066e74a13909d /compilerplugins/Makefile-clang.mk
parent421d4bc13017988f1a1311a92b93177cf2bbc306 (diff)
Remove CXXFLAGS_CXX11 from Clang plugin compilation
CXXFLAGS_CXX11 is for the compiler used to compile LO proper. The plugin needs to be compiled in a way compatible with compiling Clang, and the compiler and any relevant flags can be controlled with COMPILER_PLUGINS_CXX. (And at least on macOS when compiling LO against a locally-built recent Clang trunk, CXXFLAGS_CXX11 will now contain -std=gnu++17, but COMPILER_PLUGINS_CXX can still point at Apple's Xcode clang++, which does not understand -std=gnu++17.) Also, if COMPILER_PLUGINS_CXX is not set, simply default it to g++ instead of trying to construct an acceptable CLANGCXX value from CXX (which would be Clang). (The problem with using Clang without CXXFLAGS_CXX11 is that Clang, unlike GCC, typically defaults to C++03, but building compilerplugins requires C++11 at least. That would cause e.g. the Gerrit/Jenkins linux_clang_dbgutil_64 builds to fail---but which also needs COMPILER_PLUGINS_CXX to be explicitly set to "g++ -std=c++11" as GCC on those machines is still 4.8.5 defaulting to C++03.) Change-Id: Id4ee4e54fa871cb6e621069cd050ae5b31922b34 Reviewed-on: https://gerrit.libreoffice.org/45856 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
Diffstat (limited to 'compilerplugins/Makefile-clang.mk')
-rw-r--r--compilerplugins/Makefile-clang.mk16
1 files changed, 5 insertions, 11 deletions
diff --git a/compilerplugins/Makefile-clang.mk b/compilerplugins/Makefile-clang.mk
index 89a798ebd34a..aad53a90ca5c 100644
--- a/compilerplugins/Makefile-clang.mk
+++ b/compilerplugins/Makefile-clang.mk
@@ -18,12 +18,6 @@ CLANG_DL_EXT = .so
CLANG_EXE_EXT =
endif
-ifeq ($(COMPILER_PLUGINS_CXX),)
-CLANGCXX=$(filter-out -m32 -m64 -fsanitize%,$(CXX))
-else
-CLANGCXX=$(COMPILER_PLUGINS_CXX)
-endif
-
# Compile flags ('make CLANGCXXFLAGS=-g' if you need to debug the plugin); you
# may occasionally want to override these:
ifeq ($(OS),WNT)
@@ -113,8 +107,8 @@ ifeq ($(OS),WNT)
define clangbuildsrc
$(3): $(2) $(SRCDIR)/compilerplugins/Makefile-clang.mk $(CLANGOUTDIR)/clang-timestamp
@echo [build CXX] $(subst $(SRCDIR)/,,$(2))
- $(QUIET)$(CLANGCXX) $(CLANGCXXFLAGS) $(CLANGWERROR) $(CLANGDEFS) \
- $(CLANGINCLUDES) /I$(BUILDDIR)/config_host $(2) $(CXXFLAGS_CXX11) /MD \
+ $(QUIET)$(COMPILER_PLUGINS_CXX) $(CLANGCXXFLAGS) $(CLANGWERROR) $(CLANGDEFS) \
+ $(CLANGINCLUDES) /I$(BUILDDIR)/config_host $(2) /MD \
/c /Fo: $(3)
-include $(CLANGOUTDIR)/$(1).d #TODO
@@ -128,7 +122,7 @@ else
define clangbuildsrc
$(3): $(2) $(SRCDIR)/compilerplugins/Makefile-clang.mk $(CLANGOUTDIR)/clang-timestamp
@echo [build CXX] $(subst $(SRCDIR)/,,$(2))
- $(QUIET)$(CLANGCXX) $(CLANGCXXFLAGS) $(CLANGWERROR) $(CLANGDEFS) $(CLANGINCLUDES) -I$(BUILDDIR)/config_host $(2) -fPIC $(CXXFLAGS_CXX11) -c -o $(3) -MMD -MT $(3) -MP -MF $(CLANGOUTDIR)/$(1).d
+ $(QUIET)$(COMPILER_PLUGINS_CXX) $(CLANGCXXFLAGS) $(CLANGWERROR) $(CLANGDEFS) $(CLANGINCLUDES) -I$(BUILDDIR)/config_host $(2) -fPIC -c -o $(3) -MMD -MT $(3) -MP -MF $(CLANGOUTDIR)/$(1).d
-include $(CLANGOUTDIR)/$(1).d
@@ -143,10 +137,10 @@ $(foreach src, $(CLANGSRC), $(eval $(call clangbuildsrc,$(src),$(CLANGINDIR)/$(s
$(CLANGOUTDIR)/plugin$(CLANG_DL_EXT): $(CLANGOBJS)
@echo [build LNK] $(subst $(BUILDDIR)/,,$@)
ifeq ($(OS),WNT)
- $(QUIET)$(CLANGCXX) /LD $(CLANGOBJS) /Fe: $@ $(CLANGLIBDIR)/clang.lib \
+ $(QUIET)$(COMPILER_PLUGINS_CXX) /LD $(CLANGOBJS) /Fe: $@ $(CLANGLIBDIR)/clang.lib \
mincore.lib version.lib /link $(COMPILER_PLUGINS_CXX_LINKFLAGS)
else
- $(QUIET)$(CLANGCXX) -shared $(CLANGOBJS) -o $@ \
+ $(QUIET)$(COMPILER_PLUGINS_CXX) -shared $(CLANGOBJS) -o $@ \
$(if $(filter MACOSX,$(OS)),-Wl$(CLANG_COMMA)-flat_namespace \
-Wl$(CLANG_COMMA)-undefined -Wl$(CLANG_COMMA)suppress)
endif