]> git.pld-linux.org Git - packages/uClibc.git/blame - uClibc.spec
- hidden visibility for _stdio_init causes non-NULL check to be optimized away on x86
[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 4Version: 0.9.29
415dc192 5Release: 2
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
3698d221 16URL: http://uclibc.org/
cd27c03b
ER
17BuildRequires: binutils-gasp
18BuildRequires: gcc >= 5:3.0
e74b8a86 19BuildRequires: linux-libc-headers >= 7:2.6.20
91b0210c 20BuildRequires: sed >= 4.0
d49d5dcf 21BuildRequires: which
f230b68a 22ExclusiveArch: alpha %{ix86} ppc sparc sparcv9 %{x8664}
70879d06 23BuildRoot: %{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
30Small libc for building embedded applications.
31
adb3d9c8
JR
32%description -l pl.UTF-8
33Mała libc do budowania aplikacji wbudowanych.
056323ce 34
3698d221 35%package devel
70879d06 36Summary: Development files for uClibc
2a309db2 37Summary(pl.UTF-8): Pliki dla programistów uClibc
70879d06 38Group: Development/Libraries
2af21321 39Requires: %{name} = %{epoch}:%{version}-%{release}
4311e39e 40Requires: binutils
e74b8a86 41Requires: linux-libc-headers >= 7:2.6.20
33f7e18e 42%requires_eq gcc
70879d06 43
3698d221 44%description devel
70879d06 45Small libc for building embedded applications.
46
adb3d9c8
JR
47%description devel -l pl.UTF-8
48Mała libc do budowania aplikacji wbudowanych.
056323ce 49
3698d221 50%package static
8ff09ad0 51Summary: Static uClibc libraries
2a309db2 52Summary(pl.UTF-8): Biblioteki statyczne uClibc
70879d06 53Group: Development/Libraries
2af21321 54Requires: %{name}-devel = %{epoch}:%{version}-%{release}
15ba795d 55Provides: libc-static
70879d06 56
3698d221 57%description static
8ff09ad0 58Static uClibc libraries.
70879d06 59
adb3d9c8 60%description static -l pl.UTF-8
3698d221 61Biblioteki 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 72sed -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
97mv -f .config .config.tmp
98sed -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
108rm -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
121rm -rf $RPM_BUILD_ROOT
3698d221 122install -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
132mv -f $RPM_BUILD_ROOT%{uclibc_root}/usr/lib/{libpthread-uclibc,libpthread}.so
133ln -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 136for 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
139done
70879d06 140
f7ae07ef
PS
141for 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
144done
145
835882e7
JB
146rm -rf $RPM_BUILD_ROOT%{uclibc_root}/usr/include/{linux,asm*}
147ln -sf /usr/include/asm $RPM_BUILD_ROOT%{uclibc_root}/usr/include/asm
148ln -sf /usr/include/asm-generic $RPM_BUILD_ROOT%{uclibc_root}/usr/include/asm-generic
781bfbca 149%ifarch %{x8664}
f230b68a
JB
150ln -sf /usr/include/asm-i386 $RPM_BUILD_ROOT%{uclibc_root}/usr/include/asm-i386
151ln -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
155ln -sf /usr/include/asm-sparc $RPM_BUILD_ROOT%{uclibc_root}/usr/include/asm-sparc
156ln -sf /usr/include/asm-sparc64 $RPM_BUILD_ROOT%{uclibc_root}/usr/include/asm-sparc64
485e7d55 157%endif
835882e7 158ln -sf /usr/include/linux $RPM_BUILD_ROOT%{uclibc_root}/usr/include/linux
3c259173 159
70879d06 160%clean
161rm -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
This page took 0.061287 seconds and 4 git commands to generate.