[toolchain] amd64-gcc question
Gerald Pfeifer
gerald at pfeifer.com
Sun Nov 15 19:52:04 UTC 2015
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
More information about the freebsd-toolchain
mailing list