Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 15 Nov 2015 20:52:00 +0100 (CET)
From:      Gerald Pfeifer <gerald@pfeifer.com>
To:        "William A. Mahaffey III" <wam@hiwaay.net>
Cc:        freebsd-toolchain@freebsd.org
Subject:   Re: [toolchain] amd64-gcc question
Message-ID:  <alpine.LSU.2.20.1511151211480.4990@anthias>
In-Reply-To: <56449EF8.7070806@hiwaay.net>
References:  <56449EF8.7070806@hiwaay.net>

next in thread | previous in thread | raw e-mail | index | archive | help
On Thu, 12 Nov 2015, William A. Mahaffey III wrote:
> I pkg-installed amd64-gcc over the weekend hoping for Graphite 
> (auto-loop parallelization) support, but no go.

When you say "amd64-gcc" where did you obtain that from?  As a 
FreeBSD port/package, or somewhere else?

> just did a 'portsnap fetch upgrade' & there is now a port 
> for amd64-gcc, but it includes no files & no pkg-descr file.

This is a little weird.  I have packaged GCC 4.6 (lang/gcc46), 
GCC 4.7 (lang/gcc47), GCC 4.8 (lang/gcc48), GCC 4.9 (lang/gcc49), 
GCC 5 (lang/gcc5 and lang/gcc5-devel) and GCC 6 snapshot (lang/gcc6-devel)
as well as the "canonical" version of GCC (lang/gcc, currently 
GCC 4.8 and in the process of being moved to GCC 4.9).

All of these build and package on amd64, feature pkg-descr, etc.
And as a FreeBSD user leveraging the official FreeBSD Ports Collection
is the recommended approach.

None of them would be called amd64-gcc or similar, though.

> I have gotten as far as running 'make showconfig' in the various gcc* &
> amd64-gcc directories to see what info I could get on default config
> options. In all cases they gave options & said to run 'make config' to
> change options. I didn't even see a 'config:' entry in the Makefiles
> (probably included from elsewhere, but I didn't chase it). 

Let's focus on lang/gcc5-devel, which is the most reasonable version
to enable Graphite for right now since GCC 5 is the current release
series and hence most stable, but also advanced, and the -devel port
is more suitable for making changes like this than the "production"
variant.

And indeed lang/gcc5-devel/Makefile already had the following lines, 
which is how options handling actually works:

  OPTIONS_DEFINE=         BOOTSTRAP
  OPTIONS_DEFINE_i386=    JAVA
  OPTIONS_DEFINE_amd64=   JAVA
  OPTIONS_DEFAULT=        BOOTSTRAP
  OPTIONS_DEFAULT_i386=   JAVA
  OPTIONS_DEFAULT_amd64=  JAVA

> I see no configure files for any of the gcc ports (I have the entire 
> ports tree downloaded & local, & freshly updated as of a few min. ago). 
> What is the canonical/BPP (FreeBSD 9.3R) way of recompiling a port with 
> different config flags ?
> 
> I did find ports/pkgs for the 2 main components apparently needed for 
> Graphite support (cloog & ppl) & pkg-installed them over the weekend, 
> so I am ready to go on that front.

If you check out the GCC release notes at 
  https://gcc.gnu.org/gcc-5/changes.html
you will find that "The Graphite framework for loop optimizations no 
longer requires the CLooG library, only ISL version 0.14 (recommended) 
or 0.12.2."

I just committed changes to lang/gcc6-devel and lang/gcc5-devel to
add support for Graphite with a new option GRAPHITE.  This is off
by default, but you can enable it, rebuild the port, and then have
what you've been looking for.

Gerald



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?alpine.LSU.2.20.1511151211480.4990>