From nobody Wed Sep 13 11:22:50 2023 X-Original-To: dev-commits-ports-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Rlyjn19cBz4svlJ; Wed, 13 Sep 2023 11:22:53 +0000 (UTC) (envelope-from jbeich@freebsd.org) Received: from freefall.freebsd.org (freefall.freebsd.org [96.47.72.132]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "freefall.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Rlyjn0kKvz4tcB; Wed, 13 Sep 2023 11:22:53 +0000 (UTC) (envelope-from jbeich@freebsd.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1694604173; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=owF8Gmz1ZJBdIy/Bizk7kO/0A59u7Tr8B8Cu/pnTmAI=; b=TaFe27wZLBRQakPBbOJH7GFvf4ZUqMZeEy2pGoz8iklZgdqlo25xZyBKEUEn+QoYGyiIZc ewwI+Lpm6kD2kSqGiZYF9pG8EpGsI07ZheMT2HmwKOXsow9DNzifjFa1gxVHZ5DyJdaGW2 CfblhAiHFkJ1CVWFt7ZPILkSzryX9JKhG+9SADlTet9bsVHHeo+cHmOgZVS+dU5+evCVtX rlU0zbQRnknd5Qvs4bu47bvsgq4PdABZtYTDgJdHx99AGJkNJ/P4l6XvBeYinVPS0XJN/C qobAWNPmh+GlH2AsTduiVtl7/Kv+b12XodLmdmhm4nlfyIMO1dBTnTEZyL/EVA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1694604173; a=rsa-sha256; cv=none; b=BWfAC6gSClTe/ZOaVzQ0c42TTyPU1SV4BxOnmlzdh6EloIpIljuhMK0Iazscja1aP4laKH aXSSWMwbKDXbVXDQhShy8NJABz4urgkYCT2gfy9Fo0TtBRh9/Butte4Kwwr/wDzXLhrtJn dkkFCcpoUBvmZmZgKkEQ1OSasZVJH0/xiqN83EFp+hVIg4jM86aHB5XTWaPVx4HZgUCSMx F4Lqv1444JisBMK4nhT0C1Ga38WLVnSlImSKNYVJt56gQwjJlgQTm+uljdTSREtTLTJzXc G3MVH4/FZusWtpDbYuCm4IAUDuGacrfOhd8mtDCKKF+hjxPwbrKK9WbdK7kEjA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1694604173; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=owF8Gmz1ZJBdIy/Bizk7kO/0A59u7Tr8B8Cu/pnTmAI=; b=bzBAsfBc8uXagslqwByZQ+EC2vqe4Wgo8VLs0isF7zY3C3Yr8XB58KnowCCEjx68zKY8th Q615sm+UxJpjsY64Qzr21EoI194lu1m2fu1HUl/O4COP/XpgbFI0sdyEdBx8arm3fQ9GSH TQ0AKJpUUDD+9Vs78FYss5ATqfBRnBHX91wFeXZQub1wJd7Sr2vbGrRPH3SLPIxI2VEjA2 4/0aYo6D4ueD5JIuD5MeSjePQChUggE3YFJeEL8K4jUs6RNHswzt6C56bUcuW7XYDsKlCW dwahtTrFpB2NPoiV7SPwQlTYBMIaaYj4cSOvImrGep1he7rjRAH36tamASg2Wg== Received: by freefall.freebsd.org (Postfix, from userid 1354) id 072E895D1; Wed, 13 Sep 2023 11:22:53 +0000 (UTC) From: Jan Beich To: Emmanuel Vadot Cc: Gleb Popov , "Tobias C. Berner" , ports-committers@freebsd.org, dev-commits-ports-all@freebsd.org, dev-commits-ports-main@freebsd.org Subject: Re: git: 4df0e66a3662 - main - llvm.mk: add export/noexport to handle CC/CXX/CPP exports In-Reply-To: <20230913102352.b641f29cd7cb76f2937d1a61@bidouilliste.com> (Emmanuel Vadot's message of "Wed, 13 Sep 2023 10:23:52 +0200") References: <202309130518.38D5INm2018105@gitrepo.freebsd.org> <20230913102352.b641f29cd7cb76f2937d1a61@bidouilliste.com> Date: Wed, 13 Sep 2023 13:22:50 +0200 Message-ID: List-Id: Commit messages for all branches of the ports repository List-Archive: https://lists.freebsd.org/archives/dev-commits-ports-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-ports-all@freebsd.org X-BeenThere: dev-commits-ports-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain Emmanuel Vadot writes: > On Wed, 13 Sep 2023 08:55:48 +0300 > Gleb Popov wrote: > >> On Wed, Sep 13, 2023 at 8:20?AM Tobias C. Berner wrote: >> > >> > + USES=llvm.mk now supports 'export' (default) and 'noexport' arguments. >> > + When export is set, CC, CXX and CPP will be set to the path corresponding >> > + to the chosen llvm-version. >> >> The choice for the default seems strange to me. Now every port that >> has USES=llvm will be switching to building with a non-base compiler. >> Is this really a sensible default? > > Isn't that what you want when you add USES=llvm ? Changing CC is USES=compiler job. Contributors starting using USES=llvm for changing Clang version because USES=compiler is poorly maintained. I predominantly add USES=llvm to satisfy libLLVM (mesa-devel, rpcs3) or libclang (USES=cargo + CARGO_CRATES=bindgen). In a few cases when I need newer Clang (for C++20 std:ranges, C++23) I also need newer libc++ but devel/llvm* maintainer refuses to provide libc++ (bug 260139). Forcing CC/CXX/CPP without testing all consumers has a chance of introducing regressions. For example, when using LTO it's important to make sure CMake doesn't pick up /usr/bin/llvm-ar or /usr/bin/llvm-ranlib because those may not support LLVM bitcode used by devel/llvm*. https://cgit.freebsd.org/ports/commit/?id=5e71e4d45129 https://cgit.freebsd.org/ports/commit/?id=2ce01a07d7c9 While the affected ports had LTO enabled by default there's also WITH_LTO knob handled by /usr/ports/Mk/Features/lto.mk.