Jump to page: 1 2 3
Thread overview
D2 port of xfBuild (alpha version)
Nov 24, 2011
Andrej Mitrovic
Nov 24, 2011
Gour
Nov 24, 2011
Andrej Mitrovic
Nov 24, 2011
Gour
Nov 24, 2011
Andrej Mitrovic
Nov 25, 2011
Jacob Carlborg
Nov 29, 2011
Andrej Mitrovic
Nov 29, 2011
Jacob Carlborg
Nov 29, 2011
torhu
Nov 30, 2011
Jacob Carlborg
Nov 30, 2011
torhu
Dec 01, 2011
Jacob Carlborg
Dec 01, 2011
Joel Christensen
Dec 01, 2011
Andrej Mitrovic
Dec 01, 2011
Andrej Mitrovic
Dec 01, 2011
Andrej Mitrovic
Dec 01, 2011
Joel Christensen
Dec 01, 2011
Andrej Mitrovic
Dec 01, 2011
Joel Christensen
Dec 02, 2011
Rainer Schuetze
Dec 02, 2011
Andrej Mitrovic
Dec 04, 2011
Jacob Carlborg
November 24, 2011
xfBuild is a D1 & D2 build tool, it was written for D1 and Tango by Tomasz Stachowiak. I've ported it to D2 and Phobos, which will hopefully enable it to grow thanks to the fairly active D2 community.

Grab it from:
https://github.com/AndrejMitrovic/xfBuild

Currently it compiles simple projects, and was tested on XP SP3 and Lubuntu. It also appears some multithreaded bugs have disappeared since I'm now using the new std.parallelism module.

*Note*: This is an alpha-release. I'm pretty sure there are many lurking bugs ready to be discovered. Don't try to use it on production code!

Why did I do this? Because I have time to burn. :-) (also I've heard
Tomasz used his tool on very large codebases, so it's a project worth
porting)
November 24, 2011
On Thu, 24 Nov 2011 04:44:44 +0100
Andrej Mitrovic <andrej.mitrovich@gmail.com> wrote:

> Grab it from:
> https://github.com/AndrejMitrovic/xfBuild

Thank you. I just wanted to ask about recommended tool to build D projects. ;)

> *Note*: This is an alpha-release. I'm pretty sure there are many lurking bugs ready to be discovered. Don't try to use it on production code!

We don't have it (yet) :-D

> Why did I do this? Because I have time to burn. :-) (also I've heard
> Tomasz used his tool on very large codebases, so it's a project worth
> porting)

Excuse my ignorance, but I wonder if xfbuild tool is meant/capable to build C-libs whih might get included within the project and then e.g. build bindings (e.g. using SWIG) etc.?

What do you think about capabilities ala Cmake's CPack to be able to prepare installers/packages for different systems/OS-es?



Sincerely,
Gour

-- 
In this endeavor there is no loss or diminution, and a little advancement on this path can protect one from the most dangerous type of fear.

http://atmarama.net | Hlapicina (Croatia) | GPG: 52B5C810


November 24, 2011
Right now my goal is to get xfBuild stable (fix bugs I might have introduced), and try to fix any bugs it had from before.

I'm certainly interested in adding major new features, but I don't know whether I should bloat the xfBuild codebase or start a new project for that. And anyway that will come at a later time. Bug fixes are a priority right now.

On 11/24/11, Gour <gour@atmarama.net> wrote:
> What do you think about capabilities ala Cmake's CPack to be able to prepare installers/packages for different systems/OS-es?

As far as packages go, Jacob Carlborg is working on Orbit which is a package manager. I really think builders and packagers are two different beasts and should probably be done separately.

On 11/24/11, Gour <gour@atmarama.net> wrote:
> Excuse my ignorance, but I wonder if xfbuild tool is meant/capable to build C-libs which might get included within the project and then e.g. build bindings (e.g. using SWIG) etc.?

No, xfBuild was made strictly for compiling D code by automatically tracking dependencies based on imports and deps files generated by DMD (maybe even GDC, I'm not sure yet). C libs come with their own build systems and shell scripts, and you'd have more luck solving the halting problem than making a tool that can autobuild and do SWIG wrapping of arbitrary C libraries. :p
November 24, 2011
On Thu, 24 Nov 2011 18:43:30 +0100
Andrej Mitrovic <andrej.mitrovich@gmail.com> wrote:

> Right now my goal is to get xfBuild stable (fix bugs I might have introduced), and try to fix any bugs it had from before.

OK. Fair-enough.

> I'm certainly interested in adding major new features, but I don't know whether I should bloat the xfBuild codebase or start a new project for that. And anyway that will come at a later time. Bug fixes are a priority right now.

OK.

> As far as packages go, Jacob Carlborg is working on Orbit which is a package manager. I really think builders and packagers are two different beasts and should probably be done separately.

Right, like cmake & cpack.

> No, xfBuild was made strictly for compiling D code by automatically tracking dependencies based on imports and deps files generated by DMD (maybe even GDC, I'm not sure yet).

OK.

> C libs come with their own build systems and shell scripts, and you'd have more luck solving the halting problem than making a tool that can autobuild and do SWIG wrapping of arbitrary C libraries. :p

Well, in my case I soon plan to work on D bindings for 3rd party C-lib which is usually shipped along with the project using it. So, in order to build the application we need to build C lib first, then create D bindings (e.g. by using SWIG) and finally build application which uses that bindings.


Sincerely,
Gour

-- 


November 24, 2011
Well you could always ship a build script, .bat/.sh or even a .d script runnable via RDMD or something.
November 25, 2011
On 2011-11-24 21:36, Andrej Mitrovic wrote:
> Well you could always ship a build script, .bat/.sh or even a .d
> script runnable via RDMD or something.

For executables a shell script executing RDMD works quite well.

-- 
/Jacob Carlborg
November 29, 2011
FWIW a couple of bugs from the old issue tracker were fixed in the new
fork. Bugs were reported here:
https://bitbucket.org/h3r3tic/xfbuild/issue/16/xfbuild-crashes-if-full-path-to-deps-objs
https://bitbucket.org/h3r3tic/xfbuild/issue/17/xfbuild-crashes-optlink-on-windows-if-o

There was also a multithreaded bug that manifested itself on Windows where printing to the console would be interleaved and left the message scrambled. This is now fixed.

Also, the +xpath option was added, first discussed here: https://bitbucket.org/h3r3tic/xfbuild/issue/1/add-a-xpath-option

I'll have to look into the whole template instantiation "fiasco" and see where we are at that and if it can be resolved. Stay tuned.. :)

https://github.com/AndrejMitrovic/xfbuild
November 29, 2011
On 2011-11-29 12:00, Andrej Mitrovic wrote:
> FWIW a couple of bugs from the old issue tracker were fixed in the new
> fork. Bugs were reported here:
> https://bitbucket.org/h3r3tic/xfbuild/issue/16/xfbuild-crashes-if-full-path-to-deps-objs
> https://bitbucket.org/h3r3tic/xfbuild/issue/17/xfbuild-crashes-optlink-on-windows-if-o
>
> There was also a multithreaded bug that manifested itself on Windows
> where printing to the console would be interleaved and left the
> message scrambled. This is now fixed.
>
> Also, the +xpath option was added, first discussed here:
> https://bitbucket.org/h3r3tic/xfbuild/issue/1/add-a-xpath-option
>
> I'll have to look into the whole template instantiation "fiasco" and
> see where we are at that and if it can be resolved. Stay tuned.. :)
>
> https://github.com/AndrejMitrovic/xfbuild

Walter mentioned something that if the "-lib" flag is used it will output templates to all object files. If that was what you were referring to.

-- 
/Jacob Carlborg
November 29, 2011
On 29.11.2011 13:20, Jacob Carlborg wrote:
> On 2011-11-29 12:00, Andrej Mitrovic wrote:
>>  FWIW a couple of bugs from the old issue tracker were fixed in the new
>>  fork. Bugs were reported here:
>>  https://bitbucket.org/h3r3tic/xfbuild/issue/16/xfbuild-crashes-if-full-path-to-deps-objs
>>  https://bitbucket.org/h3r3tic/xfbuild/issue/17/xfbuild-crashes-optlink-on-windows-if-o
>>
>>  There was also a multithreaded bug that manifested itself on Windows
>>  where printing to the console would be interleaved and left the
>>  message scrambled. This is now fixed.
>>
>>  Also, the +xpath option was added, first discussed here:
>>  https://bitbucket.org/h3r3tic/xfbuild/issue/1/add-a-xpath-option
>>
>>  I'll have to look into the whole template instantiation "fiasco" and
>>  see where we are at that and if it can be resolved. Stay tuned.. :)
>>
>>  https://github.com/AndrejMitrovic/xfbuild
>
> Walter mentioned something that if the "-lib" flag is used it will
> output templates to all object files. If that was what you were
> referring to.
>

The -lib flag leads to bloated executables.  Maybe the linker doesn't get rid of the duplicates, I don't know.
November 30, 2011
On 2011-11-29 22:14, torhu wrote:
> On 29.11.2011 13:20, Jacob Carlborg wrote:
>> On 2011-11-29 12:00, Andrej Mitrovic wrote:
>>> FWIW a couple of bugs from the old issue tracker were fixed in the new
>>> fork. Bugs were reported here:
>>> https://bitbucket.org/h3r3tic/xfbuild/issue/16/xfbuild-crashes-if-full-path-to-deps-objs
>>>
>>> https://bitbucket.org/h3r3tic/xfbuild/issue/17/xfbuild-crashes-optlink-on-windows-if-o
>>>
>>>
>>> There was also a multithreaded bug that manifested itself on Windows
>>> where printing to the console would be interleaved and left the
>>> message scrambled. This is now fixed.
>>>
>>> Also, the +xpath option was added, first discussed here:
>>> https://bitbucket.org/h3r3tic/xfbuild/issue/1/add-a-xpath-option
>>>
>>> I'll have to look into the whole template instantiation "fiasco" and
>>> see where we are at that and if it can be resolved. Stay tuned.. :)
>>>
>>> https://github.com/AndrejMitrovic/xfbuild
>>
>> Walter mentioned something that if the "-lib" flag is used it will
>> output templates to all object files. If that was what you were
>> referring to.
>>
>
> The -lib flag leads to bloated executables. Maybe the linker doesn't get
> rid of the duplicates, I don't know.

That may be so, but at least the application works, if Walter is correct about the -lib flag. He has also said he doesn't want to add a flag that does what's necessary with the templates.

-- 
/Jacob Carlborg
« First   ‹ Prev
1 2 3