Thread overview
Build version 3.01
Jun 09, 2006
Derek Parnell
Jun 09, 2006
dickl
Jun 10, 2006
Derek Parnell
Jun 10, 2006
Bradley Smith
June 09, 2006
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
June 09, 2006
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.
> 
> 
June 10, 2006
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
June 10, 2006
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