123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565 |
- SOVERSION=8:0:0 # See comments at end of file.
- SETJMP_SO_VERSION=0:0:0
- #
- # Don't link with start-files since we don't use any constructors/destructors:
- #
- COMMON_SO_LDFLAGS = -XCClinker -nostartfiles
- lib_LIBRARIES =
- lib_LTLIBRARIES =
- if !REMOTE_ONLY
- #lib_LIBRARIES += libunwind-ptrace.a libunwind-coredump.a
- lib_LTLIBRARIES += libunwind.la
- endif
- noinst_HEADERS =
- noinst_LTLIBRARIES =
- ### libunwind-ptrace:
- libunwind_ptrace_a_SOURCES = \
- ptrace/_UPT_elf.c \
- ptrace/_UPT_accessors.c ptrace/_UPT_access_fpreg.c \
- ptrace/_UPT_access_mem.c ptrace/_UPT_access_reg.c \
- ptrace/_UPT_create.c ptrace/_UPT_destroy.c \
- ptrace/_UPT_find_proc_info.c ptrace/_UPT_get_dyn_info_list_addr.c \
- ptrace/_UPT_put_unwind_info.c ptrace/_UPT_get_proc_name.c \
- ptrace/_UPT_reg_offset.c ptrace/_UPT_resume.c
- noinst_HEADERS += ptrace/_UPT_internal.h
- ### libunwind-coredump:
- libunwind_coredump_a_SOURCES = \
- coredump/_UCD_accessors.c \
- coredump/_UCD_create.c \
- coredump/_UCD_destroy.c \
- coredump/_UCD_access_mem.c \
- coredump/_UCD_elf_map_image.c \
- coredump/_UCD_find_proc_info.c \
- coredump/_UCD_get_proc_name.c \
- \
- coredump/_UPT_elf.c \
- coredump/_UPT_access_fpreg.c \
- coredump/_UPT_get_dyn_info_list_addr.c \
- coredump/_UPT_put_unwind_info.c \
- coredump/_UPT_resume.c
- noinst_HEADERS += coredump/_UCD_internal.h
- ### libunwind-setjmp:
- libunwind_setjmp_la_LDFLAGS = $(COMMON_SO_LDFLAGS) \
- -version-info $(SETJMP_SO_VERSION)
- if USE_ELF32
- LIBUNWIND_ELF = libunwind-elf32.la
- endif
- if USE_ELF64
- LIBUNWIND_ELF = libunwind-elf64.la
- endif
- if USE_ELFXX
- LIBUNWIND_ELF = libunwind-elfxx.la
- endif
- libunwind_setjmp_la_LIBADD = $(LIBUNWIND_ELF) \
- libunwind-$(arch).la \
- libunwind.la -lc
- libunwind_setjmp_la_SOURCES = setjmp/longjmp.c \
- setjmp/siglongjmp.c
- noinst_HEADERS += setjmp/setjmp_i.h
- ### libunwind:
- libunwind_la_LIBADD =
- # List of arch-independent files needed by both local-only and generic
- # libraries:
- libunwind_la_SOURCES_common = \
- $(libunwind_la_SOURCES_os) \
- mi/init.c mi/flush_cache.c mi/mempool.c mi/strerror.c
- # List of arch-independent files needed by generic library (libunwind-$ARCH):
- libunwind_la_SOURCES_generic = \
- mi/Gget_accessors.c \
- mi/Gput_dynamic_unwind_info.c mi/Gdestroy_addr_space.c \
- mi/Gget_reg.c mi/Gset_reg.c \
- mi/Gget_fpreg.c mi/Gset_fpreg.c \
- mi/Gset_caching_policy.c
- if SUPPORT_CXX_EXCEPTIONS
- libunwind_la_SOURCES_local_unwind = \
- unwind/Backtrace.c unwind/DeleteException.c \
- unwind/FindEnclosingFunction.c unwind/ForcedUnwind.c \
- unwind/GetBSP.c unwind/GetCFA.c unwind/GetDataRelBase.c \
- unwind/GetGR.c unwind/GetIP.c unwind/GetLanguageSpecificData.c \
- unwind/GetRegionStart.c unwind/GetTextRelBase.c \
- unwind/RaiseException.c unwind/Resume.c \
- unwind/Resume_or_Rethrow.c unwind/SetGR.c unwind/SetIP.c \
- unwind/GetIPInfo.c
- # _ReadULEB()/_ReadSLEB() are needed for Intel C++ 8.0 compatibility
- libunwind_la_SOURCES_os_linux_local = mi/_ReadULEB.c mi/_ReadSLEB.c
- endif
- # List of arch-independent files needed by local-only library (libunwind):
- libunwind_la_SOURCES_local_nounwind = \
- $(libunwind_la_SOURCES_os_local) \
- mi/backtrace.c \
- mi/dyn-info-list.c \
- mi/Ldyn-extract.c mi/Lfind_dynamic_proc_info.c \
- mi/Lget_accessors.c \
- mi/Lget_proc_info_by_ip.c mi/Lget_proc_name.c \
- mi/Lput_dynamic_unwind_info.c mi/Ldestroy_addr_space.c \
- mi/Lget_reg.c mi/Lset_reg.c \
- mi/Lget_fpreg.c mi/Lset_fpreg.c \
- mi/Lset_caching_policy.c
- libunwind_la_SOURCES_local = \
- $(libunwind_la_SOURCES_local_nounwind) \
- $(libunwind_la_SOURCES_local_unwind)
- noinst_HEADERS += os-linux.h
- libunwind_la_SOURCES_os_linux = os-linux.c
- libunwind_la_SOURCES_os_hpux = os-hpux.c
- libunwind_la_SOURCES_os_freebsd = os-freebsd.c
- libunwind_dwarf_common_la_SOURCES = dwarf/global.c
- libunwind_dwarf_local_la_SOURCES = \
- dwarf/Lexpr.c dwarf/Lfde.c dwarf/Lparser.c dwarf/Lpe.c dwarf/Lstep.c \
- dwarf/Lfind_proc_info-lsb.c \
- dwarf/Lfind_unwind_table.c
- libunwind_dwarf_local_la_LIBADD = libunwind-dwarf-common.la
- libunwind_dwarf_generic_la_SOURCES = \
- dwarf/Gexpr.c dwarf/Gfde.c dwarf/Gparser.c dwarf/Gpe.c dwarf/Gstep.c \
- dwarf/Gfind_unwind_table.c
- libunwind_dwarf_generic_la_LIBADD = libunwind-dwarf-common.la
- if USE_DWARF
- noinst_LTLIBRARIES += libunwind-dwarf-common.la libunwind-dwarf-generic.la
- if !REMOTE_ONLY
- noinst_LTLIBRARIES += libunwind-dwarf-local.la
- endif
- libunwind_la_LIBADD += libunwind-dwarf-local.la
- endif
- noinst_HEADERS += elf32.h elf64.h elfxx.h
- libunwind_elf32_la_SOURCES = se-libc-stubs.c se-iterate-phdr.c
- libunwind_elf64_la_SOURCES = se-libc-stubs.c se-iterate-phdr.c
- libunwind_elfxx_la_SOURCES = elfxx.c
- noinst_LTLIBRARIES += $(LIBUNWIND_ELF)
- libunwind_la_LIBADD += $(LIBUNWIND_ELF)
- # The list of files that go into libunwind and libunwind-arm:
- noinst_HEADERS += arm/init.h arm/offsets.h arm/unwind_i.h
- libunwind_la_SOURCES_arm_common = $(libunwind_la_SOURCES_common) \
- arm/is_fpreg.c arm/regname.c \
- arm/ex_tables.h
- # The list of files that go into libunwind:
- libunwind_la_SOURCES_arm = $(libunwind_la_SOURCES_arm_common) \
- $(libunwind_la_SOURCES_local) \
- arm/getcontext.S \
- arm/Lcreate_addr_space.c arm/Lget_proc_info.c arm/Lget_save_loc.c \
- arm/Lglobal.c arm/Linit.c arm/Linit_local.c arm/Linit_remote.c \
- arm/Lis_signal_frame.c arm/Lregs.c arm/Lresume.c arm/Lstep.c \
- arm/Lex_tables.c
- libunwind_arm_la_SOURCES_arm = $(libunwind_la_SOURCES_arm_common) \
- $(libunwind_la_SOURCES_generic) \
- arm/Gcreate_addr_space.c arm/Gget_proc_info.c arm/Gget_save_loc.c \
- arm/Gglobal.c arm/Ginit.c arm/Ginit_local.c arm/Ginit_remote.c \
- arm/Gis_signal_frame.c arm/Gregs.c arm/Gresume.c arm/Gstep.c \
- arm/Gex_tables.c
- # The list of files that go both into libunwind and libunwind-ia64:
- noinst_HEADERS += ia64/init.h ia64/offsets.h ia64/regs.h \
- ia64/ucontext_i.h ia64/unwind_decoder.h ia64/unwind_i.h
- libunwind_la_SOURCES_ia64_common = $(libunwind_la_SOURCES_common) \
- ia64/regname.c
- # The list of files that go into libunwind:
- libunwind_la_SOURCES_ia64 = $(libunwind_la_SOURCES_ia64_common) \
- $(libunwind_la_SOURCES_local) \
- \
- ia64/dyn_info_list.S ia64/getcontext.S \
- \
- ia64/Lcreate_addr_space.c ia64/Lget_proc_info.c ia64/Lget_save_loc.c \
- ia64/Lglobal.c ia64/Linit.c ia64/Linit_local.c ia64/Linit_remote.c \
- ia64/Linstall_cursor.S ia64/Lis_signal_frame.c ia64/Lparser.c \
- ia64/Lrbs.c ia64/Lregs.c ia64/Lresume.c ia64/Lscript.c ia64/Lstep.c \
- ia64/Ltables.c ia64/Lfind_unwind_table.c
- # The list of files that go into libunwind-ia64:
- libunwind_ia64_la_SOURCES_ia64 = $(libunwind_la_SOURCES_ia64_common) \
- $(libunwind_la_SOURCES_generic) \
- ia64/Gcreate_addr_space.c ia64/Gget_proc_info.c ia64/Gget_save_loc.c \
- ia64/Gglobal.c ia64/Ginit.c ia64/Ginit_local.c ia64/Ginit_remote.c \
- ia64/Ginstall_cursor.S ia64/Gis_signal_frame.c ia64/Gparser.c \
- ia64/Grbs.c ia64/Gregs.c ia64/Gresume.c ia64/Gscript.c ia64/Gstep.c \
- ia64/Gtables.c ia64/Gfind_unwind_table.c
- # The list of files that go both into libunwind and libunwind-hppa:
- noinst_HEADERS += hppa/init.h hppa/offsets.h hppa/unwind_i.h
- libunwind_la_SOURCES_hppa_common = $(libunwind_la_SOURCES_common) \
- hppa/regname.c
- # The list of files that go into libunwind:
- libunwind_la_SOURCES_hppa = $(libunwind_la_SOURCES_hppa_common) \
- $(libunwind_la_SOURCES_local) \
- hppa/getcontext.S hppa/setcontext.S \
- hppa/Lcreate_addr_space.c hppa/Lget_save_loc.c hppa/Lglobal.c \
- hppa/Linit.c hppa/Linit_local.c hppa/Linit_remote.c \
- hppa/Lis_signal_frame.c hppa/Lget_proc_info.c hppa/Lregs.c \
- hppa/Lresume.c hppa/Lstep.c
- # The list of files that go into libunwind-hppa:
- libunwind_hppa_la_SOURCES_hppa = $(libunwind_la_SOURCES_hppa_common) \
- $(libunwind_la_SOURCES_generic) \
- hppa/Gcreate_addr_space.c hppa/Gget_save_loc.c hppa/Gglobal.c \
- hppa/Ginit.c hppa/Ginit_local.c hppa/Ginit_remote.c \
- hppa/Gis_signal_frame.c hppa/Gget_proc_info.c hppa/Gregs.c \
- hppa/Gresume.c hppa/Gstep.c
- # The list of files that go info libunwind and libunwind-mips:
- noinst_HEADERS += mips/init.h mips/offsets.h
- libunwind_la_SOURCES_mips_common = $(libunwind_la_SOURCES_common) \
- mips/is_fpreg.c mips/regname.c
- # The list of files that go into libunwind:
- libunwind_la_SOURCES_mips = $(libunwind_la_SOURCES_mips_common) \
- $(libunwind_la_SOURCES_local) \
- mips/getcontext.S \
- mips/Lcreate_addr_space.c mips/Lget_proc_info.c mips/Lget_save_loc.c \
- mips/Lglobal.c mips/Linit.c mips/Linit_local.c mips/Linit_remote.c \
- mips/Lis_signal_frame.c mips/Lregs.c mips/Lresume.c mips/Lstep.c
- libunwind_mips_la_SOURCES_mips = $(libunwind_la_SOURCES_mips_common) \
- $(libunwind_la_SOURCES_generic) \
- mips/Gcreate_addr_space.c mips/Gget_proc_info.c mips/Gget_save_loc.c \
- mips/Gglobal.c mips/Ginit.c mips/Ginit_local.c mips/Ginit_remote.c \
- mips/Gis_signal_frame.c mips/Gregs.c mips/Gresume.c mips/Gstep.c
- # The list of files that go both into libunwind and libunwind-x86:
- noinst_HEADERS += x86/init.h x86/offsets.h x86/unwind_i.h
- libunwind_la_SOURCES_x86_common = $(libunwind_la_SOURCES_common) \
- x86/is_fpreg.c x86/regname.c
- # The list of files that go into libunwind:
- libunwind_la_SOURCES_x86 = $(libunwind_la_SOURCES_x86_common) \
- $(libunwind_la_SOURCES_x86_os_local) \
- $(libunwind_la_SOURCES_local) \
- x86/Lcreate_addr_space.c x86/Lget_save_loc.c x86/Lglobal.c \
- x86/Linit.c x86/Linit_local.c x86/Linit_remote.c \
- x86/Lget_proc_info.c x86/Lregs.c \
- x86/Lresume.c x86/Lstep.c
- # The list of files that go into libunwind-x86:
- libunwind_x86_la_SOURCES_x86 = $(libunwind_la_SOURCES_x86_common) \
- $(libunwind_la_SOURCES_x86_os) \
- $(libunwind_la_SOURCES_generic) \
- x86/Gcreate_addr_space.c x86/Gget_save_loc.c x86/Gglobal.c \
- x86/Ginit.c x86/Ginit_local.c x86/Ginit_remote.c \
- x86/Gget_proc_info.c x86/Gregs.c \
- x86/Gresume.c x86/Gstep.c
- # The list of files that go both into libunwind and libunwind-x86_64:
- noinst_HEADERS += x86_64/offsets.h \
- x86_64/init.h x86_64/unwind_i.h x86_64/ucontext_i.h
- libunwind_la_SOURCES_x86_64_common = $(libunwind_la_SOURCES_common) \
- x86_64/is_fpreg.c x86_64/regname.c
- # The list of files that go into libunwind:
- libunwind_la_SOURCES_x86_64 = $(libunwind_la_SOURCES_x86_64_common) \
- $(libunwind_la_SOURCES_x86_64_os_local) \
- $(libunwind_la_SOURCES_local) \
- x86_64/Lcreate_addr_space.c x86_64/Lget_save_loc.c x86_64/Lglobal.c \
- x86_64/Linit.c x86_64/Linit_local.c x86_64/Linit_remote.c \
- x86_64/Lget_proc_info.c x86_64/Lregs.c x86_64/Lresume.c \
- x86_64/Lstash_frame.c x86_64/Lstep.c x86_64/getcontext.S
- # The list of files that go into libunwind-x86_64:
- libunwind_x86_64_la_SOURCES_x86_64 = $(libunwind_la_SOURCES_x86_64_common) \
- $(libunwind_la_SOURCES_x86_64_os) \
- $(libunwind_la_SOURCES_generic) \
- x86_64/Gcreate_addr_space.c x86_64/Gget_save_loc.c x86_64/Gglobal.c \
- x86_64/Ginit.c x86_64/Ginit_local.c x86_64/Ginit_remote.c \
- x86_64/Gget_proc_info.c x86_64/Gregs.c x86_64/Gresume.c \
- x86_64/Gstash_frame.c x86_64/Gstep.c
- # The list of local files that go to Power 64 and 32:
- libunwind_la_SOURCES_ppc = ppc/Lcreate_addr_space.c \
- ppc/Lget_proc_info.c ppc/Lget_save_loc.c ppc/Linit_local.c \
- ppc/Linit_remote.c ppc/Lis_signal_frame.c
- # The list of generic files that go to Power 64 and 32:
- libunwind_ppc_la_SOURCES_ppc_generic = ppc/Gcreate_addr_space.c \
- ppc/Gget_proc_info.c ppc/Gget_save_loc.c ppc/Ginit_local.c \
- ppc/Ginit_remote.c ppc/Gis_signal_frame.c
- # The list of files that go both into libunwind and libunwind-ppc32:
- noinst_HEADERS += ppc32/init.h ppc32/unwind_i.h ppc32/ucontext_i.h
- libunwind_la_SOURCES_ppc32_common = $(libunwind_la_SOURCES_common) \
- ppc32/is_fpreg.c ppc32/regname.c ppc32/get_func_addr.c
- # The list of files that go into libunwind:
- libunwind_la_SOURCES_ppc32 = $(libunwind_la_SOURCES_ppc32_common) \
- $(libunwind_la_SOURCES_local) \
- $(libunwind_la_SOURCES_ppc) \
- ppc32/Lglobal.c ppc32/Linit.c \
- ppc32/Lregs.c ppc32/Lresume.c ppc32/Lstep.c
- # The list of files that go into libunwind-ppc32:
- libunwind_ppc32_la_SOURCES_ppc32 = $(libunwind_la_SOURCES_ppc32_common) \
- $(libunwind_la_SOURCES_generic) \
- $(libunwind_ppc_la_SOURCES_ppc_generic) \
- ppc32/Gglobal.c ppc32/Ginit.c \
- ppc32/Gregs.c ppc32/Gresume.c ppc32/Gstep.c
- # The list of files that go both into libunwind and libunwind-ppc64:
- noinst_HEADERS += ppc64/init.h ppc64/unwind_i.h ppc64/ucontext_i.h
- libunwind_la_SOURCES_ppc64_common = $(libunwind_la_SOURCES_common) \
- ppc64/is_fpreg.c ppc64/regname.c ppc64/get_func_addr.c
- # The list of files that go into libunwind:
- libunwind_la_SOURCES_ppc64 = $(libunwind_la_SOURCES_ppc64_common) \
- $(libunwind_la_SOURCES_local) \
- $(libunwind_la_SOURCES_ppc) \
- ppc64/Lglobal.c ppc64/Linit.c \
- ppc64/Lregs.c ppc64/Lresume.c ppc64/Lstep.c
- # The list of files that go into libunwind-ppc64:
- libunwind_ppc64_la_SOURCES_ppc64 = $(libunwind_la_SOURCES_ppc64_common) \
- $(libunwind_la_SOURCES_generic) \
- $(libunwind_ppc_la_SOURCES_ppc_generic) \
- ppc64/Gglobal.c ppc64/Ginit.c \
- ppc64/Gregs.c ppc64/Gresume.c ppc64/Gstep.c
- if REMOTE_ONLY
- install-exec-hook:
- # Nothing to do here....
- else
- #
- # This is not ideal, but I know of no other way to install an
- # alias for a library. For the shared version, we have to do
- # a file check before creating the link, because it isn't going
- # to be there if the user configured with --disable-shared.
- #
- install-exec-hook:
- $(LN_S) -f libunwind-$(arch).a $(DESTDIR)$(libdir)/libunwind-generic.a
- if test -f $(DESTDIR)$(libdir)/libunwind-$(arch).so; then \
- $(LN_S) -f libunwind-$(arch).so \
- $(DESTDIR)$(libdir)/libunwind-generic.so; \
- fi
- endif
- if OS_LINUX
- libunwind_la_SOURCES_os = $(libunwind_la_SOURCES_os_linux)
- libunwind_la_SOURCES_os_local = $(libunwind_la_SOURCES_os_linux_local)
- libunwind_la_SOURCES_x86_os = x86/Gos-linux.c
- libunwind_x86_la_SOURCES_os = x86/getcontext-linux.S
- libunwind_la_SOURCES_x86_os_local = x86/Los-linux.c
- libunwind_la_SOURCES_x86_64_os = x86_64/Gos-linux.c
- libunwind_la_SOURCES_x86_64_os_local = x86_64/Los-linux.c
- libunwind_coredump_a_SOURCES += coredump/_UCD_access_reg_linux.c
- endif
- if OS_HPUX
- libunwind_la_SOURCES_os = $(libunwind_la_SOURCES_os_hpux)
- libunwind_la_SOURCES_os_local = $(libunwind_la_SOURCES_os_hpux_local)
- endif
- if OS_FREEBSD
- libunwind_la_SOURCES_os = $(libunwind_la_SOURCES_os_freebsd)
- libunwind_la_SOURCES_os_local = $(libunwind_la_SOURCES_os_freebsd_local)
- libunwind_la_SOURCES_x86_os = x86/Gos-freebsd.c
- libunwind_x86_la_SOURCES_os = x86/getcontext-freebsd.S
- libunwind_la_SOURCES_x86_os_local = x86/Los-freebsd.c
- libunwind_la_SOURCES_x86_64_os = x86_64/Gos-freebsd.c
- libunwind_la_SOURCES_x86_64_os_local = x86_64/Los-freebsd.c
- libunwind_coredump_a_SOURCES += coredump/_UCD_access_reg_freebsd.c
- endif
- if ARCH_ARM
- lib_LTLIBRARIES += libunwind-arm.la
- libunwind_la_SOURCES = $(libunwind_la_SOURCES_arm)
- libunwind_arm_la_SOURCES = $(libunwind_arm_la_SOURCES_arm)
- libunwind_arm_la_LDFLAGS = $(COMMON_SO_LDFLAGS) -version-info $(SOVERSION)
- libunwind_arm_la_LIBADD = libunwind-dwarf-generic.la
- libunwind_arm_la_LIBADD += libunwind-elf32.la
- if !REMOTE_ONLY
- libunwind_arm_la_LIBADD += libunwind.la -lc
- endif
- libunwind_setjmp_la_SOURCES += arm/siglongjmp.S
- else
- if ARCH_IA64
- ia64_mk_Gcursor_i_SOURCES = ia64/mk_Gcursor_i.c
- ia64_mk_Lcursor_i_SOURCES = ia64/mk_Lcursor_i.c
- noinst_PROGRAMS = ia64/mk_Gcursor_i ia64/mk_Lcursor_i
- BUILT_SOURCES = Gcursor_i.h Lcursor_i.h
- Gcursor_i.h: ia64/mk_Gcursor_i
- ia64/mk_Gcursor_i > $@
- Lcursor_i.h: ia64/mk_Lcursor_i
- ia64/mk_Lcursor_i > $@
- lib_LTLIBRARIES += libunwind-ia64.la
- libunwind_la_SOURCES = $(libunwind_la_SOURCES_ia64)
- libunwind_ia64_la_SOURCES = $(libunwind_ia64_la_SOURCES_ia64)
- libunwind_ia64_la_LDFLAGS = $(COMMON_SO_LDFLAGS) -version-info $(SOVERSION)
- libunwind_ia64_la_LIBADD = libunwind-elf64.la
- if !REMOTE_ONLY
- libunwind_ia64_la_LIBADD += libunwind.la -lc
- endif
- libunwind_setjmp_la_SOURCES += ia64/setjmp.S ia64/sigsetjmp.S \
- ia64/longjmp.S ia64/siglongjmp.S
- else
- if ARCH_HPPA
- lib_LTLIBRARIES += libunwind-hppa.la
- libunwind_la_SOURCES = $(libunwind_la_SOURCES_hppa)
- libunwind_hppa_la_SOURCES = $(libunwind_hppa_la_SOURCES_hppa)
- libunwind_hppa_la_LDFLAGS = $(COMMON_SO_LDFLAGS) -version-info $(SOVERSION)
- libunwind_hppa_la_LIBADD = libunwind-dwarf-generic.la
- libunwind_hppa_la_LIBADD += libunwind-elf32.la
- if !REMOTE_ONLY
- libunwind_hppa_la_LIBADD += libunwind.la -lc
- endif
- libunwind_setjmp_la_SOURCES += hppa/siglongjmp.S
- else
- if ARCH_MIPS
- lib_LTLIBRARIES += libunwind-mips.la
- libunwind_la_SOURCES = $(libunwind_la_SOURCES_mips)
- libunwind_mips_la_SOURCES = $(libunwind_mips_la_SOURCES_mips)
- libunwind_mips_la_LDFLAGS = $(COMMON_SO_LDFLAGS) -version-info $(SOVERSION)
- libunwind_mips_la_LIBADD = libunwind-dwarf-generic.la
- libunwind_mips_la_LIBADD += libunwind-elfxx.la
- if !REMOTE_ONLY
- libunwind_mips_la_LIBADD += libunwind.la -lc
- endif
- libunwind_setjmp_la_SOURCES += mips/siglongjmp.S
- else
- if ARCH_X86
- lib_LTLIBRARIES += libunwind-x86.la
- libunwind_la_SOURCES = $(libunwind_la_SOURCES_x86) $(libunwind_x86_la_SOURCES_os)
- libunwind_x86_la_SOURCES = $(libunwind_x86_la_SOURCES_x86)
- libunwind_x86_la_LDFLAGS = $(COMMON_SO_LDFLAGS) -version-info $(SOVERSION)
- libunwind_x86_la_LIBADD = libunwind-dwarf-generic.la
- libunwind_x86_la_LIBADD += libunwind-elf32.la
- if !REMOTE_ONLY
- libunwind_x86_la_LIBADD += libunwind.la -lc
- endif
- libunwind_setjmp_la_SOURCES += x86/longjmp.S x86/siglongjmp.S
- else
- if ARCH_X86_64
- lib_LTLIBRARIES += libunwind-x86_64.la
- libunwind_la_SOURCES = $(libunwind_la_SOURCES_x86_64)
- libunwind_x86_64_la_SOURCES = $(libunwind_x86_64_la_SOURCES_x86_64)
- libunwind_x86_64_la_LDFLAGS = $(COMMON_SO_LDFLAGS) -version-info $(SOVERSION)
- libunwind_x86_64_la_LIBADD = libunwind-dwarf-generic.la
- libunwind_x86_64_la_LIBADD += libunwind-elf64.la
- if !REMOTE_ONLY
- libunwind_x86_64_la_LIBADD += libunwind.la -lc
- endif
- libunwind_setjmp_la_SOURCES += x86_64/longjmp.S x86_64/siglongjmp.S
- else
- if ARCH_PPC32
- lib_LTLIBRARIES += libunwind-ppc32.la
- libunwind_la_SOURCES = $(libunwind_la_SOURCES_ppc32)
- libunwind_ppc32_la_SOURCES = $(libunwind_ppc32_la_SOURCES_ppc32)
- libunwind_ppc32_la_LDFLAGS = $(COMMON_SO_LDFLAGS) -version-info $(SOVERSION)
- libunwind_ppc32_la_LIBADD = libunwind-dwarf-generic.la
- libunwind_ppc32_la_LIBADD += libunwind-elf32.la
- if !REMOTE_ONLY
- libunwind_ppc32_la_LIBADD += libunwind.la -lc
- endif
- libunwind_setjmp_la_SOURCES += ppc/longjmp.S ppc/siglongjmp.S
- else
- if ARCH_PPC64
- lib_LTLIBRARIES += libunwind-ppc64.la
- libunwind_la_SOURCES = $(libunwind_la_SOURCES_ppc64)
- libunwind_ppc64_la_SOURCES = $(libunwind_ppc64_la_SOURCES_ppc64)
- libunwind_ppc64_la_LDFLAGS = $(COMMON_SO_LDFLAGS) -version-info $(SOVERSION)
- libunwind_ppc64_la_LIBADD = libunwind-dwarf-generic.la
- libunwind_ppc64_la_LIBADD += libunwind-elf64.la
- if !REMOTE_ONLY
- libunwind_ppc64_la_LIBADD += libunwind.la -lc
- endif
- libunwind_setjmp_la_SOURCES += ppc/longjmp.S ppc/siglongjmp.S
- endif # ARCH_PPC64
- endif # ARCH_PPC32
- endif # ARCH_X86_64
- endif # ARCH_X86
- endif # ARCH_MIPS
- endif # ARCH_HPPA
- endif # ARCH_IA64
- endif # ARCH_ARM
- # libunwind-setjmp depends on libunwind-$(arch). Therefore must be added
- # at the end.
- if !REMOTE_ONLY
- lib_LTLIBRARIES += libunwind-setjmp.la
- endif
- #
- # Don't link with standard libraries, because those may mention
- # libunwind already.
- #
- libunwind_la_LDFLAGS = $(COMMON_SO_LDFLAGS) -XCClinker -nostdlib \
- $(LDFLAGS_STATIC_LIBCXA) -version-info $(SOVERSION)
- libunwind_la_LIBADD += -lc $(LIBCRTS)
- AM_CPPFLAGS = -I$(top_srcdir)/include -I$(top_srcdir)/include/tdep-$(arch) -I.
- AM_CPPFLAGS+= -I../../../../../common/inc/ -I../../../../../sdk/trts/
- AM_CPPFLAGS+= -I../../../../../common/inc/internal
- AM_CCASFLAGS = $(AM_CPPFLAGS)
- noinst_HEADERS += unwind/unwind-internal.h
- EXTRA_DIST = $(libunwind_la_SOURCES_arm) \
- $(libunwind_la_SOURCES_hppa) \
- $(libunwind_la_SOURCES_ia64) \
- $(libunwind_la_SOURCES_mips) \
- $(libunwind_la_SOURCES_x86) \
- $(libunwind_la_SOURCES_os_freebsd) \
- $(libunwind_la_SOURCES_os_linux) \
- $(libunwind_la_SOURCES_os_hpux) \
- $(libunwind_la_SOURCES_common) \
- $(libunwind_la_SOURCES_local) \
- $(libunwind_la_SOURCES_generic) \
- $(libunwind_arm_la_SOURCES_arm) \
- $(libunwind_hppa_la_SOURCES_hppa) \
- $(libunwind_ia64_la_SOURCES_ia64) \
- $(libunwind_mips_la_SOURCES_mips) \
- $(libunwind_x86_la_SOURCES_x86) \
- $(libunwind_x86_64_la_SOURCES_x86_64)
- MAINTAINERCLEANFILES = Makefile.in
- # The -version-info flag accepts an argument of the form
- # `current[:revision[:age]]'. So, passing `-version-info 3:12:1' sets
- # current to 3, revision to 12, and age to 1.
- # If either revision or age are omitted, they default to 0. Also note
- # that age must be less than or equal to the current interface number.
- # Here are a set of rules to help you update your library version
- # information:
- # 1. Start with version information of `0:0:0' for each libtool
- # library.
- # 2. Update the version information only immediately before a public
- # release of your software. More frequent updates are unnecessary,
- # and only guarantee that the current interface number gets larger
- # faster.
- # 3. If the library source code has changed at all since the last
- # update, then increment revision (`c:r:a' becomes `c:r+1:a').
- # 4. If any interfaces have been added, removed, or changed since the
- # last update, increment current, and set revision to 0.
- # 5. If any interfaces have been added since the last public release,
- # then increment age.
- # 6. If any interfaces have been removed since the last public
- # release, then set age to 0.
|