www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.dwt - xfbuild

reply test <test test.test> writes:
http://www.digitalmars.com/d/2.0/changelog.html
http://wiki.team0xf.com/index.php?n=Tools.XfBuild
Jul 12 2009
next sibling parent reply Piotrek <starpit tlen.pl> writes:
test pisze:
 http://www.digitalmars.com/d/2.0/changelog.html
 http://wiki.team0xf.com/index.php?n=Tools.XfBuild
 

I was waiting for that functionality. Good job. I have some comments, though: 1. Why announced on dwt group and not on digitalmars.D.announce at least? 2. Can't it be incorporated into dmd? 3. xfbuild (linux version)tries to write .o files in the same directory as .d file Error: Error writing file '/usr/include/d/tango/io/Console.o' which I guess isn't the best choice. Thanks Cheers
Jul 13 2009
next sibling parent reply Long Chang <changlon gmail.com> writes:
--0016361e86c091ee28046e9e7474
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

*Version D 1.046 <http://ftp.digitalmars.com/dmd.1.046.zip> * *Jul 6, 2009
*New/Changed Features

   - Bugzilla 3080 <http://d.puremagic.com/issues/show_bug.cgi?id=3080>: dmd
   should output compilation errors to stderr, not stdout
   - Bugzilla 3122 <http://d.puremagic.com/issues/show_bug.cgi?id=3122>:
   [patch] Adding support for fast and reliable build tools to the frontend(
   `this is xfbuild`)

--0016361e86c091ee28046e9e7474
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: 7bit

<b><font size="4"><a name="new1_046">Version
	  </a><a href="http://ftp.digitalmars.com/dmd.1.046.zip" title="D 
1.046">D 1.046</a>
	</font>
</b>
	<small><i>Jul 6, 2009<br></i></small><h4>New/Changed Features</h4> <ul><li><a
href="http://d.puremagic.com/issues/show_bug.cgi?id=3080">Bugzilla 3080</a>:
 dmd should output compilation errors to stderr, not stdout</li><li><a
href="http://d.puremagic.com/issues/show_bug.cgi?id=3122">Bugzilla
 3122</a>: [patch] Adding support for fast and reliable build tools to 
the frontend( `this is xfbuild`)</li></ul><br>

--0016361e86c091ee28046e9e7474--
Jul 13 2009
parent reply Piotrek <starpit tlen.pl> writes:
Long Chang pisze:
       <http://d.puremagic.com/issues/show_bug.cgi?id=3122>: [patch]
       Adding support for fast and reliable build tools to the frontend(
       `this is xfbuild`)
 
 

Yeah, I know that. I was talking about a direct build tool implementation into dmd. Maybe it could be better to have it done separately, but option where it's in compiler has many adventages: - standardization - trivial usage - less tools to maintain - no compiler-builder version mismatch Cheers Piotrek
Jul 14 2009
parent Trass3r <mrmocool gmx.de> writes:
Piotrek schrieb:
 Long Chang pisze:
       <http://d.puremagic.com/issues/show_bug.cgi?id=3122>: [patch]
       Adding support for fast and reliable build tools to the frontend(
       `this is xfbuild`)

Yeah, I know that. I was talking about a direct build tool implementation into dmd.

I've also already thought about that. Why doesn't dmd check all dependencies itself, it shouldn't be that difficult. In the end the deps are already figured out by that patch, one would "just" need to add the found files to the "processing queue" as if they were passed via commandline. Then I could use DSSS with dmd directly and finally get rid of that outdated buggy rebuild.
Jul 14 2009
prev sibling next sibling parent Long Chang <changlon gmail.com> writes:
--001485f813a2c979fc046ea02791
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

"xfbuild Snippet108.d -v -profile -otest.exe -xtango -- -release
-JE:\dmd\res
-L+advapi32.lib+comctl32.lib+comdlg32.lib+gdi32.lib+gdiplus.lib+glu32.lib+i=
mm32.lib+kernel32.lib+msimg32.lib+ole32.lib+oleacc.lib+oleaut32.lib+olepro3=
2.lib+opengl32.lib+shlwapi.lib+user32.lib+usp10.lib+uxtheme.lib+zlib.lib"

the size of test.exe is 2.12 MB=E3=80=82 remove -release the size if 2.3MB.

--001485f813a2c979fc046ea02791
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

&quot;xfbuild Snippet108.d -v -profile -otest.exe -xtango -- -release -JE:\=
dmd\res -L+advapi32.lib+comctl32.lib+comdlg32.lib+gdi32.lib+gdiplus.lib+glu=
32.lib+imm32.lib+kernel32.lib+msimg32.lib+ole32.lib+oleacc.lib+oleaut32.lib=
+olepro32.lib+opengl32.lib+shlwapi.lib+user32.lib+usp10.lib+uxtheme.lib+zli=
b.lib&quot;<br>
<br>the size of test.exe is 2.12 MB=E3=80=82 remove -release the size if 2.=
3MB.<br>

--001485f813a2c979fc046ea02791--
Jul 13 2009
prev sibling next sibling parent reply Tom S <h3r3tic remove.mat.uni.torun.pl> writes:
Piotrek wrote:
 test pisze:
 http://www.digitalmars.com/d/2.0/changelog.html
 http://wiki.team0xf.com/index.php?n=Tools.XfBuild

I was waiting for that functionality. Good job. I have some comments, though: 1. Why announced on dwt group and not on digitalmars.D.announce at least?

Because that's not a proper announcement by any of xfBuild's authors. The build tool is not yet finished and official DMD1 support is still missing thus there hasn't been an announcement.
 2. Can't it be incorporated into dmd?

It could. But then, DMD is not the only D compiler and that would add complexity to all of them. Having this functionality in an external tool means that compiler writers only have to include some basic features to support the tool instead of throwing the kitchen sink into the compiler itself.
 3. xfbuild (linux version)tries to write .o files in the same directory 
 as .d file

The reason would be similar to 1. -- Tomasz Stachowiak http://h3.team0xf.com/ h3/h3r3tic on #D freenode
Jul 17 2009
parent reply Trass3r <mrmocool gmx.de> writes:
Tom S schrieb:
 2. Can't it be incorporated into dmd?

It could. But then, DMD is not the only D compiler and that would add complexity to all of them. Having this functionality in an external tool means that compiler writers only have to include some basic features to support the tool instead of throwing the kitchen sink into the compiler itself.

Well, I'm just sick of build tools using the dmd source like rebuild. It isn't updated anymore and thus it happens so often that rebuild gets trapped in an infinite loop, furthermore I get confusing double output cause rebuild also outputs pragma msgs etc. The newly added -deps parameter in dmd is probably an improvement but I still can't imagine it would be that hard to add this simple functionality directly to the compiler (if it can write out the dependencies, it can also simply just compile them as well, can't it). Build tools could then concentrate on functionality that really doesn't need to be provided by the compiler, like everything that dsss itself does.
Jul 20 2009
parent Spacen Jasset <spacenjasset yahoo.co.uk> writes:
Trass3r wrote:
 Tom S schrieb:
 2. Can't it be incorporated into dmd?

It could. But then, DMD is not the only D compiler and that would add complexity to all of them. Having this functionality in an external tool means that compiler writers only have to include some basic features to support the tool instead of throwing the kitchen sink into the compiler itself.

Well, I'm just sick of build tools using the dmd source like rebuild. It isn't updated anymore and thus it happens so often that rebuild gets trapped in an infinite loop, furthermore I get confusing double output cause rebuild also outputs pragma msgs etc. The newly added -deps parameter in dmd is probably an improvement but I still can't imagine it would be that hard to add this simple functionality directly to the compiler (if it can write out the dependencies, it can also simply just compile them as well, can't it). Build tools could then concentrate on functionality that really doesn't need to be provided by the compiler, like everything that dsss itself does.

Nov 30 2009
prev sibling parent Bill Baxter <wbaxter gmail.com> writes:
On Mon, Nov 30, 2009 at 1:36 PM, Spacen Jasset <spacenjasset yahoo.co.uk> wrote:
 Trass3r wrote:
 Tom S schrieb:
 2. Can't it be incorporated into dmd?

It could. But then, DMD is not the only D compiler and that would add complexity to all of them. Having this functionality in an external tool means that compiler writers only have to include some basic features to support the tool instead of throwing the kitchen sink into the compiler itself.

Well, I'm just sick of build tools using the dmd source like rebuild. It isn't updated anymore and thus it happens so often that rebuild gets trapped in an infinite loop, furthermore I get confusing double output cause rebuild also outputs pragma msgs etc. The newly added -deps parameter in dmd is probably an improvement but I still can't imagine it would be that hard to add this simple functionality directly to the compiler (if it can write out the dependencies, it can also simply just compile them as well, can't it). Build tools could then concentrate on functionality that really doesn't need to be provided by the compiler, like everything that dsss itself does.

Have you tired scons?

No, but scons has tired me. I gave it a try for a while, but gave up on it because I wanted something that would make it so I didn't have to worry so much about platform and compiler configurations. --bb
Nov 30 2009
prev sibling parent reply bobef <ae aksdjlaflaflaflaks.coaodasdoasd> writes:
test Wrote:

 http://www.digitalmars.com/d/2.0/changelog.html
 http://wiki.team0xf.com/index.php?n=Tools.XfBuild
 

Does it support D1 ? I get this error. What is it supposed to be? xfbuild.exe client.d -- -I.. -I..\import object.Exception: module 'client.d' needs module header ---------------- tango.core.stacktrace.WinStackTrace.winAddrBacktrace 0+68605 :0 0+0 [424c2d] tango.core.stacktrace.StackTrace.defaultAddrBacktrace 0+65665 :0 0+0 [4240b1] _rt_createTraceContext 0+104440 :0 0+0 [42d828] xf.build.BuildTask.BuildTask.readDeps 0+2 BuildTask.d:194 0+0 [40c4ff] xf.build.BuildTask.BuildTask._ctor 0+5 BuildTask.d:43 0+0 [40c298] xf.utils.Profiler.__T7profileVG18aa18_4275696c645461736b2e7265616444657073Z.prof ile!(void).profile 0+9 ..\utils\Profiler.d:121 0+0 [40d00d] xf.build.BuildTask.BuildTask._ctor 0+10 BuildTask.d:42 0+0 [40c27c] xf.build.Main.main.__dgliteral1 0+34 Main.d:230 0+0 [40297d] xf.utils.Profiler.__T7profileVG4aa4_6d61696eZ.profile!(void).profile 0+9 ..\utils\Profiler.d:121 0+0 [406a95] __Dmain 0+9 Main.d:90 0+0 [40221b] rt.dmain2.main.runMain 0+93947 :0 0+0 [42af2b] rt.dmain2.main.runAll 0+94003 :0 0+0 [42af63] _main 0+93707 :0 0+0 [42ae3b] _mainCRTStartup 0+138400 :0 0+0 [435cd0] ??? 0+2084581284 :0 0+0 [7c816fd4]
Aug 09 2009
parent Ary Borenszweig <ary esperanto.org.ar> writes:
bobef escribió:
 test Wrote:
 
 http://www.digitalmars.com/d/2.0/changelog.html
 http://wiki.team0xf.com/index.php?n=Tools.XfBuild

Does it support D1 ? I get this error. What is it supposed to be? xfbuild.exe client.d -- -I.. -I..\import object.Exception: module 'client.d' needs module header ----------------

I think that means you should write module client; as the first line of your module.
Aug 09 2009