]>
Commit | Line | Data |
---|---|---|
70879d06 | 1 | Summary: C library optimized for size |
2a309db2 | 2 | Summary(pl.UTF-8): Biblioteka C zoptymalizowana na rozmiar |
70879d06 | 3 | Name: uClibc |
835882e7 JB |
4 | Version: 0.9.29 |
5 | Release: 0.1 | |
95116193 | 6 | Epoch: 2 |
70879d06 | 7 | License: LGPL |
3698d221 | 8 | Group: Libraries |
9 | Source0: http://uclibc.org/downloads/%{name}-%{version}.tar.bz2 | |
835882e7 | 10 | # Source0-md5: 61dc55f43b17a38a074f347e74095b20 |
eacf49ba | 11 | Patch0: %{name}-newsoname.patch |
835882e7 JB |
12 | Patch1: %{name}-toolchain-wrapper.patch |
13 | Patch2: %{name}-targetcpu.patch | |
21f5f0fd JB |
14 | Patch3: %{name}-debug.patch |
15 | Patch4: %{name}-sparc.patch | |
16 | Patch5: %{name}-ppc-ioctl-errno.patch | |
17 | Patch6: %{name}-syscallerror.patch | |
3698d221 | 18 | URL: http://uclibc.org/ |
cd27c03b ER |
19 | BuildRequires: binutils-gasp |
20 | BuildRequires: gcc >= 5:3.0 | |
e74b8a86 | 21 | BuildRequires: linux-libc-headers >= 7:2.6.20 |
91b0210c | 22 | BuildRequires: sed >= 4.0 |
d49d5dcf | 23 | BuildRequires: which |
f230b68a | 24 | ExclusiveArch: alpha %{ix86} ppc sparc sparcv9 %{x8664} |
70879d06 | 25 | BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) |
70879d06 | 26 | |
835882e7 | 27 | %define uclibc_root /usr/%{_target_cpu}-linux-uclibc |
30b1dd68 | 28 | # note: the 2nd '\' is needed (some shell expansions?) |
31800f06 | 29 | %define TARGET_ARCH %(echo %{_target_cpu} | sed -e 's/i.86\\|athlon\\|pentium./i386/;s/ppc/powerpc/;s/amd64\\|ia32e/x86_64/') |
30b1dd68 | 30 | |
70879d06 | 31 | %description |
32 | Small libc for building embedded applications. | |
33 | ||
adb3d9c8 JR |
34 | %description -l pl.UTF-8 |
35 | Mała libc do budowania aplikacji wbudowanych. | |
056323ce | 36 | |
3698d221 | 37 | %package devel |
70879d06 | 38 | Summary: Development files for uClibc |
2a309db2 | 39 | Summary(pl.UTF-8): Pliki dla programistów uClibc |
70879d06 | 40 | Group: Development/Libraries |
2af21321 | 41 | Requires: %{name} = %{epoch}:%{version}-%{release} |
4311e39e | 42 | Requires: binutils |
e74b8a86 | 43 | Requires: linux-libc-headers >= 7:2.6.20 |
33f7e18e | 44 | %requires_eq gcc |
70879d06 | 45 | |
3698d221 | 46 | %description devel |
70879d06 | 47 | Small libc for building embedded applications. |
48 | ||
adb3d9c8 JR |
49 | %description devel -l pl.UTF-8 |
50 | Mała libc do budowania aplikacji wbudowanych. | |
056323ce | 51 | |
3698d221 | 52 | %package static |
8ff09ad0 | 53 | Summary: Static uClibc libraries |
2a309db2 | 54 | Summary(pl.UTF-8): Biblioteki statyczne uClibc |
70879d06 | 55 | Group: Development/Libraries |
2af21321 | 56 | Requires: %{name}-devel = %{epoch}:%{version}-%{release} |
15ba795d | 57 | Provides: libc-static |
70879d06 | 58 | |
3698d221 | 59 | %description static |
8ff09ad0 | 60 | Static uClibc libraries. |
70879d06 | 61 | |
adb3d9c8 | 62 | %description static -l pl.UTF-8 |
3698d221 | 63 | Biblioteki statyczne uClibc. |
056323ce | 64 | |
70879d06 | 65 | %prep |
8733b462 | 66 | %setup -q |
30b1dd68 JB |
67 | %patch0 -p1 |
68 | %patch1 -p1 | |
fdce39e0 | 69 | %patch2 -p1 |
21f5f0fd | 70 | %patch3 -p1 |
b7bca0b9 | 71 | # check if it's needed now... ldso is broken on sparc anyway |
835882e7 | 72 | #%patch4 -p1 |
21f5f0fd | 73 | # shouldn't be needed now |
835882e7 | 74 | #%patch5 -p1 |
21f5f0fd | 75 | #%patch6 -p1 |
70879d06 | 76 | |
31800f06 | 77 | sed -i -e ' |
f230b68a | 78 | %ifarch sparc sparcv9 |
30b1dd68 | 79 | s/default TARGET_i386/default TARGET_sparc/ |
3698d221 | 80 | %endif |
81 | %ifarch alpha | |
30b1dd68 | 82 | s/default TARGET_i386/default TARGET_alpha/ |
3698d221 | 83 | %endif |
84 | %ifarch ppc ppc64 | |
30b1dd68 | 85 | s/default TARGET_i386/default TARGET_powerpc/ |
9dfdc366 JB |
86 | %endif |
87 | %ifarch %{x8664} | |
88 | s/default TARGET_i386/default TARGET_x86_64/ | |
3698d221 | 89 | %endif |
31800f06 | 90 | ' extra/Configs/Config.in |
30b1dd68 | 91 | |
70879d06 | 92 | %build |
30b1dd68 JB |
93 | %{__make} defconfig \ |
94 | TARGET_ARCH="%{TARGET_ARCH}" \ | |
95 | TARGET_CPU="%{_target_cpu}" \ | |
96 | KERNEL_SOURCE=%{_prefix} \ | |
5d1a434a | 97 | HOSTCC="%{__cc}" \ |
30b1dd68 JB |
98 | HOSTCFLAGS="%{rpmcflags} %{rpmldflags}" \ |
99 | OPTIMIZATION="%{rpmcflags} -Os" \ | |
100 | CC="%{__cc}" | |
fdce39e0 | 101 | |
30b1dd68 JB |
102 | mv -f .config .config.tmp |
103 | sed -e 's/^.*UCLIBC_HAS_IPV6.*$/UCLIBC_HAS_IPV6=y/; | |
104 | s/^.*DO_C99_MATH.*$/DO_C99_MATH=y/; | |
835882e7 | 105 | s/^.*UCLIBC_HAS_RPC.*/UCLIBC_HAS_RPC=y\n# UCLIBC_HAS_FULL_RPC is not set\n# UCLIBC_HAS_REENTRANT_RPC is not set/; |
ed98978b | 106 | s/^.*UCLIBC_HAS_SYS_SIGLIST.*$/UCLIBC_HAS_SYS_SIGLIST=y/; |
c9a88cac | 107 | s,^SHARED_LIB_LOADER_PREFIX=.*,SHARED_LIB_LOADER_PREFIX="$(RUNTIME_PREFIX)/lib", |
cc24ec1e | 108 | s/^.*UCLIBC_HAS_PRINTF_M_SPEC.*$/UCLIBC_HAS_PRINTF_M_SPEC=y/; |
21f5f0fd | 109 | %{?debug:s/^.*\<DODEBUG\>.*$/DODEBUG=y/;s/^.*SUPPORT_LD_DEBUG\>.*$/SUPPORT_LD_DEBUG=y/;s/^.*SUPPORT_LD_DEBUG_EARLY.*$/SUPPORT_LD_DEBUG_EARLY=y/;s/^.*\<DOSTRIP\>.*$/# DOSTRIP is not set/;} |
30b1dd68 | 110 | ' .config.tmp > .config |
03b83444 | 111 | |
30b1dd68 JB |
112 | # force regeneration after .config changes |
113 | rm -f include/bits/uClibc_config.h | |
fdce39e0 | 114 | |
15afd9ab | 115 | # note: defconfig and all must be run in separate make process because of macros |
30b1dd68 JB |
116 | %{__make} \ |
117 | TARGET_ARCH="%{TARGET_ARCH}" \ | |
1ecf6a0b | 118 | TARGET_CPU="%{_target_cpu}" \ |
5a743a1d | 119 | KERNEL_SOURCE=%{_prefix} \ |
cd27c03b | 120 | HOSTCC="%{__cc}" \ |
15afd9ab | 121 | HOSTCFLAGS="%{rpmcflags} %{rpmldflags}" \ |
5e415ac8 | 122 | OPTIMIZATION="%{rpmcflags} -Os" \ |
c95f6ae8 | 123 | CC="%{__cc}" |
70879d06 | 124 | |
125 | %install | |
126 | rm -rf $RPM_BUILD_ROOT | |
3698d221 | 127 | install -d $RPM_BUILD_ROOT%{_bindir} |
70879d06 | 128 | |
3698d221 | 129 | %{__make} install \ |
cd27c03b | 130 | NATIVE_CC="%{__cc}" \ |
edb8affb | 131 | NATIVE_CFLAGS="%{rpmcflags} %{rpmldflags}" \ |
30b1dd68 | 132 | TARGET_ARCH="%{TARGET_ARCH}" \ |
1ecf6a0b | 133 | TARGET_CPU="%{_target_cpu}" \ |
c95f6ae8 | 134 | CC="%{__cc}" \ |
3698d221 | 135 | PREFIX=$RPM_BUILD_ROOT |
70879d06 | 136 | |
835882e7 JB |
137 | mv -f $RPM_BUILD_ROOT%{uclibc_root}/usr/lib/{libpthread-uclibc,libpthread}.so |
138 | ln -sf libpthread-0.9.29.so $RPM_BUILD_ROOT%{uclibc_root}/lib/libpthread.so.0 | |
139 | ||
b19cfcd2 | 140 | # these links are *needed* (by stuff in bin/) |
835882e7 | 141 | for f in $RPM_BUILD_ROOT%{uclibc_root}/bin/*; do |
30b1dd68 JB |
142 | mv -f $f $RPM_BUILD_ROOT%{_bindir} |
143 | ln -sf ../../bin/`basename $f` $f | |
144 | done | |
70879d06 | 145 | |
f7ae07ef PS |
146 | for f in c++ cc g++ gcc ld; do |
147 | ln -sf /usr/bin/%{_target_cpu}-uclibc-$f \ | |
835882e7 | 148 | $RPM_BUILD_ROOT%{uclibc_root}/usr/bin/$f |
f7ae07ef PS |
149 | done |
150 | ||
835882e7 JB |
151 | rm -rf $RPM_BUILD_ROOT%{uclibc_root}/usr/include/{linux,asm*} |
152 | ln -sf /usr/include/asm $RPM_BUILD_ROOT%{uclibc_root}/usr/include/asm | |
153 | ln -sf /usr/include/asm-generic $RPM_BUILD_ROOT%{uclibc_root}/usr/include/asm-generic | |
781bfbca | 154 | %ifarch %{x8664} |
f230b68a JB |
155 | ln -sf /usr/include/asm-i386 $RPM_BUILD_ROOT%{uclibc_root}/usr/include/asm-i386 |
156 | ln -sf /usr/include/asm-x86_64 $RPM_BUILD_ROOT%{uclibc_root}/usr/include/asm-x86_64 | |
781bfbca | 157 | %endif |
f230b68a | 158 | # for future use |
e74b8a86 | 159 | %ifarch sparc64 |
835882e7 JB |
160 | ln -sf /usr/include/asm-sparc $RPM_BUILD_ROOT%{uclibc_root}/usr/include/asm-sparc |
161 | ln -sf /usr/include/asm-sparc64 $RPM_BUILD_ROOT%{uclibc_root}/usr/include/asm-sparc64 | |
485e7d55 | 162 | %endif |
835882e7 | 163 | ln -sf /usr/include/linux $RPM_BUILD_ROOT%{uclibc_root}/usr/include/linux |
3c259173 | 164 | |
70879d06 | 165 | %clean |
166 | rm -rf $RPM_BUILD_ROOT | |
167 | ||
70879d06 | 168 | %files |
169 | %defattr(644,root,root,755) | |
835882e7 JB |
170 | %doc Changelog* DEDICATION.mjn3 MAINTAINERS README TODO |
171 | %dir %{uclibc_root} | |
f230b68a | 172 | %ifarch %{ix86} %{x8664} ppc sparc sparcv9 |
835882e7 JB |
173 | %dir %{uclibc_root}/lib |
174 | %attr(755,root,root) %{uclibc_root}/lib/*.so* | |
9a46e67b | 175 | %endif |
70879d06 | 176 | |
3698d221 | 177 | %files devel |
70879d06 | 178 | %defattr(644,root,root,755) |
835882e7 | 179 | %doc docs/*.txt |
3698d221 | 180 | %attr(755,root,root) %{_bindir}/* |
835882e7 JB |
181 | %{uclibc_root}/usr/lib/*.o |
182 | %dir %{uclibc_root}/usr | |
183 | %dir %{uclibc_root}/usr/bin | |
184 | %attr(755,root,root) %{uclibc_root}/usr/bin/* | |
185 | %dir %{uclibc_root}/usr/lib | |
186 | %{uclibc_root}/usr/lib/uclibc_nonshared.a | |
f230b68a | 187 | %ifarch %{ix86} %{x8664} ppc sparc sparcv9 |
835882e7 | 188 | %attr(755,root,root) %{uclibc_root}/usr/lib/*.so |
1a8228b3 | 189 | %endif |
835882e7 | 190 | %{uclibc_root}/usr/include |
3698d221 | 191 | |
192 | %files static | |
98274bf4 | 193 | %defattr(644,root,root,755) |
835882e7 | 194 | %{uclibc_root}/usr/lib/lib*.a |