Using LLVM compiler set to build BaseTools in Linux
Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=2842 To use LLVM to build BaseTools, first set the CLANG_BIN environment value, and add "CXX=llvm" to choose LLVM compiler set when using make command. Cc: Bob Feng <bob.c.feng@intel.com> Cc: Liming Gao <liming.gao@intel.com> Signed-off-by: Zhiguang Liu <zhiguang.liu@intel.com> Reviewed-by: Bob Feng <bob.c.feng@intel.com> Reviewed-by: Yuwei Chen<yuwei.chen@intel.com>
This commit is contained in:
committed by
mergify[bot]
parent
b3ee616e67
commit
02539e9008
@@ -38,12 +38,19 @@ endif
|
||||
CYGWIN:=$(findstring CYGWIN, $(shell uname -s))
|
||||
LINUX:=$(findstring Linux, $(shell uname -s))
|
||||
DARWIN:=$(findstring Darwin, $(shell uname -s))
|
||||
|
||||
ifeq ($(CXX), llvm)
|
||||
BUILD_CC ?= $(CLANG_BIN)clang
|
||||
BUILD_CXX ?= $(CLANG_BIN)clang++
|
||||
BUILD_AS ?= $(CLANG_BIN)clang
|
||||
BUILD_AR ?= $(CLANG_BIN)llvm-ar
|
||||
BUILD_LD ?= $(CLANG_BIN)llvm-ld
|
||||
else
|
||||
BUILD_CC ?= gcc
|
||||
BUILD_CXX ?= g++
|
||||
BUILD_AS ?= gcc
|
||||
BUILD_AR ?= ar
|
||||
BUILD_LD ?= ld
|
||||
endif
|
||||
LINKER ?= $(BUILD_CC)
|
||||
ifeq ($(HOST_ARCH), IA32)
|
||||
ARCH_INCLUDE = -I $(MAKEROOT)/Include/Ia32/
|
||||
@@ -72,14 +79,25 @@ ifeq ($(DARWIN),Darwin)
|
||||
BUILD_CFLAGS = -MD -fshort-wchar -fno-strict-aliasing -Wall -Werror \
|
||||
-Wno-deprecated-declarations -Wno-self-assign -Wno-unused-result -nostdlib -g
|
||||
else
|
||||
ifeq ($(CXX), llvm)
|
||||
BUILD_CFLAGS = -MD -fshort-wchar -fno-strict-aliasing -fwrapv \
|
||||
-fno-delete-null-pointer-checks -Wall -Werror \
|
||||
-Wno-deprecated-declarations -Wno-self-assign \
|
||||
-Wno-unused-result -nostdlib -g
|
||||
else
|
||||
BUILD_CFLAGS = -MD -fshort-wchar -fno-strict-aliasing -fwrapv \
|
||||
-fno-delete-null-pointer-checks -Wall -Werror \
|
||||
-Wno-deprecated-declarations -Wno-stringop-truncation -Wno-restrict \
|
||||
-Wno-unused-result -nostdlib -g
|
||||
endif
|
||||
endif
|
||||
ifeq ($(CXX), llvm)
|
||||
BUILD_LFLAGS =
|
||||
BUILD_CXXFLAGS = -Wno-deprecated-register -Wno-unused-result
|
||||
else
|
||||
BUILD_LFLAGS =
|
||||
BUILD_CXXFLAGS = -Wno-unused-result
|
||||
|
||||
endif
|
||||
ifeq ($(HOST_ARCH), IA32)
|
||||
#
|
||||
# Snow Leopard is a 32-bit and 64-bit environment. uname -m returns i386, but gcc defaults
|
||||
|
Reference in New Issue
Block a user