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