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