diff options
Diffstat (limited to 'build/clang-plugin/Makefile.in')
-rw-r--r-- | build/clang-plugin/Makefile.in | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/build/clang-plugin/Makefile.in b/build/clang-plugin/Makefile.in new file mode 100644 index 000000000..ff1e39d1b --- /dev/null +++ b/build/clang-plugin/Makefile.in @@ -0,0 +1,42 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +# LLVM_CXXFLAGS comes with its own optimization flags. +MOZ_OPTIMIZE = + +include $(topsrcdir)/config/config.mk + +# In the current moz.build world, we need to override essentially every +# variable to limit ourselves to what we need to build the clang plugin. +ifeq ($(HOST_OS_ARCH),WINNT) +OS_CXXFLAGS := $(LLVM_CXXFLAGS) -GR- -EHsc +else +OS_CXXFLAGS := $(LLVM_CXXFLAGS) -fno-rtti -fno-exceptions +DSO_LDOPTS := -shared +endif +OS_COMPILE_CXXFLAGS := +OS_LDFLAGS := $(LLVM_LDFLAGS) $(CLANG_LDFLAGS) + +ifeq ($(HOST_OS_ARCH)_$(OS_ARCH),Linux_Darwin) +# Use the host compiler instead of the target compiler. +CXX := $(HOST_CXX) +# expandlibs doesn't know the distinction between host and target toolchains, +# and on cross linux/darwin builds, the options to give to the linker for file +# lists differ between both, so don't use file lists. +EXPAND_MKSHLIB_ARGS := +# Don't pass OSX linker arguments. +MOZ_FIX_LINK_PATHS := +endif + +# Use the default OS X deployment target to enable using the libc++ headers +# correctly. Note that the binary produced here is a host tool and doesn't need +# to be distributed. +MACOSX_DEPLOYMENT_TARGET := + +# Temporarily relax the requirements for libstdc++ symbol versions on static +# analysis plugin in order to use a recent clang by accepting libstdc++ from +# gcc 4.4.0 (GLIBCXX_3.4.11). +ifdef CHECK_STDCXX +CHECK_STDCXX = $(call CHECK_SYMBOLS,$(1),GLIBCXX,libstdc++,v[1] > 3 || (v[1] == 3 && v[2] == 4 && v[3] > 11)) +endif |