# # spec file for package gc # # Copyright (c) 2013 SUSE LINUX Products GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed # upon. The license for this file, and modifications and additions to the # file, is the same license as for the pristine package itself (unless the # license for the pristine package is not an Open Source License, in which # case the license is the MIT License). An "Open Source License" is a # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. # Please submit bugfixes or comments via http://bugs.opensuse.org/ # Name: gc Version: 7.2d Release: 0 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: http://www.hpl.hp.com/personal/Hans_Boehm/gc/gc_source/%name-%version.tar.gz Patch1: aarch64-support.patch BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRequires: autoconf >= 2.64 BuildRequires: gcc-c++ BuildRequires: libtool BuildRequires: pkg-config BuildRequires: pkgconfig(atomic_ops) %description The Boehm-Demers-Weiser conservative garbage collector can be used as a garbage collecting replacement for C malloc or C++ new. It allows you to allocate memory basically as you normally would, without explicitly 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 libgc1 Summary: A garbage collector for C and C++ Group: System/Libraries # bug437293 %ifarch ppc64 Obsoletes: boehm-gc-64bit %endif # %description -n libgc1 The Boehm-Demers-Weiser conservative garbage collector can be used as a garbage collecting replacement for C malloc or C++ new. It allows you to allocate memory basically as you normally would, without explicitly deallocating memory that is no longer useful. The collector automatically recycles memory when it determines that it can no longer be otherwise accessed. %package devel Summary: A garbage collector for C and C++ Group: Development/Libraries/C and C++ Provides: gc:/usr/include/gc/gc.h Requires: glibc-devel Requires: libgc1 = %version %description devel The Boehm-Demers-Weiser conservative garbage collector can be used as a garbage collecting replacement for C malloc or C++ new. It allows you to allocate memory basically as you normally would, without explicitly deallocating memory that is no longer useful. The collector automatically recycles memory when it determines that it can no longer be otherwise accessed. %prep %setup -q -n %{name}-7.2 %patch1 -p1 %build # refresh auto*/libtool to purge rpaths rm -f libtool libtool.m4 autoreconf -fi # 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=yes # --with-libatomic-ops=yes means to use the system library make %{?_smp_mflags} %install make install DESTDIR="%buildroot" rm -Rf "%buildroot/%_datadir/gc" "%buildroot/%_libdir"/*.la %check %if !0%{?qemu_user_space_build} make check %endif %post -n libgc1 -p /sbin/ldconfig %postun -n libgc1 -p /sbin/ldconfig %files -n libgc1 %defattr(-, root, root) %doc README.QUICK doc/README.* %_libdir/libcord.so.1* %_libdir/libgc*.so.1* %files devel %defattr(-, root, root) %doc doc/[a-z]* %_libdir/libcord.so %_libdir/libgc*.so %_libdir/pkgconfig/bdw-gc.pc %_includedir/gc.h %_includedir/gc_cpp.h %_includedir/gc/ %changelog