зеркало из https://github.com/mozilla/gecko-dev.git
43 строки
1.6 KiB
Makefile
43 строки
1.6 KiB
Makefile
# 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
|