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