Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(71)

Unified Diff: Makefile.standalone

Issue 571973004: Fix makefile to use chrome clang to compile, so we link to LLVM. (Closed) Base URL: https://chromium.googlesource.com/native_client/pnacl-subzero.git@master
Patch Set: Fix issues with patch set 2. Created 6 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: Makefile.standalone
diff --git a/Makefile.standalone b/Makefile.standalone
index 095e8f1dfe728244636b61c777a26ac743d7d32f..5bd0b95ed6e986d82cf8a9b7105dd7579997f6d5 100644
--- a/Makefile.standalone
+++ b/Makefile.standalone
@@ -2,7 +2,8 @@
# and how you built LLVM & Clang. They can be overridden in a command-line
# invocation of make, like:
#
-# make LLVM_SRC_PATH=<path> LLVM_BIN_PATH=<path> ...
+# make LLVM_SRC_PATH=<path> LLVM_BIN_PATH=<path> \
+# LIBCXX_INSTALL_PATH=<path> CLANG_PATH=<path> ...
#
# LLVM_SRC_PATH is the path to the root of the checked out source code. This
@@ -18,18 +19,29 @@ LLVM_SRC_PATH ?= ../llvm
LLVM_BIN_PATH ?= $(shell readlink -e \
../../out/llvm_i686_linux_work/Release+Asserts/bin)
+# LIBCXX_INSTALL_PATH is the directory where libc++ is located. It should
+# contain header files and corresponding libraries
+LIBCXX_INSTALL_PATH ?= $(shell readlink -e \
+ ../../../toolchain/linux_x86/pnacl_newlib/host_x86_32)
+
+# CLANG_PATH is the location of the clang compiler to use.
+CLANG_PATH ?= $(shell readlink -e \
+ ../../../../third_party/llvm-build/Release+Asserts/bin)
+
HOST_ARCH ?= x86
ifeq ($(HOST_ARCH),x86_64)
- HOST_FLAGS = -m64
+ HOST_FLAGS = -m64 -stdlib=libc++
else
ifeq ($(HOST_ARCH),x86)
- HOST_FLAGS = -m32
+ HOST_FLAGS = -m32 -stdlib=libc++
endif
endif
$(info -----------------------------------------------)
$(info Using LLVM_SRC_PATH = $(LLVM_SRC_PATH))
$(info Using LLVM_BIN_PATH = $(LLVM_BIN_PATH))
+$(info Using LIBCXX_INSTALL_PATH = $(LIBCXX_INSTALL_PATH))
+$(info Using CLANG_PATH = $(CLANG_PATH))
$(info Using HOST_ARCH = $(HOST_ARCH))
$(info -----------------------------------------------)
@@ -39,12 +51,12 @@ LLVM_LDFLAGS := `$(LLVM_BIN_PATH)/llvm-config --libs` \
# It's recommended that CXX matches the compiler you used to build LLVM itself.
OPTLEVEL := -O0
-CXX := g++
+CXX := $(CLANG_PATH)/clang++
CXXFLAGS := $(LLVM_CXXFLAGS) -Wall -Wextra -Werror -fno-rtti \
-fno-exceptions $(OPTLEVEL) -g $(HOST_FLAGS) \
- -Wno-error=unused-parameter
-LDFLAGS := $(HOST_FLAGS)
+ -Wno-error=unused-parameter -I$(LIBCXX_INSTALL_PATH)/include/c++/v1
+LDFLAGS := $(HOST_FLAGS) -L$(LIBCXX_INSTALL_PATH)/lib
SRCS= \
IceCfg.cpp \
@@ -74,7 +86,8 @@ all: llvm2ice
.PHONY: all
llvm2ice: $(OBJS)
- $(CXX) $(LDFLAGS) -o $@ $^ $(LLVM_LDFLAGS) -ldl
+ $(CXX) $(LDFLAGS) -o $@ $^ $(LLVM_LDFLAGS) -ldl \
+ -Wl,-rpath=$(abspath $(LIBCXX_INSTALL_PATH)/lib)
# TODO: Be more precise than "*.h" here and elsewhere.
$(OBJS): build/%.o: src/%.cpp src/*.h src/*.def
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698