digitalmars.D - Building DMD
- Frank Benoit (10/10) Dec 20 2007 DMDs frontend is open source, the backend is close.
- Bill Baxter (3/16) Dec 20 2007 I think that'd be grand.
- BLS (9/22) Dec 20 2007 Hi Frank,
- Lionello Lunesu (5/18) Dec 20 2007 I've managed to compile and link(!) GDC under cygwin once. It wasn't
- Bill Baxter (3/22) Dec 20 2007 I tried once and eventually gave up. :-(
- Jascha Wetzel (6/27) Dec 20 2007 Just for the record: compiling llvmdc on linux is very simple. It
- Sean Kelly (4/6) Dec 20 2007 Not as it stands, though someone may be able to create a c-front
- Robert Fraser (2/15) Dec 20 2007 Descent's Java port and Rebuild's DMD version are fully compilable.
- Frank Benoit (2/3) Dec 20 2007 But not full functional. They cannot build executables.
DMDs frontend is open source, the backend is close. Is there a way to compile a full functional DMD from the released sources? If the DMD release would contain a static lib for the closed part (like libDmdBackend.a/dmdBackend.lib) it should be possible to build DMD without making the backend open source. The advantage would be - Users could learn how DMD works, not only by looking at the code. - If a bug blocks developement, the user /can/ try to find a workaround. And then, the change /can/ be tested, before submitting a patch. Frank
Dec 20 2007
Frank Benoit wrote:DMDs frontend is open source, the backend is close. Is there a way to compile a full functional DMD from the released sources? If the DMD release would contain a static lib for the closed part (like libDmdBackend.a/dmdBackend.lib) it should be possible to build DMD without making the backend open source. The advantage would be - Users could learn how DMD works, not only by looking at the code. - If a bug blocks developement, the user /can/ try to find a workaround. And then, the change /can/ be tested, before submitting a patch. FrankI think that'd be grand. --bb
Dec 20 2007
Frank Benoit schrieb:DMDs frontend is open source, the backend is close. Is there a way to compile a full functional DMD from the released sources? If the DMD release would contain a static lib for the closed part (like libDmdBackend.a/dmdBackend.lib) it should be possible to build DMD without making the backend open source. The advantage would be - Users could learn how DMD works, not only by looking at the code. - If a bug blocks developement, the user /can/ try to find a workaround. And then, the change /can/ be tested, before submitting a patch. FrankHi Frank, Vote++ Further advantage, IDE developers could modify DMD to what they need. DMD as dll/so, code metrics, profiler output ... But I doubt that Walter is willing to give us this opportunity. At the moment you are not allowed to bundle DMD with your product. Bjoern
Dec 20 2007
Frank Benoit wrote:DMDs frontend is open source, the backend is close. Is there a way to compile a full functional DMD from the released sources? If the DMD release would contain a static lib for the closed part (like libDmdBackend.a/dmdBackend.lib) it should be possible to build DMD without making the backend open source. The advantage would be - Users could learn how DMD works, not only by looking at the code. - If a bug blocks developement, the user /can/ try to find a workaround. And then, the change /can/ be tested, before submitting a patch. FrankI've managed to compile and link(!) GDC under cygwin once. It wasn't easy, and I should have written it down :( but it does give you an open D compiler in the end. L.
Dec 20 2007
Lionello Lunesu wrote:Frank Benoit wrote:I tried once and eventually gave up. :-( --bbDMDs frontend is open source, the backend is close. Is there a way to compile a full functional DMD from the released sources? If the DMD release would contain a static lib for the closed part (like libDmdBackend.a/dmdBackend.lib) it should be possible to build DMD without making the backend open source. The advantage would be - Users could learn how DMD works, not only by looking at the code. - If a bug blocks developement, the user /can/ try to find a workaround. And then, the change /can/ be tested, before submitting a patch. FrankI've managed to compile and link(!) GDC under cygwin once. It wasn't easy, and I should have written it down :( but it does give you an open D compiler in the end.
Dec 20 2007
Lionello Lunesu wrote:Frank Benoit wrote:Just for the record: compiling llvmdc on linux is very simple. It doesn't implement the whole language yet, but it's nice to play around with. Tomas is aiming for an alpha release early next year (go tomas, goo :) I'm really looking forward to that - D on LLVM, that'll remedy all the target platform troubles D has.DMDs frontend is open source, the backend is close. Is there a way to compile a full functional DMD from the released sources? If the DMD release would contain a static lib for the closed part (like libDmdBackend.a/dmdBackend.lib) it should be possible to build DMD without making the backend open source. The advantage would be - Users could learn how DMD works, not only by looking at the code. - If a bug blocks developement, the user /can/ try to find a workaround. And then, the change /can/ be tested, before submitting a patch. FrankI've managed to compile and link(!) GDC under cygwin once. It wasn't easy, and I should have written it down :( but it does give you an open D compiler in the end. L.
Dec 20 2007
Frank Benoit wrote:DMDs frontend is open source, the backend is close. Is there a way to compile a full functional DMD from the released sources?Not as it stands, though someone may be able to create a c-front back-end without tremendous heartache. Sean
Dec 20 2007
Frank Benoit Wrote:DMDs frontend is open source, the backend is close. Is there a way to compile a full functional DMD from the released sources? If the DMD release would contain a static lib for the closed part (like libDmdBackend.a/dmdBackend.lib) it should be possible to build DMD without making the backend open source. The advantage would be - Users could learn how DMD works, not only by looking at the code. - If a bug blocks developement, the user /can/ try to find a workaround. And then, the change /can/ be tested, before submitting a patch. FrankDescent's Java port and Rebuild's DMD version are fully compilable.
Dec 20 2007
Robert Fraser schrieb:Descent's Java port and Rebuild's DMD version are fully compilable.But not full functional. They cannot build executables.
Dec 20 2007