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