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