About:

GNUGoS60 is a port of the FSF's GNU Go game engine to Nokia's S60 smartphone platform running on SymbianOS.

It is Free Software.

Thursday, September 07, 2006

Getting Started

First things first, how to build gnugo for S60? Well, GNU Go is divided into 5 dlls, so I'll follow that structure. The existing structure is like this:

gnugo-3.6/
+- interface/ (.EXE)
+- engine/ (.DLL)
+- patterns/ (.DLL)
+- sgf/ (.DLL)
+- utils/ (.DLL)

Firstly I want to keep everything related to the S60 port out of the main gnugo directory structure unless it's unavoidable (e.g. code changes). So, "mkdir S60" it is.

I will swap out the text interface, and replace with a GUI. However, it may be that need to keep some the code in the interface around because there is not a very clear seperation between purely presentation code and functional code in the interface aera. Anyway, that will go to a DLL.

Each of those folders also contains .DSP project files for Microsoft Visual C++, and I'll use those as the basis for my .MMP files. Since I intend to add a GUI, I'll need to add a folder for that, and also some place for the traditional Symbian build structure. Here is how I'm going to lay out the project:
gnugo-3.6/
+- S60/
+- group/ (.INF, .MMP)
+- gui/ (.APP, .EXE)
+- engine/ (.DLL)
+- interface/ (.DLL)
+- patterns/ (.DLL)
+- sgf/ (.DLL)
+- utils/ (.DLL)

For the moment I am going to steer clear of using any IDE. I may use Visual C++ to help identify the code structure, but mostly I'll stick to gvim and the dos command prompt.

So, with that in place, all that's left is to "bldmake bldfiles" and "abld build", and watch the compile errors flow by...

0 comments: