aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorbapt <bapt@FreeBSD.org>2013-06-14 21:41:37 +0800
committerbapt <bapt@FreeBSD.org>2013-06-14 21:41:37 +0800
commite3aa30797e50c5d43b8e725cf1a51c3d26e44293 (patch)
tree36b000a218f2de0d60ae75e8e03a7ad2e6956074
parentd5aba435d61907e67715ba8c20ac5884480597ae (diff)
downloadfreebsd-ports-gnome-e3aa30797e50c5d43b8e725cf1a51c3d26e44293.tar.gz
freebsd-ports-gnome-e3aa30797e50c5d43b8e725cf1a51c3d26e44293.tar.zst
freebsd-ports-gnome-e3aa30797e50c5d43b8e725cf1a51c3d26e44293.zip
New macros to help dealing with ports that have options:
OPTIONS_SUB=yes when set in a port, all the option names are automatically added to the PLIST_SUB with "@comment " value in case the option is off and empty value in case the options is on. ${OPT}_CONFIGURE_ENABLE=<aname> will automatically add: CONFIGURE_ARGS+=--enable-<aname> in case OPT is activated CONFIGURE_ARGS+=--disable-<aname> in case OPT is deactivated ${OPT}_CONFIGURE_ON=<something> will automatically add: CONFIGURE_ARGS+=<something> in case OPT is activated ${OPT_CONFIGURE_OFF=<something> will automatically add: CONFIGURE_ARGS+=<something> in case OPT is deactivated ${OPT}_CFLAGS will append the specified new flags to CFLAGS if OPT is 'on' ${OPT}_CXXFLAGS will append the specified new flags to CXXFLAGS if OPT is 'on' ${OPT}_LDFLAGS will append the specified new flags to LDFLAGS if OPT is 'on' ${OPT}_CONFIGURE_ENV will append the specified variables to CONFIGURE_ENV if OPT is 'on' ${OPT}_MAKE_ENV will append the specified variables to MAKE_ENV if OPT is 'on' ${OPT}_USES will append the speficied uses to USES if OPT is 'on' ${OPT}_DISTFILES will append the specified distiles to DISTFILES if OPT in 'on' Reviewed and tested by: bdrewery
-rw-r--r--CHANGES31
-rw-r--r--Mk/bsd.options.mk44
2 files changed, 74 insertions, 1 deletions
diff --git a/CHANGES b/CHANGES
index a075b72c99e4..9ad17a5f4a5d 100644
--- a/CHANGES
+++ b/CHANGES
@@ -11,6 +11,37 @@ in the release notes and/or placed into UPDATING.
All ports committers are allowed to commit to this file.
20130614:
+AUTHOR: bapt@FreeBSD.org
+
+ * New macros to help dealing with ports that have options:
+
+ OPTIONS_SUB=yes when set in a port, all the option names are automatically
+ added to the PLIST_SUB with "@comment " value in case the option is off and
+ empty value in case the options is on.
+
+ ${OPT}_CONFIGURE_ENABLE=<aname> will automatically add:
+ CONFIGURE_ARGS+=--enable-<aname> in case OPT is activated
+ CONFIGURE_ARGS+=--disable-<aname> in case OPT is deactivated
+
+ ${OPT}_CONFIGURE_ON=<something> will automatically add:
+ CONFIGURE_ARGS+=<something> in case OPT is activated
+
+ ${OPT_CONFIGURE_OFF=<something> will automatically add:
+ CONFIGURE_ARGS+=<something> in case OPT is deactivated
+
+ ${OPT}_CFLAGS will append the specified new flags to CFLAGS if OPT is 'on'
+ ${OPT}_CXXFLAGS will append the specified new flags to CXXFLAGS if OPT is 'on'
+ ${OPT}_LDFLAGS will append the specified new flags to LDFLAGS if OPT is 'on'
+
+ ${OPT}_CONFIGURE_ENV will append the specified variables to CONFIGURE_ENV if
+ OPT is 'on'
+ ${OPT}_MAKE_ENV will append the specified variables to MAKE_ENV if OPT is 'on'
+
+ ${OPT}_USES will append the speficied uses to USES if OPT is 'on'
+
+ ${OPT}_DISTFILES will append the specified distiles to DISTFILES if OPT in 'on'
+
+20130614:
AUTHOR: bapt@FreeBSD.org
* New 'display' USES macro to handle building ports that may require a
diff --git a/Mk/bsd.options.mk b/Mk/bsd.options.mk
index d6def746772c..8f6d3666a8d1 100644
--- a/Mk/bsd.options.mk
+++ b/Mk/bsd.options.mk
@@ -287,5 +287,47 @@ WITH_${opt}:= true
. endif
.endif
.endfor
-.endif
###
+
+.for opt in ${COMPLETE_OPTIONS_LIST}
+# PLIST_SUB
+PLIST_SUB?=
+. if defined(OPTIONS_SUB)
+. if ! ${PLIST_SUB:M${opt}=*}
+. if ${PORT_OPTIONS:M${opt}}
+PLIST_SUB:= ${PLIST_SUB} ${opt}=""
+. else
+PLIST_SUB:= ${PLIST_SUB} ${opt}="@comment "
+. endif
+. endif
+. endif
+
+. if ${PORT_OPTIONS:M${opt}}
+. if defined(${opt}_CONFIGURE_ENABLE)
+CONFIGURE_ARGS+= --enable-${${opt}_CONFIGURE_ENABLE}
+. endif
+. if defined(${opt}_CONFIGURE_ON)
+CONFIGURE_ARGS+= ${${opt}_CONFIGURE_ON}
+. endif
+. for flags in CFLAGS CXXFLAGS LDFLAGS CONFIGURE_ENV MAKE_ENV USES DISTFILES
+. if defined(${opt}_${flags})
+${flags}+= ${${opt}_${flags}}
+. endif
+. endfor
+. for deptype in PKG EXTRACT PATCH FETCH BUILD LIB RUN
+. if defined(${opt}_${deptype}_DEPENDS)
+${deptype}_DEPENDS+= ${${opt}_${deptype}_DEPENDS}
+. endif
+. endfor
+. else
+. if defined(${opt}_CONFIGURE_ENABLE)
+CONFIGURE_ARGS+= --disable-${${opt}_CONFIGURE_ENABLE}
+. endif
+. if defined(${opt}_CONFIGURE_OFF)
+CONFIGURE_ARGS+= ${${opt}_CONFIGURE_OFF}
+. endif
+. endif
+.endfor
+
+
+.endif