On 2011-06-05 03:03, Nick Sabalausky wrote:
"Nick Sabalausky"<[email protected]> wrote in message
news:[email protected]...
"Jacob Carlborg"<[email protected]> wrote in message
news:[email protected]...
On 2011-06-04 12:44, Nick Sabalausky wrote:
I've been working on a fork of Jacob Carlborg's excellent DVM tool (D
Version Manager) to add Windows support. It should now be fully-usable
on
Windows, with the exception of installing Tango and any post-v0.2.0
features
(I haven't yet merged in any changes from upstream since I originally
forked
v0.2.0.) I figure I'll submit a pull request after I've gotten those
features merged in and working.
This is great news, I'll merge your changes as soon as you are ready for
a pull request. I'm interested in knowing how the "use" command works.
I've quickly skimmed through your code and noticed some references to the
registry that I suspect has something to do with it. This was the biggest
obstacle for me to implement a Windows version.
Yea, I intended to explain all of that on the wiki down in the "Technical
Differences From Linux Version" section, but I couldn't think anymore and
needed to go to bed ;) I'll fill that in today.
All the technical details you should need to know are up on the Wiki now:
https://bitbucket.org/Abscissa256/dvm/wiki/Home
Let me know if anything's missing or you're unclear on something (or have
any other questions).
I'm still having trouble understanding how the "use" command works, this
may just be because I don't know the differences between Posix and
Windows in this case. On Posix it behaves like this:
When I run, on the command line, an application or a shell script and it
sets environment variables, i.e. PATH, they won't be available to the
shell that run the app/script. This is the whole reason for the shell
function and "sourcing" a result file on Posix.
Is this not the case when running an application or a batch script on
Windows?
Another thing, about the dvm-default-dc and dvm-current-dc scripts.
They're actually not really necessary on Posix for DVM to work but they
can be used by other applications, like GUI applications.
For example, if you set the current D compiler using "dvm use 2.053" and
want to run DMD from your editor. If you just run "dmd" it won't use
2.053, it will use the default D compiler or it won't find DMD. Instead
you can refer to the full path of "dvm-current-dc" which will always
point to the current D compiler. Similar "dvm-default-dc" will always
point the default D compiler. I don't know if Windows has this problem.
--
/Jacob Carlborg