Bulding latest DMD and associated projects from github master

H. S. Teoh hsteoh at quickfur.ath.cx
Sun Nov 18 17:02:45 PST 2012


On Mon, Nov 19, 2012 at 01:40:08AM +0100, Rob T wrote:
> First I cloned everything from github master, and that went well but
> I'm now  encountering a lot of silly stumbling blocks due to
> inadequate documentation, for example it's clear how to build anything
> - period.

Please add the docs on how to build in a prominent place, like a README
or something.

Anyway, here's what I do (I'm on 64-bit Linux, so YMMV):
- create a root directory to put dmd, druntime, and phobos as subdirs
  (you will have less pain this way).
- git clone dmd, druntime, and phobos.
- cd dmd/src; make -f posix.mak
- cd druntime; make -f posix.mak
- cd phobos; make -f posix.mak
- If necessary, edit dmd.conf to find druntime/phobos in the right
  place.
- You should now have a working compiler toolchain.


[...]
> Being new to this, I'll know immediately where the documentation is
> failing, so as I get stuck and unstuck I'm in a good position to
> create missing documentation or improve on the current documentation.
> 
> If I'm to try and contribute, I have a few questions, for example can
> anyone contribute at this level (build process)? If I am allowed to
> contribute, then what's the process for making contributions?
[...]

AFAIK, all contributions are welcome, subject to review by the
respective maintainers.

First and foremost, fork the project you want to contribute to on github
(just go to github, navigate to D-Programming-Language, select dmd,
druntime, phobos, etc., click on "fork", then clone your fork).

Second, *always* create a git branch for making changes:

	git clone git://github.com/myname/dmd.git # checkout your fork
	git checkout -b my_super_duper_fixes	# make a topic branch
	vim $files			# make changes here
	make -f posix.mak unittest	# make sure you didn't break stuff
	git add $files
	git commit
	git push -u origin my_super_duper_fixes # push new branch to github

Next, go back to github, select your new branch, and click on "pull
request". Type in some convincing message on why your changes should be
merged into master.

Then wait.

And wait.

And wait some more.

Until the maintainer merges your branch, or has some feedback.

(Well OK, the waiting part is improving, but still, don't expect things
to happen overnight 'cos they probably won't.)


T

-- 
This sentence is false.


More information about the Digitalmars-d mailing list