Swift is based LLVM,what will the D's LDC do?

H. S. Teoh via Digitalmars-d digitalmars-d at puremagic.com
Wed Jun 4 08:07:04 PDT 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_DMD


> 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.

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...


More information about the Digitalmars-d mailing list