]> git.pld-linux.org Git - packages/dietlibc.git/blob - dietlibc.spec
- 0.28
[packages/dietlibc.git] / dietlibc.spec
1 #
2 # Conditional build:
3 %bcond_with     ssp     # disable stack-smashing protector 'coz dietlibc will not work with it!
4 #
5 Summary:        C library optimized for size
6 Summary(pl):    Biblioteka standardowa C zoptymalizowana na rozmiar
7 Summary(pt_BR): libc pequena otimizada para tamanho
8 Name:           dietlibc
9 Version:        0.28
10 Release:        1
11 Epoch:          2
12 License:        GPL v2
13 Group:          Development/Libraries
14 Source0:        http://www.kernel.org/pub/linux/libs/dietlibc/%{name}-%{version}.tar.bz2
15 # Source0-md5:  5be8e221a438817f83f73d09ce655883
16 Source1:        %{name}-divrem.m4
17 Patch0:         %{name}-ppc.patch
18 Patch1:         %{name}-opt.patch
19 Patch2:         %{name}-athlon.patch
20 Patch3:         %{name}-amd64.patch
21 Patch4:         %{name}-pentiumX.patch
22 URL:            http://www.fefe.de/dietlibc/
23 %ifarch sparc
24 BuildRequires:  m4
25 BuildRequires:  perl-base
26 %endif
27 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
28
29 %define         dietprefix      %{_prefix}/%{_target_cpu}-linux-dietlibc
30 # for some reason known only to rpm there must be "\\|" not "\|" here
31 %define         libarch         %(echo %{_target_cpu} | sed -e 's/i.86\\|pentium.\\|athlon/i386/;s/amd64/x86_64/')
32
33 %description
34 Small libc for building embedded applications.
35
36 %description -l pl
37 Niewielka libc do budowania aplikacji wbudowanych.
38
39 %description -l pt_BR
40 A diet libc e' uma libc otimizada para criar pequenos binários
41 estaticamente linkados para Linux.
42
43 %package devel
44 Summary:        Development files for dietlibc
45 Summary(pl):    Pliki dla programistów u¿ywaj±cych dietlibc
46 Summary(pt_BR): libc pequena otimizada para tamanho
47 Group:          Development/Libraries
48 Requires:       %{name} = %{epoch}:%{version}-%{release}
49
50 %description devel
51 Small libc for building embedded applications - development files.
52
53 %description devel -l pl
54 Niewielka libc do budowania aplikacji wbudowanych - pliki dla
55 programistów.
56
57 %package static
58 Summary:        Static libraries for dietlibc
59 Summary(pl):    Biblioteki statyczne dla dietlibc
60 Group:          Development/Libraries
61 Requires:       %{name}-devel = %{epoch}:%{version}-%{release}
62
63 %description static
64 Small libc for building embedded applications - static libraries.
65
66 %description static -l pl
67 Niewielka libc do budowania aplikacji wbudowanych - biblioteki
68 statyczne.
69
70 %prep
71 %setup -q
72 %patch0 -p1
73 %patch1 -p1
74 %patch2 -p1
75 %patch3 -p1
76 %patch4 -p1
77
78 %ifarch sparc
79 # generate missing functions
80 (echo "define(NAME,\`.div')define(OP,\`div')define(S,\`true')"; cat %{SOURCE1}) \
81         | m4 > sparc/sdiv.S
82 (echo "define(NAME,\`.rem')define(OP,\`rem')define(S,\`true')"; cat %{SOURCE1}) \
83         | m4 > sparc/srem.S
84 %{__perl} -pi -e 's@(^LIBOBJ.*$)@$1 \$(OBJDIR)/sdiv.o \$(OBJDIR)/srem.o@' sparc/Makefile.add
85 %endif
86
87 %build
88 export OPTFLAGS="%{rpmcflags}%{?with_ssp: -fno-stack-protector} -fno-strict-aliasing"
89 %ifarch sparc sparcv9
90 sparc32 \
91 %endif
92 %{__make} all \
93         prefix=%{dietprefix}
94 %ifarch %{ix86}
95 %{__make} dyn \
96         prefix=%{dietprefix}
97 %endif
98
99 %install
100 rm -rf $RPM_BUILD_ROOT
101 install -d $RPM_BUILD_ROOT{%{_sysconfdir},%{_bindir},%{_mandir}/man1}
102
103 %ifarch sparc sparcv9
104 sparc32 \
105 %endif
106 %{__make} install \
107         DESTDIR=$RPM_BUILD_ROOT \
108         prefix=%{dietprefix}
109
110 mv $RPM_BUILD_ROOT%{dietprefix}/bin/* $RPM_BUILD_ROOT%{_bindir}
111 mv $RPM_BUILD_ROOT%{dietprefix}/man/man1/* $RPM_BUILD_ROOT%{_mandir}/man1
112 rm -rf $RPM_BUILD_ROOT%{dietprefix}/{bin,man}
113 rm -f $RPM_BUILD_ROOT%{_bindir}/diet-dyn
114
115 cat > $RPM_BUILD_ROOT%{_bindir}/%{_target_cpu}-dietlibc-gcc <<EOF
116 #!/bin/sh
117 exec %{_bindir}/diet gcc "\$@"
118 EOF
119
120 rm -rf $RPM_BUILD_ROOT%{dietprefix}/include/{asm,linux}
121
122 %clean
123 rm -rf $RPM_BUILD_ROOT
124
125 %files
126 %defattr(644,root,root,755)
127 %doc AUTHOR BUGS CAVEAT CHANGES FAQ README THANKS TODO
128 %dir %{dietprefix}
129 %dir %{dietprefix}/lib-%{libarch}
130 %ifarch %{ix86}
131 %attr(755,root,root) %{dietprefix}/lib-%{libarch}/*.so
132 %{_sysconfdir}/*
133 %endif
134
135 %files devel
136 %defattr(644,root,root,755)
137 %attr(755,root,root) %{_bindir}/*
138 %{dietprefix}/include
139 %attr(755,root,root) %{dietprefix}/lib-%{libarch}/*.o
140 %{_mandir}/man*/*
141
142 %files static
143 %defattr(644,root,root,755)
144 %{dietprefix}/lib-%{libarch}/*.a
This page took 0.079942 seconds and 4 git commands to generate.