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