[fpc-devel] Summer of code collaboration
Michael Van Canneyt
michael at freepascal.org
Sat Feb 9 14:36:19 CET 2013
On Sat, 9 Feb 2013, Vittorio Giovara wrote:
> Hi all,
> I'm one of the developer of Hedgewars, an open source video game all written with FreePascal. Please see the full site at
> http://www.hedgewars.org/
>
> One of the Hedgewars project is to make a WebGL/Javascript version of the game so that it can run in a browser. To do that we are
> using a tool named 'emscripten' which takes LLVM bytecode and generates Javascript, without affecting performance too much. Yes, we
> had to write a horribly hacked converter that took the small subset of Pascal used by Hedgewars and convert it to C (on a side node,
> the converter is written in Haskell) and reimplement the RTL.
>
> So, this got the job done (if you are using an old browser the demo might still work http://hedgewars.org/hwjs/hwjs.html ) but all
> this process is *highly* unmaintainable and very prone to breakage. So the right way (tm) to achieve this result would be to directly
> integrate LLVM bytecode generation inside Freepascal.
>
> I think we could make this work thanks to the Google Summer of Code! This program (*if* they announce it) basically introduces
> students to the world of FOSS development by having them work on projects for an open source organization during the summer.
>
> I don't know if Freepascal wants to participate on its own, but if not, if there is one or more developer willing to act as mentor
> for the students, Hedgewars (*if* selected) would happily allocate some of its students to work on this task and act as a "umbrella"
> for this project targeting Freepascal sources. Of course the students would still have to write a sensible project proposal for being
> accepted.
>
> What do you think of this idea?
Jonas already did some work on a LLVM code generator. You can find it in SVN:
http://svn.freepascal.org/svn/fpc/branches/llvm/
So I'm sure we'll be happy to cooperate on this.
Michael.
More information about the fpc-devel
mailing list