From owner-freebsd-ports@FreeBSD.ORG Wed Oct 10 00:45:24 2012 Return-Path: Delivered-To: freebsd-ports@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 2B37C9E5; Wed, 10 Oct 2012 00:45:24 +0000 (UTC) (envelope-from linimon@lonesome.com) Received: from mail.soaustin.net (pancho.soaustin.net [76.74.250.40]) by mx1.freebsd.org (Postfix) with ESMTP id 090D08FC1E; Wed, 10 Oct 2012 00:45:23 +0000 (UTC) Received: by mail.soaustin.net (Postfix, from userid 502) id 504805605B; Tue, 9 Oct 2012 19:45:23 -0500 (CDT) Date: Tue, 9 Oct 2012 19:45:23 -0500 From: Mark Linimon To: freebsd-current@FreeBSD.org, freebsd-ports@FreeBSD.org Subject: [HEADSUP] FYI: patch to ports that do not build with clang has been committed Message-ID: <20121010004523.GA15209@lonesome.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.5.20 (2009-06-14) Cc: linimon@FreeBSD.org X-BeenThere: freebsd-ports@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: Porting software to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 10 Oct 2012 00:45:24 -0000 The commit mail hasn't gone through yet, so I guess I need to post this first and reference the commit mail later. Sometime in the near future, the default CC on -current will be switched to clang. The patch I have committed is a workaround -- an interim measure -- to get ready for this transition. I have made changes to ports/Mk/bsd.gcc.mk that allow the addition of "USE_GCC=any" to a port's Makefile, and then committed that change to various ports. In most (but not all!) cases this will tell the port "build with gcc instead of clang" (*) . For those users with CC installed as gcc (including -stable), this patch should have no effect. Variations of combinations have been heavily tested on pointyhat-west. If there are any regressions, please contact me. You can see the difference in the errorlogs here: With USE_GCC=any: http://pointyhat-west.isc.freebsd.org/errorlogs/amd64-errorlogs/e.9-exp-clang.20121007231359.pointyhat-west/index-category.html Without USE_GCC=any: http://pointyhat-west.isc.freebsd.org/errorlogs/amd64-errorlogs/e.9-exp-clang.20121005165436.pointyhat-west/index-category.html While the absolute number of errors is not that much different, that is a false indication: over 2500 more packages are built "with" than "without". For those who wish to build *only* with clang, and thus defeat the workaround, simply set FORCE_BASE_CC_FOR_TESTING=anything, either in the Makefile line, or, if you are adventurous, in your /etc/make.conf. We appreciate all the testing that we can get (it is too much for any small group of people, much less one person.) In the long run, I would like to see as many ports built natively with clang as possible, and I appreciate the work that people have been doing to move us towards that goal. However, once the switch is made, it would have been a burden to everyone tracking -current to have suddenly found themselves "enlisted" in that effort :-) So, for the medium-term, this workaround should reduce the POLA violation. *Note* that due to the high number (over a thousand!) ports that do not build with clang, I arbitrarily decided to apply the workaround only to "ports that block 2 or more other ports from building" union "important ports". This does not mean that the workaround shouldn't be applied to other ports that are too hard to fix. This is part 1 of a set of patches that are being proposed to deal with the switchover. As I merge and test them some more, I will put them out for further review. Thanks. mcl * several ports are very, very, clever, and detect clang anyways; others build with gcc if CC is unset, but don't with CC=gcc. These ports are broken, and need to be fixed as we continue the process of switching over.