annotate bsd.pypy.cffi.mk @ 25:ee6885d5bdcb

Allow to build CFFI extensions for PyPy3.7 also. PyPy3.7 has the same directory layout as PyPy2.7. PyPy3.8 has a new layout which is more similar to CPython. NOTE: PyPy3.9 will also name its shared library implementation with a version information in it. This will allow side-by-side installations.
author Franz Glasner <f.glasner@feldmann-mg.com>
date Wed, 05 Oct 2022 17:22:18 +0200
parents 246c2f328231
children 6cddc8f64f05
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
20
246c2f328231 Now include bsd.port.pre.mk automitically from within bsd.pypy.mk
Franz Glasner <fzglas.hg@dom66.de>
parents: 19
diff changeset
1 # NOTE: Also includes bsd.pypy.mk and (indirectly) bsd.port.pre.mk
2
5797a1bc38cb ADD: the latest easily available port of lang/pypy
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
2
5797a1bc38cb ADD: the latest easily available port of lang/pypy
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
3 PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
5797a1bc38cb ADD: the latest easily available port of lang/pypy
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
4 DISTFILES=
5797a1bc38cb ADD: the latest easily available port of lang/pypy
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
5
5797a1bc38cb ADD: the latest easily available port of lang/pypy
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
6 BUILD_DEPENDS+= ${PYTHON_IMPL}:lang/${PYTHON_IMPL}
5797a1bc38cb ADD: the latest easily available port of lang/pypy
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
7 RUN_DEPENDS+= ${PYTHON_IMPL}:lang/${PYTHON_IMPL}
5797a1bc38cb ADD: the latest easily available port of lang/pypy
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
8
5797a1bc38cb ADD: the latest easily available port of lang/pypy
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
9 CFFI_MODULE?= _${PORTNAME}
5797a1bc38cb ADD: the latest easily available port of lang/pypy
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
10
5797a1bc38cb ADD: the latest easily available port of lang/pypy
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
11 FLAVORS= pypy pypy3
5797a1bc38cb ADD: the latest easily available port of lang/pypy
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
12 FLAVOR?= ${FLAVORS:[1]}
5797a1bc38cb ADD: the latest easily available port of lang/pypy
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
13
5797a1bc38cb ADD: the latest easily available port of lang/pypy
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
14 PYTHON_IMPL= ${FLAVOR}
5797a1bc38cb ADD: the latest easily available port of lang/pypy
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
15 PYTHON_PORTVERSION= ${DISTVERSION}
5797a1bc38cb ADD: the latest easily available port of lang/pypy
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
16 PYTHON_PKGNAMEPREFIX= ${PYTHON_IMPL}-
5797a1bc38cb ADD: the latest easily available port of lang/pypy
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
17 PYTHON_CMD= ${LOCALBASE}/bin/${PYTHON_IMPL}
5797a1bc38cb ADD: the latest easily available port of lang/pypy
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
18
5797a1bc38cb ADD: the latest easily available port of lang/pypy
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
19 .include "${.CURDIR}/../../lang/pypy/bsd.pypy.mk"
5797a1bc38cb ADD: the latest easily available port of lang/pypy
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
20
25
ee6885d5bdcb Allow to build CFFI extensions for PyPy3.7 also.
Franz Glasner <f.glasner@feldmann-mg.com>
parents: 20
diff changeset
21 .if ${FLAVOR} == pypy || ${PORT_OPTIONS:MFORPYIMPL37}
ee6885d5bdcb Allow to build CFFI extensions for PyPy3.7 also.
Franz Glasner <f.glasner@feldmann-mg.com>
parents: 20
diff changeset
22 PLIST_FILES= ${PYPY_DIR}/lib_pypy/${CFFI_MODULE}_cffi.${PYPY_CFFI_VER}.so
ee6885d5bdcb Allow to build CFFI extensions for PyPy3.7 also.
Franz Glasner <f.glasner@feldmann-mg.com>
parents: 20
diff changeset
23 .else # pypy3
ee6885d5bdcb Allow to build CFFI extensions for PyPy3.7 also.
Franz Glasner <f.glasner@feldmann-mg.com>
parents: 20
diff changeset
24 PLIST_FILES= ${PYPY_DIR}/lib/${PYTHON_IMPL_MINOR}/${CFFI_MODULE}_cffi.${PYPY_CFFI_VER}.so
ee6885d5bdcb Allow to build CFFI extensions for PyPy3.7 also.
Franz Glasner <f.glasner@feldmann-mg.com>
parents: 20
diff changeset
25 .endif
ee6885d5bdcb Allow to build CFFI extensions for PyPy3.7 also.
Franz Glasner <f.glasner@feldmann-mg.com>
parents: 20
diff changeset
26
2
5797a1bc38cb ADD: the latest easily available port of lang/pypy
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
27 do-build:
25
ee6885d5bdcb Allow to build CFFI extensions for PyPy3.7 also.
Franz Glasner <f.glasner@feldmann-mg.com>
parents: 20
diff changeset
28 .if ${FLAVOR} == pypy || ${PORT_OPTIONS:MFORPYIMPL37}
2
5797a1bc38cb ADD: the latest easily available port of lang/pypy
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
29 ${CP} ${LOCALBASE}/${PYPY_DIR}/lib_pypy/${CFFI_MODULE}_build.py ${WRKDIR}/${PORTNAME}.py
25
ee6885d5bdcb Allow to build CFFI extensions for PyPy3.7 also.
Franz Glasner <f.glasner@feldmann-mg.com>
parents: 20
diff changeset
30 .else # newer pypy3
16
f02a08eefd82 Allow to build some CFFI ports to build again with current PyPy3: the internal PyPy3 directly layout has changed
Franz Glasner <fzglas.hg@dom66.de>
parents: 2
diff changeset
31 ${CP} ${LOCALBASE}/${PYPY_DIR}/lib/${PYTHON_IMPL_MINOR}/${CFFI_MODULE}_build.py ${WRKDIR}/${PORTNAME}.py
f02a08eefd82 Allow to build some CFFI ports to build again with current PyPy3: the internal PyPy3 directly layout has changed
Franz Glasner <fzglas.hg@dom66.de>
parents: 2
diff changeset
32 .endif
2
5797a1bc38cb ADD: the latest easily available port of lang/pypy
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
33 (cd ${WRKDIR}; \
5797a1bc38cb ADD: the latest easily available port of lang/pypy
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
34 ${PYTHON_CMD} -c "from ${PORTNAME} import ${CFFI_NAME} as ffi; ffi.compile('${WRKDIR}');")
5797a1bc38cb ADD: the latest easily available port of lang/pypy
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
35
5797a1bc38cb ADD: the latest easily available port of lang/pypy
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
36 do-install:
25
ee6885d5bdcb Allow to build CFFI extensions for PyPy3.7 also.
Franz Glasner <f.glasner@feldmann-mg.com>
parents: 20
diff changeset
37 .if ${FLAVOR} == pypy || ${PORT_OPTIONS:MFORPYIMPL37}
2
5797a1bc38cb ADD: the latest easily available port of lang/pypy
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
38 ${MKDIR} ${STAGEDIR}${PREFIX}/${PYPY_DIR}/lib_pypy/`dirname ${CFFI_MODULE}`/
5797a1bc38cb ADD: the latest easily available port of lang/pypy
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
39 ${INSTALL_LIB} ${WRKDIR}/${CFFI_MODULE}_cffi.${PYPY_CFFI_VER}.so ${STAGEDIR}${PREFIX}/${PYPY_DIR}/lib_pypy/`dirname ${CFFI_MODULE}`/
25
ee6885d5bdcb Allow to build CFFI extensions for PyPy3.7 also.
Franz Glasner <f.glasner@feldmann-mg.com>
parents: 20
diff changeset
40 .else # newer pypy3
16
f02a08eefd82 Allow to build some CFFI ports to build again with current PyPy3: the internal PyPy3 directly layout has changed
Franz Glasner <fzglas.hg@dom66.de>
parents: 2
diff changeset
41 ${MKDIR} ${STAGEDIR}${PREFIX}/${PYPY_DIR}/lib/${PYTHON_IMPL_MINOR}/`dirname ${CFFI_MODULE}`/
f02a08eefd82 Allow to build some CFFI ports to build again with current PyPy3: the internal PyPy3 directly layout has changed
Franz Glasner <fzglas.hg@dom66.de>
parents: 2
diff changeset
42 ${INSTALL_LIB} ${WRKDIR}/${CFFI_MODULE}_cffi.${PYPY_CFFI_VER}.so ${STAGEDIR}${PREFIX}/${PYPY_DIR}/lib/${PYTHON_IMPL_MINOR}/`dirname ${CFFI_MODULE}`/
f02a08eefd82 Allow to build some CFFI ports to build again with current PyPy3: the internal PyPy3 directly layout has changed
Franz Glasner <fzglas.hg@dom66.de>
parents: 2
diff changeset
43 .endif