SHA256
2
0

Accepting request 98150 from devel:libraries:c_c++

- Provide libatomic-ops-devel package too 

- 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.


libatomic-ops-devel package should be removed after this SR is accepted

OBS-URL: https://build.opensuse.org/request/show/98150
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/gc?expand=0&rev=21
This commit is contained in:
Stephan Kulow 2011-12-27 17:35:28 +00:00 committed by Git OBS Bridge
commit d74ff08d03
2 changed files with 71 additions and 14 deletions

View File

@ -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 Sat Oct 1 05:39:10 UTC 2011 - coolo@suse.com

73
gc.spec
View File

@ -15,21 +15,22 @@
# Please submit bugfixes or comments via http://bugs.opensuse.org/ # Please submit bugfixes or comments via http://bugs.opensuse.org/
# #
Name: gc Name: gc
Version: 7.1.9.6 Version: 7.1.9.6
Release: 1 Release: 0
%define src_ver 7.2alpha6 %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/ Url: http://www.hpl.hp.com/personal/Hans_Boehm/gc/
Summary: A garbage collector for C and C++ Summary: A garbage collector for C and C++
License: BSD-3-Clause
Group: Development/Libraries/C and C++
Source: %{name}-%{src_ver}.tar.bz2 Source: %{name}-%{src_ver}.tar.bz2
Patch0: %{name}-build.patch Patch0: %{name}-build.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildRequires: gcc-c++ pkg-config BuildRequires: gcc-c++
BuildRequires: libtool BuildRequires: libtool
BuildRequires: pkg-config
Conflicts: libatomic-ops-devel <= %{src_ver}
Provides: libatomic-ops-devel = %{src_ver}
%description %description
The Boehm-Demers-Weiser conservative garbage collector can be used as a 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 automatically recycles memory when it determines that it can no longer
be otherwise accessed. 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 %prep
%setup -q -n %{name}-%{src_ver} %setup -q -n %{name}-%{src_ver}
%patch0 -p1 %patch0 -p1
%build %build
%{suse_update_config -f} # refresh auto*/libtool to purge rpaths
rm -f libtool libtool.m4
autoreconf -fi 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}
make %{?_smp_mflags} -C libatomic_ops
%install %install
make DESTDIR=$RPM_BUILD_ROOT install
rm -fr $RPM_BUILD_ROOT/usr/share/gc # docs %makeinstall
%{__rm} -f %{buildroot}%{_libdir}/*.la %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 %check
%if ! 0%{?qemu_user_space_build} %if ! 0%{?qemu_user_space_build}
make check make check
# fails on i586
make check -C libatomic_ops ||:
%endif %endif
%post -n libgc1 -p /sbin/ldconfig %post -n libgc1 -p /sbin/ldconfig
@ -97,7 +129,7 @@ make check
%files -n libgc1 %files -n libgc1
%defattr(-, root, root) %defattr(-, root, root)
%doc README.QUICK doc/README* %doc README.QUICK doc/README.*
%{_libdir}/lib*.so.* %{_libdir}/lib*.so.*
%files devel %files devel
@ -105,6 +137,19 @@ make check
%doc doc/[a-z]* %doc doc/[a-z]*
%{_libdir}/lib*.so %{_libdir}/lib*.so
%{_libdir}/pkgconfig/*.pc %{_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 %changelog