FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

bud with gdc 3.03 (windows) ??

 
Post new topic   Reply to topic     Forum Index -> Build
View previous topic :: View next topic  
Author Message
Kwez



Joined: 03 Oct 2006
Posts: 12

PostPosted: Tue Oct 03, 2006 9:47 pm    Post subject: bud with gdc 3.03 (windows) ?? Reply with quote

hi,

I'm trying bud for the 1st time, but...

I can't get bud to work with gdc on windows.
(build 3.03)

1- bud looks for dmd.exe,
so I tried copying win_gnu_build.cfg to build.cfg
but I get the following errors :

Quote:
D:\code\parseProadLog\D>bud main.d -v
Set Internal String 'MakeSilent = ` >nul`' ignored ... unknown name.
*** build v3.03 (build 2370)***
Default target is 'main'
Current Dir 'D:\code\parseProadLog\D\'
gdc.exe not found in PATH symbol, so assuming current directory
Error: ArrayBoundsError build(2238)


note that if I just type gdc .. it IS found in the path.
I tried compiling bud myself, but get the same results.

(I tried removing the line in the cfg file that causes a warning, but it still crashes)
any help would be greatly appreciated

thx
Phil
Back to top
View user's profile Send private message
Kwez



Joined: 03 Oct 2006
Posts: 12

PostPosted: Wed Oct 04, 2006 11:04 am    Post subject: some progress Reply with quote

hi again,
I wanted to try to debug bud,
so I compiled a debug version using gdc ..
(had to modify the Makefile & util/fdt.d to compile w. gdc)
and
now bud seems to correctly find gdc & automatically use the proper config
(without any build.cfg files)

now I just have to figure out how to use bud correctly !

how do I specify a whole 'branch' (eg all the dtl files) to be 'ignored' ?
I tried just adding the 1st one that causes a prob :
-Xdtl.containers.map .. but it doesn't seem to make any difference

thx
Back to top
View user's profile Send private message
csauls



Joined: 27 Mar 2004
Posts: 278

PostPosted: Wed Oct 04, 2006 3:14 pm    Post subject: Re: some progress Reply with quote

Kwez wrote:
how do I specify a whole 'branch' (eg all the dtl files) to be 'ignored' ?
I tried just adding the 1st one that causes a prob :
-Xdtl.containers.map .. but it doesn't seem to make any difference


-Xdtl
_________________
Chris Nicholson-Sauls
Back to top
View user's profile Send private message AIM Address Yahoo Messenger
Derek Parnell



Joined: 22 Apr 2004
Posts: 408
Location: Melbourne, Australia

PostPosted: Wed Oct 04, 2006 7:03 pm    Post subject: Re: bud with gdc 3.03 (windows) ?? Reply with quote

Kwez wrote:
hi,

I'm trying bud for the 1st time, but...

I can't get bud to work with gdc on windows.
(build 3.03)

1- bud looks for dmd.exe,
so I tried copying win_gnu_build.cfg to build.cfg
but I get the following errors :

Quote:
D:\code\parseProadLog\D>bud main.d -v
Set Internal String 'MakeSilent = ` >nul`' ignored ... unknown name.
*** build v3.03 (build 2370)***
Default target is 'main'
Current Dir 'D:\code\parseProadLog\D\'
gdc.exe not found in PATH symbol, so assuming current directory
Error: ArrayBoundsError build(2238)


note that if I just type gdc .. it IS found in the path.
I tried compiling bud myself, but get the same results.

(I tried removing the line in the cfg file that causes a warning, but it still crashes)
any help would be greatly appreciated

thx
Phil

Firstly the 'MakeSilent' is a mistake. It should be 'LinkerStdOut'.
Secondly, there is mistake in the way it handles CompilerExe symbol. I've fixed that now for the next release. For the moment, just use 'gdc' and not 'gdc.exe'.
_________________
--
Derek
skype name: derek.j.parnell
Back to top
View user's profile Send private message
Derek Parnell



Joined: 22 Apr 2004
Posts: 408
Location: Melbourne, Australia

PostPosted: Wed Oct 04, 2006 7:08 pm    Post subject: Re: some progress Reply with quote

Kwez wrote:
hi again,
I wanted to try to debug bud,
so I compiled a debug version using gdc ..
(had to modify the Makefile & util/fdt.d to compile w. gdc)


What did you have to change in util.fdt.d ?

Kwez wrote:
and
now bud seems to correctly find gdc & automatically use the proper config
(without any build.cfg files)

now I just have to figure out how to use bud correctly !

how do I specify a whole 'branch' (eg all the dtl files) to be 'ignored' ?
I tried just adding the 1st one that causes a prob :
-Xdtl.containers.map .. but it doesn't seem to make any difference

thx

What do you mean exactly by "doesn't seem to make any difference"?

Do you mean that it excluded "dtl.containers.map" but you still had problems, or do you mean that it did not exclude "dtl.containers.map"?

To exclude the entire package use -Xdtl
_________________
--
Derek
skype name: derek.j.parnell
Back to top
View user's profile Send private message
Kwez



Joined: 03 Oct 2006
Posts: 12

PostPosted: Wed Oct 04, 2006 9:23 pm    Post subject: Reply with quote

these lines:
version(Windows) static import opsys = std.c.windows.windows;
version(linux) static import opsys = std.c.linux.linux;
version(darwin) static import opsys = std.c.darwin.darwin;
version(Unix) static import opsys = std.c.unix;
version(Posix) static import std.string;

cause this:
util\fdt.d:69: ';' expected
util\fdt.d:69: no identifier for declarator std.c.windows.windows
util\fdt.d:70: ';' expected
util\fdt.d:70: no identifier for declarator std.c.linux.linux
util\fdt.d:71: ';' expected
util\fdt.d:71: no identifier for declarator std.c.darwin.darwin
util\fdt.d:72: ';' expected
util\fdt.d:72: no identifier for declarator std.c.unix
util\fdt.d:69: module opsys cannot read file 'opsys.d'
util\fdt.d:69: ';' expected
util\fdt.d:69: no identifier for declarator std.c.windows.windows
util\fdt.d:70: ';' expected
util\fdt.d:70: no identifier for declarator std.c.linux.linux
util\fdt.d:71: ';' expected
util\fdt.d:71: no identifier for declarator std.c.darwin.darwin
util\fdt.d:72: ';' expected
util\fdt.d:72: no identifier for declarator std.c.unix
util\fdt.d:69: module opsys cannot read file 'opsys.d'
util/fdt.d:69: ';' expected
util/fdt.d:69: no identifier for declarator std.c.windows.windows
util/fdt.d:70: ';' expected
util/fdt.d:70: no identifier for declarator std.c.linux.linux
util/fdt.d:71: ';' expected
util/fdt.d:71: no identifier for declarator std.c.darwin.darwin
util/fdt.d:72: ';' expected
util/fdt.d:72: no identifier for declarator std.c.unix
make: *** [build] Error 1

so I did this (I'm a D newbie by the way ;-) :

version(Windows) {
static import std.c.windows.windows;
alias std.c.windows.windows opsys;
}
//~ version(Windows) static import opsys = std.c.windows.windows;
//~ version(linux) static import opsys = std.c.linux.linux;
//~ version(darwin) static import opsys = std.c.darwin.darwin;
//~ version(Unix) static import opsys = std.c.unix;
//~ version(Posix) static import std.string;
Back to top
View user's profile Send private message
Kwez



Joined: 03 Oct 2006
Posts: 12

PostPosted: Thu Oct 05, 2006 12:45 am    Post subject: Reply with quote

ok, here is more info I found out :

again, this is running bud on
Windows,
w. gdc using MSYS/MinGW.

=======

-Xdtl seems to work ...
except that it looks like bud calls gdc,
before doing any checking on the files ??

for eg. if I'm missing search paths, I'll get an error like :
lookfor.d:6: module map cannot read file 'dtl\containers\map.d'
lookfor.d:6: module map cannot read file 'dtl\containers\map.d'


or in some cases I get this error (again before scanning for modified files):
gdc.exe: main.exe: No such file or directory

=======
the default value for INIT:ImportPath = "-I "
does not work w. gdc

I need to use a build.cfg w.
INIT:ImportPath = -I

=======
when using build.cfg w an empty value for "INIT:CompilerPath"
in build.d :
Code:
    // crashes when vCompilerPath is empty (array out of bounds)
    if (vCompilerPath[length-1] != std.path.sep[0])
    {
        vCompilerPath ~= std.path.sep;
        util.str.SetEnv("@D", std.path.getDirName(vCompilerPath));
    }


============
in source.d, the object file extension ignores the config file value
(always .obj or .o based on windows/posix compile of bud)

also causes object files to be missing on the link command


============
some problems w. the link cmd:
(bud output w. -V)
Setting LIB=D:\dev\src\D\dtl\bin\Debug

Linking with ..........
main.o lookfor.o -o main.exe -ldtl.a

Running 'd:\mingw\bin\gdc.exe main.o lookfor.o -o main.exe -ldtl.a '
Failed. Return code: 0001


Setting LIB=D:\dev\src\D\dtl\bin\Debug
should be
Setting LIBRARY_PATH=D:\dev\src\D\dtl\bin\Debug

or should use the -L linker option !!
btw, this is done specific for the Windows built bud...
I would think it should be related to the compiler not the platform ?

also,
to link w. a library, we have to specify the lib extension, eg dtl.a
which adds "-ldtl.a" at link time ...
but it needs to be -ldtl !!
.. I tried passing -ldtl manually .. but it is used for compiling,
not for linking.
=======

thx all for the help
Philippe
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic     Forum Index -> Build All times are GMT - 6 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group