Compare commits

..

2 commits

Author SHA1 Message Date
Christopher Meng
e6476df6bc Merge branch 'master' into f20
Conflicts:
	ustl.spec
2014-08-08 16:57:55 +08:00
Christopher Meng
c19880725d Revert back. 2014-08-05 16:33:41 +08:00
4 changed files with 97 additions and 2 deletions

1
.gitignore vendored Normal file
View file

@ -0,0 +1 @@
/ustl-2.1.tar.gz

View file

@ -1,2 +0,0 @@
The library "ustl" is obsolete, as announced by the author.
https://github.com/msharov/ustl

1
sources Normal file
View file

@ -0,0 +1 @@
12189009af2ce5c31d72782441eca291 ustl-2.1.tar.gz

95
ustl.spec Normal file
View file

@ -0,0 +1,95 @@
Name: ustl
Version: 2.1
Release: 3%{?dist}
Summary: A size-optimized STL implementation
License: MIT
URL: http://msharov.github.io/ustl/
Source0: https://github.com/msharov/ustl/archive/v%{version}.tar.gz#/%{name}-%{version}.tar.gz
%description
The C++ standard template library (STL) is a collection of common containers
and algorithms in template form. Unfortunately its standard incarnation
shipped with gcc is implemented without much concern for code size. Not only
is the library itself large, the current version being over a megabyte in
size, but with all the code you instantiate by using a vector for each of
your containers, it is easy to become fearful and opt for using static
arrays instead or, worse yet, abandon C++ altogether for C. This is
especially painful to former DOS assembly programmers like myself, who fret
endlessly when the size of the executable crosses the magic 64k boundary,
forgetting that nobody cares about memory anymore.
Of course, these days everyone has gigabytes of RAM and has no compunction
about loading up OpenOffice, whose source tree is over a gigabyte in size.
Why then bother with saving a kilobyte of code here and there? I can't really
say. Maybe it's that warm fuzzy knowledge that you are making maximum possible
use of your computer's resources. Maybe it's that thrill you get after
expressing your program's functionality in the fewest possible instructions
and the minimum imaginable overhead. Or maybe it really is of no importance
and any code bloat will be easily overcome by faster processors in some near
future. I just know what I like, and it's the sight of clean, concise, and
fast code. Therefore this library.
%package devel
Summary: Development files for %{name}
Requires: %{name}%{?_isa} = %{version}-%{release}
%description devel
This package contains libraries and header files for
developing applications that use %{name}.
%prep
%setup -q
# No silent build.
sed -i -e 's|\t@|\t|g' Makefile
# Don't strip the symbols, substituted with correct ldflags.
sed -i -e 's|-s |%{?__global_ldflags} |g' Config.mk.in
sed -i -e 's|/usr/lib|%{_libdir}|g' \
-e 's|CXXFLAGS :=|override CXXFLAGS +=|g' \
Config.mk.in
# Do not interfere with optflags
sed -i -e 's|-march=native||g' configure
%build
./configure \
--prefix=%{buildroot}%{_prefix} \
%ifarch %{ix86}
--without-mmx \
%endif
--with-libstdc++ --force-inline
make %{?_smp_mflags} CXXFLAGS+="%{optflags}"
%install
%make_install LIBDIR="%{buildroot}%{_libdir}"
chmod 755 -v %{buildroot}%{_libdir}/*
%check
make check
%post -p /sbin/ldconfig
%postun -p /sbin/ldconfig
%files
%doc LICENSE
%{_libdir}/libustl.so.*
%files devel
%doc README docs/
%{_includedir}/ustl.h
%{_includedir}/ustl/
%{_libdir}/libustl.so
%changelog
* Fri Aug 08 2014 Yaakov Selkowitz <yselkowi@redhat.com> - 2.1-3
- Remove -march=native
- Disable SSE on ix86 (not supported by default optflags)
* Tue Jul 29 2014 Christopher Meng <rpm@cicku.me> - 2.1-2
- Fix library location on lib64 system.
* Tue Jan 21 2014 Christopher Meng <rpm@cicku.me> - 2.1-1
- Initial Package.