[SVN-Commit] r448 - branches/experimental/Mk
svn-freebsd-gecko at chruetertee.ch
svn-freebsd-gecko at chruetertee.ch
Mon Nov 29 22:20:41 UTC 2010
Author: beat
Date: Mon Nov 29 22:20:33 2010
New Revision: 448
Log:
- Reorganize bsd.gecko.mk to really fix its logic
Modified:
branches/experimental/Mk/bsd.gecko.mk
Modified: branches/experimental/Mk/bsd.gecko.mk
==============================================================================
--- branches/experimental/Mk/bsd.gecko.mk Mon Nov 29 20:52:51 2010 (r447)
+++ branches/experimental/Mk/bsd.gecko.mk Mon Nov 29 22:20:33 2010 (r448)
@@ -8,9 +8,171 @@
#
# 4 column tabs prevent hair loss and tooth decay!
-.if !defined(_POSTMKINCLUDED) && !defined(Gecko_Pre_Include)
-Gecko_Pre_Include= bsd.gecko.mk
+# ======================= USERS =================================
+# To specify which gecko-based backend you prefer, use something like:
+#
+# WITH_GECKO= libxul
+#
+# The valid backends are:
+# libxul seamonkey
+#
+# See below for more details.
+# ======================= /USERS ================================
+
+# bsd.gecko.mk abstracts the selection of gecko-based backends. It allows users
+# and porters to support any available gecko backend without needing to build
+# many conditional tests. ${USE_GECKO} is the list of backends that your port
+# can handle, and ${GECKO} is set by bsd.gecko.mk to be the chosen backend.
+# Users set ${WITH_GECKO} to the list of gecko backends they want on their
+# system.
+
+.if defined(USE_GECKO) && ${USE_GECKO}!="gecko"
+
+.if !defined(Gecko_Pre_Include)
+# Please make sure all changes to this file are passed through the maintainer.
+# Do not commit them yourself (unless of course you're the Port's Wraith ;).
+Gecko_Include_MAINTAINER= gecko at FreeBSD.org
+Gecko_Pre_Include= bsd.gecko.mk
+
+# Users should use the following syntax:
+#
+# WITH_GECKO= libxul seamonkey
+# Use libxul whenever a port supports it, falling back on seamonkey.
+# WITH_GECKO= libxul
+# Sets your preferred backend. With this example, libxul will always
+# be chosen, unless the port doesn't support a libxul backend. In that
+# case, you get whatever the porter chose as the default. Better to use
+# the first example.
+#
+#
+# Ports should use the following:
+#
+# USE_GECKO= libxul seamonkey
+# The list of gecko backends that the port supports. Unless the user
+# overrides it with WITH_GECKO, the first gecko listed in USE_GECKO
+# will be the default. In the above example, www/libxul will be used
+# as a gecko backend unless WITH_GECKO=seamonkey is defined by the user.
+#
+# USE_GECKO= libxul-devel<->libxul
+# This will sed -e 's/libxul/libxul-devel/' on Makefile.in's and configure
+# if ${GECKO}=="libxul-devel"
+#
+# Example:
+# USE_GECKO= libxul seamonkey
+#
+# post-patch:
+# @${REINPALCE_CMD} -e 's|mozilla-|${GECKO}-|' \
+# ${MOZSRC}/configure
+#
+# If you want your port to check the ${GECKO} variable to see which backend
+# has been chosen.
+#
+# Example:
+# USE_GECKO= libxul seamonkey
+#
+# post-patch:
+# .if ${GECKO}=="seamonkey"
+# @${REINPLACE_CMD} -e 's|mozilla-|seamonkey-|' \
+# ${MOZSRC}/configure
+# .endif
+
+_GECKO_ALL= seamonkey libxul
+
+libxul_PLIST= ${LOCALBASE}/lib/libxul/libxul.so
+
+.for gecko in ${_GECKO_ALL}
+${gecko}_PORTSDIR?= www
+${gecko}_DEPENDS?= ${PORTSDIR}/${${gecko}_PORTSDIR}/${gecko}
+${gecko}_PLIST?= ${LOCALBASE}/lib/${gecko}/libgtkembedmoz.so
+.endfor
+# Figure out which mozilla to use
+# Weed out bad options in USE_GECKO
+.for badgecko in ${USE_GECKO}
+. if ${_GECKO_ALL:M${badgecko:C/^([^<->]+).*/\1/}}!=""
+GOOD_USE_GECKO+= ${badgecko:C/^([^<->]+).*/\1/}
+. endif
+. if ${_GECKO_ALL:M${badgecko:C/^[^<->]+<->([^<->]+).*/\1/}}!="${badgecko:C/^([^<->]+).*/\1/}"
+${badgecko:C/^([^<->]+).*/\1/}_HACK= s:${badgecko:C/^[^<->]+<->([^<->]+).*/\1/}:${badgecko:C/^([^<->]+).*/\1/}:g
+. endif
+.endfor
+
+.undef GECKO_FALLTHROUGH
+.undef _FOUND_WITH_GECKO
+# Figure out which gecko to use and weed out the bad ones
+.if defined(WITH_GECKO) && defined(GOOD_USE_GECKO)
+. for badgecko in ${WITH_GECKO}
+. if ${GOOD_USE_GECKO:M${badgecko}}!=""
+GOOD_WITH_GECKO+= ${badgecko}
+. endif
+. endfor
+. if defined(GOOD_WITH_GECKO)
+. for gecko in ${GOOD_WITH_GECKO}
+. if !defined(GECKO_FALLTHROUGH)
+GECKO= ${gecko}
+GECKO_FALLTHROUGH= ${TRUE}
+_FOUND_WITH_GECKO= ${TRUE}
+. endif
+. endfor
+. endif
+.endif
+
+.if !defined(GECKO) && defined(GOOD_USE_GECKO)
+. for gecko in ${GOOD_USE_GECKO}
+. if !defined(GECKO_FALLTRHOUGH)
+GECKO= ${gecko}
+GECKO_FALLTRHOUGH= ${TRUE}
+. endif
+. endfor
+.endif
+
+# Generic defines
+GECKO_CONFIG?= ${LOCALBASE}/bin/${GECKO}-config
+XPIDL?= ${LOCALBASE}/lib/${GECKO}/xpidl
+XPIDL_INCL?= `${GECKO_CONFIG} --idlflags`
+
+.if defined(GECKO) && ${_GECKO_ALL:M${GECKO}}!=""
+BUILD_DEPENDS+= ${${GECKO}_PLIST}:${${GECKO}_DEPENDS}
+RUN_DEPENDS+= ${${GECKO}_PLIST}:${${GECKO}_DEPENDS}
+.else
+IGNORE= Unable to find a supported gecko, please check USE_GECKO
+.endif
+
+pre-everything:: _gecko-pre-everything
+
+_gecko-pre-everything::
+ @${ECHO_CMD} ""
+.if !defined(_FOUND_WITH_GECKO) && defined(WITH_GECKO)
+ @${ECHO_CMD} " Warning: ${PORTNAME} does not support any gecko you"
+ @${ECHO_CMD} " listed in WITH_GECKO=${WITH_GECKO}."
+ @${ECHO_CMD} " \"${GECKO}\" will be used"
+ @${ECHO_CMD} ""
+ @${ECHO_CMD} " for gecko support, but you can change that by using one of"
+ @${ECHO_CMD} " the following values:"
+.else
+ @${ECHO_CMD} " ${PORTNAME} is using ${GECKO} for gecko support, but you can"
+ @${ECHO_CMD} " change that by defining WITH_GECKO to the following values:"
+.endif
+ @${ECHO_CMD} ""
+.for gecko in ${GOOD_USE_GECKO}
+ @${ECHO_CMD} " ${gecko} "
+.endfor
+ @${ECHO_CMD} ""
+
+post-patch: gecko-post-patch
+
+gecko-post-patch:
+.if defined(${GECKO}_HACK)
+ ${FIND} ${WRKSRC} -name "Makefile.in" -type f -o -name "configure" -type f | \
+ ${XARGS} ${REINPLACE_CMD} -e ${${GECKO}_HACK}
+.endif
+.endif
+
+.elif !defined(_POSTMKINCLUDED) && !defined(Gecko_Pre_Include) && (defined(USE_FIREFOX) || defined(USE_FIREFOX_BUILD) || defined(USE_SEAMONKEY) || defined(USE_SEAMONKEY_BUILD) || defined(USE_THUNDERBIRD) || defined(USE_THUNDERBIRD_BUILD))
+Gecko_Pre_Include= bsd.gecko.mkl
+
+# Ports can use the following:
+#
# USE_FIREFOX - Add runtime dependency on Firefox. If no version
# is given by the maintainer via the port or by the
# user via defined variable try to find the highest
@@ -319,167 +481,6 @@
.endif
.endif # defined(USE_THUNDERBIRD)
-.endif
-
-# ======================= USERS =================================
-# To specify which gecko-based backend you prefer, use something like:
-#
-# WITH_GECKO= libxul
-#
-# The valid backends are:
-# libxul seamonkey
-#
-# See below for more details.
-# ======================= /USERS ================================
-
-# bsd.gecko.mk abstracts the selection of gecko-based backends. It allows users
-# and porters to support any available gecko backend without needing to build
-# many conditional tests. ${USE_GECKO} is the list of backends that your port
-# can handle, and ${GECKO} is set by bsd.gecko.mk to be the chosen backend.
-# Users set ${WITH_GECKO} to the list of gecko backends they want on their
-# system.
-
-.if defined(USE_GECKO) && ${USE_GECKO}!="gecko"
-
-.if !defined(Gecko_Pre_Include)
-# Please make sure all changes to this file are passed through the maintainer.
-# Do not commit them yourself (unless of course you're the Port's Wraith ;).
-Gecko_Include_MAINTAINER= gecko at FreeBSD.org
-Gecko_Pre_Include= bsd.gecko.mk
-
-# Users should use the following syntax:
-#
-# WITH_GECKO= libxul seamonkey
-# Use libxul whenever a port supports it, falling back on seamonkey.
-# WITH_GECKO= libxul
-# Sets your preferred backend. With this example, libxul will always
-# be chosen, unless the port doesn't support a libxul backend. In that
-# case, you get whatever the porter chose as the default. Better to use
-# the first example.
-#
-#
-# Ports should use the following:
-#
-# USE_GECKO= libxul seamonkey
-# The list of gecko backends that the port supports. Unless the user
-# overrides it with WITH_GECKO, the first gecko listed in USE_GECKO
-# will be the default. In the above example, www/libxul will be used
-# as a gecko backend unless WITH_GECKO=seamonkey is defined by the user.
-#
-# USE_GECKO= libxul-devel<->libxul
-# This will sed -e 's/libxul/libxul-devel/' on Makefile.in's and configure
-# if ${GECKO}=="libxul-devel"
-#
-# Example:
-# USE_GECKO= libxul seamonkey
-#
-# post-patch:
-# @${REINPALCE_CMD} -e 's|mozilla-|${GECKO}-|' \
-# ${MOZSRC}/configure
-#
-# If you want your port to check the ${GECKO} variable to see which backend
-# has been chosen.
-#
-# Example:
-# USE_GECKO= libxul seamonkey
-#
-# post-patch:
-# .if ${GECKO}=="seamonkey"
-# @${REINPLACE_CMD} -e 's|mozilla-|seamonkey-|' \
-# ${MOZSRC}/configure
-# .endif
-
-_GECKO_ALL= seamonkey libxul
-
-libxul_PLIST= ${LOCALBASE}/lib/libxul/libxul.so
-
-.for gecko in ${_GECKO_ALL}
-${gecko}_PORTSDIR?= www
-${gecko}_DEPENDS?= ${PORTSDIR}/${${gecko}_PORTSDIR}/${gecko}
-${gecko}_PLIST?= ${LOCALBASE}/lib/${gecko}/libgtkembedmoz.so
-.endfor
-
-# Figure out which mozilla to use
-# Weed out bad options in USE_GECKO
-.for badgecko in ${USE_GECKO}
-. if ${_GECKO_ALL:M${badgecko:C/^([^<->]+).*/\1/}}!=""
-GOOD_USE_GECKO+= ${badgecko:C/^([^<->]+).*/\1/}
-. endif
-. if ${_GECKO_ALL:M${badgecko:C/^[^<->]+<->([^<->]+).*/\1/}}!="${badgecko:C/^([^<->]+).*/\1/}"
-${badgecko:C/^([^<->]+).*/\1/}_HACK= s:${badgecko:C/^[^<->]+<->([^<->]+).*/\1/}:${badgecko:C/^([^<->]+).*/\1/}:g
-. endif
-.endfor
-
-.undef GECKO_FALLTHROUGH
-.undef _FOUND_WITH_GECKO
-# Figure out which gecko to use and weed out the bad ones
-.if defined(WITH_GECKO) && defined(GOOD_USE_GECKO)
-. for badgecko in ${WITH_GECKO}
-. if ${GOOD_USE_GECKO:M${badgecko}}!=""
-GOOD_WITH_GECKO+= ${badgecko}
-. endif
-. endfor
-. if defined(GOOD_WITH_GECKO)
-. for gecko in ${GOOD_WITH_GECKO}
-. if !defined(GECKO_FALLTHROUGH)
-GECKO= ${gecko}
-GECKO_FALLTHROUGH= ${TRUE}
-_FOUND_WITH_GECKO= ${TRUE}
-. endif
-. endfor
-. endif
-.endif
-
-.if !defined(GECKO) && defined(GOOD_USE_GECKO)
-. for gecko in ${GOOD_USE_GECKO}
-. if !defined(GECKO_FALLTRHOUGH)
-GECKO= ${gecko}
-GECKO_FALLTRHOUGH= ${TRUE}
-. endif
-. endfor
-.endif
-
-# Generic defines
-GECKO_CONFIG?= ${LOCALBASE}/bin/${GECKO}-config
-XPIDL?= ${LOCALBASE}/lib/${GECKO}/xpidl
-XPIDL_INCL?= `${GECKO_CONFIG} --idlflags`
-
-.if defined(GECKO) && ${_GECKO_ALL:M${GECKO}}!=""
-BUILD_DEPENDS+= ${${GECKO}_PLIST}:${${GECKO}_DEPENDS}
-RUN_DEPENDS+= ${${GECKO}_PLIST}:${${GECKO}_DEPENDS}
-.else
-IGNORE= Unable to find a supported gecko, please check USE_GECKO
-.endif
-
-pre-everything:: _gecko-pre-everything
-
-_gecko-pre-everything::
- @${ECHO_CMD} ""
-.if !defined(_FOUND_WITH_GECKO) && defined(WITH_GECKO)
- @${ECHO_CMD} " Warning: ${PORTNAME} does not support any gecko you"
- @${ECHO_CMD} " listed in WITH_GECKO=${WITH_GECKO}."
- @${ECHO_CMD} " \"${GECKO}\" will be used"
- @${ECHO_CMD} ""
- @${ECHO_CMD} " for gecko support, but you can change that by using one of"
- @${ECHO_CMD} " the following values:"
-.else
- @${ECHO_CMD} " ${PORTNAME} is using ${GECKO} for gecko support, but you can"
- @${ECHO_CMD} " change that by defining WITH_GECKO to the following values:"
-.endif
- @${ECHO_CMD} ""
-.for gecko in ${GOOD_USE_GECKO}
- @${ECHO_CMD} " ${gecko} "
-.endfor
- @${ECHO_CMD} ""
-
-post-patch: gecko-post-patch
-
-gecko-post-patch:
-.if defined(${GECKO}_HACK)
- ${FIND} ${WRKSRC} -name "Makefile.in" -type f -o -name "configure" -type f | \
- ${XARGS} ${REINPLACE_CMD} -e ${${GECKO}_HACK}
-.endif
-.endif
.else # split
More information about the freebsd-gecko
mailing list