]> git.pld-linux.org Git - packages/uClibc.git/blame - uClibc.spec
- removed obsolete ppc-syscall,ppc-uint128 patches
[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
711f0b79
AM
4Version: 0.9.28.1
5Release: 1
95116193 6Epoch: 2
70879d06 7License: LGPL
3698d221 8Group: Libraries
9Source0: http://uclibc.org/downloads/%{name}-%{version}.tar.bz2
711f0b79 10# Source0-md5: aa85e790c565ad3096d8c3782dfb0197
eacf49ba
JB
11Patch0: %{name}-newsoname.patch
12Patch1: %{name}-alpha.patch
13Patch2: %{name}-toolchain-wrapper.patch
14Patch3: %{name}-targetcpu.patch
15Patch4: %{name}-O_DIRECT.patch
a014e3c4 16Patch5: %{name}-sparc.patch
31800f06 17Patch6: %{name}-x86_64.patch
148f3bbe 18Patch7: %{name}-ppc-ioctl-errno.patch
628db09f 19Patch8: %{name}-syscallerror.patch
3698d221 20URL: http://uclibc.org/
cd27c03b
ER
21BuildRequires: binutils-gasp
22BuildRequires: gcc >= 5:3.0
91b0210c 23BuildRequires: sed >= 4.0
d49d5dcf 24BuildRequires: which
9dfdc366 25ExclusiveArch: alpha %{ix86} ppc sparc sparc64 sparcv9 %{x8664}
70879d06 26BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
70879d06 27
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
ff81030d 43Requires: linux-libc-headers
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
90317da1 70%patch3 -p1
5e415ac8 71%patch4 -p1
a014e3c4 72%patch5 -p1
31800f06 73%patch6 -p1
148f3bbe 74%patch7 -p1
628db09f 75%patch8 -p1
70879d06 76
31800f06 77sed -i -e '
485e7d55 78%ifarch sparc sparc64 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
31800f06
JB
92# ldso on x86_64 not ready yet (missing resolve.S)
93sed -i -e '/HAS_NO_THREADS/a\\n\tselect HAVE_NO_SHARED\n\tselect ARCH_HAS_NO_LDSO' \
94 extra/Configs/Config.x86_64
95sed -i -e '/HAS_NO_THREADS/d' extra/Configs/Config.alpha
70879d06 96
485e7d55
JB
97%ifarch sparc sparc64 sparcv9
98ln -sf /usr/include/asm-sparc include/asm-sparc
99ln -sf /usr/include/asm-sparc64 include/asm-sparc64
100%{__perl} -pi -e 's/^(rm.*asm)\*/$1/' extra/scripts/fix_includes.sh
101%endif
102
70879d06 103%build
30b1dd68
JB
104%{__make} defconfig \
105 TARGET_ARCH="%{TARGET_ARCH}" \
106 TARGET_CPU="%{_target_cpu}" \
107 KERNEL_SOURCE=%{_prefix} \
5d1a434a 108 HOSTCC="%{__cc}" \
30b1dd68
JB
109 HOSTCFLAGS="%{rpmcflags} %{rpmldflags}" \
110 OPTIMIZATION="%{rpmcflags} -Os" \
111 CC="%{__cc}"
fdce39e0 112
30b1dd68
JB
113mv -f .config .config.tmp
114sed -e 's/^.*UCLIBC_HAS_IPV6.*$/UCLIBC_HAS_IPV6=y/;
115 s/^.*DO_C99_MATH.*$/DO_C99_MATH=y/;
c2c699ba 116 s/^.*UCLIBC_HAS_RPC.*/UCLIBC_HAS_RPC=y\n# UCLIBC_HAS_FULL_RPC is not set/;
ed98978b 117 s/^.*UCLIBC_HAS_SYS_SIGLIST.*$/UCLIBC_HAS_SYS_SIGLIST=y/;
c9a88cac 118 s,^SHARED_LIB_LOADER_PREFIX=.*,SHARED_LIB_LOADER_PREFIX="$(RUNTIME_PREFIX)/lib",
cc24ec1e 119 s/^.*UCLIBC_HAS_PRINTF_M_SPEC.*$/UCLIBC_HAS_PRINTF_M_SPEC=y/;
30b1dd68 120 ' .config.tmp > .config
03b83444
JB
121%{?debug:echo 'DODEBUG=y' >> .config}
122%{?debug:echo 'SUPPORT_LD_DEBUG=y' >> .config}
123
30b1dd68
JB
124# force regeneration after .config changes
125rm -f include/bits/uClibc_config.h
fdce39e0 126
15afd9ab 127# note: defconfig and all must be run in separate make process because of macros
30b1dd68
JB
128%{__make} \
129 TARGET_ARCH="%{TARGET_ARCH}" \
1ecf6a0b 130 TARGET_CPU="%{_target_cpu}" \
5a743a1d 131 KERNEL_SOURCE=%{_prefix} \
cd27c03b 132 HOSTCC="%{__cc}" \
15afd9ab 133 HOSTCFLAGS="%{rpmcflags} %{rpmldflags}" \
5e415ac8 134 OPTIMIZATION="%{rpmcflags} -Os" \
c95f6ae8 135 CC="%{__cc}"
70879d06 136
137%install
138rm -rf $RPM_BUILD_ROOT
3698d221 139install -d $RPM_BUILD_ROOT%{_bindir}
70879d06 140
3698d221 141%{__make} install \
cd27c03b 142 NATIVE_CC="%{__cc}" \
edb8affb 143 NATIVE_CFLAGS="%{rpmcflags} %{rpmldflags}" \
30b1dd68 144 TARGET_ARCH="%{TARGET_ARCH}" \
1ecf6a0b 145 TARGET_CPU="%{_target_cpu}" \
c95f6ae8 146 CC="%{__cc}" \
3698d221 147 PREFIX=$RPM_BUILD_ROOT
70879d06 148
b19cfcd2 149# these links are *needed* (by stuff in bin/)
f7ae07ef 150for f in $RPM_BUILD_ROOT/usr/%{_target_cpu}-linux-uclibc/bin/*; do
30b1dd68
JB
151 mv -f $f $RPM_BUILD_ROOT%{_bindir}
152 ln -sf ../../bin/`basename $f` $f
153done
70879d06 154
f7ae07ef
PS
155for f in c++ cc g++ gcc ld; do
156 ln -sf /usr/bin/%{_target_cpu}-uclibc-$f \
157 $RPM_BUILD_ROOT/usr/%{_target_cpu}-linux-uclibc/usr/bin/$f
158done
159
485e7d55 160rm -rf $RPM_BUILD_ROOT/usr/%{_target_cpu}-linux-uclibc/usr/include/{linux,asm*}
30b1dd68 161ln -sf /usr/include/asm $RPM_BUILD_ROOT/usr/%{_target_cpu}-linux-uclibc/usr/include/asm
781bfbca 162%ifarch %{x8664}
4fc12e17 163 ln -sf /usr/include/asm-%{TARGET_ARCH} $RPM_BUILD_ROOT/usr/%{_target_cpu}-linux-uclibc/usr/include/asm-%{TARGET_ARCH}
781bfbca 164%endif
485e7d55
JB
165%ifarch sparc sparc64 sparcv9
166ln -sf /usr/include/asm-sparc $RPM_BUILD_ROOT/usr/%{_target_cpu}-linux-uclibc/usr/include/asm-sparc
167ln -sf /usr/include/asm-sparc64 $RPM_BUILD_ROOT/usr/%{_target_cpu}-linux-uclibc/usr/include/asm-sparc64
168%endif
30b1dd68 169ln -sf /usr/include/linux $RPM_BUILD_ROOT/usr/%{_target_cpu}-linux-uclibc/usr/include/linux
3c259173 170
70879d06 171%clean
172rm -rf $RPM_BUILD_ROOT
173
70879d06 174%files
175%defattr(644,root,root,755)
31800f06 176%doc Changelog* DEDICATION.mjn3 MAINTAINERS README TODO docs/threads.txt
30b1dd68 177%dir %{_prefix}/*-linux-uclibc
31800f06 178%ifarch %{ix86} ppc sparc sparc64 sparcv9
30b1dd68
JB
179%dir %{_prefix}/*-linux-uclibc/lib
180%attr(755,root,root) %{_prefix}/*-linux-uclibc/lib/*.so*
9a46e67b 181%endif
70879d06 182
3698d221 183%files devel
70879d06 184%defattr(644,root,root,755)
31800f06 185%doc docs/uclibc.org/*
3698d221 186%attr(755,root,root) %{_bindir}/*
30b1dd68
JB
187%{_prefix}/*-linux-uclibc/usr/lib/*.o
188%dir %{_prefix}/*-linux-uclibc/usr
e3d59e3d
PS
189%dir %{_prefix}/*-linux-uclibc/usr/bin
190%attr(755,root,root) %{_prefix}/*-linux-uclibc/usr/bin/*
30b1dd68 191%dir %{_prefix}/*-linux-uclibc/usr/lib
31800f06 192%ifarch %{ix86} ppc sparc sparc64 sparcv9
30b1dd68 193%attr(755,root,root) %{_prefix}/*-linux-uclibc/usr/lib/*.so
1a8228b3 194%endif
30b1dd68 195%{_prefix}/*-linux-uclibc/usr/include
3698d221 196
197%files static
98274bf4 198%defattr(644,root,root,755)
30b1dd68 199%{_prefix}/*-linux-uclibc/usr/lib/lib*.a
This page took 0.120966 seconds and 4 git commands to generate.