[Kde-bindings] assemblygen-based Qyoto now working under MS Windows and Linux!

Steven Boswell II ulatekh at yahoo.com
Sat May 26 19:03:19 UTC 2012


Glad to be of service. :-)

Let us know if any of the three outstanding bugs you reported earlier are fixed by this change, or if those still have to be tracked down.

Do you have any recommendations for books on the sort of C# programming I'm going to need to understand in order to become a better Qyoto developer?  So far, I'm browsing the "C# Interoperability" on MSDN, but I figure someone has written a book on this sort of unmanaged/advanced C# programming.  Now that I can get Qyoto to work for me, learning its implementation is a new priority for me.

Thanks for checking up with Richard.

Steven Boswell


________________________________
 From: Dimitar Dobrev <dpldobrev at yahoo.com>
To: Steven Boswell II <ulatekh at yahoo.com>; KDE bindings for other programming languages <kde-bindings at kde.org> 
Sent: Saturday, May 26, 2012 11:10 AM
Subject: Re: [Kde-bindings] assemblygen-based Qyoto now working under MS Windows and Linux!
 

Great work, Steven, and in a very short time! It works for me as well and I've just pushed it.
About the "-mstackrealign" patches on SMOKE, I asked Richard to push them and he agreed but they are still not there. I'll try now to check on IRC what's going on.



________________________________
 From: Steven Boswell II <ulatekh at yahoo.com>
To: KDE bindings for other programming languages <kde-bindings at kde.org> 
Sent: Saturday, May 26, 2012 7:51 PM
Subject: Re: [Kde-bindings] assemblygen-based Qyoto now working under MS Windows and Linux!
 

Here's one more patch for assemblygen...while building it on a different Linux machine, I encountered a problem I hadn't seen before.  I traced it to a missing dependency declaration.  The enclosed patch fixes it.

Steven Boswell


________________________________
 From: Steven Boswell II <ulatekh at yahoo.com>
To: KDE bindings <kde-bindings at kde.org> 
Sent: Saturday, May 26, 2012 8:37 AM
Subject: [Kde-bindings] assemblygen-based Qyoto now working under MS Windows and Linux!
 

For those of you playing along at home, Dimitar and I had an offline discussion about building Qyoto.  The end result was, he wasn't making a Release build when he thought he was, and although smokegen and smokeqt worked when built as Release, assemblygen didn't.

Usually, when something works as a debug build, but not as release, the compiler warns about the issues.  I decided to add "-Wall" to my compiler command line, and found two cases where control reached the end of non-void functions.  The enclosed patch fixes both issues.

And now...release builds of Qyoto are working for me, under both Windows and Linux!

Could someone with write access to smokegen and smokeqt please apply the patches I sent to the list on May 22, at 7:08pm my time?  We finally have a version of the assemblygen-based Qyoto that builds and works under MS Windows and Linux.

Steven Boswell


________________________________
 From: Dimitar Dobrev <dpldobrev at yahoo.com>
To: Steven Boswell II <ulatekh at yahoo.com>; KDE bindings <kde-bindings at kde.org> 
Sent: Friday, May 25, 2012 9:48 AM
Subject: Re: HccQt: all libs release
 

Yes, this is exactly what I mean, I'm porting an existing project to Qt.
I really do not have the time for comments but I can give you a basic outline for Qyoto (contained in the qtcore Qyoto module) as follows:
1. SmokeInvocation.cs - contains the methods that invoke the corresponding invokers in the native Qyoto which in turn call the SMOKE methods;
2. SmokeMarshallers.cs - these are the managed methods called by native code;

2. methodcall.cpp, virtualcall.cpp - these are self-explanatory;
3. handlers.cpp - these are the type marshallers; each type you pass to and each type you get from unmanaged code passes its appropriate marshaller; you'll see the Qyoto_handlers field which indicated which marshaller (a function pointer) is used for a certain type; for example, marshall_basetype is used for classes;

4. callbacks.cpp - these set pointers pointing to the managed methods (defined in 2.,SmokeMarshallers.cs) to call from unmanaged code.
This is basically it, and as these are the most used methods, the bug is most likely there. Let me know if you need more assistance.



________________________________
 From: Steven Boswell II <ulatekh at yahoo.com>
To: Dimitar Dobrev <dpldobrev at yahoo.com> 
Sent: Friday, May 25, 2012 5:11 PM
Subject: Re: HccQt: all libs release
 

Porting what?  Are you talking about porting an existing project to use Qyoto and Qt?

I'll have to learn the source code to Qyoto to have any luck debugging it.  I don't suppose you'll have time to add source-code comments to Qyoto to reflect what you've learned about it in the last several months?

Also, I've never been able to get any version of the assemblygen-based Qyoto to work under Linux, not even a debug build.  It crashes in the first call to QObject.Connect().




















_______________________________________________
Kde-bindings mailing list
Kde-bindings at kde.org
https://mail.kde.org/mailman/listinfo/kde-bindings



_______________________________________________
Kde-bindings mailing list
Kde-bindings at kde.org
https://mail.kde.org/mailman/listinfo/kde-bindings
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kde-bindings/attachments/20120526/36f620d4/attachment-0001.html>


More information about the Kde-bindings mailing list