Thread overview | ||||||
---|---|---|---|---|---|---|
|
July 24, 2013 Recommendation for a D build system | ||||
---|---|---|---|---|
| ||||
I have some old D code and I wanted to improve its build system: that code was using a .bat and shell script with dmd, manually listing all the .d files to be linked! Don't ask me why I didn't use at least a Makefile, I don't recall, this is quite old code. What would you currently recommend to build a not very big D codebase? (if you use just dmd / rdmd, to not depend on another tool, *how* do you use it?) -- Luís |
July 24, 2013 Re: Recommendation for a D build system | ||||
---|---|---|---|---|
| ||||
Posted in reply to Luís Marques | On Wednesday, 24 July 2013 at 12:24:26 UTC, Luís Marques wrote:
> I have some old D code and I wanted to improve its build system: that code was using a .bat and shell script with dmd, manually listing all the .d files to be linked! Don't ask me why I didn't use at least a Makefile, I don't recall, this is quite old code.
>
> What would you currently recommend to build a not very big D codebase?
>
> (if you use just dmd / rdmd, to not depend on another tool, *how* do you use it?)
>
> --
> Luís
If code amount is relatively small (and building does not involve calling any external tools), I'd stick with rdmd.
`rdmd --build-only <any dmd flags here> main.d` and let it figure out all imports.
|
July 24, 2013 Re: Recommendation for a D build system | ||||
---|---|---|---|---|
| ||||
Posted in reply to Dicebot | On 2013-07-24 14:34, Dicebot wrote: > If code amount is relatively small (and building does not involve > calling any external tools), I'd stick with rdmd. > `rdmd --build-only <any dmd flags here> main.d` and let it figure out > all imports. I use rdmd as well. I'm using two shell script, one to build the application and one to run it. Looking something like this: #!/bin/sh ## Choose the compiler to use, if DVM is available if [ -s "$HOME/.dvm/scripts/dvm" ] ; then . "$HOME/.dvm/scripts/dvm" ; dvm use 2.063.2 fi ## Compile the file containing the main function, in this case main.d rdmd --build-only -ofbin/main "$@" main.d And then the script for running: #!/bin/sh # Build the application ./build.sh # Run the application if the build succeeded if [ "$?" = 0 ] ; then ./bin/main "$@" fi The "$@" allows to pass in arguments to the compiler when building and arguments to the application when running. -- /Jacob Carlborg |
July 24, 2013 Re: Recommendation for a D build system | ||||
---|---|---|---|---|
| ||||
Posted in reply to Luís Marques | On Wednesday, 24 July 2013 at 12:24:26 UTC, Luís Marques wrote: > I have some old D code and I wanted to improve its build system: that code was using a .bat and shell script with dmd, manually listing all the .d files to be linked! Don't ask me why I didn't use at least a Makefile, I don't recall, this is quite old code. > > What would you currently recommend to build a not very big D codebase? > > (if you use just dmd / rdmd, to not depend on another tool, *how* do you use it?) > > -- > Luís This may be more than you need if your code base is very small, but this build system looks promising for medium sized and up code base. Worth a look if you plan to expand, or have mixed in C/C++ code. Bottom-up-build (bub) http://forum.dlang.org/thread/kqfvts$2ut8$1@digitalmars.com --rt |
Copyright © 1999-2021 by the D Language Foundation