D1 & D2 alpha's for Win64
Rainer Schuetze
r.sagitario at gmx.de
Mon Oct 15 00:09:44 PDT 2012
On 10/15/2012 3:44 AM, Walter Bright wrote:
> On 10/14/2012 6:08 PM, Andrej Mitrovic wrote:
> > Ok so we're only supposed to compile with -c when using -m64? I don't
> > suppose DMD could automatically invoke the VC linker?
> >
>
> It does automatically invoke the VC linker.
>
> You'll need to set the VCINSTALLDIR environment variable. I set it with
> sc.ini as:
>
> ---------------------
> [Environment]
> LIB=c:\cbx\mars\phobos;c:\cbx\mars\druntime\lib;c:\dm\lib\;c:\curl\lib
> DDFLAGS=-Ic:\cbx\mars\phobos
> DFLAGS=-Ic:\cbx\mars\phobos;c:\cbx\mars\druntime\import
> #LINKCMD=c:\dm\bin\link.exe
> VCINSTALLDIR=C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\
> WindowsSdkDir=C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\
> ----------------------
I guess there should be different environments for each architecture
specified in sc.ini. Especially the LIB variable will never mix because
the windows sdk libraries are called the same on both architectures.
A problem with that is the DFLAGS variable: it is read before the
command line, so you don't know whether -m32 or -m64 is passed (and it
might even specify the switch itself), so you don't know which
architecture to use.
A solution might be to have additional environment blocks
[Environment32] and [Environment64] that are evaluated after the command
line processing.
More information about the Digitalmars-d-announce
mailing list