www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.learn - Tango Jake or other build system for Linux

reply Michal Minich <michal.minich gmail.com> writes:
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.
Jun 14 2009
next sibling parent torhu <no spam.invalid> writes:
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
Jun 14 2009
prev sibling next sibling parent Robert Clipsham <robert octarineparrot.com> writes:
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.
Jun 14 2009
prev sibling parent reply Derek Parnell <derek psych.ward> writes:
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
Jun 14 2009
parent reply Tim Matthews <tim.matthews7 gmail.com> writes:
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.
Jun 14 2009
parent reply Derek Parnell <derek psych.ward> writes:
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
Jun 14 2009
parent Tim Matthews <tim.matthews7 gmail.com> writes:
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.
Jun 15 2009