On Friday 03 January 2003 1:12 pm, [EMAIL PROTECTED] wrote:
> > On Friday 03 January 2003 11:46 am, [EMAIL PROTECTED] wrote:
> > > > For those interested I've added a SIP Roadmap to the website at
> > > > http://www.riverbankcomputing.co.uk/sip/roadmap.php which describes
> > > > the main objectives and features for SIP v4.
> > > >
> > > > Comments welcome.
> > >
> > > As author of PyQwt, an extension package that I support also on
> > > Qt-230-NC, I have the following comments:
> > >
> > > (1) wrt the obeying to the Python API export rules. This also
> > > facilitates the link step on other platforms than MacOS/X: under
> > > current scheme this is a minor problem on Posix systems, but on
> > > Windows, it means rebuilding PyQt-NC and sip-NC to rebuild the
> > > necessary *.exp and *.lib. Great!
> >
> > I hadn't appreciated that. I'll try and remember to include a
> > sub-package, excluded from the "Typical" installation, that includes the
> > .exp and .lib files. Remind me when I forget.
> >
> > > (2) wrt to the limitation to Qt >= 3.0.0. This will make it more
> > > difficult for me to keep PyQwt compatible with Windows (I have no
> > > commercial version for Qt, neither for PyQt). Let me point out that I
> > > know of at least 2 companies with a commercial license for PyQt that
> > > are also using PyQwt.
> >
> > Actually the real problem is that (1) requires qmake rather than tmake. I
> > don't think there will be an issue with Qt itself.
>
> I think that you are wrong, here. See below.
>
> > > From a more general point of view:
> > >
> > > (3) Using the new-style Python-2.2 classes allows to map a C++
> > > inheritance tree to Python (I have played with this, writing a wrapper
> > > for Fltk by hand).
> > > This is a great step forward for sip, also as a wrapper tool for other
> > > libraries than Qt. In this respect, it would be nice if there is
> > > support for two Python sip extensions modules, "sipQt" and "sip", with
> > > and without Qt support.
> >
> > How would that help? If you use a non-Qt wrapper with a Qt-sip module, it
> > will work fine. If you try a Qt wrapper with a non-Qt-sip module you will
> > get an exception.
>
> I suppose you are right. I just had the idea that it would be more clear
> if you use sip to wrap classes for systems without Qt.
>
> > > In summary, sounds great, but I'd like to keep support for Qt >= 2.3.0.
> >
> > As I said, it comes down to tmake/qmake. tmake doesn't support plugins
> > which is what a pure Python module is - but maybe that won't be an issue
> > for Windows and UNIX. It will be worth playing with once snapshots of SIP
> > v4 appear.
>
> IMHO, the point that you are missing is that Qt style plugins and Python
> extension module plugins are two different type of plugins. If you are
> using the Python import API, the extension module is a shared library
> from the point of view of Qt (or the linker). The import_QtOtherExtension()
> statement in the initQtExtension() function takes care of dynamic loading.

The point is that on some platforms plugins are different from shared 
libraries - MacOS/X being the most relevant example. tmake doesn't know about 
those differences (ie. the different flags that need to be passed to the 
link/loader) - qmake does.

> Python does not care about Qt style type of plugins.
>
> So, I am pretty confident that you can keep support for Qt < 3.0.0.

If it turns out that the only platform with this issue is MacOS/X (but I would 
also have concerns about AIX) then the problem goes away because it needs Qt3 
anyway.

What I might do is allow tmake to be used with SIP v4, but say it is 
unsupported until it is proved to be Ok.

Phil

_______________________________________________
PyKDE mailing list    [EMAIL PROTECTED]
http://mats.gmd.de/mailman/listinfo/pykde

Reply via email to