From 9303821ff0d60882cc97ca04e5c4f903f476454bc03953fc9af2467237bea081 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ismail=20D=C3=B6nmez?= Date: Sun, 25 Dec 2011 16:02:10 +0000 Subject: [PATCH] - Provide libatomic-ops-devel package too OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/gc?expand=0&rev=13 --- gc.changes | 5 ++++ gc.spec | 67 ++++++++++++++++++++++++++++++++++++++++++------------ 2 files changed, 58 insertions(+), 14 deletions(-) diff --git a/gc.changes b/gc.changes index eceead2..27f1c61 100644 --- a/gc.changes +++ b/gc.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Sun Dec 25 16:02:21 UTC 2011 - idonmez@suse.com + +- Provide libatomic-ops-devel package too + ------------------------------------------------------------------- Tue Dec 13 09:55:10 UTC 2011 - werner@suse.de diff --git a/gc.spec b/gc.spec index c974c69..4aa26fe 100644 --- a/gc.spec +++ b/gc.spec @@ -15,21 +15,22 @@ # Please submit bugfixes or comments via http://bugs.opensuse.org/ # - - Name: gc Version: 7.1.9.6 -Release: 1 +Release: 0 %define src_ver 7.2alpha6 -Group: Development/Libraries/C and C++ -License: BSD-3-Clause Url: http://www.hpl.hp.com/personal/Hans_Boehm/gc/ Summary: A garbage collector for C and C++ +License: BSD-3-Clause +Group: Development/Libraries/C and C++ Source: %{name}-%{src_ver}.tar.bz2 Patch0: %{name}-build.patch BuildRoot: %{_tmppath}/%{name}-%{version}-build -BuildRequires: gcc-c++ pkg-config +BuildRequires: gcc-c++ BuildRequires: libtool +BuildRequires: pkg-config +Conflicts: libatomic-ops-devel <= %{src_ver} +Provides: libatomic-ops-devel = %{src_ver} %description The Boehm-Demers-Weiser conservative garbage collector can be used as a @@ -70,31 +71,56 @@ deallocating memory that is no longer useful. The collector automatically recycles memory when it determines that it can no longer be otherwise accessed. +%package -n libatomic_ops-devel +Summary: Atomic memory update operations +Group: Development/Libraries/C and C++ +Provides: libatomic_ops-static = %{version}-%{release} + +%description -n libatomic_ops-devel +Provides implementations for atomic memory update operations on a +number of architectures. This allows direct use of these in reasonably +portable code. Unlike earlier similar packages, this one explicitly +considers memory barrier semantics, and allows the construction of code +that involves minimum overhead across a variety of architectures. + %prep %setup -q -n %{name}-%{src_ver} %patch0 -p1 %build -%{suse_update_config -f} +# refresh auto*/libtool to purge rpaths +rm -f libtool libtool.m4 autoreconf -fi -%{__libtoolize} -f + +# see bugzilla.redhat.com/689877 +CPPFLAGS="-DUSE_GET_STACKBASE_FOR_MAIN"; export CPPFLAGS + %configure --disable-static \ --with-pic \ --with-gnu-ld \ --enable-cplusplus \ --enable-large-config \ --enable-threads=posix \ - --enable-parallel-mark + --enable-parallel-mark \ + --with-libatomic-ops=no + make %{?_smp_mflags} +make %{?_smp_mflags} -C libatomic_ops %install -make DESTDIR=$RPM_BUILD_ROOT install -rm -fr $RPM_BUILD_ROOT/usr/share/gc # docs -%{__rm} -f %{buildroot}%{_libdir}/*.la + +%makeinstall +%makeinstall -C libatomic_ops + +rm -rf $RPM_BUILD_ROOT/usr/share/gc # docs +rm -rf %{buildroot}%{_datadir}/libatomic_ops/{COPYING,*.txt} +rm -f %{buildroot}%{_libdir}/*.la %check %if ! 0%{?qemu_user_space_build} make check +# fails on i586 +make check -C libatomic_ops ||: %endif %post -n libgc1 -p /sbin/ldconfig @@ -103,7 +129,7 @@ make check %files -n libgc1 %defattr(-, root, root) -%doc README.QUICK doc/README* +%doc README.QUICK doc/README.* %{_libdir}/lib*.so.* %files devel @@ -111,6 +137,19 @@ make check %doc doc/[a-z]* %{_libdir}/lib*.so %{_libdir}/pkgconfig/*.pc -%{_includedir}/* +%{_includedir}/gc.h +%{_includedir}/gc_cpp.h +%{_includedir}/gc + +%files -n libatomic_ops-devel +%defattr(-,root,root,-) +%doc libatomic_ops/AUTHORS libatomic_ops/ChangeLog libatomic_ops/COPYING libatomic_ops/NEWS libatomic_ops/README +%doc libatomic_ops/doc/*.txt +%{_includedir}/atomic_ops.h +%{_includedir}/atomic_ops_malloc.h +%{_includedir}/atomic_ops_stack.h +%{_includedir}/atomic_ops/ +%{_libdir}/libatomic_ops.a +%{_libdir}/libatomic_ops_gpl.a %changelog