digitalmars.D - compiling dmd on linux
- Georg Wrede <georg.wrede iki.fi> Mar 05 2009
- Georg Wrede <georg.wrede iki.fi> Mar 06 2009
- naryl <cy ngs.ru> Mar 06 2009
- Walter Bright <newshound1 digitalmars.com> Mar 06 2009
- naryl <cy ngs.ru> Mar 07 2009
- Walter Bright <newshound1 digitalmars.com> Mar 07 2009
- naryl <cy ngs.ru> Mar 07 2009
Compiling dmd seems to need some tweaking. I downloaded the *updated*
version of D2.026, copied ./dmd into a new directory an ran
$make -f linux.mak all
There was no *rule* for making dchar, so I compiled it manually and
moved it with the others. (Not sensible, but at the time I thought
that'd be the only problem...)
$ cd root
$ g++ -m32 -Wno-deprecated -D__near= -D__pascal= -fno-exceptions\
-O2 -D__I 86__=1 -DMARS=1 -DTARGET_LINUX=1 -D_DH -c dchar.c
$ mv dchar.o ..
$ cd ..
$ make -f linux.mak all
Got some errors, so I started editing linux.mak. Thus far it looks like
$ diff linux.mak.bak linux.mak
218c218
< dchar.o: ../root/dchar.c
---
dchar.o: $(ROOT)/dchar.c
Then I changed "../mars/mars.h" to "../mars.h" in 2 files:
backend/elfobj.c backend/dwarf.c
Another thing, what about new.h?
I'm on Fedora 10, and I suspect new.h is deprecated.
$ grep -R "new\.h" *
ph.c:#include <new.h>
tk/mem.c:#include <new.h>
Mar 05 2009
Georg Wrede wrote:Compiling dmd seems to need some tweaking. I downloaded the *updated* version of D2.026, copied ./dmd into a new directory an ran
I mean ./src/dmd$make -f linux.mak all There was no *rule* for making dchar, so I compiled it manually and moved it with the others. (Not sensible, but at the time I thought that'd be the only problem...) $ cd root $ g++ -m32 -Wno-deprecated -D__near= -D__pascal= -fno-exceptions\ -O2 -D__I 86__=1 -DMARS=1 -DTARGET_LINUX=1 -D_DH -c dchar.c $ mv dchar.o .. $ cd .. $ make -f linux.mak all Got some errors, so I started editing linux.mak. Thus far it looks like $ diff linux.mak.bak linux.mak 218c218 < dchar.o: ../root/dchar.c --- > dchar.o: $(ROOT)/dchar.c Then I changed "../mars/mars.h" to "../mars.h" in 2 files: backend/elfobj.c backend/dwarf.c Another thing, what about new.h? I'm on Fedora 10, and I suspect new.h is deprecated. $ grep -R "new\.h" * ph.c:#include <new.h> tk/mem.c:#include <new.h>
Mar 06 2009
Georg Wrede Wrote:Another thing, what about new.h? I'm on Fedora 10, and I suspect new.h is deprecated. $ grep -R "new\.h" * ph.c:#include <new.h> tk/mem.c:#include <new.h>
Mar 06 2009
naryl wrote:Georg Wrede Wrote:Another thing, what about new.h? I'm on Fedora 10, and I suspect new.h is deprecated. $ grep -R "new\.h" * ph.c:#include <new.h> tk/mem.c:#include <new.h>
libstdc++, which is kept only for compatibility reasons and only in binaries.
What do they use instead?
Mar 06 2009
Walter Bright Wrote:naryl wrote:Georg Wrede Wrote:Another thing, what about new.h? I'm on Fedora 10, and I suspect new.h is deprecated. $ grep -R "new\.h" * ph.c:#include <new.h> tk/mem.c:#include <new.h>
libstdc++, which is kept only for compatibility reasons and only in binaries.
What do they use instead?
Just replace <new.h> with <new> in addition to Georg's fixes. As a bonus dmd will not depend on ancient libstdc++ anymore.
Mar 07 2009
naryl wrote:Just replace <new.h> with <new> in addition to Georg's fixes. As a bonus dmd will not depend on ancient libstdc++ anymore.
Sounds good.
Mar 07 2009
Uploaded source ebuilds for latest dmd: http://www.assembla.com/wiki/show/d-overlay Here are the patches: http://code.assembla.com/d-overlay/subversion/nodes/dev-lang/dmd/files Tango trunk compiles with dmd-1.041.
Mar 07 2009









Georg Wrede <georg.wrede iki.fi> 