comparison bsd.pypy.cffi.mk @ 28:6cddc8f64f05

Cross-check the port's build options with the installed pypy3 ones. This is because the CFFI port must be compatible to the installed pypy3 build. This is to ensure the same Python compatibility level (3.7, 3.8 or e.9).
author Franz Glasner <fzglas.hg@dom66.de>
date Thu, 06 Oct 2022 09:35:15 +0200
parents ee6885d5bdcb
children b0ce0cf90f22
comparison
equal deleted inserted replaced
27:d0af9cb186c0 28:6cddc8f64f05
15 PYTHON_PORTVERSION= ${DISTVERSION} 15 PYTHON_PORTVERSION= ${DISTVERSION}
16 PYTHON_PKGNAMEPREFIX= ${PYTHON_IMPL}- 16 PYTHON_PKGNAMEPREFIX= ${PYTHON_IMPL}-
17 PYTHON_CMD= ${LOCALBASE}/bin/${PYTHON_IMPL} 17 PYTHON_CMD= ${LOCALBASE}/bin/${PYTHON_IMPL}
18 18
19 .include "${.CURDIR}/../../lang/pypy/bsd.pypy.mk" 19 .include "${.CURDIR}/../../lang/pypy/bsd.pypy.mk"
20
21 #
22 # Check that this port's build selected option FORPYIMPL37, FORPYIMPL38 or FORPYIMPL39
23 # is compatible to the corresponding build option of the installed pypy3.
24 #
25 .if ${FLAVOR} == pypy3 && exists(${LOCALBASE}/bin/pypy3)
26 _PYPY_SC_PLATSTDLIB= ${:!${LOCALBASE}/bin/pypy3 -c 'import sysconfig; print(sysconfig.get_path("platstdlib"))'!}
27 . if ${PORT_OPTIONS:MFORPYIMPL37}
28 . if ${_PYPY_SC_PLATSTDLIB:T} != lib_pypy
29 IGNORE= Port option mismatch: must match FORPYIMPLxx of the installed lang/pypy3
30 . endif
31 . else
32 . if ${_PYPY_SC_PLATSTDLIB:T} != ${PYTHON_IMPL_MINOR}
33 IGNORE= Port option mismatch: must match FORPYIMPLxx of the installed lang/pypy3
34 . endif
35 . endif
36 .endif
20 37
21 .if ${FLAVOR} == pypy || ${PORT_OPTIONS:MFORPYIMPL37} 38 .if ${FLAVOR} == pypy || ${PORT_OPTIONS:MFORPYIMPL37}
22 PLIST_FILES= ${PYPY_DIR}/lib_pypy/${CFFI_MODULE}_cffi.${PYPY_CFFI_VER}.so 39 PLIST_FILES= ${PYPY_DIR}/lib_pypy/${CFFI_MODULE}_cffi.${PYPY_CFFI_VER}.so
23 .else # pypy3 40 .else # pypy3
24 PLIST_FILES= ${PYPY_DIR}/lib/${PYTHON_IMPL_MINOR}/${CFFI_MODULE}_cffi.${PYPY_CFFI_VER}.so 41 PLIST_FILES= ${PYPY_DIR}/lib/${PYTHON_IMPL_MINOR}/${CFFI_MODULE}_cffi.${PYPY_CFFI_VER}.so