www.digitalmars.com         C & C++   DMDScript  

D.gnu - Script for Building GDC from Source

reply =?UTF-8?B?Ik5vcmRsw7Z3Ig==?= <per.nordlow gmail.com> writes:
Have anyone put together a build script for 
downloading/git-cloning and building a particular branch, say 
gdc-4.9, of GDC?
Sep 05 2014
next sibling parent reply "Iain Buclaw via D.gnu" <d.gnu puremagic.com> writes:
On 5 September 2014 16:49, "Nordlöw" via D.gnu <d.gnu puremagic.com> wrote:
 Have anyone put together a build script for downloading/git-cloning and
 building a particular branch, say gdc-4.9, of GDC?
This is the closest thing I know of to an actual script, whilst not strictly being complete or anything. https://projects.archlinux.org/svntogit/community.git/tree/trunk/PKGBUILD?h=packages/gdc
Sep 05 2014
parent reply =?UTF-8?B?Ik5vcmRsw7Z3Ig==?= <per.nordlow gmail.com> writes:
On Friday, 5 September 2014 at 16:47:27 UTC, Iain Buclaw via 
D.gnu wrote:
 https://projects.archlinux.org/svntogit/community.git/tree/trunk/PKGBUILD?h=packages/gdc
Thanks! BTW: What's the current status on GDC in terms of stability and DMD version? Is it at 2.065?
Sep 05 2014
next sibling parent =?UTF-8?B?Ik5vcmRsw7Z3Ig==?= <per.nordlow gmail.com> writes:
On Friday, 5 September 2014 at 17:23:24 UTC, Nordlöw wrote:
 stability and DMD version? Is it at 2.065?
2.065 it is. I found it at https://github.com/D-Programming-GDC/GDC/commit/2b2c781fe655139467f5260ae6ebd89c98ca1955
Sep 05 2014
prev sibling next sibling parent "ketmar via D.gnu" <d.gnu puremagic.com> writes:
On Fri, 05 Sep 2014 17:23:22 +0000
""Nordl=C3=B6w" via D.gnu" <d.gnu puremagic.com> wrote:

 Thanks! BTW: What's the current status on GDC in terms of=20
 stability and DMD version? Is it at 2.065?
2.065 at the time of it's release, with all it's bugs and glory. otherwise gdc is very stable; i'm using it as my primary compiler. there was alot of changes in 2.066/2.067 and Iain is busy with other things, so don't expect version upgrades soon. think about 3-4 month (at least). i ported some lib fixes from 2.066 (yet not much) and added no-op ' nogc' attribute (compiler accepts and ignores it) but have neither time nor knowledge to do "real" port. so we all have to wait.
Sep 05 2014
prev sibling next sibling parent "Iain Buclaw via D.gnu" <d.gnu puremagic.com> writes:
On 5 September 2014 18:34, ketmar via D.gnu <d.gnu puremagic.com> wrote:
 On Fri, 05 Sep 2014 17:23:22 +0000
 ""Nordlöw" via D.gnu" <d.gnu puremagic.com> wrote:

 Thanks! BTW: What's the current status on GDC in terms of
 stability and DMD version? Is it at 2.065?
2.065 at the time of it's release, with all it's bugs and glory. otherwise gdc is very stable; i'm using it as my primary compiler. there was alot of changes in 2.066/2.067 and Iain is busy with other things, so don't expect version upgrades soon. think about 3-4 month (at least).
And many of the extreme changes don't actually add/remove/fix any bugs in the compiler: https://github.com/D-Programming-Language/dmd/commit/63e61f160784649cf2cbd1267aaf26e2a2468e73 https://github.com/D-Programming-Language/dmd/commit/fb35735132b73dadfde43778d16d014280f997ec https://github.com/D-Programming-Language/dmd/commit/f7330f62dfd6033f69016432b1600e3f1d85b289 https://github.com/D-Programming-Language/dmd/commit/964183a0f3f8c8c8e8ee8e086dd4fd7313cf4b49 https://github.com/D-Programming-Language/dmd/commit/a5f62b9edbdea548f247b2c400879e97848b5a8d https://github.com/D-Programming-Language/dmd/commit/3f196316c516d96991b21e3e6a7b5c6e072857c9 https://github.com/D-Programming-Language/dmd/commit/152e480ee51c9dfb24f6b7435b6d199b58129ec6 https://github.com/D-Programming-Language/dmd/commit/338fe87587610bd700b9bd2e7bc614cbb5330602 These alone will take about 8 weeks to deal with, partly because of my limited time, partly because of the mundanity of doing the conversions. Doing these individual glue changes one at a time before 2.066-proper seems like a reasonable thing to do rather than trying to do all at once. And any patches to do such conversions would be welcome. Iain.
Sep 08 2014
prev sibling next sibling parent "ketmar via D.gnu" <d.gnu puremagic.com> writes:
On Mon, 8 Sep 2014 08:13:46 +0100
"Iain Buclaw via D.gnu" <d.gnu puremagic.com> wrote:

 Doing these individual glue changes one at a time before 2.066-proper
 seems like a reasonable thing to do rather than trying to do all at
 once.  And any patches to do such conversions would be welcome.
i tried to port lexer from current 2.067 and it turns out to complete mess and alot of changed files already. i'm scared. i'll try to look at this changes and produce some patches. there is nothing to lose in case of my failure anyway.
Sep 08 2014
prev sibling next sibling parent "ketmar via D.gnu" <d.gnu puremagic.com> writes:
On Mon, 8 Sep 2014 08:13:46 +0100
"Iain Buclaw via D.gnu" <d.gnu puremagic.com> wrote:

ok, i started. moved toDebug() and most of toDt() to visitor. yet
Expression::toElem() scares me alot (wow, it's 300kb!). but i hope to
finish it in week or two (i have some free time now and can spend it on
porting).

i'm keeping patches somewhat separated (but it's hard to separate 'em
properly). no tests done for now, it merely compiles without errors.

posting this just to let people know that i'm working on it, so they
can avoid double-work.
Sep 09 2014
prev sibling next sibling parent "Iain Buclaw via D.gnu" <d.gnu puremagic.com> writes:
On 9 September 2014 19:40, ketmar via D.gnu <d.gnu puremagic.com> wrote:
 On Mon, 8 Sep 2014 08:13:46 +0100
 "Iain Buclaw via D.gnu" <d.gnu puremagic.com> wrote:

 ok, i started. moved toDebug() and most of toDt() to visitor. yet
 Expression::toElem() scares me alot (wow, it's 300kb!). but i hope to
 finish it in week or two (i have some free time now and can spend it on
 porting).

 i'm keeping patches somewhat separated (but it's hard to separate 'em
 properly). no tests done for now, it merely compiles without errors.

 posting this just to let people know that i'm working on it, so they
 can avoid double-work.
Thanks. I also intend to use the conversions as an excuse to reform the code into a more C++ coding style convention[1]. You can look at toir.cc to get a general feel of this[2]. Other things it gives me the excuse to do is renaming the files without the d- prefix. d-elem.cc -> expr.cc d-decls.cc -> decls.cc d-ctype.cc -> ctype.cc etc... Adding namespaces to split each component of the sources is something on my todo list too (moving away from the flat C function names). [1] https://gcc.gnu.org/wiki/CppConventions [2] https://github.com/D-Programming-GDC/GDC/blob/master/gcc/d/toir.cc Regards Iain.
Sep 10 2014
prev sibling parent "Iain Buclaw via D.gnu" <d.gnu puremagic.com> writes:
On 10 September 2014 21:58, Iain Buclaw <ibuclaw gdcproject.org> wrote:
 On 9 September 2014 19:40, ketmar via D.gnu <d.gnu puremagic.com> wrote:
 On Mon, 8 Sep 2014 08:13:46 +0100
 "Iain Buclaw via D.gnu" <d.gnu puremagic.com> wrote:

 ok, i started. moved toDebug() and most of toDt() to visitor. yet
 Expression::toElem() scares me alot (wow, it's 300kb!). but i hope to
 finish it in week or two (i have some free time now and can spend it on
 porting).

 i'm keeping patches somewhat separated (but it's hard to separate 'em
 properly). no tests done for now, it merely compiles without errors.

 posting this just to let people know that i'm working on it, so they
 can avoid double-work.
Thanks. I also intend to use the conversions as an excuse to reform the code into a more C++ coding style convention[1]. You can look at toir.cc to get a general feel of this[2].
You'll notice that most functions in toir.cc have an empty comment above the function ('//') - this is because eventually it will be all documented (good), if not documented during the conversion (better).
Sep 10 2014
prev sibling next sibling parent "ketmar via D.gnu" <d.gnu puremagic.com> writes:
On Fri, 05 Sep 2014 15:49:20 +0000
""Nordl=C3=B6w" via D.gnu" <d.gnu puremagic.com> wrote:

 Have anyone put together a build script for=20
 downloading/git-cloning and building a particular branch, say=20
 gdc-4.9, of GDC?
yes, i'm using such script. ;-)
Sep 05 2014
prev sibling parent "eles" <eles eles.com> writes:
On Friday, 5 September 2014 at 15:49:22 UTC, Nordlöw wrote:
 Have anyone put together a build script for 
 downloading/git-cloning and building a particular branch, say 
 gdc-4.9, of GDC?
Just throwing mine into the game: Attention: it really cleans up the git repositories (cloned from github) and you will LOOSE all other files that accidentally you might have placed in those gcc-git and gdc-git folders. #!/bin/bash CRTDIR=`pwd` cd ${GDC_GCCSRC} git clean -fxd git checkout . git switch gcc-4_9-branch git pull cd ${GDC_GDCSRC} git clean -fxd git checkout . git switch gdc-4.9 git pull cd ${GDC_GDCSRC} ./setup-gcc.sh ${GDC_GCCSRC} mkdir -p ${GDC_OBJDIR} cd ${GDC_OBJDIR} rm -rf ./* ${GDC_GCCSRC}/configure --enable-languages=d --disable-bootstrap --enable-checking=release --prefix=/opt/gdc-4.9 make -j8 sudo make install cd ${CRTDIR}
Sep 16 2014