FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Initial commit

 
Post new topic   Reply to topic     Forum Index -> Walnut
View previous topic :: View next topic  
Author Message
Carlos



Joined: 19 Mar 2004
Posts: 396
Location: Canyon, TX

PostPosted: Wed Feb 16, 2005 8:06 pm    Post subject: Initial commit Reply with quote

I've commited what I've done so far. I tested it on DMD 0.113 on Windows (XP Pro SP2) and DMD 0.112 on linux (Fedora Core 2). In case you ask, I've just forgotten to unzip the latest DMD on linux. I'm so lazy... It doesn't work with gdc, because gdc can't compile DMDScript (the main stopper being a bug report I posted on D.gnu). I managed to compile it (cygwin), but it's no good: there are too many modifications needed, and it didn't successfully work after all.
What's needed:

    DMDScript (dmdscript.lib/libdmdscript.a)
    Mango (mango.lib/libmango.a)
    MinWin (minwin.lib/libminwin_gtk.a/libminwin_motif.a)
    Windows only: mmango.lib, which is the same mango.lib recompiled with line 201 of mango/servlets/ServletContext.d commented out (as Kris advised).

DMDScript and Mango are a must (because System.sleep() is done through mango.base.System.sleep(), the rest of Mango is optional). MinWin is optional.
Also, make sure dmdscript, minwin and mango are in your include path, or modify Makefile.
How to build on Windows
Just type "make". However, that won't work because of the static initialization problem with Mango. Instead, type "make mango". However, for this to work, you need mmango.lib.
If you don't have mmango.lib or don't want the Mango stuff (which isn't much, anyway), type "make no-mango".
If what you don't want is MinWin, you have to type "make no-minwin". This also needs mmango.lib.
"make docs" is special and doesn't do much. It's just like "make mango" and works exactly the same, but before executing the script, it creates a file "walnut.docu" which contains every object and function additional to DMDScript. I want to add full documentation through it. Let's see how that works.
How to build on linux
First off, modify the very first line of Makefile to the place where your libraries are.
On linux, Mango is always there (since it doesn't cause any problems, and since it's needed anyway...). If you don't want MinWin, type "make linux".
If you want MinWin, type "make gtk" or "make motif", depending on what you want.
That's it. Have fun.
Back to top
View user's profile Send private message Yahoo Messenger MSN Messenger
kris



Joined: 27 Mar 2004
Posts: 1494
Location: South Pacific

PostPosted: Wed Feb 16, 2005 9:13 pm    Post subject: Reply with quote

Cool! Thanks Carlos.

The mmango.lib could be removed if you download mango.log.Logger and recompile the library with that (it includes a dummy static ctor to persuade the compiler to do the "right thing").
Back to top
View user's profile Send private message
kris



Joined: 27 Mar 2004
Posts: 1494
Location: South Pacific

PostPosted: Wed Feb 16, 2005 9:14 pm    Post subject: Reply with quote

You noted in another thread that you weren't quite happy with some of the binding mechansim (or something like that). Has that changed?

- Kris
Back to top
View user's profile Send private message
Carlos



Joined: 19 Mar 2004
Posts: 396
Location: Canyon, TX

PostPosted: Wed Feb 16, 2005 9:27 pm    Post subject: Reply with quote

kris wrote:
You noted in another thread that you weren't quite happy with some of the binding mechansim (or something like that). Has that changed?

- Kris


Yes, it changed. It's still very tiresome to add even a single method, not to mention a class, but it's the way DMDScript handles it. It's even more painful to automatically generate documentation for it.
Back to top
View user's profile Send private message Yahoo Messenger MSN Messenger
BenHinkle



Joined: 27 Mar 2004
Posts: 76

PostPosted: Thu Feb 17, 2005 10:52 am    Post subject: Re: Initial commit Reply with quote

Carlos wrote:

What's needed:
MinWin (minwin.lib/libminwin_gtk.a/libminwin_motif.a)


MinWin is still very very early and I've been changing various module and class names around so be careful about putting too much energy into working with it at this stage. I'm not even at the stage where I'd call it in alpha form. I'd hate to have you invest time in wrapping it up into something and have to redo large chunks as I shift the code around under you.
Back to top
View user's profile Send private message
Carlos



Joined: 19 Mar 2004
Posts: 396
Location: Canyon, TX

PostPosted: Thu Feb 17, 2005 11:29 am    Post subject: Reply with quote

kris wrote:
Cool! Thanks Carlos.

The mmango.lib could be removed if you download mango.log.Logger and recompile the library with that (it includes a dummy static ctor to persuade the compiler to do the "right thing").


BenHinkle wrote:
MinWin is still very very early and I've been changing various module and class names around so be careful about putting too much energy into working with it at this stage. I'm not even at the stage where I'd call it in alpha form. I'd hate to have you invest time in wrapping it up into something and have to redo large chunks as I shift the code around under you.


I like to depend on released features, so when new releases of Mango and MinWin come, I'll make the appropiate changes.
I don't mean to sound harsh, I just don't want potential users to be lurking around many different places to find one or two files, nor I want them to have to modify the dependencies in order to get Walnut to work.
That's an important goal for me, and that was the reason I spent many hours trying to understand how DMDScript works, so I could add features without having to modify it.
Back to top
View user's profile Send private message Yahoo Messenger MSN Messenger
Carlos



Joined: 19 Mar 2004
Posts: 396
Location: Canyon, TX

PostPosted: Thu Feb 17, 2005 5:25 pm    Post subject: binaries commited Reply with quote

I have commited all the compiled binaries, including necessary libraries, for both Windows and linux. They were compiled with DMD 0.113. (I don't think I'll do it again because of my dial-up connection.)
note for linux
The binaries were compiled with DMD 0.113 but with Phobos DMD 0.112, because of the spawnvp bug I experienced on linux (as I posted on the bugs ng).
Back to top
View user's profile Send private message Yahoo Messenger MSN Messenger
Display posts from previous:   
Post new topic   Reply to topic     Forum Index -> Walnut All times are GMT - 6 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group