Thread overview
Tango Jake or other build system for Linux
Jun 14, 2009
Michal Minich
Jun 14, 2009
torhu
Jun 14, 2009
Robert Clipsham
Jun 14, 2009
Derek Parnell
Jun 15, 2009
Tim Matthews
Jun 15, 2009
Derek Parnell
Jun 15, 2009
Tim Matthews
June 14, 2009
I would like to compile programs on Linux using LDC and Tango using similar tool as is bundled with Windows version of Tango - jake.exe. This build tool is not included in Linux version of Tango and I'm not able to find it's source code anywhere.

Is there any tool for Linux that can parse imports of files and invoke compiler with all project files? (And preferably one which does not require any configuration, except choosing compiler).

I'm also curious why the jake.exe is not available for Linux and why it does not have available source code.

Thanks.
June 14, 2009
On 14.06.2009 17:16, Michal Minich wrote:
> I would like to compile programs on Linux using LDC and Tango using
> similar tool as is bundled with Windows version of Tango - jake.exe. This
> build tool is not included in Linux version of Tango and I'm not able to
> find it's source code anywhere.
>
> Is there any tool for Linux that can parse imports of files and invoke
> compiler with all project files? (And preferably one which does not
> require any configuration, except choosing compiler).
>
> I'm also curious why the jake.exe is not available for Linux and why it
> does not have available source code.
>
> Thanks.

Have you tried using rebuild?

http://dsource.org/projects/dsss/wiki/Rebuild
June 14, 2009
Michal Minich wrote:
> I would like to compile programs on Linux using LDC and Tango using similar tool as is bundled with Windows version of Tango - jake.exe. This build tool is not included in Linux version of Tango and I'm not able to find it's source code anywhere.
> 
> Is there any tool for Linux that can parse imports of files and invoke compiler with all project files? (And preferably one which does not require any configuration, except choosing compiler).
> 
> I'm also curious why the jake.exe is not available for Linux and why it does not have available source code.
> 
> Thanks.

I'd strongly recommend xfbuild, it's actively developed, and can be over twice as fast as rebuild. http://wiki.team0xf.com/index.php?n=Tools.XfBuild

It will be even better when it eventually gets support for config files and implicit file names (coming soon I believe). If you intend to use dmd then it will require a patch, ldc already has this applied though.
June 14, 2009
On Sun, 14 Jun 2009 15:16:51 +0000 (UTC), Michal Minich wrote:


> Is there any tool for Linux that can parse imports of files and invoke compiler with all project files? (And preferably one which does not require any configuration, except choosing compiler).

  http://www.dsource.org/projects/build


-- 
Derek Parnell
Melbourne, Australia
skype: derek.j.parnell
June 15, 2009
Derek Parnell wrote:
> On Sun, 14 Jun 2009 15:16:51 +0000 (UTC), Michal Minich wrote:
> 
> 
>> Is there any tool for Linux that can parse imports of files and invoke compiler with all project files? (And preferably one which does not require any configuration, except choosing compiler).
> 
>   http://www.dsource.org/projects/build
> 
> 

Bud is very nice but starts to fail when your code depends on templated types.
June 15, 2009
On Mon, 15 Jun 2009 15:06:24 +1200, Tim Matthews wrote:

> Derek Parnell wrote:
>> On Sun, 14 Jun 2009 15:16:51 +0000 (UTC), Michal Minich wrote:
>> 
>>> Is there any tool for Linux that can parse imports of files and invoke compiler with all project files? (And preferably one which does not require any configuration, except choosing compiler).
>> 
>>   http://www.dsource.org/projects/build
>> 
> 
> Bud is very nice but starts to fail when your code depends on templated types.

Thanks for this feedback. Can you give an example of what you mean by "starts to fail" and maybe some failing code too.

I'll see what I can do to fix it.

-- 
Derek Parnell
Melbourne, Australia
skype: derek.j.parnell
June 15, 2009
Derek Parnell wrote:
> On Mon, 15 Jun 2009 15:06:24 +1200, Tim Matthews wrote:
> 
>> Derek Parnell wrote:
>>> On Sun, 14 Jun 2009 15:16:51 +0000 (UTC), Michal Minich wrote:
>>>
>>>> Is there any tool for Linux that can parse imports of files and invoke compiler with all project files? (And preferably one which does not require any configuration, except choosing compiler).
>>>   http://www.dsource.org/projects/build
>>>
>> Bud is very nice but starts to fail when your code depends on templated types.
> 
> Thanks for this feedback. Can you give an example of what you mean by
> "starts to fail" and maybe some failing code too. 
> 
> I'll see what I can do to fix it.
> 

 By using bud tango-user-dmd should not have to be linked in but if I don't I get link errors. I have never tried to narrow it down until now and should be very simple to fix:

module test;


import gtk.RadioButton;

/*import tango.text.convert.Integer;
import tango.stdc.stringz;    //uncomment these to allow it to link
import tango.io.Stdout;*/

void main()
{
}


C:\d\tango\projects\test-bud-error>bud test.d -cleanup
OPTLINK (R) for Win32  Release 8.00.1
Copyright (C) Digital Mars 1989-2004  All rights reserved.
C:\D\tango\bin\..\lib\DD-gtk.lib(Widget)
 Error 42: Symbol Undefined _D5tango4text7convert7Integer7__arrayZ
C:\D\tango\bin\..\lib\DD-gtkc.lib(Loader)
 Error 42: Symbol Undefined _D5tango4stdc7stringz9toStringzFAaAaZPa
C:\D\tango\bin\..\lib\DD-gtkc.lib(Loader)
 Error 42: Symbol Undefined _D5tango2io6Stdout12__ModuleInfoZ


That is importing a module from gtkd but anything that makes use of tango while in .di files should also reproduce the error.