libunwind/libunwind.spec

145 lines
5.5 KiB
RPMSpec

Name: libunwind
Version: 1.3.1
Release: 1mamba
Summary: A portable and efficient C programming interface (API) to determine the call-chain of a program
Group: System/Libraries
Vendor: openmamba
Distribution: openmamba
Packager: Silvan Calarco <silvan.calarco@mambasoft.it>
URL: http://www.nongnu.org/libunwind/
Source: http://download.savannah.gnu.org/releases/libunwind/libunwind-%{version}.tar.gz
Patch0: libunwind-1.2.1-arm-fix-build-failure-due-to-asm.patch
License: GPL
## AUTOBUILDREQ-BEGIN
BuildRequires: glibc-devel
## AUTOBUILDREQ-END
BuildRoot: %{_tmppath}/%{name}-%{version}-root
%description
libunwind implements a portable and efficient C programming interface (API) to determine the call-chain of a program. The API additionally provides the means to manipulate the preserved (callee-saved) state of each call-frame and to resume execution at any point in the call-chain (non-local goto). The API supports both local (same-process) and remote (across-process) operation. As such, the API is useful in a number of applications. Some examples include:
* exception handling
The libunwind API makes it trivial to implement the stack-manipulation aspects of exception handling.
* debuggers
The libunwind API makes it trivial for debuggers to generate the call-chain (backtrace) of the threads in a running program.
* introspection
It is often useful for a running thread to determine its call-chain. For example, this is useful to display error messages (to show how the error came about) and for performance monitoring/analysis.
* efficient setjmp()
With libunwind, it is possible to implement an extremely efficient version of setjmp(). Effectively, the only context that needs to be saved consists of the stack-pointer(s).
%package devel
Group: Development/Libraries
Summary: Static libraries and headers for %{name}
Requires: %{name} = %{?epoch:%epoch:}%{version}-%{release}
%description devel
libunwind implements a portable and efficient C programming interface (API) to determine the call-chain of a program. The API additionally provides the means to manipulate the preserved (callee-saved) state of each call-frame and to resume execution at any point in the call-chain (non-local goto). The API supports both local (same-process) and remote (across-process) operation. As such, the API is useful in a number of applications. Some examples include:
* exception handling
The libunwind API makes it trivial to implement the stack-manipulation aspects of exception handling.
* debuggers
The libunwind API makes it trivial for debuggers to generate the call-chain (backtrace) of the threads in a running program.
* introspection
It is often useful for a running thread to determine its call-chain. For example, this is useful to display error messages (to show how the error came about) and for performance monitoring/analysis.
* efficient setjmp()
With libunwind, it is possible to implement an extremely efficient version of setjmp(). Effectively, the only context that needs to be saved consists of the stack-pointer(s).
This package contains static libraries and header files need for development.
%prep
%setup -q
%build
%configure \
CFLAGS="%{optflags} -DAO_USE_PTHREAD_DEFS=1" \
LDFLAGS="-latomic_ops"
%make
%install
[ "%{buildroot}" != / ] && rm -rf "%{buildroot}"
%makeinstall
%clean
[ "%{buildroot}" != / ] && rm -rf "%{buildroot}"
%post -p /sbin/ldconfig
%postun -p /sbin/ldconfig
%files
%defattr(-,root,root)
%{_libdir}/libunwind.so.*
%{_libdir}/libunwind-coredump.so.*
%{_libdir}/libunwind-ptrace.so.*
%{_libdir}/libunwind-setjmp.so.*
%ifarch %{ix86}
%{_libdir}/libunwind-x86.so.*
%endif
%ifarch x86_64
%{_libdir}/libunwind-x86_64.so.*
%endif
%ifarch arm
%{_libdir}/libunwind-arm.so.*
%endif
%doc AUTHORS COPYING
%files devel
%defattr(-,root,root)
%{_includedir}/libunwind*.h
%{_includedir}/unwind*.h
%{_libdir}/libunwind.a
%{_libdir}/libunwind.la
%{_libdir}/libunwind.so
%{_libdir}/libunwind-coredump.a
%{_libdir}/libunwind-coredump.la
%{_libdir}/libunwind-coredump.so
%{_libdir}/libunwind-generic.a
%{_libdir}/libunwind-generic.so
%{_libdir}/libunwind-ptrace.a
%{_libdir}/libunwind-ptrace.la
%{_libdir}/libunwind-ptrace.so
%{_libdir}/libunwind-setjmp.a
%{_libdir}/libunwind-setjmp.la
%{_libdir}/libunwind-setjmp.so
%ifarch %{ix86}
%{_libdir}/libunwind-x86.a
%{_libdir}/libunwind-x86.la
%{_libdir}/libunwind-x86.so
%endif
%ifarch x86_64
%{_libdir}/libunwind-x86_64.a
%{_libdir}/libunwind-x86_64.la
%{_libdir}/libunwind-x86_64.so
%endif
%ifarch arm
%{_libdir}/libunwind-arm.a
%{_libdir}/libunwind-arm.la
%{_libdir}/libunwind-arm.so
%endif
%{_libdir}/pkgconfig/libunwind-coredump.pc
%{_libdir}/pkgconfig/libunwind-generic.pc
%{_libdir}/pkgconfig/libunwind-ptrace.pc
%{_libdir}/pkgconfig/libunwind-setjmp.pc
%{_libdir}/pkgconfig/libunwind.pc
%{_mandir}/man3/*
#%doc ChangeLog LICENSE NEWS README TODO
%changelog
* Mon Jan 28 2019 Automatic Build System <autodist@mambasoft.it> 1.3.1-1mamba
- automatic version update by autodist
* Sat Dec 02 2017 Silvan Calarco <silvan.calarco@mambasoft.it> 1.2.1-2mamba
- arm: added patch to fix build failure with asm (Mesa 17)
* Mon Aug 07 2017 Automatic Build System <autodist@mambasoft.it> 1.2.1-1mamba
- automatic version update by autodist
* Mon Apr 10 2017 Automatic Build System <autodist@mambasoft.it> 1.2-1mamba
- automatic update by autodist
* Tue Oct 23 2012 Automatic Build System <autodist@mambasoft.it> 1.1-1mamba
- automatic version update by autodist
* Sat Nov 05 2011 Silvan Calarco <silvan.calarco@mambasoft.it> 1.0.1-1mamba
- package created by autospec