Re: CDC- Compile D Code
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
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
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
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
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.