Index: Mk/bsd.options.mk =================================================================== --- Mk/bsd.options.mk +++ Mk/bsd.options.mk @@ -173,6 +173,11 @@ OPTIONSMKINCLUDED= bsd.options.mk OPTIONS_NAME?= ${PKGORIGIN:S/\//_/} +# If there is a FLAVOR and it is not the default one, append it to OPTIONS_NAME +# so that the options can be different than the default flavor. +.if !empty(FLAVOR) && ${FLAVOR} != ${FLAVORS:[1]} +OPTIONS_NAME:= ${OPTIONS_NAME}@${FLAVOR} +.endif OPTIONS_FILE?= ${PORT_DBDIR}/${OPTIONS_NAME}/options _OPTIONS_FLAGS= ALL_TARGET BROKEN CATEGORIES CFLAGS CONFIGURE_ENV CONFLICTS \ Index: Mk/bsd.port.mk =================================================================== --- Mk/bsd.port.mk +++ Mk/bsd.port.mk @@ -1089,6 +1089,30 @@ # Do not leak flavors to childs make .MAKEOVERRIDES:= ${MAKEOVERRIDES:NFLAVOR=*} +.if !empty(FLAVOR) +# These overwrite the current value +.for v in PKGNAMEPREFIX PKGNAMESUFFIX PLIST DESCR +.if defined(${FLAVOR}_${v}) +${v}= ${${FLAVOR}_${v}} +.endif +.endfor + +# These append to the current value +.for v in CONFLICTS CONFLICTS_BUILD CONFLICTS_INSTALL +.if defined(${FLAVOR}_${v}) +${v}+= ${${FLAVOR}_${v}} +.endif +.endfor + +.if defined(${FLAVOR}_OPTIONS_ON) +OPTIONS_SLAVE+= ${${FLAVOR}_OPTIONS_ON} +.endif + +.if defined(${FLAVOR}_OPTIONS_OFF) +OPTIONS_EXCLUDE+= ${${FLAVOR}_OPTIONS_OFF} +.endif +.endif # defined(${FLAVOR}) + .if defined(CROSS_TOOLCHAIN) .if !defined(CROSS_SYSROOT) IGNORE= CROSS_SYSROOT should be defined