blob: 1584597cdb83d8cbfd3653638c9414738a5c42e5 (
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
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
|
# Copyright 1999-2000 Gentoo Technologies, Inc.
# Distributed under the terms of the GNU General Public License, v2 or later
# Author Achim Gottinger <achim@gentoo.org>
# $Header: /var/cvsroot/gentoo-x86/sys-devel/gcc/gcc-3.0.ebuild,v 1.3 2001/06/19 00:30:21 achim Exp $
SRC_URI="ftp://gcc.gnu.org/pub/gcc/releases/${P}/${P}.tar.gz
ftp://ftp.gnu.org/pub/gnu/gcc/${P}/${P}.tar.gz"
if [ "`use libg++`" ]
then
SRC_URI="${SRC_URI}
ftp://ftp.freesoftware.com/pub/sourceware/gcc/infrastructure/libg++-2.8.1.3.tar.gz
ftp://ftp.freesoftware.com/pub/sourceware/gcc/infrastructure/libg++-2.8.1.3-20000312.diff.gz
ftp://ftp.freesoftware.com/pub/sourceware/gcc/infrastructure/libg++-2.8.1.3-20000419.diff.gz
ftp://ftp.freesoftware.com/pub/sourceware/gcc/infrastructure/libg++-2.8.1.3-20000816.diff.gz
ftp://ftp.freesoftware.com/pub/sourceware/gcc/infrastructure/libg++-2.8.1.3-20000914.diff.gz"
fi
S=${WORKDIR}/${P}
T=/usr
DESCRIPTION="Modern GCC C/C++ compiler"
HOMEPAGE="http://www.gnu.org/software/gcc/gcc.html"
if [ -z "`use build`" ] ; then
if [ "`use bootstrap`" ] ; then
DEPEND="nls? ( sys-devel/gettext )"
else
DEPEND="nls? ( sys-devel/gettext ) sys-apps/texinfo"
fi
fi
src_unpack() {
unpack ${P}.tar.gz
if [ "`use libg++`" ]
then
unpack libg++-2.8.1.3.tar.gz
cd ${S}/../libg++-2.8.1.3
gzip -dc ${DISTDIR}/libg++-2.8.1.3-20000312.diff.gz | patch -p1
gzip -dc ${DISTDIR}/libg++-2.8.1.3-20000419.diff.gz | patch -p1
gzip -dc ${DISTDIR}/libg++-2.8.1.3-20000816.diff.gz | patch -p1
gzip -dc ${DISTDIR}/libg++-2.8.1.3-20000914.diff.gz | patch -p1
cd ${S}
mv ../libg++-2.8.1.3/* .
rmdir ../libg++-2.8.1.3
fi
cd ${S}
# We do not build the included texinfo stuff
if [ -z "`use build`" ]
then
echo "texinfo no longer included"
fi
}
src_compile() {
local myconf
if [ -z "`use build`" ]
then
myconf="--enable-shared"
else
myconf="--enable-languages=c"
fi
if [ "`use nls`" ]
then
if [ "`use build`" ] ; then
myconf="${myconf} --with-included-gettext --enable-nls"
else
myconf="${myconf} --enable-nls"
fi
else
myconf="${myconf} --disable-nls"
fi
# gcc does not like optimization
export CFLAGS="${CFLAGS/-O?/}"
export CXXFLAGS="${CXXFLAGS/-O?/}"
try ${S}/configure --prefix=${T} --mandir=${T}/share/man --infodir=${T}/share/info \
--enable-version-specific-runtime-libs \
--host=${CHOST} --build=${CHOST} --target=${CHOST} --enable-threads \
--with-local-prefix=${T}/local ${myconf}
# Parallel build does not work
if [ -z "`use static`" ]
then
try make ${MAKEOPTS} bootstrap-lean
else
try make ${MAKEOPTS} LDFLAGS=-static bootstrap
fi
# if [ "`use build`" ]
# then
# cd ${S}/texinfo/util
# make texindex install-info
# fi
}
src_install() {
mkdir ${CHOST}
cp mkinstalldirs ${CHOST}
try make install prefix=${D}${T} mandir=${D}${T}/share/man infodir=${D}${T}/share/info
cd ${D}/usr/lib/gcc-lib/${CHOST}
mv lib* ${D}/usr/lib
mv include/* ${D}/usr/include
rm -rf include
FULLPATH=${D}${T}/lib/gcc-lib/${CHOST}/${PV}
cd ${FULLPATH}
dodir /lib
dosym ${T}/lib/gcc-lib/${CHOST}/${PV}/cpp0 /lib/cpp
dosym /usr/bin/gcc /usr/bin/cc
dodir /etc/env.d
echo "LDPATH=${T}/lib/gcc-lib/${CHOST}/${PV}" > ${D}/etc/env.d/05gcc3
cd ${S}
if [ -z "`use build`" ]
then
dodoc BUGS ChangeLog COPYING COPYING.LIB GNATS README* FAQ MAINTAINERS
docinto html
dodoc *.html
cd ${S}/boehm-gc
docinto hoehm-gc
dodoc ChangeLog README*
docinto gcc
cd ${S}/gcc
dodoc ABOUT-GCC-NLS ChangeLog* COPYING* FSFChangeLog* \
LANGUAGES NEWS PROBLEMS README* \
SERVICE
cd ${S}/libf2c
docinto libf2c
dodoc ChangeLog *.netlib README TODO
cd ${S}/libffi
docinto libffi
dodoc ChangeLog* LICENSE README
cd ${S}/libiberty
docinto libiberty
dodoc ChangeLog COPYING.LIB README
cd ${S}/libjava
docinto libjava
dodoc ChangeLog* COPYING LIBGJC_LICENSE README THANKS
cd ${S}/libio
docinto libio
dodoc ChangeLog NEWS README
cd dbz
docinto libio/dbz
dodoc README
cd ../stdio
docinto libio/stdio
dodoc ChangeLog*
cd ${S}/libobjc
docinto libobjc
dodoc ChangeLog README* THREADS*
if [ "`use libg++`" ]
then
cd ${S}/libg++
docinto libg++
dodoc ChangeLog g++FAQ.txt NEWS README* TODO
else
cd ${S}/libstdc++-v3
docinto libstdc++
dodoc ChangeLog* README
fi
else
rm -rf ${D}/usr/share/{man,info}
# cd texinfo
# dobin makeinfo/makeinfo util/texi2dvi util/install-info util/texindex
fi
}
|