]>
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 |
711f0b79 AM |
4 | Version: 0.9.28.1 |
5 | Release: 1 | |
95116193 | 6 | Epoch: 2 |
70879d06 | 7 | License: LGPL |
3698d221 | 8 | Group: Libraries |
9 | Source0: http://uclibc.org/downloads/%{name}-%{version}.tar.bz2 | |
711f0b79 | 10 | # Source0-md5: aa85e790c565ad3096d8c3782dfb0197 |
eacf49ba JB |
11 | Patch0: %{name}-newsoname.patch |
12 | Patch1: %{name}-alpha.patch | |
13 | Patch2: %{name}-toolchain-wrapper.patch | |
14 | Patch3: %{name}-targetcpu.patch | |
15 | Patch4: %{name}-O_DIRECT.patch | |
a014e3c4 | 16 | Patch5: %{name}-sparc.patch |
31800f06 | 17 | Patch6: %{name}-x86_64.patch |
148f3bbe | 18 | Patch7: %{name}-ppc-ioctl-errno.patch |
628db09f | 19 | Patch8: %{name}-syscallerror.patch |
3698d221 | 20 | URL: http://uclibc.org/ |
cd27c03b ER |
21 | BuildRequires: binutils-gasp |
22 | BuildRequires: gcc >= 5:3.0 | |
91b0210c | 23 | BuildRequires: sed >= 4.0 |
d49d5dcf | 24 | BuildRequires: which |
9dfdc366 | 25 | ExclusiveArch: alpha %{ix86} ppc sparc sparc64 sparcv9 %{x8664} |
70879d06 | 26 | BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) |
70879d06 | 27 | |
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 |
ff81030d | 43 | Requires: linux-libc-headers |
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 |
90317da1 | 70 | %patch3 -p1 |
5e415ac8 | 71 | %patch4 -p1 |
a014e3c4 | 72 | %patch5 -p1 |
31800f06 | 73 | %patch6 -p1 |
148f3bbe | 74 | %patch7 -p1 |
628db09f | 75 | %patch8 -p1 |
70879d06 | 76 | |
31800f06 | 77 | sed -i -e ' |
485e7d55 | 78 | %ifarch sparc sparc64 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 | |
31800f06 JB |
92 | # ldso on x86_64 not ready yet (missing resolve.S) |
93 | sed -i -e '/HAS_NO_THREADS/a\\n\tselect HAVE_NO_SHARED\n\tselect ARCH_HAS_NO_LDSO' \ | |
94 | extra/Configs/Config.x86_64 | |
95 | sed -i -e '/HAS_NO_THREADS/d' extra/Configs/Config.alpha | |
70879d06 | 96 | |
485e7d55 JB |
97 | %ifarch sparc sparc64 sparcv9 |
98 | ln -sf /usr/include/asm-sparc include/asm-sparc | |
99 | ln -sf /usr/include/asm-sparc64 include/asm-sparc64 | |
100 | %{__perl} -pi -e 's/^(rm.*asm)\*/$1/' extra/scripts/fix_includes.sh | |
101 | %endif | |
102 | ||
70879d06 | 103 | %build |
30b1dd68 JB |
104 | %{__make} defconfig \ |
105 | TARGET_ARCH="%{TARGET_ARCH}" \ | |
106 | TARGET_CPU="%{_target_cpu}" \ | |
107 | KERNEL_SOURCE=%{_prefix} \ | |
5d1a434a | 108 | HOSTCC="%{__cc}" \ |
30b1dd68 JB |
109 | HOSTCFLAGS="%{rpmcflags} %{rpmldflags}" \ |
110 | OPTIMIZATION="%{rpmcflags} -Os" \ | |
111 | CC="%{__cc}" | |
fdce39e0 | 112 | |
30b1dd68 JB |
113 | mv -f .config .config.tmp |
114 | sed -e 's/^.*UCLIBC_HAS_IPV6.*$/UCLIBC_HAS_IPV6=y/; | |
115 | s/^.*DO_C99_MATH.*$/DO_C99_MATH=y/; | |
c2c699ba | 116 | s/^.*UCLIBC_HAS_RPC.*/UCLIBC_HAS_RPC=y\n# UCLIBC_HAS_FULL_RPC is not set/; |
ed98978b | 117 | s/^.*UCLIBC_HAS_SYS_SIGLIST.*$/UCLIBC_HAS_SYS_SIGLIST=y/; |
c9a88cac | 118 | s,^SHARED_LIB_LOADER_PREFIX=.*,SHARED_LIB_LOADER_PREFIX="$(RUNTIME_PREFIX)/lib", |
cc24ec1e | 119 | s/^.*UCLIBC_HAS_PRINTF_M_SPEC.*$/UCLIBC_HAS_PRINTF_M_SPEC=y/; |
30b1dd68 | 120 | ' .config.tmp > .config |
03b83444 JB |
121 | %{?debug:echo 'DODEBUG=y' >> .config} |
122 | %{?debug:echo 'SUPPORT_LD_DEBUG=y' >> .config} | |
123 | ||
30b1dd68 JB |
124 | # force regeneration after .config changes |
125 | rm -f include/bits/uClibc_config.h | |
fdce39e0 | 126 | |
15afd9ab | 127 | # note: defconfig and all must be run in separate make process because of macros |
30b1dd68 JB |
128 | %{__make} \ |
129 | TARGET_ARCH="%{TARGET_ARCH}" \ | |
1ecf6a0b | 130 | TARGET_CPU="%{_target_cpu}" \ |
5a743a1d | 131 | KERNEL_SOURCE=%{_prefix} \ |
cd27c03b | 132 | HOSTCC="%{__cc}" \ |
15afd9ab | 133 | HOSTCFLAGS="%{rpmcflags} %{rpmldflags}" \ |
5e415ac8 | 134 | OPTIMIZATION="%{rpmcflags} -Os" \ |
c95f6ae8 | 135 | CC="%{__cc}" |
70879d06 | 136 | |
137 | %install | |
138 | rm -rf $RPM_BUILD_ROOT | |
3698d221 | 139 | install -d $RPM_BUILD_ROOT%{_bindir} |
70879d06 | 140 | |
3698d221 | 141 | %{__make} install \ |
cd27c03b | 142 | NATIVE_CC="%{__cc}" \ |
edb8affb | 143 | NATIVE_CFLAGS="%{rpmcflags} %{rpmldflags}" \ |
30b1dd68 | 144 | TARGET_ARCH="%{TARGET_ARCH}" \ |
1ecf6a0b | 145 | TARGET_CPU="%{_target_cpu}" \ |
c95f6ae8 | 146 | CC="%{__cc}" \ |
3698d221 | 147 | PREFIX=$RPM_BUILD_ROOT |
70879d06 | 148 | |
b19cfcd2 | 149 | # these links are *needed* (by stuff in bin/) |
f7ae07ef | 150 | for f in $RPM_BUILD_ROOT/usr/%{_target_cpu}-linux-uclibc/bin/*; do |
30b1dd68 JB |
151 | mv -f $f $RPM_BUILD_ROOT%{_bindir} |
152 | ln -sf ../../bin/`basename $f` $f | |
153 | done | |
70879d06 | 154 | |
f7ae07ef PS |
155 | for f in c++ cc g++ gcc ld; do |
156 | ln -sf /usr/bin/%{_target_cpu}-uclibc-$f \ | |
157 | $RPM_BUILD_ROOT/usr/%{_target_cpu}-linux-uclibc/usr/bin/$f | |
158 | done | |
159 | ||
485e7d55 | 160 | rm -rf $RPM_BUILD_ROOT/usr/%{_target_cpu}-linux-uclibc/usr/include/{linux,asm*} |
30b1dd68 | 161 | ln -sf /usr/include/asm $RPM_BUILD_ROOT/usr/%{_target_cpu}-linux-uclibc/usr/include/asm |
781bfbca | 162 | %ifarch %{x8664} |
4fc12e17 | 163 | ln -sf /usr/include/asm-%{TARGET_ARCH} $RPM_BUILD_ROOT/usr/%{_target_cpu}-linux-uclibc/usr/include/asm-%{TARGET_ARCH} |
781bfbca | 164 | %endif |
485e7d55 JB |
165 | %ifarch sparc sparc64 sparcv9 |
166 | ln -sf /usr/include/asm-sparc $RPM_BUILD_ROOT/usr/%{_target_cpu}-linux-uclibc/usr/include/asm-sparc | |
167 | ln -sf /usr/include/asm-sparc64 $RPM_BUILD_ROOT/usr/%{_target_cpu}-linux-uclibc/usr/include/asm-sparc64 | |
168 | %endif | |
30b1dd68 | 169 | ln -sf /usr/include/linux $RPM_BUILD_ROOT/usr/%{_target_cpu}-linux-uclibc/usr/include/linux |
3c259173 | 170 | |
70879d06 | 171 | %clean |
172 | rm -rf $RPM_BUILD_ROOT | |
173 | ||
70879d06 | 174 | %files |
175 | %defattr(644,root,root,755) | |
31800f06 | 176 | %doc Changelog* DEDICATION.mjn3 MAINTAINERS README TODO docs/threads.txt |
30b1dd68 | 177 | %dir %{_prefix}/*-linux-uclibc |
31800f06 | 178 | %ifarch %{ix86} ppc sparc sparc64 sparcv9 |
30b1dd68 JB |
179 | %dir %{_prefix}/*-linux-uclibc/lib |
180 | %attr(755,root,root) %{_prefix}/*-linux-uclibc/lib/*.so* | |
9a46e67b | 181 | %endif |
70879d06 | 182 | |
3698d221 | 183 | %files devel |
70879d06 | 184 | %defattr(644,root,root,755) |
31800f06 | 185 | %doc docs/uclibc.org/* |
3698d221 | 186 | %attr(755,root,root) %{_bindir}/* |
30b1dd68 JB |
187 | %{_prefix}/*-linux-uclibc/usr/lib/*.o |
188 | %dir %{_prefix}/*-linux-uclibc/usr | |
e3d59e3d PS |
189 | %dir %{_prefix}/*-linux-uclibc/usr/bin |
190 | %attr(755,root,root) %{_prefix}/*-linux-uclibc/usr/bin/* | |
30b1dd68 | 191 | %dir %{_prefix}/*-linux-uclibc/usr/lib |
31800f06 | 192 | %ifarch %{ix86} ppc sparc sparc64 sparcv9 |
30b1dd68 | 193 | %attr(755,root,root) %{_prefix}/*-linux-uclibc/usr/lib/*.so |
1a8228b3 | 194 | %endif |
30b1dd68 | 195 | %{_prefix}/*-linux-uclibc/usr/include |
3698d221 | 196 | |
197 | %files static | |
98274bf4 | 198 | %defattr(644,root,root,755) |
30b1dd68 | 199 | %{_prefix}/*-linux-uclibc/usr/lib/lib*.a |