]>
Commit | Line | Data |
---|---|---|
8ba159e4 | 1 | # |
2 | %bcond_with bootstrap # Build only headers | |
3 | # | |
4 | # TODO: | |
5 | # - compile for m5307 | |
6 | # - add support for flat shared libraries (-mid-shared-library) | |
7 | # - make less ugly ? | |
8 | ||
9 | %define llh_version 2.4.31 | |
10 | ||
11 | Summary: C library optimized for size (m68k version) | |
806a3878 | 12 | Summary(pl.UTF-8): Biblioteka C zoptymalizowana na rozmiar (dla m68k) |
8ba159e4 | 13 | Name: crossm68k-uClibc |
14 | Version: 0.9.28 | |
15 | Release: 1 | |
16 | Epoch: 0 | |
17 | License: LGPL | |
18 | Group: Libraries | |
19 | Source0: http://www.uclibc.org/downloads/uClibc-%{version}.tar.bz2 | |
20 | # Source0-md5: 1ada58d919a82561061e4741fb6abd29 | |
21 | Source1: http://www.uclibc.org/downloads/toolchain/linux-libc-headers-%{llh_version}.tar.bz2 | |
22 | # Source1-md5: 997d36627baf6825c712431dee4d79d3 | |
ffea20ed | 23 | Source2: %{name}.config |
8ba159e4 | 24 | Patch0: %{name}-clone.patch |
25 | URL: http://www.uclibc.org/ | |
26 | %{?!with_bootstrap:BuildRequires: crossm68k-gcc} | |
27 | BuildRequires: sed >= 4.0 | |
28 | BuildRequires: which | |
29 | BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) | |
30 | ||
31 | %define target m68k-elf | |
32 | %define arch %{_prefix}/%{target} | |
33 | ||
34 | %define _noautostrip .*%{arch}/lib/.*\\.[ao]$ | |
35 | ||
36 | %description | |
37 | Small libc for building embedded applications. | |
38 | Version compiled for m68k. | |
39 | ||
3c796eea JR |
40 | %description -l pl.UTF-8 |
41 | Mała libc do budowania aplikacji wbudowanych. | |
8ba159e4 | 42 | Wersja dla m68k. |
43 | ||
44 | %prep | |
45 | %setup -q -n uClibc-%{version} -a1 | |
46 | %patch0 -p1 | |
47 | ||
48 | install %{SOURCE2} .config | |
49 | ||
50 | sed -i "s@^.*KERNEL_SOURCE.*\$@KERNEL_SOURCE=\"$PWD/linux-libc-headers-%{llh_version}\"@" \ | |
51 | .config | |
52 | ||
53 | cd linux-libc-headers-%{llh_version}/include/asm-m68knommu | |
54 | grep '#include[[:space:]]\+<asm-m68k/.\+\.h>' * | cut -f1 -d: | while read file; do | |
55 | cat "../asm-m68k/$file" > "$file" | |
56 | done | |
57 | ||
58 | %build | |
59 | %if %{with bootstrap} | |
60 | %{__make} headers < /dev/null | |
61 | %else | |
62 | _build () { | |
63 | local MULTILIB_SUBDIR=$1 | |
64 | local PIC_CODE=$2 | |
65 | local COMPILE_FLAGS=$3 | |
ffea20ed | 66 | |
8ba159e4 | 67 | cat .config | grep -v "HAVE_SHARED" > .config.tmp |
68 | cat .config.tmp | grep -v "BUILD_UCLIBC_LDSO" > .config | |
69 | ||
70 | if [ $PIC_CODE -ne 0 ]; then | |
71 | sed -i 's/^.*DOPIC.*$/DOPIC=y/' .config | |
72 | echo "HAVE_SHARED=n" >> .config | |
73 | else | |
74 | sed -i 's/^.*DOPIC.*$/# DOPIC is not set/' .config | |
75 | fi | |
76 | ||
77 | %{__make} clean || exit 1 | |
78 | %{__make} all ARCH_CFLAGS="$COMPILE_FLAGS" </dev/null || exit 1 | |
ffea20ed | 79 | |
8ba159e4 | 80 | install -d $RPM_BUILD_ROOT%{arch}/lib/$MULTILIB_SUBDIR |
81 | install lib/*.[ao] $RPM_BUILD_ROOT%{arch}/lib/$MULTILIB_SUBDIR | |
82 | %{target}-strip --strip-debug -R.comment -R.note \ | |
83 | $RPM_BUILD_ROOT%{arch}/lib/$MULTILIB_SUBDIR/*.[ao] | |
84 | } | |
85 | ||
86 | rm -rf $RPM_BUILD_ROOT | |
ffea20ed | 87 | |
8ba159e4 | 88 | _build "m5200" 0 "-Wa,--bitwise-or -D__linux__=1 -m5200 -Wa,-m5200" |
89 | _build "m5200/msep-data" 1 "-Wa,--bitwise-or -D__linux__=1 -m5200 -Wa,-m5200 -msep-data" | |
90 | ||
91 | _build "m68000" 0 "-Wa,--bitwise-or -D__linux__=1 -m68000 -Wa,-m68000" | |
92 | _build "m68000/msep-data" 1 "-Wa,--bitwise-or -D__linux__=1 -m68000 -Wa,-m68000 -msep-data" | |
93 | %endif | |
94 | ||
95 | %install | |
ffea20ed | 96 | rm -rf $RPM_BUILD_ROOT |
8ba159e4 | 97 | install -d $RPM_BUILD_ROOT%{arch}/include |
98 | cp -RL include/* $RPM_BUILD_ROOT%{arch}/include | |
99 | ln -s include $RPM_BUILD_ROOT%{arch}/sys-include | |
100 | ||
101 | %clean | |
102 | rm -rf $RPM_BUILD_ROOT | |
103 | ||
104 | %files | |
105 | %defattr(644,root,root,755) | |
106 | %doc Changelog* DEDICATION.mjn3 MAINTAINERS README TODO docs/threads.txt | |
107 | %{arch}/include | |
108 | %{arch}/lib | |
109 | %{arch}/sys-include |