OPTIONS handling doesn't seem to work fully in dependencies anymore

Alex Dupre ale at FreeBSD.org
Fri Sep 19 21:36:37 UTC 2008


Alex Dupre wrote:
> The attached patch should solve this erratic behavior.

Another quick patch, that removes handling OPTIONS as a special case.

--
Alex Dupre
-------------- next part --------------
--- bsd.port.mk.orig	2008-09-19 23:15:37.000000000 +0200
+++ bsd.port.mk	2008-09-19 23:29:30.000000000 +0200
@@ -3229,17 +3229,6 @@
 .endif
 
 ################################################################
-#
-# Do preliminary work to detect if we need to run the config
-# target or not.
-#
-################################################################
-.if (!defined(OPTIONS) || defined(CONFIG_DONE) || \
-	defined(PACKAGE_BUILDING) || defined(BATCH))
-_OPTIONS_OK=yes
-.endif
-
-################################################################
 # The following are used to create easy dummy targets for
 # disabling some bit of default target behavior you don't want.
 # They still check to see if the target exists, and if so don't
@@ -4114,7 +4103,7 @@
 _SANITY_SEQ=	${_CHROOT_SEQ} pre-everything check-makefile check-categories \
 				check-makevars check-desktop-entries check-depends \
 				check-deprecated check-vulnerable buildanyway-message \
-				options-message
+				options-message config-conditional
 _FETCH_DEP=		check-sanity
 _FETCH_SEQ=		fetch-depends pre-fetch pre-fetch-script \
 				do-fetch post-fetch post-fetch-script
@@ -4165,12 +4154,8 @@
 
 .for target in extract patch configure build install package
 
-.if !target(${target}) && defined(_OPTIONS_OK)
+.if !target(${target})
 ${target}: ${${target:U}_COOKIE}
-.elif !target(${target})
-${target}: config-conditional
-	@cd ${.CURDIR} && ${MAKE} CONFIG_DONE=1 ${__softMAKEFLAGS} ${${target:U}_COOKIE}
-.elif target(${target}) && defined(IGNORE)
 .endif
 
 .if !exists(${${target:U}_COOKIE})
@@ -5936,7 +5921,7 @@
 
 .if !target(config-conditional)
 config-conditional:
-.if defined(OPTIONS)
+.if defined(OPTIONS) && !defined(PACKAGE_BUILDING) && !defined(BATCH)
 .if exists(${OPTIONSFILE})
 # scan saved options and invalidate them, if the set of options does not match
 	@. ${OPTIONSFILE}; \


More information about the freebsd-ports mailing list