On 2012-01-06 23:38, Nick Sabalausky wrote:
"Jacob Carlborg"<[email protected]>  wrote in message
news:[email protected]...
I just released a new version of DVM, 0.4.0. The only thing new in this
release in the "compile" command. This allows to compile DMD, druntime and
Phobos from github. Create a folder, clone DMD, druntime and Phobos in the
newly create folder, run "dvm compile folder" to compile everything. The
compiler is placed in the DMD directory.


In other words:

$ git clone https://github.com/D-Programming-Language/dmd.git
$ git clone https://github.com/D-Programming-Language/druntime.git
$ git clone https://github.com/D-Programming-Language/phobos.git
$ git clone https://github.com/D-Programming-Language/tools.git  # for RDMD,
but this is optional
$ dvm compile
$ ./dmd/bin32/dmd  # or ./dmd/bin64/dmd
DMD32 D Compiler v2.0...
...etc...

If you notice it downloading the latest DMD release before compiling,
there's a reason for that: There are some files (from the bin and lib
directories) that aren't in github, so it grabs them from the latest DMD
release.

BTW, This isn't just for Git DMD, it can also recompile release versions of
DMD:

$ wget https://github.com/downloads/D-Programming-Language/dmd/dmd.2.057.zip
$ unzip dmd.2.057.zip
$ dvm compile ./dmd2  # the directory is optional, DVM's default is "."
$ ./dmd2/linux/bin32/dmd   # or ./dmd2/osx/bin64/dmd, etc...

DVM will automatically detect whether you have a git-style or release-style
project structure and act accordingly. Use DVM's -v (verbose) flag to see
which it detects. It also detects D1 vs D2, so it can be used to compile
D1/Phobos as well.

Be aware, it might have some trouble will really old releases of DMD 1 and 2
due to changes in the project structure and/or makefiles. But anything
remotely recent should work fine (if not, please file a bug).

If you're on Windows, it will automatically download and install DMC if DMC
isn't detected on the PATH (you can also do it with "dvm install dmc"). But
you may run into some "paths with spaces" trouble with the DMC toolchain
that I wasn't able to fully track down, so if that happens, you should
download DMC to a directory with no spaces:

$ dvm fetch dmc

and extract/install it manually.



Thanks for the elaborated explanation.

--
/Jacob Carlborg

Reply via email to