On Tue, Feb 14, 2012 at 9:40 AM, Sean Kelly <[email protected]> wrote:
> It does help that Visual Studio ships with a batch file to open a console > configured for using vc++. Just don't use that when working on D apps. > > While fixing up some PATH setting issues with the installer I've wondered if a similar batch file for D would be helpful to anyone. Is there any interest in that option? I'd probably change the installer to make setting the PATH optional if I added that. Right now there is no indication that the installer is going to change your path which is a bit rude (especially when the installer used to fail and erase the entire PATH in some cases). Regards, Brad Anderson > On Feb 14, 2012, at 1:04 AM, Walter Bright <[email protected]> > wrote: > > > On 2/14/2012 12:50 AM, Vincent wrote: > >>>> * Improvement potential #3 -- Linker executable name. > >>>> > >>>> The name [link.exe] conflicts with Microsoft's linker. Please name it > >>>> [optlink.exe]. > >> > >>> This is why we switched away from relying solely on environment > variables, such > >>> as PATH, to find the programs and set options. Instead, sc.ini is used: > >> > >> Hi, Walter! > >> I support Alf in renaming initiative. Even if you were so smart to use > sc.ini, > >> other vedors are not! > > > > It's fine if they do not, as sc.ini is designed to override any path set > in the environment. > > > > > >> I put dmd/bin in PATH where dmd.exe can be found (obvious solution), BUT > >> link.exe sit at the same place! > >> Despite what dmd.exe uses, MS tools will catch wrong link.exe or dmd > will catch > >> MS' link.exe (if you put MS tools first in PATH). > >> So it's MUCH easier to rename link.exe (it's not a trademark, what a > problem!), > >> than spreading curses every time you get strange error from compiler. > >> Situation is that MS is dominating on the market, so DM should adapt > its tools > >> to be most painless after you add 'em on computer. > >> > >> Good luck! > > > > I am loathe to break 20+ years of working makefiles. > > > > But there is a simple solution for your case. Create a batch file, > dmd.bat, with the contents: > > > > c:\dmd\windows\bin\dmd %1 %2 %3 %4 > > > > and put it somewhere in your PATH. Then, dmd will run the correct > dmd.exe without it being on the PATH, and it will find the correct link.exe > (because of sc.ini). Meanwhile, if you just type link, it will find your > MS-LINK. > > > > But what most people do is have multiple .bat files, one for each > compiler, to switcheroo the environment for the compiler they wish to use > at the moment. After all, it isn't just link.exe. It's all the tools, the > .h files, the library files, etc. > > >
