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