www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.announce - Build v2.09

reply Derek Parnell <derek psych.ward> writes:


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

v2.09 changes 
--------------
** FIX: thanks to barrett9h (rodolfo): Now correctly handles the return
value from Unix system() call. 

** FIX: thanks to oniony: Now handles non_ASCII characters in PATH
environment symbol. 

** CHG: The "-silent" switch now also hides the linker stdout display. 

** CHG: Now supports and requires DMD v0.126 and GDC v0.13 or later. 

** ENH: New pragma(export_version) allows specified version identifiers to
be passed to all modules being compiled.

** ENH: New command line switch "-run" to run the program after a
successful link.
--------------
-- 
Derek Parnell
(skype: derek.j.parnell)
Melbourne, Australia
Download BUILD from ...
http://www.dsource.org/projects/build/ v2.09 released 10/Aug/2005

http://www.prowiki.org/wiki4d/wiki.cgi?FrontPage

10/08/2005 12:04:48 PM
Aug 09 2005
next sibling parent reply zwang <nehzgnaw gmail.com> writes:
Derek Parnell wrote:

 
 URL: http://www.dsource.org/projects/build/ 
 
 v2.09 changes 
 --------------
 ** FIX: thanks to barrett9h (rodolfo): Now correctly handles the return
 value from Unix system() call. 
 
 ** FIX: thanks to oniony: Now handles non_ASCII characters in PATH
 environment symbol. 
 
 ** CHG: The "-silent" switch now also hides the linker stdout display. 
 
 ** CHG: Now supports and requires DMD v0.126 and GDC v0.13 or later. 
 
 ** ENH: New pragma(export_version) allows specified version identifiers to
 be passed to all modules being compiled.
 
 ** ENH: New command line switch "-run" to run the program after a
 successful link.
 --------------
I love the "-run" switch! It saves me two keystrokes for every build. Thank you!
Aug 09 2005
parent "Uwe Salomon" <post uwesalomon.de> writes:
 I love the "-run" switch! It saves me two keystrokes for every build.
It saves me 4... :) Ciao uwe
Aug 09 2005
prev sibling next sibling parent reply pragma <pragma_member pathlink.com> writes:
In article <1nzad1hebldvl.1npu2clmyrqm2$.dlg 40tude.net>, Derek Parnell says...

Derek, I just want to say: thank you for Build. Not only has it worked wonders for my own work, but has really helped me in turning people on to D. Being able to say "You can do complex builds without a makefile or an IDE with one command" is a very powerful statement, especially in the midst of J2EE developers. Thank you. - EricAnderton at yahoo
Aug 10 2005
next sibling parent Niko Korhonen <niktheblak hotmail.com> writes:
pragma wrote:
 Not only has it worked wonders for my own work, but has really helped me in
 turning people on to D.
Agreed. It's the best compilation program I've ever seen. Not having to painstakingly type a 500-character compilation command is the best thing since sliced arrays.
 Being able to say "You can do complex builds without a makefile or an IDE with
 one command" is a very powerful statement, especially in the midst of J2EE
 developers.
...and at that point the C++ programmers start banging their heads against the mousepad even harder :) -- Niko Korhonen SW Developer
Aug 10 2005
prev sibling parent Bruno Medeiros <daiphoenixNO SPAMlycos.com> writes:
pragma wrote:
 Being able to say "You can do complex builds without a makefile or an IDE with
 one command" is a very powerful statement, especially in the midst of J2EE
 developers.
 
Why is it a powerful statement amidst J2EE developers? I can understand amidst C++ developers, but amidst Java developers javac already does what build does (see my other post in this thread). -- Bruno Medeiros Computer Science/Engineering student
Aug 11 2005
prev sibling next sibling parent reply Dejan Lekic <leka entropy.tmok.com> writes:
Mr. Parnell,
i've just downloaded .zip file (src) and tried to build "build" on my
GNU/Linux box. I have few notes about Makefile.unix and source archive.
1) There are no two files ( util/bmscanner.d and util/bmscanner_bn.d ) in
it.
2) Makefile refers to them, so it is not possible to do successfull build
without altering Makefile.unix.
3) After I removed them from SOURCES list and tried to "make clean", I
realized it does not clean "util" directory.

I am sure You can fix this, so I do not have to send You patch. :)

Kind regards and thanks for this wanderfull tool, even though I do not
seriously use it - I still prefer writing simple Makefile.

Dejan

-- 
...........
Dejan Lekic
  http://dejan.lekic.org
  
Aug 10 2005
parent reply Derek Parnell <derek psych.ward> writes:
On Wed, 10 Aug 2005 14:57:58 +0200, Dejan Lekic wrote:

 Mr. Parnell,
 i've just downloaded .zip file (src) and tried to build "build" on my
 GNU/Linux box. I have few notes about Makefile.unix and source archive.
 1) There are no two files ( util/bmscanner.d and util/bmscanner_bn.d ) in
 it.
 2) Makefile refers to them, so it is not possible to do successfull build
 without altering Makefile.unix.
 3) After I removed them from SOURCES list and tried to "make clean", I
 realized it does not clean "util" directory.
 
 I am sure You can fix this, so I do not have to send You patch. :)
LOL ... I'm *so* not using makefiles I forgot all about those.
 Kind regards and thanks for this wanderfull tool, even though I do not
 seriously use it - I still prefer writing simple Makefile.
Each to their own ... I'm too lazy for makefiles. -- Derek Parnell Melbourne, Australia 10/08/2005 11:36:13 PM
Aug 10 2005
next sibling parent Derek Parnell <derek psych.ward> writes:
On Wed, 10 Aug 2005 23:37:46 +1000, Derek Parnell wrote:

 On Wed, 10 Aug 2005 14:57:58 +0200, Dejan Lekic wrote:
 
 Mr. Parnell,
 i've just downloaded .zip file (src) and tried to build "build" on my
 GNU/Linux box. I have few notes about Makefile.unix and source archive.
I've uploaded the corrected make files now. -- Derek Parnell Melbourne, Australia 10/08/2005 11:56:13 PM
Aug 10 2005
prev sibling parent reply Dejan Lekic <leka entropy.tmok.com> writes:
Well, all I can say is - I will start using "build" when you make it work

or ADA, or FORTRAN... - My point is - I dislike mixing stuff I do not need
to - GNU Make works pretty well with anything.
Sure I will allways recommend "build" to my friends who use only D in their
work.

-- 
...........
Dejan Lekic
  http://dejan.lekic.org
  
Aug 10 2005
next sibling parent Chris Sauls <ibisbasenji gmail.com> writes:
Dejan Lekic wrote:
 Well, all I can say is - I will start using "build" when you make it work

 or ADA, or FORTRAN... - My point is - I dislike mixing stuff I do not need
 to - GNU Make works pretty well with anything.
 Sure I will allways recommend "build" to my friends who use only D in their
 work.
I imagine RDF's ( file:///c:/WINDOWS/TEMP/RULE_DEFINITION_FILE.htm ) could be used to for mixed-language D projects, Build would probably need some tweakage, but still. I could be wrong. -- Chris Sauls
Aug 10 2005
prev sibling next sibling parent Derek Parnell <derek psych.ward> writes:
On Wed, 10 Aug 2005 17:52:10 +0200, Dejan Lekic wrote:

 Well, all I can say is - I will start using "build" when you make it work

 or ADA, or FORTRAN... - My point is - I dislike mixing stuff I do not need
 to - GNU Make works pretty well with anything.
Oh come on now ... why would I want to encourage people to use those languages? ;-) -- Derek Parnell Melbourne, Australia 11/08/2005 7:58:42 AM
Aug 10 2005
prev sibling parent reply jicman <jicman_member pathlink.com> writes:
That is not a bad idea, Derek.  The same idea will apply for the rest.  Can you
imagine say things like,

build myprog.c

and it will build it.  Or,

build myprog.java

or

build ... etc,

wow!  Derek, you have come up with something great, my friend.  By the way, I
use it every day... :-)  I probably have the most usage from the group. :-)

Thanks Derek.

jic

Dejan Lekic says...
Well, all I can say is - I will start using "build" when you make it work

or ADA, or FORTRAN... - My point is - I dislike mixing stuff I do not need
to - GNU Make works pretty well with anything.
Sure I will allways recommend "build" to my friends who use only D in their
work.

-- 
...........
Dejan Lekic
  http://dejan.lekic.org
  
Aug 10 2005
next sibling parent Derek Parnell <derek psych.ward> writes:
On Thu, 11 Aug 2005 01:44:52 +0000 (UTC), jicman wrote:

 That is not a bad idea, Derek.  The same idea will apply for the rest.  Can you
 imagine say things like,
 
 build myprog.c
 
 and it will build it.  Or,
 
 build myprog.java
 
 or
 
 build ... etc,
Well actually, Build can almost do this. You can use build to 'compile' any file explicitly mentioned in the pragma(build). Look up the "Rule Definition File" stuff in the documentation for details. This means you can create a D module that looks like a makefile ... version(build) { pragma(build, "images.rc"); pragma(build, "special.c"); pragma(build, "matrix.for"); } And it will use the rule definitions to determine if the file needs to be 'compiled' and how to 'compile' it. I can extend this to command line files too I suppose.
 wow!  Derek, you have come up with something great, my friend.  By the way, I
 use it every day... :-)  I probably have the most usage from the group. :-)
 
 Thanks Derek.
 
Your very welcome. -- Derek (skype: derek.j.parnell) Melbourne, Australia 11/08/2005 1:17:27 PM
Aug 10 2005
prev sibling parent reply Bruno Medeiros <daiphoenixNO SPAMlycos.com> writes:
jicman wrote:
...
  
 and it will build it.  Or,
 
 build myprog.java
 
That would be useless with Java. javac (the Java compiler) already does what build does: you specify one source file, and it builds all dependent source (.java) files, but only if the source file is newer than the object (.class) file. -- Bruno Medeiros Computer Science/Engineering student
Aug 11 2005
parent Markus Dangl <danglm in.tum.de> writes:
Bruno Medeiros wrote:
 jicman wrote:
 ...
 
  
 and it will build it.  Or,

 build myprog.java
That would be useless with Java. javac (the Java compiler) already does what build does: you specify one source file, and it builds all dependent source (.java) files, but only if the source file is newer than the object (.class) file.
Well, then we just have to let build call javac for java files to have a general solution. Maybe similar things can be done with other languages, too? This way build could, for example, build some project with mixed java/D source files :)
Aug 12 2005
prev sibling next sibling parent reply "Charles" <noone nowhere.com> writes:
Coolness, so can we expect -strip for 2.10 :) ?

Charlie

"Derek Parnell" <derek psych.ward> wrote in message
news:1nzad1hebldvl.1npu2clmyrqm2$.dlg 40tude.net...


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

 v2.09 changes
 --------------
 ** FIX: thanks to barrett9h (rodolfo): Now correctly handles the return
 value from Unix system() call.

 ** FIX: thanks to oniony: Now handles non_ASCII characters in PATH
 environment symbol.

 ** CHG: The "-silent" switch now also hides the linker stdout display.

 ** CHG: Now supports and requires DMD v0.126 and GDC v0.13 or later.

 ** ENH: New pragma(export_version) allows specified version identifiers to
 be passed to all modules being compiled.

 ** ENH: New command line switch "-run" to run the program after a
 successful link.
 --------------
 --
 Derek Parnell
 (skype: derek.j.parnell)
 Melbourne, Australia
 Download BUILD from ...
 http://www.dsource.org/projects/build/ v2.09 released 10/Aug/2005

 http://www.prowiki.org/wiki4d/wiki.cgi?FrontPage

 10/08/2005 12:04:48 PM
Aug 10 2005
parent reply zwang <nehzgnaw gmail.com> writes:
strip doesn't seem to recognize the file format of executables compiled by 
dmd for Windows.

Charles wrote:
 Coolness, so can we expect -strip for 2.10 :) ?
 
 Charlie
 
 "Derek Parnell" <derek psych.ward> wrote in message
 news:1nzad1hebldvl.1npu2clmyrqm2$.dlg 40tude.net...
 


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

v2.09 changes
--------------
** FIX: thanks to barrett9h (rodolfo): Now correctly handles the return
value from Unix system() call.

** FIX: thanks to oniony: Now handles non_ASCII characters in PATH
environment symbol.

** CHG: The "-silent" switch now also hides the linker stdout display.

** CHG: Now supports and requires DMD v0.126 and GDC v0.13 or later.

** ENH: New pragma(export_version) allows specified version identifiers to
be passed to all modules being compiled.

** ENH: New command line switch "-run" to run the program after a
successful link.
--------------
--
Derek Parnell
(skype: derek.j.parnell)
Melbourne, Australia
Download BUILD from ...
http://www.dsource.org/projects/build/ v2.09 released 10/Aug/2005

http://www.prowiki.org/wiki4d/wiki.cgi?FrontPage

10/08/2005 12:04:48 PM
Aug 10 2005
parent "Charles" <noone nowhere.com> writes:
Oh hehe , I didnt mean GNU's strip , I mean the ability to strip out
function bodies .

"zwang" <nehzgnaw gmail.com> wrote in message
news:ddd4o2$2u4$1 digitaldaemon.com...
 strip doesn't seem to recognize the file format of executables compiled by
 dmd for Windows.

 Charles wrote:
 Coolness, so can we expect -strip for 2.10 :) ?

 Charlie

 "Derek Parnell" <derek psych.ward> wrote in message
 news:1nzad1hebldvl.1npu2clmyrqm2$.dlg 40tude.net...



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

v2.09 changes
--------------
** FIX: thanks to barrett9h (rodolfo): Now correctly handles the return
value from Unix system() call.

** FIX: thanks to oniony: Now handles non_ASCII characters in PATH
environment symbol.

** CHG: The "-silent" switch now also hides the linker stdout display.

** CHG: Now supports and requires DMD v0.126 and GDC v0.13 or later.

** ENH: New pragma(export_version) allows specified version identifiers
to
be passed to all modules being compiled.

** ENH: New command line switch "-run" to run the program after a
successful link.
--------------
--
Derek Parnell
(skype: derek.j.parnell)
Melbourne, Australia
Download BUILD from ...
http://www.dsource.org/projects/build/ v2.09 released 10/Aug/2005

http://www.prowiki.org/wiki4d/wiki.cgi?FrontPage

10/08/2005 12:04:48 PM
Aug 10 2005
prev sibling next sibling parent "Shawn Liu" <liuxuhong.cn gmail.com> writes:
Thanks for adding version ident export feature.


"Derek Parnell" <derek psych.ward> 
??????:1nzad1hebldvl.1npu2clmyrqm2$.dlg 40tude.net...


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

 v2.09 changes
 --------------
 ** FIX: thanks to barrett9h (rodolfo): Now correctly handles the return
 value from Unix system() call.

 ** FIX: thanks to oniony: Now handles non_ASCII characters in PATH
 environment symbol.

 ** CHG: The "-silent" switch now also hides the linker stdout display.

 ** CHG: Now supports and requires DMD v0.126 and GDC v0.13 or later.

 ** ENH: New pragma(export_version) allows specified version identifiers to
 be passed to all modules being compiled.

 ** ENH: New command line switch "-run" to run the program after a
 successful link.
 --------------
 -- 
 Derek Parnell
 (skype: derek.j.parnell)
 Melbourne, Australia
 Download BUILD from ...
 http://www.dsource.org/projects/build/ v2.09 released 10/Aug/2005

 http://www.prowiki.org/wiki4d/wiki.cgi?FrontPage

 10/08/2005 12:04:48 PM 
Aug 10 2005
prev sibling parent reply dickl <dick221z yahoo.com> writes:
Derek Parnell wrote:

 
 URL: http://www.dsource.org/projects/build/ 
 
 v2.09 changes 
 --------------
 ** FIX: thanks to barrett9h (rodolfo): Now correctly handles the return
 value from Unix system() call. 
 
 ** FIX: thanks to oniony: Now handles non_ASCII characters in PATH
 environment symbol. 
 
 ** CHG: The "-silent" switch now also hides the linker stdout display. 
 
 ** CHG: Now supports and requires DMD v0.126 and GDC v0.13 or later. 
 
 ** ENH: New pragma(export_version) allows specified version identifiers to
 be passed to all modules being compiled.
 
 ** ENH: New command line switch "-run" to run the program after a
 successful link.
 --------------
There is either a documentation bug or a code bug with Build 2.09 using rule definition files. the doc's say do this... ----- Windows Resource Compiler ----- This uses ` pragma(/b'build', <sourcefile>.rc); ` ------------------------------------- rule=Resources source=rc target=res tool=rc /r { IN} /fo { OUT} but the source code says build is looking for "in=" and "out=" Also RULE_DEFINITION_FILE.htm has typo that puts in an extraneous '\b' in the pragma example
Aug 24 2005
parent Derek Parnell <derek psych.ward> writes:
On Wed, 24 Aug 2005 16:18:04 -0400, dickl wrote:

 Derek Parnell wrote:

 
 URL: http://www.dsource.org/projects/build/ 
 
 v2.09 changes 
 --------------
 ** FIX: thanks to barrett9h (rodolfo): Now correctly handles the return
 value from Unix system() call. 
 
 ** FIX: thanks to oniony: Now handles non_ASCII characters in PATH
 environment symbol. 
 
 ** CHG: The "-silent" switch now also hides the linker stdout display. 
 
 ** CHG: Now supports and requires DMD v0.126 and GDC v0.13 or later. 
 
 ** ENH: New pragma(export_version) allows specified version identifiers to
 be passed to all modules being compiled.
 
 ** ENH: New command line switch "-run" to run the program after a
 successful link.
 --------------
There is either a documentation bug or a code bug with Build 2.09 using rule definition files. the doc's say do this... ----- Windows Resource Compiler ----- This uses ` pragma(/b'build', <sourcefile>.rc); ` ------------------------------------- rule=Resources source=rc target=res tool=rc /r { IN} /fo { OUT} but the source code says build is looking for "in=" and "out=" Also RULE_DEFINITION_FILE.htm has typo that puts in an extraneous '\b' in the pragma example
Thanks. These are documentation errors. For form of the .RDF files is ... rule=Resources in=rc out=res tool=rc /r { IN} /fo { OUT} -- Derek Parnell Melbourne, Australia 25/08/2005 7:40:04 AM
Aug 24 2005