1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
|
##===- source/Makefile -------------------------------------*- Makefile -*-===##
#
# The LLVM Compiler Infrastructure
#
# This file is distributed under the University of Illinois Open Source
# License. See LICENSE.TXT for details.
#
##===----------------------------------------------------------------------===##
LEVEL := ../../..
LLDB_LEVEL := ..
LIBRARYNAME = lldb
#EXPORTED_SYMBOL_FILE = $(PROJ_SRC_DIR)/../resources/lldb-framework-exports
NO_BUILD_ARCHIVE = 1
LINK_LIBS_IN_SHARED = 1
SHARED_LIBRARY = 1
PYTHON_BUILD_FLAGS = $(shell python-config --ldflags)
# Include all archives in liblldb.a files
USEDLIBS = lldbAPI.a \
lldbBreakpoint.a \
lldbCommands.a \
lldbCore.a \
lldbExpression.a \
lldbHostCommon.a \
lldbInitAndLog.a \
lldbInterpreter.a \
lldbPluginABIMacOSX_arm.a \
lldbPluginABIMacOSX_i386.a \
lldbPluginABISysV_x86_64.a \
lldbPluginDisassemblerLLVM.a \
lldbPluginDynamicLoaderStatic.a \
lldbPluginEmulateInstructionARM.a \
lldbPluginLanguageRuntimeCPlusPlusItaniumABI.a \
lldbPluginLanguageRuntimeObjCAppleObjCRuntime.a \
lldbPluginObjectContainerBSDArchive.a \
lldbPluginObjectFileELF.a \
lldbPluginObjectFilePECOFF.a \
lldbPluginPlatformGDBServer.a \
lldbPluginProcessGDBRemote.a \
lldbPluginSymbolFileDWARF.a \
lldbPluginSymbolFileSymtab.a \
lldbPluginUnwindAssemblyInstEmulation.a \
lldbPluginUnwindAssemblyx86.a \
lldbPluginUtility.a \
lldbSymbol.a \
lldbTarget.a \
lldbUtility.a \
clangAnalysis.a \
clangAST.a \
clangBasic.a \
clangCodeGen.a \
clangFrontend.a \
clangDriver.a \
clangIndex.a \
clangLex.a \
clangRewrite.a \
clangParse.a \
clangSema.a \
clangSerialization.a \
EnhancedDisassembly.a \
LLVMMCDisassembler.a
include $(LLDB_LEVEL)/../../Makefile.config
LINK_COMPONENTS := $(TARGETS_TO_BUILD) asmparser bitreader bitwriter codegen \
instrumentation ipo selectiondag jit mc mcjit
ifeq ($(HOST_OS),Darwin)
USEDLIBS += lldbHostMacOSX.a \
lldbPluginDynamicLoaderMacOSX.a \
lldbPluginDynamicLoaderDarwinKernel.a \
lldbPluginObjectContainerUniversalMachO.a \
lldbPluginObjectFileMachO.a \
lldbPluginSymbolVendorMacOSX.a \
lldbPluginPlatformMacOSX.a \
lldbPluginProcessDarwin.a
endif
ifeq ($(HOST_OS),Linux)
USEDLIBS += lldbPluginProcessLinux.a \
lldbPluginDynamicLoaderLinux.a \
lldbPluginPlatformLinux.a \
lldbHostLinux.a
endif
ifeq ($(HOST_OS),FreeBSD)
USEDLIBS += lldbHostFreeBSD.a \
lldbPluginPlatformFreeBSD.a
endif
include $(LEVEL)/Makefile.common
ifeq ($(HOST_OS),Darwin)
LLVMLibsOptions += -Wl,-all_load
# set dylib internal version number to llvmCore submission number
ifdef LLDB_SUBMIT_VERSION
LLVMLibsOptions += -Wl,-current_version \
-Wl,$(LLDB_SUBMIT_VERSION).$(LLDB_SUBMIT_SUBVERSION) \
-Wl,-compatibility_version -Wl,1
endif
# extra options to override libtool defaults
LLVMLibsOptions += -F/System/Library/Frameworks -F/System/Library/PrivateFrameworks
LLVMLibsOptions += -framework Foundation -framework CoreFoundation
LLVMLibsOptions += -framework CoreServices -framework Carbon
LLVMLibsOptions += -framework DebugSymbols $(PYTHON_BUILD_FLAGS) -lobjc
LLVMLibsOptions += -Wl,-exported_symbols_list -Wl,"$(PROJ_SRC_DIR)/$(LLDB_LEVEL)/resources/lldb-framework-exports"
# Mac OS X 10.4 and earlier tools do not allow a second -install_name on command line
DARWIN_VERS := $(shell echo $(TARGET_TRIPLE) | sed 's/.*darwin\([0-9]*\).*/\1/')
ifneq ($(DARWIN_VERS),8)
LLVMLibsOptions += -Wl,-install_name \
-Wl,"@executable_path/../lib/lib$(LIBRARYNAME)$(SHLIBEXT)"
endif
endif
ifeq ($(HOST_OS),Linux)
# Include everything from the .a's into the shared library.
ProjLibsOptions := -Wl,--whole-archive $(ProjLibsOptions) \
-Wl,--no-whole-archive
# Don't allow unresolved symbols.
LLVMLibsOptions += -Wl,--no-undefined
# Link in python
LD.Flags += $(PYTHON_BUILD_FLAGS) -lrt
endif
ifeq ($(HOST_OS),FreeBSD)
# Include everything from the .a's into the shared library.
ProjLibsOptions := -Wl,--whole-archive $(ProjLibsOptions) \
-Wl,--no-whole-archive
# Don't allow unresolved symbols.
LLVMLibsOptions += -Wl,--no-undefined
# Link in python
LD.Flags += $(PYTHON_BUILD_FLAGS) -lrt -L/usr/local/lib -lexecinfo
endif
|