[BACK]Return to bsd.pkg.use.mk CVS log [TXT][DIR] Up to [cvs.NetBSD.org] / pkgsrc / mk

Annotation of pkgsrc/mk/bsd.pkg.use.mk, Revision 1.1.2.3

1.1.2.1   tv          1: #      $NetBSD$
                      2: #
                      3: # Turn USE_* macros into proper depedency logic.  Included near the top of
                      4: # bsd.pkg.mk, after bsd.prefs.mk.
                      5:
                      6: ############################################################################
                      7: # ${PREFIX} selection
                      8: ############################################################################
                      9:
                     10: .if defined(USE_IMAKE)
                     11: INSTALL_TARGET+=       ${NO_INSTALL_MANPAGES:D:Uinstall.man}
                     12: PREPEND_PATH+=         ${X11BASE}/bin
                     13: USE_X11BASE?=          implied
                     14: PLIST_SUBST+=          IMAKE_MAN_SOURCE_PATH=${IMAKE_MAN_SOURCE_PATH}
                     15: PLIST_SUBST+=          IMAKE_MAN_DIR=${IMAKE_MAN_DIR}
                     16: PLIST_SUBST+=          IMAKE_LIBMAN_DIR=${IMAKE_LIBMAN_DIR}
                     17: PLIST_SUBST+=          IMAKE_KERNMAN_DIR=${IMAKE_KERNMAN_DIR}
                     18: PLIST_SUBST+=          IMAKE_FILEMAN_DIR=${IMAKE_FILEMAN_DIR}
                     19: PLIST_SUBST+=          IMAKE_MISCMAN_DIR=${IMAKE_MISCMAN_DIR}
                     20: PLIST_SUBST+=          IMAKE_MAN_SUFFIX=${IMAKE_MAN_SUFFIX}
                     21: PLIST_SUBST+=          IMAKE_LIBMAN_SUFFIX=${IMAKE_LIBMAN_SUFFIX}
                     22: PLIST_SUBST+=          IMAKE_KERNMAN_SUFFIX=${IMAKE_KERNMAN_SUFFIX}
                     23: PLIST_SUBST+=          IMAKE_FILEMAN_SUFFIX=${IMAKE_FILEMAN_SUFFIX}
                     24: PLIST_SUBST+=          IMAKE_MISCMAN_SUFFIX=${IMAKE_MISCMAN_SUFFIX}
                     25: PLIST_SUBST+=          IMAKE_MANNEWSUFFIX=${IMAKE_MANNEWSUFFIX}
                     26: .  if !empty(USE_BUILDLINK3:M[yY][eE][sS])
                     27: MAKE_FLAGS+=           CC="${CC}" CXX="${CXX}"
                     28: .  endif
                     29: .endif
                     30:
                     31: .if defined(USE_X11BASE)
                     32: MTREE_FILE?=           ${PKGSRCDIR}/mk/${OPSYS}.x11.dist
                     33: USE_X11?=              implied
                     34: .endif
                     35:
                     36: .if ${PKG_INSTALLATION_TYPE} == "pkgviews"
                     37: PREFIX=                        ${DEPOTBASE}/${PKGNAME}
                     38: NO_MTREE=              yes
                     39: .elif ${PKG_INSTALLATION_TYPE} == "overwrite"
                     40: .  if defined(INSTALLATION_PREFIX)
                     41: PREFIX=                        ${INSTALLATION_PREFIX}
                     42: .  elif defined(USE_X11BASE)
                     43: PREFIX=                        ${X11PREFIX}
                     44: .  elif defined(USE_CROSSBASE)
                     45: PREFIX=                        ${CROSSBASE}
                     46: NO_MTREE=              yes
                     47: .  else
                     48: PREFIX=                        ${LOCALBASE}
                     49: .  endif
                     50: .endif
                     51:
                     52: .if (${PKG_INSTALLATION_TYPE} == "pkgviews") && defined(INSTALLATION_PREFIX)
                     53: PKG_SKIP_REASON=       "INSTALLATION_PREFIX can't be used in a pkgviews package"
                     54: .endif
                     55:
                     56: ############################################################################
                     57: # General settings
                     58: ############################################################################
                     59:
                     60: ### BUILD_USES_MSGFMT
                     61:
                     62: .if defined(BUILD_USES_MSGFMT) && \
                     63:     (!exists(/usr/bin/msgfmt) || ${_USE_GNU_GETTEXT} == "yes")
                     64: BUILD_DEPENDS+=                gettext>=0.10.35nb1:../../devel/gettext
                     65: .endif
                     66:
                     67: ### PKG_USE_KERBEROS
                     68:
                     69: .if defined(PKG_USE_KERBEROS)
                     70: CRYPTO?=               uses Kerberos encryption code
                     71: BUILD_DEFS+=           KERBEROS
                     72: .endif
                     73:
                     74: ### USE_DIRS
                     75:
                     76: USE_DIRS?=             # empty
                     77: .if !empty(USE_DIRS) && ${PKG_INSTALLATION_TYPE} == "overwrite"
                     78: .  include "../../mk/dirs.mk"
                     79: .endif
                     80:
                     81: ### USE_FORTRAN
                     82:
                     83: .if defined(USE_FORTRAN)
                     84: .  if !exists(/usr/bin/f77)
                     85: PKG_FC?=               f2c-f77
                     86: .  endif
                     87: # it is anticipated that once /usr/bin/f77 is more stable that the following
                     88: # default will be changed to f77.  However, in the case where there is no
                     89: # /usr/bin/f77, the default will remain as f2c-f77.
                     90: .for __tmp__ in 1.[5-9]* [2-9].*
                     91: .  if ${MACHINE_PLATFORM:MNetBSD-${__tmp__}-*} != ""
                     92: PKG_FC?=               f77
                     93: .  endif    # MACHINE_PLATFORM
                     94: .endfor     # __tmp__
                     95: PKG_FC?=       f2c-f77
                     96: .  if  (${PKG_FC} == "f2c-f77")
                     97: # this is a DEPENDS not BUILD_DEPENDS because of the
                     98: # shared Fortran libs
                     99: .    if !empty(USE_BUILDLINK3:M[yY][eE][sS])
                    100: .      include "../../lang/f2c/buildlink3.mk"
                    101: .    else
                    102: DEPENDS+=      f2c>=20001205nb3:../../lang/f2c
                    103: .    endif
                    104: .  endif
                    105: FC=             ${PKG_FC}
                    106: F77=            ${PKG_FC}
                    107: CONFIGURE_ENV+=        F77="${F77}"
                    108: CONFIGURE_ENV+=        FFLAGS="${FFLAGS:M*}"
                    109: MAKE_ENV+=     F77="${F77}"
                    110: MAKE_ENV+=     FC="${FC}"
                    111: .endif
                    112:
                    113: ### USE_LIBTOOL, PKG_[SH]LIBTOOL
                    114:
                    115: #
                    116: # PKG_LIBTOOL is the path to the libtool script installed by libtool-base.
                    117: # _LIBTOOL is the path the libtool used by the build, which could be the
                    118: #      path to a libtool wrapper script.
                    119: # LIBTOOL is the publicly-readable variable that should be used by
                    120: #      Makefiles to invoke the proper libtool.
                    121: #
                    122: PKG_LIBTOOL?=          ${LOCALBASE}/bin/libtool
                    123: PKG_SHLIBTOOL?=                ${LOCALBASE}/bin/shlibtool
                    124: _LIBTOOL?=             ${PKG_LIBTOOL}
                    125: _SHLIBTOOL?=           ${PKG_SHLIBTOOL}
                    126: LIBTOOL?=              ${PKG_LIBTOOL}
                    127: SHLIBTOOL?=            ${PKG_SHLIBTOOL}
                    128: .if defined(USE_LIBTOOL)
1.1.2.3 ! tv        129: .  if defined(USE_FORTRAN)
        !           130: LIBTOOL_REQD?=         1.5.10nb7
        !           131: .  endif
        !           132: LIBTOOL_REQD?=         1.5.10nb1
        !           133: BUILD_DEPENDS+=                libtool-base>=${_OPSYS_LIBTOOL_REQD:U${LIBTOOL_REQD}}:../../devel/libtool-base
1.1.2.1   tv        134: CONFIGURE_ENV+=                LIBTOOL="${LIBTOOL} ${LIBTOOL_FLAGS}"
                    135: MAKE_ENV+=             LIBTOOL="${LIBTOOL} ${LIBTOOL_FLAGS}"
                    136: LIBTOOL_OVERRIDE?=     libtool */libtool */*/libtool
                    137: .endif
                    138:
                    139: ### USE_MAKEINFO, INFO_FILES
                    140:
                    141: INFO_FILES?=           # empty
                    142: USE_MAKEINFO?=         no
                    143:
                    144: .if !empty(INFO_FILES) || empty(USE_MAKEINFO:M[nN][oO])
                    145: .  include "../../mk/texinfo.mk"
                    146: .endif
                    147:
                    148: ### USE_PERL5, PERL5_REQD
                    149:
                    150: # Distill the PERL5_REQD list into a single _PERL5_REQD value that is the
                    151: # highest version of Perl required.
                    152: #
                    153: PERL5_REQD+=           5.0
                    154: PERL5_REQD+=           ${_OPSYS_PERL_REQD}
                    155:
                    156: _PERL5_STRICTEST_REQD?=        none
                    157: .for _version_ in ${PERL5_REQD}
                    158: .  for _pkg_ in perl-${_version_}
                    159: .    if ${_PERL5_STRICTEST_REQD} == "none"
                    160: _PERL5_PKG_SATISFIES_DEP=      YES
                    161: .      for _vers_ in ${PERL5_REQD}
                    162: .        if !empty(_PERL5_PKG_SATISFIES_DEP:M[yY][eE][sS])
                    163: _PERL5_PKG_SATISFIES_DEP!=     \
                    164:        if ${PKG_ADMIN} pmatch 'perl>=${_vers_}' ${_pkg_} 2>/dev/null; then \
                    165:                ${ECHO} "YES";                                          \
                    166:        else                                                            \
                    167:                ${ECHO} "NO";                                           \
                    168:        fi
                    169: .        endif
                    170: .      endfor
                    171: .      if !empty(_PERL5_PKG_SATISFIES_DEP:M[yY][eE][sS])
                    172: _PERL5_STRICTEST_REQD= ${_version_}
                    173: .      endif
                    174: .    endif
                    175: .  endfor
                    176: .endfor
                    177: _PERL5_REQD=   ${_PERL5_STRICTEST_REQD}
                    178:
                    179: # Convert USE_PERL5 to be two-valued: either "build" or "run" to denote
                    180: # whether we want a build-time or run-time dependency on perl.
                    181: #
                    182: .if defined(USE_PERL5)
                    183: .  if (${USE_PERL5} == "build")
                    184: _PERL5_DEPMETHOD=      BUILD_DEPENDS
                    185: .  else
                    186: USE_PERL5:=            run
                    187: _PERL5_DEPMETHOD=      DEPENDS
                    188: .  endif
                    189: _PERL5_DEPENDS=                {perl>=${_PERL5_REQD},perl-thread>=${_PERL5_REQD}}
                    190: PERL5_PKGSRCDIR?=      ../../lang/perl58
                    191: .  if !defined(BUILDLINK_DEPENDS.perl)
                    192: ${_PERL5_DEPMETHOD}+=  ${_PERL5_DEPENDS}:${PERL5_PKGSRCDIR}
                    193: .  endif
                    194: .endif
                    195:
                    196: .if defined(USE_PERL5) && (${USE_PERL5} == "run")
                    197: .  if !defined(PERL5_SITELIB) || !defined(PERL5_SITEARCH) || !defined(PERL5_ARCHLIB)
                    198: .    if exists(${PERL5})
                    199: PERL5_SITELIB!=                eval `${PERL5} -V:installsitelib 2>/dev/null`; \
                    200:                        ${ECHO} $${installsitelib}
                    201: PERL5_SITEARCH!=       eval `${PERL5} -V:installsitearch 2>/dev/null`; \
                    202:                        ${ECHO} $${installsitearch}
                    203: PERL5_ARCHLIB!=                eval `${PERL5} -V:installarchlib 2>/dev/null`; \
                    204:                        ${ECHO} $${installarchlib}
                    205: .      if ${PKG_INSTALLATION_TYPE} == "overwrite"
                    206: _PERL5_PREFIX!=                eval `${PERL5} -V:prefix 2>/dev/null`; \
                    207:                        ${ECHO} $${prefix}
                    208: PERL5_SITELIB:=                ${PERL5_SITELIB:S/^${_PERL5_PREFIX}/${LOCALBASE}/}
                    209: PERL5_SITEARCH:=       ${PERL5_SITEARCH:S/^${_PERL5_PREFIX}/${LOCALBASE}/}
                    210: PERL5_ARCHLIB:=                ${PERL5_ARCHLIB:S/^${_PERL5_PREFIX}/${LOCALBASE}/}
                    211: MAKEFLAGS+=            PERL5_SITELIB=${PERL5_SITELIB:Q}
                    212: MAKEFLAGS+=            PERL5_SITEARCH=${PERL5_SITEARCH:Q}
                    213: MAKEFLAGS+=            PERL5_ARCHLIB=${PERL5_ARCHLIB:Q}
                    214: .      endif # PKG_INSTALLATION_TYPE == "overwrite"
                    215: .    endif   # exists($PERL5)
                    216: .  endif     # !defined(PERL5_*)
                    217: .endif       # USE_PERL5 == run
                    218:
                    219: .if defined(PERL5_SITELIB)
                    220: PLIST_SUBST+=  PERL5_SITELIB=${PERL5_SITELIB:S/^${LOCALBASE}\///}
                    221: .endif
                    222: .if defined(PERL5_SITEARCH)
                    223: PLIST_SUBST+=  PERL5_SITEARCH=${PERL5_SITEARCH:S/^${LOCALBASE}\///}
                    224: .endif
                    225: .if defined(PERL5_ARCHLIB)
                    226: PLIST_SUBST+=  PERL5_ARCHLIB=${PERL5_ARCHLIB:S/^${LOCALBASE}\///}
                    227: .endif
                    228:
                    229: ### USE_RMAN
                    230:
                    231: # Check if we got "rman" with XFree86, for packages that need "rman".
                    232: .if defined(USE_RMAN)
                    233: .  if !exists(${X11BASE}/bin/rman)
                    234: DEPENDS+=              rman-3.0.9:../../textproc/rman
                    235: RMAN?=                 ${LOCALBASE}/bin/rman
                    236: .  else
                    237: RMAN?=                 ${X11BASE}/bin/rman
                    238: .  endif
                    239: .endif
                    240:
                    241: ### USE_X11
                    242:
                    243: .if defined(USE_X11)
                    244: X11_LDFLAGS+=          ${COMPILER_RPATH_FLAG}${X11BASE}/lib${LIBABISUFFIX}
                    245: X11_LDFLAGS+=          -L${X11BASE}/lib${LIBABISUFFIX}
                    246: .  if !empty(USE_BUILDLINK3:M[nN][oO])
                    247: LDFLAGS+=              ${X11_LDFLAGS}
                    248: .  endif
                    249: .endif
                    250:
                    251: ### USE_XPKGWEDGE
                    252:
                    253: .if defined(USE_X11BASE) && !empty(USE_XPKGWEDGE:M[yY][eE][sS])
                    254: BUILD_DEPENDS+=                xpkgwedge>=${_XPKGWEDGE_REQD:U1.5}:../../pkgtools/xpkgwedge
                    255: .endif

CVSweb <webmaster@jp.NetBSD.org>