blob: 883e019b000daacf6971caaebdfeacf242a28080 [file] [log] [blame]
homeip.net!davidmccdd6442004-08-19 10:45:23 +00001SOVERSION=7:0:0 # See comments at end of file.
mostang.com!davidmad7f1472003-02-08 10:10:59 +00002SETJMP_SO_VERSION=0:0:0
hp.com!davidmed32b992004-04-20 16:53:44 +00003#
hp.com!davidm16af7ae2005-05-03 09:13:17 +00004# Don't link with start-files since we don't use any constructors/destructors:
hp.com!davidmed32b992004-04-20 16:53:44 +00005#
hp.com!davidm16af7ae2005-05-03 09:13:17 +00006COMMON_SO_LDFLAGS = -XCClinker -nostartfiles
mostang.com!davidma6d51ee2002-04-25 06:47:29 +00007
hp.com!davidm16566632004-01-03 10:50:24 +00008if REMOTE_ONLY
9LIBRARIES_cdep =
10lib_LTLIBRARIES_cdep =
homeip.net!davidmf028c7d2004-08-20 11:26:49 +000011lib_LTLIBRARIES_cdep_setjmp =
hp.com!davidm16566632004-01-03 10:50:24 +000012else
13LIBRARIES_cdep = libunwind-ptrace.a
homeip.net!davidmf028c7d2004-08-20 11:26:49 +000014lib_LTLIBRARIES_cdep = libunwind.la
15lib_LTLIBRARIES_cdep_setjmp = libunwind-setjmp.la
hp.com!davidm16566632004-01-03 10:50:24 +000016endif
mostang.com!davidmad7f1472003-02-08 10:10:59 +000017
hp.com!davidm16566632004-01-03 10:50:24 +000018### libunwind-ptrace:
hp.com!davidm1738b3b2004-01-30 00:01:24 +000019libunwind_ptrace_a_SOURCES = \
hp.com!davidm16af7ae2005-05-03 09:13:17 +000020 ptrace/_UPT_elf.c \
hp.com!davidm1738b3b2004-01-30 00:01:24 +000021 ptrace/_UPT_internal.h \
22 ptrace/_UPT_accessors.c ptrace/_UPT_access_fpreg.c \
23 ptrace/_UPT_access_mem.c ptrace/_UPT_access_reg.c \
24 ptrace/_UPT_create.c ptrace/_UPT_destroy.c \
25 ptrace/_UPT_find_proc_info.c ptrace/_UPT_get_dyn_info_list_addr.c \
26 ptrace/_UPT_put_unwind_info.c ptrace/_UPT_get_proc_name.c \
27 ptrace/_UPT_reg_offset.c ptrace/_UPT_resume.c
hp.com!davidm16566632004-01-03 10:50:24 +000028
29### libunwind-setjmp:
hp.com!davidmed32b992004-04-20 16:53:44 +000030libunwind_setjmp_la_LDFLAGS = $(COMMON_SO_LDFLAGS) \
31 -version-info $(SETJMP_SO_VERSION)
32libunwind_setjmp_la_LIBADD = libunwind-$(arch).la -lc
hp.com!davidm16af7ae2005-05-03 09:13:17 +000033libunwind_setjmp_la_SOURCES_common = setjmp/setjmp_i.h \
34 setjmp/longjmp.c \
35 setjmp/siglongjmp.c
Daniel Jacobowitz3842dac2008-02-04 17:16:37 -070036libunwind_setjmp_la_SOURCES_arm = arm/siglongjmp.S
hp.com!davidmf4c8d532004-08-31 13:59:10 +000037libunwind_setjmp_la_SOURCES_ia64 = ia64/setjmp.S ia64/sigsetjmp.S \
38 ia64/longjmp.S ia64/siglongjmp.S
hp.com!davidm16af7ae2005-05-03 09:13:17 +000039libunwind_setjmp_la_SOURCES_hppa = hppa/siglongjmp.S
Daniel Jacobowitz3842dac2008-02-04 17:16:37 -070040libunwind_setjmp_la_SOURCES_mips = mips/siglongjmp.S
hp.com!davidm16af7ae2005-05-03 09:13:17 +000041libunwind_setjmp_la_SOURCES_x86 = x86/longjmp.S x86/siglongjmp.S
42libunwind_setjmp_la_SOURCES_x86_64 = x86_64/longjmp.S x86_64/siglongjmp.S
Jose Flavio Aguilar Paulino4499bb22007-09-12 21:52:25 -060043libunwind_setjmp_la_SOURCES_ppc64 = ppc/longjmp.S ppc/siglongjmp.S
44libunwind_setjmp_la_SOURCES_ppc32 = ppc/longjmp.S ppc/siglongjmp.S
hp.com!davidm16566632004-01-03 10:50:24 +000045
46### libunwind:
47
mostang.com!davidma6b0ccf2004-01-14 06:21:52 +000048# List of arch-independent files needed by both local-only and generic
49# libraries:
bea.com!thallgrecb503ba2004-08-18 15:16:46 +000050libunwind_la_SOURCES_common = \
51 $(libunwind_la_SOURCES_os) \
52 mi/init.c mi/flush_cache.c mi/mempool.c mi/strerror.c
hp.com!davidm16566632004-01-03 10:50:24 +000053
54# List of arch-independent files needed by generic library (libunwind-$ARCH):
hp.com!davidm1738b3b2004-01-30 00:01:24 +000055libunwind_la_SOURCES_generic = \
56 mi/Gdyn-extract.c mi/Gdyn-remote.c mi/Gfind_dynamic_proc_info.c \
57 mi/Gget_accessors.c \
58 mi/Gget_proc_info_by_ip.c mi/Gget_proc_name.c \
59 mi/Gput_dynamic_unwind_info.c mi/Gdestroy_addr_space.c \
60 mi/Gget_reg.c mi/Gset_reg.c \
61 mi/Gget_fpreg.c mi/Gset_fpreg.c \
62 mi/Gset_caching_policy.c
hp.com!davidm16566632004-01-03 10:50:24 +000063
Arun Sharma8081e822008-06-16 14:28:36 -060064if SUPPORT_CXX_EXCEPTIONS
Daniel Jacobowitz3842dac2008-02-04 17:16:37 -070065libunwind_la_SOURCES_local_unwind = \
66 unwind/Backtrace.c unwind/DeleteException.c \
67 unwind/FindEnclosingFunction.c unwind/ForcedUnwind.c \
68 unwind/GetBSP.c unwind/GetCFA.c unwind/GetDataRelBase.c \
69 unwind/GetGR.c unwind/GetIP.c unwind/GetLanguageSpecificData.c \
70 unwind/GetRegionStart.c unwind/GetTextRelBase.c \
71 unwind/RaiseException.c unwind/Resume.c \
72 unwind/Resume_or_Rethrow.c unwind/SetGR.c unwind/SetIP.c
Arun Sharma5822fca2009-03-15 21:14:27 -070073
74# _ReadULEB()/_ReadSLEB() are needed for Intel C++ 8.0 compatibility
75libunwind_la_SOURCES_os_linux_local = mi/_ReadULEB.c mi/_ReadSLEB.c
Arun Sharma8081e822008-06-16 14:28:36 -060076endif
Daniel Jacobowitz3842dac2008-02-04 17:16:37 -070077
hp.com!davidm16566632004-01-03 10:50:24 +000078# List of arch-independent files needed by local-only library (libunwind):
Daniel Jacobowitz3842dac2008-02-04 17:16:37 -070079libunwind_la_SOURCES_local_nounwind = \
hp.com!davidm051da9c2004-05-06 22:02:00 +000080 $(libunwind_la_SOURCES_os_local) \
hp.com!davidma50c7802004-03-30 01:56:19 +000081 mi/backtrace.c \
hp.com!davidm1738b3b2004-01-30 00:01:24 +000082 mi/dyn-cancel.c mi/dyn-info-list.c mi/dyn-register.c \
83 mi/Ldyn-extract.c mi/Lfind_dynamic_proc_info.c \
84 mi/Lget_accessors.c \
85 mi/Lget_proc_info_by_ip.c mi/Lget_proc_name.c \
86 mi/Lput_dynamic_unwind_info.c mi/Ldestroy_addr_space.c \
87 mi/Lget_reg.c mi/Lset_reg.c \
88 mi/Lget_fpreg.c mi/Lset_fpreg.c \
Daniel Jacobowitz3842dac2008-02-04 17:16:37 -070089 mi/Lset_caching_policy.c
90
91# On some platforms, defining _Unwind replacements really upsets
92# exception-handling. Turn off those functions for those platforms.
93if ARCH_ARM
94libunwind_la_SOURCES_local = \
95 $(libunwind_la_SOURCES_local_nounwind)
96else
97if ARCH_MIPS
98libunwind_la_SOURCES_local = \
99 $(libunwind_la_SOURCES_local_nounwind)
100else
101libunwind_la_SOURCES_local = \
102 $(libunwind_la_SOURCES_local_nounwind) \
103 $(libunwind_la_SOURCES_local_unwind)
104endif # ARCH_MIPS
105endif # ARCH_ARM
hp.com!davidm02409462003-12-04 07:44:21 +0000106
mostang.com!davidm0adb97c2003-03-19 19:25:18 +0000107libunwind_la_SOURCES_os_linux = os-linux.h os-linux.c
hp.com!davidm051da9c2004-05-06 22:02:00 +0000108
mostang.com!davidm5929f8e2003-04-03 07:59:15 +0000109libunwind_la_SOURCES_os_hpux = os-hpux.c
hp.com!davidm74ee8e42003-01-28 03:40:06 +0000110
hp.com!davidmf06787a2004-01-22 08:36:15 +0000111dwarf_SOURCES_common = \
homeip.net!davidmbf2c4542004-08-17 15:34:28 +0000112 dwarf/global.c
hp.com!davidmf06787a2004-01-22 08:36:15 +0000113
homeip.net!davidmbf2c4542004-08-17 15:34:28 +0000114dwarf_SOURCES_local = \
115 dwarf/Lexpr.c dwarf/Lfde.c dwarf/Lparser.c dwarf/Lpe.c dwarf/Lstep.c
hp.com!davidm23760812003-12-20 11:50:00 +0000116
homeip.net!davidmbf2c4542004-08-17 15:34:28 +0000117dwarf_SOURCES_generic = \
118 dwarf/Gexpr.c dwarf/Gfde.c dwarf/Gparser.c dwarf/Gpe.c dwarf/Gstep.c
mostang.com!davidm3ae9b812002-12-19 07:16:50 +0000119
Daniel Jacobowitz3842dac2008-02-04 17:16:37 -0700120# The list of files that go info libunwind and libunwind-arm:
121libunwind_la_SOURCES_arm_common = $(libunwind_la_SOURCES_common) \
122 $(dwarf_SOURCES_common) \
123 elf32.c elf32.h \
124 arm/init.h arm/offsets.h arm/regs.h \
125 arm/is_fpreg.c arm/regname.c
126
127# The list of files that go into libunwind:
128libunwind_la_SOURCES_arm = $(libunwind_la_SOURCES_arm_common) \
129 $(libunwind_la_SOURCES_local) \
130 arm/getcontext.S \
131 $(dwarf_SOURCES_local) \
132 dwarf/Lfind_proc_info-lsb.c \
133 arm/Lcreate_addr_space.c arm/Lget_proc_info.c arm/Lget_save_loc.c \
134 arm/Lglobal.c arm/Linit.c arm/Linit_local.c arm/Linit_remote.c \
135 arm/Lis_signal_frame.c arm/Lregs.c arm/Lresume.c arm/Lstep.c
136
137libunwind_arm_la_SOURCES_arm = $(libunwind_la_SOURCES_arm_common) \
138 $(libunwind_la_SOURCES_generic) \
139 $(dwarf_SOURCES_generic) \
140 dwarf/Gfind_proc_info-lsb.c \
141 arm/Gcreate_addr_space.c arm/Gget_proc_info.c arm/Gget_save_loc.c \
142 arm/Gglobal.c arm/Ginit.c arm/Ginit_local.c arm/Ginit_remote.c \
143 arm/Gis_signal_frame.c arm/Gregs.c arm/Gresume.c arm/Gstep.c
144
hp.com!davidm16566632004-01-03 10:50:24 +0000145# The list of files that go both into libunwind and libunwind-ia64:
hp.com!davidmf06787a2004-01-22 08:36:15 +0000146libunwind_la_SOURCES_ia64_common = $(libunwind_la_SOURCES_common) \
hp.com!davidm16af7ae2005-05-03 09:13:17 +0000147 elf64.c elf64.h \
mostang.com!davidmc47cf6a2004-05-04 22:16:57 +0000148 ia64/init.h ia64/offsets.h ia64/regs.h \
hp.com!davidmf06787a2004-01-22 08:36:15 +0000149 ia64/ucontext_i.h ia64/unwind_decoder.h ia64/unwind_i.h \
homeip.net!davidmbf2c4542004-08-17 15:34:28 +0000150 ia64/regname.c
hp.com!davidm16566632004-01-03 10:50:24 +0000151
152# The list of files that go into libunwind:
homeip.net!davidmbf2c4542004-08-17 15:34:28 +0000153libunwind_la_SOURCES_ia64 = $(libunwind_la_SOURCES_ia64_common) \
154 $(libunwind_la_SOURCES_local) \
155 \
homeip.net!davidmbf2c4542004-08-17 15:34:28 +0000156 ia64/dyn_info_list.S ia64/getcontext.S \
157 \
158 ia64/Lcreate_addr_space.c ia64/Lget_proc_info.c ia64/Lget_save_loc.c \
159 ia64/Lglobal.c ia64/Linit.c ia64/Linit_local.c ia64/Linit_remote.c \
160 ia64/Linstall_cursor.S ia64/Lis_signal_frame.c ia64/Lparser.c \
161 ia64/Lrbs.c ia64/Lregs.c ia64/Lresume.c ia64/Lscript.c ia64/Lstep.c \
162 ia64/Ltables.c
hp.com!davidm16566632004-01-03 10:50:24 +0000163
164# The list of files that go into libunwind-ia64:
homeip.net!davidmbf2c4542004-08-17 15:34:28 +0000165libunwind_ia64_la_SOURCES_ia64 = $(libunwind_la_SOURCES_ia64_common) \
166 $(libunwind_la_SOURCES_generic) \
167 ia64/Gcreate_addr_space.c ia64/Gget_proc_info.c ia64/Gget_save_loc.c \
168 ia64/Gglobal.c ia64/Ginit.c ia64/Ginit_local.c ia64/Ginit_remote.c \
169 ia64/Ginstall_cursor.S ia64/Gis_signal_frame.c ia64/Gparser.c \
170 ia64/Grbs.c ia64/Gregs.c ia64/Gresume.c ia64/Gscript.c ia64/Gstep.c \
171 ia64/Gtables.c
hp.com!davidm6432d812002-04-05 23:37:55 +0000172
hp.com!davidm16af7ae2005-05-03 09:13:17 +0000173# The list of files that go both into libunwind and libunwind-hppa:
174libunwind_la_SOURCES_hppa_common = $(libunwind_la_SOURCES_common) \
175 $(dwarf_SOURCES_common) \
176 elf32.c elf32.h \
177 hppa/init.h hppa/offsets.h hppa/unwind_i.h \
178 hppa/regname.c
179
180# The list of files that go into libunwind:
181libunwind_la_SOURCES_hppa = $(libunwind_la_SOURCES_hppa_common) \
182 $(libunwind_la_SOURCES_local) \
183 hppa/getcontext.S hppa/setcontext.S \
184 $(dwarf_SOURCES_local) \
185 dwarf/Lfind_proc_info-lsb.c \
186 hppa/Lcreate_addr_space.c hppa/Lget_save_loc.c hppa/Lglobal.c \
187 hppa/Linit.c hppa/Linit_local.c hppa/Linit_remote.c \
188 hppa/Lis_signal_frame.c hppa/Lget_proc_info.c hppa/Lregs.c \
189 hppa/Lresume.c hppa/Lstep.c
190
191# The list of files that go into libunwind-hppa:
192libunwind_hppa_la_SOURCES_hppa = $(libunwind_la_SOURCES_hppa_common) \
193 $(libunwind_la_SOURCES_generic) \
194 $(dwarf_SOURCES_generic) \
195 dwarf/Gfind_proc_info-lsb.c \
196 hppa/Gcreate_addr_space.c hppa/Gget_save_loc.c hppa/Gglobal.c \
197 hppa/Ginit.c hppa/Ginit_local.c hppa/Ginit_remote.c \
198 hppa/Gis_signal_frame.c hppa/Gget_proc_info.c hppa/Gregs.c \
199 hppa/Gresume.c hppa/Gstep.c
mostang.com!davidmf6c7a652003-01-14 07:11:56 +0000200
Daniel Jacobowitz3842dac2008-02-04 17:16:37 -0700201# The list of files that go info libunwind and libunwind-mips:
202libunwind_la_SOURCES_mips_common = $(libunwind_la_SOURCES_common) \
203 $(dwarf_SOURCES_common) \
204 elfxx.c \
205 mips/init.h mips/offsets.h mips/regs.h \
206 mips/is_fpreg.c mips/regname.c
207
208# The list of files that go into libunwind:
209libunwind_la_SOURCES_mips = $(libunwind_la_SOURCES_mips_common) \
210 $(libunwind_la_SOURCES_local) \
211 mips/getcontext.S \
212 $(dwarf_SOURCES_local) \
213 dwarf/Lfind_proc_info-lsb.c \
214 mips/Lcreate_addr_space.c mips/Lget_proc_info.c mips/Lget_save_loc.c \
215 mips/Lglobal.c mips/Linit.c mips/Linit_local.c mips/Linit_remote.c \
216 mips/Lis_signal_frame.c mips/Lregs.c mips/Lresume.c mips/Lstep.c
217
218libunwind_mips_la_SOURCES_mips = $(libunwind_la_SOURCES_mips_common) \
219 $(libunwind_la_SOURCES_generic) \
220 $(dwarf_SOURCES_generic) \
221 dwarf/Gfind_proc_info-lsb.c \
222 mips/Gcreate_addr_space.c mips/Gget_proc_info.c mips/Gget_save_loc.c \
223 mips/Gglobal.c mips/Ginit.c mips/Ginit_local.c mips/Ginit_remote.c \
224 mips/Gis_signal_frame.c mips/Gregs.c mips/Gresume.c mips/Gstep.c
225
hp.com!davidm16566632004-01-03 10:50:24 +0000226# The list of files that go both into libunwind and libunwind-x86:
mostang.com!davidma6b0ccf2004-01-14 06:21:52 +0000227libunwind_la_SOURCES_x86_common = $(libunwind_la_SOURCES_common) \
hp.com!davidmf06787a2004-01-22 08:36:15 +0000228 $(dwarf_SOURCES_common) \
hp.com!davidm16af7ae2005-05-03 09:13:17 +0000229 elf32.c elf32.h \
hp.com!davidmf06787a2004-01-22 08:36:15 +0000230 x86/init.h x86/offsets.h x86/unwind_i.h \
homeip.net!davidmbf2c4542004-08-17 15:34:28 +0000231 x86/is_fpreg.c x86/regname.c
hp.com!davidm16566632004-01-03 10:50:24 +0000232
233# The list of files that go into libunwind:
hp.com!davidm1738b3b2004-01-30 00:01:24 +0000234libunwind_la_SOURCES_x86 = $(libunwind_la_SOURCES_x86_common) \
235 $(libunwind_la_SOURCES_local) \
hp.com!davidm1738b3b2004-01-30 00:01:24 +0000236 $(dwarf_SOURCES_local) \
237 dwarf/Lfind_proc_info-lsb.c \
homeip.net!davidmbf2c4542004-08-17 15:34:28 +0000238 x86/Lcreate_addr_space.c x86/Lget_save_loc.c x86/Lglobal.c \
239 x86/Linit.c x86/Linit_local.c x86/Linit_remote.c \
240 x86/Lis_signal_frame.c x86/Lget_proc_info.c x86/Lregs.c \
241 x86/Lresume.c x86/Lstep.c
mostang.com!davidmf6c7a652003-01-14 07:11:56 +0000242
hp.com!davidm16566632004-01-03 10:50:24 +0000243# The list of files that go into libunwind-x86:
hp.com!davidm1738b3b2004-01-30 00:01:24 +0000244libunwind_x86_la_SOURCES_x86 = $(libunwind_la_SOURCES_x86_common) \
245 $(libunwind_la_SOURCES_generic) \
246 $(dwarf_SOURCES_generic) \
247 dwarf/Gfind_proc_info-lsb.c \
homeip.net!davidmbf2c4542004-08-17 15:34:28 +0000248 x86/Gcreate_addr_space.c x86/Gget_save_loc.c x86/Gglobal.c \
249 x86/Ginit.c x86/Ginit_local.c x86/Ginit_remote.c \
250 x86/Gis_signal_frame.c x86/Gget_proc_info.c x86/Gregs.c \
251 x86/Gresume.c x86/Gstep.c
hp.com!davidm16566632004-01-03 10:50:24 +0000252
ibm.com!masbockaa9a9172004-08-19 13:39:10 +0000253# The list of files that go both into libunwind and libunwind-x86_64:
254libunwind_la_SOURCES_x86_64_common = $(libunwind_la_SOURCES_common) \
255 $(dwarf_SOURCES_common) \
hp.com!davidm16af7ae2005-05-03 09:13:17 +0000256 elf64.c elf64.h \
homeip.net!davidmf028c7d2004-08-20 11:26:49 +0000257 x86_64/init.h x86_64/unwind_i.h x86_64/ucontext_i.h \
Arun Sharmaef29ead2008-06-16 14:42:16 -0600258 x86_64/is_fpreg.c x86_64/regname.c
ibm.com!masbockaa9a9172004-08-19 13:39:10 +0000259
260# The list of files that go into libunwind:
261libunwind_la_SOURCES_x86_64 = $(libunwind_la_SOURCES_x86_64_common) \
262 $(libunwind_la_SOURCES_local) \
ibm.com!masbockaa9a9172004-08-19 13:39:10 +0000263 $(dwarf_SOURCES_local) \
264 dwarf/Lfind_proc_info-lsb.c \
Arun Sharmabcca3dd2007-08-07 21:09:12 -0600265 x86_64/setcontext.S \
ibm.com!masbockaa9a9172004-08-19 13:39:10 +0000266 x86_64/Lcreate_addr_space.c x86_64/Lget_save_loc.c x86_64/Lglobal.c \
267 x86_64/Linit.c x86_64/Linit_local.c x86_64/Linit_remote.c \
268 x86_64/Lis_signal_frame.c x86_64/Lget_proc_info.c x86_64/Lregs.c \
Arun Sharmaef29ead2008-06-16 14:42:16 -0600269 x86_64/Lresume.c x86_64/Lstep.c x86_64/getcontext.S
ibm.com!masbockaa9a9172004-08-19 13:39:10 +0000270
Arun Sharmabcca3dd2007-08-07 21:09:12 -0600271# The list of files that go into libunwind-x86_64:
ibm.com!masbockaa9a9172004-08-19 13:39:10 +0000272libunwind_x86_64_la_SOURCES_x86_64 = $(libunwind_la_SOURCES_x86_64_common) \
273 $(libunwind_la_SOURCES_generic) \
274 $(dwarf_SOURCES_generic) \
275 dwarf/Gfind_proc_info-lsb.c \
276 x86_64/Gcreate_addr_space.c x86_64/Gget_save_loc.c x86_64/Gglobal.c \
277 x86_64/Ginit.c x86_64/Ginit_local.c x86_64/Ginit_remote.c \
278 x86_64/Gis_signal_frame.c x86_64/Gget_proc_info.c x86_64/Gregs.c \
279 x86_64/Gresume.c x86_64/Gstep.c
280
Jose Flavio Aguilar Paulino4499bb22007-09-12 21:52:25 -0600281# The list of local files that go to Power 64 and 32:
282libunwind_la_SOURCES_ppc = ppc/Lcreate_addr_space.c \
283 ppc/Lget_proc_info.c ppc/Lget_save_loc.c ppc/Linit_local.c \
284 ppc/Linit_remote.c ppc/Lis_signal_frame.c
285
286# The list of generic files that go to Power 64 and 32:
287libunwind_ppc_la_SOURCES_ppc_generic = ppc/Gcreate_addr_space.c \
288 ppc/Gget_proc_info.c ppc/Gget_save_loc.c ppc/Ginit_local.c \
289 ppc/Ginit_remote.c ppc/Gis_signal_frame.c
290
291# The list of files that go both into libunwind and libunwind-ppc32:
292libunwind_la_SOURCES_ppc32_common = $(libunwind_la_SOURCES_common) \
293 $(dwarf_SOURCES_common) \
294 elf32.c elf32.h \
295 ppc32/init.h ppc32/unwind_i.h ppc32/ucontext_i.h \
296 ppc32/is_fpreg.c ppc32/regname.c ppc32/get_func_addr.c
297
298# The list of files that go into libunwind:
299libunwind_la_SOURCES_ppc32 = $(libunwind_la_SOURCES_ppc32_common) \
300 $(libunwind_la_SOURCES_local) \
301 $(dwarf_SOURCES_local) \
302 $(libunwind_la_SOURCES_ppc) \
303 dwarf/Lfind_proc_info-lsb.c \
304 ppc32/Lglobal.c ppc32/Linit.c \
305 ppc32/Lregs.c ppc32/Lresume.c ppc32/Lstep.c
306
307# The list of files that go into libunwind-ppc32:
308libunwind_ppc32_la_SOURCES_ppc32 = $(libunwind_la_SOURCES_ppc32_common) \
309 $(libunwind_la_SOURCES_generic) \
310 $(dwarf_SOURCES_generic) \
311 $(libunwind_ppc_la_SOURCES_ppc_generic) \
312 dwarf/Gfind_proc_info-lsb.c \
313 ppc32/Gglobal.c ppc32/Ginit.c \
314 ppc32/Gregs.c ppc32/Gresume.c ppc32/Gstep.c
315
Jose Flavio Aguilar Paulinob33021e2007-08-02 09:59:43 -0600316# The list of files that go both into libunwind and libunwind-ppc64:
317libunwind_la_SOURCES_ppc64_common = $(libunwind_la_SOURCES_common) \
318 $(dwarf_SOURCES_common) \
319 elf64.c elf64.h \
320 ppc64/init.h ppc64/unwind_i.h ppc64/ucontext_i.h \
David Mosberger-Tange6b9f352007-08-22 13:02:09 -0600321 ppc64/is_fpreg.c ppc64/regname.c ppc64/get_func_addr.c
Jose Flavio Aguilar Paulinob33021e2007-08-02 09:59:43 -0600322
323# The list of files that go into libunwind:
324libunwind_la_SOURCES_ppc64 = $(libunwind_la_SOURCES_ppc64_common) \
325 $(libunwind_la_SOURCES_local) \
326 $(dwarf_SOURCES_local) \
Jose Flavio Aguilar Paulino4499bb22007-09-12 21:52:25 -0600327 $(libunwind_la_SOURCES_ppc) \
Jose Flavio Aguilar Paulinob33021e2007-08-02 09:59:43 -0600328 dwarf/Lfind_proc_info-lsb.c \
Jose Flavio Aguilar Paulino4499bb22007-09-12 21:52:25 -0600329 ppc64/Lglobal.c ppc64/Linit.c \
330 ppc64/Lregs.c ppc64/Lresume.c ppc64/Lstep.c
Jose Flavio Aguilar Paulinob33021e2007-08-02 09:59:43 -0600331
332# The list of files that go into libunwind-ppc64:
333libunwind_ppc64_la_SOURCES_ppc64 = $(libunwind_la_SOURCES_ppc64_common) \
334 $(libunwind_la_SOURCES_generic) \
335 $(dwarf_SOURCES_generic) \
Jose Flavio Aguilar Paulino4499bb22007-09-12 21:52:25 -0600336 $(libunwind_ppc_la_SOURCES_ppc_generic) \
Jose Flavio Aguilar Paulinob33021e2007-08-02 09:59:43 -0600337 dwarf/Gfind_proc_info-lsb.c \
Jose Flavio Aguilar Paulino4499bb22007-09-12 21:52:25 -0600338 ppc64/Gglobal.c ppc64/Ginit.c \
339 ppc64/Gregs.c ppc64/Gresume.c ppc64/Gstep.c
Jose Flavio Aguilar Paulinob33021e2007-08-02 09:59:43 -0600340
mostang.com!davidm0adb97c2003-03-19 19:25:18 +0000341if REMOTE_ONLY
mostang.com!davidm0adb97c2003-03-19 19:25:18 +0000342install-exec-hook:
343# Nothing to do here....
344else
mostang.com!davidm0adb97c2003-03-19 19:25:18 +0000345#
346# This is not ideal, but I know of no other way to install an
347# alias for a library.
348#
349install-exec-hook:
hp.com!davidm16566632004-01-03 10:50:24 +0000350 $(LN_S) -f libunwind-$(arch).a $(DESTDIR)$(libdir)/libunwind-generic.a
351 $(LN_S) -f libunwind-$(arch).so \
352 $(DESTDIR)$(libdir)/libunwind-generic.so
mostang.com!davidm0adb97c2003-03-19 19:25:18 +0000353endif
354
355if OS_LINUX
hp.com!davidm051da9c2004-05-06 22:02:00 +0000356 libunwind_la_SOURCES_os = $(libunwind_la_SOURCES_os_linux)
357 libunwind_la_SOURCES_os_local = $(libunwind_la_SOURCES_os_linux_local)
mostang.com!davidm0adb97c2003-03-19 19:25:18 +0000358endif
359
mostang.com!davidm5929f8e2003-04-03 07:59:15 +0000360if OS_HPUX
hp.com!davidm051da9c2004-05-06 22:02:00 +0000361 libunwind_la_SOURCES_os = $(libunwind_la_SOURCES_os_hpux)
362 libunwind_la_SOURCES_os_local = $(libunwind_la_SOURCES_os_hpux_local)
mostang.com!davidm5929f8e2003-04-03 07:59:15 +0000363endif
364
Daniel Jacobowitz3842dac2008-02-04 17:16:37 -0700365if ARCH_ARM
366 lib_LTLIBRARIES_arch = libunwind-arm.la
367 libunwind_la_SOURCES = $(libunwind_la_SOURCES_arm)
368 libunwind_arm_la_SOURCES = $(libunwind_arm_la_SOURCES_arm)
369 libunwind_arm_la_LDFLAGS = $(COMMON_SO_LDFLAGS) -version-info $(SOVERSION)
370if !REMOTE_ONLY
371 libunwind_arm_la_LIBADD = libunwind.la -lc
372endif
373 libunwind_setjmp_la_SOURCES = $(libunwind_setjmp_la_SOURCES_common) \
374 $(libunwind_setjmp_la_SOURCES_arm)
375else
hp.com!davidm6432d812002-04-05 23:37:55 +0000376if ARCH_IA64
hp.com!davidmf9c59cd2004-08-18 10:43:50 +0000377 ia64_mk_Gcursor_i_SOURCES = ia64/mk_Gcursor_i.c
378 ia64_mk_Lcursor_i_SOURCES = ia64/mk_Lcursor_i.c
homeip.net!davidmbf2c4542004-08-17 15:34:28 +0000379 noinst_PROGRAMS = ia64/mk_Gcursor_i ia64/mk_Lcursor_i
mostang.com!davidm8e85e812003-04-23 19:22:42 +0000380 BUILT_SOURCES = Gcursor_i.h Lcursor_i.h
homeip.net!davidmbf2c4542004-08-17 15:34:28 +0000381Gcursor_i.h: ia64/mk_Gcursor_i
382 ia64/mk_Gcursor_i > $@
383Lcursor_i.h: ia64/mk_Lcursor_i
384 ia64/mk_Lcursor_i > $@
mostang.com!davidmad7f1472003-02-08 10:10:59 +0000385 lib_LTLIBRARIES_arch = libunwind-ia64.la
hp.com!davidm16566632004-01-03 10:50:24 +0000386 libunwind_la_SOURCES = $(libunwind_la_SOURCES_ia64)
387 libunwind_ia64_la_SOURCES = $(libunwind_ia64_la_SOURCES_ia64)
hp.com!davidmed32b992004-04-20 16:53:44 +0000388 libunwind_ia64_la_LDFLAGS = $(COMMON_SO_LDFLAGS) -version-info $(SOVERSION)
hp.com!davidmf06787a2004-01-22 08:36:15 +0000389if !REMOTE_ONLY
hp.com!davidmed32b992004-04-20 16:53:44 +0000390 libunwind_ia64_la_LIBADD = libunwind.la -lc
hp.com!davidmf06787a2004-01-22 08:36:15 +0000391endif
mostang.com!davidmad7f1472003-02-08 10:10:59 +0000392 libunwind_setjmp_la_SOURCES = $(libunwind_setjmp_la_SOURCES_common) \
393 $(libunwind_setjmp_la_SOURCES_ia64)
hp.com!davidm6432d812002-04-05 23:37:55 +0000394else
mostang.com!davidmf6c7a652003-01-14 07:11:56 +0000395if ARCH_HPPA
mostang.com!davidmad7f1472003-02-08 10:10:59 +0000396 lib_LTLIBRARIES_arch = libunwind-hppa.la
hp.com!davidm16566632004-01-03 10:50:24 +0000397 libunwind_la_SOURCES = $(libunwind_la_SOURCES_hppa)
hp.com!davidmf06787a2004-01-22 08:36:15 +0000398 libunwind_hppa_la_SOURCES = $(libunwind_hppa_la_SOURCES_hppa)
hp.com!davidmed32b992004-04-20 16:53:44 +0000399 libunwind_hppa_la_LDFLAGS = $(COMMON_SO_LDFLAGS) -version-info $(SOVERSION)
hp.com!davidmf06787a2004-01-22 08:36:15 +0000400if !REMOTE_ONLY
hp.com!davidmed32b992004-04-20 16:53:44 +0000401 libunwind_hppa_la_LIBADD = libunwind.la -lc
hp.com!davidmf06787a2004-01-22 08:36:15 +0000402endif
mostang.com!davidmad7f1472003-02-08 10:10:59 +0000403 libunwind_setjmp_la_SOURCES = $(libunwind_setjmp_la_SOURCES_common) \
404 $(libunwind_setjmp_la_SOURCES_hppa)
mostang.com!davidmf6c7a652003-01-14 07:11:56 +0000405else
Daniel Jacobowitz3842dac2008-02-04 17:16:37 -0700406if ARCH_MIPS
407 lib_LTLIBRARIES_arch = libunwind-mips.la
408 libunwind_la_SOURCES = $(libunwind_la_SOURCES_mips)
409 libunwind_mips_la_SOURCES = $(libunwind_mips_la_SOURCES_mips)
410 libunwind_mips_la_LDFLAGS = $(COMMON_SO_LDFLAGS) -version-info $(SOVERSION)
411if !REMOTE_ONLY
412 libunwind_mips_la_LIBADD = libunwind.la -lc
413endif
414 libunwind_setjmp_la_SOURCES = $(libunwind_setjmp_la_SOURCES_common) \
415 $(libunwind_setjmp_la_SOURCES_mips)
416else
mostang.com!davidm3ae9b812002-12-19 07:16:50 +0000417if ARCH_X86
mostang.com!davidmad7f1472003-02-08 10:10:59 +0000418 lib_LTLIBRARIES_arch = libunwind-x86.la
hp.com!davidm16566632004-01-03 10:50:24 +0000419 libunwind_la_SOURCES = $(libunwind_la_SOURCES_x86)
hp.com!davidmf06787a2004-01-22 08:36:15 +0000420 libunwind_x86_la_SOURCES = $(libunwind_x86_la_SOURCES_x86)
hp.com!davidmed32b992004-04-20 16:53:44 +0000421 libunwind_x86_la_LDFLAGS = $(COMMON_SO_LDFLAGS) -version-info $(SOVERSION)
hp.com!davidmf06787a2004-01-22 08:36:15 +0000422if !REMOTE_ONLY
hp.com!davidmed32b992004-04-20 16:53:44 +0000423 libunwind_x86_la_LIBADD = libunwind.la -lc
hp.com!davidmf06787a2004-01-22 08:36:15 +0000424endif
mostang.com!davidmad7f1472003-02-08 10:10:59 +0000425 libunwind_setjmp_la_SOURCES = $(libunwind_setjmp_la_SOURCES_common) \
426 $(libunwind_setjmp_la_SOURCES_x86)
ibm.com!masbockaa9a9172004-08-19 13:39:10 +0000427else
428if ARCH_X86_64
429 lib_LTLIBRARIES_arch = libunwind-x86_64.la
430 libunwind_la_SOURCES = $(libunwind_la_SOURCES_x86_64)
431 libunwind_x86_64_la_SOURCES = $(libunwind_x86_64_la_SOURCES_x86_64)
432 libunwind_x86_64_la_LDFLAGS = $(COMMON_SO_LDFLAGS) -version-info $(SOVERSION)
433if !REMOTE_ONLY
434 libunwind_x86_64_la_LIBADD = libunwind.la -lc
435endif
436 libunwind_setjmp_la_SOURCES = $(libunwind_setjmp_la_SOURCES_common) \
437 $(libunwind_setjmp_la_SOURCES_x86_64)
Jose Flavio Aguilar Paulino4499bb22007-09-12 21:52:25 -0600438else
439if ARCH_PPC32
440 lib_LTLIBRARIES_arch = libunwind-ppc32.la
441 libunwind_la_SOURCES = $(libunwind_la_SOURCES_ppc32)
442 libunwind_ppc32_la_SOURCES = $(libunwind_ppc32_la_SOURCES_ppc32)
443 libunwind_ppc32_la_LDFLAGS = $(COMMON_SO_LDFLAGS) -version-info $(SOVERSION)
444if !REMOTE_ONLY
445 libunwind_ppc32_la_LIBADD = libunwind.la -lc
446endif
447 libunwind_setjmp_la_SOURCES = $(libunwind_setjmp_la_SOURCES_common) \
448 $(libunwind_setjmp_la_SOURCES_ppc32)
Jose Flavio Aguilar Paulinob33021e2007-08-02 09:59:43 -0600449else
450if ARCH_PPC64
451 lib_LTLIBRARIES_arch = libunwind-ppc64.la
452 libunwind_la_SOURCES = $(libunwind_la_SOURCES_ppc64)
453 libunwind_ppc64_la_SOURCES = $(libunwind_ppc64_la_SOURCES_ppc64)
454 libunwind_ppc64_la_LDFLAGS = $(COMMON_SO_LDFLAGS) -version-info $(SOVERSION)
455if !REMOTE_ONLY
456 libunwind_ppc64_la_LIBADD = libunwind.la -lc
457endif
458 libunwind_setjmp_la_SOURCES = $(libunwind_setjmp_la_SOURCES_common) \
459 $(libunwind_setjmp_la_SOURCES_ppc64)
460
461endif # ARCH_PPC64
Jose Flavio Aguilar Paulino4499bb22007-09-12 21:52:25 -0600462endif # ARCH_PPC32
ibm.com!masbockaa9a9172004-08-19 13:39:10 +0000463endif # ARCH_X86_64
mostang.com!davidmf6c7a652003-01-14 07:11:56 +0000464endif # ARCH_X86
Daniel Jacobowitz3842dac2008-02-04 17:16:37 -0700465endif # ARCH_MIPS
mostang.com!davidmf6c7a652003-01-14 07:11:56 +0000466endif # ARCH_HPPA
467endif # ARCH_IA64
Daniel Jacobowitz3842dac2008-02-04 17:16:37 -0700468endif # ARCH_ARM
mostang.com!davidm00abcc62002-04-19 05:35:46 +0000469
hp.com!davidm16af7ae2005-05-03 09:13:17 +0000470#
471# Don't link with standard libraries, because those may mention
472# libunwind already.
473#
474libunwind_la_LDFLAGS = $(COMMON_SO_LDFLAGS) -XCClinker -nostdlib \
475 $(LDFLAGS_STATIC_LIBCXA) -version-info $(SOVERSION)
hp.com!davidm27a90672004-11-03 21:50:24 +0000476libunwind_la_LIBADD = -lc $(LIBCRTS)
hp.com!davidm16566632004-01-03 10:50:24 +0000477
478lib_LIBRARIES = $(LIBRARIES_cdep)
homeip.net!davidmf028c7d2004-08-20 11:26:49 +0000479lib_LTLIBRARIES = $(lib_LTLIBRARIES_cdep) $(lib_LTLIBRARIES_arch) \
480 $(lib_LTLIBRARIES_cdep_setjmp)
mostang.com!davidmad7f1472003-02-08 10:10:59 +0000481
hp.com!davidm3e8a5022005-05-20 09:48:08 +0000482AM_CPPFLAGS = -I$(top_srcdir)/include -I$(top_srcdir)/include/tdep-$(arch) -I.
mostang.com!davidmad7f1472003-02-08 10:10:59 +0000483AM_CCASFLAGS = $(AM_CPPFLAGS)
hp.com!davidm6432d812002-04-05 23:37:55 +0000484
hp.com!davidm22d6f352004-08-26 10:02:46 +0000485EXTRA_DIST = elfxx.h elfxx.c unwind/unwind-internal.h \
Daniel Jacobowitz3842dac2008-02-04 17:16:37 -0700486 $(libunwind_la_SOURCES_arm) \
hp.com!davidm22d6f352004-08-26 10:02:46 +0000487 $(libunwind_la_SOURCES_hppa) \
488 $(libunwind_la_SOURCES_ia64) \
Daniel Jacobowitz3842dac2008-02-04 17:16:37 -0700489 $(libunwind_la_SOURCES_mips) \
hp.com!davidm22d6f352004-08-26 10:02:46 +0000490 $(libunwind_la_SOURCES_x86) \
491 $(libunwind_la_SOURCES_os_linux) \
492 $(libunwind_la_SOURCES_os_hpux) \
493 $(libunwind_la_SOURCES_common) \
494 $(libunwind_la_SOURCES_local) \
495 $(libunwind_la_SOURCES_generic) \
Daniel Jacobowitz3842dac2008-02-04 17:16:37 -0700496 $(libunwind_arm_la_SOURCES_arm) \
hp.com!davidm22d6f352004-08-26 10:02:46 +0000497 $(libunwind_hppa_la_SOURCES_hppa) \
498 $(libunwind_ia64_la_SOURCES_ia64) \
Daniel Jacobowitz3842dac2008-02-04 17:16:37 -0700499 $(libunwind_mips_la_SOURCES_mips) \
hp.com!davidm22d6f352004-08-26 10:02:46 +0000500 $(libunwind_x86_la_SOURCES_x86) \
501 $(libunwind_x86_64_la_SOURCES_x86_64) \
502 $(libunwind_ptrace_a_SOURCES) \
503 $(libunwind_setjmp_la_SOURCES_common) \
Daniel Jacobowitz3842dac2008-02-04 17:16:37 -0700504 $(libunwind_setjmp_la_SOURCES_arm) \
hp.com!davidm22d6f352004-08-26 10:02:46 +0000505 $(libunwind_setjmp_la_SOURCES_hppa) \
506 $(libunwind_setjmp_la_SOURCES_ia64) \
Daniel Jacobowitz3842dac2008-02-04 17:16:37 -0700507 $(libunwind_setjmp_la_SOURCES_mips) \
hp.com!davidm22d6f352004-08-26 10:02:46 +0000508 $(libunwind_setjmp_la_SOURCES_x86) \
Jose Flavio Aguilar Paulinob33021e2007-08-02 09:59:43 -0600509 $(libunwind_setjmp_la_SOURCES_x86_64) \
Jose Flavio Aguilar Paulino4499bb22007-09-12 21:52:25 -0600510 $(libunwind_setjmp_la_SOURCES_ppc32) \
Jose Flavio Aguilar Paulinob33021e2007-08-02 09:59:43 -0600511 $(libunwind_setjmp_la_SOURCES_ppc64)
512
mostang.com!davidm0adb97c2003-03-19 19:25:18 +0000513
mostang.com!davidm83b038d2002-02-28 16:24:48 +0000514# The -version-info flag accepts an argument of the form
515# `current[:revision[:age]]'. So, passing `-version-info 3:12:1' sets
516# current to 3, revision to 12, and age to 1.
517
518# If either revision or age are omitted, they default to 0. Also note
519# that age must be less than or equal to the current interface number.
520
521# Here are a set of rules to help you update your library version
522# information:
523
524# 1. Start with version information of `0:0:0' for each libtool
525# library.
526
527# 2. Update the version information only immediately before a public
528# release of your software. More frequent updates are unnecessary,
529# and only guarantee that the current interface number gets larger
530# faster.
531
532# 3. If the library source code has changed at all since the last
533# update, then increment revision (`c:r:a' becomes `c:r+1:a').
534
535# 4. If any interfaces have been added, removed, or changed since the
536# last update, increment current, and set revision to 0.
537
538# 5. If any interfaces have been added since the last public release,
539# then increment age.
540
541# 6. If any interfaces have been removed since the last public
542# release, then set age to 0.