# $NetBSD: pyversion.mk,v 1.9 2002/08/20 20:00:14 drochner Exp $ .if !defined(PYTHON_PYVERSION_MK) PYTHON_PYVERSION_MK= defined .include "../../mk/bsd.prefs.mk" PYTHON_VERSION_DEFAULT?= 21 PYTHON_VERSIONS_ACCEPTED?= 22 21 20 BUILDLINK_DEPENDS.python15?= python15>=1.5 BUILDLINK_DEPENDS.python20?= python20>=2.0 BUILDLINK_DEPENDS.python21?= python21>=2.1 BUILDLINK_DEPENDS.python21pth?= python21-pth>=2.1 BUILDLINK_DEPENDS.python22?= python22>=2.2 # transform the list into individual variables .for pv in ${PYTHON_VERSIONS_ACCEPTED} _PYTHON_VERSION_${pv}_OK= yes .endfor # check what is installed .if exists(${LOCALBASE}/bin/python2.2) _PYTHON_VERSION_22_INSTALLED= yes .endif .if exists(${LOCALBASE}/bin/python2.1) _PYTHON_VERSION_21_INSTALLED= yes .endif .if exists(${LOCALBASE}/bin/python2p1) _PYTHON_VERSION_21pth_INSTALLED=yes .endif .if exists(${LOCALBASE}/bin/python2.0) _PYTHON_VERSION_20_INSTALLED= yes .endif .if exists(${LOCALBASE}/bin/python1.5) _PYTHON_VERSION_15_INSTALLED= yes .endif # # choose a python version where to add, # try to be intelligent # # if a version is explicitely required, take it .if defined(PYTHON_VERSION_REQD) _PYTHON_VERSION= ${PYTHON_VERSION_REQD} .endif # if the default is already installed, it is first choice .if !defined(_PYTHON_VERSION) .if defined(_PYTHON_VERSION_${PYTHON_VERSION_DEFAULT}_OK) .if defined(_PYTHON_VERSION_${PYTHON_VERSION_DEFAULT}_INSTALLED) _PYTHON_VERSION= ${PYTHON_VERSION_DEFAULT} .endif .endif .endif # prefer an already installed version, in order of "accepted" .if !defined(_PYTHON_VERSION) .for pv in ${PYTHON_VERSIONS_ACCEPTED} .if defined(_PYTHON_VERSION_${pv}_INSTALLED) _PYTHON_VERSION?= ${pv} .else # keep information as last resort - see below _PYTHON_VERSION_FIRSTACCEPTED?= ${pv} .endif .endfor .endif # if the default is OK for the addon pkg, take this .if !defined(_PYTHON_VERSION) .if defined(_PYTHON_VERSION_${PYTHON_VERSION_DEFAULT}_OK) _PYTHON_VERSION= ${PYTHON_VERSION_DEFAULT} .endif .endif # take the first one accepted by the package .if !defined(_PYTHON_VERSION) _PYTHON_VERSION= ${_PYTHON_VERSION_FIRSTACCEPTED} .endif # # set variables for the version we decided to use: # PYVERSSUFFIX: suffix to executables and in library path, # equal to sys.version[0:3] # PYPKGPREFIX: prefix to use in PKGNAME for extensions which can install # to multiple Python versions # .if ${_PYTHON_VERSION} == "22" PYDEPENDENCY= ${BUILDLINK_DEPENDS.python22}:../../lang/python22 PYVERSSUFFIX= 2.2 PYPKGPREFIX= py22 .elif ${_PYTHON_VERSION} == "21" PYDEPENDENCY= ${BUILDLINK_DEPENDS.python21}:../../lang/python21 PYVERSSUFFIX= 2.1 PYPKGPREFIX= py21 .elif ${_PYTHON_VERSION} == "21pth" PYDEPENDENCY= ${BUILDLINK_DEPENDS.python21pth}:../../lang/python21-pth PYVERSSUFFIX= 2p1 PYPKGPREFIX= py21pth .include "../../devel/pth/buildlink.mk" .elif ${_PYTHON_VERSION} == "20" PYDEPENDENCY= ${BUILDLINK_DEPENDS.python20}:../../lang/python20 PYVERSSUFFIX= 2.0 PYPKGPREFIX= py20 .elif ${_PYTHON_VERSION} == "15" PYDEPENDENCY= ${BUILDLINK_DEPENDS.python15}:../../lang/python15 PYVERSSUFFIX= 1.5 PYPKGPREFIX= py15 .if !defined(PYTHON_DISTUTILS_BOOTSTRAP) BUILD_DEPENDS+= py15-distutils-*:../../devel/py-distutils .endif .else # force an error error: no valid Python version .endif PYTHONBIN= ${LOCALBASE}/bin/python${PYVERSSUFFIX} .if defined(PYTHON_FOR_BUILD_ONLY) BUILD_DEPENDS+= ${PYDEPENDENCY} .else DEPENDS+= ${PYDEPENDENCY} .endif .endif # PYTHON_PYVERSION_MK