From owner-freebsd-toolchain@freebsd.org Sun Nov 15 19:52:04 2015 Return-Path: Delivered-To: freebsd-toolchain@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id B40C7A30F6B for ; Sun, 15 Nov 2015 19:52:04 +0000 (UTC) (envelope-from gerald@pfeifer.com) Received: from ainaz.pair.com (ainaz.pair.com [209.68.2.66]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 8DA821932 for ; Sun, 15 Nov 2015 19:52:04 +0000 (UTC) (envelope-from gerald@pfeifer.com) Received: from [192.168.0.130] (vie-188-118-240-003.dsl.sil.at [188.118.240.3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ainaz.pair.com (Postfix) with ESMTPSA id E2BBE3F428; Sun, 15 Nov 2015 14:52:02 -0500 (EST) Date: Sun, 15 Nov 2015 20:52:00 +0100 (CET) From: Gerald Pfeifer To: "William A. Mahaffey III" cc: freebsd-toolchain@freebsd.org Subject: Re: [toolchain] amd64-gcc question In-Reply-To: <56449EF8.7070806@hiwaay.net> Message-ID: References: <56449EF8.7070806@hiwaay.net> MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII X-BeenThere: freebsd-toolchain@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: Maintenance of FreeBSD's integrated toolchain List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 15 Nov 2015 19:52:04 -0000 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