blob: 2fcc52df134e1e57828228a7c7c440fbbe86b1c9 [file] [log] [blame]
hp.com!davidm02409462003-12-04 07:44:21 +00001SOVERSION=2:0:1 # See comments at end of file.
mostang.com!davidmad7f1472003-02-08 10:10:59 +00002SETJMP_SO_VERSION=0:0:0
mostang.com!davidma6d51ee2002-04-25 06:47:29 +00003
mostang.com!davidm0adb97c2003-03-19 19:25:18 +00004libunwind_setjmp_la_SOURCES_local = longjmp.c siglongjmp.c
5libunwind_setjmp_la_SOURCES_local_ia64 = ia64/setjmp-ia64.S \
6 ia64/sigsetjmp-ia64.S ia64/siglongjmp-ia64.S
7libunwind_setjmp_la_SOURCES_local_hppa = setjmp.c sigsetjmp.c \
8 hppa/siglongjmp-hppa.S
9libunwind_setjmp_la_SOURCES_local_x86 = setjmp.c sigsetjmp.c \
10 x86/siglongjmp-x86.S
mostang.com!davidmad7f1472003-02-08 10:10:59 +000011
mostang.com!davidm2f852c22003-02-22 08:19:43 +000012libunwind_la_SOURCES_common = $(libunwind_la_SOURCES_cdep) \
13 $(libunwind_la_SOURCES_os) \
14 backtrace.c \
hp.com!davidm23760812003-12-20 11:50:00 +000015 Gdyn-extract.c Gdyn-remote.c Ldyn-extract.c Ldyn-remote.c \
mostang.com!davidm2f852c22003-02-22 08:19:43 +000016 mi-init.c \
17 mempool.c \
18 Gfind_dynamic_proc_info.c Gget_proc_name.c Gput_dynamic_unwind_info.c \
hp.com!davidm02409462003-12-04 07:44:21 +000019 Lfind_dynamic_proc_info.c Lget_proc_name.c Lput_dynamic_unwind_info.c \
20 Gget_proc_info_by_ip.c \
21 Lget_proc_info_by_ip.c
22
23libunwind_la_SOURCES_local = \
mostang.com!davidm0adb97c2003-03-19 19:25:18 +000024 _UPT_internal.h \
25 dyn-cancel.c dyn-register.c \
26 _UPT_accessors.c _UPT_access_fpreg.c _UPT_access_mem.c \
27 _UPT_access_reg.c _UPT_create.c _UPT_destroy.c _UPT_find_proc_info.c \
28 _UPT_get_dyn_info_list_addr.c _UPT_put_unwind_info.c \
hp.com!davidm02409462003-12-04 07:44:21 +000029 _UPT_get_proc_name.c _UPT_reg_offset.c _UPT_resume.c \
30 \
31 _Unwind_Backtrace.c _Unwind_DeleteException.c \
32 _Unwind_FindEnclosingFunction.c _Unwind_ForcedUnwind.c \
33 _Unwind_GetBSP.c _Unwind_GetCFA.c _Unwind_GetDataRelBase.c \
34 _Unwind_GetGR.c _Unwind_GetIP.c _Unwind_GetLanguageSpecificData.c \
35 _Unwind_GetRegionStart.c _Unwind_GetTextRelBase.c \
36 _Unwind_RaiseException.c _Unwind_Resume.c \
37 _Unwind_Resume_or_Rethrow.c _Unwind_SetGR.c _Unwind_SetIP.c
38
mostang.com!davidm0adb97c2003-03-19 19:25:18 +000039libunwind_la_SOURCES_os_linux = os-linux.h os-linux.c
mostang.com!davidm5929f8e2003-04-03 07:59:15 +000040libunwind_la_SOURCES_os_hpux = os-hpux.c
hp.com!davidm74ee8e42003-01-28 03:40:06 +000041
hp.com!davidm23760812003-12-20 11:50:00 +000042dwarf_sources = \
43 dwarf/dwarf-eh.h \
44 dwarf/global-dwarf.c \
45 dwarf/Gexpr-dwarf.c dwarf/Gfde-dwarf.c dwarf/Gparser-dwarf.c \
46 dwarf/Gpe-dwarf.c dwarf/Gstep-dwarf.c \
47 dwarf/Lexpr-dwarf.c dwarf/Lfde-dwarf.c dwarf/Lparser-dwarf.c \
48 dwarf/Lpe-dwarf.c dwarf/Lstep-dwarf.c
49
mostang.com!davidm3ae9b812002-12-19 07:16:50 +000050#
51# Note: As of automake-1.6, there is a stupid limitation which requires
mostang.com!davidm0adb97c2003-03-19 19:25:18 +000052# that each filename be unique. This prevents us from having, e.g.,
mostang.com!davidm3ae9b812002-12-19 07:16:50 +000053# ia64/tables.c and x86/tables.c. The fix for now is to uglify the
54# filenames by appending the arch-name (e.g., tables-ia64.c). Oh, well.
55#
56
57libunwind_la_SOURCES_ia64 = $(libunwind_la_SOURCES_common) \
hp.com!davidm74ee8e42003-01-28 03:40:06 +000058 ia64/init.h ia64/offsets.h ia64/regs.h ia64/rse.h \
mostang.com!davidm3ae9b812002-12-19 07:16:50 +000059 ia64/ucontext_i.h ia64/unwind_decoder.h ia64/unwind_i.h \
60 \
mostang.com!davidm5cef5932003-02-14 06:25:36 +000061 elf64.c elf64.h \
mostang.com!davidm693c4fa2003-04-23 05:56:59 +000062 ia64/global-ia64.c ia64/global-asm-ia64.S \
mostang.com!davidm427c1892003-01-21 17:41:20 +000063 ia64/tables-ia64.c ia64/get_accessors-ia64.c \
mostang.com!davidm3ae9b812002-12-19 07:16:50 +000064 ia64/flush_cache-ia64.c ia64/set_caching_policy-ia64.c \
65 ia64/regname-ia64.c \
66 \
mostang.com!davidm8e85e812003-04-23 19:22:42 +000067 ia64/Ginit-ia64.c ia64/Ginstall_cursor.S \
68 ia64/Gparser-ia64.c ia64/Gregs-ia64.c \
mostang.com!davidm693c4fa2003-04-23 05:56:59 +000069 ia64/Grbs-ia64.c ia64/Gscript-ia64.c ia64/Gcreate_addr_space-ia64.c \
mostang.com!davidm3ae9b812002-12-19 07:16:50 +000070 ia64/Gdestroy_addr_space-ia64.c \
71 ia64/Gget_proc_info-ia64.c ia64/Gget_proc_name-ia64.c \
72 ia64/Gget_reg-ia64.c ia64/Gget_fpreg-ia64.c ia64/Gget_save_loc-ia64.c \
73 ia64/Gis_signal_frame-ia64.c \
74 ia64/Gresume-ia64.c ia64/Gset_reg-ia64.c ia64/Gset_fpreg-ia64.c \
75 ia64/Ginit_local-ia64.c ia64/Ginit_remote-ia64.c ia64/Gstep-ia64.c \
76 \
mostang.com!davidm8e85e812003-04-23 19:22:42 +000077 ia64/Linit-ia64.c ia64/Linstall_cursor.S \
78 ia64/Lparser-ia64.c ia64/Lregs-ia64.c \
mostang.com!davidm693c4fa2003-04-23 05:56:59 +000079 ia64/Lrbs-ia64.c ia64/Lscript-ia64.c ia64/Lcreate_addr_space-ia64.c \
mostang.com!davidm3ae9b812002-12-19 07:16:50 +000080 ia64/Ldestroy_addr_space-ia64.c \
81 ia64/Lget_proc_info-ia64.c ia64/Lget_proc_name-ia64.c \
82 ia64/Lget_reg-ia64.c ia64/Lget_fpreg-ia64.c ia64/Lget_save_loc-ia64.c \
83 ia64/Lis_signal_frame-ia64.c \
84 ia64/Lresume-ia64.c ia64/Lset_reg-ia64.c ia64/Lset_fpreg-ia64.c \
85 ia64/Linit_local-ia64.c ia64/Linit_remote-ia64.c ia64/Lstep-ia64.c
hp.com!davidm6432d812002-04-05 23:37:55 +000086
mostang.com!davidmf6c7a652003-01-14 07:11:56 +000087libunwind_la_SOURCES_hppa = $(libunwind_la_SOURCES_common) \
88 hppa/flush_cache-hppa.c hppa/get_accessors-hppa.c \
89 hppa/global-hppa.c hppa/tables-hppa.c \
90 hppa/init.h hppa/unwind_i.h \
91 \
92 hppa/Gget_reg-hppa.c hppa/Gget_proc_name-hppa.c \
93 hppa/Ginit-hppa.c hppa/Ginit_local-hppa.c \
94 hppa/Gget_proc_info-hppa.c hppa/Gregs-hppa.c hppa/Gstep-hppa.c \
95 \
96 hppa/Lget_reg-hppa.c hppa/Lget_proc_name-hppa.c \
97 hppa/Linit-hppa.c hppa/Linit_local-hppa.c \
98 hppa/Lget_proc_info-hppa.c hppa/Lregs-hppa.c hppa/Lstep-hppa.c
99
100libunwind_la_SOURCES_x86 = $(libunwind_la_SOURCES_common) \
hp.com!davidmbd54a902003-11-27 07:17:47 +0000101 x86/offsets.h \
102 \
mostang.com!davidm7407caa2003-03-27 04:29:07 +0000103 elf32.c elf32.h \
104 \
hp.com!davidm23760812003-12-20 11:50:00 +0000105 $(dwarf_sources) \
106 dwarf/Gfind_proc_info-lsb.c dwarf/Lfind_proc_info-lsb.c \
107 \
mostang.com!davidmf6c7a652003-01-14 07:11:56 +0000108 x86/flush_cache-x86.c x86/get_accessors-x86.c x86/global-x86.c \
hp.com!davidm23760812003-12-20 11:50:00 +0000109 x86/set_caching_policy-x86.c \
hp.com!davidm33e6e3f2003-04-21 23:14:14 +0000110 x86/init.h x86/unwind_i.h x86/regname-x86.c \
mostang.com!davidmf6c7a652003-01-14 07:11:56 +0000111 \
hp.com!davidm33e6e3f2003-04-21 23:14:14 +0000112 x86/Gcreate_addr_space-x86.c \
mostang.com!davidmf6c7a652003-01-14 07:11:56 +0000113 x86/Gget_reg-x86.c x86/Gget_proc_name-x86.c x86/Ginit-x86.c \
hp.com!davidm33e6e3f2003-04-21 23:14:14 +0000114 x86/Ginit_local-x86.c x86/Ginit_remote-x86.c \
115 x86/Gis_signal_frame-x86.c \
116 x86/Gget_proc_info-x86.c x86/Gregs-x86.c \
hp.com!davidm1b770df2003-04-21 18:46:23 +0000117 x86/Gresume-x86.c x86/Gset_reg-x86.c x86/Gstep-x86.c \
mostang.com!davidmf6c7a652003-01-14 07:11:56 +0000118 \
hp.com!davidm33e6e3f2003-04-21 23:14:14 +0000119 x86/Lcreate_addr_space-x86.c \
mostang.com!davidmf6c7a652003-01-14 07:11:56 +0000120 x86/Lget_reg-x86.c x86/Lget_proc_name-x86.c x86/Linit-x86.c \
hp.com!davidm33e6e3f2003-04-21 23:14:14 +0000121 x86/Linit_local-x86.c x86/Linit_remote-x86.c \
122 x86/Lis_signal_frame-x86.c \
123 x86/Lget_proc_info-x86.c x86/Lregs-x86.c \
hp.com!davidmed625d62003-04-21 18:56:16 +0000124 x86/Lresume-x86.c x86/Lset_reg-x86.c x86/Lstep-x86.c
mostang.com!davidmf6c7a652003-01-14 07:11:56 +0000125
mostang.com!davidm0adb97c2003-03-19 19:25:18 +0000126if REMOTE_ONLY
127libunwind_la_SOURCES_cdep = $(libunwind_la_SOURCES_remote)
128install-exec-hook:
129# Nothing to do here....
130else
131libunwind_la_SOURCES_cdep = $(libunwind_la_SOURCES_local)
132
133lib_LTLIBRARIES_cdep = libunwind-setjmp.la
134libunwind_setjmp_la_SOURCES_common = $(libunwind_setjmp_la_SOURCES_local)
135libunwind_setjmp_la_LDFLAGS = -version-info $(SETJMP_SO_VERSION)
136libunwind_setjmp_la_LIBADD = libunwind-$(arch).la
137
138libunwind_setjmp_la_SOURCES_ia64 = $(libunwind_setjmp_la_SOURCES_local_ia64)
139libunwind_setjmp_la_SOURCES_hppa = $(libunwind_setjmp_la_SOURCES_local_hppa)
140libunwind_setjmp_la_SOURCES_x86 = $(libunwind_setjmp_la_SOURCES_local_x86)
141#
142# This is not ideal, but I know of no other way to install an
143# alias for a library.
144#
145install-exec-hook:
146 $(LN_S) -f libunwind-$(arch).a $(DESTDIR)$(libdir)/libunwind.a
147 $(LN_S) -f libunwind-$(arch).so $(DESTDIR)$(libdir)/libunwind.so
148
149endif
150
151if OS_LINUX
152 libunwind_la_SOURCES_os = $(libunwind_la_SOURCES_os_linux)
153endif
154
mostang.com!davidm5929f8e2003-04-03 07:59:15 +0000155if OS_HPUX
156 libunwind_la_SOURCES_os = $(libunwind_la_SOURCES_os_hpux)
157endif
158
hp.com!davidm6432d812002-04-05 23:37:55 +0000159if ARCH_IA64
mostang.com!davidm3e4f08b2003-04-24 20:45:07 +0000160 mk_Gcursor_i_ia64_SOURCES = ia64/mk_Gcursor_i-ia64.c
161 mk_Lcursor_i_ia64_SOURCES = ia64/mk_Lcursor_i-ia64.c
162 noinst_PROGRAMS = mk_Gcursor_i-ia64 mk_Lcursor_i-ia64
mostang.com!davidm8e85e812003-04-23 19:22:42 +0000163 BUILT_SOURCES = Gcursor_i.h Lcursor_i.h
mostang.com!davidm3e4f08b2003-04-24 20:45:07 +0000164Gcursor_i.h: mk_Gcursor_i-ia64
165 ./mk_Gcursor_i-ia64 > $@
166Lcursor_i.h: mk_Lcursor_i-ia64
167 ./mk_Lcursor_i-ia64 > $@
mostang.com!davidmad7f1472003-02-08 10:10:59 +0000168 lib_LTLIBRARIES_arch = libunwind-ia64.la
mostang.com!davidma6d51ee2002-04-25 06:47:29 +0000169 libunwind_ia64_la_SOURCES = $(libunwind_la_SOURCES_ia64)
170 libunwind_ia64_la_LDFLAGS = -version-info $(SOVERSION)
mostang.com!davidmad7f1472003-02-08 10:10:59 +0000171 libunwind_setjmp_la_SOURCES = $(libunwind_setjmp_la_SOURCES_common) \
172 $(libunwind_setjmp_la_SOURCES_ia64)
hp.com!davidm6432d812002-04-05 23:37:55 +0000173else
mostang.com!davidmf6c7a652003-01-14 07:11:56 +0000174if ARCH_HPPA
mostang.com!davidmad7f1472003-02-08 10:10:59 +0000175 lib_LTLIBRARIES_arch = libunwind-hppa.la
mostang.com!davidmf6c7a652003-01-14 07:11:56 +0000176 libunwind_hppa_la_SOURCES = $(libunwind_la_SOURCES_hppa)
177 libunwind_hppa_la_LDFLAGS = -version-info $(SOVERSION)
mostang.com!davidmad7f1472003-02-08 10:10:59 +0000178 libunwind_setjmp_la_SOURCES = $(libunwind_setjmp_la_SOURCES_common) \
179 $(libunwind_setjmp_la_SOURCES_hppa)
mostang.com!davidmf6c7a652003-01-14 07:11:56 +0000180else
mostang.com!davidm3ae9b812002-12-19 07:16:50 +0000181if ARCH_X86
mostang.com!davidmad7f1472003-02-08 10:10:59 +0000182 lib_LTLIBRARIES_arch = libunwind-x86.la
mostang.com!davidm3ae9b812002-12-19 07:16:50 +0000183 libunwind_x86_la_SOURCES = $(libunwind_la_SOURCES_x86)
184 libunwind_x86_la_LDFLAGS = -version-info $(SOVERSION)
mostang.com!davidmad7f1472003-02-08 10:10:59 +0000185 libunwind_setjmp_la_SOURCES = $(libunwind_setjmp_la_SOURCES_common) \
186 $(libunwind_setjmp_la_SOURCES_x86)
mostang.com!davidmf6c7a652003-01-14 07:11:56 +0000187endif # ARCH_X86
188endif # ARCH_HPPA
189endif # ARCH_IA64
mostang.com!davidm00abcc62002-04-19 05:35:46 +0000190
mostang.com!davidmad7f1472003-02-08 10:10:59 +0000191lib_LTLIBRARIES = $(lib_LTLIBRARIES_cdep) $(lib_LTLIBRARIES_arch)
192
hp.com!davidm23760812003-12-20 11:50:00 +0000193AM_CPPFLAGS = -I$(top_srcdir)/include/$(arch) -I$(top_srcdir)/include -I.
mostang.com!davidmad7f1472003-02-08 10:10:59 +0000194AM_CCASFLAGS = $(AM_CPPFLAGS)
hp.com!davidm6432d812002-04-05 23:37:55 +0000195
hp.com!davidm02409462003-12-04 07:44:21 +0000196EXTRA_DIST = elfxx.h elfxx.c unwind-internal.h \
mostang.com!davidm0adb97c2003-03-19 19:25:18 +0000197 $(libunwind_la_SOURCES_hppa) \
198 $(libunwind_la_SOURCES_ia64) \
199 $(libunwind_la_SOURCES_x86) \
200 $(libunwind_la_SOURCES_os_linux) \
mostang.com!davidm3e4f08b2003-04-24 20:45:07 +0000201 $(libunwind_la_SOURCES_os_hpux) \
mostang.com!davidm0adb97c2003-03-19 19:25:18 +0000202 $(libunwind_la_SOURCES_local) \
203 $(libunwind_la_SOURCES_remote) \
204 $(libunwind_setjmp_la_SOURCES_local) \
205 $(libunwind_setjmp_la_SOURCES_local_hppa) \
206 $(libunwind_setjmp_la_SOURCES_local_ia64) \
207 $(libunwind_setjmp_la_SOURCES_local_x86)
208
mostang.com!davidm83b038d2002-02-28 16:24:48 +0000209# The -version-info flag accepts an argument of the form
210# `current[:revision[:age]]'. So, passing `-version-info 3:12:1' sets
211# current to 3, revision to 12, and age to 1.
212
213# If either revision or age are omitted, they default to 0. Also note
214# that age must be less than or equal to the current interface number.
215
216# Here are a set of rules to help you update your library version
217# information:
218
219# 1. Start with version information of `0:0:0' for each libtool
220# library.
221
222# 2. Update the version information only immediately before a public
223# release of your software. More frequent updates are unnecessary,
224# and only guarantee that the current interface number gets larger
225# faster.
226
227# 3. If the library source code has changed at all since the last
228# update, then increment revision (`c:r:a' becomes `c:r+1:a').
229
230# 4. If any interfaces have been added, removed, or changed since the
231# last update, increment current, and set revision to 0.
232
233# 5. If any interfaces have been added since the last public release,
234# then increment age.
235
236# 6. If any interfaces have been removed since the last public
237# release, then set age to 0.