]> git.pld-linux.org Git - packages/nacl-toolchain-newlib.git/blame - nacl-toolchain-newlib.spec
- updated gettext BR
[packages/nacl-toolchain-newlib.git] / nacl-toolchain-newlib.spec
CommitLineData
59bfc2f3
ER
1# NOTE:
2# - manifest url https://commondatastorage.googleapis.com/nativeclient-mirror/nacl/nacl_sdk/naclsdk_manifest.json
3# rev 6757 matches pepper_15, r1239
4# rev 6941 matches pepper_16, r1344
5# - libdir mixed up for 32/64 bit. do we care? upstream confused about it too
6df38a61 6# https://code.google.com/p/nativeclient/issues/detail?id=1975
59bfc2f3
ER
7# - /bin/sh in some wrappers:
8# cat i686-nacl-as
9# #!/bin/bash
6df38a61 10# - messed up install dirs (two gcc dirs)
f1465e3f 11%define nacl_revision 8034
59bfc2f3
ER
12%define binutils_ver 2.20.1
13%define gcc_ver 4.4.3
14%define newlib_ver 1.18.0
15Summary: Native Client newlib-based toolchain (only for compiling IRT)
16Name: nacl-toolchain-newlib
17Version: 0.%{nacl_revision}
6df38a61 18Release: 0.5
59bfc2f3 19License: BSD (NaCL), GPL v3/LGPL v3 (binutils), GPL v3+ (gcc), GPL v2(newlib)
6df38a61 20Group: Development/Languages
59bfc2f3 21Source0: http://gsdview.appspot.com/nativeclient-archive2/x86_toolchain/r%{nacl_revision}/nacltoolchain-buildscripts-r%{nacl_revision}.tar.gz
f1465e3f 22# Source0-md5: 985872dcaebb3dbb1d406910267efb06
59bfc2f3
ER
23Source1: ftp://sources.redhat.com/pub/newlib/newlib-%{newlib_ver}.tar.gz
24# Source1-md5: 3dae127d4aa659d72f8ea8c0ff2a7a20
25Source2: http://ftp.gnu.org/gnu/binutils/binutils-%{binutils_ver}.tar.bz2
26# Source2-md5: 2b9dc8f2b7dbd5ec5992c6e29de0b764
27Source3: ftp://gcc.gnu.org/pub/gcc/releases/gcc-%{gcc_ver}/gcc-%{gcc_ver}.tar.bz2
28# Source3-md5: fe1ca818fc6d2caeffc9051fe67ff103
29Patch0: http://gsdview.appspot.com/nativeclient-archive2/x86_toolchain/r%{nacl_revision}/naclbinutils-%{binutils_ver}-r%{nacl_revision}.patch.bz2
f1465e3f 30# Patch0-md5: 8473a33e00cea1d1de041b42753e3e02
59bfc2f3 31Patch1: http://gsdview.appspot.com/nativeclient-archive2/x86_toolchain/r%{nacl_revision}/naclnewlib-%{newlib_ver}-r%{nacl_revision}.patch.bz2
f1465e3f 32# Patch1-md5: faae6e8990cec9dde0fa8b371eb97c4e
59bfc2f3 33Patch2: http://gsdview.appspot.com/nativeclient-archive2/x86_toolchain/r%{nacl_revision}/naclgcc-%{gcc_ver}-r%{nacl_revision}.patch.bz2
f1465e3f
ER
34# Patch2-md5: 64509546a3d2133c5f26903da46a251a
35URL: https://developers.google.com/native-client/
59bfc2f3
ER
36BuildRequires: binutils >= 2.15.94
37BuildRequires: bison >= 1.875
38BuildRequires: cloog-ppl-devel
39BuildRequires: flex >= 2.5.4
dec59fc1 40BuildRequires: gettext-tools
59bfc2f3
ER
41BuildRequires: iconv
42BuildRequires: libart_lgpl-devel >= 2.1
43BuildRequires: libmpc-devel
44BuildRequires: m4
45BuildRequires: ncurses-devel >= 5.2
46BuildRequires: ppl-devel
47BuildRequires: sed >= 4
48BuildRequires: texinfo >= 4.8
49BuildRequires: unzip
50BuildRequires: yacc
51BuildRequires: zip
52Requires: glibc >= 6:2.8/v8
53Requires: gmp >= 5.0.2
54Requires: mpfr >= 3.0.1
55Requires: zlib >= 1.1.4
56ExclusiveArch: %{x8664} %{ix86}
57BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
58
59%define target x86_64-nacl
6df38a61 60%define target32 i686-nacl
59bfc2f3
ER
61%define arch %{_prefix}/%{target}-newlib
62%define _datadir %{arch}/share
6df38a61 63%define _mandir %{arch}/man
59bfc2f3
ER
64%define _infodir %{_datadir}/info
65%define _includedir %{arch}/%{target}/include
6df38a61 66%define _libdir %{arch}/%{target}/lib
59bfc2f3
ER
67%define _libexecdir %{arch}/libexec
68
6df38a61
ER
69%define gccarch %{_libexecdir}/gcc/%{target}
70%define gcclib %{gccarch}/%{gcc_ver}
71%define gcclib2 %{arch}/lib/gcc/%{target}/%{gcc_ver}
72
73%define _noautostrip .*%{arch}/.*\.a
74%define _noautochrpath .*%{arch}/.*\.a
59bfc2f3 75
f1465e3f
ER
76# temporarily:
77#/usr/bin/ld: libbackend.a(graphite.o): undefined reference to symbol 'ppl_finalize'
78#/usr/bin/ld: note: 'ppl_finalize' is defined in DSO /usr/lib/libppl_c.so.4 so try adding it to the linker command line
79#define filterout_ld -Wl,--no-copy-dt-needed-entries -Wl,--as-needed
80#define specldflags -lppl_c
81
59bfc2f3
ER
82%description
83Native Client newlib-based toolchain (only for compiling IRT).
84
85%prep
86%setup -qc -a1 -a2 -a3
87mkdir -p SRC
88mv binutils-%{binutils_ver} SRC/binutils
89mv newlib-%{newlib_ver} SRC/newlib
90mv gcc-%{gcc_ver} SRC/gcc
91
92cd SRC
93%patch0 -p0
94%patch1 -p0
95%patch2 -p0
96
97%build
98%{__make} build-with-newlib \
f1465e3f 99 LDFLAGS="%{rpmldflags}" \
59bfc2f3
ER
100 PREFIX="$(pwd)/out" \
101 CANNED_REVISION="yes"
102
103%install
104rm -rf $RPM_BUILD_ROOT
105install -d $RPM_BUILD_ROOT%{arch}
106cp -a out/* $RPM_BUILD_ROOT%{arch}
107
6df38a61
ER
108## gcc
109# move fixed includes to proper place
110cp -p $RPM_BUILD_ROOT%{gcclib2}/include-fixed/*.h $RPM_BUILD_ROOT%{gcclib2}/include
111
112# don't want it here
113%{__rm} $RPM_BUILD_ROOT%{_libdir}/libiberty.a
114%{__rm} $RPM_BUILD_ROOT%{_libdir}32/libiberty.a
115%{__rm} -r $RPM_BUILD_ROOT%{_infodir}
116%{__rm} $RPM_BUILD_ROOT%{_mandir}/man7/fsf-funding.7
117%{__rm} $RPM_BUILD_ROOT%{_mandir}/man7/gfdl.7
118%{__rm} $RPM_BUILD_ROOT%{_mandir}/man7/gpl.7
119%{__rm} $RPM_BUILD_ROOT%{_datadir}/locale/*/LC_MESSAGES/{gcc,cpplib}.mo
120%{__rm} -r $RPM_BUILD_ROOT%{gcclib2}/include-fixed
121%{__rm} -r $RPM_BUILD_ROOT%{gcclib2}/install-tools
122
123%if 0%{!?debug:1} && 0
124# strip target libraries
125export PATH=$PATH:$(pwd)/out/bin
126
127# strip target libraries
128%{target}-strip --strip-debug --remove-section=.note --remove-section=.comment \
129 $RPM_BUILD_ROOT%dir %{arch}/%{target}/lib/*.a \
130 $RPM_BUILD_ROOT%{arch}/%{target}/lib/*.a
131
132%{target32}-strip --strip-debug --remove-section=.note --remove-section=.comment \
133 $RPM_BUILD_ROOT%dir %{arch}/%{target}/lib/32/*.a \
134 $RPM_BUILD_ROOT%{arch}/%{target}/lib32/*.a
135%endif
136
137# general cleanup
59bfc2f3
ER
138%{__rm} $RPM_BUILD_ROOT%{arch}/COPYING*
139rm -f $RPM_BUILD_ROOT%{_infodir}/dir
140
141%{__rm} $RPM_BUILD_ROOT%{arch}/%{target}/lib/*.la
142%{__rm} $RPM_BUILD_ROOT%{arch}/%{target}/lib32/*.la
143
144rm -rf $RPM_BUILD_ROOT%{_datadir}/locale
145rm -rf $RPM_BUILD_ROOT%{_mandir}
146rm -rf $RPM_BUILD_ROOT%{_infodir}
147rm -rf $RPM_BUILD_ROOT%{arch}/info
148rm -rf $RPM_BUILD_ROOT%{arch}/man
6df38a61 149rm -rf $RPM_BUILD_ROOT%{arch}/share/man
59bfc2f3
ER
150
151%clean
152rm -rf $RPM_BUILD_ROOT
153
154%files
155%defattr(644,root,root,755)
156%dir %{arch}
157
158# binutils
159%dir %{arch}/bin
6df38a61
ER
160%attr(755,root,root) %{arch}/bin/%{target}-*
161%attr(755,root,root) %{arch}/bin/%{target32}-*
59bfc2f3
ER
162
163# libc
164%dir %{_datadir}
165%{_datadir}/iconv_data
166
167# gcc
168%dir %{arch}/lib
169%dir %{arch}/lib/gcc
6df38a61
ER
170%dir %{arch}/lib/gcc/%{target}
171%{arch}/lib/gcc/%{target}/%{gcc_ver}
59bfc2f3
ER
172
173%dir %{_libexecdir}
174%dir %{_libexecdir}/gcc
175%dir %{gccarch}
176%dir %{gcclib}
177%attr(755,root,root) %{gcclib}/cc1
178%attr(755,root,root) %{gcclib}/collect2
179%attr(755,root,root) %{gcclib}/cc1obj
180%attr(755,root,root) %{gcclib}/cc1plus
181
182%dir %{gcclib}/install-tools
183%attr(755,root,root) %{gcclib}/install-tools/*
184
185%dir %{arch}/%{target}
186
187# toolchain symlinks
188%dir %{arch}/%{target}/bin
189%{arch}/%{target}/bin/ar
190%{arch}/%{target}/bin/as
191%{arch}/%{target}/bin/c++
192%{arch}/%{target}/bin/g++
193%{arch}/%{target}/bin/gcc
194%{arch}/%{target}/bin/ld
195%{arch}/%{target}/bin/nm
196%{arch}/%{target}/bin/objcopy
197%{arch}/%{target}/bin/objdump
198%{arch}/%{target}/bin/ranlib
199%{arch}/%{target}/bin/strip
200
201# libc-devel
202%dir %{_includedir}
203%{_includedir}/*.h
204%{_includedir}/machine
205%{_includedir}/sys
206%{_includedir}/bits
207
208# libstdc++-devel
209%dir %{_includedir}/c++
210%{_includedir}/c++/%{gcc_ver}
211
212# binutils
213%dir %{arch}/%{target}/lib
214%dir %{arch}/%{target}/lib/32
215%{arch}/%{target}/lib/crt0.o
216%{arch}/%{target}/lib/ldscripts
217
218# binutils-devel
219%{arch}/%{target}/lib/libc.a
220%{arch}/%{target}/lib/libcrt_common.a
221%{arch}/%{target}/lib/libg.a
6df38a61 222#%{arch}/%{target}/lib/libiberty.a
59bfc2f3
ER
223%{arch}/%{target}/lib/libm.a
224%{arch}/%{target}/lib/libobjc.a
225%{arch}/%{target}/lib/libstdc++.a
226%{arch}/%{target}/lib/libsupc++.a
227
228%dir %{arch}/%{target}/lib32
229%{arch}/%{target}/lib32/crt0.o
230%{arch}/%{target}/lib32/libc.a
231%{arch}/%{target}/lib32/libcrt_common.a
232%{arch}/%{target}/lib32/libg.a
6df38a61 233#%{arch}/%{target}/lib32/libiberty.a
59bfc2f3
ER
234%{arch}/%{target}/lib32/libm.a
235%{arch}/%{target}/lib32/libobjc.a
236%{arch}/%{target}/lib32/libstdc++.a
237%{arch}/%{target}/lib32/libsupc++.a
238%{arch}/%{target}/lib64
This page took 0.087171 seconds and 4 git commands to generate.