blob: 64f439e3968ddba5fd230c186352f975d255e8f6 [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
hp.com!davidm16566632004-01-03 10:50:24 +00004if REMOTE_ONLY
5LIBRARIES_cdep =
6lib_LTLIBRARIES_cdep =
7else
8LIBRARIES_cdep = libunwind-ptrace.a
9lib_LTLIBRARIES_cdep = libunwind.la libunwind-setjmp.la
10endif
mostang.com!davidmad7f1472003-02-08 10:10:59 +000011
hp.com!davidm16566632004-01-03 10:50:24 +000012### libunwind-ptrace:
hp.com!davidm1738b3b2004-01-30 00:01:24 +000013libunwind_ptrace_a_SOURCES = \
14 ptrace/_UPT_internal.h \
15 ptrace/_UPT_accessors.c ptrace/_UPT_access_fpreg.c \
16 ptrace/_UPT_access_mem.c ptrace/_UPT_access_reg.c \
17 ptrace/_UPT_create.c ptrace/_UPT_destroy.c \
18 ptrace/_UPT_find_proc_info.c ptrace/_UPT_get_dyn_info_list_addr.c \
19 ptrace/_UPT_put_unwind_info.c ptrace/_UPT_get_proc_name.c \
20 ptrace/_UPT_reg_offset.c ptrace/_UPT_resume.c
hp.com!davidm16566632004-01-03 10:50:24 +000021
22### libunwind-setjmp:
23libunwind_setjmp_la_LDFLAGS = -version-info $(SETJMP_SO_VERSION)
24libunwind_setjmp_la_LIBADD = libunwind-$(arch).la
25libunwind_setjmp_la_SOURCES_common = longjmp.c siglongjmp.c
26libunwind_setjmp_la_SOURCES_ia64 = ia64/setjmp-ia64.S \
27 ia64/sigsetjmp-ia64.S \
28 ia64/siglongjmp-ia64.S
mostang.com!davidma6b0ccf2004-01-14 06:21:52 +000029libunwind_setjmp_la_SOURCES_hppa = setjmp.c sigsetjmp.c \
30 hppa/siglongjmp-hppa.S
31libunwind_setjmp_la_SOURCES_x86 = setjmp.c sigsetjmp.c \
32 x86/siglongjmp-x86.S
hp.com!davidm16566632004-01-03 10:50:24 +000033
34### libunwind:
35
mostang.com!davidma6b0ccf2004-01-14 06:21:52 +000036# List of arch-independent files needed by both local-only and generic
37# libraries:
hp.com!davidm16566632004-01-03 10:50:24 +000038libunwind_la_SOURCES_common = \
39 $(libunwind_la_SOURCES_os) \
hp.com!davidm1738b3b2004-01-30 00:01:24 +000040 mi/init.c mi/flush_cache.c mi/mempool.c
hp.com!davidm16566632004-01-03 10:50:24 +000041
42# List of arch-independent files needed by generic library (libunwind-$ARCH):
hp.com!davidm1738b3b2004-01-30 00:01:24 +000043libunwind_la_SOURCES_generic = \
44 mi/Gdyn-extract.c mi/Gdyn-remote.c mi/Gfind_dynamic_proc_info.c \
45 mi/Gget_accessors.c \
46 mi/Gget_proc_info_by_ip.c mi/Gget_proc_name.c \
47 mi/Gput_dynamic_unwind_info.c mi/Gdestroy_addr_space.c \
48 mi/Gget_reg.c mi/Gset_reg.c \
49 mi/Gget_fpreg.c mi/Gset_fpreg.c \
50 mi/Gset_caching_policy.c
hp.com!davidm16566632004-01-03 10:50:24 +000051
52# List of arch-independent files needed by local-only library (libunwind):
hp.com!davidm1738b3b2004-01-30 00:01:24 +000053libunwind_la_SOURCES_local = \
hp.com!davidma50c7802004-03-30 01:56:19 +000054 mi/backtrace.c \
hp.com!davidm1738b3b2004-01-30 00:01:24 +000055 mi/dyn-cancel.c mi/dyn-info-list.c mi/dyn-register.c \
56 mi/Ldyn-extract.c mi/Lfind_dynamic_proc_info.c \
57 mi/Lget_accessors.c \
58 mi/Lget_proc_info_by_ip.c mi/Lget_proc_name.c \
59 mi/Lput_dynamic_unwind_info.c mi/Ldestroy_addr_space.c \
60 mi/Lget_reg.c mi/Lset_reg.c \
61 mi/Lget_fpreg.c mi/Lset_fpreg.c \
62 mi/Lset_caching_policy.c \
63 unwind/Backtrace.c unwind/DeleteException.c \
64 unwind/FindEnclosingFunction.c unwind/ForcedUnwind.c \
65 unwind/GetBSP.c unwind/GetCFA.c unwind/GetDataRelBase.c \
66 unwind/GetGR.c unwind/GetIP.c unwind/GetLanguageSpecificData.c \
67 unwind/GetRegionStart.c unwind/GetTextRelBase.c \
68 unwind/RaiseException.c unwind/Resume.c \
69 unwind/Resume_or_Rethrow.c unwind/SetGR.c unwind/SetIP.c
hp.com!davidm02409462003-12-04 07:44:21 +000070
mostang.com!davidm0adb97c2003-03-19 19:25:18 +000071libunwind_la_SOURCES_os_linux = os-linux.h os-linux.c
mostang.com!davidm5929f8e2003-04-03 07:59:15 +000072libunwind_la_SOURCES_os_hpux = os-hpux.c
hp.com!davidm74ee8e42003-01-28 03:40:06 +000073
hp.com!davidmf06787a2004-01-22 08:36:15 +000074dwarf_SOURCES_common = \
75 dwarf/dwarf-eh.h \
76 dwarf/global-dwarf.c
77
78dwarf_SOURCES_local = \
hp.com!davidm23760812003-12-20 11:50:00 +000079 dwarf/Lexpr-dwarf.c dwarf/Lfde-dwarf.c dwarf/Lparser-dwarf.c \
80 dwarf/Lpe-dwarf.c dwarf/Lstep-dwarf.c
81
hp.com!davidmf06787a2004-01-22 08:36:15 +000082dwarf_SOURCES_generic = \
83 dwarf/Gexpr-dwarf.c dwarf/Gfde-dwarf.c dwarf/Gparser-dwarf.c \
84 dwarf/Gpe-dwarf.c dwarf/Gstep-dwarf.c
85
mostang.com!davidm3ae9b812002-12-19 07:16:50 +000086#
87# Note: As of automake-1.6, there is a stupid limitation which requires
mostang.com!davidm0adb97c2003-03-19 19:25:18 +000088# that each filename be unique. This prevents us from having, e.g.,
mostang.com!davidm3ae9b812002-12-19 07:16:50 +000089# ia64/tables.c and x86/tables.c. The fix for now is to uglify the
90# filenames by appending the arch-name (e.g., tables-ia64.c). Oh, well.
91#
92
hp.com!davidm16566632004-01-03 10:50:24 +000093# The list of files that go both into libunwind and libunwind-ia64:
hp.com!davidmf06787a2004-01-22 08:36:15 +000094libunwind_la_SOURCES_ia64_common = $(libunwind_la_SOURCES_common) \
95 ia64/init.h ia64/offsets.h ia64/regs.h ia64/rse.h \
96 ia64/ucontext_i.h ia64/unwind_decoder.h ia64/unwind_i.h \
hp.com!davidm1738b3b2004-01-30 00:01:24 +000097 ia64/regname-ia64.c
hp.com!davidm16566632004-01-03 10:50:24 +000098
99# The list of files that go into libunwind:
mostang.com!davidma6b0ccf2004-01-14 06:21:52 +0000100libunwind_la_SOURCES_ia64 = $(libunwind_la_SOURCES_ia64_common) \
101 $(libunwind_la_SOURCES_local) \
102 \
103 elf64.c elf64.h \
104 \
mostang.com!davidm0c923f12004-03-20 09:54:28 +0000105 ia64/dyn_info_list-ia64.S ia64/getcontext-ia64.S \
mostang.com!davidma6b0ccf2004-01-14 06:21:52 +0000106 \
mostang.com!davidm6fef2ac2004-02-14 07:48:47 +0000107 ia64/Lcreate_addr_space-ia64.c \
hp.com!davidm1738b3b2004-01-30 00:01:24 +0000108 ia64/Lget_proc_info-ia64.c \
109 ia64/Lget_save_loc-ia64.c \
110 ia64/Lglobal-ia64.c \
mostang.com!davidma6b0ccf2004-01-14 06:21:52 +0000111 ia64/Linit-ia64.c ia64/Linit_local-ia64.c ia64/Linit_remote-ia64.c \
hp.com!davidm1738b3b2004-01-30 00:01:24 +0000112 ia64/Linstall_cursor-ia64.S ia64/Lis_signal_frame-ia64.c \
mostang.com!davidma6b0ccf2004-01-14 06:21:52 +0000113 ia64/Lparser-ia64.c ia64/Lrbs-ia64.c ia64/Lregs-ia64.c \
114 ia64/Lresume-ia64.c ia64/Lscript-ia64.c \
hp.com!davidm1738b3b2004-01-30 00:01:24 +0000115 ia64/Lstep-ia64.c ia64/Ltables-ia64.c
hp.com!davidm16566632004-01-03 10:50:24 +0000116
117# The list of files that go into libunwind-ia64:
mostang.com!davidma6b0ccf2004-01-14 06:21:52 +0000118libunwind_ia64_la_SOURCES_ia64 = $(libunwind_la_SOURCES_ia64_common) \
119 $(libunwind_la_SOURCES_generic) \
hp.com!davidm1738b3b2004-01-30 00:01:24 +0000120 ia64/Gcreate_addr_space-ia64.c \
121 ia64/Gget_proc_info-ia64.c \
122 ia64/Gget_save_loc-ia64.c \
123 ia64/Gglobal-ia64.c \
mostang.com!davidma6b0ccf2004-01-14 06:21:52 +0000124 ia64/Ginit-ia64.c ia64/Ginit_local-ia64.c ia64/Ginit_remote-ia64.c \
hp.com!davidm1738b3b2004-01-30 00:01:24 +0000125 ia64/Ginstall_cursor-ia64.S ia64/Gis_signal_frame-ia64.c \
mostang.com!davidma6b0ccf2004-01-14 06:21:52 +0000126 ia64/Gparser-ia64.c ia64/Grbs-ia64.c ia64/Gregs-ia64.c \
127 ia64/Gresume-ia64.c ia64/Gscript-ia64.c \
hp.com!davidm1738b3b2004-01-30 00:01:24 +0000128 ia64/Gstep-ia64.c ia64/Gtables-ia64.c
hp.com!davidm6432d812002-04-05 23:37:55 +0000129
mostang.com!davidmf6c7a652003-01-14 07:11:56 +0000130libunwind_la_SOURCES_hppa = $(libunwind_la_SOURCES_common) \
mostang.com!davidmf6c7a652003-01-14 07:11:56 +0000131 hppa/global-hppa.c hppa/tables-hppa.c \
132 hppa/init.h hppa/unwind_i.h \
133 \
hp.com!davidm1738b3b2004-01-30 00:01:24 +0000134 hppa/Gget_reg-hppa.c \
mostang.com!davidmf6c7a652003-01-14 07:11:56 +0000135 hppa/Ginit-hppa.c hppa/Ginit_local-hppa.c \
136 hppa/Gget_proc_info-hppa.c hppa/Gregs-hppa.c hppa/Gstep-hppa.c \
137 \
138 hppa/Lget_reg-hppa.c hppa/Lget_proc_name-hppa.c \
139 hppa/Linit-hppa.c hppa/Linit_local-hppa.c \
140 hppa/Lget_proc_info-hppa.c hppa/Lregs-hppa.c hppa/Lstep-hppa.c
141
hp.com!davidm16566632004-01-03 10:50:24 +0000142# The list of files that go both into libunwind and libunwind-x86:
mostang.com!davidma6b0ccf2004-01-14 06:21:52 +0000143libunwind_la_SOURCES_x86_common = $(libunwind_la_SOURCES_common) \
hp.com!davidmf06787a2004-01-22 08:36:15 +0000144 $(dwarf_SOURCES_common) \
145 x86/init.h x86/offsets.h x86/unwind_i.h \
hp.com!davidm1738b3b2004-01-30 00:01:24 +0000146 x86/is_fpreg-x86.c x86/regname-x86.c
hp.com!davidm16566632004-01-03 10:50:24 +0000147
148# The list of files that go into libunwind:
hp.com!davidm1738b3b2004-01-30 00:01:24 +0000149libunwind_la_SOURCES_x86 = $(libunwind_la_SOURCES_x86_common) \
150 $(libunwind_la_SOURCES_local) \
151 elf32.c elf32.h \
152 $(dwarf_SOURCES_local) \
153 dwarf/Lfind_proc_info-lsb.c \
154 x86/Lcreate_addr_space-x86.c \
155 x86/Lget_save_loc-x86.c x86/Lglobal-x86.c x86/Linit-x86.c \
156 x86/Linit_local-x86.c x86/Linit_remote-x86.c \
157 x86/Lis_signal_frame-x86.c \
158 x86/Lget_proc_info-x86.c x86/Lregs-x86.c \
159 x86/Lresume-x86.c x86/Lstep-x86.c
mostang.com!davidmf6c7a652003-01-14 07:11:56 +0000160
hp.com!davidm16566632004-01-03 10:50:24 +0000161# The list of files that go into libunwind-x86:
hp.com!davidm1738b3b2004-01-30 00:01:24 +0000162libunwind_x86_la_SOURCES_x86 = $(libunwind_la_SOURCES_x86_common) \
163 $(libunwind_la_SOURCES_generic) \
164 $(dwarf_SOURCES_generic) \
165 dwarf/Gfind_proc_info-lsb.c \
166 x86/Gcreate_addr_space-x86.c \
167 x86/Gget_save_loc-x86.c x86/Gglobal-x86.c x86/Ginit-x86.c \
168 x86/Ginit_local-x86.c x86/Ginit_remote-x86.c \
169 x86/Gis_signal_frame-x86.c \
170 x86/Gget_proc_info-x86.c x86/Gregs-x86.c \
171 x86/Gresume-x86.c x86/Gstep-x86.c
hp.com!davidm16566632004-01-03 10:50:24 +0000172
mostang.com!davidm0adb97c2003-03-19 19:25:18 +0000173if REMOTE_ONLY
mostang.com!davidm0adb97c2003-03-19 19:25:18 +0000174install-exec-hook:
175# Nothing to do here....
176else
mostang.com!davidm0adb97c2003-03-19 19:25:18 +0000177#
178# This is not ideal, but I know of no other way to install an
179# alias for a library.
180#
181install-exec-hook:
hp.com!davidm16566632004-01-03 10:50:24 +0000182 $(LN_S) -f libunwind-$(arch).a $(DESTDIR)$(libdir)/libunwind-generic.a
183 $(LN_S) -f libunwind-$(arch).so \
184 $(DESTDIR)$(libdir)/libunwind-generic.so
mostang.com!davidm0adb97c2003-03-19 19:25:18 +0000185endif
186
187if OS_LINUX
188 libunwind_la_SOURCES_os = $(libunwind_la_SOURCES_os_linux)
189endif
190
mostang.com!davidm5929f8e2003-04-03 07:59:15 +0000191if OS_HPUX
192 libunwind_la_SOURCES_os = $(libunwind_la_SOURCES_os_hpux)
193endif
194
hp.com!davidm6432d812002-04-05 23:37:55 +0000195if ARCH_IA64
mostang.com!davidm3e4f08b2003-04-24 20:45:07 +0000196 mk_Gcursor_i_ia64_SOURCES = ia64/mk_Gcursor_i-ia64.c
197 mk_Lcursor_i_ia64_SOURCES = ia64/mk_Lcursor_i-ia64.c
198 noinst_PROGRAMS = mk_Gcursor_i-ia64 mk_Lcursor_i-ia64
mostang.com!davidm8e85e812003-04-23 19:22:42 +0000199 BUILT_SOURCES = Gcursor_i.h Lcursor_i.h
mostang.com!davidm3e4f08b2003-04-24 20:45:07 +0000200Gcursor_i.h: mk_Gcursor_i-ia64
201 ./mk_Gcursor_i-ia64 > $@
202Lcursor_i.h: mk_Lcursor_i-ia64
203 ./mk_Lcursor_i-ia64 > $@
mostang.com!davidmad7f1472003-02-08 10:10:59 +0000204 lib_LTLIBRARIES_arch = libunwind-ia64.la
hp.com!davidm16566632004-01-03 10:50:24 +0000205 libunwind_la_SOURCES = $(libunwind_la_SOURCES_ia64)
206 libunwind_ia64_la_SOURCES = $(libunwind_ia64_la_SOURCES_ia64)
mostang.com!davidma6d51ee2002-04-25 06:47:29 +0000207 libunwind_ia64_la_LDFLAGS = -version-info $(SOVERSION)
hp.com!davidmf06787a2004-01-22 08:36:15 +0000208if !REMOTE_ONLY
hp.com!davidm16566632004-01-03 10:50:24 +0000209 libunwind_ia64_la_LIBADD = libunwind.la
hp.com!davidmf06787a2004-01-22 08:36:15 +0000210endif
mostang.com!davidmad7f1472003-02-08 10:10:59 +0000211 libunwind_setjmp_la_SOURCES = $(libunwind_setjmp_la_SOURCES_common) \
212 $(libunwind_setjmp_la_SOURCES_ia64)
hp.com!davidm6432d812002-04-05 23:37:55 +0000213else
mostang.com!davidmf6c7a652003-01-14 07:11:56 +0000214if ARCH_HPPA
mostang.com!davidmad7f1472003-02-08 10:10:59 +0000215 lib_LTLIBRARIES_arch = libunwind-hppa.la
hp.com!davidm16566632004-01-03 10:50:24 +0000216 libunwind_la_SOURCES = $(libunwind_la_SOURCES_hppa)
hp.com!davidmf06787a2004-01-22 08:36:15 +0000217 libunwind_hppa_la_SOURCES = $(libunwind_hppa_la_SOURCES_hppa)
mostang.com!davidmf6c7a652003-01-14 07:11:56 +0000218 libunwind_hppa_la_LDFLAGS = -version-info $(SOVERSION)
hp.com!davidmf06787a2004-01-22 08:36:15 +0000219if !REMOTE_ONLY
hp.com!davidm16566632004-01-03 10:50:24 +0000220 libunwind_hppa_la_LIBADD = libunwind.la
hp.com!davidmf06787a2004-01-22 08:36:15 +0000221endif
mostang.com!davidmad7f1472003-02-08 10:10:59 +0000222 libunwind_setjmp_la_SOURCES = $(libunwind_setjmp_la_SOURCES_common) \
223 $(libunwind_setjmp_la_SOURCES_hppa)
mostang.com!davidmf6c7a652003-01-14 07:11:56 +0000224else
mostang.com!davidm3ae9b812002-12-19 07:16:50 +0000225if ARCH_X86
mostang.com!davidmad7f1472003-02-08 10:10:59 +0000226 lib_LTLIBRARIES_arch = libunwind-x86.la
hp.com!davidm16566632004-01-03 10:50:24 +0000227 libunwind_la_SOURCES = $(libunwind_la_SOURCES_x86)
hp.com!davidmf06787a2004-01-22 08:36:15 +0000228 libunwind_x86_la_SOURCES = $(libunwind_x86_la_SOURCES_x86)
mostang.com!davidm3ae9b812002-12-19 07:16:50 +0000229 libunwind_x86_la_LDFLAGS = -version-info $(SOVERSION)
hp.com!davidmf06787a2004-01-22 08:36:15 +0000230if !REMOTE_ONLY
hp.com!davidm16566632004-01-03 10:50:24 +0000231 libunwind_x86_la_LIBADD = libunwind.la
hp.com!davidmf06787a2004-01-22 08:36:15 +0000232endif
mostang.com!davidmad7f1472003-02-08 10:10:59 +0000233 libunwind_setjmp_la_SOURCES = $(libunwind_setjmp_la_SOURCES_common) \
234 $(libunwind_setjmp_la_SOURCES_x86)
mostang.com!davidmf6c7a652003-01-14 07:11:56 +0000235endif # ARCH_X86
236endif # ARCH_HPPA
237endif # ARCH_IA64
mostang.com!davidm00abcc62002-04-19 05:35:46 +0000238
hp.com!davidm16566632004-01-03 10:50:24 +0000239libunwind_la_LDFLAGS = -XCClinker -nostartfiles -version-info $(SOVERSION)
240
241lib_LIBRARIES = $(LIBRARIES_cdep)
mostang.com!davidmad7f1472003-02-08 10:10:59 +0000242lib_LTLIBRARIES = $(lib_LTLIBRARIES_cdep) $(lib_LTLIBRARIES_arch)
243
hp.com!davidm23760812003-12-20 11:50:00 +0000244AM_CPPFLAGS = -I$(top_srcdir)/include/$(arch) -I$(top_srcdir)/include -I.
mostang.com!davidmad7f1472003-02-08 10:10:59 +0000245AM_CCASFLAGS = $(AM_CPPFLAGS)
hp.com!davidm6432d812002-04-05 23:37:55 +0000246
hp.com!davidm16566632004-01-03 10:50:24 +0000247EXTRA_DIST = elfxx.h elfxx.c unwind-internal.h \
248 $(libunwind_la_SOURCES_hppa) \
249 $(libunwind_la_SOURCES_ia64) \
250 $(libunwind_la_SOURCES_x86) \
251 $(libunwind_la_SOURCES_os_linux) \
252 $(libunwind_la_SOURCES_os_hpux) \
253 $(libunwind_la_SOURCES_common) \
254 $(libunwind_la_SOURCES_local) \
255 $(libunwind_la_SOURCES_generic) \
256 $(libunwind_ptrace_a_SOURCES) \
257 $(libunwind_setjmp_la_SOURCES_common) \
258 $(libunwind_setjmp_la_SOURCES_hppa) \
259 $(libunwind_setjmp_la_SOURCES_ia64) \
260 $(libunwind_setjmp_la_SOURCES_x86)
mostang.com!davidm0adb97c2003-03-19 19:25:18 +0000261
mostang.com!davidm83b038d2002-02-28 16:24:48 +0000262# The -version-info flag accepts an argument of the form
263# `current[:revision[:age]]'. So, passing `-version-info 3:12:1' sets
264# current to 3, revision to 12, and age to 1.
265
266# If either revision or age are omitted, they default to 0. Also note
267# that age must be less than or equal to the current interface number.
268
269# Here are a set of rules to help you update your library version
270# information:
271
272# 1. Start with version information of `0:0:0' for each libtool
273# library.
274
275# 2. Update the version information only immediately before a public
276# release of your software. More frequent updates are unnecessary,
277# and only guarantee that the current interface number gets larger
278# faster.
279
280# 3. If the library source code has changed at all since the last
281# update, then increment revision (`c:r:a' becomes `c:r+1:a').
282
283# 4. If any interfaces have been added, removed, or changed since the
284# last update, increment current, and set revision to 0.
285
286# 5. If any interfaces have been added since the last public release,
287# then increment age.
288
289# 6. If any interfaces have been removed since the last public
290# release, then set age to 0.