www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.announce - Build version 3.01

reply Derek Parnell <derek psych.ward> writes:
The next release of Build (v3.01) is now available. A number of fixes have
been implemented and a few new items as well.

See http://www.dsource.org/projects/build/wiki for more details.


-- 
Derek
(skype: derek.j.parnell)
Melbourne, Australia
"Down with mediocrity!"
9/06/2006 5:24:39 PM
Jun 09 2006
next sibling parent reply dickl <dick221z yahoo.com> writes:
I still have a problem.. you must have missed  the last 3.00 post

Anyway.. Optlink doesn't always create the executable correctly if the 
linker options are on a separate line (after the .res file)

e.g. the ksp file created looks like this

foo.obj
foo.exe
foo.map
kernel32.lib+user32.lib
foo.def
foo.res
/noi/map

for Optlink to form the executable correctly it need to look like this

foo.obj
foo.exe
foo.map
kernel32.lib+user32.lib
foo.def
foo.res/noi/map

I have 1 project where the problem doesn't occur and another (much 
larger) where it does.

The change I made to build.d looks like this (in build())

		lCommandLine.length =lCommandLine.length-1; // removes the trailing \n 
so the linker switches are on the same line as the resource file

                 // (7) Gather then switches
                 lCommandLine ~= vLinkerDefs;
                 lCommandLine ~= lLinkerSwitches;
                 lCommandLine ~= "\n";

The hack works for me, but I won't pretend to know if it will work in 
all conditions.



Dick


Derek Parnell wrote:
 The next release of Build (v3.01) is now available. A number of fixes have
 been implemented and a few new items as well.
 
 See http://www.dsource.org/projects/build/wiki for more details.
 
 

Jun 09 2006
parent "Derek Parnell" <derek psych.ward> writes:
On Sat, 10 Jun 2006 01:00:26 +1000, dickl <dick221z yahoo.com> wrote:

 I still have a problem.. you must have missed  the last 3.00 post

 Anyway.. Optlink doesn't always create the executable correctly if the  
 linker options are on a separate line (after the .res file)

During my testing it always worked with the switches on their own line so the "doesn't always" aspect is a concern.
 e.g. the ksp file created looks like this

 foo.obj
 foo.exe
 foo.map
 kernel32.lib+user32.lib
 foo.def
 foo.res
 /noi/map

 for Optlink to form the executable correctly it need to look like this

 foo.obj
 foo.exe
 foo.map
 kernel32.lib+user32.lib
 foo.def
 foo.res/noi/map

I've just reread the OptLink documentation yet again and it does explicitly address this issue. It does however say "Option switches may be entered after any response." which could be interpreted as either the switches need to *immediately* follow any of the files supplied or they need to be on their own line. Anyhow, let's see what I can come up with. ;-) -- Derek Parnell Melbourne, Australia
Jun 09 2006
prev sibling parent Bradley Smith <digitalmars-com baysmith.com> writes:
Is there a problem with the -exec option? No matter what options I try, 
I get an error something like the following.

Error: build:Cannot find application '\test.exe' to run

I think the '\' at the beginning of the application name is the problem, 
but I can't find any way to eliminate it. My command line is

build -full -unittest -Ttest.exe src\test.d -exec

I'm running on Windows, in case that matters.

Thanks,
   Bradley
Jun 10 2006