Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
home:aevseev:devel
boehm-gc
boehm-gc.spec
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File boehm-gc.spec of Package boehm-gc
%define realname gc %define realver 8.2.2 %define srcext tar.gz %define so_ver 1 # turn off the generation of debuginfo rpm (RH9) ?? %global debug_package %{nil} # Common info Name: libgc%{?so_ver} Version: %{realver}%{?extraver} Release: wiz%{?extraver:0.}1%{?dist} License: X11 Group: Development/Languages/C and C++ URL: http://www.hboehm.info/gc/ Summary: A garbage collector for C # Install-time parameters Provides: boehm-gc = %{version}-%{release} Provides: boehmgc = %{version}-%{release} Provides: bdw-gc = %{version}-%{release} Provides: bdwgc = %{version}-%{release} Provides: libgc = %{version}-%{release} Obsoletes: libgc < %{version}-%{release} # Build-time parameters BuildRequires: gcc-c++ BuildRequires: pkg-config BuildRequires: pkgconfig(atomic_ops) BuildRoot: %{_tmppath}/%{name}-root Source0: https://github.com/ivmai/bdwgc/releases/download/v%{realver}/%{realname}-%{realver}%{?extraver}.%{srcext} Source999: baselibs.conf %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. The collector is also used by a number of programming language implementations that either use C as intermediate code, want to facilitate easier interoperation with C libraries, or just prefer the simple collector interface. Alternatively, the garbage collector may be used as a leak detector for C or C++ programs, though that is not its primary goal. Empirically, this collector works with most unmodified C programs, simply by replacing malloc with GC_malloc calls, replacing realloc with GC_realloc calls, and removing free calls. %package -n libgccpp%{?so_ver} Group: Development/Languages/C and C++ Summary: A garbage collector for C++ Provides: libgctba%{?so_ver} = %{version}-%{release} %description -n libgccpp%{?so_ver} 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. The collector is also used by a number of programming language implementations that either use C as intermediate code, want to facilitate easier interoperation with C libraries, or just prefer the simple collector interface. Alternatively, the garbage collector may be used as a leak detector for C or C++ programs, though that is not its primary goal. Empirically, this collector works with most unmodified C programs, simply by replacing malloc with GC_malloc calls, replacing realloc with GC_realloc calls, and removing free calls. This package provides C++ shared library. %package -n libcord%{?so_ver} Group: Development/Languages/C and C++ Summary: Implementation of Cords - immutable character strings %description -n libcord%{?so_ver} Cords are immutable character strings. A number of operations on long cords are much more efficient than their strings.h counterpart. In particular, concatenation takes constant time independent of the length of the arguments. (Cords are represented as trees, with internal nodes representing concatenation and leaves consisting of either C strings or a functional description of the string.) The following are reasonable applications of cords. They would perform unacceptably if C strings were used: - A compiler that produces assembly language output by repeatedly concatenating instructions onto a cord representing the output file. - A text editor that converts the input file to a cord, and then performs editing operations by producing a new cord representing the file after echa character change (and keeping the old ones in an edit history) %package -n libgc-devel Group: Development/Languages/C and C++ Summary: Development stuff for The Boehm-Demers-Weiser conservative garbage collector Provides: boehm-gc-devel = %{version}-%{release} Provides: boehmgc-devel = %{version}-%{release} Provides: bdw-gc-devel = %{version}-%{release} Provides: bdwgc-devel = %{version}-%{release} Provides: %{name}-devel = %{version}-%{release} Provides: libgccpp-devel = %{version}-%{release} Provides: libgccpp%{?so_ver}-devel = %{version}-%{release} Provides: libgctba-devel = %{version}-%{release} Provides: libgctba%{?so_ver}-devel = %{version}-%{release} Provides: libcord-devel = %{version}-%{release} Provides: libcord%{?so_ver}-devel = %{version}-%{release} Requires: %{name} = %{version}-%{release} Requires: libgccpp%{?so_ver} = %{version}-%{release} Requires: libcord%{?so_ver} = %{version}-%{release} %description -n libgc-devel This package provides headers and libraries required to use the Boehm-Demers-Weiser conservative garbage collector. # Preparation step (unpackung and patching if necessary) %prep %setup -q -n %{realname}-%{realver} %build %configure \ --enable-rpath \ --enable-cplusplus \ --enable-large-config \ --with-libatomic-ops \ CFLAGS="%{optflags} %{?gcc_lto}" \ CXXFLAGS="%{optflags} %{?gcc_lto}" \ LDFLAGS="-Wl,--as-needed -Wl,--strip-all %{?gcc_lto}" %{__make} %{?_smp_mflags} %install %{__make} install DESTDIR=%{buildroot} %{__install} -D -m0644 doc/gc.man %{buildroot}%{_mandir}/man1/gc.1 [ "%{buildroot}" != "/" ] && %{__rm} -rf %{buildroot}%{_datadir}/doc [ "%{buildroot}" != "/" ] && %{__rm} -rf %{buildroot}%{_datadir}/gc %clean [ "%{buildroot}" != "/" ] && %{__rm} -rf %{buildroot} %files %defattr(-,root,root) %doc README.md %{_libdir}/libgc.so.%{?so_ver}* %files -n libgccpp%{?so_ver} %defattr(-,root,root) %doc README.md %{_libdir}/libgccpp.so.%{?so_ver}* %{_libdir}/libgctba.so.%{?so_ver}* %files -n libcord%{?so_ver} %defattr(-,root,root) %doc doc/README.cords %{_libdir}/libcord.so.%{?so_ver}* %files -n libgc-devel %defattr(-,root,root) %doc README.md doc/README.cords doc/README.%{_target_os} %doc doc/README.environment doc/README.macros doc/*.md %{_libdir}/pkgconfig/*.pc %dir %{_includedir}/gc %{_includedir}/gc/*.h %{_includedir}/*.h %{_libdir}/*.so %exclude %{_libdir}/*.la %doc %{_mandir}/man1/gc.1* %doc %{_mandir}/man3/gc.3* %post -p /sbin/ldconfig %postun -p /sbin/ldconfig %post -n libgccpp%{?so_ver} -p /sbin/ldconfig %postun -n libgccpp%{?so_ver} -p /sbin/ldconfig %post -n libcord%{?so_ver} -p /sbin/ldconfig %postun -n libcord%{?so_ver} -p /sbin/ldconfig %changelog
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor