[C++-sig] Pyste: feature requests

Prabhu Ramachandran prabhu at aero.iitm.ernet.in
Sat Jul 5 04:58:17 CEST 2003

>>>>> "N" == nicodemus  <nicodemus at globalite.com.br> writes:

    >> 1. Something like the C compiler's '-c' option.  In this case
    >>    Pyste
    >> should simply generate the wrapper code and none of the module
    >> code i.e. for an invocation like so:
    >> pyste.py --out build --multiple -c file1.pyste

    N> I don't understand exactly what you are saying. Are you
    N> suggesting that instead of generating:

    N> #include <...>
    N> BOOST_PYTHON_MODULE(module) {
    N>     class_<A>(...);
    N> }

    N> You want to be able to generate just this:
    N>     class_<A>(...);
    N> ?

    N> How does that help you handle dependencies?

No, what I mean is 'pyste.py --multiple -c file.pyste' should generate
this (edited for brevity):

// ------------ _file.cpp ----------
// Includes =====
#include <boost/python.hpp>
// Using =======
using namespace boost::python;
// Declarations ====
namespace  {
struct test_A_Wrapper: test::A
[ other wrappers etc. ]
// Module ===========
void _Export_file_pyste()
// ------------ _file.cpp ----------

And without -c this command:
      pyste.py --module=test --multiple file1.pyste file2.pyste
should *only* generate:

// ---------- test.cpp ----------
// Include ==============
#include <boost/python.hpp>
// Exports ===============
void _Export_file_pyste();

// Module ================
// ---------- test.cpp ----------

I hope this is clear.  I think you will see what I am getting at here.
This way if file.pyste changes then only _file.cpp changes.  None of
the other wrapper code sources will change and pyste will run faster
since all you need to process is one of the pyste files.  Its much
easier for users to use and incrementally wrap their libraries and
very convenient for development.

    >> 2. Instead of generating files for each header, it would be
    >>    useful if
    >> one file were generated per pyste file when --multiple were

    N> Good idea! When I implemented the --multiple option, I didn't
    N> consider dependencies. I will put in my TODO list, shouldn't be
    N> too hard to implement this.

That would be great!  Thanks!

    N> Thanks a lot for your suggestions!

My pleasure!


More information about the Cplusplus-sig mailing list