Maciej,

yes, I know. :) I used and use CFFI for inspiration.

Now done. The package structure has become:

                      _cppyy for PyPy
                  /                      \
   cppyy (shared)                          cppyy-backend (shared)
                  \                      /
                    CPyCppyy for CPython

For pip-purposes, the cppyy wheel is not shared (but it's cheap to install).
The backend bdist_wheel can be re-used for PyPy, CPython2, and CPython3.

 $ virtualenv -p .../pypy/pypy/goal/pypy-c pypy-dev
 $ MAKE_NPROCS=32 pip install cppyy
 ...
 $ python
 Python 2.7.13 (0b40d2587588, Jul 19 2017, 00:43:13)
 [PyPy 5.9.0-alpha0 with GCC 5.4.0] on linux2
 Type "help", "copyright", "credits" or "license" for more information.
 using my private settings ...
 And now for something completely different: ``Therefore, specific information,
 I was in an ideal context, I had to realize the faith''
 >>>> import cppyy
 >>>> cppyy.cppdef('void say_hello() { cout << "Hello, World!" << endl; }')
 >>>> cppyy.gbl.say_hello()
 Hello, World!
 >>>>

The documentation and (shared) app-level tests live in cppyy. I have some
more work to do there.

For PyPy-5.7 and -5.8, this can be done:
 >>>> from cppyy_backend import loader
 >>>> c = loader.load_cpp_backend()
 >>>> import cppyy

and things work from there (albeit not niceties such as cppdef() above, but
all the genreflex etc. stuff works).

Omer, Anto, thanks for pushing. :) I'm actually pretty pleased with this
setup: it all works nicer than I expected. Life being what it is, the last
time I looked into distutils was apparently Oct 9, 2007 (I just checked my
archives). Things have improved quite a bit since then ...

Best regards,
           Wim
--
wlavrij...@lbl.gov    --    +1 (510) 486 6411    --    www.lavrijsen.net
_______________________________________________
pypy-dev mailing list
pypy-dev@python.org
https://mail.python.org/mailman/listinfo/pypy-dev

Reply via email to