diff --git a/gc.changes b/gc.changes index b1c4abe..27f1c61 100644 --- a/gc.changes +++ b/gc.changes @@ -1,3 +1,15 @@ +------------------------------------------------------------------- +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 + +- To use this with asymptote from TeX Live large config is required. + Also fast garbage collection iby using pthread-based parallel mark + implementation will help a lot. + ------------------------------------------------------------------- Sat Oct 1 05:39:10 UTC 2011 - coolo@suse.com diff --git a/gc.spec b/gc.spec index a4babbb..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,25 +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 -%configure --disable-static --with-pic --enable-cplusplus + +# 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 \ + --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 @@ -97,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 @@ -105,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