From owner-dev-commits-src-main@freebsd.org Thu Jun 10 19:38:17 2021 Return-Path: Delivered-To: dev-commits-src-main@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 4FF48652C59 for ; Thu, 10 Jun 2021 19:38:17 +0000 (UTC) (envelope-from wlosh@bsdimp.com) Received: from mail-qk1-x731.google.com (mail-qk1-x731.google.com [IPv6:2607:f8b0:4864:20::731]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "GTS CA 1O1" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4G1Dm91d8jz4Twh for ; Thu, 10 Jun 2021 19:38:17 +0000 (UTC) (envelope-from wlosh@bsdimp.com) Received: by mail-qk1-x731.google.com with SMTP id d196so23431135qkg.12 for ; Thu, 10 Jun 2021 12:38:17 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bsdimp-com.20150623.gappssmtp.com; s=20150623; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=lit476FEPRpHQyltE1dnAJH6U1K9V519M/N8KpRMg8Y=; b=Cb6C72T0/BPPw4kCEyANzWNCqndIDt6wBez+zECLOPTC2dldYWMfyIVbxxaKGgVFZZ eM5wezcxh465HgrnkEvdC/XmEG3vzyRdcq90NGCGjBbrxXn0IRIG4L7fPE0TViSd5Uhu K+7/l/NYxXHL2mo0miO2BtJWfRJiY/H/w42S1XZLWzOkImb8r0sOB85vziU7b5bV3SBS q1viJ14yuwL2dEgBBA/sWCIEYXD8MhZ0ZbO2H8l2LH2tjCoTmFyRYdEHtckSyN+NZ6mo 4ujFK+78i2y/iy8opsM2wBwSGCfHF69hCf5HrIskuGkU768WUcqyxDM6wVsft9kgEHLw MvYw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=lit476FEPRpHQyltE1dnAJH6U1K9V519M/N8KpRMg8Y=; b=jGVBvvTEoTUktej0Y1eatnNpPGzECS8b348sYW6pLPtAva9oh7IRyg+AUws34x/CyZ NyFVsFu+30jIy+iqlHUx7UZpF7PCJQY0NXoTHPihxNwjYi9JMRngHq8EO2f+keZVdD0S BdCCcmmDW9wghzqy+7XKQrXdg9kNwYaq/SYMIonJwuaqJr5jASMPorU4OxpDDsJ4KBMe PoQaDdoFVw7WjSH9ciXx8n8lZBqGcafk3+SRfWcSVKPJx8xouBA+lNmwHVqCvMyQqE+L BXCLE2/O0es974IwaCHRyjAIcb55uIatw9FeUHOCr0ivilGJoOpjOaajK+5HkGtr6CS2 0klg== X-Gm-Message-State: AOAM531XqzJaCilMAfV0NHhw8ZyfmzhcFz5PodbWoRYt6G14g4ndKUzO BKMfvwKM3B7tdsUFL2KmspFcccxM4kp6n7470ZyfHw== X-Google-Smtp-Source: ABdhPJwKdIIZY4F8DeCKDIrECW4bVsgZ8aPVfbfWxH+SfrYIpy2588rPni3jNz1PoDJuKOt068fdFftPvqv8fn8YzH0= X-Received: by 2002:a37:9ccb:: with SMTP id f194mr234467qke.206.1623353896226; Thu, 10 Jun 2021 12:38:16 -0700 (PDT) MIME-Version: 1.0 References: <202106100011.15A0B0oI080542@gitrepo.freebsd.org> <202106101146.15ABk345019564@gndrsh.dnsmgr.net> In-Reply-To: <202106101146.15ABk345019564@gndrsh.dnsmgr.net> From: Warner Losh Date: Thu, 10 Jun 2021 13:38:05 -0600 Message-ID: Subject: Re: git: f4d987cd137c - main - mk: WITH_FOO=no now generates a warning To: "Rodney W. Grimes" Cc: Warner Losh , src-committers , "" , dev-commits-src-main@freebsd.org X-Rspamd-Queue-Id: 4G1Dm91d8jz4Twh X-Spamd-Bar: ---- Authentication-Results: mx1.freebsd.org; none X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[] Content-Type: text/plain; charset="UTF-8" X-Content-Filtered-By: Mailman/MimeDel 2.1.34 X-BeenThere: dev-commits-src-main@freebsd.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: Commit messages for the main branch of the src repository List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 10 Jun 2021 19:38:17 -0000 On Thu, Jun 10, 2021 at 5:46 AM Rodney W. Grimes wrote: > > The branch main has been updated by imp: > > > > URL: > https://cgit.FreeBSD.org/src/commit/?id=f4d987cd137cb2d0d54a3e35d9258ca7c175d291 > > > > commit f4d987cd137cb2d0d54a3e35d9258ca7c175d291 > > Author: Warner Losh > > AuthorDate: 2021-06-10 00:10:12 +0000 > > Commit: Warner Losh > > CommitDate: 2021-06-10 00:10:52 +0000 > > > > mk: WITH_FOO=no now generates a warning > > First off thank you, this may stop some head scratching! > > But what about WITHOUT_foo=no the symetrical mistake? > I see bdrewey raised this in the review, but it was dismissed > using the argument that some languages, spanish specifically, > allow double negatives. This is computers engineering, > and in that field of science double negatives are clearly > defined and understood, so using an argument of a language > that simply does not apply to the field, IMHO, is an arguement > of low standing. > It's not the same, and I'm not solving that error because the mapping is ambiguous. I've seen a lot more instances of people using WITHOUT_FOO=no unironically because it makes sense to the person doing it. I disagree it's not a language issue, because language is involved here: how do we assign semantic meaning is unclear and I have no desire to get involved in what I clearly view as a quagmire. > Also I do not believe == is a case insensitive operation > so this code fails for NO, No, and nO(sic). > Also true. Again, this isn't perfect. I have no desire to make it perfect, because the list isn't finite. If you'd like to own this issue, feel free, but it's not something I wish to pursue further. Warner > Regards, > Rod > > > > Many people are used to gnu configure's behavior of changing > > --with-foo=no to --without-foo. At the same time, several folks have > > WITH_FOO=no in their config files to enable this ironic form of the > > option because of an old meme from IRC, a mailing list or the forums > (I > > forget which). Add a warning to allow to alert people w/o breaking > POLA. > > > > Reviewed by: allanjude, bdrewery, manu > > MFC After: 2 weeks > > Sponsored by: Netflix > > Differential Revision: https://reviews.freebsd.org/D30684 > > --- > > share/mk/bsd.mkopt.mk | 6 ++++++ > > 1 file changed, 6 insertions(+) > > > > diff --git a/share/mk/bsd.mkopt.mk b/share/mk/bsd.mkopt.mk > > index 5a9cf1b2f1be..98d23dd46c2a 100644 > > --- a/share/mk/bsd.mkopt.mk > > +++ b/share/mk/bsd.mkopt.mk > > @@ -36,6 +36,9 @@ > > # > > .for var in ${__DEFAULT_YES_OPTIONS} > > .if !defined(MK_${var}) > > +.if defined(WITH_${var}) && ${WITH_${var}} == "no" > > +.warning "Use WITHOUT_${var}=1 insetad of WITH_${var}=no" > > +.endif > > .if defined(WITHOUT_${var}) # WITHOUT always wins > > MK_${var}:= no > > .else > > @@ -54,6 +57,9 @@ MK_${var}:= yes > > # > > .for var in ${__DEFAULT_NO_OPTIONS} > > .if !defined(MK_${var}) > > +.if defined(WITH_${var}) && ${WITH_${var}} == "no" > > +.warning "Use WITHOUT_${var}=1 insetad of WITH_${var}=no" > > +.endif > > .if defined(WITH_${var}) && !defined(WITHOUT_${var}) # WITHOUT always > wins > > MK_${var}:= yes > > .else > > > > -- > Rod Grimes > rgrimes@freebsd.org >