pkgsrc-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[pkgsrc/trunk]: pkgsrc/lang/perl5 Allow vars.mk to be included multiple times...



details:   https://anonhg.NetBSD.org/pkgsrc/rev/bb182ef04f9f
branches:  trunk
changeset: 493706:bb182ef04f9f
user:      jlam <jlam%pkgsrc.org@localhost>
date:      Thu May 12 20:59:29 2005 +0000

description:
Allow vars.mk to be included multiple times.  We avoid excessive
computation by caching the variables using MAKEVARS.

diffstat:

 lang/perl5/vars.mk |  69 ++++++++++++++++++++++++++---------------------------
 1 files changed, 34 insertions(+), 35 deletions(-)

diffs (99 lines):

diff -r 7c8e948e3a75 -r bb182ef04f9f lang/perl5/vars.mk
--- a/lang/perl5/vars.mk        Thu May 12 20:41:10 2005 +0000
+++ b/lang/perl5/vars.mk        Thu May 12 20:59:29 2005 +0000
@@ -1,12 +1,9 @@
-# $NetBSD: vars.mk,v 1.1 2005/02/24 22:38:42 jlam Exp $
+# $NetBSD: vars.mk,v 1.2 2005/05/12 20:59:29 jlam Exp $
 #
 # This Makefile fragment exposes several Perl configuration variables
 # to the package Makefiles.  The variables are only defined if the
 # ${PERL5} executable exists.
 
-.if !defined(_PERL5_VARS_MK)
-_PERL5_VARS_MK=        yes
-
 .include "../../mk/bsd.prefs.mk"
 
 _PERL5_SITEVARS=                                                       \
@@ -22,48 +19,50 @@
 _PERL5_SITEVAR.SITELIBEXP=             sitelibexp
 _PERL5_SITEVAR.SITEARCHEXP=            sitearchexp
 
-.if exists(${PERL5})
-.  if !defined(_PERL5_SITEPREFIX)
+.if defined(PERL5) && exists(${PERL5:Q})
+#
+# Locate some of the installation prefixes for ${PERL5} that are used to
+# define later variables.
+#
+.  if !defined(_PERL5_PREFIX)
 _PERL5_PREFIX!=                \
-       eval `${PERL5} -V:prefix 2>/dev/null`; ${ECHO} $$prefix
+       eval `${PERL5:Q} -V:prefix 2>/dev/null`; ${ECHO} $$prefix
+.  endif
+MAKEVARS+=     _PERL5_PREFIX
+.  if !defined(_PERL5_SITEPREFIX)
 _PERL5_SITEPREFIX!=    \
-       eval `${PERL5} -V:siteprefix 2>/dev/null`; ${ECHO} $$siteprefix
-MAKEFLAGS+=    _PERL5_PREFIX=${_PERL5_PREFIX:Q}
-MAKEFLAGS+=    _PERL5_SITEPREFIX=${_PERL5_SITEPREFIX:Q}
+       eval `${PERL5:Q} -V:siteprefix 2>/dev/null`; ${ECHO} $$siteprefix
+.  endif
+MAKEVARS+=     _PERL5_SITEPREFIX
+#
+# Define PERL5_SUB_* as the site variables minus the installation prefix
+# define later variables.
+#
+.  for _var_ in ${_PERL5_SITEVARS}
+.    if !defined(PERL5_SUB_${_var_})
+PERL5_SUB_${_var_}!=   \
+       eval `${PERL5:Q} -V:${_PERL5_SITEVAR.${_var_}} 2>/dev/null`;    \
+       ${ECHO} $${${_PERL5_SITEVAR.${_var_}}} | ${SED} -e "s,^${_PERL5_SITEPREFIX}/,,"
+.    endif
+MAKEVARS+=     PERL5_SUB_${_var_}
+.  endfor
 
-.    for _var_ in ${_PERL5_SITEVARS}
-.      if !defined(PERL5_SUB_${_var_})
-PERL5_SUB_${_var_}!=   \
-       eval `${PERL5} -V:${_PERL5_SITEVAR.${_var_}} 2>/dev/null`;      \
-       ${ECHO} $${${_PERL5_SITEVAR.${_var_}}} |                        \
-       ${SED} -e "s,^${_PERL5_SITEPREFIX}/,,"
-MAKEFLAGS+=    PERL5_SUB_${_var_}=${PERL5_SUB_${_var_}:Q}
-.      endif
-.    endfor
-.    if !defined(PERL5_SUB_INSTALLARCHLIB)
+.  if !defined(PERL5_SUB_INSTALLARCHLIB)
 PERL5_SUB_INSTALLARCHLIB!=     \
        eval `${PERL5} -V:installarchlib 2>/dev/null`;                  \
-       ${ECHO} $$installarchlib |                                      \
-       ${SED} -e "s,^${_PERL5_PREFIX}/,,"
-MAKEFLAGS+=    PERL5_SUB_INSTALLARCHLIB=${PERL5_SUB_INSTALLARCHLIB:Q}
-.    endif
-.    if !defined(PERL5_SUB_INSTALLSCRIPT)
+       ${ECHO} $$installarchlib | ${SED} -e "s,^${_PERL5_PREFIX}/,,"
+.  endif
+MAKEVARS+=     PERL5_SUB_INSTALLARCHLIB
+.  if !defined(PERL5_SUB_INSTALLSCRIPT)
 PERL5_SUB_INSTALLSCRIPT!=      \
        eval `${PERL5} -V:installscript 2>/dev/null`;                   \
-       ${ECHO} $$installscript |                                       \
-       ${SED} -e "s,^${_PERL5_PREFIX}/,,"
-MAKEFLAGS+=    PERL5_SUB_INSTALLSCRIPT=${PERL5_SUB_INSTALLSCRIPT:Q}
-.    endif
+       ${ECHO} $$installscript | ${SED} -e "s,^${_PERL5_PREFIX}/,,"
 .  endif
-.endif
+MAKEVARS+=     PERL5_SUB_INSTALLSCRIPT
+.endif # PERL5
 
 .if ${PKG_INSTALLATION_TYPE} == "overwrite"
 .  for _var_ in SITELIB SITEARCH ARCHLIB
-.    if defined(PERL5_SUB_INSTALL${_var_})
 PERL5_${_var_}?=       ${LOCALBASE}/${PERL5_SUB_INSTALL${_var_}}
-MAKEFLAGS+=            PERL5_${_var_}=${PERL5_${_var_}:Q}
-.    endif
 .  endfor
 .endif
-
-.endif # _PERL5_VARS_MK



Home | Main Index | Thread Index | Old Index