]> git.pld-linux.org Git - packages/uClibc.git/blame - uClibc.spec
- really always disable stripping not only with %{?debug}
[packages/uClibc.git] / uClibc.spec
CommitLineData
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 20Summary: C library optimized for size
2a309db2 21Summary(pl.UTF-8): Biblioteka C zoptymalizowana na rozmiar
70879d06 22Name: uClibc
835882e7 23Version: 0.9.29
0e912c1e 24Release: 11
95116193 25Epoch: 2
1e0be70f 26License: LGPL v2.1
3698d221 27Group: Libraries
28Source0: http://uclibc.org/downloads/%{name}-%{version}.tar.bz2
835882e7 29# Source0-md5: 61dc55f43b17a38a074f347e74095b20
eacf49ba 30Patch0: %{name}-newsoname.patch
835882e7
JB
31Patch1: %{name}-toolchain-wrapper.patch
32Patch2: %{name}-targetcpu.patch
21f5f0fd 33Patch3: %{name}-debug.patch
4ae50705
JB
34Patch4: %{name}-stdio-unhide.patch
35Patch5: %{name}-sparc.patch
3698d221 36URL: http://uclibc.org/
cd27c03b
ER
37BuildRequires: binutils-gasp
38BuildRequires: gcc >= 5:3.0
0e912c1e 39BuildRequires: linux-libc-headers >= 7:2.6.24
91b0210c 40BuildRequires: sed >= 4.0
d49d5dcf 41BuildRequires: which
f230b68a 42ExclusiveArch: alpha %{ix86} ppc sparc sparcv9 %{x8664}
70879d06 43BuildRoot: %{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
52Small libc for building embedded applications.
53
adb3d9c8
JR
54%description -l pl.UTF-8
55Mała libc do budowania aplikacji wbudowanych.
056323ce 56
3698d221 57%package devel
70879d06 58Summary: Development files for uClibc
2a309db2 59Summary(pl.UTF-8): Pliki dla programistów uClibc
70879d06 60Group: Development/Libraries
2af21321 61Requires: %{name} = %{epoch}:%{version}-%{release}
4311e39e 62Requires: binutils
0e912c1e 63Requires: linux-libc-headers >= 7:2.6.24
33f7e18e 64%requires_eq gcc
70879d06 65
3698d221 66%description devel
70879d06 67Small libc for building embedded applications.
68
adb3d9c8
JR
69%description devel -l pl.UTF-8
70Mała libc do budowania aplikacji wbudowanych.
056323ce 71
3698d221 72%package static
8ff09ad0 73Summary: Static uClibc libraries
2a309db2 74Summary(pl.UTF-8): Biblioteki statyczne uClibc
70879d06 75Group: Development/Libraries
2af21321 76Requires: %{name}-devel = %{epoch}:%{version}-%{release}
15ba795d 77Provides: libc-static
70879d06 78
3698d221 79%description static
8ff09ad0 80Static uClibc libraries.
70879d06 81
adb3d9c8 82%description static -l pl.UTF-8
3698d221 83Biblioteki 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 95sed -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
120sed -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
133rm -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
146rm -rf $RPM_BUILD_ROOT
3698d221 147install -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
157mv -f $RPM_BUILD_ROOT%{uclibc_root}/usr/lib/{libpthread-uclibc,libpthread}.so
158ln -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 161for 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
164done
70879d06 165
f7ae07ef
PS
166for 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
169done
170
835882e7
JB
171rm -rf $RPM_BUILD_ROOT%{uclibc_root}/usr/include/{linux,asm*}
172ln -sf /usr/include/asm $RPM_BUILD_ROOT%{uclibc_root}/usr/include/asm
173ln -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
176ln -sf /usr/include/asm-sparc $RPM_BUILD_ROOT%{uclibc_root}/usr/include/asm-sparc
177ln -sf /usr/include/asm-sparc64 $RPM_BUILD_ROOT%{uclibc_root}/usr/include/asm-sparc64
485e7d55 178%endif
835882e7 179ln -sf /usr/include/linux $RPM_BUILD_ROOT%{uclibc_root}/usr/include/linux
3c259173 180
70879d06 181%clean
182rm -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
This page took 0.133614 seconds and 4 git commands to generate.