www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.learn - Which GDC to download?

reply NX <nightmarex1337 hotmail.com> writes:
Windows X86 64bit (x86_64-w64-mingw32)

Standard builds
Target			DMDFE		Runtime	GCC	GDC revision	Build Date
arm-linux-gnueabi	2.066.1	yes	5.2.0		dadb5a3784	2015-08-30
arm-linux-gnueabihf	2.066.1	yes	5.2.0		dadb5a3784	2015-08-30
x86_64-w64-mingw32	2.066.1	yes	5.2.0		dadb5a3784	2015-08-30

I'm totally confused about what does these mean:

1) Why there is a download targeting arm-linux-gnueabi(hf) and 
what exactly it means? Is this a cross-compiler which will 
produce obj files containing ARM instructions or what? If so, 
will linking just work? and how?

2) Is what I understand from "cross-compiler" correct? (a 
compiler that can target different architectures than the host 
architecture it's compiled for)

3) Which one to choose if I just want to write & compile windows 
programs?

4) x86_64-w64-mingw32 is commented as "Unsupported alpha build. 
SEH"? is that means windows-targeting version of the compiler is 
highly unstable/not ready yet? What's "SEH"?
Oct 01 2015
next sibling parent Adam D. Ruppe <destructionator gmail.com> writes:
On Thursday, 1 October 2015 at 12:04:40 UTC, NX wrote:
 1) Why there is a download targeting arm-linux-gnueabi(hf) and 
 what exactly it means? Is this a cross-compiler which will 
 produce obj files containing ARM instructions or what? If so, 
 will linking just work? and how?
Yes, that's a cross compiler. You run it on Windows to produce programs for an ARM device running Linux (for example, you do your development on Windows but want the program to run on a Raspberry Pi)
 3) Which one to choose if I just want to write & compile 
 windows programs?
The x86_64-w64-mingw32 one. That means Intel processor, Windows 64 bit. mingw32 is the library used by gcc to make Windows programs. You could also use the 32 bit one below, i686-w64-mingw32, both should work on Windows.
 4) x86_64-w64-mingw32 is commented as "Unsupported alpha build. 
 SEH"? is that means windows-targeting version of the compiler 
 is highly unstable/not ready yet? What's "SEH"?
SEH is Windows' "Structured Exception Handling". The open source compilers (not just D, basically all of them) historically haven't done a great job implementing that but have recently been fixing their problems. You'll probably be fine using it though.
Oct 01 2015
prev sibling parent reply Johannes Pfau <nospam example.com> writes:
Am Thu, 01 Oct 2015 12:04:38 +0000
schrieb NX <nightmarex1337 hotmail.com>:

 Windows X86 64bit (x86_64-w64-mingw32)
 
 Standard builds
 Target			DMDFE		Runtime
 GCC	GDC revision	Build Date arm-linux-gnueabi
 2.066.1	yes	5.2.0		dadb5a3784
 2015-08-30 arm-linux-gnueabihf	2.066.1	yes
 5.2.0		dadb5a3784	2015-08-30
 x86_64-w64-mingw32	2.066.1	yes
 5.2.0		dadb5a3784	2015-08-30
 
 I'm totally confused about what does these mean:
 
 1) Why there is a download targeting arm-linux-gnueabi(hf) and 
 what exactly it means? Is this a cross-compiler which will 
 produce obj files containing ARM instructions or what? If so, 
 will linking just work? and how?
Linking only works for libraries which are included with the cross compiler. That usually means only the C/C++/D standard libraries will be available. You can link to other libraries with a cross-compiler, but you need to provides these libraries in some way: http://wiki.dlang.org/GDC/Cross_Compiler http://wiki.dlang.org/GDC/Cross_Compiler/Existing_Sysroot http://wiki.dlang.org/GDC/Cross_Compiler/Existing_Sysroot#Using_a_compiler_from_gdcproject.org.2Fdownloads For more information: http://build-gdc.readthedocs.org/en/latest/Cross-Compiler%20Basics/
 
 2) Is what I understand from "cross-compiler" correct? (a 
 compiler that can target different architectures than the host 
 architecture it's compiled for)
 
 3) Which one to choose if I just want to write & compile windows 
 programs?
 
Adding to Adams answer I guess we (the GDC team) have to somehow present 'native compilers' more prominently.
 4) x86_64-w64-mingw32 is commented as "Unsupported alpha build. 
 SEH"? is that means windows-targeting version of the compiler is 
 highly unstable/not ready yet? What's "SEH"?
Unfortunately Windows GDC builds are very unstable right now. I'd recommend using DMD or LDC for Windows.
Oct 01 2015
parent NX <nightmarex1337 hotmail.com> writes:
Thanks both to you for answers...

On Thursday, 1 October 2015 at 14:07:02 UTC, Johannes Pfau wrote:
 Unfortunately Windows GDC builds are very unstable right now. 
 I'd recommend using DMD or LDC for Windows.
Well... To me it's surprising GDC is not usable on windows but I doubt LDC is more stable. Sad... *Cries in Turkish*
Oct 01 2015