Bulding latest DMD and associated projects from github master

Alex Rønne Petersen alex at lycus.org
Sun Nov 18 17:06:21 PST 2012


On 19-11-2012 02:02, H. S. Teoh wrote:
> 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.

It's a good idea to append "DMD=../dmd/src/dmd" to the druntime and 
phobos make commands.

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

-- 
Alex Rønne Petersen
alex at lycus.org
http://lycus.org


More information about the Digitalmars-d mailing list