www.digitalmars.com         C & C++   DMDScript  

digitalmars.D - Is it possible to build DMD using Windows SDK?

reply Andre Tampubolon <andre lc.vlsm.org> writes:
Hi folks,

Now I'm using Win 7 64 (for work). It don't have MSVC installed, but Win
7 SDK.
I tried to built DMD using it, but failed:
C:\Downloads\Software\DigitalMars\d-git\dmd\src>vcbuild\builddmd.bat
vcbuild\dmc_cl -c -Iroot;vcbuild   /Zi -cpp  mars -Ae
cl : Command line warning D9026 : options apply to entire command line
vcbuild.c
c1xx : fatal error C1083: Cannot open source file: 'vcbuild.c': No such
file or
directory
mars.c
C:\Program Files\Microsoft SDKs\Windows\v7.1\INCLUDE\winnt.h(480) :
warning C400
5: 'TEXT' : macro redefinition

c:\downloads\software\digitalmars\d-git\dmd\src\root\dchar.h(148) : see
previous definition of 'TEXT'
Generating Code...

--- errorlevel 2

Any suggestions?
Apr 24 2012
parent reply "David Nadlinger" <see klickverbot.at> writes:
On Tuesday, 24 April 2012 at 13:47:30 UTC, Andre Tampubolon wrote:
 Any suggestions?

In case he doesn't read your message here anyway, you might want to ping Rainer Schuetze directly, as he is the one who worked on VC support. David
Apr 24 2012
parent reply Rainer Schuetze <r.sagitario gmx.de> writes:
On 4/24/2012 6:43 PM, David Nadlinger wrote:
 On Tuesday, 24 April 2012 at 13:47:30 UTC, Andre Tampubolon wrote:
 Any suggestions?

In case he doesn't read your message here anyway, you might want to ping Rainer Schuetze directly, as he is the one who worked on VC support. David

Unfortunately some changes to the makefile have been reverted, but I don't know why. This is the version that should work: https://github.com/D-Programming-Language/dmd/blob/965d831df554fe14c793ce0d6a1dc9f0b2956911/src/win32.mak
Apr 24 2012
parent reply Andre Tampubolon <andre lc.vlsm.org> writes:
Rainer Schuetze <r.sagitario gmx.de> wrote:
 On 4/24/2012 6:43 PM, David Nadlinger wrote:
 On Tuesday, 24 April 2012 at 13:47:30 UTC, Andre Tampubolon wrote:
 Any suggestions?

In case he doesn't read your message here anyway, you might want to ping Rainer Schuetze directly, as he is the one who worked on VC support. David

Unfortunately some changes to the makefile have been reverted, but I don't know why. This is the version that should work: https://github.com/D-Programming-Language/dmd/blob/965d831df554fe14c793ce0d6a1dc9f0b2956911/src/win32.mak

But that one is still using dmc, right? I tried to use "CC=cl" (of course MS' cl), and got a bunch of errors.
Apr 26 2012
parent reply Rainer Schuetze <r.sagitario gmx.de> writes:
On 4/26/2012 2:40 PM, Andre Tampubolon wrote:
 Rainer Schuetze<r.sagitario gmx.de>  wrote:
 On 4/24/2012 6:43 PM, David Nadlinger wrote:
 On Tuesday, 24 April 2012 at 13:47:30 UTC, Andre Tampubolon wrote:
 Any suggestions?

In case he doesn't read your message here anyway, you might want to ping Rainer Schuetze directly, as he is the one who worked on VC support. David

Unfortunately some changes to the makefile have been reverted, but I don't know why. This is the version that should work: https://github.com/D-Programming-Language/dmd/blob/965d831df554fe14c793ce0d6a1dc9f0b2956911/src/win32.mak

But that one is still using dmc, right? I tried to use "CC=cl" (of course MS' cl), and got a bunch of errors.

You should still use vcbuild\builddmd.bat which replaces dmc with dmc_cl, a batch that replaces dmc's options with the respective cl options.
Apr 26 2012
parent reply Andre Tampubolon <andre lc.vlsm.org> writes:
On 4/27/2012 1:30 AM, Rainer Schuetze wrote:
 
 
 On 4/26/2012 2:40 PM, Andre Tampubolon wrote:
 Rainer Schuetze<r.sagitario gmx.de>  wrote:
 On 4/24/2012 6:43 PM, David Nadlinger wrote:
 On Tuesday, 24 April 2012 at 13:47:30 UTC, Andre Tampubolon wrote:
 Any suggestions?

In case he doesn't read your message here anyway, you might want to ping Rainer Schuetze directly, as he is the one who worked on VC support. David

Unfortunately some changes to the makefile have been reverted, but I don't know why. This is the version that should work: https://github.com/D-Programming-Language/dmd/blob/965d831df554fe14c793ce0d6a1dc9f0b2956911/src/win32.mak

But that one is still using dmc, right? I tried to use "CC=cl" (of course MS' cl), and got a bunch of errors.

You should still use vcbuild\builddmd.bat which replaces dmc with dmc_cl, a batch that replaces dmc's options with the respective cl options.

Well I used vcbuild\builddmd.bat (see my first post), and it failed.
Apr 26 2012
parent reply Rainer Schuetze <r.sagitario gmx.de> writes:
On 4/27/2012 7:30 AM, Andre Tampubolon wrote:
 On 4/27/2012 1:30 AM, Rainer Schuetze wrote:
 On 4/26/2012 2:40 PM, Andre Tampubolon wrote:
 Rainer Schuetze<r.sagitario gmx.de>   wrote:
 On 4/24/2012 6:43 PM, David Nadlinger wrote:
 On Tuesday, 24 April 2012 at 13:47:30 UTC, Andre Tampubolon wrote:
 Any suggestions?

In case he doesn't read your message here anyway, you might want to ping Rainer Schuetze directly, as he is the one who worked on VC support. David

Unfortunately some changes to the makefile have been reverted, but I don't know why. This is the version that should work: https://github.com/D-Programming-Language/dmd/blob/965d831df554fe14c793ce0d6a1dc9f0b2956911/src/win32.mak

But that one is still using dmc, right? I tried to use "CC=cl" (of course MS' cl), and got a bunch of errors.

You should still use vcbuild\builddmd.bat which replaces dmc with dmc_cl, a batch that replaces dmc's options with the respective cl options.

Well I used vcbuild\builddmd.bat (see my first post), and it failed.

You have to use vcbuild\builddmd.bat with the older win32.mak. I actually tried it and it worked for me a few days ago with the compiler that comes with VS2008.
Apr 28 2012
parent reply Andre Tampubolon <andre lc.vlsm.org> writes:
On 4/28/2012 9:01 PM, Rainer Schuetze wrote:
 
 
 On 4/27/2012 7:30 AM, Andre Tampubolon wrote:
 On 4/27/2012 1:30 AM, Rainer Schuetze wrote:
 On 4/26/2012 2:40 PM, Andre Tampubolon wrote:
 Rainer Schuetze<r.sagitario gmx.de>   wrote:
 On 4/24/2012 6:43 PM, David Nadlinger wrote:
 On Tuesday, 24 April 2012 at 13:47:30 UTC, Andre Tampubolon wrote:
 Any suggestions?

In case he doesn't read your message here anyway, you might want to ping Rainer Schuetze directly, as he is the one who worked on VC support. David

Unfortunately some changes to the makefile have been reverted, but I don't know why. This is the version that should work: https://github.com/D-Programming-Language/dmd/blob/965d831df554fe14c793ce0d6a1dc9f0b2956911/src/win32.mak

But that one is still using dmc, right? I tried to use "CC=cl" (of course MS' cl), and got a bunch of errors.

You should still use vcbuild\builddmd.bat which replaces dmc with dmc_cl, a batch that replaces dmc's options with the respective cl options.

Well I used vcbuild\builddmd.bat (see my first post), and it failed.

You have to use vcbuild\builddmd.bat with the older win32.mak. I actually tried it and it worked for me a few days ago with the compiler that comes with VS2008.

Ah, OK. I guess I messed with the batch files up, and then I tried once again. The compilation worked, but then I got these linker errors. http://pastebin.com/Ech3RNLV
Apr 29 2012
parent Rainer Schuetze <r.sagitario gmx.de> writes:
On 4/30/2012 4:25 AM, Andre Tampubolon wrote:
 On 4/28/2012 9:01 PM, Rainer Schuetze wrote:
 On 4/27/2012 7:30 AM, Andre Tampubolon wrote:
 On 4/27/2012 1:30 AM, Rainer Schuetze wrote:
 On 4/26/2012 2:40 PM, Andre Tampubolon wrote:
 Rainer Schuetze<r.sagitario gmx.de>    wrote:
 On 4/24/2012 6:43 PM, David Nadlinger wrote:
 On Tuesday, 24 April 2012 at 13:47:30 UTC, Andre Tampubolon wrote:
 Any suggestions?

In case he doesn't read your message here anyway, you might want to ping Rainer Schuetze directly, as he is the one who worked on VC support. David

Unfortunately some changes to the makefile have been reverted, but I don't know why. This is the version that should work: https://github.com/D-Programming-Language/dmd/blob/965d831df554fe14c793ce0d6a1dc9f0b2956911/src/win32.mak

But that one is still using dmc, right? I tried to use "CC=cl" (of course MS' cl), and got a bunch of errors.

You should still use vcbuild\builddmd.bat which replaces dmc with dmc_cl, a batch that replaces dmc's options with the respective cl options.

Well I used vcbuild\builddmd.bat (see my first post), and it failed.

You have to use vcbuild\builddmd.bat with the older win32.mak. I actually tried it and it worked for me a few days ago with the compiler that comes with VS2008.

Ah, OK. I guess I messed with the batch files up, and then I tried once again. The compilation worked, but then I got these linker errors. http://pastebin.com/Ech3RNLV

It seems you are building with the x64-compiler. The win32.mak makefile only supports Win32 builds, so please switch your path variable to point to the 32-bit compiler. The VS project supports building an x64 executable of dmd, but it involves assembling vcbuild\ldfpu.asm. The resulting dmd still generates Win32-code, though.
Apr 30 2012