• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1SOVERSION=8:1:0		# See comments at end of file.
2SETJMP_SO_VERSION=0:0:0
3COREDUMP_SO_VERSION=0:0:0
4#
5# Don't link with start-files since we don't use any constructors/destructors:
6#
7COMMON_SO_LDFLAGS = $(LDFLAGS_NOSTARTFILES)
8
9lib_LIBRARIES =
10lib_LTLIBRARIES =
11if !REMOTE_ONLY
12lib_LTLIBRARIES += libunwind.la
13if BUILD_PTRACE
14lib_LTLIBRARIES += libunwind-ptrace.la
15endif
16if BUILD_COREDUMP
17lib_LTLIBRARIES += libunwind-coredump.la
18endif
19endif
20
21noinst_HEADERS =
22noinst_LTLIBRARIES =
23
24pkgconfigdir = $(libdir)/pkgconfig
25pkgconfig_DATA = libunwind-generic.pc
26
27if !REMOTE_ONLY
28pkgconfig_DATA += unwind/libunwind.pc
29endif
30
31if BUILD_PTRACE
32pkgconfig_DATA += ptrace/libunwind-ptrace.pc
33endif
34
35if BUILD_SETJMP
36pkgconfig_DATA += setjmp/libunwind-setjmp.pc
37endif
38
39if BUILD_COREDUMP
40pkgconfig_DATA += coredump/libunwind-coredump.pc
41endif
42
43### libunwind-ptrace:
44libunwind_ptrace_la_SOURCES =						  \
45	ptrace/_UPT_elf.c						  \
46	ptrace/_UPT_accessors.c ptrace/_UPT_access_fpreg.c		  \
47	ptrace/_UPT_access_mem.c ptrace/_UPT_access_reg.c		  \
48	ptrace/_UPT_create.c ptrace/_UPT_destroy.c			  \
49	ptrace/_UPT_find_proc_info.c ptrace/_UPT_get_dyn_info_list_addr.c \
50	ptrace/_UPT_put_unwind_info.c ptrace/_UPT_get_proc_name.c	  \
51	ptrace/_UPT_reg_offset.c ptrace/_UPT_resume.c
52noinst_HEADERS += ptrace/_UPT_internal.h
53
54### libunwind-coredump:
55libunwind_coredump_la_SOURCES = \
56	coredump/_UCD_accessors.c \
57	coredump/_UCD_create.c \
58	coredump/_UCD_destroy.c \
59	coredump/_UCD_access_mem.c \
60	coredump/_UCD_elf_map_image.c \
61	coredump/_UCD_find_proc_info.c \
62	coredump/_UCD_get_proc_name.c \
63	coredump/_UCD_corefile_elf.c \
64	\
65	coredump/_UPT_elf.c \
66	coredump/_UPT_access_fpreg.c \
67	coredump/_UPT_get_dyn_info_list_addr.c \
68	coredump/_UPT_put_unwind_info.c \
69	coredump/_UPT_resume.c
70libunwind_coredump_la_LDFLAGS = $(COMMON_SO_LDFLAGS) \
71				-version-info $(COREDUMP_SO_VERSION)
72libunwind_coredump_la_LIBADD = $(LIBLZMA) $(LIBZ)
73noinst_HEADERS += coredump/_UCD_internal.h coredump/_UCD_lib.h
74
75### libunwind-setjmp:
76libunwind_setjmp_la_LDFLAGS		= $(COMMON_SO_LDFLAGS)		     \
77					  -version-info $(SETJMP_SO_VERSION)
78
79if USE_ELF32
80LIBUNWIND_ELF = libunwind-elf32.la
81endif
82if USE_ELF64
83LIBUNWIND_ELF = libunwind-elf64.la
84endif
85if USE_ELFXX
86LIBUNWIND_ELF = libunwind-elfxx.la
87endif
88
89libunwind_setjmp_la_LIBADD		= $(LIBUNWIND_ELF)	\
90					  libunwind-$(arch).la	\
91					  libunwind.la -lc
92libunwind_setjmp_la_SOURCES		= setjmp/longjmp.c	\
93					  setjmp/siglongjmp.c
94noinst_HEADERS				+= setjmp/setjmp_i.h
95
96### libunwind:
97libunwind_la_LIBADD =
98
99# List of arch-independent files needed by both local-only and generic
100# libraries:
101libunwind_la_SOURCES_common =					\
102	$(libunwind_la_SOURCES_os)				\
103	mi/init.c mi/flush_cache.c mi/mempool.c mi/strerror.c
104
105# List of arch-independent files needed by generic library (libunwind-$ARCH):
106libunwind_la_SOURCES_generic =						\
107	mi/Gdyn-extract.c mi/Gdyn-remote.c mi/Gfind_dynamic_proc_info.c	\
108	mi/Gget_accessors.c						\
109	mi/Gget_proc_info_by_ip.c mi/Gget_proc_name.c			\
110	mi/Gput_dynamic_unwind_info.c mi/Gdestroy_addr_space.c		\
111	mi/Gget_reg.c mi/Gset_reg.c					\
112	mi/Gget_fpreg.c mi/Gset_fpreg.c					\
113	mi/Gset_caching_policy.c					\
114	mi/Gset_cache_size.c
115
116if SUPPORT_CXX_EXCEPTIONS
117libunwind_la_SOURCES_local_unwind =					\
118	unwind/Backtrace.c unwind/DeleteException.c			\
119	unwind/FindEnclosingFunction.c unwind/ForcedUnwind.c		\
120	unwind/GetBSP.c unwind/GetCFA.c unwind/GetDataRelBase.c		\
121	unwind/GetGR.c unwind/GetIP.c unwind/GetLanguageSpecificData.c	\
122	unwind/GetRegionStart.c unwind/GetTextRelBase.c			\
123	unwind/RaiseException.c unwind/Resume.c				\
124	unwind/Resume_or_Rethrow.c unwind/SetGR.c unwind/SetIP.c	\
125	unwind/GetIPInfo.c
126
127#  _ReadULEB()/_ReadSLEB() are needed for Intel C++ 8.0 compatibility
128libunwind_la_SOURCES_os_linux_local = mi/_ReadULEB.c mi/_ReadSLEB.c
129endif
130
131# List of arch-independent files needed by local-only library (libunwind):
132libunwind_la_SOURCES_local_nounwind =					\
133	$(libunwind_la_SOURCES_os_local)				\
134	mi/backtrace.c							\
135	mi/dyn-cancel.c mi/dyn-info-list.c mi/dyn-register.c		\
136	mi/Ldyn-extract.c mi/Lfind_dynamic_proc_info.c			\
137	mi/Lget_accessors.c						\
138	mi/Lget_proc_info_by_ip.c mi/Lget_proc_name.c			\
139	mi/Lput_dynamic_unwind_info.c mi/Ldestroy_addr_space.c		\
140	mi/Lget_reg.c   mi/Lset_reg.c					\
141	mi/Lget_fpreg.c mi/Lset_fpreg.c					\
142	mi/Lset_caching_policy.c					\
143	mi/Lset_cache_size.c
144
145libunwind_la_SOURCES_local =						\
146	$(libunwind_la_SOURCES_local_nounwind)				\
147	$(libunwind_la_SOURCES_local_unwind)
148
149noinst_HEADERS += os-linux.h
150libunwind_la_SOURCES_os_linux = os-linux.c dl-iterate-phdr.c
151
152libunwind_la_SOURCES_os_hpux = os-hpux.c
153
154libunwind_la_SOURCES_os_freebsd = os-freebsd.c
155
156libunwind_la_SOURCES_os_qnx = os-qnx.c
157
158libunwind_la_SOURCES_os_solaris = os-solaris.c
159
160libunwind_dwarf_common_la_SOURCES = dwarf/global.c
161
162libunwind_dwarf_local_la_SOURCES = \
163	dwarf/Lexpr.c dwarf/Lfde.c dwarf/Lparser.c dwarf/Lpe.c \
164	dwarf/Lfind_proc_info-lsb.c \
165	dwarf/Lfind_unwind_table.c
166libunwind_dwarf_local_la_LIBADD = libunwind-dwarf-common.la
167
168libunwind_dwarf_generic_la_SOURCES = \
169	dwarf/Gexpr.c dwarf/Gfde.c dwarf/Gparser.c dwarf/Gpe.c \
170	dwarf/Gfind_proc_info-lsb.c \
171	dwarf/Gfind_unwind_table.c
172libunwind_dwarf_generic_la_LIBADD = libunwind-dwarf-common.la
173
174if USE_DWARF
175 noinst_LTLIBRARIES += libunwind-dwarf-common.la libunwind-dwarf-generic.la
176if !REMOTE_ONLY
177 noinst_LTLIBRARIES += libunwind-dwarf-local.la
178endif
179 libunwind_la_LIBADD += libunwind-dwarf-local.la
180endif
181
182noinst_HEADERS += elf32.h elf64.h elfxx.h
183
184libunwind_elf32_la_SOURCES = elf32.c
185libunwind_elf64_la_SOURCES = elf64.c
186libunwind_elfxx_la_SOURCES = elfxx.c
187libunwind_elf32_la_LIBADD  = $(LIBLZMA) $(LIBZ)
188libunwind_elf64_la_LIBADD  = $(LIBLZMA) $(LIBZ)
189libunwind_elfxx_la_LIBADD  = $(LIBLZMA) $(LIBZ)
190
191noinst_LTLIBRARIES += $(LIBUNWIND_ELF)
192libunwind_la_LIBADD += $(LIBUNWIND_ELF)
193
194# The list of files that go into libunwind and libunwind-aarch64:
195noinst_HEADERS += aarch64/init.h aarch64/offsets.h aarch64/unwind_i.h
196libunwind_la_SOURCES_aarch64_common = $(libunwind_la_SOURCES_common)	    \
197	aarch64/is_fpreg.c aarch64/regname.c
198
199# The list of files that go into libunwind:
200libunwind_la_SOURCES_aarch64 = $(libunwind_la_SOURCES_aarch64_common)	    \
201	$(libunwind_la_SOURCES_local)					    \
202	aarch64/Lapply_reg_state.c aarch64/Lreg_states_iterate.c	    \
203	aarch64/Lcreate_addr_space.c aarch64/Lget_proc_info.c 		    \
204	aarch64/Lget_save_loc.c aarch64/Lglobal.c aarch64/Linit.c	    \
205	aarch64/Linit_local.c aarch64/Linit_remote.c 			    \
206	aarch64/Lis_signal_frame.c aarch64/Lregs.c aarch64/Lresume.c 	    \
207	aarch64/Lstash_frame.c aarch64/Lstep.c aarch64/Ltrace.c		    \
208	aarch64/getcontext.S
209
210libunwind_aarch64_la_SOURCES_aarch64 = $(libunwind_la_SOURCES_aarch64_common) \
211	$(libunwind_la_SOURCES_generic)					      \
212	aarch64/Gapply_reg_state.c aarch64/Greg_states_iterate.c	      \
213	aarch64/Gcreate_addr_space.c aarch64/Gget_proc_info.c 		      \
214	aarch64/Gget_save_loc.c aarch64/Gglobal.c aarch64/Ginit.c 	      \
215	aarch64/Ginit_local.c aarch64/Ginit_remote.c			      \
216	aarch64/Gis_signal_frame.c aarch64/Gregs.c aarch64/Gresume.c	      \
217	aarch64/Gstash_frame.c aarch64/Gstep.c aarch64/Gtrace.c
218
219# The list of files that go into libunwind and libunwind-arm:
220noinst_HEADERS += arm/init.h arm/offsets.h arm/unwind_i.h
221libunwind_la_SOURCES_arm_common = $(libunwind_la_SOURCES_common)	    \
222	arm/is_fpreg.c arm/regname.c
223
224# The list of files that go into libunwind:
225libunwind_la_SOURCES_arm = $(libunwind_la_SOURCES_arm_common)		    \
226	$(libunwind_la_SOURCES_arm_os_local)				    \
227	$(libunwind_la_SOURCES_local)					    \
228	arm/getcontext.S						    \
229	arm/Lapply_reg_state.c arm/Lreg_states_iterate.c		    \
230	arm/Lcreate_addr_space.c arm/Lget_proc_info.c arm/Lget_save_loc.c   \
231	arm/Lglobal.c arm/Linit.c arm/Linit_local.c arm/Linit_remote.c	    \
232	arm/Lregs.c arm/Lresume.c arm/Lstep.c				    \
233	arm/Lex_tables.c arm/Lstash_frame.c arm/Ltrace.c
234
235# The list of files that go into libunwind-arm:
236libunwind_arm_la_SOURCES_arm = $(libunwind_la_SOURCES_arm_common)	    \
237	$(libunwind_la_SOURCES_arm_os)					    \
238	$(libunwind_la_SOURCES_generic)					    \
239	arm/Gapply_reg_state.c arm/Greg_states_iterate.c		    \
240	arm/Gcreate_addr_space.c arm/Gget_proc_info.c arm/Gget_save_loc.c   \
241	arm/Gglobal.c arm/Ginit.c arm/Ginit_local.c arm/Ginit_remote.c	    \
242	arm/Gregs.c arm/Gresume.c arm/Gstep.c				    \
243	arm/Gex_tables.c arm/Gstash_frame.c arm/Gtrace.c
244
245# The list of files that go both into libunwind and libunwind-ia64:
246noinst_HEADERS += ia64/init.h ia64/offsets.h ia64/regs.h		    \
247	ia64/ucontext_i.h ia64/unwind_decoder.h ia64/unwind_i.h
248libunwind_la_SOURCES_ia64_common = $(libunwind_la_SOURCES_common)	    \
249	ia64/regname.c
250libunwind_la_EXTRAS_ia64 = ia64/mk_cursor_i ia64/mk_Lcursor_i.c	    \
251	ia64/mk_Gcursor_i.c
252
253# The list of files that go into libunwind:
254libunwind_la_SOURCES_ia64 = $(libunwind_la_SOURCES_ia64_common)		     \
255	$(libunwind_la_SOURCES_local)					     \
256									     \
257	ia64/dyn_info_list.S ia64/getcontext.S				     \
258									     \
259	ia64/Lapply_reg_state.c ia64/Lreg_states_iterate.c		     \
260	ia64/Lcreate_addr_space.c ia64/Lget_proc_info.c ia64/Lget_save_loc.c \
261	ia64/Lglobal.c ia64/Linit.c ia64/Linit_local.c ia64/Linit_remote.c   \
262	ia64/Linstall_cursor.S ia64/Lis_signal_frame.c ia64/Lparser.c	     \
263	ia64/Lrbs.c ia64/Lregs.c ia64/Lresume.c ia64/Lscript.c ia64/Lstep.c  \
264	ia64/Ltables.c ia64/Lfind_unwind_table.c
265
266# The list of files that go into libunwind-ia64:
267libunwind_ia64_la_SOURCES_ia64 = $(libunwind_la_SOURCES_ia64_common)	     \
268	$(libunwind_la_SOURCES_generic)					     \
269	ia64/Gapply_reg_state.c ia64/Greg_states_iterate.c		     \
270	ia64/Gcreate_addr_space.c ia64/Gget_proc_info.c ia64/Gget_save_loc.c \
271	ia64/Gglobal.c ia64/Ginit.c ia64/Ginit_local.c ia64/Ginit_remote.c   \
272	ia64/Ginstall_cursor.S ia64/Gis_signal_frame.c ia64/Gparser.c	     \
273	ia64/Grbs.c ia64/Gregs.c ia64/Gresume.c ia64/Gscript.c ia64/Gstep.c  \
274	ia64/Gtables.c ia64/Gfind_unwind_table.c
275
276# The list of files that go both into libunwind and libunwind-hppa:
277noinst_HEADERS += hppa/init.h hppa/offsets.h hppa/unwind_i.h
278libunwind_la_SOURCES_hppa_common = $(libunwind_la_SOURCES_common)	\
279	hppa/regname.c
280
281# The list of files that go into libunwind:
282libunwind_la_SOURCES_hppa = $(libunwind_la_SOURCES_hppa_common)		\
283	$(libunwind_la_SOURCES_local)					\
284	hppa/getcontext.S hppa/setcontext.S				\
285	hppa/Lapply_reg_state.c hppa/Lreg_states_iterate.c		\
286	hppa/Lcreate_addr_space.c hppa/Lget_save_loc.c hppa/Lglobal.c	\
287	hppa/Linit.c hppa/Linit_local.c hppa/Linit_remote.c		\
288	hppa/Lis_signal_frame.c hppa/Lget_proc_info.c hppa/Lregs.c	\
289	hppa/Lresume.c hppa/Lstep.c
290
291# The list of files that go into libunwind-hppa:
292libunwind_hppa_la_SOURCES_hppa = $(libunwind_la_SOURCES_hppa_common)	\
293	$(libunwind_la_SOURCES_generic)					\
294	hppa/Gapply_reg_state.c hppa/Greg_states_iterate.c		\
295	hppa/Gcreate_addr_space.c hppa/Gget_save_loc.c hppa/Gglobal.c	\
296	hppa/Ginit.c hppa/Ginit_local.c hppa/Ginit_remote.c		\
297	hppa/Gis_signal_frame.c hppa/Gget_proc_info.c hppa/Gregs.c	\
298	hppa/Gresume.c hppa/Gstep.c
299
300# The list of files that go info libunwind and libunwind-mips:
301noinst_HEADERS += mips/init.h mips/offsets.h mips/unwind_i.h
302libunwind_la_SOURCES_mips_common = $(libunwind_la_SOURCES_common)	    \
303	mips/is_fpreg.c mips/regname.c
304
305# The list of files that go into libunwind:
306libunwind_la_SOURCES_mips = $(libunwind_la_SOURCES_mips_common)		    \
307	$(libunwind_la_SOURCES_local)					    \
308	mips/getcontext.S						    \
309	mips/Lapply_reg_state.c mips/Lreg_states_iterate.c		    \
310	mips/Lcreate_addr_space.c mips/Lget_proc_info.c mips/Lget_save_loc.c   \
311	mips/Lglobal.c mips/Linit.c mips/Linit_local.c mips/Linit_remote.c  \
312	mips/Lis_signal_frame.c mips/Lregs.c mips/Lresume.c mips/Lstep.c
313
314libunwind_mips_la_SOURCES_mips = $(libunwind_la_SOURCES_mips_common)	    \
315	$(libunwind_la_SOURCES_generic)					    \
316	mips/Gapply_reg_state.c mips/Greg_states_iterate.c		    \
317	mips/Gcreate_addr_space.c mips/Gget_proc_info.c mips/Gget_save_loc.c   \
318	mips/Gglobal.c mips/Ginit.c mips/Ginit_local.c mips/Ginit_remote.c	    \
319	mips/Gis_signal_frame.c mips/Gregs.c mips/Gresume.c mips/Gstep.c
320
321# The list of files that go info libunwind and libunwind-tilegx:
322noinst_HEADERS += tilegx/init.h tilegx/offsets.h tilegx/unwind_i.h
323libunwind_la_SOURCES_tilegx_common = $(libunwind_la_SOURCES_common)	    \
324	tilegx/is_fpreg.c tilegx/regname.c
325
326# The list of files that go into libunwind:
327libunwind_la_SOURCES_tilegx = $(libunwind_la_SOURCES_tilegx_common)		    \
328	$(libunwind_la_SOURCES_local)					    \
329	tilegx/getcontext.S						\
330	tilegx/Lapply_reg_state.c tilegx/Lreg_states_iterate.c		    \
331	tilegx/Lcreate_addr_space.c tilegx/Lget_proc_info.c tilegx/Lget_save_loc.c   \
332	tilegx/Lglobal.c tilegx/Linit.c tilegx/Linit_local.c tilegx/Linit_remote.c  \
333	tilegx/Lis_signal_frame.c tilegx/Lregs.c tilegx/Lresume.c tilegx/Lstep.c
334
335libunwind_tilegx_la_SOURCES_tilegx = $(libunwind_la_SOURCES_tilegx_common)	    \
336	$(libunwind_la_SOURCES_generic)					    \
337	tilegx/Gapply_reg_state.c tilegx/Greg_states_iterate.c			     \
338	tilegx/Gcreate_addr_space.c tilegx/Gget_proc_info.c tilegx/Gget_save_loc.c   \
339	tilegx/Gglobal.c tilegx/Ginit.c tilegx/Ginit_local.c tilegx/Ginit_remote.c	    \
340	tilegx/Gis_signal_frame.c tilegx/Gregs.c tilegx/Gresume.c tilegx/Gstep.c
341
342# The list of files that go info libunwind and libunwind-riscv:
343noinst_HEADERS += riscv/init.h riscv/offsets.h riscv/unwind_i.h
344libunwind_la_SOURCES_riscv_common = $(libunwind_la_SOURCES_common)	    \
345	riscv/is_fpreg.c riscv/regname.c
346
347# The list of files that go into libunwind:
348libunwind_la_SOURCES_riscv = $(libunwind_la_SOURCES_riscv_common)		    \
349	$(libunwind_la_SOURCES_local)					    \
350	riscv/getcontext.S riscv/setcontext.S \
351	riscv/Lapply_reg_state.c riscv/Lreg_states_iterate.c		    \
352	riscv/Lcreate_addr_space.c riscv/Lget_proc_info.c riscv/Lget_save_loc.c   \
353	riscv/Lglobal.c riscv/Linit.c riscv/Linit_local.c riscv/Linit_remote.c  \
354	riscv/Lis_signal_frame.c riscv/Lregs.c riscv/Lresume.c riscv/Lstep.c
355
356libunwind_riscv_la_SOURCES_riscv = $(libunwind_la_SOURCES_riscv_common)	    \
357	$(libunwind_la_SOURCES_generic)					    \
358	riscv/Gapply_reg_state.c riscv/Greg_states_iterate.c			     \
359	riscv/Gcreate_addr_space.c riscv/Gget_proc_info.c riscv/Gget_save_loc.c   \
360	riscv/Gglobal.c riscv/Ginit.c riscv/Ginit_local.c riscv/Ginit_remote.c	    \
361	riscv/Gis_signal_frame.c riscv/Gregs.c riscv/Gresume.c riscv/Gstep.c
362
363# The list of files that go both into libunwind and libunwind-x86:
364noinst_HEADERS += x86/init.h x86/offsets.h x86/unwind_i.h
365libunwind_la_SOURCES_x86_common = $(libunwind_la_SOURCES_common)	\
366	x86/is_fpreg.c x86/regname.c
367
368# The list of files that go into libunwind:
369libunwind_la_SOURCES_x86 = $(libunwind_la_SOURCES_x86_common)		\
370        $(libunwind_la_SOURCES_x86_os_local)				\
371	$(libunwind_la_SOURCES_local)					\
372	x86/Lapply_reg_state.c x86/Lreg_states_iterate.c		\
373	x86/Lcreate_addr_space.c x86/Lget_save_loc.c x86/Lglobal.c	\
374	x86/Linit.c x86/Linit_local.c x86/Linit_remote.c		\
375	x86/Lget_proc_info.c x86/Lregs.c				\
376	x86/Lresume.c x86/Lstep.c
377
378# The list of files that go into libunwind-x86:
379libunwind_x86_la_SOURCES_x86 = $(libunwind_la_SOURCES_x86_common)	\
380        $(libunwind_la_SOURCES_x86_os)					\
381	$(libunwind_la_SOURCES_generic)					\
382	x86/Gapply_reg_state.c x86/Greg_states_iterate.c		\
383	x86/Gcreate_addr_space.c x86/Gget_save_loc.c x86/Gglobal.c	\
384	x86/Ginit.c x86/Ginit_local.c x86/Ginit_remote.c		\
385	x86/Gget_proc_info.c x86/Gregs.c				\
386	x86/Gresume.c x86/Gstep.c
387
388# The list of files that go both into libunwind and libunwind-x86_64:
389noinst_HEADERS += x86_64/offsets.h					\
390	x86_64/init.h x86_64/unwind_i.h x86_64/ucontext_i.h
391libunwind_la_SOURCES_x86_64_common = $(libunwind_la_SOURCES_common)	\
392	x86_64/is_fpreg.c x86_64/regname.c
393
394# The list of files that go into libunwind:
395libunwind_la_SOURCES_x86_64 = $(libunwind_la_SOURCES_x86_64_common)	    \
396        $(libunwind_la_SOURCES_x86_64_os_local)			    	    \
397	$(libunwind_la_SOURCES_local)					    \
398	x86_64/setcontext.S						    \
399	x86_64/Lapply_reg_state.c x86_64/Lreg_states_iterate.c		    \
400	x86_64/Lcreate_addr_space.c x86_64/Lget_save_loc.c x86_64/Lglobal.c \
401	x86_64/Linit.c x86_64/Linit_local.c x86_64/Linit_remote.c	    \
402	x86_64/Lget_proc_info.c x86_64/Lregs.c x86_64/Lresume.c		    \
403	x86_64/Lstash_frame.c x86_64/Lstep.c x86_64/Ltrace.c x86_64/getcontext.S
404
405# The list of files that go into libunwind-x86_64:
406libunwind_x86_64_la_SOURCES_x86_64 = $(libunwind_la_SOURCES_x86_64_common)  \
407        $(libunwind_la_SOURCES_x86_64_os)			    	    \
408	$(libunwind_la_SOURCES_generic)					    \
409	x86_64/Gapply_reg_state.c x86_64/Greg_states_iterate.c		    \
410	x86_64/Gcreate_addr_space.c x86_64/Gget_save_loc.c x86_64/Gglobal.c \
411	x86_64/Ginit.c x86_64/Ginit_local.c x86_64/Ginit_remote.c	    \
412	x86_64/Gget_proc_info.c x86_64/Gregs.c x86_64/Gresume.c		    \
413	x86_64/Gstash_frame.c x86_64/Gstep.c x86_64/Gtrace.c
414
415# The list of local files that go to Power 64 and 32:
416libunwind_la_SOURCES_ppc = \
417	ppc/Lget_proc_info.c ppc/Lget_save_loc.c ppc/Linit_local.c	\
418	ppc/Linit_remote.c ppc/Lis_signal_frame.c
419
420# The list of generic files that go to Power 64 and 32:
421libunwind_ppc_la_SOURCES_ppc_generic = \
422	ppc/Gget_proc_info.c ppc/Gget_save_loc.c ppc/Ginit_local.c	\
423	ppc/Ginit_remote.c ppc/Gis_signal_frame.c
424
425# The list of files that go both into libunwind and libunwind-ppc32:
426noinst_HEADERS += ppc32/init.h ppc32/unwind_i.h ppc32/ucontext_i.h
427libunwind_la_SOURCES_ppc32_common = $(libunwind_la_SOURCES_common)      \
428	ppc32/is_fpreg.c ppc32/regname.c ppc32/get_func_addr.c
429
430# The list of files that go into libunwind:
431libunwind_la_SOURCES_ppc32 = $(libunwind_la_SOURCES_ppc32_common)       \
432	$(libunwind_la_SOURCES_local)                                   \
433	$(libunwind_la_SOURCES_ppc)					\
434	ppc32/Lapply_reg_state.c ppc32/Lreg_states_iterate.c		\
435	ppc32/Lcreate_addr_space.c					\
436	ppc32/Lglobal.c ppc32/Linit.c					\
437	ppc32/Lregs.c ppc32/Lresume.c ppc32/Lstep.c
438
439# The list of files that go into libunwind-ppc32:
440libunwind_ppc32_la_SOURCES_ppc32 = $(libunwind_la_SOURCES_ppc32_common) \
441	$(libunwind_la_SOURCES_generic)                                 \
442	$(libunwind_ppc_la_SOURCES_ppc_generic)				\
443	ppc32/Gapply_reg_state.c ppc32/Greg_states_iterate.c		\
444	ppc32/Gcreate_addr_space.c					\
445	ppc32/Gglobal.c ppc32/Ginit.c					\
446	ppc32/Gregs.c ppc32/Gresume.c ppc32/Gstep.c
447
448# The list of files that go both into libunwind and libunwind-ppc64:
449noinst_HEADERS += ppc64/init.h ppc64/unwind_i.h ppc64/ucontext_i.h
450libunwind_la_SOURCES_ppc64_common = $(libunwind_la_SOURCES_common)      \
451        ppc64/is_fpreg.c ppc64/regname.c ppc64/get_func_addr.c
452
453# The list of files that go into libunwind:
454libunwind_la_SOURCES_ppc64 = $(libunwind_la_SOURCES_ppc64_common)       \
455        $(libunwind_la_SOURCES_local)                                   \
456	$(libunwind_la_SOURCES_ppc)					\
457	ppc64/Lapply_reg_state.c ppc64/Lreg_states_iterate.c		\
458	ppc64/Lcreate_addr_space.c					\
459	ppc64/Lglobal.c ppc64/Linit.c					\
460	ppc64/Lregs.c ppc64/Lresume.c ppc64/Lstep.c
461
462# The list of files that go into libunwind-ppc64:
463libunwind_ppc64_la_SOURCES_ppc64 = $(libunwind_la_SOURCES_ppc64_common) \
464        $(libunwind_la_SOURCES_generic)                                 \
465	$(libunwind_ppc_la_SOURCES_ppc_generic)				\
466	ppc64/Gapply_reg_state.c ppc64/Greg_states_iterate.c		\
467	ppc64/Gcreate_addr_space.c					\
468	ppc64/Gglobal.c ppc64/Ginit.c					\
469	ppc64/Gregs.c ppc64/Gresume.c ppc64/Gstep.c
470
471# The list of files that go into libunwind and libunwind-sh:
472noinst_HEADERS += sh/init.h sh/offsets.h sh/unwind_i.h
473libunwind_la_SOURCES_sh_common = $(libunwind_la_SOURCES_common)		\
474	sh/is_fpreg.c sh/regname.c
475
476# The list of files that go into libunwind:
477libunwind_la_SOURCES_sh = $(libunwind_la_SOURCES_sh_common)		\
478	$(libunwind_la_SOURCES_local)					\
479	sh/Lapply_reg_state.c sh/Lreg_states_iterate.c			\
480	sh/Lcreate_addr_space.c sh/Lget_proc_info.c sh/Lget_save_loc.c	\
481	sh/Lglobal.c sh/Linit.c sh/Linit_local.c sh/Linit_remote.c	\
482	sh/Lis_signal_frame.c sh/Lregs.c sh/Lresume.c sh/Lstep.c
483
484libunwind_sh_la_SOURCES_sh = $(libunwind_la_SOURCES_sh_common)		\
485	$(libunwind_la_SOURCES_generic)					\
486	sh/Gapply_reg_state.c sh/Greg_states_iterate.c			\
487	sh/Gcreate_addr_space.c sh/Gget_proc_info.c sh/Gget_save_loc.c	\
488	sh/Gglobal.c sh/Ginit.c sh/Ginit_local.c sh/Ginit_remote.c	\
489	sh/Gis_signal_frame.c sh/Gregs.c sh/Gresume.c sh/Gstep.c
490
491# The list of files that go both into libunwind and libunwind-s390x:
492noinst_HEADERS += s390x/init.h s390x/unwind_i.h
493libunwind_la_SOURCES_s390x_common = $(libunwind_la_SOURCES_common)	\
494	s390x/is_fpreg.c s390x/regname.c
495
496# The list of files that go into libunwind:
497libunwind_la_SOURCES_s390x = $(libunwind_la_SOURCES_s390x_common)	    \
498	$(libunwind_la_SOURCES_local)					    \
499	s390x/Lapply_reg_state.c s390x/Lreg_states_iterate.c		    \
500	s390x/Lcreate_addr_space.c s390x/Lget_save_loc.c s390x/Lglobal.c    \
501	s390x/Linit.c s390x/Linit_local.c s390x/Linit_remote.c	            \
502	s390x/Lget_proc_info.c s390x/Lregs.c s390x/Lresume.c		    \
503	s390x/Lis_signal_frame.c s390x/Lstep.c				    \
504	s390x/getcontext.S s390x/setcontext.S
505
506# The list of files that go into libunwind-s390x:
507libunwind_s390x_la_SOURCES_s390x = $(libunwind_la_SOURCES_s390x_common)     \
508	$(libunwind_la_SOURCES_generic)					    \
509	s390x/Gapply_reg_state.c s390x/Greg_states_iterate.c	            \
510	s390x/Gcreate_addr_space.c s390x/Gget_save_loc.c s390x/Gglobal.c    \
511	s390x/Ginit.c s390x/Ginit_local.c s390x/Ginit_remote.c	            \
512	s390x/Gget_proc_info.c s390x/Gregs.c s390x/Gresume.c		    \
513	s390x/Gis_signal_frame.c s390x/Gstep.c
514
515if REMOTE_ONLY
516install-exec-hook:
517#	Nothing to do here....
518else
519#
520# This is not ideal, but I know of no other way to install an
521# alias for a library.  For the shared version, we have to do
522# a file check before creating the link, because it isn't going
523# to be there if the user configured with --disable-shared.
524#
525install-exec-hook:
526	if test -f $(DESTDIR)$(libdir)/libunwind-$(arch).a; then \
527		cd $(DESTDIR)$(libdir) && $(LN_S) -f libunwind-$(arch).a libunwind-generic.a; \
528	fi
529	if test -f $(DESTDIR)$(libdir)/libunwind-$(arch).so; then \
530		cd $(DESTDIR)$(libdir) && $(LN_S) -f libunwind-$(arch).so \
531		libunwind-generic.so; \
532	fi
533endif
534
535if OS_LINUX
536 libunwind_la_SOURCES_os	      = $(libunwind_la_SOURCES_os_linux)
537 libunwind_la_SOURCES_os_local	      = $(libunwind_la_SOURCES_os_linux_local)
538 libunwind_la_SOURCES_x86_os          = x86/Gos-linux.c
539 libunwind_x86_la_SOURCES_os	      = x86/getcontext-linux.S
540 libunwind_la_SOURCES_x86_os_local    = x86/Los-linux.c
541 libunwind_la_SOURCES_x86_64_os       = x86_64/Gos-linux.c
542 libunwind_la_SOURCES_x86_64_os_local = x86_64/Los-linux.c
543 libunwind_la_SOURCES_arm_os          = arm/Gos-linux.c
544 libunwind_la_SOURCES_arm_os_local    = arm/Los-linux.c
545 libunwind_coredump_la_SOURCES += coredump/_UCD_access_reg_linux.c
546 libunwind_coredump_la_SOURCES += coredump/_UCD_get_threadinfo_prstatus.c
547 libunwind_coredump_la_SOURCES += coredump/_UCD_get_mapinfo_linux.c
548endif
549
550if OS_HPUX
551 libunwind_la_SOURCES_os	= $(libunwind_la_SOURCES_os_hpux)
552 libunwind_la_SOURCES_os_local	= $(libunwind_la_SOURCES_os_hpux_local)
553endif
554
555if OS_FREEBSD
556 libunwind_la_SOURCES_os	= $(libunwind_la_SOURCES_os_freebsd)
557 libunwind_la_SOURCES_os_local	= $(libunwind_la_SOURCES_os_freebsd_local)
558 libunwind_la_SOURCES_x86_os          = x86/Gos-freebsd.c
559 libunwind_x86_la_SOURCES_os	      = x86/getcontext-freebsd.S
560 libunwind_la_SOURCES_x86_os_local    = x86/Los-freebsd.c
561 libunwind_la_SOURCES_x86_64_os       = x86_64/Gos-freebsd.c
562 libunwind_la_SOURCES_x86_64_os_local = x86_64/Los-freebsd.c
563 libunwind_la_SOURCES_arm_os          = arm/Gos-freebsd.c
564 libunwind_la_SOURCES_arm_os_local    = arm/Los-freebsd.c
565 libunwind_coredump_la_SOURCES += coredump/_UCD_access_reg_freebsd.c
566 libunwind_coredump_la_SOURCES += coredump/_UCD_get_threadinfo_prstatus.c
567 libunwind_coredump_la_SOURCES += coredump/_UCD_get_mapinfo_generic.c
568endif
569
570if OS_SOLARIS
571 libunwind_la_SOURCES_os              = $(libunwind_la_SOURCES_os_solaris)
572 libunwind_la_SOURCES_x86_64_os       = x86_64/Gos-solaris.c
573 libunwind_la_SOURCES_x86_64_os_local = x86_64/Los-solaris.c
574endif
575
576if OS_QNX
577 libunwind_la_SOURCES_os	= $(libunwind_la_SOURCES_os_qnx)
578 libunwind_la_SOURCES_os_local	= $(libunwind_la_SOURCES_os_qnx_local)
579 libunwind_la_SOURCES_arm_os          = arm/Gos-other.c
580 libunwind_la_SOURCES_arm_os_local    = arm/Los-other.c
581endif
582
583if ARCH_AARCH64
584 lib_LTLIBRARIES += libunwind-aarch64.la
585 libunwind_la_SOURCES = $(libunwind_la_SOURCES_aarch64)
586 libunwind_aarch64_la_SOURCES = $(libunwind_aarch64_la_SOURCES_aarch64)
587 libunwind_aarch64_la_LDFLAGS = $(COMMON_SO_LDFLAGS) -version-info $(SOVERSION)
588 libunwind_aarch64_la_LIBADD = libunwind-dwarf-generic.la
589 libunwind_aarch64_la_LIBADD += libunwind-elf64.la
590if !REMOTE_ONLY
591 libunwind_aarch64_la_LIBADD += libunwind.la -lc
592endif
593 libunwind_setjmp_la_SOURCES += aarch64/siglongjmp.S
594else
595if ARCH_ARM
596 lib_LTLIBRARIES += libunwind-arm.la
597 libunwind_la_SOURCES = $(libunwind_la_SOURCES_arm)
598 libunwind_arm_la_SOURCES = $(libunwind_arm_la_SOURCES_arm)
599 libunwind_arm_la_LDFLAGS = $(COMMON_SO_LDFLAGS) -version-info $(SOVERSION)
600 libunwind_arm_la_LIBADD = libunwind-dwarf-generic.la
601 libunwind_arm_la_LIBADD += libunwind-elf32.la
602if !REMOTE_ONLY
603 libunwind_arm_la_LIBADD += libunwind.la -lc
604endif
605 libunwind_setjmp_la_SOURCES += arm/siglongjmp.S
606else
607if ARCH_IA64
608 BUILT_SOURCES = Gcursor_i.h Lcursor_i.h
609mk_Gcursor_i.s: $(srcdir)/ia64/mk_Gcursor_i.c
610	$(COMPILE) -S "$(srcdir)/ia64/mk_Gcursor_i.c" -o mk_Gcursor_i.s
611mk_Lcursor_i.s: $(srcdir)/ia64/mk_Lcursor_i.c
612	$(COMPILE) -S "$(srcdir)/ia64/mk_Lcursor_i.c" -o mk_Lcursor_i.s
613Gcursor_i.h: mk_Gcursor_i.s
614	"$(srcdir)/ia64/mk_cursor_i" mk_Gcursor_i.s > Gcursor_i.h
615Lcursor_i.h: mk_Lcursor_i.s
616	"$(srcdir)/ia64/mk_cursor_i" mk_Lcursor_i.s > Lcursor_i.h
617
618 lib_LTLIBRARIES += libunwind-ia64.la
619 libunwind_la_SOURCES = $(libunwind_la_SOURCES_ia64)
620 libunwind_ia64_la_SOURCES = $(libunwind_ia64_la_SOURCES_ia64)
621 libunwind_ia64_la_LDFLAGS = $(COMMON_SO_LDFLAGS) -version-info $(SOVERSION)
622 libunwind_ia64_la_LIBADD = libunwind-elf64.la
623if !REMOTE_ONLY
624 libunwind_ia64_la_LIBADD += libunwind.la -lc
625endif
626 libunwind_setjmp_la_SOURCES += ia64/setjmp.S  ia64/sigsetjmp.S  \
627				ia64/longjmp.S ia64/siglongjmp.S
628else
629if ARCH_HPPA
630 lib_LTLIBRARIES += libunwind-hppa.la
631 libunwind_la_SOURCES = $(libunwind_la_SOURCES_hppa)
632 libunwind_hppa_la_SOURCES = $(libunwind_hppa_la_SOURCES_hppa)
633 libunwind_hppa_la_LDFLAGS = $(COMMON_SO_LDFLAGS) -version-info $(SOVERSION)
634 libunwind_hppa_la_LIBADD = libunwind-dwarf-generic.la
635 libunwind_hppa_la_LIBADD += libunwind-elf32.la
636if !REMOTE_ONLY
637 libunwind_hppa_la_LIBADD += libunwind.la -lc
638endif
639 libunwind_setjmp_la_SOURCES += hppa/siglongjmp.S
640else
641if ARCH_MIPS
642 lib_LTLIBRARIES += libunwind-mips.la
643 libunwind_la_SOURCES = $(libunwind_la_SOURCES_mips)
644 libunwind_mips_la_SOURCES = $(libunwind_mips_la_SOURCES_mips)
645 libunwind_mips_la_LDFLAGS = $(COMMON_SO_LDFLAGS) -version-info $(SOVERSION)
646 libunwind_mips_la_LIBADD = libunwind-dwarf-generic.la
647 libunwind_mips_la_LIBADD += libunwind-elfxx.la
648if !REMOTE_ONLY
649 libunwind_mips_la_LIBADD += libunwind.la -lc
650endif
651 libunwind_setjmp_la_SOURCES += mips/siglongjmp.S
652else
653if ARCH_TILEGX
654 lib_LTLIBRARIES += libunwind-tilegx.la
655 libunwind_la_SOURCES = $(libunwind_la_SOURCES_tilegx)
656 libunwind_tilegx_la_SOURCES = $(libunwind_tilegx_la_SOURCES_tilegx)
657 libunwind_tilegx_la_LDFLAGS = $(COMMON_SO_LDFLAGS) -version-info $(SOVERSION)
658 libunwind_tilegx_la_LIBADD = libunwind-dwarf-generic.la
659 libunwind_tilegx_la_LIBADD += libunwind-elfxx.la
660if !REMOTE_ONLY
661 libunwind_tilegx_la_LIBADD += libunwind.la -lc
662endif
663 libunwind_setjmp_la_SOURCES += tilegx/siglongjmp.S
664else
665if ARCH_RISCV
666 lib_LTLIBRARIES += libunwind-riscv.la
667 libunwind_la_SOURCES = $(libunwind_la_SOURCES_riscv)
668 libunwind_riscv_la_SOURCES = $(libunwind_riscv_la_SOURCES_riscv)
669 libunwind_riscv_la_LDFLAGS = $(COMMON_SO_LDFLAGS) -version-info $(SOVERSION)
670 libunwind_riscv_la_LIBADD = libunwind-dwarf-generic.la
671 libunwind_riscv_la_LIBADD += libunwind-elf64.la
672if !REMOTE_ONLY
673 libunwind_riscv_la_LIBADD += libunwind.la -lc
674endif
675 libunwind_setjmp_la_SOURCES += riscv/siglongjmp.S
676else
677if ARCH_X86
678 lib_LTLIBRARIES += libunwind-x86.la
679 libunwind_la_SOURCES = $(libunwind_la_SOURCES_x86) $(libunwind_x86_la_SOURCES_os)
680 libunwind_x86_la_SOURCES = $(libunwind_x86_la_SOURCES_x86)
681 libunwind_x86_la_LDFLAGS = $(COMMON_SO_LDFLAGS) -version-info $(SOVERSION)
682 libunwind_x86_la_LIBADD = libunwind-dwarf-generic.la
683 libunwind_x86_la_LIBADD += libunwind-elf32.la
684if !REMOTE_ONLY
685 libunwind_x86_la_LIBADD += libunwind.la -lc
686endif
687 libunwind_setjmp_la_SOURCES += x86/longjmp.S x86/siglongjmp.S
688else
689if ARCH_X86_64
690 lib_LTLIBRARIES += libunwind-x86_64.la
691 libunwind_la_SOURCES = $(libunwind_la_SOURCES_x86_64)
692 libunwind_x86_64_la_SOURCES = $(libunwind_x86_64_la_SOURCES_x86_64)
693 libunwind_x86_64_la_LDFLAGS = $(COMMON_SO_LDFLAGS) -version-info $(SOVERSION)
694 libunwind_x86_64_la_LIBADD = libunwind-dwarf-generic.la
695 libunwind_x86_64_la_LIBADD += libunwind-elf64.la
696if !REMOTE_ONLY
697 libunwind_x86_64_la_LIBADD += libunwind.la -lc
698endif
699 libunwind_setjmp_la_SOURCES += x86_64/longjmp.S x86_64/siglongjmp.S
700else
701if ARCH_PPC32
702 lib_LTLIBRARIES += libunwind-ppc32.la
703 libunwind_la_SOURCES = $(libunwind_la_SOURCES_ppc32)
704 libunwind_ppc32_la_SOURCES = $(libunwind_ppc32_la_SOURCES_ppc32)
705 libunwind_ppc32_la_LDFLAGS = $(COMMON_SO_LDFLAGS) -version-info $(SOVERSION)
706 libunwind_ppc32_la_LIBADD = libunwind-dwarf-generic.la
707 libunwind_ppc32_la_LIBADD += libunwind-elf32.la
708if !REMOTE_ONLY
709 libunwind_ppc32_la_LIBADD += libunwind.la -lc
710endif
711 libunwind_setjmp_la_SOURCES += ppc/longjmp.S ppc/siglongjmp.S
712else
713if ARCH_PPC64
714 lib_LTLIBRARIES += libunwind-ppc64.la
715 libunwind_la_SOURCES = $(libunwind_la_SOURCES_ppc64)
716 libunwind_ppc64_la_SOURCES = $(libunwind_ppc64_la_SOURCES_ppc64)
717 libunwind_ppc64_la_LDFLAGS = $(COMMON_SO_LDFLAGS) -version-info $(SOVERSION)
718 libunwind_ppc64_la_LIBADD = libunwind-dwarf-generic.la
719 libunwind_ppc64_la_LIBADD += libunwind-elf64.la
720if !REMOTE_ONLY
721 libunwind_ppc64_la_LIBADD += libunwind.la -lc
722endif
723 libunwind_setjmp_la_SOURCES += ppc/longjmp.S ppc/siglongjmp.S
724else
725if ARCH_SH
726 lib_LTLIBRARIES += libunwind-sh.la
727 libunwind_la_SOURCES = $(libunwind_la_SOURCES_sh)
728 libunwind_sh_la_SOURCES = $(libunwind_sh_la_SOURCES_sh)
729 libunwind_sh_la_LDFLAGS = $(COMMON_SO_LDFLAGS) -version-info $(SOVERSION)
730 libunwind_sh_la_LIBADD = libunwind-dwarf-generic.la
731 libunwind_sh_la_LIBADD += libunwind-elf32.la
732if !REMOTE_ONLY
733 libunwind_sh_la_LIBADD += libunwind.la -lc
734endif
735 libunwind_setjmp_la_SOURCES += sh/siglongjmp.S
736else
737if ARCH_S390X
738 lib_LTLIBRARIES += libunwind-s390x.la
739 libunwind_la_SOURCES = $(libunwind_la_SOURCES_s390x)
740 libunwind_s390x_la_SOURCES = $(libunwind_s390x_la_SOURCES_s390x)
741 libunwind_s390x_la_LDFLAGS = $(COMMON_SO_LDFLAGS) -version-info $(SOVERSION)
742 libunwind_s390x_la_LIBADD = libunwind-dwarf-generic.la
743 libunwind_s390x_la_LIBADD += libunwind-elf64.la
744if !REMOTE_ONLY
745 libunwind_s390x_la_LIBADD += libunwind.la -lc
746endif
747
748endif # ARCH_S390X
749endif # ARCH_SH
750endif # ARCH_PPC64
751endif # ARCH_PPC32
752endif # ARCH_X86_64
753endif # ARCH_X86
754endif # ARCH_RISCV
755endif # ARCH_TILEGX
756endif # ARCH_MIPS
757endif # ARCH_HPPA
758endif # ARCH_IA64
759endif # ARCH_ARM
760endif # ARCH_AARCH64
761
762# libunwind-setjmp depends on libunwind-$(arch). Therefore must be added
763# at the end.
764if BUILD_SETJMP
765lib_LTLIBRARIES += libunwind-setjmp.la
766endif
767
768#
769# Don't link with standard libraries, because those may mention
770# libunwind already.
771#
772libunwind_la_LDFLAGS =	$(COMMON_SO_LDFLAGS) -XCClinker -nostdlib \
773			$(LDFLAGS_STATIC_LIBCXA) -version-info $(SOVERSION)
774libunwind_la_LIBADD  += -lc $(LIBCRTS)
775libunwind_la_LIBADD += $(LIBLZMA) $(LIBZ)
776
777AM_CPPFLAGS = -I$(top_srcdir)/include -I$(top_srcdir)/include/tdep-$(arch) -I.
778AM_CCASFLAGS = $(AM_CPPFLAGS)
779noinst_HEADERS += unwind/unwind-internal.h
780
781EXTRA_DIST =	$(libunwind_la_SOURCES_aarch64)			\
782		$(libunwind_la_SOURCES_arm)			\
783		$(libunwind_la_SOURCES_hppa)			\
784		$(libunwind_la_SOURCES_ia64)			\
785		$(libunwind_la_EXTRAS_ia64)			\
786		$(libunwind_la_SOURCES_mips)			\
787		$(libunwind_la_SOURCES_sh)			\
788		$(libunwind_la_SOURCES_x86)			\
789		$(libunwind_la_SOURCES_os_freebsd)		\
790		$(libunwind_la_SOURCES_os_linux)		\
791		$(libunwind_la_SOURCES_os_hpux)			\
792		$(libunwind_la_SOURCES_os_qnx)			\
793		$(libunwind_la_SOURCES_os_solaris)		\
794		$(libunwind_la_SOURCES_common)			\
795		$(libunwind_la_SOURCES_local)			\
796		$(libunwind_la_SOURCES_generic)			\
797		$(libunwind_aarch64_la_SOURCES_aarch64)		\
798		$(libunwind_arm_la_SOURCES_arm)			\
799		$(libunwind_hppa_la_SOURCES_hppa)		\
800		$(libunwind_ia64_la_SOURCES_ia64)		\
801		$(libunwind_mips_la_SOURCES_mips)		\
802		$(libunwind_sh_la_SOURCES_sh)			\
803		$(libunwind_x86_la_SOURCES_x86)			\
804		$(libunwind_x86_64_la_SOURCES_x86_64)
805
806MAINTAINERCLEANFILES = Makefile.in
807
808# The -version-info flag accepts an argument of the form
809# `current[:revision[:age]]'. So, passing `-version-info 3:12:1' sets
810# current to 3, revision to 12, and age to 1.
811
812# If either revision or age are omitted, they default to 0. Also note
813# that age must be less than or equal to the current interface number.
814
815# Here are a set of rules to help you update your library version
816# information:
817
818#    1. Start with version information of `0:0:0' for each libtool
819#       library.
820
821#    2. Update the version information only immediately before a public
822#       release of your software. More frequent updates are unnecessary,
823#       and only guarantee that the current interface number gets larger
824#       faster.
825
826#    3. If the library source code has changed at all since the last
827#       update, then increment revision (`c:r:a' becomes `c:r+1:a').
828
829#    4. If any interfaces have been added, removed, or changed since the
830#       last update, increment current, and set revision to 0.
831
832#    5. If any interfaces have been added since the last public release,
833#       then increment age.
834
835#    6. If any interfaces have been removed since the last public
836#       release, then set age to 0.
837