Wednesday 13 June 2007

Getting Unangband/Angband from SVN and Compiling on Windows

If the above sentence scared you, I definitely want you to read on.

I'll translate: 'This is how you get the latest, up to the minute version of Unangband (or Angband) made easy for Windows users.'

At the moment, you rely on the benevolence of strangers compiling and releasing a Windows version of Unangband every so often. However, you don't get to see the many improvements that are made at the time they happen, and have to wait for this period release and download process. What is good about these projects, however, is that there is a publicly accessible version of the program. You can get this program straight from the source, as it were, so you can see the latest and greatest improvements as they happen. And its not that difficult. Honest.

A word of warning: the steps I'm outlining pretty much demand you have a broadband connection of some kind, because you'll be downloading over 100 MB of files and installing them on your computer.

1. Download a Java Runtime environment from this link. You probably have one on Windows already, so you may not need to do this step. Choose the Windows Online Installation, and don't forget to check the box next to it to say you've read the licensing agreement. The installer is straightforward. Don't forget to allow this application out through your firewall software, if you're running any.

2. Download Eclipse for C/C++ developers from this link. Expand the zip file to your C: drive, in C:\Eclipse. Right-click drag Eclipse.exe to your desktop and choose Create shortcut. That'll give you a nice way of starting Eclipse, since the people who packaged this program didn't give you one. Then double-click on the shortcut to run Eclipse. Launch Eclipse and click OK to accept the default workspace (place where you save things). You'll want to click on the rightmost of the coloured balls (they clearly wanted documentation people to have to write that) and the actual workspace will appear.

3. Once you've got Eclipse running, follow these instructions to download and install Subclipse. Of course, like everything in free software, they're not correct. When it comes to step 2, there's no submenu to the Software Updates. Instead, when you choose this option and the new window opens, change to the Available Software tab and click the New Site button. Skip to step 4 and enter the http details for Subclipse version 1.4 and click OK. When the site expands, choose the Subclipse (Required) and JavaHL Adapter (recommended) as shown in the screen shot below. Click Install. Then click Next, accept the license agreement and click Finish.

4. Download the minimal Gnu Windows environment minGW from this link, whilst saying this phrase 6 times quickly. Whoever comes up with these names? The installer will run and prompt you to install lots of additional stuff. Because its an online installer, you need to allow the installer out through your firewall software, if you're running any. Accept the defaults, pretty much everywhere, but when it comes to the list of things to install, you'll also need to check MinGW Make, which is where a lot of smarts are. You can ignore all the g++, g77 etc stuff on that page.

5. Follow these instructions. You want to add the directory C:\mingw\bin to your existing system path.

6. Run Eclipse off the short cut you made earlier (You've already done this once, when you installed Subclipse). Re-open the workspace. Right-click on the left hand panel and choose New > Other...

7. Click on the triangle next to SVN and choose Projects from SVN. Click Next.

8. Select Create a new suppository location. I mean repository. Location. Click Next.

9. Next to the URL, you'll want to type either:

http://angband.rogueforge.net/svn/trunk

or

http://cvs.berlios.de/svnroot/repos/unangband

depending on whether you want Angband or Unangband. Then fill in the Custom Label field with either Unangband or Angband. Click Next, and breath a sigh of relief that the idiots who made this form didn't tell you that you were holding the mouse in the wrong part of the screen as well as all the pop-ups telling you that you hadn't finished typing.

10. Select trunk (some random number), and click Finish.

11. In the Check out Ass dialog, click Yes. I mean, in the Check out As dialog, click Finish.

12. In the Select a wizard project, you want to select Standard Make C Project. Click Next. I have to breath slowly when I say phrases like this, in case I inadvertently cast a spell from Harry Potter. Or worse, sound like I'm trying to cast one.

13. In the Project Name field, type either Angband, Unangband or Mildred. Click Finish.

14. Eclipse will miraculously starting downloading the Angband or Unangband SVN repository for you. Note that this is the first time the computer has done any work on your behalf. Up until here, you have been labouring on its behalf.

15. We're almost done.

16. Wait until the computer is done downloading however. Click the triangle next to Angband, Unangband or Mildred.

17. Right-click on the src directory, and choose Make Targets > Build...

18. Click Add.

19. Target name is default. As in, actually type in the word default. Make target is default. Again, type in the word default. Uncheck the use default under build command, and type in the box mingw32-make -f makefile.cyg.

20. Just to be clear. There are no spaces between mingw32 and the minus sign, and make, and there is a space before and after the minus f. It might be easier if you just copy the above.

21. Click Create.

22. Select the default build target, and click Build. You'll see lots of gibberish in the console window that people who should know better get wildly excited over. However, at the end of it, you'll have an angband.exe sitting in C:\workspace\angband\trunk\angband\src or something similar (or unangband or mildred).

23. Don't double-click on it. Instead curse the incompatibilities between windows and Unix, and copy the angband.exe file up one level, so it sits in the folder that holds the src folder. You'll be doing this particular activity a lot.

24. Double-click on angband.exe.

25. You're done.

Now to keep up to date with any more recent changes, all you have to do is run Eclipse right-click on the Angband / Unangband / Mildred project, choose Team > Update, then repeat steps 17, then 22, 23 and 24, in that order (and nothing in between).

Hopefully this will get you addicted further to tweaking around with Unangband source code, and ideally contributing to one of these projects.

3 comments:

Unknown said...

>> click on the bottom right of the coloured balls (they clearly wanted documentation people to have to write that)

lmao

Darke said...

Eclipse download link is broken, I think this is the updated one:

http://download.eclipse.org/tools/cdt/releases/ganymede/

Darke said...

Acutually, scratch that. Looks like if you install Eclipse, goto "Software Updates", then "Available Software" tab. Expanding the "Ganymede" (or whatever version it is ast the time) tree label, then check the "C and C++ development" box, then click "Install..." and go pretty much next->next->next from there.