5 |
PBUILD="r1" |
PBUILD="r1" |
6 |
|
|
7 |
PCATEGORIE="sys-dev" |
PCATEGORIE="sys-dev" |
|
|
|
8 |
HOMEPAGE="http://www.gnu.org/software/gcc/gcc.html" |
HOMEPAGE="http://www.gnu.org/software/gcc/gcc.html" |
9 |
|
|
10 |
DEPEND="== sys-libs/libstdc++-${PVER} |
DEPEND="== sys-libs/libstdc++-${PVER} |
|
>= sys-dev/binutils-2.21 |
|
11 |
== sys-dev/gcc-${PVER} |
== sys-dev/gcc-${PVER} |
12 |
>= virtual/glibc |
>= dev-java/eclipse-ecj-3.7 |
13 |
|
>= sys-apps/file-5 |
14 |
|
>= app-arch/unzip-6 |
15 |
|
>= app-arch/zip-3 |
16 |
|
>= media-libs/alsa-lib-1.0.24 |
17 |
|
>= x11-libs/libSM-1.2 |
18 |
|
>= x11-libs/libXtst-1.2 |
19 |
|
>= x11-libs/gtk2-2.24 |
20 |
|
>= media-libs/libart_lgpl-2.3.21 |
21 |
|
>= dev-java/java-environment-1" |
22 |
|
|
23 |
|
SDEPEND=">= sys-dev/binutils-2.21 |
24 |
>= dev-libs/gmp-5.0.2 |
>= dev-libs/gmp-5.0.2 |
25 |
>= dev-libs/mpfr-3.0.1 |
>= dev-libs/mpfr-3.0.1 |
26 |
>= dev-libs/mpc-0.9 |
>= dev-libs/mpc-0.9 |
28 |
>= dev-libs/cloog-ppl-0.15.11 |
>= dev-libs/cloog-ppl-0.15.11 |
29 |
>= dev-libs/elfutils-0.152" |
>= dev-libs/elfutils-0.152" |
30 |
|
|
|
SDEPEND=">= virtual/kernel-headers" |
|
|
|
|
31 |
PROVIDE="virtual/java |
PROVIDE="virtual/java |
32 |
virtual/java-jdk" |
virtual/java-jdk" |
33 |
|
|
49 |
mirror://gcc/gcc-4.5.1-no-fixincludes.patch |
mirror://gcc/gcc-4.5.1-no-fixincludes.patch |
50 |
) |
) |
51 |
|
|
52 |
UP2DATE="updatecmd \"http://ftp.gnu.org/gnu/${PNAME}/?C=M;O=A\" | sed -n 's/.*${PNAME}-\(.*\)\//\1/;$ p'" |
UP2DATE="updatecmd \"http://ftp.gnu.org/gnu/gcc/?C=M;O=A\" | sed -n 's/.*gcc-\(.*\)\//\1/;$ p'" |
53 |
|
|
54 |
# gcc don't like strong CFLAGS |
# gcc don't like strong CFLAGS |
55 |
export CFLAGS="${CFLAGS//-O?} -O2" |
export CFLAGS="${CFLAGS//-O?} -O2" |
56 |
export CXXFLAGS="${CFLAGS}" |
export CXXFLAGS="${CFLAGS}" |
57 |
|
|
58 |
# check for crosscompile or export default CHOST |
# check for crosscompile or export default CHOST |
59 |
if [[ -z ${CCHOST} ]] |
if [[ -z ${CTARGET} ]] |
60 |
then |
then |
61 |
# no crosscompile defined |
# no crosscompile defined |
62 |
export CCHOST=${CHOST} |
export CTARGET=${CHOST} |
63 |
else |
else |
64 |
# use crosscompile host |
# use crosscompile host |
65 |
export CCHOST=${CCHOST} |
export CTARGET=${CTARGET} |
66 |
fi |
fi |
67 |
|
|
68 |
src_prepare() |
src_prepare() |
91 |
# "GCC has code to correctly determine the correct value for target |
# "GCC has code to correctly determine the correct value for target |
92 |
# for nearly all native systems. Therefore, we highly recommend you |
# for nearly all native systems. Therefore, we highly recommend you |
93 |
# not provide a configure target when configuring a native compiler." |
# not provide a configure target when configuring a native compiler." |
94 |
if [[ ${CHOST} != ${CCHOST} ]] |
if [[ ${CHOST} != ${CTARGET} ]] |
95 |
then |
then |
96 |
myconf+=" --target=${CCHOST}" |
myconf+=" --target=${CTARGET}" |
97 |
fi |
fi |
98 |
|
|
99 |
# gcc >= 4.3 has now configure flags for uri and version - yeah! |
# gcc >= 4.3 has now configure flags for uri and version - yeah! |
114 |
--enable-clocale=gnu \ |
--enable-clocale=gnu \ |
115 |
--disable-checking \ |
--disable-checking \ |
116 |
--with-system-zlib \ |
--with-system-zlib \ |
|
--enable-long-long \ |
|
|
--enable-cstdio=stdio \ |
|
117 |
--enable-languages=${MyLanguages} \ |
--enable-languages=${MyLanguages} \ |
118 |
--disable-libstdcxx-pch \ |
--disable-libstdcxx-pch \ |
119 |
--enable-gnu-unique-object \ |
--enable-java-awt=gtk \ |
120 |
--enable-lto \ |
--enable-libgcj-multifile \ |
121 |
--enable-plugin \ |
--with-ecj-jar=/usr/share/java/eclipse-ecj.jar \ |
122 |
--enable-gold \ |
--disable-plugin \ |
123 |
${myconf} \ |
${myconf} \ |
124 |
|| die |
|| die |
125 |
|
|
127 |
local myopts |
local myopts |
128 |
[[ ${ARCH} = x86_64 ]] && myopts=-j1 |
[[ ${ARCH} = x86_64 ]] && myopts=-j1 |
129 |
|
|
130 |
mmake ${myopts} bootstrap-lean || die |
mmake ${myopts} || die |
131 |
} |
} |
132 |
|
|
133 |
src_install() |
src_install() |
134 |
{ |
{ |
135 |
cd ${SRCDIR}/build |
cd ${SRCDIR}/build |
136 |
|
|
137 |
# install all targets |
# install only java targets |
138 |
make DESTDIR=${BINDIR} install || die |
make DESTDIR=${BINDIR} install-target-libjava || die |
139 |
|
make -C gcc DESTDIR=${BINDIR} java.install-common || die |
140 |
|
make -C gcc DESTDIR=${BINDIR} java.install-man || die |
141 |
|
|
142 |
|
# missing bins |
143 |
|
minstallexec gcc/jc1 /usr/$(mlibdir)/gcc/${CHOST}/${PVER}/ || die |
144 |
|
minstallexec gcc/jvgenmain /usr/$(mlibdir)/gcc/${CHOST}/${PVER}/ || die |
145 |
|
|
146 |
|
# versionize classes |
147 |
|
local jar |
148 |
|
local jarbase |
149 |
|
local libbase |
150 |
|
libbase="$(basename ${BINDIR}/usr/$(mlibdir)/gcj-${PVER}*)" |
151 |
|
mlink ${libbase} /usr/$(mlibdir)/gcj-${PVER%.*} || die |
152 |
|
if [[ $(mlibdir) != lib ]] |
153 |
|
then |
154 |
|
libbase="$(basename ${BINDIR}/usr/lib/gcj-${PVER}*)" |
155 |
|
mlink ${libbase} /usr/lib/gcj-${PVER%.*} || die |
156 |
|
fi |
157 |
|
for jar in $(find ${BINDIR}/usr/share/java -type f -name \*.jar) |
158 |
|
do |
159 |
|
jarbase="$(basename ${jar})" |
160 |
|
mlink ${jarbase} /usr/share/java/${jarbase/-${PVER}.jar/}-${PVER%.*}.jar || die |
161 |
|
mlink ${jarbase} /usr/share/java/${jarbase/-${PVER}/} || die |
162 |
|
done |
163 |
# versionize all bins and symlink them |
# versionize all bins and symlink them |
164 |
|
local bin |
165 |
for bin in $(find ${BINDIR}/usr/bin -type f) |
for bin in $(find ${BINDIR}/usr/bin -type f) |
166 |
do |
do |
167 |
echo ${bin} |
echo ${bin} |