1 %bcond_with pp # disable stack protector 'coz dietlibc will not work with it!
3 Summary: C library optimized for size
4 Summary(pl): Biblioteka standardowa C zoptymalizowana na rozmiar
5 Summary(pt_BR): libc pequena otimizada para tamanho
11 Group: Development/Libraries
12 Source0: http://www.kernel.org/pub/linux/libs/dietlibc/%{name}-%{version}.tar.bz2
13 # Source0-md5: a24c99d65b7443d17d0b15b74a1b39a0
14 Source1: %{name}-divrem.m4
15 Patch0: %{name}-ppc.patch
16 Patch1: %{name}-opt.patch
17 Patch2: %{name}-athlon.patch
18 Patch3: %{name}-amd64.patch
19 Patch4: %{name}-pentiumX.patch
20 URL: http://www.fefe.de/dietlibc/
23 BuildRequires: perl-base
25 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
27 %define dietprefix %{_prefix}/%{_target_cpu}-linux-dietlibc
28 # for some reason known only to rpm there must be "\\|" not "\|" here
29 %define libarch %(echo %{_target_cpu} | sed -e 's/i.86\\|pentium3\\|athlon/i386/;s/amd64/x86_64/')
32 Small libc for building embedded applications.
35 Niewielka libc do budowania aplikacji wbudowanych.
38 A diet libc e' uma libc otimizada para criar pequenos binários
39 estaticamente linkados para Linux.
42 Summary: Development files for dietlibc
43 Summary(pl): Pliki dla programistów u¿ywaj±cych dietlibc
44 Summary(pt_BR): libc pequena otimizada para tamanho
45 Group: Development/Libraries
46 Requires: %{name} = %{epoch}:%{version}-%{release}
49 Small libc for building embedded applications - development files.
51 %description devel -l pl
52 Niewielka libc do budowania aplikacji wbudowanych - pliki dla
56 Summary: Static libraries for dietlibc
57 Summary(pl): Biblioteki statyczne dla dietlibc
58 Group: Development/Libraries
59 Requires: %{name}-devel = %{epoch}:%{version}-%{release}
62 Small libc for building embedded applications - static libraries.
64 %description static -l pl
65 Niewielka libc do budowania aplikacji wbudowanych - biblioteki
77 # generate missing functions
78 (echo "define(NAME,\`.div')define(OP,\`div')define(S,\`true')"; cat %{SOURCE1}) \
80 (echo "define(NAME,\`.rem')define(OP,\`rem')define(S,\`true')"; cat %{SOURCE1}) \
82 %{__perl} -pi -e 's@(^LIBOBJ.*$)@$1 \$(OBJDIR)/sdiv.o \$(OBJDIR)/srem.o@' sparc/Makefile.add
86 OPTFLAGS="%{rpmcflags} %{?with_pp:-fno-stack-protector}"; export OPTFLAGS
90 %{__make} prefix=%{dietprefix} all
92 %{__make} prefix=%{dietprefix} dyn
96 rm -rf $RPM_BUILD_ROOT
97 install -d $RPM_BUILD_ROOT{%{_sysconfdir},%{_bindir},%{_mandir}/man1}
103 DESTDIR=$RPM_BUILD_ROOT \
106 mv $RPM_BUILD_ROOT%{dietprefix}/bin/* $RPM_BUILD_ROOT%{_bindir}
107 mv $RPM_BUILD_ROOT%{dietprefix}/man/man1/* $RPM_BUILD_ROOT%{_mandir}/man1
108 rm -rf $RPM_BUILD_ROOT%{dietprefix}/{bin,man}
109 rm -f $RPM_BUILD_ROOT%{_bindir}/diet-dyn
111 cat > $RPM_BUILD_ROOT%{_bindir}/%{_target_cpu}-dietlibc-gcc <<EOF
113 exec %{_bindir}/diet gcc "\$@"
116 rm -rf $RPM_BUILD_ROOT%{dietprefix}/include/{asm,linux}
119 rm -rf $RPM_BUILD_ROOT
122 %defattr(644,root,root,755)
123 %doc TODO README THANKS CAVEAT CHANGES FAQ BUGS AUTHOR
125 %dir %{dietprefix}/lib-%{libarch}
127 %attr(755,root,root) %{dietprefix}/lib-%{libarch}/*.so
132 %defattr(644,root,root,755)
133 %attr(755,root,root) %{_bindir}/*
134 %{dietprefix}/include
135 %attr(755,root,root) %{dietprefix}/lib-%{libarch}/*.o
139 %defattr(644,root,root,755)
140 %{dietprefix}/lib-%{libarch}/*.a