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>