From owner-freebsd-ports@FreeBSD.ORG Sun Mar 13 13:55:15 2011 Return-Path: Delivered-To: freebsd-ports@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 2DDC3106566B for ; Sun, 13 Mar 2011 13:55:15 +0000 (UTC) (envelope-from marius@alchemy.franken.de) Received: from alchemy.franken.de (alchemy.franken.de [194.94.249.214]) by mx1.freebsd.org (Postfix) with ESMTP id B4B028FC12 for ; Sun, 13 Mar 2011 13:55:14 +0000 (UTC) Received: from alchemy.franken.de (localhost [127.0.0.1]) by alchemy.franken.de (8.14.4/8.14.4/ALCHEMY.FRANKEN.DE) with ESMTP id p2DDtDwE065999; Sun, 13 Mar 2011 14:55:13 +0100 (CET) (envelope-from marius@alchemy.franken.de) Received: (from marius@localhost) by alchemy.franken.de (8.14.4/8.14.4/Submit) id p2DDtDg4065998; Sun, 13 Mar 2011 14:55:13 +0100 (CET) (envelope-from marius) Date: Sun, 13 Mar 2011 14:55:13 +0100 From: Marius Strobl To: Guido Falsi Message-ID: <20110313135513.GA65945@alchemy.franken.de> References: <4D7BED01.6000506@FreeBSD.org> <20110313120507.GA75195@megatron.madpilot.net> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20110313120507.GA75195@megatron.madpilot.net> User-Agent: Mutt/1.4.2.3i Cc: Doug Barton , freebsd-ports@freebsd.org Subject: Re: Compiling ports in a post-9.0-RELEASE world X-BeenThere: freebsd-ports@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Porting software to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 13 Mar 2011 13:55:15 -0000 On Sun, Mar 13, 2011 at 01:05:07PM +0100, Guido Falsi wrote: > On Sat, Mar 12, 2011 at 02:00:33PM -0800, Doug Barton wrote: > > Howdy, > > > > As many of you are no doubt already aware, much work has been > > undertaken to make clang the default compiler for the src tree > > starting with 9.0-RELEASE. It is not 100% certain that this change > > will be made, but it's looking more likely every day. Actually, originally it was outlined that GCC would stay the default in FreeBSD 9 in any case: http://wiki.freebsd.org/201005ToolchainSummitSummary "GCC will continue to be built and installed as cc/c++ by default." IIRC this statement so far was repeated on mailing lists. > > > > This raises an interesting question for how to deal with compiling > > ports after 9.0 is released. So far there are 2 main ideas for how > > to deal with this: > > > > 1. Fix all ports to compile with both gcc 4.2 (for RELENG_[78]) and clang. > > This perhaps would be bst, but...(see below) > > > 2. Adopt an official "ports compiler," which would likely be one of > > the gcc versions from the ports tree itself, and update all ports to > > work with it. > > Since most of the software in the ports tree tends to be quite linux > or gcc centric I think 2 is the only viable option. > > BTW I'd suggest a variation to 2. I think some option like "CLANG_SAFE" > or "USE_CLANG"(just saying, perhaps a better name can be found) > should be added to the infrastructure so, on 9.x and newer systems, > maintainer can sign that their port does build using the system > compiler. Obviously for ports having dependencies, especially > libraries, some extra testing should be performed to make sure > depending ports, which could use a different compiler, link correctly. > Given that clang so far only is a viable alternative on x86 if at all option 2 or the proposed variation of it would also be a necessary precursor for !x86, assuming that eventually clang will be the default for x86 (or whatever architectures it then is en par with GCC). For !x86 CLANG_SAFE or whatever then would be a NOP. Wasn't there a GSoC project aimed at implementing something like that in the ports infrastructure? Marius