digitalmars.D - Swift is based LLVM,what will the D's LDC do?
- FrankLike (3/3) Jun 04 2014 Apple's swift comes on,but only use on iOS,so D should develop
- Temtaime (11/11) Jun 04 2014 I think too that main branch of D should be LDC.
- FrankLike (1/4) Jun 04 2014 LDC's performance is very cool.
- Temtaime (2/2) Jun 04 2014 I thinks that too.
- Chris (7/10) Jun 04 2014 I do. I don't care about it when it's done and dusted and I
- Temtaime (1/1) Jun 04 2014 It debug builds ldc fast as dmd does.
- Chris (8/9) Jun 04 2014 I once had a program where it took considerably longer (in
- FrankLike (1/3) Jun 04 2014 It's a good job.
- Andrea Fontana (2/12) Jun 04 2014 I agree.
- Dejan Lekic (18/29) Jun 04 2014 No matter how I like LDC, I disagree.
- Temtaime (9/9) Jun 04 2014 The main problem is that ldc is outdated because there is no
- Iain Buclaw via Digitalmars-d (11/13) Jun 04 2014 Likewise. All I see is everyone talking and no action.
- MattCoder (9/11) Jun 04 2014 Please could you tell more about the requirements/background that
- Kai Nacke (23/35) Jun 04 2014 For LDC it should be quite easy. :-)
- Mattcoder (8/15) Jun 04 2014 To be honest I'm not a C++ guy, but I can fix and
- Kai Nacke (5/7) Jun 04 2014 There will also be pure D tasks, e.g. translating ldmd2 to D.
- Iain Buclaw via Digitalmars-d (19/30) Jun 04 2014 For a (needs more detail) overview, see: http://gdcproject.org/contribu...
- Mattcoder (8/20) Jun 04 2014 I'll read!
- David Nadlinger (14/16) Jun 04 2014 It's always great to see new people interested in helping out
- Andrew Edwards (2/9) Jun 04 2014 http://forum.dlang.org/group/digitalmars.D.ldc
- Walter Bright (2/3) Jun 04 2014 Shhhh! Don't let that secret get out!
-
Iain Buclaw via Digitalmars-d
(3/7)
Jun 05 2014
- Jonathan M Davis via Digitalmars-d (7/10) Jun 05 2014 LOL. Well, _technically_ speaking, something could be far more difficult...
- Jacob Carlborg (5/17) Jun 05 2014 I found it quite easy to start by implementing a new __traits feature.
- H. S. Teoh via Digitalmars-d (7/22) Jun 04 2014 [...]
- Iain Buclaw via Digitalmars-d (3/22) Jun 04 2014 Who wants to become a lieutenant? :o)
- FrankLike (2/3) Jun 04 2014 No,LDC is not easy to use as dmd,it must configure by Developers
- Iain Buclaw via Digitalmars-d (12/15) Jun 04 2014 Not even remotely true. DMD isn't easy to set-up either.
- H. S. Teoh via Digitalmars-d (28/38) Jun 04 2014 http://wiki.dlang.org/Building_DMD
- Iain Buclaw via Digitalmars-d (6/25) Jun 04 2014 Which doesn't list build dependencies or prerequesites. :o)
- H. S. Teoh via Digitalmars-d (16/47) Jun 04 2014 As far as I know, the only dependency is a working C/C++ compiler.
- Kai Nacke (10/14) Jun 04 2014 What do you miss? We provide binaries for common platforms
- Iain Buclaw via Digitalmars-d (5/19) Jun 04 2014 +1
- Jacob Carlborg (4/6) Jun 04 2014 Awesome, but where's the binary for OS X?
- Iain Buclaw via Digitalmars-d (8/12) Jun 04 2014 I have an OSX box to start porting. But there's a couple druntime
- Jacob Carlborg (11/17) Jun 05 2014 Yeah, TLS seems to be a recurring problem. I would prefer to have native...
- Iain Buclaw via Digitalmars-d (7/21) Jun 05 2014 I haven't tried hammering the server - it's a VM hosted on linode.
- Jacob Carlborg (5/10) Jun 05 2014 I was referring to if I can expect the links to continue to work in the
- Iain Buclaw via Digitalmars-d (3/12) Jun 05 2014 I don't expect them to move either.
- Russel Winder via Digitalmars-d (17/24) Jun 04 2014 LDC is (relatively) easy to build: for Git repository, run cmake for
- Iain Buclaw via Digitalmars-d (38/56) Jun 04 2014 I don't think there exists a *works for all* method of doing it, but the...
- John Colvin (6/11) Jun 05 2014 Unless I'm misunderstanding how the arch repositories work,
- Dicebot (6/18) Jun 05 2014 Well it is still not 100% legal because every single mirror owner
- John Colvin (7/27) Jun 05 2014 While I respect your point of view on the matter (and agree with
- John Colvin (6/34) Jun 05 2014 sorry, I phrased that badly: obviously it is the mirror owners
- Dicebot (6/18) Jun 05 2014 If they care. License is part of the package and package
- Johannes Pfau (5/26) Jun 05 2014 archlinux has a 'pragmatic' approach regarding licenses & patents
- Marco Leise (12/15) Jun 06 2014 On Gentoo, due to the compile-from-source mentality the user
- Walter Bright (4/6) Jun 04 2014 It still says nothing about doing:
- Iain Buclaw via Digitalmars-d (4/11) Jun 05 2014 Of course, if you are using D rather than wanting to help out with
- bioinfornatics (4/11) Jun 05 2014 On Fedora
- Dicebot (4/18) Jun 05 2014 pacman -Sy dlang-ldc
- nazriel (2/23) Jun 05 2014 <3 ;)
- Marco Leise (7/30) Jun 05 2014 Late for the show! On Gentoo:
- Walter Bright (2/15) Jun 05 2014 So, are you going to do a PR to fix the documentation?
- John (2/9) Jun 05 2014 Cool! I wish installing ldc is this easy too!
- Kai Nacke (4/16) Jun 05 2014 There is an up-to-date Debian package for LDC.
- Benjamin Thaut (3/12) Jun 04 2014 Ldc for example still does not support windows 64 bit. And that is just
- Kai Nacke (5/8) Jun 04 2014 Yes, a very well known lack of exception handling support in LLVM.
- Benjamin Thaut (9/17) Jun 04 2014 I already have to contributions planned to dmd as soon as I'm done with
- Yuriy (5/5) Jun 04 2014 IMHO LDC problems would be addressed much faster, if it
- Walter Bright (3/5) Jun 05 2014 On Windows, it needs to be more than just 64 bit. It needs to work with ...
- Jacob Carlborg (7/9) Jun 04 2014 LDC continues to use LLVM, adds support for Objective-C [1] [2] and
Apple's swift comes on,but only use on iOS,so D should develop the LDC,let D keep the superiority. Frank
Jun 04 2014
I think too that main branch of D should be LDC. Proprietary backend is one big mistake. Some linux distributives doesn't want to include dmd because of backend's license. Also backend has several codegen bugs. And it cannot optimize almost at all. LLVM is tested in time as Clang. It has great optimizations. And if one speak about compilation time... Yes dmd compiles faster than ldc but the difference is not so great. And who cares about compilation time when one write the code ?
Jun 04 2014
And if one speak about compilation time... Yes dmd compiles faster than ldc but the difference is not so great. And who cares about compilation time when one write the code ?LDC's performance is very cool.
Jun 04 2014
I thinks that too. But some dmd's developers says that ldc compiles slower than dmd.
Jun 04 2014
On Wednesday, 4 June 2014 at 09:45:21 UTC, Temtaime wrote: [snip]And if one speak about compilation time... Yes dmd compiles faster than ldc but the difference is not so great. And who cares about compilation time when one write the code ?I do. I don't care about it when it's done and dusted and I compile to deliver the program. But while I'm developing, I want a short write-compile-test cycle. It's simply annoying, when you have to wait a few seconds to test tiny changes or get the output of a debug statement.
Jun 04 2014
On Wednesday, 4 June 2014 at 10:02:49 UTC, Temtaime wrote:It debug builds ldc fast as dmd does.I once had a program where it took considerably longer (in development mode) than dmd. Then again, the code did some XML parsing with std.xml* (shudder!). In release mode it took ldc a long time to compile (and optimize), but I have to say that it was lightning fast after that. I usually use dmd for development and ldc for delivery (on Linux). *got finally rid of that bit altogether :)
Jun 04 2014
I usually use dmd for development and ldc for delivery (on Linux).It's a good job.
Jun 04 2014
On Wednesday, 4 June 2014 at 09:56:10 UTC, Chris wrote:On Wednesday, 4 June 2014 at 09:45:21 UTC, Temtaime wrote: [snip]I agree.And if one speak about compilation time... Yes dmd compiles faster than ldc but the difference is not so great. And who cares about compilation time when one write the code ?I do. I don't care about it when it's done and dusted and I compile to deliver the program. But while I'm developing, I want a short write-compile-test cycle. It's simply annoying, when you have to wait a few seconds to test tiny changes or get the output of a debug statement.
Jun 04 2014
On Wednesday, 4 June 2014 at 09:45:21 UTC, Temtaime wrote:I think too that main branch of D should be LDC. Proprietary backend is one big mistake.No matter how I like LDC, I disagree. People obviously forget the fact that DMD is a REFERENCE IMPLEMENTATION of a D compiler. - Nobody has to use it, and most likely you will not use it in production! You will use a compiler with better optimizer, such as GCC with D enabled (GDC) or LDC. FUD won't help anyone, so do not spread it further. We have discussed this matter for over a decade here on this very newsgroup. There is a valid reason why the backend is proprietary, learn to live with it.Some linux distributives doesn't want to include dmd because of backend's license. Also backend has several codegen bugs. And it cannot optimize almost at all.We are all perfectly aware of this. I've spent hours talking with Fedora guys on IRC, and asked what can we do to have DMD RPMs (you can find the project here: https://gitorious.org/dejan-fedora/dejan-fedora ).LLVM is tested in time as Clang. It has great optimizations. And if one speak about compilation time... Yes dmd compiles faster than ldc but the difference is not so great. And who cares about compilation time when one write the code ?Every serious developer does. Once your project takes a minute to compile you will treasure every second... Sure for the release you will use a better compiler, but during the development you really want compiler that does it fast.
Jun 04 2014
The main problem is that ldc is outdated because there is no support from community. Developers develop dmd so ldc stays alone. My project for example uses git head because of bugfixes. It cannot even compile with 2.064 or 2.065. And latest ldc is based on 2.064 frontend. So ldc for me totally useless now. Ldc in debug almost fast as dmd does. What's will be wrong with dmd if it will be based on llvm ? That would be great i think but c'est la vie so ...
Jun 04 2014
On 4 June 2014 13:21, Temtaime via Digitalmars-d <digitalmars-d puremagic.com> wrote:The main problem is that ldc is outdated because there is no support from community.Likewise. All I see is everyone talking and no action. Such as "Yes, it's important to switch main development into LDC" or "Yes, it's very important to merge GDC into GCC". But when asked what they are going to do about it. There's just a quiet room of people checking their back pockets for a reason to excuse themselves. No one wants to work on GDC/LDC, so they shall remain obscure in development and tailing behind current development. Regards Iain
Jun 04 2014
On Wednesday, 4 June 2014 at 13:27:20 UTC, Iain Buclaw via Digitalmars-d wrote:No one wants to work on GDC/LDC, so they shall remain obscure in development and tailing behind current development.Please could you tell more about the requirements/background that a person needs to fill this work? I'm programmer for a while now, I wrote some: Business Systems (Job), games and small interpreters (Hobby) etc. But I always thought about contributing on my spare time, but I don't know how I could fill on this work. Matheus.
Jun 04 2014
Hi Matheus! On Wednesday, 4 June 2014 at 15:44:02 UTC, MattCoder wrote:On Wednesday, 4 June 2014 at 13:27:20 UTC, Iain Buclaw via Digitalmars-d wrote:For LDC it should be quite easy. :-) First, build LDC from source. Instructions are here: http://wiki.dlang.org/Building_LDC_from_source. Building LLVM from source it not a requirement but helps in tracking down problems. If you master this step then you can choose a problem to tackle. Personally, I started with a merge of latest DMD frontend. This will be a round trip through the source because of possible merge conflicts. (For sure, the result can be contributed as a pull request.) Another simple way to get started is to pick an open issue - see https://github.com/ldc-developers/ldc/issues. Fire up the debugger, set a breakpoint and step through the code and try identifying the root cause... IMHO the only requirement is some knowledge of C++ (and having fun reading source and coding!). But even if you only know D (or only want to code in D) then there are some open tasks. If you or anybody else is interested in this please ask in the LDC newsgroup. Regards, KaiNo one wants to work on GDC/LDC, so they shall remain obscure in development and tailing behind current development.Please could you tell more about the requirements/background that a person needs to fill this work? I'm programmer for a while now, I wrote some: Business Systems (Job), games and small interpreters (Hobby) etc. But I always thought about contributing on my spare time, but I don't know how I could fill on this work. Matheus.
Jun 04 2014
On Wednesday, 4 June 2014 at 16:22:22 UTC, Kai Nacke wrote:For LDC it should be quite easy. :-) First, build LDC from source. Instructions are here: http://wiki.dlang.org/Building_LDC_from_source. Building LLVM from source it not a requirement but helps in tracking down problems.Thanks for the advice, and I'll check this link soon as possible!IMHO the only requirement is some knowledge of C++ (and having fun reading source and coding!)...To be honest I'm not a C++ guy, but I can fix and read/understand/port most codes. Well, I think that I'll try something on my vacation next month and see if I can help the community. Thanks, Matheus.
Jun 04 2014
Hi Matheus! On Wednesday, 4 June 2014 at 17:59:42 UTC, Mattcoder wrote:To be honest I'm not a C++ guy, but I can fix and read/understand/port most codes.There will also be pure D tasks, e.g. translating ldmd2 to D. Regards, Kai
Jun 04 2014
On 4 June 2014 16:44, MattCoder via Digitalmars-d <digitalmars-d puremagic.com> wrote:On Wednesday, 4 June 2014 at 13:27:20 UTC, Iain Buclaw via Digitalmars-d wrote:For a (needs more detail) overview, see: http://gdcproject.org/contributing/ But the jist of it is: If you use GDC, we encourage you to try to contribute, whether by submitting bugfixes, new features, documentation updates, web page improvements, etc. You don't *need* to be a compiler developer. If you are only a user and know how to use the tool in a way that others may not be aware of, document it! There's also a projects page: http://wiki.dlang.org/GDC/ProjectIdeas One item missing from that page is PORTING. Porting D (with GDC) doesn't require compiler knowledge per say. Most of the work is in patching druntime to implement all missing features and your done! The few things that may require knowledge of the compiler internals, you may ask or raise a bug report at any time and someone should be willing to answer (usually me). Regards Iain.No one wants to work on GDC/LDC, so they shall remain obscure in development and tailing behind current development.Please could you tell more about the requirements/background that a person needs to fill this work? I'm programmer for a while now, I wrote some: Business Systems (Job), games and small interpreters (Hobby) etc. But I always thought about contributing on my spare time, but I don't know how I could fill on this work. Matheus.
Jun 04 2014
On Wednesday, 4 June 2014 at 16:32:54 UTC, Iain Buclaw via Digitalmars-d wrote:On 4 June 2014 16:44, MattCoder via Digitalmars-d <digitalmars-d puremagic.com> wrote: For a (needs more detail) overview, see: http://gdcproject.org/contributing/ There's also a projects page: http://wiki.dlang.org/GDC/ProjectIdeasI'll read!One item missing from that page is PORTING. Porting D (with GDC) doesn't require compiler knowledge per say. Most of the work is in patching druntime to implement all missing features and your done!Well I'll look both projects LDC/GDC and see what fits me better. I think it would be a nice for learning experience and contributing more with community. Thanks, Matheus.
Jun 04 2014
On Wednesday, 4 June 2014 at 18:06:08 UTC, Mattcoder wrote:I think it would be a nice for learning experience and contributing more with community.It's always great to see new people interested in helping out with compiler development. Just follow your natural curiosity and don't let the task intimidate you (compilers are not rocket science), and it will almost certainly become a nice learning experience. If you get stuck at any point, or struggle to find a nice bug to work on, please don't hesitate to create a thread on the LDC mailing list (http://forum.dlang.org/digitalmars.D.ldc, or via the mailing list interface at lists.puremagic.com). We are always happy to help out newcomers, and I'm sure the same applies to GDC too. Cheers, David
Jun 04 2014
On 6/4/14, 3:34 PM, David Nadlinger wrote:If you get stuck at any point, or struggle to find a nice bug to work on, please don't hesitate to create a thread on the LDC mailing list (http://forum.dlang.org/digitalmars.D.ldc, or via the mailing list interface at lists.puremagic.com). We are always happy to help out newcomers, and I'm sure the same applies to GDC too. Cheers, Davidhttp://forum.dlang.org/group/digitalmars.D.ldc
Jun 04 2014
On 6/4/2014 12:34 PM, David Nadlinger wrote:(compilers are not rocket science)Shhhh! Don't let that secret get out!
Jun 04 2014
On 5 June 2014 07:43, Walter Bright via Digitalmars-d <digitalmars-d puremagic.com> wrote:On 6/4/2014 12:34 PM, David Nadlinger wrote:<insert reddit link here>(compilers are not rocket science)Shhhh! Don't let that secret get out!
Jun 05 2014
On Wed, 04 Jun 2014 23:43:23 -0700 Walter Bright via Digitalmars-d <digitalmars-d puremagic.com> wrote:On 6/4/2014 12:34 PM, David Nadlinger wrote:LOL. Well, _technically_ speaking, something could be far more difficult than rocket science and still not be rocket science, in spite of the fact that saying that something isn't rocket science implies that it's easy. But that's idioms for you. :) - Jonathan M Davis(compilers are not rocket science)Shhhh! Don't let that secret get out!
Jun 05 2014
On 2014-06-04 21:34, David Nadlinger wrote:On Wednesday, 4 June 2014 at 18:06:08 UTC, Mattcoder wrote:I found it quite easy to start by implementing a new __traits feature. It's usually quite small and confined. -- /Jacob CarlborgI think it would be a nice for learning experience and contributing more with community.It's always great to see new people interested in helping out with compiler development. Just follow your natural curiosity and don't let the task intimidate you (compilers are not rocket science), and it will almost certainly become a nice learning experience. If you get stuck at any point, or struggle to find a nice bug to work on, please don't hesitate to create a thread on the LDC mailing list (http://forum.dlang.org/digitalmars.D.ldc, or via the mailing list interface at lists.puremagic.com). We are always happy to help out newcomers, and I'm sure the same applies to GDC too.
Jun 05 2014
On Wed, Jun 04, 2014 at 02:27:10PM +0100, Iain Buclaw via Digitalmars-d wrote:On 4 June 2014 13:21, Temtaime via Digitalmars-d <digitalmars-d puremagic.com> wrote:[...] +1. If the talkers would become doers, we'd have MUCH better GDC/LDC support than we do now. I'm tired of the talk, let's see the PR's! T -- I am a consultant. My job is to make your job redundant. -- Mr TomThe main problem is that ldc is outdated because there is no support from community.Likewise. All I see is everyone talking and no action. Such as "Yes, it's important to switch main development into LDC" or "Yes, it's very important to merge GDC into GCC". But when asked what they are going to do about it. There's just a quiet room of people checking their back pockets for a reason to excuse themselves. No one wants to work on GDC/LDC, so they shall remain obscure in development and tailing behind current development.
Jun 04 2014
On 4 June 2014 14:43, H. S. Teoh via Digitalmars-d <digitalmars-d puremagic.com> wrote:On Wed, Jun 04, 2014 at 02:27:10PM +0100, Iain Buclaw via Digitalmars-d wrote:Who wants to become a lieutenant? :o)On 4 June 2014 13:21, Temtaime via Digitalmars-d <digitalmars-d puremagic.com> wrote:[...] +1. If the talkers would become doers, we'd have MUCH better GDC/LDC support than we do now. I'm tired of the talk, let's see the PR's!The main problem is that ldc is outdated because there is no support from community.Likewise. All I see is everyone talking and no action. Such as "Yes, it's important to switch main development into LDC" or "Yes, it's very important to merge GDC into GCC". But when asked what they are going to do about it. There's just a quiet room of people checking their back pockets for a reason to excuse themselves. No one wants to work on GDC/LDC, so they shall remain obscure in development and tailing behind current development.
Jun 04 2014
Developers develop dmd so ldc stays alone.No,LDC is not easy to use as dmd,it must configure by Developers ,if it has the oneClickSetup,then many Developers like it.
Jun 04 2014
On 4 June 2014 15:42, FrankLike via Digitalmars-d <digitalmars-d puremagic.com> wrote:Not even remotely true. DMD isn't easy to set-up either. 1) There's no documentation on build dependencies/prerequesites (that I have come across) 2) While there's no configure, it instead offloads all complexity into it's make files forcing you to correctly set every single ENV= parameters in order for it to build properly. I've never managed to get it built properly, so I rely on the autotester a lot for changes. This leads quite nicely into a new point. Autotester support for GDC/LDC! *looks at Brad*Developers develop dmd so ldc stays alone.No,LDC is not easy to use as dmd,it must configure by Developers ,if it has the oneClickSetup,then many Developers like it.
Jun 04 2014
On Wed, Jun 04, 2014 at 03:53:59PM +0100, Iain Buclaw via Digitalmars-d wrote: [...]Not even remotely true. DMD isn't easy to set-up either. 1) There's no documentation on build dependencies/prerequesites (that I have come across)http://wiki.dlang.org/Building_DMD2) While there's no configure, it instead offloads all complexity into it's make files forcing you to correctly set every single ENV= parameters in order for it to build properly. I've never managed to get it built properly, so I rely on the autotester a lot for changes.[...] Really?? I have found, on the contrary, that DMD is extremely easy to build. As opposed to, say, GDC (no offense ;)), which I haven't been able to build since gcc-4.8, likely due to the build scripts relying on hardcoded system paths that every Linux distro changes around just for fun. It's as simple as: git clone ${url to dmd repo} git clone ${url to druntime repo} git clone ${url to phobos repo} cd dmd make -f posix.mak cd ../druntime make -f posix.mak cd ../phobos make -f posix.mak Then just add dmd/src/ to $PATH, and off you go. I've been using this for years, and haven't had a problem. This can, of course, be put into a shell script that does everything, which is what I do these days. You can add -j${NUM_CPU} to the make invocations, if you're impatient like me and want to take advantage of today's multicore craze. I personally use -j6. T -- My program has no bugs! Only unintentional features...
Jun 04 2014
On 4 June 2014 16:07, H. S. Teoh via Digitalmars-d <digitalmars-d puremagic.com> wrote:On Wed, Jun 04, 2014 at 03:53:59PM +0100, Iain Buclaw via Digitalmars-d wrote: [...]Which doesn't list build dependencies or prerequesites. :o)Not even remotely true. DMD isn't easy to set-up either. 1) There's no documentation on build dependencies/prerequesites (that I have come across)http://wiki.dlang.org/Building_DMDProbably. There is a well documented quirk of Debian/Ubuntu on GCC-4.8. However though multiarch patches are in GCC 4.9, so that's one build issue that should no longer occur. :)2) While there's no configure, it instead offloads all complexity into it's make files forcing you to correctly set every single ENV= parameters in order for it to build properly. I've never managed to get it built properly, so I rely on the autotester a lot for changes.[...] Really?? I have found, on the contrary, that DMD is extremely easy to build. As opposed to, say, GDC (no offense ;)), which I haven't been able to build since gcc-4.8, likely due to the build scripts relying on hardcoded system paths that every Linux distro changes around just for fun.
Jun 04 2014
On Wed, Jun 04, 2014 at 04:23:31PM +0100, Iain Buclaw via Digitalmars-d wrote:On 4 June 2014 16:07, H. S. Teoh via Digitalmars-d <digitalmars-d puremagic.com> wrote:As far as I know, the only dependency is a working C/C++ compiler. $ ldd dmd/src/dmd linux-vdso.so.1 (0x00007ffff27ff000) libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007fb068676000) libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007fb068459000) libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007fb068155000) libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007fb067f3f000) libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fb067b95000) /lib64/ld-linux-x86-64.so.2 (0x00007fb0689a1000) $ So, nothing beyond your basic C/C++ system libraries.On Wed, Jun 04, 2014 at 03:53:59PM +0100, Iain Buclaw via Digitalmars-d wrote: [...]Which doesn't list build dependencies or prerequesites. :o)Not even remotely true. DMD isn't easy to set-up either. 1) There's no documentation on build dependencies/prerequesites (that I have come across)http://wiki.dlang.org/Building_DMDOh that's good to know. Maybe I should try building GDC 4.9 sometime... T -- Food and laptops don't mix.Probably. There is a well documented quirk of Debian/Ubuntu on GCC-4.8. However though multiarch patches are in GCC 4.9, so that's one build issue that should no longer occur. :)2) While there's no configure, it instead offloads all complexity into it's make files forcing you to correctly set every single ENV= parameters in order for it to build properly. I've never managed to get it built properly, so I rely on the autotester a lot for changes.[...] Really?? I have found, on the contrary, that DMD is extremely easy to build. As opposed to, say, GDC (no offense ;)), which I haven't been able to build since gcc-4.8, likely due to the build scripts relying on hardcoded system paths that every Linux distro changes around just for fun.
Jun 04 2014
Hi FrankLite! On Wednesday, 4 June 2014 at 14:42:21 UTC, FrankLike wrote:What do you miss? We provide binaries for common platforms (https://github.com/ldc-developers/ldc/releases) and there are also build instructions, e.g. http://wiki.dlang.org/Building_LDC_from_source. Even a maintained Debian package is now available (besides the maintained packages for other distros - great job from all the volunteers!) Regards, KaiDevelopers develop dmd so ldc stays alone.No,LDC is not easy to use as dmd,it must configure by Developers ,if it has the oneClickSetup,then many Developers like it.
Jun 04 2014
On 4 June 2014 17:08, Kai Nacke via Digitalmars-d <digitalmars-d puremagic.com> wrote:Hi FrankLite! On Wednesday, 4 June 2014 at 14:42:21 UTC, FrankLike wrote:+1 This likewise gdc too. All you need to do is look at the downloads page on dlang.org !What do you miss? We provide binaries for common platforms (https://github.com/ldc-developers/ldc/releases) and there are also build instructions, e.g. http://wiki.dlang.org/Building_LDC_from_source. Even a maintained Debian package is now available (besides the maintained packages for other distros - great job from all the volunteers!)Developers develop dmd so ldc stays alone.No,LDC is not easy to use as dmd,it must configure by Developers ,if it has the oneClickSetup,then many Developers like it.
Jun 04 2014
On 2014-06-04 18:25, Iain Buclaw via Digitalmars-d wrote:This likewise gdc too. All you need to do is look at the downloads page on dlang.org !Awesome, but where's the binary for OS X? -- /Jacob Carlborg
Jun 04 2014
On 4 June 2014 19:55, Jacob Carlborg via Digitalmars-d <digitalmars-d puremagic.com> wrote:On 2014-06-04 18:25, Iain Buclaw via Digitalmars-d wrote:I have an OSX box to start porting. But there's a couple druntime related problems I need to have a proper sit down about. These are mostly TLS-related problems. DMD insists on doing something wildly different for each target. I insist on having a common way of doing everything. Once builds start succeeding, they will come.This likewise gdc too. All you need to do is look at the downloads page on dlang.org !Awesome, but where's the binary for OS X?
Jun 04 2014
On 2014-06-04 21:25, Iain Buclaw via Digitalmars-d wrote:I have an OSX box to start porting. But there's a couple druntime related problems I need to have a proper sit down about. These are mostly TLS-related problems. DMD insists on doing something wildly different for each target. I insist on having a common way of doing everything.Yeah, TLS seems to be a recurring problem. I would prefer to have native support. I think it's ok to drop the support for 10.6 now.Once builds start succeeding, they will come.Great. BTW, is http://gdcproject.org/downloads/ a reliable source for downloading GDC? Eventually I would like to add support for GDC to DVM and I need a reliable source to download from, both the latest compiler and older versions. [1] https://github.com/jacob-carlborg/dvm -- /Jacob Carlborg
Jun 05 2014
On 5 June 2014 10:47, Jacob Carlborg via Digitalmars-d <digitalmars-d puremagic.com> wrote:On 2014-06-04 21:25, Iain Buclaw via Digitalmars-d wrote:I haven't tried hammering the server - it's a VM hosted on linode. But if you mean if the compiler builds are reliable, then that answer is yes. I know that the Native Linux and ARM builds are passing the testsuite/library unittests (as of the time they were built).I have an OSX box to start porting. But there's a couple druntime related problems I need to have a proper sit down about. These are mostly TLS-related problems. DMD insists on doing something wildly different for each target. I insist on having a common way of doing everything.Yeah, TLS seems to be a recurring problem. I would prefer to have native support. I think it's ok to drop the support for 10.6 now.Once builds start succeeding, they will come.Great. BTW, is http://gdcproject.org/downloads/ a reliable source for downloading GDC? Eventually I would like to add support for GDC to DVM and I need a reliable source to download from, both the latest compiler and older versions.
Jun 05 2014
On 2014-06-05 12:27, Iain Buclaw via Digitalmars-d wrote:I haven't tried hammering the server - it's a VM hosted on linode. But if you mean if the compiler builds are reliable, then that answer is yes. I know that the Native Linux and ARM builds are passing the testsuite/library unittests (as of the time they were built).I was referring to if I can expect the links to continue to work in the future, say a year from now. -- /Jacob Carlborg
Jun 05 2014
On 5 June 2014 19:59, Jacob Carlborg via Digitalmars-d <digitalmars-d puremagic.com> wrote:On 2014-06-05 12:27, Iain Buclaw via Digitalmars-d wrote:I don't expect them to move either.I haven't tried hammering the server - it's a VM hosted on linode. But if you mean if the compiler builds are reliable, then that answer is yes. I know that the Native Linux and ARM builds are passing the testsuite/library unittests (as of the time they were built).I was referring to if I can expect the links to continue to work in the future, say a year from now.
Jun 05 2014
On Wed, 2014-06-04 at 20:25 +0100, Iain Buclaw via Digitalmars-d wrote: […]I have an OSX box to start porting. But there's a couple druntime related problems I need to have a proper sit down about. These are mostly TLS-related problems. DMD insists on doing something wildly different for each target. I insist on having a common way of doing everything. Once builds start succeeding, they will come.LDC is (relatively) easy to build: for Git repository, run cmake for each platform to create platform specific builds, run (make clean && make && make install && make clean). Is there a similarly easy way of building GDC? Building and using the very latest version of compilers, and reporting any issues, is a very easy way for me to chip in some effort. (For DMD though I am just lazy, I take whatever is on D-Apt for Debian, manually install release RPMs for Fedora – why isn't there a version of D in RPMFusion? – and whatever is in MacPorts for OSX.) -- Russel. ============================================================================= Dr Russel Winder t: +44 20 7585 2200 voip: sip:russel.winder ekiga.net 41 Buckmaster Road m: +44 7770 465 077 xmpp: russel winder.org.uk London SW11 1EN, UK w: www.russel.org.uk skype: russel_winder
Jun 04 2014
On 5 June 2014 06:30, Russel Winder via Digitalmars-d <digitalmars-d puremagic.com> wrote:On Wed, 2014-06-04 at 20:25 +0100, Iain Buclaw via Digitalmars-d wrote: […]I don't think there exists a *works for all* method of doing it, but there is: http://wiki.dlang.org/GDC/Installation/Generic Which is only good so you understand the general reasoning for the process, what switches mean, etc. The dummies guide to building GDC would be: 1. Install prerequesites: libmpc-dev libmpfr-dev libgmp3-dev flex bison autoconf automake patch git g++ 2. Download GCC (ie: 4.9.0) release sources from: https://gcc.gnu.org/mirrors.html 3. Download stable GDC sources: gdcproject.org/downloads/sources/gdc-4.9-src.tar.xz 4. Extract GCC, then GDC into separate directories. 5. Inside GDC, run ./setup-gcc.sh ../path-to-gcc-xxx 6. Create a new directory for building, eg: mkdir objdir 7. Inside the build directory, run: ../path-to-gcc-xxx/configure --prefix=/usr --enable-languages=d --enable-checking=release --disable-bootstrap --with-bugurl="http://bugzilla.gdcproject.org" 8. Run make 9. Make a coffee 10. Run make install, eg: DESTDIR=~/.local make install 11. Optionally, check your installation with: make check-d The most logic really goes into setting up your environment, obtaining sources, and structuring the folders correctly for building. The *actual* build process itself is painless if it goes through without errors.I have an OSX box to start porting. But there's a couple druntime related problems I need to have a proper sit down about. These are mostly TLS-related problems. DMD insists on doing something wildly different for each target. I insist on having a common way of doing everything. Once builds start succeeding, they will come.LDC is (relatively) easy to build: for Git repository, run cmake for each platform to create platform specific builds, run (make clean && make && make install && make clean). Is there a similarly easy way of building GDC?Building and using the very latest version of compilers, and reporting any issues, is a very easy way for me to chip in some effort. (For DMD though I am just lazy, I take whatever is on D-Apt for Debian, manually install release RPMs for Fedora – why isn't there a version of D in RPMFusion? – and whatever is in MacPorts for OSX.)Don't quote me, but the only way distributions can ship DMD is via a script that does a download from dlang.org, extract, install process (like eg: flashplayer). GDC has never landed in Fedora because they have refused to have a 3rd party front-end the last time - using GNU Pascal Compiler (no longer maintained iirc) as a previous example. And I think the macport binaries are ancient? I certainly found it a bit odd to set-up my build environment for building gcc-4.9 on OSX, but then again I'm not an OSX geek, things that seem odd to me might seem the right way to do it for others. :o)
Jun 04 2014
On Thursday, 5 June 2014 at 06:50:04 UTC, Iain Buclaw via Digitalmars-d wrote:Don't quote me, but the only way distributions can ship DMD is via a script that does a download from dlang.org, extract, install process (like eg: flashplayer).Unless I'm misunderstanding how the arch repositories work, Dicebot has the Arch dmd package setup with dmd hosted on the arch servers/mirrors. I presume this is with Walter's permission. https://www.archlinux.org/packages/community/x86_64/dmd/
Jun 05 2014
On Thursday, 5 June 2014 at 11:24:47 UTC, John Colvin wrote:On Thursday, 5 June 2014 at 06:50:04 UTC, Iain Buclaw via Digitalmars-d wrote:Well it is still not 100% legal because every single mirror owner needs to get that permission too as far as I understand the license. Because mirroring also can be considered redistribution. But I am not most lawful person, especially when it comes to copyright and license issues :)Don't quote me, but the only way distributions can ship DMD is via a script that does a download from dlang.org, extract, install process (like eg: flashplayer).Unless I'm misunderstanding how the arch repositories work, Dicebot has the Arch dmd package setup with dmd hosted on the arch servers/mirrors. I presume this is with Walter's permission. https://www.archlinux.org/packages/community/x86_64/dmd/
Jun 05 2014
On Thursday, 5 June 2014 at 11:35:23 UTC, Dicebot wrote:On Thursday, 5 June 2014 at 11:24:47 UTC, John Colvin wrote:While I respect your point of view on the matter (and agree with it to a large extent), it's not your head on the line here. Do the mirror owners even know that - if they charge for their services - it could be argued that they are committing a criminal offence under US law by redistributing copyrighted material without a license for commercial advantage?On Thursday, 5 June 2014 at 06:50:04 UTC, Iain Buclaw via Digitalmars-d wrote:Well it is still not 100% legal because every single mirror owner needs to get that permission too as far as I understand the license. Because mirroring also can be considered redistribution. But I am not most lawful person, especially when it comes to copyright and license issues :)Don't quote me, but the only way distributions can ship DMD is via a script that does a download from dlang.org, extract, install process (like eg: flashplayer).Unless I'm misunderstanding how the arch repositories work, Dicebot has the Arch dmd package setup with dmd hosted on the arch servers/mirrors. I presume this is with Walter's permission. https://www.archlinux.org/packages/community/x86_64/dmd/
Jun 05 2014
On Thursday, 5 June 2014 at 12:45:06 UTC, John Colvin wrote:On Thursday, 5 June 2014 at 11:35:23 UTC, Dicebot wrote:sorry, I phrased that badly: obviously it is the mirror owners responsibility to understand the law. What I'm trying to ask is "are the mirror owners aware that they are redistributing copyrighted material without a license because of your decisions?"On Thursday, 5 June 2014 at 11:24:47 UTC, John Colvin wrote:While I respect your point of view on the matter (and agree with it to a large extent), it's not your head on the line here. Do the mirror owners even know that - if they charge for their services - it could be argued that they are committing a criminal offence under US law by redistributing copyrighted material without a license for commercial advantage?On Thursday, 5 June 2014 at 06:50:04 UTC, Iain Buclaw via Digitalmars-d wrote:Well it is still not 100% legal because every single mirror owner needs to get that permission too as far as I understand the license. Because mirroring also can be considered redistribution. But I am not most lawful person, especially when it comes to copyright and license issues :)Don't quote me, but the only way distributions can ship DMD is via a script that does a download from dlang.org, extract, install process (like eg: flashplayer).Unless I'm misunderstanding how the arch repositories work, Dicebot has the Arch dmd package setup with dmd hosted on the arch servers/mirrors. I presume this is with Walter's permission. https://www.archlinux.org/packages/community/x86_64/dmd/
Jun 05 2014
On Thursday, 5 June 2014 at 12:48:04 UTC, John Colvin wrote:If they care. License is part of the package and package description explicitly says "Licenses: custom". There are no commercial mirrors as far as I know though but if anyone crazy decided to create one, all information to check such stuff is there.While I respect your point of view on the matter (and agree with it to a large extent), it's not your head on the line here. Do the mirror owners even know that - if they charge for their services - it could be argued that they are committing a criminal offence under US law by redistributing copyrighted material without a license for commercial advantage?sorry, I phrased that badly: obviously it is the mirror owners responsibility to understand the law. What I'm trying to ask is "are the mirror owners aware that they are redistributing copyrighted material without a license because of your decisions?"
Jun 05 2014
Am Thu, 05 Jun 2014 14:29:38 +0000 schrieb "Dicebot" <public dicebot.lv>:On Thursday, 5 June 2014 at 12:48:04 UTC, John Colvin wrote:archlinux has a 'pragmatic' approach regarding licenses & patents anyway. They also ship libdvdcss, mesa with "--enable-texture-float", all multimedia codec packages are in the standard repos etc.If they care. License is part of the package and package description explicitly says "Licenses: custom". There are no commercial mirrors as far as I know though but if anyone crazy decided to create one, all information to check such stuff is there.While I respect your point of view on the matter (and agree with it to a large extent), it's not your head on the line here. Do the mirror owners even know that - if they charge for their services - it could be argued that they are committing a criminal offence under US law by redistributing copyrighted material without a license for commercial advantage?sorry, I phrased that badly: obviously it is the mirror owners responsibility to understand the law. What I'm trying to ask is "are the mirror owners aware that they are redistributing copyrighted material without a license because of your decisions?"
Jun 05 2014
Am Thu, 5 Jun 2014 22:47:15 +0200 schrieb Johannes Pfau <nospam example.com>:archlinux has a 'pragmatic' approach regarding licenses & patents anyway. They also ship libdvdcss, mesa with "--enable-texture-float", all multimedia codec packages are in the standard repos etc.On Gentoo, due to the compile-from-source mentality the user has the option to enable patented algorithms for their personal use. Enabling these flags comes with a warning, that the resulting binaries must not be redistributed. That way the distribution stays safe from legal issues and the end user doesn't miss out on relevant features. (Unless their hatred for software patents makes them unable to swallow their pride, that is :) ) -- Marco
Jun 06 2014
On 6/4/2014 9:25 AM, Iain Buclaw via Digitalmars-d wrote:This likewise gdc too. All you need to do is look at the downloads page on dlang.org !It still says nothing about doing: sudo apt-get install gdc on Ubuntu! Why keep it a secret? :-)
Jun 04 2014
On 5 June 2014 07:40, Walter Bright via Digitalmars-d <digitalmars-d puremagic.com> wrote:On 6/4/2014 9:25 AM, Iain Buclaw via Digitalmars-d wrote:Of course, if you are using D rather than wanting to help out with development. :o)This likewise gdc too. All you need to do is look at the downloads page on dlang.org !It still says nothing about doing: sudo apt-get install gdc on Ubuntu! Why keep it a secret? :-)
Jun 05 2014
On Thursday, 5 June 2014 at 06:40:17 UTC, Walter Bright wrote:On 6/4/2014 9:25 AM, Iain Buclaw via Digitalmars-d wrote:On Fedora sudo yum install ldc ;-)This likewise gdc too. All you need to do is look at the downloads page on dlang.org !It still says nothing about doing: sudo apt-get install gdc on Ubuntu! Why keep it a secret? :-)
Jun 05 2014
On Thursday, 5 June 2014 at 14:01:43 UTC, bioinfornatics wrote:On Thursday, 5 June 2014 at 06:40:17 UTC, Walter Bright wrote:pacman -Sy dlang-ldc pacman -Sy dlang-gdc ;)On 6/4/2014 9:25 AM, Iain Buclaw via Digitalmars-d wrote:On Fedora sudo yum install ldc ;-)This likewise gdc too. All you need to do is look at the downloads page on dlang.org !It still says nothing about doing: sudo apt-get install gdc on Ubuntu! Why keep it a secret? :-)
Jun 05 2014
On Thursday, 5 June 2014 at 14:30:46 UTC, Dicebot wrote:On Thursday, 5 June 2014 at 14:01:43 UTC, bioinfornatics wrote:<3 ;)On Thursday, 5 June 2014 at 06:40:17 UTC, Walter Bright wrote:pacman -Sy dlang-ldc pacman -Sy dlang-gdc ;)On 6/4/2014 9:25 AM, Iain Buclaw via Digitalmars-d wrote:On Fedora sudo yum install ldc ;-)This likewise gdc too. All you need to do is look at the downloads page on dlang.org !It still says nothing about doing: sudo apt-get install gdc on Ubuntu! Why keep it a secret? :-)
Jun 05 2014
Am Thu, 05 Jun 2014 14:30:40 +0000 schrieb "Dicebot" <public dicebot.lv>:On Thursday, 5 June 2014 at 14:01:43 UTC, bioinfornatics wrote:Late for the show! On Gentoo: layman -a dlang emerge dmd ldc2 gcc[d] -- MarcoOn Thursday, 5 June 2014 at 06:40:17 UTC, Walter Bright wrote:pacman -Sy dlang-ldc pacman -Sy dlang-gdc ;)On 6/4/2014 9:25 AM, Iain Buclaw via Digitalmars-d wrote:On Fedora sudo yum install ldc ;-)This likewise gdc too. All you need to do is look at the downloads page on dlang.org !It still says nothing about doing: sudo apt-get install gdc on Ubuntu! Why keep it a secret? :-)
Jun 05 2014
On 6/5/2014 7:01 AM, bioinfornatics wrote:On Thursday, 5 June 2014 at 06:40:17 UTC, Walter Bright wrote:So, are you going to do a PR to fix the documentation?On 6/4/2014 9:25 AM, Iain Buclaw via Digitalmars-d wrote:On Fedora sudo yum install ldc ;-)This likewise gdc too. All you need to do is look at the downloads page on dlang.org !It still says nothing about doing: sudo apt-get install gdc on Ubuntu! Why keep it a secret? :-)
Jun 05 2014
On Thursday, 5 June 2014 at 06:40:17 UTC, Walter Bright wrote:On 6/4/2014 9:25 AM, Iain Buclaw via Digitalmars-d wrote:Cool! I wish installing ldc is this easy too!This likewise gdc too. All you need to do is look at the downloads page on dlang.org !It still says nothing about doing: sudo apt-get install gdc on Ubuntu! Why keep it a secret? :-)
Jun 05 2014
On Thursday, 5 June 2014 at 22:12:04 UTC, John wrote:On Thursday, 5 June 2014 at 06:40:17 UTC, Walter Bright wrote:There is an up-to-date Debian package for LDC. Regards, KaiOn 6/4/2014 9:25 AM, Iain Buclaw via Digitalmars-d wrote:Cool! I wish installing ldc is this easy too!This likewise gdc too. All you need to do is look at the downloads page on dlang.org !It still says nothing about doing: sudo apt-get install gdc on Ubuntu! Why keep it a secret? :-)
Jun 05 2014
Am 04.06.2014 14:21, schrieb Temtaime:The main problem is that ldc is outdated because there is no support from community. Developers develop dmd so ldc stays alone. My project for example uses git head because of bugfixes. It cannot even compile with 2.064 or 2.065. And latest ldc is based on 2.064 frontend. So ldc for me totally useless now. Ldc in debug almost fast as dmd does. What's will be wrong with dmd if it will be based on llvm ? That would be great i think but c'est la vie so ...Ldc for example still does not support windows 64 bit. And that is just one of the things thats wrong with it on windows.
Jun 04 2014
On Wednesday, 4 June 2014 at 16:20:40 UTC, Benjamin Thaut wrote:Am 04.06.2014 14:21, schrieb Temtaime: Ldc for example still does not support windows 64 bit. And that is just one of the things thats wrong with it on windows.Yes, a very well known lack of exception handling support in LLVM. Volunteers are welcome, see here: http://reviews.llvm.org/D3418 Regards, Kai
Jun 04 2014
Am 04.06.2014 18:25, schrieb Kai Nacke:On Wednesday, 4 June 2014 at 16:20:40 UTC, Benjamin Thaut wrote:I already have to contributions planned to dmd as soon as I'm done with my master thesis. Also I don't see ldc beeing to usefull to me. I would mainly use it for optimized release builds. I need it to integrate into Visual Studio, be debuggable using a visual debugger (preferably the visual studio one). So for now I'm going to stick to contributions that will benefit me in the short term. Kind Regards Benjamin ThautAm 04.06.2014 14:21, schrieb Temtaime: Ldc for example still does not support windows 64 bit. And that is just one of the things thats wrong with it on windows.Yes, a very well known lack of exception handling support in LLVM. Volunteers are welcome, see here: http://reviews.llvm.org/D3418 Regards, Kai
Jun 04 2014
IMHO LDC problems would be addressed much faster, if it officially becomes the "reference" D compiler. LLVM would also benefit from another community using it. So those unhappy with LLVM's performance could also contribute (don't smile here! =) to LLVM.
Jun 04 2014
On 6/4/2014 9:20 AM, Benjamin Thaut wrote:Ldc for example still does not support windows 64 bit. And that is just one of the things thats wrong with it on windows.On Windows, it needs to be more than just 64 bit. It needs to work with Visual Studio.
Jun 05 2014
On 2014-06-04 11:27, FrankLike wrote:Apple's swift comes on,but only use on iOS,so D should develop the LDC,let D keep the superiority.LDC continues to use LLVM, adds support for Objective-C [1] [2] and lives happily ever after. [1] http://wiki.dlang.org/DIP43 [2] https://github.com/jacob-carlborg/dmd/tree/d-objc -- /Jacob Carlborg
Jun 04 2014