Re: Weird compiler

2016-06-19 Thread ZombineDev via Digitalmars-d

On Sunday, 19 June 2016 at 18:04:52 UTC, ZombineDev wrote:

On Sunday, 19 June 2016 at 16:24:53 UTC, mogu wrote:

On Sunday, 19 June 2016 at 15:06:40 UTC, David Nadlinger wrote:

On Sunday, 19 June 2016 at 14:05:22 UTC, mogu wrote:
It's awful that I compile a little 64bit program(or 
-m32mscoff) in windows must have visual studio which has 
tremendous size installed even though I only need a linker. 
It's weird that a compiler compiles to binary targets needs 
another compiler or tools. Sigh.


Microsoft now releases the Visual C++ Build Tools separately, 
which contain their C++ toolchain without the IDE parts 
(https://blogs.msdn.microsoft.com/vcblog/2016/03/31/announcing-the-official-release-of-the-visual-c-build-tools-2015/).


 — David


I just tested. After the build tools 2015 installed, DMD 
installer says "no compatible version(MSVC or SDK) founded, Do 
you want to install VS2013?".


Visual Studio / Windows SDK is detected by DMD only at 
install-time.
If you re-install DMD, it should detect the location of the VS 
tools.
If that doesn't work, you can always edit the config file 
yourself (sc.ini which is somewhere in the DMD install dir).


Sorry, I didn't fully read your message. It looks [1] the 
installer doesn't yet know how to handle the VS Build Tools. If 
you look at the installer code, you'll see that all it does to 
sc.ini is filling in these paths:

https://github.com/dlang/dmd/blob/master/ini/windows/bin/sc.ini#L99 . If you 
set the paths yourself it should work.


[1]: 
https://github.com/dlang/installer/blob/master/windows/d2-installer.nsi


Re: Weird compiler

2016-06-19 Thread ZombineDev via Digitalmars-d

On Sunday, 19 June 2016 at 16:24:53 UTC, mogu wrote:

On Sunday, 19 June 2016 at 15:06:40 UTC, David Nadlinger wrote:

On Sunday, 19 June 2016 at 14:05:22 UTC, mogu wrote:
It's awful that I compile a little 64bit program(or 
-m32mscoff) in windows must have visual studio which has 
tremendous size installed even though I only need a linker. 
It's weird that a compiler compiles to binary targets needs 
another compiler or tools. Sigh.


Microsoft now releases the Visual C++ Build Tools separately, 
which contain their C++ toolchain without the IDE parts 
(https://blogs.msdn.microsoft.com/vcblog/2016/03/31/announcing-the-official-release-of-the-visual-c-build-tools-2015/).


 — David


I just tested. After the build tools 2015 installed, DMD 
installer says "no compatible version(MSVC or SDK) founded, Do 
you want to install VS2013?".


Visual Studio / Windows SDK is detected by DMD only at 
install-time.
If you re-install DMD, it should detect the location of the VS 
tools.
If that doesn't work, you can always edit the config file 
yourself (sc.ini which is somewhere in the DMD install dir).


Re: Weird compiler

2016-06-19 Thread mogu via Digitalmars-d

On Sunday, 19 June 2016 at 15:06:40 UTC, David Nadlinger wrote:

On Sunday, 19 June 2016 at 14:05:22 UTC, mogu wrote:
It's awful that I compile a little 64bit program(or 
-m32mscoff) in windows must have visual studio which has 
tremendous size installed even though I only need a linker. 
It's weird that a compiler compiles to binary targets needs 
another compiler or tools. Sigh.


Microsoft now releases the Visual C++ Build Tools separately, 
which contain their C++ toolchain without the IDE parts 
(https://blogs.msdn.microsoft.com/vcblog/2016/03/31/announcing-the-official-release-of-the-visual-c-build-tools-2015/).


 — David


I just tested. After the build tools 2015 installed, DMD 
installer says "no compatible version(MSVC or SDK) founded, Do 
you want to install VS2013?".


Re: Weird compiler

2016-06-19 Thread Patrick Schluter via Digitalmars-d

On Sunday, 19 June 2016 at 14:45:43 UTC, Rene Zwanenburg wrote:

On Sunday, 19 June 2016 at 14:05:22 UTC, mogu wrote:
Today, I'm working on a private GUI tool which must be run at 
linux and windows. It's awful that I compile a little 64bit 
program(or -m32mscoff) in windows must have visual studio 
which has tremendous size installed even though I only need a 
linker. It's weird that a compiler compiles to binary targets 
needs another compiler or tools. Sigh.


There's no need to install VS if you don't use it otherwise, 
the windows platform SDK should suffice; it comes with the 
microsoft linker and all the lib files, and the DMD installer 
should detect it just fine.


Then there should be a better pointer to the installation process.

I had similar issues as the OP to build on Windows. Installing 
the Visual Studio cruft is not as easy as it looks like. While it 
is probably a good ide and compiler it is a chore to install on 
somewhat atypical windows PC. At home, my windows is installed on 
a SSD and only a 52 GB partition (around 10 GB free), which means 
that big apps have to be installed on other partition. The Visual 
Studio cruft does not allow to do that correctly, it installs 
quite a lot of stuff on the system drive (and I suppose that the 
system crash I got 1 week after installation was linked to that 
installation). On my work PC the issue was a bit different, the 
sys partition is bigger, but we are behind an annoying proxy and 
the corporate policies are restricted, making the installation of 
it a real adventure (finding the downloadable .iso on microsoft's 
page requires a degree for itself).
While I understand that relying on Microsft tools simplifies the 
dmd compiler, it is really a big installation hurdle (on Linux 
the issue is quite different and has more to do with the 
braindead policies of our IT service. We must compile everything 
from sources and building dmd is difficult, building a D compiler 
that requires a D compiler to be built has some spice (this said 
gcc 5.1 was also not easy to build with gcc 4.4.7 preinstalled, 
gcc 4.4.7 fails on gcc 5.1, you have to build 4.7, with 4.7 4.8 
and 4.8 is the last version that can compile the C++ used in 
newer versions).




Re: Weird compiler

2016-06-19 Thread mogu via Digitalmars-d

On Sunday, 19 June 2016 at 15:06:40 UTC, David Nadlinger wrote:

On Sunday, 19 June 2016 at 14:05:22 UTC, mogu wrote:
It's awful that I compile a little 64bit program(or 
-m32mscoff) in windows must have visual studio which has 
tremendous size installed even though I only need a linker. 
It's weird that a compiler compiles to binary targets needs 
another compiler or tools. Sigh.


Microsoft now releases the Visual C++ Build Tools separately, 
which contain their C++ toolchain without the IDE parts 
(https://blogs.msdn.microsoft.com/vcblog/2016/03/31/announcing-the-official-release-of-the-visual-c-build-tools-2015/).


 — David


Thanks. But it's also too big. At least you need 3GB free space.


Re: Weird compiler

2016-06-19 Thread mogu via Digitalmars-d

On Sunday, 19 June 2016 at 15:00:07 UTC, Rene Zwanenburg wrote:

Don't underestimate the value of fast compilation, it's 
incredibly useful while writing code.


Sorry for my tone. After waste so much time, I've been a little 
mad. :(

In fact, I'm an advocator of meta-programming.


Re: Weird compiler

2016-06-19 Thread David Nadlinger via Digitalmars-d

On Sunday, 19 June 2016 at 14:05:22 UTC, mogu wrote:
It's awful that I compile a little 64bit program(or -m32mscoff) 
in windows must have visual studio which has tremendous size 
installed even though I only need a linker. It's weird that a 
compiler compiles to binary targets needs another compiler or 
tools. Sigh.


Microsoft now releases the Visual C++ Build Tools separately, 
which contain their C++ toolchain without the IDE parts 
(https://blogs.msdn.microsoft.com/vcblog/2016/03/31/announcing-the-official-release-of-the-visual-c-build-tools-2015/).


 — David


Re: Weird compiler

2016-06-19 Thread Rene Zwanenburg via Digitalmars-d

On Sunday, 19 June 2016 at 14:45:29 UTC, mogu wrote:
Moreover, I wonder if D is really a cross-platform programming 
language?! The official dmd only supports x86 structure. You 
can never build a project with third party static library in 
windows independently.


Back when DMD on windows exclusively used the OMF object format 
and optlink, a common complaint was that DMD didn't use the 
microsoft tools. I guess the DMD installer could ask to install 
the SDK when VS isn't present though.


And how I can build an android program? LDC2? So what dmd is? 
Only for a bit faster compiling time?


Yeah, use LDC or GDC for the fastest executables and widest 
platform support. Don't underestimate the value of fast 
compilation, it's incredibly useful while writing code.


After a whole day struggled in dmd and static library, I 
rewrote the demo GUI tool in Nim. Only in ten minutes, all 
works. Sigh.


You can always post in the forums if you're stuck. The learn 
forum is quite active most of the day.


Re: Weird compiler

2016-06-19 Thread Rene Zwanenburg via Digitalmars-d

On Sunday, 19 June 2016 at 14:05:22 UTC, mogu wrote:
Today, I'm working on a private GUI tool which must be run at 
linux and windows. It's awful that I compile a little 64bit 
program(or -m32mscoff) in windows must have visual studio which 
has tremendous size installed even though I only need a linker. 
It's weird that a compiler compiles to binary targets needs 
another compiler or tools. Sigh.


There's no need to install VS if you don't use it otherwise, the 
windows platform SDK should suffice; it comes with the microsoft 
linker and all the lib files, and the DMD installer should detect 
it just fine.


Re: Weird compiler

2016-06-19 Thread mogu via Digitalmars-d
Moreover, I wonder if D is really a cross-platform programming 
language?! The official dmd only supports x86 structure. You can 
never build a project with third party static library in windows 
independently. And how I can build an android program? LDC2? So 
what dmd is? Only for a bit faster compiling time?


I love D so much, but it's tools so ...

After a whole day struggled in dmd and static library, I rewrote 
the demo GUI tool in Nim. Only in ten minutes, all works. Sigh.