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