15a7fb69ac21028bc829181d9d93cd7fe4c941440Devang Patel##===- tools/lto/Makefile ----------------------------------*- Makefile -*-===## 277595fc35642f990bfc5ad05b8e68d4056695ecaNick Kledzik# 377595fc35642f990bfc5ad05b8e68d4056695ecaNick Kledzik# The LLVM Compiler Infrastructure 477595fc35642f990bfc5ad05b8e68d4056695ecaNick Kledzik# 577595fc35642f990bfc5ad05b8e68d4056695ecaNick Kledzik# This file is distributed under the University of Illinois Open Source 677595fc35642f990bfc5ad05b8e68d4056695ecaNick Kledzik# License. See LICENSE.TXT for details. 777595fc35642f990bfc5ad05b8e68d4056695ecaNick Kledzik# 877595fc35642f990bfc5ad05b8e68d4056695ecaNick Kledzik##===----------------------------------------------------------------------===## 977595fc35642f990bfc5ad05b8e68d4056695ecaNick Kledzik 108c39c9647da4f375e4f89bd417d86f5c3ff6dfa5Daniel DunbarLEVEL := ../.. 118c39c9647da4f375e4f89bd417d86f5c3ff6dfa5Daniel DunbarLIBRARYNAME := LTO 1236b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen HinesLINK_COMPONENTS := all-targets core lto mc mcdisassembler support 138c39c9647da4f375e4f89bd417d86f5c3ff6dfa5Daniel DunbarLINK_LIBS_IN_SHARED := 1 148c39c9647da4f375e4f89bd417d86f5c3ff6dfa5Daniel DunbarSHARED_LIBRARY := 1 1577595fc35642f990bfc5ad05b8e68d4056695ecaNick Kledzik 167c52f2ee06c8b22287d658fc30d00525f8d4db42Dan GohmanEXPORTED_SYMBOL_FILE = $(PROJ_SRC_DIR)/lto.exports 17b16b53b181939fa6112498a00005d1df40d6de86Dan Gohman 1877595fc35642f990bfc5ad05b8e68d4056695ecaNick Kledzikinclude $(LEVEL)/Makefile.common 1977595fc35642f990bfc5ad05b8e68d4056695ecaNick Kledzik 208535403ee0e6bd3f1e56236e3dc5d007c5c9c02bDaniel Dunbarifdef LLVM_VERSION_INFO 218535403ee0e6bd3f1e56236e3dc5d007c5c9c02bDaniel DunbarCXX.Flags += -DLLVM_VERSION_INFO='"$(LLVM_VERSION_INFO)"' 228535403ee0e6bd3f1e56236e3dc5d007c5c9c02bDaniel Dunbarendif 238535403ee0e6bd3f1e56236e3dc5d007c5c9c02bDaniel Dunbar 24e55db741523b51f3f754b6dd62c5e0f52bb83b98Anton Korobeynikovifeq ($(HOST_OS),Darwin) 2548bf8f0c3ade7f55dedb6d0c2142f1e064a95668Daniel Dunbar # Special hack to allow libLTO to have an offset version number. 2648bf8f0c3ade7f55dedb6d0c2142f1e064a95668Daniel Dunbar ifdef LLVM_LTO_VERSION_OFFSET 2748bf8f0c3ade7f55dedb6d0c2142f1e064a95668Daniel Dunbar LTO_LIBRARY_VERSION := $(shell expr $(LLVM_SUBMIT_VERSION) + \ 2848bf8f0c3ade7f55dedb6d0c2142f1e064a95668Daniel Dunbar $(LLVM_LTO_VERSION_OFFSET)) 2948bf8f0c3ade7f55dedb6d0c2142f1e064a95668Daniel Dunbar else 3048bf8f0c3ade7f55dedb6d0c2142f1e064a95668Daniel Dunbar LTO_LIBRARY_VERSION := $(LLVM_SUBMIT_VERSION) 3148bf8f0c3ade7f55dedb6d0c2142f1e064a95668Daniel Dunbar endif 3248bf8f0c3ade7f55dedb6d0c2142f1e064a95668Daniel Dunbar 3377595fc35642f990bfc5ad05b8e68d4056695ecaNick Kledzik # set dylib internal version number to llvmCore submission number 3477595fc35642f990bfc5ad05b8e68d4056695ecaNick Kledzik ifdef LLVM_SUBMIT_VERSION 3577595fc35642f990bfc5ad05b8e68d4056695ecaNick Kledzik LLVMLibsOptions := $(LLVMLibsOptions) -Wl,-current_version \ 3648bf8f0c3ade7f55dedb6d0c2142f1e064a95668Daniel Dunbar -Wl,$(LTO_LIBRARY_VERSION).$(LLVM_SUBMIT_SUBVERSION) \ 374ed55ceeaf075a988bf5642cd33bc88450b5254eNick Kledzik -Wl,-compatibility_version -Wl,1 3877595fc35642f990bfc5ad05b8e68d4056695ecaNick Kledzik endif 3910181ae49c25e22267ea3d539dd53e07d5e45528Bill Wendling 4010181ae49c25e22267ea3d539dd53e07d5e45528Bill Wendling # If we're doing an Apple-style build, add the LTO object path. 41ee740ddf9d8248e39032567dc22766b0f8b45cd6Bill Wendling ifeq ($(RC_XBS),YES) 42c33b9304dada40806f875b482d003b5c7b8f9c22Bill Wendling TempFile := $(shell mkdir -p ${OBJROOT}/dSYMs ; mktemp ${OBJROOT}/dSYMs/llvm-lto.XXXXXX) 43c33b9304dada40806f875b482d003b5c7b8f9c22Bill Wendling LLVMLibsOptions := $(LLVMLibsOptions) \ 4453f1b19c6e0b0b2fe2dfccd543738a20241c8e78Bill Wendling -Wl,-object_path_lto -Wl,$(TempFile) 4510181ae49c25e22267ea3d539dd53e07d5e45528Bill Wendling endif 4677595fc35642f990bfc5ad05b8e68d4056695ecaNick Kledzikendif 47