March 12, 2006
Now that I got build to work with harmonia, am I allowed to publish my modifications to harmonia that allowed its programs to be built with "build"?
I tried to read the license, and I didn't find anything in it that forbids me from doing that. But I'm just not good with this legal stuff ..
March 12, 2006
Hasan Aljudy schrieb:
> Now that I got build to work with harmonia, am I allowed to publish my modifications to harmonia that allowed its programs to be built with "build"?
> I tried to read the license, and I didn't find anything in it that forbids me from doing that. But I'm just not good with this legal stuff ..

Sounds nice!
I'm pretty sure you are welcome to update it:) ?!
March 12, 2006
Dannerbeck Dieter wrote:
> Hasan Aljudy schrieb:
> 
>> Now that I got build to work with harmonia, am I allowed to publish my modifications to harmonia that allowed its programs to be built with "build"?
>> I tried to read the license, and I didn't find anything in it that forbids me from doing that. But I'm just not good with this legal stuff ..
> 
> 
> Sounds nice!
> I'm pretty sure you are welcome to update it:) ?!

Actually now that I think of it, the changes are minor, althu it tooks me hours and hours!

Here are the modifications I had to make:

move the file std\boxer.d to harmonia\boxer.d, and change the first line to:
module harmonia.boxer;

and, change the following files as indicated:

-----------------harmonia\html\html.d-----------------
line23: change it to:
module harmonia.html.html;

-----------------harmonia\io\mmfile.d-----------------
line 37: change it to:
private import harmonia.native.win32;

-----------------harmonia\native\win32.d-----------------
line 9:insert the following line:
version(build) { pragma(nolink); }

I think you can insert it anywhere in the file.

-----------------harmonia\ui\controls\all.d-----------------
line 25: change it to
module harmonia.ui.controls.all;
line 27: change it to
import harmonia.boxer;

-----------------harmonia\ui\controls\buttons.d-----------------
line 24: change it to:
module harmonia.ui.controls.buttons;
line 26: change it to:
import harmonia.boxer;

-----------------harmonia\ui\application.d-----------------
line 17: insert the following block of code:
version(build)
{
	pragma( include, "harmonia.themes.pathfinder" );
	pragma( include, "harmonia.ui.tooltip" );
}

I think you can insert it anywhere in the file.

-----------------harmonia\ui\definitions.d-----------------
line 26: change it to
import harmonia.boxer;

-----------------harmonia\ui\widgets.d-----------------
line 29: change it to
import harmonia.boxer;

-----------------harmonia\string.d-----------------
line 25: change it to
module harmonia.string;



March 12, 2006
Hasan Aljudy schrieb:
> Dannerbeck Dieter wrote:
>> Hasan Aljudy schrieb:
>>
>>> Now that I got build to work with harmonia, am I allowed to publish my modifications to harmonia that allowed its programs to be built with "build"?
>>> I tried to read the license, and I didn't find anything in it that forbids me from doing that. But I'm just not good with this legal stuff ..
>>
>>
>> Sounds nice!
>> I'm pretty sure you are welcome to update it:) ?!
> 
> Actually now that I think of it, the changes are minor, althu it tooks me hours and hours!
> 
> Here are the modifications I had to make:
> 
> move the file std\boxer.d to harmonia\boxer.d, and change the first line to:
> module harmonia.boxer;
> 
> and, change the following files as indicated:
> 
> -----------------harmonia\html\html.d-----------------
> line23: change it to:
> module harmonia.html.html;
> 
> -----------------harmonia\io\mmfile.d-----------------
> line 37: change it to:
> private import harmonia.native.win32;
> 
> -----------------harmonia\native\win32.d-----------------
> line 9:insert the following line:
> version(build) { pragma(nolink); }
> 
> I think you can insert it anywhere in the file.
> 
> -----------------harmonia\ui\controls\all.d-----------------
> line 25: change it to
> module harmonia.ui.controls.all;
> line 27: change it to
> import harmonia.boxer;
> 
> -----------------harmonia\ui\controls\buttons.d-----------------
> line 24: change it to:
> module harmonia.ui.controls.buttons;
> line 26: change it to:
> import harmonia.boxer;
> 
> -----------------harmonia\ui\application.d-----------------
> line 17: insert the following block of code:
> version(build)
> {
>     pragma( include, "harmonia.themes.pathfinder" );
>     pragma( include, "harmonia.ui.tooltip" );
> }
> 
> I think you can insert it anywhere in the file.
> 
> -----------------harmonia\ui\definitions.d-----------------
> line 26: change it to
> import harmonia.boxer;
> 
> -----------------harmonia\ui\widgets.d-----------------
> line 29: change it to
> import harmonia.boxer;
> 
> -----------------harmonia\string.d-----------------
> line 25: change it to
> module harmonia.string;
> 
> 
> 
I hope you update it in the svn tree:) Or maybe send the files to Andrew?!
March 18, 2006
On Sat, 11 Mar 2006 18:56:05 +1100, Hasan Aljudy <hasan.aljudy@gmail.com> wrote:

> build expects to see a "main" function inside the file sent to it thru the command line.
> Harmonia doesn't work that way. The main function is somewhere else!!
>
> How can I get build to realize this fact and properly invoke the linker to build an exe file instead of a lib file?

If you use the "-link" command line switch, it calls the linker rather than the librarian. It normally calls the librarian if it doesn't find 'main' or 'WinMain'. Use -link if the 'main' is to be found in a library rather than any of the source files. Just make sure you link in the library file too, of course.

-- 
Derek Parnell
Melbourne, Australia
March 18, 2006
Derek Parnell wrote:
> On Sat, 11 Mar 2006 18:56:05 +1100, Hasan Aljudy <hasan.aljudy@gmail.com>  wrote:
> 
>> build expects to see a "main" function inside the file sent to it thru  the command line.
>> Harmonia doesn't work that way. The main function is somewhere else!!
>>
>> How can I get build to realize this fact and properly invoke the linker  to build an exe file instead of a lib file?
> 
> 
> If you use the "-link" command line switch, it calls the linker rather  than the librarian. It normally calls the librarian if it doesn't find  'main' or 'WinMain'. Use -link if the 'main' is to be found in a library  rather than any of the source files. Just make sure you link in the  library file too, of course.
> 

The problem was that I put harmonia in the phobos source directory. When I used the -V switch on build, I saw that build ignored all module under phobos, including harmonia.

I just moved harmonia somewhere else, and then build saw the main function.
1 2
Next ›   Last »