blob: 589abeac7624163163a96b68ac1565fc164ff624 (
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
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
|
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=gcc
pkgver=4.4.4
_pv=4.4.2
_specsver=0.1.7
_espfver=0.3.6
_uclibc_abiver=0.9.32
if [ "$ALPINE_LIBC" = "eglibc" ]; then
_chost="i686-pc-linux-gnu"
else
_chost="i486-alpine-linux-uclibc"
fi
pkgrel=4
pkgdesc="The GNU Compiler Collection"
url="http://gcc.gnu.org"
license="GPL LGPL"
depends="binutils libgcc libgomp"
makedepends="bison flex gmp-dev mpfr-dev texinfo"
subpackages="$pkgname-doc libstdc++:libcxx g++:gpp libgcc libgomp objc"
source="ftp://gcc.gnu.org/pub/gcc/releases/gcc-$pkgver/gcc-core-$pkgver.tar.bz2
ftp://gcc.gnu.org/pub/gcc/releases/gcc-$pkgver/gcc-g++-$pkgver.tar.bz2
ftp://gcc.gnu.org/pub/gcc/releases/gcc-$pkgver/gcc-objc-$pkgver.tar.bz2
http://build.alpinelinux.org:8010/distfiles/gcc-$_pv-espf-$_espfver.tar.bz2
http://build.alpinelinux.org:8010/distfiles/gcc-$_pv-specs-$_specsver.tar.bz2
gcc-spec-env.patch
pt_gnu_eh_frame.patch
uclibc-getipinfo.patch
gcc-dynamic-linker.patch
PR32219.patch
"
# ftp://gcc.gnu.org/pub/gcc/releases/gcc-$pkgver/gcc-objc-$pkgver.tar.bz2 1
build ()
{
cd "$srcdir"/gcc-$pkgver
# ESPF patches. we dont use objc yet
#rm -f ../espf-gcc-$_pv/*_objc*lang-specs*.patch
# thanks to Zorry for hard work on those patches
for i in ../espf-gcc-$_pv/*.patch; do
msg "Applying $i"
patch -p0 -i $i || return 1
done
# uclibc patches
for i in ../*.patch; do
msg "Applying $i"
patch -p1 -i $i || return 1
done
echo ${pkgver} > gcc/BASE-VER
mkdir build
cd build
../configure --prefix=/usr \
--mandir=/usr/share/man \
--infodir=/usr/share/info \
--build=${CHOST:-$_chost} \
--disable-altivec \
--disable-checking \
--disable-fixed-point \
--disable-libssp \
--disable-libstdcxx-pch \
--disable-multilib \
--disable-nls \
--disable-werror \
--enable-__cxa_atexit \
--enable-cld \
--enable-espf \
--enable-languages=c,c++,objc \
--enable-shared \
--enable-target-optspace \
--enable-tls \
--enable-threads \
--with-arch=i486 \
--with-dynamic-linker=ld-uClibc.so.$_uclibc_abiver \
--with-dynamic-linker-prefix=/lib \
--with-system-zlib \
--without-system-libunwind
make || return 1
}
package() {
cd "$srcdir"/gcc-$pkgver/build
make -j1 DESTDIR="${pkgdir}" install || return 1
ln -s gcc "$pkgdir"/usr/bin/cc
# binutils provides libiberty.a
rm -f "$pkgdir"/usr/lib/libiberty.a
# install the specs
cd "$srcdir"/specs
install -d "$pkgdir"/usr/share/gcc
for i in *.specs; do
install -m644 $i "$pkgdir"/usr/share/gcc/$i || return 1
done
}
libcxx() {
pkgdesc="GNU C++ standard runtime library"
depends=
mkdir -p "$subpkgdir"/usr/lib
mv "$pkgdir"/usr/lib/libstdc++.so.* "$subpkgdir"/usr/lib/
}
gpp() {
pkgdesc="GNU C++ standard library and compiler"
depends="libstdc++"
local libexec=usr/libexec/gcc/${CHOST:-$_chost}/$pkgver
mkdir -p "$subpkgdir/$libexec" \
"$subpkgdir"/usr/bin \
"$subpkgdir"/usr/include \
"$subpkgdir"/usr/lib \
mv "$pkgdir/$libexec/cc1plus" "$subpkgdir/$libexec/"
mv "$pkgdir"/usr/lib/*++* "$subpkgdir"/usr/lib/
mv "$pkgdir"/usr/include/c++ "$subpkgdir"/usr/include/
mv "$pkgdir"/usr/bin/*++ "$subpkgdir"/usr/bin/
}
objc() {
pkgdesc="GNU ObjectiveC library"
mkdir -p "$subpkgdir"/usr/lib
mv "$pkgdir"/usr/lib/*objc* "$subpkgdir"/usr/lib/
}
libgcc() {
pkgdesc="GNU C compiler runtime libraries"
depends=
mkdir -p "$subpkgdir"/usr/lib
mv "$pkgdir"/usr/lib/libgcc_s.so.* "$subpkgdir"/usr/lib/
}
libgomp() {
pkgdesc="GCC shared-memory parallel programming API library"
depends=
replaces="gcc"
mkdir -p "$subpkgdir"/usr/lib
mv "$pkgdir"/usr/lib/libgomp.so.* "$subpkgdir"/usr/lib/
}
md5sums="eb68755f64b9a4e37751992abb41c4fc gcc-core-4.4.4.tar.bz2
d51a6ec3eac1a90e7fc280d976ce7f80 gcc-g++-4.4.4.tar.bz2
871cdd1a1ed8806a9bd5afcef0938fef gcc-objc-4.4.4.tar.bz2
72643cf4f9751d6cbfdbce483b92461d gcc-4.4.2-espf-0.3.6.tar.bz2
528926b586b2591474b6c2a7ef8ee6d7 gcc-4.4.2-specs-0.1.7.tar.bz2
c4045bfa85d8be780affd465be9d8ca8 gcc-spec-env.patch
2db1e3482c5dd59dab70f701afa2ca80 pt_gnu_eh_frame.patch
6cc2385c5bbd6d0da6eaedd53c8bf547 uclibc-getipinfo.patch
6db5c87887beee75cde3cce86625b9ed gcc-dynamic-linker.patch
6c866c7fb8d56deb8f6d652bee64e228 PR32219.patch"
|