Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 # The following variables will likely need to be modified, depending on where | 1 # The following variables will likely need to be modified, depending on where |
| 2 # and how you built LLVM & Clang. They can be overridden in a command-line | 2 # and how you built LLVM & Clang. They can be overridden in a command-line |
| 3 # invocation of make, like: | 3 # invocation of make, like: |
| 4 # | 4 # |
| 5 # make LLVM_SRC_PATH=<path> LLVM_BIN_PATH=<path> \ | 5 # make LLVM_SRC_PATH=<path> LLVM_BIN_PATH=<path> \ |
| 6 # LIBCXX_INSTALL_PATH=<path> CLANG_PATH=<path> ... | 6 # LIBCXX_INSTALL_PATH=<path> CLANG_PATH=<path> \ |
| 7 # BINUTILS_BIN_PATH=<path> ... | |
| 7 # | 8 # |
| 8 | 9 |
| 9 # LLVM_SRC_PATH is the path to the root of the checked out source code. This | 10 # LLVM_SRC_PATH is the path to the root of the checked out source code. This |
| 10 # directory should contain the configure script, the include/ and lib/ | 11 # directory should contain the configure script, the include/ and lib/ |
| 11 # directories of LLVM, Clang in tools/clang/, etc. | 12 # directories of LLVM, Clang in tools/clang/, etc. |
| 12 # Alternatively, if you're building vs. a binary download of LLVM, then | 13 # Alternatively, if you're building vs. a binary download of LLVM, then |
| 13 # LLVM_SRC_PATH can point to the main untarred directory. | 14 # LLVM_SRC_PATH can point to the main untarred directory. |
| 14 LLVM_SRC_PATH ?= ../llvm | 15 LLVM_SRC_PATH ?= ../llvm |
| 15 | 16 |
| 16 # LLVM_BIN_PATH is the directory where binaries are placed by the LLVM build | 17 # LLVM_BIN_PATH is the directory where binaries are placed by the LLVM build |
| 17 # process. It should contain the tools like opt, llc and clang. The default | 18 # process. It should contain the tools like clang, clang-format, llc, |
| 18 # reflects a debug build with autotools (configure & make). | 19 # llvm-as, llvm-config, llvm-mc, and pnacl-freeze. It also contains |
| 20 # developer libraries like libLLVMSupport.a. | |
| 21 # The default reflects a debug build with autotools (configure & make). | |
|
Jim Stichnoth
2015/03/05 19:34:18
Sorry, I forgot to note this before. It's not act
jvoung (off chromium)
2015/03/05 20:11:03
Ah right. I'll just leave the bit about autoconf a
| |
| 19 LLVM_BIN_PATH ?= $(shell readlink -e \ | 22 LLVM_BIN_PATH ?= $(shell readlink -e \ |
| 20 ../../out/llvm_x86_64_linux_work/Release+Asserts/bin) | 23 ../../out/llvm_x86_64_linux_work/Release+Asserts/bin) |
| 21 | 24 |
| 22 # LIBCXX_INSTALL_PATH is the directory where libc++ is located. It should | 25 # PNACL_TOOLCHAIN_ROOT is the location of the PNaCl toolchain. |
| 23 # contain header files and corresponding libraries | 26 # This is used as the default root for finding binutils, libcxx, etc. |
| 24 LIBCXX_INSTALL_PATH ?= $(shell readlink -e \ | 27 PNACL_TOOLCHAIN_ROOT = $(shell readlink -e \ |
| 25 ../../../toolchain/linux_x86/pnacl_newlib) | 28 ../../../toolchain/linux_x86/pnacl_newlib) |
| 26 | 29 |
| 27 # CLANG_PATH is the location of the clang compiler to use. | 30 # CLANG_PATH is the location of the clang compiler to use for building |
| 31 # the host binaries. | |
| 28 CLANG_PATH ?= $(shell readlink -e \ | 32 CLANG_PATH ?= $(shell readlink -e \ |
| 29 ../../../../third_party/llvm-build/Release+Asserts/bin) | 33 ../../../../third_party/llvm-build/Release+Asserts/bin) |
| 30 | 34 |
| 31 # The location of binutils tools (e.g., objdump). | 35 # LIBCXX_INSTALL_PATH is the directory where libc++ is located. It should |
| 32 BINUTILS_BIN_PATH ?= $(shell readlink -e \ | 36 # contain header files and corresponding libraries. This is used for |
| 33 » ../../out/binutils_pnacl_x86_64_linux_work/binutils) | 37 # building the host binaries in conjuction with clang. |
| 38 LIBCXX_INSTALL_PATH ?= $(PNACL_TOOLCHAIN_ROOT) | |
| 39 | |
| 40 # The location of binutils tools (e.g., objdump) for testing. | |
| 41 BINUTILS_BIN_PATH ?= $(shell readlink -e $(PNACL_TOOLCHAIN_ROOT)/bin) | |
| 34 | 42 |
| 35 HOST_ARCH ?= x86_64 | 43 HOST_ARCH ?= x86_64 |
| 36 ifeq ($(HOST_ARCH),x86_64) | 44 ifeq ($(HOST_ARCH),x86_64) |
| 37 HOST_FLAGS = -m64 -stdlib=libc++ | 45 HOST_FLAGS = -m64 -stdlib=libc++ |
| 38 else | 46 else |
| 39 ifeq ($(HOST_ARCH),x86) | 47 ifeq ($(HOST_ARCH),x86) |
| 40 HOST_FLAGS = -m32 -stdlib=libc++ | 48 HOST_FLAGS = -m32 -stdlib=libc++ |
| 41 endif | 49 endif |
| 42 endif | 50 endif |
| 43 | 51 |
| (...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 75 | 83 |
| 76 ifdef TSAN | 84 ifdef TSAN |
| 77 OBJDIR := $(OBJDIR)+TSan | 85 OBJDIR := $(OBJDIR)+TSan |
| 78 CXX_EXTRA += -fsanitize=thread | 86 CXX_EXTRA += -fsanitize=thread |
| 79 LD_EXTRA += -fsanitize=thread | 87 LD_EXTRA += -fsanitize=thread |
| 80 endif | 88 endif |
| 81 | 89 |
| 82 $(info -----------------------------------------------) | 90 $(info -----------------------------------------------) |
| 83 $(info Using LLVM_SRC_PATH = $(LLVM_SRC_PATH)) | 91 $(info Using LLVM_SRC_PATH = $(LLVM_SRC_PATH)) |
| 84 $(info Using LLVM_BIN_PATH = $(LLVM_BIN_PATH)) | 92 $(info Using LLVM_BIN_PATH = $(LLVM_BIN_PATH)) |
| 93 $(info Using PNACL_TOOLCHAIN_ROOT = $(PNACL_TOOLCHAIN_ROOT)) | |
| 94 $(info Using CLANG_PATH = $(CLANG_PATH)) | |
| 85 $(info Using LIBCXX_INSTALL_PATH = $(LIBCXX_INSTALL_PATH)) | 95 $(info Using LIBCXX_INSTALL_PATH = $(LIBCXX_INSTALL_PATH)) |
| 86 $(info Using CLANG_PATH = $(CLANG_PATH)) | |
| 87 $(info Using BINUTILS_BIN_PATH = $(BINUTILS_BIN_PATH)) | 96 $(info Using BINUTILS_BIN_PATH = $(BINUTILS_BIN_PATH)) |
| 88 $(info Using HOST_ARCH = $(HOST_ARCH)) | 97 $(info Using HOST_ARCH = $(HOST_ARCH)) |
| 89 $(info -----------------------------------------------) | 98 $(info -----------------------------------------------) |
| 90 | 99 |
| 91 LLVM_CXXFLAGS := `$(LLVM_BIN_PATH)/llvm-config --cxxflags` | 100 LLVM_CXXFLAGS := `$(LLVM_BIN_PATH)/llvm-config --cxxflags` |
| 92 LLVM_LDFLAGS := `$(LLVM_BIN_PATH)/llvm-config --libs` \ | 101 LLVM_LDFLAGS := `$(LLVM_BIN_PATH)/llvm-config --libs` \ |
| 93 `$(LLVM_BIN_PATH)/llvm-config --ldflags` \ | 102 `$(LLVM_BIN_PATH)/llvm-config --ldflags` \ |
| 94 `$(LLVM_BIN_PATH)/llvm-config --system-libs` | 103 `$(LLVM_BIN_PATH)/llvm-config --system-libs` |
| 95 | 104 |
| 96 # It's recommended that CXX matches the compiler you used to build LLVM itself. | 105 # It's recommended that CXX matches the compiler you used to build LLVM itself. |
| (...skipping 96 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 193 RT_OBJ := build/runtime/szrt_native_x8632.o build/runtime/szrt_sb_x8632.o | 202 RT_OBJ := build/runtime/szrt_native_x8632.o build/runtime/szrt_sb_x8632.o |
| 194 | 203 |
| 195 runtime: $(RT_OBJ) | 204 runtime: $(RT_OBJ) |
| 196 | 205 |
| 197 # Use runtime.is.built so that build-runtime.py is invoked only once | 206 # Use runtime.is.built so that build-runtime.py is invoked only once |
| 198 # even in a parallel build. | 207 # even in a parallel build. |
| 199 .INTERMEDIATE: runtime.is.built | 208 .INTERMEDIATE: runtime.is.built |
| 200 $(RT_OBJ): runtime.is.built | 209 $(RT_OBJ): runtime.is.built |
| 201 runtime.is.built: $(RT_SRC) | 210 runtime.is.built: $(RT_SRC) |
| 202 @echo ================ Building Subzero runtime ================ | 211 @echo ================ Building Subzero runtime ================ |
| 203 » ./pydir/build-runtime.py -v | 212 » ./pydir/build-runtime.py -v --pnacl-root $(PNACL_TOOLCHAIN_ROOT) |
| 204 | 213 |
| 205 check-lit: $(OBJDIR)/pnacl-sz make_symlink | 214 check-lit: $(OBJDIR)/pnacl-sz make_symlink |
| 206 LLVM_BIN_PATH=$(LLVM_BIN_PATH) \ | 215 LLVM_BIN_PATH=$(LLVM_BIN_PATH) \ |
| 207 BINUTILS_BIN_PATH=$(BINUTILS_BIN_PATH) \ | 216 BINUTILS_BIN_PATH=$(BINUTILS_BIN_PATH) \ |
| 208 $(LLVM_SRC_PATH)/utils/lit/lit.py -sv tests_lit | 217 $(LLVM_SRC_PATH)/utils/lit/lit.py -sv tests_lit |
| 209 | 218 |
| 210 check-unit: $(OBJDIR)/run_unittests | 219 check-unit: $(OBJDIR)/run_unittests |
| 211 $(OBJDIR)/run_unittests | 220 $(OBJDIR)/run_unittests |
| 212 | 221 |
| 213 ifdef MINIMAL | 222 ifdef MINIMAL |
| (...skipping 20 matching lines...) Expand all Loading... | |
| 234 bloat: make_symlink | 243 bloat: make_symlink |
| 235 nm -C -S -l pnacl-sz | \ | 244 nm -C -S -l pnacl-sz | \ |
| 236 bloat/bloat.py --nm-output=/dev/stdin syms > build/pnacl-sz.bloat.json | 245 bloat/bloat.py --nm-output=/dev/stdin syms > build/pnacl-sz.bloat.json |
| 237 @echo See Subzero size breakdown in bloat/pnacl-sz.bloat.html | 246 @echo See Subzero size breakdown in bloat/pnacl-sz.bloat.html |
| 238 | 247 |
| 239 clean: | 248 clean: |
| 240 rm -rf pnacl-sz *.o $(OBJDIR) build/pnacl-sz.bloat.json | 249 rm -rf pnacl-sz *.o $(OBJDIR) build/pnacl-sz.bloat.json |
| 241 | 250 |
| 242 clean-all: clean | 251 clean-all: clean |
| 243 rm -rf build/ | 252 rm -rf build/ |
| OLD | NEW |