[C++-sig] pyplusplus howto?

Allen Bierbaum abierbaum at gmail.com
Sun Feb 12 02:04:04 CET 2006


Roman (and other pyplusplus users):

I have found the thread [Re: [C++-sig] pyplusplus tutorials & GUI
wizard] extremely helpful.  I was running into many of the same
problems that Matthias was and this answered many questions that the
documentation currently does not.

It got me thinking that what may be very helpful for people trying to
understand pyplusplus is a howto or faq page on the website.  This may
prove to be more helpful then tutorials because I don't think you are
ever going to be able to make tutorials/examples of everything that
everyone may want to do.

What do you think, could you add a howto section to your webpage?  (if
it allowed user contributions like a wiki or user editable faq that
would be even better :) .

To help kick it off here are a couple of new questions I have.

- With pyste it is possible to cache the output of gccxml in a local
directory so it does not need to be re-run every invocation.  Is there
some way to do with with pyplusplus?  (this is a major issue for me
because running gccxml on the headers for the library I am wrapping
takes multiple hours to run completely.  note: this is on a very fast
dual athlon system with fast local disks)

- It looks like pyplusplus is designed to run over all header files
for a library at the same time.  Is it possible to split this up so I
can run an individual build operation for each header file that will
then output it's corresponding part of the full binding?  (similar to
the multiple files option with Pyste).  (I need this because of the
performance issues mentioned above and because of the next item).

- I use an SCons based build with my existing pyste base wrapping.  I
have setup SCons so it can detect when the dependencies for an
individual pyste file change (normally used for just wrapping one
class) and this then triggers regeneration of that portion of the
wrappers.  This works out very nicely but I can't see yet how to do
this with pyplusplus.  To help clarify this point, this is what the
pyste dependencies look like at a high-level:

ClassA.h --> ClassA.pyste --> ClassABindings.cpp
ClassB.h --> ClassB.pyste --> ClassBBindings.cpp
ClassC.h --> ClassC.pyste --> ClassCBindings.cpp
Class[A,B,C].h --> Class[A,B,C].pyste --> mainBindings.cpp

This type of setup allow an individual "build" chain for each part of
the bindings and this is only rebuilt as needed.  Is there some way to
do this with pyplusplus?

-Allen



More information about the Cplusplus-sig mailing list