From owner-svn-ports-head@freebsd.org Thu Jul 4 20:31:16 2019 Return-Path: Delivered-To: svn-ports-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 7298415DD9B7; Thu, 4 Jul 2019 20:31:16 +0000 (UTC) (envelope-from linimon@lonesome.com) Received: from mail.soaustin.net (mail.soaustin.net [18.222.6.11]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mail.soaustin.net", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 8497870E58; Thu, 4 Jul 2019 20:31:15 +0000 (UTC) (envelope-from linimon@lonesome.com) Received: from lonesome.com (unknown [18.188.142.31]) by mail.soaustin.net (Postfix) with ESMTPSA id 57E2517093; Thu, 4 Jul 2019 20:31:14 +0000 (UTC) Date: Thu, 4 Jul 2019 20:31:13 +0000 From: Mark Linimon To: Gerald Pfeifer Cc: Piotr Kubaj , Alexey Dokuchaev , Cy Schubert , "Jason W. Bacon" , ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org Subject: Re: svn commit: r504198 - head/Mk Message-ID: <20190704203112.GA6138@lonesome.com> References: <201906141610.x5EGAdnN049103@repo.freebsd.org> <20190614165425.GA42674@FreeBSD.org> <8BDC3B40-7FEA-46EA-AE7C-A3C266F6978F@cschubert.com> <20190614175822.GA3336@FreeBSD.org> <20190615061345.GA20346@lonesome.com> <20190615084354.GA33091@ThinkPad-X200.g.anongoth.pl> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.21 (2010-09-15) X-Rspamd-Queue-Id: 8497870E58 X-Spamd-Bar: / Authentication-Results: mx1.freebsd.org X-Spamd-Result: default: False [-0.25 / 15.00]; ARC_NA(0.00)[]; RCVD_VIA_SMTP_AUTH(0.00)[]; NEURAL_HAM_MEDIUM(-0.48)[-0.482,0]; FROM_HAS_DN(0.00)[]; TO_DN_SOME(0.00)[]; NEURAL_SPAM_SHORT(0.61)[0.612,0]; IP_SCORE(-0.24)[ip: (0.03), ipnet: 18.220.0.0/14(0.14), asn: 16509(-1.34), country: US(-0.06)]; MIME_GOOD(-0.10)[text/plain]; DMARC_NA(0.00)[lonesome.com]; AUTH_NA(1.00)[]; NEURAL_HAM_LONG(-0.82)[-0.824,0]; TO_MATCH_ENVRCPT_SOME(0.00)[]; RCVD_IN_DNSWL_MED(-0.20)[11.6.222.18.list.dnswl.org : 127.0.5.2]; MX_GOOD(-0.01)[cached: mail.soaustin.net]; RCPT_COUNT_SEVEN(0.00)[8]; R_SPF_NA(0.00)[]; FROM_EQ_ENVFROM(0.00)[]; R_DKIM_NA(0.00)[]; MIME_TRACE(0.00)[0:+]; ASN(0.00)[asn:16509, ipnet:18.220.0.0/14, country:US]; MID_RHS_MATCH_FROM(0.00)[]; RCVD_TLS_ALL(0.00)[]; RCVD_COUNT_TWO(0.00)[2] X-BeenThere: svn-ports-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the ports tree for head List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 04 Jul 2019 20:31:16 -0000 On Sat, Jun 15, 2019 at 11:14:08AM +0200, Gerald Pfeifer wrote: > True, it's only 58 for USE_GCC=any versus 112 for USE_GCC=yes [...] > Still 58 ports that won't be tested with the compiler they are > (trying to be) built with on powerpc64. But ... what I understand is that "any" means "it's ok to use base gcc". That was always the intended difference to "yes" which means "you *must* use a recent gcc" [e.g. from ports]. I don't really see why we need to add the dependency on a newer gcc if the version in base suffices. What am I missing here? I don't see this as the "trying to be" case. (Also see note at end.) (Granted, this distinction becomes meaningless in FreeBSD e.g. 13 when base gcc is deleted -- but we will still be supporting 11/12 for quite some time to come.) > > Most ports just need USES=compiler:*. > > Yes, and that's where we should take action as well. And by default we have been doing that -- unless it is *known* that the port simply won't build with clang and thus requires USE_GCC. OTOH there has been recently pushback that "you could have done the same thing more minimally by" (specifying c99, etc.) The problem is, we've tried to take the fastest route to getting as large a set of packages built as possible. Thus: Mon Nov 19 13:48:26 UTC 2018 11304 Sun Jun 16 06:10:04 UTC 2019 27953 but again, a) we're getting pushback; b) in any case, work has to be done on ~120 ports to fix the "powerpc means gcc" assumption, which will soon be smashed in -CURRENT (per above). (Frankly, except for the latter I would leave the whole issue alone. Even if we spend ~1hr/port to prove that c99 is "more minimal", that's still ~100 hours.) tl:dr: we've favored getting things building over getting things perfect. But now we have to backtrack a bit for the new assumption. Different topic. Here's a special case: > For example, Mk/Uses/compiler.mk has > > .if ${_COMPILER_ARGS:Mopenmp} > .if ${COMPILER_TYPE} == clang > USE_GCC= yes > CHOSEN_COMPILER_TYPE= gcc > .endif > .endif > > which means that anyone asking for compiler:openmp gets GCC 4.2, > unless I'm missing something. Yes, openmp is a special case IIUC. fwiw, there are a number of other special cases (around 50 in all) that are mostly disjoint with the "=any" cases. All of these are going to have to be examined carefully, and have test-runs in multiple environments. Finally, w/rt using gcc4.2 being a disservice ... remember, that's what we *already do* by default on powerpc64 (et. al). Of the above number of packages, only 5916 depend on llvm*. While I don't have an easy number to show me the ones that have "c11 or more" in in USES:compiler, I can say that even so, we are still building the majority of powerpc64 packages, by far, with base gcc. mcl