Devang Patel | 5a7fb69 | 2008-07-18 23:47:27 +0000 | [diff] [blame] | 1 | ##===- tools/lto/Makefile ----------------------------------*- Makefile -*-===## |
Nick Kledzik | 77595fc | 2008-02-26 20:26:43 +0000 | [diff] [blame] | 2 | # |
| 3 | # The LLVM Compiler Infrastructure |
| 4 | # |
| 5 | # This file is distributed under the University of Illinois Open Source |
| 6 | # License. See LICENSE.TXT for details. |
| 7 | # |
| 8 | ##===----------------------------------------------------------------------===## |
| 9 | |
Daniel Dunbar | 8c39c96 | 2011-10-18 19:27:24 +0000 | [diff] [blame] | 10 | LEVEL := ../.. |
| 11 | LIBRARYNAME := LTO |
| 12 | LINK_COMPONENTS := all-targets ipo scalaropts linker bitreader bitwriter \ |
Hal Finkel | de5e5ec | 2012-02-01 03:51:43 +0000 | [diff] [blame] | 13 | mcdisassembler vectorize |
Daniel Dunbar | 8c39c96 | 2011-10-18 19:27:24 +0000 | [diff] [blame] | 14 | LINK_LIBS_IN_SHARED := 1 |
| 15 | SHARED_LIBRARY := 1 |
Nick Kledzik | 77595fc | 2008-02-26 20:26:43 +0000 | [diff] [blame] | 16 | |
Dan Gohman | 7c52f2e | 2010-04-15 23:08:00 +0000 | [diff] [blame] | 17 | EXPORTED_SYMBOL_FILE = $(PROJ_SRC_DIR)/lto.exports |
Dan Gohman | b16b53b | 2010-04-15 20:54:25 +0000 | [diff] [blame] | 18 | |
Nick Kledzik | 77595fc | 2008-02-26 20:26:43 +0000 | [diff] [blame] | 19 | include $(LEVEL)/Makefile.common |
| 20 | |
Daniel Dunbar | 8535403 | 2010-10-15 22:46:15 +0000 | [diff] [blame] | 21 | ifdef LLVM_VERSION_INFO |
| 22 | CXX.Flags += -DLLVM_VERSION_INFO='"$(LLVM_VERSION_INFO)"' |
| 23 | endif |
| 24 | |
Anton Korobeynikov | e55db74 | 2009-08-18 00:40:33 +0000 | [diff] [blame] | 25 | ifeq ($(HOST_OS),Darwin) |
Daniel Dunbar | 48bf8f0 | 2010-07-16 01:41:38 +0000 | [diff] [blame] | 26 | # Special hack to allow libLTO to have an offset version number. |
| 27 | ifdef LLVM_LTO_VERSION_OFFSET |
| 28 | LTO_LIBRARY_VERSION := $(shell expr $(LLVM_SUBMIT_VERSION) + \ |
| 29 | $(LLVM_LTO_VERSION_OFFSET)) |
| 30 | else |
| 31 | LTO_LIBRARY_VERSION := $(LLVM_SUBMIT_VERSION) |
| 32 | endif |
| 33 | |
Nick Kledzik | 77595fc | 2008-02-26 20:26:43 +0000 | [diff] [blame] | 34 | # set dylib internal version number to llvmCore submission number |
| 35 | ifdef LLVM_SUBMIT_VERSION |
| 36 | LLVMLibsOptions := $(LLVMLibsOptions) -Wl,-current_version \ |
Daniel Dunbar | 48bf8f0 | 2010-07-16 01:41:38 +0000 | [diff] [blame] | 37 | -Wl,$(LTO_LIBRARY_VERSION).$(LLVM_SUBMIT_SUBVERSION) \ |
Nick Kledzik | 4ed55ce | 2008-02-29 02:01:34 +0000 | [diff] [blame] | 38 | -Wl,-compatibility_version -Wl,1 |
Nick Kledzik | 77595fc | 2008-02-26 20:26:43 +0000 | [diff] [blame] | 39 | endif |
| 40 | # extra options to override libtool defaults |
| 41 | LLVMLibsOptions := $(LLVMLibsOptions) \ |
Nick Kledzik | 873570e | 2008-03-02 06:33:06 +0000 | [diff] [blame] | 42 | -Wl,-dead_strip \ |
| 43 | -Wl,-seg1addr -Wl,0xE0000000 |
Nick Kledzik | 77595fc | 2008-02-26 20:26:43 +0000 | [diff] [blame] | 44 | |
Nick Kledzik | 873570e | 2008-03-02 06:33:06 +0000 | [diff] [blame] | 45 | # Mac OS X 10.4 and earlier tools do not allow a second -install_name on command line |
| 46 | DARWIN_VERS := $(shell echo $(TARGET_TRIPLE) | sed 's/.*darwin\([0-9]*\).*/\1/') |
| 47 | ifneq ($(DARWIN_VERS),8) |
| 48 | LLVMLibsOptions := $(LLVMLibsOptions) \ |
Daniel Dunbar | b259c01 | 2010-07-31 21:32:56 +0000 | [diff] [blame] | 49 | -Wl,-install_name \ |
Nick Kledzik | 873570e | 2008-03-02 06:33:06 +0000 | [diff] [blame] | 50 | -Wl,"@executable_path/../lib/lib$(LIBRARYNAME)$(SHLIBEXT)" |
| 51 | endif |
Bill Wendling | 10181ae | 2012-10-03 23:52:10 +0000 | [diff] [blame] | 52 | |
| 53 | # If we're doing an Apple-style build, add the LTO object path. |
Bill Wendling | ee740dd | 2013-02-13 19:44:08 +0000 | [diff] [blame] | 54 | ifeq ($(RC_XBS),YES) |
Bill Wendling | c33b930 | 2012-10-10 05:29:15 +0000 | [diff] [blame] | 55 | TempFile := $(shell mkdir -p ${OBJROOT}/dSYMs ; mktemp ${OBJROOT}/dSYMs/llvm-lto.XXXXXX) |
| 56 | LLVMLibsOptions := $(LLVMLibsOptions) \ |
| 57 | -Wl,-object_path_lto -Wl,$(TempFile) |
Bill Wendling | 10181ae | 2012-10-03 23:52:10 +0000 | [diff] [blame] | 58 | endif |
Nick Kledzik | 77595fc | 2008-02-26 20:26:43 +0000 | [diff] [blame] | 59 | endif |