View previous topic :: View next topic |
Author |
Message |
Carlos
Joined: 19 Mar 2004 Posts: 396 Location: Canyon, TX
|
Posted: Wed Feb 16, 2005 8:06 pm Post subject: Initial commit |
|
|
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 |
|
|
kris
Joined: 27 Mar 2004 Posts: 1494 Location: South Pacific
|
Posted: Wed Feb 16, 2005 9:13 pm Post subject: |
|
|
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 |
|
|
kris
Joined: 27 Mar 2004 Posts: 1494 Location: South Pacific
|
Posted: Wed Feb 16, 2005 9:14 pm Post subject: |
|
|
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 |
|
|
Carlos
Joined: 19 Mar 2004 Posts: 396 Location: Canyon, TX
|
Posted: Wed Feb 16, 2005 9:27 pm Post subject: |
|
|
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 |
|
|
BenHinkle
Joined: 27 Mar 2004 Posts: 76
|
Posted: Thu Feb 17, 2005 10:52 am Post subject: Re: Initial commit |
|
|
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 |
|
|
Carlos
Joined: 19 Mar 2004 Posts: 396 Location: Canyon, TX
|
Posted: Thu Feb 17, 2005 11:29 am Post subject: |
|
|
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 |
|
|
Carlos
Joined: 19 Mar 2004 Posts: 396 Location: Canyon, TX
|
Posted: Thu Feb 17, 2005 5:25 pm Post subject: binaries commited |
|
|
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 |
|
|
|
|
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
|