Go to:
Gentoo Home
Documentation
Forums
Lists
Bugs
Planet
Store
Wiki
Get Gentoo!
Gentoo's Bugzilla – Attachment 444082 Details for
Bug 592060
Add Ada to toolchain.eclass
Home
|
New
–
[Ex]
|
Browse
|
Search
|
Privacy Policy
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Add Ada to toolchain.eclass v5
add-ada-to-toolchain-eclass_v5.patch (text/plain), 4.07 KB, created by
Luke A. Guest
on 2016-08-25 09:56:51 UTC
(
hide
)
Description:
Add Ada to toolchain.eclass v5
Filename:
MIME Type:
Creator:
Luke A. Guest
Created:
2016-08-25 09:56:51 UTC
Size:
4.07 KB
patch
obsolete
>--- /usr/portage/eclass/toolchain.eclass 2016-06-21 18:20:38.000000000 +0100 >+++ src/gentoo-overlays/ada/eclass/toolchain.eclass 2016-08-25 10:56:02.766450652 +0100 >@@ -152,7 +152,7 @@ > # versions which we dropped. Since graphite was also experimental in > # the older versions, we don't want to bother supporting it. #448024 > tc_version_is_at_least 4.8 && IUSE+=" graphite" IUSE_DEF+=( sanitize ) >- tc_version_is_at_least 4.9 && IUSE+=" cilk +vtv" >+ tc_version_is_at_least 4.9 && IUSE+=" ada cilk +vtv" > tc_version_is_at_least 5.0 && IUSE+=" jit mpx" > tc_version_is_at_least 6.0 && IUSE+=" pie +ssp" > fi >@@ -161,6 +161,14 @@ > > SLOT="${GCC_CONFIG_VER}" > >+# When using Ada, use this bootstrap compiler to build, only when there is no pre-existing Ada compiler. >+if [[ ! -f `which gnatbind 2>&1|tee /dev/null` ]]; then >+ # First time build, so need to bootstrap this. >+ # A newer version of GNAT should build an older version, just not vice-versa. 4.9 can definitely build 5.1.0. >+ GNAT_BOOTSTRAP_VERSION="4.9" >+ GNAT_STRAP_DIR="${WORKDIR}/gnat_strap" >+fi >+ > #---->> DEPEND <<---- > > RDEPEND="sys-libs/zlib >@@ -355,6 +363,12 @@ > fi > fi > >+ if in_iuse ada && [[ -n ${GNAT_STRAP_DIR} ]] ; then >+ GCC_SRC_URI+=" amd64? ( https://dev.gentoo.org/~nerdboy/files/gnatboot-${GNAT_BOOTSTRAP_VERSION}-amd64.tar.xz ) >+ x86? ( https://dev.gentoo.org/~nerdboy/files/gnatboot-${GNAT_BOOTSTRAP_VERSION}-i686.tar.xz ) >+ arm? ( https://dev.gentoo.org/~nerdboy/files/gnatboot-${GNAT_BOOTSTRAP_VERSION}-arm.tar.xz )" >+ fi >+ > echo "${GCC_SRC_URI}" > } > >@@ -401,6 +415,29 @@ > else > gcc_quick_unpack > fi >+ >+ # Unpack the Ada bootstrap if we're using it. >+ if in_iuse ada && [[ -n ${GNAT_STRAP_DIR} ]] ; then >+ if [ ! -d ${GNAT_STRAP_DIR} ]; then >+ mkdir -p ${GNAT_STRAP_DIR} > /dev/null || die "Couldn't make GNAT bootstrap directory" >+ fi >+ >+ pushd ${GNAT_STRAP_DIR} >&/dev/null || die >+ >+ case $(tc-arch) in >+ amd64) >+ unpack gnatboot-${GNAT_BOOTSTRAP_VERSION}-amd64.tar.xz || die "Failed to unpack AMD64 GNAT bootstrap compiler" >+ ;; >+ x86) >+ unpack gnatboot-${GNAT_BOOTSTRAP_VERSION}-i686.tar.xz || die "Failed to unpack x86 GNAT bootstrap compiler" >+ ;; >+ arm) >+ unpack gnatboot-${GNAT_BOOTSTRAP_VERSION}-arm.tar.xz || die "Failed to unpack ARM GNAT bootstrap compiler" >+ ;; >+ esac >+ >+ popd >&/dev/null || die >+ fi > } > > gcc_quick_unpack() { >@@ -805,6 +842,29 @@ > fi > [[ -n ${CBUILD} ]] && confgcc+=( --build=${CBUILD} ) > >+ # Add variables we need to make the build find the bootstrap compiler. >+ # We only want to use the bootstrap compiler for stage 1 of bootstrap, this will build the necessary compilers, >+ # then stage 2 uses these compilers. >+ # >+ # We only want to use the bootstrap when we don't have an already installed GNAT compiler. >+ if in_iuse ada && [[ -n ${GNAT_STRAP_DIR} ]] ; then >+ # We need to tell the system about our cross compiler! >+ export GNATBOOT=${GNAT_STRAP_DIR}/usr >+ export PATH="${GNATBOOT}/bin:${PATH}" >+ >+ EXTRA_ECONF+=( >+ CC=${GNATBOOT}/bin/gnatgcc >+ CXX=${GNATBOOT}/bin/gnatg++ >+ AR=${GNATBOOT}/bin/ar >+ AS=${GNATBOOT}/bin/as >+ LD=${GNATBOOT}/bin/ld >+ NM=${GNATBOOT}/bin/nm >+ RANLIB=${GNATBOOT}/bin/ranlib >+ ) >+ >+ einfo "EXTRA_ECONF=\"${EXTRA_ECONF}\"" >+ fi >+ > confgcc+=( > --prefix="${PREFIX}" > --bindir="${BINPATH}" >@@ -851,8 +911,8 @@ > is_f77 && GCC_LANG+=",f77" > is_f95 && GCC_LANG+=",f95" > >- # We do NOT want 'ADA support' in here! >- # is_ada && GCC_LANG+=",ada" >+ # We DO want 'Ada support' in here! >+ is_ada && GCC_LANG+=",ada" > > confgcc+=( --enable-languages=${GCC_LANG} ) > >@@ -1669,7 +1729,12 @@ > cd "${D}"${BINPATH} > # Ugh: we really need to auto-detect this list. > # It's constantly out of date. >- for x in cpp gcc g++ c++ gcov g77 gcj gcjh gfortran gccgo ; do >+ >+ if in_iuse ada ; then >+ GNAT_EXTRA_BINS="gnat gnatbind gnatchop gnatclean gnatfind gnatkr gnatlink gnatls gnatmake gnatname gnatprep gnatxref" >+ fi >+ >+ for x in cpp gcc g++ c++ gcov g77 gcj gcjh gfortran gccgo ${GNAT_EXTRA_BINS} ; do > # For some reason, g77 gets made instead of ${CTARGET}-g77... > # this should take care of that > if [[ -f ${x} ]] ; then
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 592060
:
444064
|
444066
|
444082
|
444146
|
444148
|
444250
|
445698
|
470640
|
471560
|
477544
|
488908
|
489108
|
489110
|
489112
|
489216
|
489690
|
489692
|
489694
|
489696
|
490036