blob: 2f15b10462fb53b83140738e1e2efec5e4219348 (
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
|
# 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-2.95.3.ebuild,v 1.2 2001/05/01 10:08:50 achim Exp $
SRC_URI="ftp://gcc.gnu.org/pub/gcc/releases/${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
DEPEND="nls? ( sys-devel/gettext )"
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
rm -rf texinfo
fi
}
src_compile() {
local myconf
if [ -z "`use build`" ]
then
myconf="--enable-shared"
else
myconf="--enable-languages=c,c++"
fi
if [ "`use nls`" ]
then
myconf="${myconf} --enable-nls"
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() {
try make install prefix=${D}${T} mandir=${D}${T}/share/man infodir=${D}${T}/share/info
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/05gcc
cd ${S}
if [ -z "`use build`" ]
then
dodoc COPYING COPYING.LIB README* FAQ MAINTAINERS
docinto html
dodoc faq.html
docinto gcc
cd ${S}/gcc
dodoc BUGS ChangeLog* COPYING* FSFChangeLog* \
LANGUAGES NEWS PROBLEMS README* \
SERVICE TESTS.FLUNK
cd ${S}/libchill
docinto libchill
dodoc ChangeLog
cd ${S}/libf2c
docinto libf2c
dodoc ChangeLog changes.netlib README TODO
cd ${S}/libiberty
docinto libiberty
dodoc ChangeLog COPYING.LIB README
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++
docinto libstdc++
dodoc ChangeLog NEWS
fi
else
rm -rf ${D}/usr/share/{man,info}
cd texinfo
dobin makeinfo/makeinfo util/texi2dvi util/install-info util/texindex
fi
}
|