Lately I have been working on porting GNOME headers to FPC, and one exceptionally large challenge has been working out how to port the BONOBO infrastructure acturately so that it could be used properly as well. I have come across a problem I hadn't even yet considered - IDL. BONOBO, being a CORBA based framework, requires ORBit and libIDL. No sweat, it has taken longer than planned but I have gotten (I believe) all of libIDL working, and I believe with work arounds to the libc/pthread dependencies, should be able to get ORBit fully functional as well. From there I can port BONOBO headers, however I realized that all this is only marginally helpfull, because there is not an IDL2Pas/IDL2PP program for FPC, and in spite of having libIDL at my disposal, I am completely clueless how to even begin! This means it will be nearly impossible to use things properly. Such as existing IDL frameworks, sharing new IDL frameworks and so forth. I have only done this using DELPHI's RAD tools before, so I am clueless where to even begin on the actual .idl file level.
So to sum up - does anybody out there have any idea how to build an IDL2PP converter? Preferably completely based on FPC, so that in the future it could be used on other platforms and with other CORBA(aka not ORBit) engines, but even to begin with based on libIDL to get thigs started. Obviously some things just won't work properly under 1.0.x, such as Interfaces, but I believe under 1.1 they are starting to work(if not already functional), and most everything else should work under FPC 1.0.x, it just means that some IDL frameworks/objects won't work properly unless using the 1.1 branch, or 1.2 when it arrives.
Anyway.. any ideas anyone? Or better yet, a fully functional completely FPC derived/compatible non-os/non-cpu specific program, completely under the lpgpl, which has already been written!? Or. maybe not.. ;-)
Andrew
_________________________________________________________________ MSN Photos is the easiest way to share and print your photos: http://photos.msn.com/support/worldwide.aspx
