Gentoo Archives: gentoo-commits

From: "Bernard Cafarelli (voyageur)" <voyageur@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] gentoo-x86 commit in sys-devel/llvm-gcc: llvm-gcc-2.8.ebuild ChangeLog llvm-gcc-2.6.ebuild
Date: Wed, 06 Oct 2010 10:20:00
Message-Id: 20101006091741.0F76C20051@flycatcher.gentoo.org
1 voyageur 10/10/06 09:17:40
2
3 Modified: ChangeLog
4 Added: llvm-gcc-2.8.ebuild
5 Removed: llvm-gcc-2.6.ebuild
6 Log:
7 2.8 version bump
8
9 (Portage version: 2.2_rc88/cvs/Linux x86_64)
10
11 Revision Changes Path
12 1.9 sys-devel/llvm-gcc/ChangeLog
13
14 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-devel/llvm-gcc/ChangeLog?rev=1.9&view=markup
15 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-devel/llvm-gcc/ChangeLog?rev=1.9&content-type=text/plain
16 diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-devel/llvm-gcc/ChangeLog?r1=1.8&r2=1.9
17
18 Index: ChangeLog
19 ===================================================================
20 RCS file: /var/cvsroot/gentoo-x86/sys-devel/llvm-gcc/ChangeLog,v
21 retrieving revision 1.8
22 retrieving revision 1.9
23 diff -u -r1.8 -r1.9
24 --- ChangeLog 26 Aug 2010 07:04:40 -0000 1.8
25 +++ ChangeLog 6 Oct 2010 09:17:40 -0000 1.9
26 @@ -1,6 +1,12 @@
27 # ChangeLog for sys-devel/llvm-gcc
28 # Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2
29 -# $Header: /var/cvsroot/gentoo-x86/sys-devel/llvm-gcc/ChangeLog,v 1.8 2010/08/26 07:04:40 grobian Exp $
30 +# $Header: /var/cvsroot/gentoo-x86/sys-devel/llvm-gcc/ChangeLog,v 1.9 2010/10/06 09:17:40 voyageur Exp $
31 +
32 +*llvm-gcc-2.8 (06 Oct 2010)
33 +
34 + 06 Oct 2010; Bernard Cafarelli <voyageur@g.o> -llvm-gcc-2.6.ebuild,
35 + +llvm-gcc-2.8.ebuild:
36 + 2.8 version bump
37
38 26 Aug 2010; Fabian Groffen <grobian@g.o> llvm-gcc-2.7-r1.ebuild,
39 llvm-gcc-9999.ebuild:
40
41
42
43 1.1 sys-devel/llvm-gcc/llvm-gcc-2.8.ebuild
44
45 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-devel/llvm-gcc/llvm-gcc-2.8.ebuild?rev=1.1&view=markup
46 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-devel/llvm-gcc/llvm-gcc-2.8.ebuild?rev=1.1&content-type=text/plain
47
48 Index: llvm-gcc-2.8.ebuild
49 ===================================================================
50 # Copyright 1999-2010 Gentoo Foundation
51 # Distributed under the terms of the GNU General Public License v2
52 # $Header: /var/cvsroot/gentoo-x86/sys-devel/llvm-gcc/llvm-gcc-2.8.ebuild,v 1.1 2010/10/06 09:17:40 voyageur Exp $
53
54 EAPI=3
55 inherit libtool flag-o-matic gnuconfig multilib
56
57 LLVM_GCC_VERSION=4.2
58 MY_PV=${LLVM_GCC_VERSION}-${PV/_pre*}
59
60 DESCRIPTION="LLVM C front-end"
61 HOMEPAGE="http://llvm.org"
62 SRC_URI="http://llvm.org/releases/${PV}/${PN}-${MY_PV}.source.tgz"
63
64 LICENSE="GPL-2"
65 SLOT=0
66 KEYWORDS="~amd64 ~ppc ~x86 ~ppc-macos"
67 IUSE="bootstrap fortran multilib nls objc objc++ test"
68
69 RDEPEND=">=sys-devel/llvm-$PV"
70 DEPEND="${RDEPEND}
71 >=sys-apps/texinfo-4.2-r4
72 || ( >=sys-devel/binutils-2.18 >=sys-devel/binutils-apple-3.2.3 )
73 >=sys-devel/bison-1.875
74 test? ( dev-util/dejagnu
75 sys-devel/autogen )"
76
77 S=${WORKDIR}/llvm-gcc-${MY_PV}.source
78
79 src_prepare() {
80 #we keep the directory structure suggested by README.LLVM,
81 mkdir -p "${S}"/obj
82
83 # From toolchain eclass
84 elibtoolize --portage --shallow --no-uclibc
85 gnuconfig_update
86
87 # update configure files
88 local f
89 for f in $(grep -l 'autoconf version 2.13' $(find "${S}" -name configure)) ; do
90 #ebegin " Updating ${f/${S}\/} [LANG]"
91 ebegin " Updating \"${f/${S}\/}\" [LANG]"
92 patch "${f}" "${FILESDIR}"/gcc-configure-LANG.patch >& "${T}"/configure-patch.log \
93 || eerror "Please file a bug about this"
94 eend $?
95 done
96 sed -i 's|A-Za-z0-9|[:alnum:]|g' gcc/*.awk #215828
97
98 if [[ -x contrib/gcc_update ]] ; then
99 einfo "Touching generated files"
100 ./contrib/gcc_update --touch | \
101 while read f ; do
102 einfo " ${f%%...}"
103 done
104 fi
105 }
106
107 src_configure() {
108 gcc_do_filter_flags
109 # Target options are handled by econf
110
111 cd "${S}"/obj
112 EXTRALANGS=""
113 use fortran && EXTRALANGS="${EXTRALANGS},fortran"
114 use objc && EXTRALANGS="${EXTRALANGS},objc"
115 use objc++ && EXTRALANGS="${EXTRALANGS},obj-c++"
116
117 ECONF_SOURCE="${S}" econf --prefix="${EPREFIX}"/usr/$(get_libdir)/${PN}-${MY_PV} \
118 $(use_enable multilib) \
119 --program-prefix=${PN}-${MY_PV}- \
120 --enable-llvm="${EPREFIX}"/usr --enable-languages=c,c++${EXTRALANGS} \
121 $(use prefix && echo "--with-local-prefix=${EPREFIX}/usr") \
122 || die "configure failed"
123 }
124
125 src_compile() {
126 gcc_do_filter_flags
127 cd "${S}"/obj
128 BUILDOPTIONS="LLVM_VERSION_INFO=${MY_PV}"
129 use bootstrap && BUILDOPTIONS="${BUILDOPTIONS} bootstrap"
130 emake ${BUILDOPTIONS} || die "emake failed"
131 }
132
133 src_test() {
134 cd "${S}"/obj
135 emake -j1 -k check || ewarn "check failed and that sucks :("
136 }
137
138 src_install() {
139 cd "${S}"/obj
140
141 # Do allow symlinks in private gcc include dir as this can break the build
142 find gcc/include*/ -type l -print0 | xargs -0 rm -f
143 # Remove generated headers, as they can cause things to break
144 # (ncurses, openssl, etc).
145 for x in $(find gcc/include*/ -name '*.h') ; do
146 grep -q 'It has been auto-edited by fixincludes from' "${x}" \
147 && rm -f "${x}"
148 done
149
150 emake DESTDIR="${D}" install || die "installation failed"
151 rm -rf "${ED}"/usr/share/man/man7
152 if ! use nls; then
153 einfo "nls USE flag disabled, not installing locale files"
154 rm -rf "${ED}"/usr/share/locale
155 fi
156
157 # Add some symlinks
158 dodir /usr/bin
159 cd "${ED}/usr/bin"
160 for X in c++ g++ cpp gcc gcov gccbug ; do
161 ln -s "${EPREFIX}"/usr/$(get_libdir)/${PN}-${MY_PV}/bin/${PN}-${MY_PV}-${X} llvm-${X}
162 done
163 use fortran && \
164 ln -s "${EPREFIX}"/usr/$(get_libdir)/${PN}-${MY_PV}/bin/${PN}-${MY_PV}-gfortran llvm-gfortran
165
166 # Fix install_names on Darwin. The build system is too complicated
167 # to just fix this, so we correct it post-install
168 if [[ ${CHOST} == *-darwin* ]] ; then
169 local f=$(echo "${ED}"usr/$(get_libdir)/${PN}-${MY_PV}/lib/gcc/${CHOST}/${LLVM_GCC_VERSION}*/libstdc++.dylib)
170 install_name_tool -id "/${f#${D}}" "${f}"
171 fi
172 }
173
174 gcc_do_filter_flags() {
175 strip-flags
176
177 # In general gcc does not like optimization, and add -O2 where
178 # it is safe. This is especially true for gcc 3.3 + 3.4
179 replace-flags -O? -O2
180
181 # ... sure, why not?
182 strip-unsupported-flags
183
184 # dont want to funk ourselves
185 filter-flags '-mabi*' -m31 -m32 -m64
186
187 filter-flags '-mcpu=*'
188 }