]> git.pld-linux.org Git - packages/dietlibc.git/blob - dietlibc.spec
7c2d577e71df590190c8c35f0e1c1ebbd91570c9
[packages/dietlibc.git] / dietlibc.spec
1 %bcond_with     pp      # disable stack protector 'coz dietlibc will not work with it!
2
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
6 Name:           dietlibc
7 Version:        0.25
8 Release:        1
9 Epoch:          2
10 License:        GPL v2
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/
21 %ifarch sparc
22 BuildRequires:  m4
23 BuildRequires:  perl-base
24 %endif
25 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
26
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/')
30
31 %description
32 Small libc for building embedded applications.
33
34 %description -l pl
35 Niewielka libc do budowania aplikacji wbudowanych.
36
37 %description -l pt_BR
38 A diet libc e' uma libc otimizada para criar pequenos binários
39 estaticamente linkados para Linux.
40
41 %package devel
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}
47
48 %description devel
49 Small libc for building embedded applications - development files.
50
51 %description devel -l pl
52 Niewielka libc do budowania aplikacji wbudowanych - pliki dla
53 programistów.
54
55 %package static
56 Summary:        Static libraries for dietlibc
57 Summary(pl):    Biblioteki statyczne dla dietlibc
58 Group:          Development/Libraries
59 Requires:       %{name}-devel = %{epoch}:%{version}-%{release}
60
61 %description static
62 Small libc for building embedded applications - static libraries.
63
64 %description static -l pl
65 Niewielka libc do budowania aplikacji wbudowanych - biblioteki
66 statyczne.
67
68 %prep
69 %setup -q
70 %patch0 -p1
71 %patch1 -p1
72 %patch2 -p1
73 %patch3 -p1
74 %patch4 -p1
75
76 %ifarch sparc
77 # generate missing functions
78 (echo "define(NAME,\`.div')define(OP,\`div')define(S,\`true')"; cat %{SOURCE1}) \
79         | m4 > sparc/sdiv.S
80 (echo "define(NAME,\`.rem')define(OP,\`rem')define(S,\`true')"; cat %{SOURCE1}) \
81         | m4 > sparc/srem.S
82 %{__perl} -pi -e 's@(^LIBOBJ.*$)@$1 \$(OBJDIR)/sdiv.o \$(OBJDIR)/srem.o@' sparc/Makefile.add
83 %endif
84
85 %build
86 OPTFLAGS="%{rpmcflags} %{?with_pp:-fno-stack-protector}"; export OPTFLAGS
87 %ifarch sparc sparcv9
88 sparc32 \
89 %endif
90 %{__make} prefix=%{dietprefix} all
91 %ifarch %{ix86}
92 %{__make} prefix=%{dietprefix} dyn
93 %endif
94
95 %install
96 rm -rf $RPM_BUILD_ROOT
97 install -d $RPM_BUILD_ROOT{%{_sysconfdir},%{_bindir},%{_mandir}/man1}
98
99 %ifarch sparc sparcv9
100 sparc32 \
101 %endif
102 %{__make} install \
103         DESTDIR=$RPM_BUILD_ROOT \
104         prefix=%{dietprefix}
105
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
110
111 cat > $RPM_BUILD_ROOT%{_bindir}/%{_target_cpu}-dietlibc-gcc <<EOF
112 #!/bin/sh
113 exec %{_bindir}/diet gcc "\$@"
114 EOF
115
116 rm -rf $RPM_BUILD_ROOT%{dietprefix}/include/{asm,linux}
117
118 %clean
119 rm -rf $RPM_BUILD_ROOT
120
121 %files
122 %defattr(644,root,root,755)
123 %doc TODO README THANKS CAVEAT CHANGES FAQ BUGS AUTHOR
124 %dir %{dietprefix}
125 %dir %{dietprefix}/lib-%{libarch}
126 %ifarch %{ix86}
127 %attr(755,root,root) %{dietprefix}/lib-%{libarch}/*.so
128 %{_sysconfdir}/*
129 %endif
130
131 %files devel
132 %defattr(644,root,root,755)
133 %attr(755,root,root) %{_bindir}/*
134 %{dietprefix}/include
135 %attr(755,root,root) %{dietprefix}/lib-%{libarch}/*.o
136 %{_mandir}/man*/*
137
138 %files static
139 %defattr(644,root,root,755)
140 %{dietprefix}/lib-%{libarch}/*.a
This page took 0.067985 seconds and 2 git commands to generate.