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 128c39c9647da4f375e4f89bd417d86f5c3ff6dfa5Daniel DunbarLINK_COMPONENTS := all-targets ipo scalaropts linker bitreader bitwriter \ 13de5e5ec3045a73a06b1054417f9ac6c02929e9ceHal Finkel mcdisassembler vectorize 148c39c9647da4f375e4f89bd417d86f5c3ff6dfa5Daniel DunbarLINK_LIBS_IN_SHARED := 1 158c39c9647da4f375e4f89bd417d86f5c3ff6dfa5Daniel DunbarSHARED_LIBRARY := 1 1677595fc35642f990bfc5ad05b8e68d4056695ecaNick Kledzik 177c52f2ee06c8b22287d658fc30d00525f8d4db42Dan GohmanEXPORTED_SYMBOL_FILE = $(PROJ_SRC_DIR)/lto.exports 18b16b53b181939fa6112498a00005d1df40d6de86Dan Gohman 1977595fc35642f990bfc5ad05b8e68d4056695ecaNick Kledzikinclude $(LEVEL)/Makefile.common 2077595fc35642f990bfc5ad05b8e68d4056695ecaNick Kledzik 218535403ee0e6bd3f1e56236e3dc5d007c5c9c02bDaniel Dunbarifdef LLVM_VERSION_INFO 228535403ee0e6bd3f1e56236e3dc5d007c5c9c02bDaniel DunbarCXX.Flags += -DLLVM_VERSION_INFO='"$(LLVM_VERSION_INFO)"' 238535403ee0e6bd3f1e56236e3dc5d007c5c9c02bDaniel Dunbarendif 248535403ee0e6bd3f1e56236e3dc5d007c5c9c02bDaniel Dunbar 25e55db741523b51f3f754b6dd62c5e0f52bb83b98Anton Korobeynikovifeq ($(HOST_OS),Darwin) 2648bf8f0c3ade7f55dedb6d0c2142f1e064a95668Daniel Dunbar # Special hack to allow libLTO to have an offset version number. 2748bf8f0c3ade7f55dedb6d0c2142f1e064a95668Daniel Dunbar ifdef LLVM_LTO_VERSION_OFFSET 2848bf8f0c3ade7f55dedb6d0c2142f1e064a95668Daniel Dunbar LTO_LIBRARY_VERSION := $(shell expr $(LLVM_SUBMIT_VERSION) + \ 2948bf8f0c3ade7f55dedb6d0c2142f1e064a95668Daniel Dunbar $(LLVM_LTO_VERSION_OFFSET)) 3048bf8f0c3ade7f55dedb6d0c2142f1e064a95668Daniel Dunbar else 3148bf8f0c3ade7f55dedb6d0c2142f1e064a95668Daniel Dunbar LTO_LIBRARY_VERSION := $(LLVM_SUBMIT_VERSION) 3248bf8f0c3ade7f55dedb6d0c2142f1e064a95668Daniel Dunbar endif 3348bf8f0c3ade7f55dedb6d0c2142f1e064a95668Daniel Dunbar 3477595fc35642f990bfc5ad05b8e68d4056695ecaNick Kledzik # set dylib internal version number to llvmCore submission number 3577595fc35642f990bfc5ad05b8e68d4056695ecaNick Kledzik ifdef LLVM_SUBMIT_VERSION 3677595fc35642f990bfc5ad05b8e68d4056695ecaNick Kledzik LLVMLibsOptions := $(LLVMLibsOptions) -Wl,-current_version \ 3748bf8f0c3ade7f55dedb6d0c2142f1e064a95668Daniel Dunbar -Wl,$(LTO_LIBRARY_VERSION).$(LLVM_SUBMIT_SUBVERSION) \ 384ed55ceeaf075a988bf5642cd33bc88450b5254eNick Kledzik -Wl,-compatibility_version -Wl,1 3977595fc35642f990bfc5ad05b8e68d4056695ecaNick Kledzik endif 4077595fc35642f990bfc5ad05b8e68d4056695ecaNick Kledzik # extra options to override libtool defaults 4177595fc35642f990bfc5ad05b8e68d4056695ecaNick Kledzik LLVMLibsOptions := $(LLVMLibsOptions) \ 42873570e0ef68bce8cd18d040b15e0bb77724a82aNick Kledzik -Wl,-dead_strip \ 43873570e0ef68bce8cd18d040b15e0bb77724a82aNick Kledzik -Wl,-seg1addr -Wl,0xE0000000 4477595fc35642f990bfc5ad05b8e68d4056695ecaNick Kledzik 45873570e0ef68bce8cd18d040b15e0bb77724a82aNick Kledzik # Mac OS X 10.4 and earlier tools do not allow a second -install_name on command line 46873570e0ef68bce8cd18d040b15e0bb77724a82aNick Kledzik DARWIN_VERS := $(shell echo $(TARGET_TRIPLE) | sed 's/.*darwin\([0-9]*\).*/\1/') 47873570e0ef68bce8cd18d040b15e0bb77724a82aNick Kledzik ifneq ($(DARWIN_VERS),8) 48873570e0ef68bce8cd18d040b15e0bb77724a82aNick Kledzik LLVMLibsOptions := $(LLVMLibsOptions) \ 49b259c01376b176f17fccf57bff28148590f7d744Daniel Dunbar -Wl,-install_name \ 50873570e0ef68bce8cd18d040b15e0bb77724a82aNick Kledzik -Wl,"@executable_path/../lib/lib$(LIBRARYNAME)$(SHLIBEXT)" 51873570e0ef68bce8cd18d040b15e0bb77724a82aNick Kledzik endif 5277595fc35642f990bfc5ad05b8e68d4056695ecaNick Kledzikendif 53