MiniD binding library update, better compilation on Linux
Robert Fraser
fraserofthenight at gmail.com
Mon Nov 19 01:22:19 PST 2007
Jarrett Billingsley Wrote:
> Haven't posted any announcements about my project here in a while, so now's
> as good a time as any.
>
> So since 1.0 came out in August, there have been a few major bugfixes, and
> it's now technically at 1.1 because of a breaking change in the code
> generation for class declarations to fix a supercall bug. It's also had
> some standard library functionality added, and some more useful stuff added
> to the native API as well.
>
> What I've been working on most recently is (1) getting the thing to compile
> right under Linux with DSSS, and (2) rewriting the binding library to work
> around DMDWin's symbol length issues (*shakes fist*). Let's go through
> them:
>
> 1) Most of the "getting it to compile right under Linux" was actually "me
> figuring out how the hell to get DSSS, GDC, and Tango to play nice on my
> computer". Once I'd done that, it wasn't too difficult. What I got out of
> this:
>
> - Don't use 'dsss net install minid'. It works, but since it blindly grabs
> the newest repo revision, which I may have been messing with, you might
> accidentally check out a nonfunctional or beta-y build of the library. Much
> better is for you to check out the MiniD trunk manually, then change into
> its dir and do a 'dsss build && dsss install' there. I have the latest
> stable repo listed on the front wiki page of the MiniD DSource page (see
> link at bottom). In fact, for DSSS users on Windows, you should probably
> use the same procedure.
>
> - I have no idea how to get bu[il]d to work on Linux, with either GDC or
> DMD. And especially not with Tango. I'm just completely stumped there.
>
> 2) The binding library design I was using before was like Pyd's, where you
> specify module/class members as variadic template parameter lists. This was
> bad news with DMDWin, as it uses the terribly limited OMF object format and
> wrapping any module or class with more than ten or so members caused it to
> fail miserably. Now it uses a style much like the _old_ Pyd, where you have
> a sort of "module/object under construction" which you add members to one at
> a time using chained method calls. Because the MiniD binding library wasn't
> that complex to begin with I didn't have to sacrifice any features, so
> everything's cool, it's just the syntax has changed.
>
> Along with that change, I also added support for wrapping structs (which
> appear as classes on the MiniD side). There's also a lot more documentation
> on this library.
>
> The last bit of news is that I'm now working on MiniD 2, since the v1 spec
> is frozen. The development will probably follow a very similar trajectory
> to D's -- v1 will be supported, and will have bugfixes and maybe stdlib
> additions, but no changes to the language itself, while MD2 will be a moving
> target until it, too, has its spec frozen. You can see some of the ideas I
> have for MD2 at the bottom of the Introduction page of the wiki (and feel
> free to come up with suggestions of your own!).
>
> The project page for MiniD is here: http://www.dsource.org/projects/minid
>
> There you'll find the language spec, MiniD stdlib docs, native API docs,
> installation instructions, and other links.
>
Nice! I'm considering using MiniD for a side project, and knowing it's in active development and integrates easily with D is important.
I can't seem to find anything on MiniD 2 on the Wiki; where's the link?
More information about the Digitalmars-d-announce
mailing list