blob: 676d8ed2c450bde275a51d5c7476ae34f8bf11fc (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
|
# Maintainer: Darjan Krijan [https://disc-kuraudo.eu]
_target="spu"
_newlib_pkgver="1.20.0"
_gmp_pkgver="6.1.0"
_isl_pkgver="0.18"
_mpc_pkgver="1.0.3"
_mpfr_pkgver="3.1.4"
_pkgname="gcc"
pkgname="ps3-${_target}-${_pkgname}"
pkgver="9.5.0"
pkgrel=3
pkgdesc="GCC for cross-compiling to ${_target} (PS3 GameOS)"
arch=(x86_64 aarch64 powerpc64le powerpc64 powerpc riscv64)
url='https://gcc.gnu.org/'
license=(GPL LGPL)
makedepends=(patch python)
checkdepends=(dejagnu expect inetutils python-pytest tcl)
depends=(ps3-env ps3-spu-binutils)
options=(!emptydirs !strip staticlibs !lto)
source=(
"https://ftp.gnu.org/gnu/${_pkgname}/${_pkgname}-${pkgver}/${_pkgname}-${pkgver}.tar.xz"
"${_pkgname}-${pkgver}-ps3-${_target}.patch"
"http://sourceware.org/pub/newlib/newlib-${_newlib_pkgver}.tar.gz"
"newlib-${_newlib_pkgver}-ps3-${_target}.patch"
"http://ftp.gnu.org/gnu/gmp/gmp-${_gmp_pkgver}.tar.bz2"
"http://gcc.gnu.org/pub/gcc/infrastructure/isl-${_isl_pkgver}.tar.bz2"
"http://ftp.gnu.org/gnu/mpc/mpc-${_mpc_pkgver}.tar.gz"
"http://ftp.gnu.org/gnu/mpfr/mpfr-${_mpfr_pkgver}.tar.bz2"
)
sha256sums=(
'27769f64ef1d4cd5e2be8682c0c93f9887983e6cfd1a927ce5a0a2915a95cf8f'
'86d3dca49e0a8cf0d0b56619c19da2047c5b6bda939e4856f4de78e4866fd55b'
'c644b2847244278c57bec2ddda69d8fab5a7c767f3b9af69aa7aa3da823ff692'
'9ffcdfc74871b267d53b66e525162467ce248d89b77506bb8db2409f3d0b51ae'
'498449a994efeba527885c10405993427995d3f86b8768d8cdf8d9dd7c6b73e8'
'6b8b0fd7f81d0a957beb3679c81bbb34ccc7568d5682844d8924424a0dadcb1b'
'617decc6ea09889fb08ede330917a00b16809b8db88c29c31bfbb49cbf88ecc3'
'd3103a80cdad2407ed581f3618c4bed04e0c92d1cf771a65ead662cc397f7775'
)
source /opt/ps3dev/ps3toolchain.sh
_prefix="${PS3DEV}/${_target}"
prepare() {
patch -p1 -d "newlib-${_newlib_pkgver}" < "${srcdir}/newlib-${_newlib_pkgver}-ps3-${_target}.patch"
cd "${_pkgname}-${pkgver}"
patch -p1 < "${srcdir}/${_pkgname}-${pkgver}-ps3-${_target}.patch"
ln -s "${srcdir}/newlib-${_newlib_pkgver}/newlib" .
ln -s "${srcdir}/newlib-${_newlib_pkgver}/libgloss" .
ln -s "${srcdir}/gmp-${_gmp_pkgver}.tar.bz2" .
ln -s "${srcdir}/isl-${_isl_pkgver}.tar.bz2" .
ln -s "${srcdir}/mpc-${_mpc_pkgver}.tar.gz" .
ln -s "${srcdir}/mpfr-${_mpfr_pkgver}.tar.bz2" .
}
build() {
cd "${_pkgname}-${pkgver}"
# symlinked in prepare(), just unpack
./contrib/download_prerequisites
mkdir -p "build-${_target}"
cd "build-${_target}"
unset CFLAGS CXXFLAGS LDFLAGS
local _configure_flags=(
--prefix="${_prefix}"
--target="${_target}"
--with-newlib
--with-pic
#--enable-languages="c,c++"
--enable-languages="c"
--enable-lto
--enable-threads
--enable-newlib-multithread
--enable-newlib-hw-fp
--enable-obsolete
--disable-dependency-tracking
--disable-libcc1
--disable-libssp
--disable-multilib
--disable-nls
--disable-shared
--disable-win32-registry
)
../configure "${_configure_flags[@]}"
make
}
check() {
cd "${_pkgname}-${pkgver}/build-${_target}"
LDFLAGS="" make --keep-going check |& tee -a "ps3-${_target}-${_pkgname}-check.log" || true
}
package() {
cd "${_pkgname}-${pkgver}/build-${_target}"
make DESTDIR="${pkgdir}" install -j1
if [ -f "ps3-${_target}-${_pkgname}-check.log" ]; then
cp "ps3-${_target}-${_pkgname}-check.log" "${pkgdir}/${_prefix}/"
fi
rm -f "${pkgdir}/${_prefix}/share/info/dir"
}
|