Re: CDC- Compile D Code

2009-07-03 Thread Michael P.
Eric Poggel Wrote:

> Hello,
> 
> I wrote a new build tool for D.  I'm calling it CDC (for Compile D 
> Code).  It's hosted at http://dsource.org/projects/cdc .  I'm open to 
> any ideas or constructive criticism.  My target here is anyone looking 
> for a very simple build solution, not an everything and the kitchen sink 
> project like DSSS (not that that's a bad thing).
> 
> 
>  From the project description:
> 
> This is a D programming language build script (and library) that can be 
> used to compile D (version 1) source code. Unlike Bud, DSSS/Rebuild, 
> Jake, and similar tools, CDC is contained within a single file that can 
> easily be distributed with projects. This simplifies the build process 
> since no other tools are required. The customBuild() function can be 
> utilized to turn CDC into a custom build script for your project.
> 
> CDC's only requirement is a D compiler. It is/will be supported on any 
> operating system supported by the language. It works with dmd, ldc 
> (soon), and gdc, phobos or tango.
> 
> CDC can be used just like dmd, except for the following improvements.
> 
>  * CDC can accept paths as as well as individual source files for
>compilation. Each path is recursively searched for source,
>library,
>object, and ddoc files.
>  * CDC automatically creates a modules.ddoc file for use with
>CandyDoc? and similar documentation utilities.
>  * CDC defaults to use the compiler that was used to build itself.
>Compiler flags are passed straight through to that compiler.
>  * The -op flag is always used, to prevent name conflicts in object
>and doc files.
>  * Documentation files are all placed in the same folder with their
>full package names. This makes relative links between documents
>easier.

It didn't build right away for me with DMD1.045 + Phobos.
I changed line 141 which is:
import std.c.time : sleep;
to
import std.c.time : sleep, usleep;
And it built fine.
The errors were:
mich...@ubuntu:~/d/cdc/trunk$ dmd cdc.d
cdc.d(623): Error: undefined identifier usleep
cdc.d(623): Error: function expected before (), not usleep of type int


Re: CDC- Compile D Code

2009-07-03 Thread Eric Poggel

Michael P. wrote:

Eric Poggel Wrote:


Hello,

I wrote a new build tool for D.  I'm calling it CDC (for Compile D 
Code).  It's hosted at http://dsource.org/projects/cdc .  I'm open to 
any ideas or constructive criticism.  My target here is anyone looking 
for a very simple build solution, not an everything and the kitchen sink 
project like DSSS (not that that's a bad thing).



 From the project description:

This is a D programming language build script (and library) that can be 
used to compile D (version 1) source code. Unlike Bud, DSSS/Rebuild, 
Jake, and similar tools, CDC is contained within a single file that can 
easily be distributed with projects. This simplifies the build process 
since no other tools are required. The customBuild() function can be 
utilized to turn CDC into a custom build script for your project.


CDC's only requirement is a D compiler. It is/will be supported on any 
operating system supported by the language. It works with dmd, ldc 
(soon), and gdc, phobos or tango.


CDC can be used just like dmd, except for the following improvements.

 * CDC can accept paths as as well as individual source files for
   compilation. Each path is recursively searched for source,
   library,
   object, and ddoc files.
 * CDC automatically creates a modules.ddoc file for use with
   CandyDoc? and similar documentation utilities.
 * CDC defaults to use the compiler that was used to build itself.
   Compiler flags are passed straight through to that compiler.
 * The -op flag is always used, to prevent name conflicts in object
   and doc files.
 * Documentation files are all placed in the same folder with their
   full package names. This makes relative links between documents
   easier.


It didn't build right away for me with DMD1.045 + Phobos.
I changed line 141 which is:
import std.c.time : sleep;
to
import std.c.time : sleep, usleep;
And it built fine.
The errors were:
mich...@ubuntu:~/d/cdc/trunk$ dmd cdc.d
cdc.d(623): Error: undefined identifier usleep
cdc.d(623): Error: function expected before (), not usleep of type int


Thanks.  Your patch is now committed.


Re: CDC- Compile D Code

2009-07-03 Thread Anders F Björklund

Eric Poggel wrote:
CDC's only requirement is a D compiler. It is/will be supported on any 
operating system supported by the language. It works with dmd, ldc 
(soon), and gdc, phobos or tango.


$ ./cdc -v cdc.d
/usr/bin/ld: unknown flag: -ocdc

Seems to be missing a space ?
translate["-of"] = "-o";


Works OK on Mac OS X otherwise...
(tested with Phobos if it matters)

--anders


Re: CDC- Compile D Code

2009-07-03 Thread Michael P.
Eric Poggel Wrote:

> Michael P. wrote:
> > Eric Poggel Wrote:
> > 
> >> Hello,
> >>
> >> I wrote a new build tool for D.  I'm calling it CDC (for Compile D 
> >> Code).  It's hosted at http://dsource.org/projects/cdc .  I'm open to 
> >> any ideas or constructive criticism.  My target here is anyone looking 
> >> for a very simple build solution, not an everything and the kitchen sink 
> >> project like DSSS (not that that's a bad thing).
> >>
> >>
> >>  From the project description:
> >>
> >> This is a D programming language build script (and library) that can be 
> >> used to compile D (version 1) source code. Unlike Bud, DSSS/Rebuild, 
> >> Jake, and similar tools, CDC is contained within a single file that can 
> >> easily be distributed with projects. This simplifies the build process 
> >> since no other tools are required. The customBuild() function can be 
> >> utilized to turn CDC into a custom build script for your project.
> >>
> >> CDC's only requirement is a D compiler. It is/will be supported on any 
> >> operating system supported by the language. It works with dmd, ldc 
> >> (soon), and gdc, phobos or tango.
> >>
> >> CDC can be used just like dmd, except for the following improvements.
> >>
> >>  * CDC can accept paths as as well as individual source files for
> >>compilation. Each path is recursively searched for source,
> >>library,
> >>object, and ddoc files.
> >>  * CDC automatically creates a modules.ddoc file for use with
> >>CandyDoc? and similar documentation utilities.
> >>  * CDC defaults to use the compiler that was used to build itself.
> >>Compiler flags are passed straight through to that compiler.
> >>  * The -op flag is always used, to prevent name conflicts in object
> >>and doc files.
> >>  * Documentation files are all placed in the same folder with their
> >>full package names. This makes relative links between documents
> >>easier.
> > 
> > It didn't build right away for me with DMD1.045 + Phobos.
> > I changed line 141 which is:
> > import std.c.time : sleep;
> > to
> > import std.c.time : sleep, usleep;
> > And it built fine.
> > The errors were:
> > mich...@ubuntu:~/d/cdc/trunk$ dmd cdc.d
> > cdc.d(623): Error: undefined identifier usleep
> > cdc.d(623): Error: function expected before (), not usleep of type int
> 
> Thanks.  Your patch is now committed.

No problem.
Also, on the home page, http://dsource.org/projects/cdc, it says the homepage 
is http://yage3d.net in that little box. Might want to change that as well.


Re: CDC- Compile D Code

2009-07-03 Thread Eric Poggel

Anders F Björklund wrote:

Eric Poggel wrote:
CDC's only requirement is a D compiler. It is/will be supported on any 
operating system supported by the language. It works with dmd, ldc 
(soon), and gdc, phobos or tango.


$ ./cdc -v cdc.d
/usr/bin/ld: unknown flag: -ocdc

Seems to be missing a space ?
translate["-of"] = "-o";


Works OK on Mac OS X otherwise...
(tested with Phobos if it matters)

--anders

Fixed.  thanks for the bug report.