From owner-freebsd-ppc@FreeBSD.ORG Thu Jun 26 18:30:41 2014 Return-Path: Delivered-To: freebsd-ppc@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id F2E24211; Thu, 26 Jun 2014 18:30:40 +0000 (UTC) Received: from mail-qa0-x233.google.com (mail-qa0-x233.google.com [IPv6:2607:f8b0:400d:c00::233]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 6FFB0298E; Thu, 26 Jun 2014 18:30:40 +0000 (UTC) Received: by mail-qa0-f51.google.com with SMTP id j7so3182787qaq.10 for ; Thu, 26 Jun 2014 11:30:39 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=5VPIj/z1yRtMqRDSq/bPX+GYGEGY0KNImasYGWT6pAE=; b=mDTm49dOv2eFW2mZ5w0m02jYDheQsW0YI8Qw53ngMCFiEiR45kNf8NufU3V2VvkPDO lBYexEFau7ode0uKfl4WF2rbKmyfM21rtTmIMLV/5Gs5omECxC6wxhNlDIbmMqLKsQXe TMKmuMOtvOHughwBn5wRpqteO8riuR3l9OSBdFn+EfA3Lq5zdgm78HTKsL5wHnCx8C3G q8uJNEig3zAYhrS0tWvtTZTzVr+4d5NWP65mtVBg3w2wZ8LWYHNBDYWa9zLYDvSXz+KQ goW7q58tELCZEzfcS6uB/LoqXjeXUoJ8CnRQMZW+Ed/pzSFCMnjqeldZUhk7bX4S/sEU 5mFQ== MIME-Version: 1.0 X-Received: by 10.140.85.166 with SMTP id n35mr23326300qgd.67.1403807439589; Thu, 26 Jun 2014 11:30:39 -0700 (PDT) Received: by 10.140.23.84 with HTTP; Thu, 26 Jun 2014 11:30:39 -0700 (PDT) In-Reply-To: <53AC5AA1.1030508@freebsd.org> References: <539DC0C5.60603@freebsd.org> <20140623131222.GA26450@FreeBSD.org> <20140625073340.GA57075@FreeBSD.org> <20140625072305.45baf39b@zhabar.att.net> <20140626100258.GA47002@FreeBSD.org> <53AC3DB2.3070902@freebsd.org> <20140626154416.GD24440@ivaldir.etoilebsd.net> <53AC5AA1.1030508@freebsd.org> Date: Thu, 26 Jun 2014 11:30:39 -0700 Message-ID: Subject: Re: Boost 1.55.0 (Was: Re: PowerPC Packages) From: Justin Hibbits To: Nathan Whitehorn Content-Type: text/plain; charset=UTF-8 Cc: Baptiste Daroussin , FreeBSD Mailing List , FreeBSD PowerPC ML X-BeenThere: freebsd-ppc@freebsd.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: Porting FreeBSD to the PowerPC List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 26 Jun 2014 18:30:41 -0000 On Thu, Jun 26, 2014 at 10:38 AM, Nathan Whitehorn wrote: > On 06/26/14 08:44, Baptiste Daroussin wrote: >> >> On Thu, Jun 26, 2014 at 08:35:14AM -0700, Nathan Whitehorn wrote: >>> >>> On 06/26/14 03:02, Alexey Dokuchaev wrote: >>>> >>>> On Wed, Jun 25, 2014 at 07:23:05AM -0700, Justin Hibbits wrote: >>>>> >>>>> As I mentioned earlier, you can set "FAVORITE_COMPILER=gcc" in >>>>> make.conf, and it'll build with gcc47. >>>> >>>> FAVORITE_COMPILER looks more like a hack to me. Ideally boost's port >>>> Makefile should be fixed instead. >>>> >>>> I also would rather use system compiler (whether it's gcc4.2 or clang) >>>> instead of gcc47. >>>> >>>> ./danfe >>>> >>> Yes, it should be made to respect whatever cc is. >> >> As long as cc is supported upstream, boost being a nightmare to maintain I >> will >> reject all patches that are not accepted upstream first, otherwise bumping >> to >> 1.56 will be painful. >> >> That said I fully support the effort. >> >> regards, >> Bapt > > > The following patch fixes the issue for me (as well as several other ports). > I'll let you decide whether this is how you want to handle the problem. > -Nathan > > Index: Mk/Uses/compiler.mk > =================================================================== > --- Mk/Uses/compiler.mk (revision 358026) > +++ Mk/Uses/compiler.mk (working copy) > @@ -75,7 +75,9 @@ > ALT_COMPILER_TYPE= none > _ALTCCVERSION= > .if ${COMPILER_TYPE} == gcc && exists(/usr/bin/clang) > +.if ${ARCH} == amd64 || ${ARCH} == i386 # clang often non-default for a > reason > _ALTCCVERSION!= /usr/bin/clang --version > +.endif > .elif ${COMPILER_TYPE} == clang && exists(/usr/bin/gcc) > _ALTCCVERSION!= /usr/bin/gcc --version > .endif > @@ -138,7 +140,7 @@ > > .if ${_COMPILER_ARGS:Mc++11-lang} > .if !${COMPILER_FEATURES:Mc++11} > -.if defined(FAVORITE_COMPILER) && ${FAVORITE_COMPILER} == gcc > +.if (defined(FAVORITE_COMPILER) && ${FAVORITE_COMPILER} == gcc) || (${ARCH} > != amd64 || ${ARCH} != i386) # clang not always supported on Tier-2 > USE_GCC= yes > CHOSEN_COMPILER_TYPE= gcc > .elif (${COMPILER_TYPE} == clang && ${COMPILER_VERSION} < 33) || > ${COMPILER_TYPE} == gcc > bapt mentioned a while back about separating the concept of the 'base compiler' and 'ports compiler'. Perhaps we need to explore this again. It should be possible to mark ports as being dependencies for the ports compiler, and all other ports would get built by said compiler, while those are built by the base compiler. This way we can take advantage of any enhancements we might get with a newer compiler (like better altivec support and autovectorization from newer gcc, better optimizations, etc). - Justin