svn commit: r499267 - head/Mk

Tobias Kortkamp tobik at FreeBSD.org
Thu Apr 18 14:28:09 UTC 2019


Author: tobik
Date: Thu Apr 18 14:28:07 2019
New Revision: 499267
URL: https://svnweb.freebsd.org/changeset/ports/499267

Log:
  Flag nop options helpers that appear after bsd.port.options.mk as DEV_ERRORs
  
  Approved by:	portmgr (mat)
  Differential Revision:	https://reviews.freebsd.org/D19553

Modified:
  head/Mk/bsd.options.mk
  head/Mk/bsd.sanity.mk

Modified: head/Mk/bsd.options.mk
==============================================================================
--- head/Mk/bsd.options.mk	Thu Apr 18 14:13:35 2019	(r499266)
+++ head/Mk/bsd.options.mk	Thu Apr 18 14:28:07 2019	(r499267)
@@ -192,6 +192,15 @@ _OPTIONS_FLAGS=	ALL_TARGET BROKEN CATEGORIES CFLAGS CO
 		PLIST_SUB PORTDOCS PORTEXAMPLES SUB_FILES SUB_LIST \
 		TEST_TARGET USES BINARY_ALIAS
 _OPTIONS_DEPENDS=	PKG FETCH EXTRACT PATCH BUILD LIB RUN TEST
+_ALL_OPTIONS_HELPERS=	${_OPTIONS_DEPENDS:S/$/_DEPENDS/} \
+			${_OPTIONS_DEPENDS:S/$/_DEPENDS_OFF/} \
+			${_OPTIONS_FLAGS:S/$/_OFF/} ${_OPTIONS_FLAGS} \
+			CMAKE_BOOL CMAKE_BOOL_OFF CMAKE_OFF CMAKE_ON \
+			CONFIGURE_ENABLE CONFIGURE_OFF CONFIGURE_ON \
+			CONFIGURE_WITH IMPLIES MESON_ARGS MESON_DISABLED \
+			MESON_ENABLED MESON_FALSE MESON_OFF MESON_ON MESON_TRUE \
+			PREVENTS PREVENTS_MSG QMAKE_OFF QMAKE_ON USE USE_OFF \
+			VARS VARS_OFF
 
 # The format here is target_family:priority:target-type
 _OPTIONS_TARGETS=	fetch:300:pre fetch:500:do fetch:700:post \
@@ -606,6 +615,18 @@ _type=		${target:C/.*://}
 _OPTIONS_${_target}:=	${_OPTIONS_${_target}} ${_prio}:${_type}-${_target}-${opt}-off
 .    endfor
 .  endif
+.endfor
+
+# Collect which options helpers are defined at this point for
+# bsd.sanity.mk later to make sure no other options helper is
+# defined after bsd.port.options.mk.
+_OPTIONS_HELPERS_SEEN=
+.for opt in ${_REALLY_ALL_POSSIBLE_OPTIONS}
+.  for helper in ${_ALL_OPTIONS_HELPERS}
+.    if defined(${opt}_${helper})
+_OPTIONS_HELPERS_SEEN+=	${opt}_${helper}
+.    endif
+.  endfor
 .endfor
 
 .undef (SELECTED_OPTIONS)

Modified: head/Mk/bsd.sanity.mk
==============================================================================
--- head/Mk/bsd.sanity.mk	Thu Apr 18 14:13:35 2019	(r499266)
+++ head/Mk/bsd.sanity.mk	Thu Apr 18 14:28:07 2019	(r499267)
@@ -168,6 +168,18 @@ DEV_ERROR+=	"PORT${_type} does not do anything unless 
 .  endif
 .endfor
 
+_BROKEN_OPTIONS_HELPERS=
+.for opt in ${_REALLY_ALL_POSSIBLE_OPTIONS}
+.  for helper in ${_ALL_OPTIONS_HELPERS}
+.    if defined(${opt}_${helper}) && empty(_OPTIONS_HELPERS_SEEN:M${opt}_${helper})
+_BROKEN_OPTIONS_HELPERS+=	${opt}_${helper}
+.    endif
+.  endfor
+.endfor
+.if !empty(_BROKEN_OPTIONS_HELPERS)
+DEV_ERROR+=	"The following options helpers are incorrectly set after bsd.port.options.mk and are ineffective: ${_BROKEN_OPTIONS_HELPERS}"
+.endif
+
 SANITY_UNSUPPORTED=	USE_OPENAL USE_FAM USE_MAKESELF USE_ZIP USE_LHA USE_CMAKE \
 		USE_READLINE USE_ICONV PERL_CONFIGURE PERL_MODBUILD \
 		USE_PERL5_BUILD USE_PERL5_RUN USE_DISPLAY USE_FUSE \


More information about the svn-ports-head mailing list