From nobody Fri Apr 12 07:54:47 2024 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 4VG83q582Yz5Gv8C; Fri, 12 Apr 2024 07:54:47 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (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 "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4VG83q4YVgz42TT; Fri, 12 Apr 2024 07:54:47 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1712908487; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=gc8XPBmcBMQIuClNvddMG2/S5OKJXiuMrjDPZvGjMOY=; b=Oez24xEEWZjvcT57BOcoo1ZqhP02trRh3blii+gfeAXtPadOoNQxV81gMPlriN7vyiHD5s ohZ+oMehBx3PFYmNoibGin7pgj9cExMZ8V7ewlFJuZJ+F/ekTkgB4o5V+K7rAyycMUzzuS +88Bg9/X8QxNfff4Bf/f/1APum+BFhFb+h9u94SJVeLtZqUGZlX7OJnvNGIMDaNPMOTZDl HnQFpgmSqoIBVtQ5vjh+fXCpzGliUt3XZhF+IGosz6D02pO74sI364ozIuwH56WWyJZqki WXuCBgOvEvloPsNlzsQMZhwGazZU/DT2YBZ4KkDeGinG46DkhG73vr8mhc0c0A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1712908487; a=rsa-sha256; cv=none; b=DQNr8Z2wa/SGOE4h3NEZTR6bXcuHJZ+5RBegGd/w0jsMSgl05ryxBS1mYwJybgPsmNe36c 8tTQHQ8bCJgvT0t9peZaJEmxWjhCmBtHpTHzQQVvvbPNmUZxI+WByhVcmscO+EGMYyu2V9 ZOANCRbiXT+5sDtvGIdTP/DuDcoXo8/ohPOwIxU9h2lb0ATNpnhWkxnSyg89rXQeWKj5jk IF2XbRfBuv1zqihHfb54H/8fkX9lWX0icCbHxGv6E1PyNFgySbD7tlme1yqsGBXzwEAs3q ddSsNT5i0fq+83rRSpE2ICkjSTOtcAu1vgeOEixJKeG9rWoVxBY0aSdotSOhEA== 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=1712908487; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=gc8XPBmcBMQIuClNvddMG2/S5OKJXiuMrjDPZvGjMOY=; b=o6VKJnbPTgvA3hMy71O7ORA9V9I7B2L2Wy+UyO+NAH7wOhtW4W1FwofrvVngdz1qTf25ri gg/6WBvslprNikgSxoi3yo495uXol0TsOCH3/FetzOROUYG1ohwj7A6bGsuAMr7btvkZe2 1Luatb1vQYSUQGcW4kzoez2SADb6xW/FQ17Zus38uRowPlhHa8o5bHniVmbKIRaKaLHu0d EIkbAS/Cvf+vTvyrej9W6O6R2UE+sLmeCZAZIy7NXXdop7Ny1Z2b/MYk3+n0If3uBy8aEL ptcxkXyV5LXRuE2sXBjVJ74mPb1wN9q/lh8/HSED/PTgQPpu17tsWuyoJrkEnw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (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 did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VG83q3kwFzhbH; Fri, 12 Apr 2024 07:54:47 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 43C7sl62026329; Fri, 12 Apr 2024 07:54:47 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 43C7slbr026326; Fri, 12 Apr 2024 07:54:47 GMT (envelope-from git) Date: Fri, 12 Apr 2024 07:54:47 GMT Message-Id: <202404120754.43C7slbr026326@gitrepo.freebsd.org> To: ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org From: Mathieu Arnold Subject: git: 06601897e5cd - main - framework: reintroduce the feature enabling code 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: X-BeenThere: dev-commits-ports-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: mat X-Git-Repository: ports X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 06601897e5cd4afcc31f3b508b2cbb2bc7d4a677 Auto-Submitted: auto-generated The branch main has been updated by mat: URL: https://cgit.FreeBSD.org/ports/commit/?id=06601897e5cd4afcc31f3b508b2cbb2bc7d4a677 commit 06601897e5cd4afcc31f3b508b2cbb2bc7d4a677 Author: Mathieu Arnold AuthorDate: 2024-04-12 07:49:01 +0000 Commit: Mathieu Arnold CommitDate: 2024-04-12 07:53:27 +0000 framework: reintroduce the feature enabling code For each feature (see in Mk/Features) users can now set these variables in their make.conf. Using LTO as an example. To enable globally: WITH_LTO= yes To disable globally (for example ssp is enabled by default): WITHOUT_LTO= yes To enable for a specific list of ports: WITH_LTO_PORTS= lang/perl5.36 To disable for a specific list of ports: WITHOUT_LTO_PORTS= lang/perl5.36 Differential Revision: https://reviews.freebsd.org/D44750 --- Mk/Uses/cargo.mk | 4 +--- Mk/bsd.port.mk | 42 ++++++++++++++++++++++++++++++++++-------- net-mgmt/net-snmp/Makefile | 2 +- 3 files changed, 36 insertions(+), 12 deletions(-) diff --git a/Mk/Uses/cargo.mk b/Mk/Uses/cargo.mk index e3b733d35821..8710374e3584 100644 --- a/Mk/Uses/cargo.mk +++ b/Mk/Uses/cargo.mk @@ -139,10 +139,8 @@ CARGO_ENV+= \ CARGO_ENV+= RUST_BACKTRACE=1 . endif -. if !defined(_WITHOUT_LTO) && (!defined(WITHOUT_LTO_PORTS) || ${WITHOUT_LTO_PORTS:N${PKGORIGIN}}) +. if defined(WITH_LTO) _CARGO_MSG= "===> Additional optimization to port applied" -_WITH_LTO= yes -.undef _WITHOUT_LTO . endif # Adjust -C target-cpu if -march/-mcpu is set by bsd.cpu.mk diff --git a/Mk/bsd.port.mk b/Mk/bsd.port.mk index a0cde979317e..f396d4ee4eec 100644 --- a/Mk/bsd.port.mk +++ b/Mk/bsd.port.mk @@ -1324,19 +1324,45 @@ LDCONFIG32_DIR= libdata/ldconfig32 TMPDIR?= /tmp . endif # defined(PACKAGE_BUILDING) +# If user specified WITH_FEATURE=yes for a feature that is disabled by default +# treat it as enabled by default +. for feature in ${_LIST_OF_WITH_FEATURES} +. if ${_DEFAULT_WITH_FEATURES:N${feature}} && defined(WITH_${feature:tu}) +_DEFAULT_WITH_FEATURES+= ${feature} +. endif +. endfor + +. for feature in ${_LIST_OF_WITH_FEATURES} +# Create _{WITH,WITHOUT}_FEATURE vars based on user-provided {WITH,WITHOUT}_FEATURE +# Test WITHOUT_* first to make sure a port can disable the feature +. if defined(WITHOUT_${feature:tu}) +_WITHOUT_${feature:tu}= ${WITHOUT_${feature:tu}} +. elif defined(WITH_${feature:tu}) +_WITH_${feature:tu}= ${WITH_${feature:tu}} +. endif # For each Feature we support, process the # WITH_FEATURE_PORTS and WITHOUT_FEATURE_PORTS variables -. for feature in ${_LIST_OF_WITH_FEATURES} . if ${_DEFAULT_WITH_FEATURES:M${feature}} -_WITH_OR_WITHOUT= WITHOUT +. if defined(WITHOUT_${feature:tu}_PORTS) && ${WITHOUT_${feature:tu}_PORTS:M${PKGORIGIN}} +_WITHOUT_${feature:tu}= yes +.undef _WITH_${feature:tu} +. endif . else -_WITH_OR_WITHOUT= WITH +. if defined(WITH_${feature:tu}_PORTS) && ${WITH_${feature:tu}_PORTS:M${PKGORIGIN}} +_WITH_${feature:tu}= yes +.undef _WITHOUT_${feature:tu} +. endif . endif +. endfor -. if defined(${_WITH_OR_WITHOUT}_${feature:tu}_PORTS) -. if ${${_WITH_OR_WITHOUT}_${feature:tu}_PORTS:M${PKGORIGIN}} -${_WITH_OR_WITHOUT}_${feature:tu}= yes -. endif +# Now we made sure the features are either on or off, let's put them back in +# the WITH_* variable. From now on, we only need to test defined(WITH_*) or +# !defined(WITH_*) +. for feature in ${_LIST_OF_WITH_FEATURES} +. if defined(_WITH_${feature:tu}) +WITH_${feature:tu}= _WITH_${feature:tu} +. else +.undef WITH_${feature:tu} . endif . endfor @@ -1800,7 +1826,7 @@ CFLAGS:= ${CFLAGS:C/${_CPUCFLAGS}//} . endif . for f in ${_LIST_OF_WITH_FEATURES} -. if defined(WITH_${f:tu}) || ( ${_DEFAULT_WITH_FEATURES:M${f}} && !defined(WITHOUT_${f:tu}) ) +. if defined(WITH_${f:tu}) .include "${PORTSDIR}/Mk/Features/$f.mk" . endif . endfor diff --git a/net-mgmt/net-snmp/Makefile b/net-mgmt/net-snmp/Makefile index 744bd5126b80..f4b7df20ef0b 100644 --- a/net-mgmt/net-snmp/Makefile +++ b/net-mgmt/net-snmp/Makefile @@ -58,7 +58,7 @@ CONFIGURE_ARGS+=--enable-shared --enable-internal-md5 \ --with-ldflags="-lm -lkvm -ldevstat -L${PKG_PREFIX}/lib -L${LOCALBASE}/lib ${LCRYPTO}" SUB_FILES= pkg-message -.if !defined(WITHOUT_SSP) +.if defined(WITH_SSP) CONFIGURE_ARGS+=--with-libs="-lssp_nonshared" .endif