Downloading and Compiling Anakrino's Source Code

Oh boy this is complicated... I hope you know what you are getting into :). Please note that you _need_ Visual C++ 6.0 to make this an easy process. I had VS.NET project files a while back, and the code works on VS.NET, I just don't have them anymore and getting some of the dependant libraries to compile requires futzing with them a little. Just use VC++ 6.0... Oh, and expect to use a butt load of hard drive space. My fully compiled tree (debug and release builds) comes out to (asks Windows)... OH MY LORD... over a gigabyte... ROTFLMAO.
Before even starting on these instructions, make sure you have the Platform SDK installed and setup. I don't think you need to patch any of VC++ 6's header files, but I might be forgetting something... I use Unicode APIs, so you need 2000 or XP (I doubt NT will work). Currently you need the .NET Framework SDK installed (not VS.NET, just the SDK is needed). Eventually this restriction will go away.

Step 1: Create the Magic Directory

Create a directory C:\Unix\cygwin\bin. Yes, this is important. If you boot to D: and can't create files on C:, then you can download the code, but likely can't update the code later with new changes without downloading it from scratch. You will also lose a lot of functionality of the repository... sorry :(. Just create another directory and continue the steps with that, it should at least partially work.

Step 2: Add Magic to your Path

Open the system control panel, under Advanced choose Environment Variables. Add ";C:\Unix\cygwin\bin" to the end of your PATH variable.

Step 3: Download Software that Downloads the Code

Go to http://test.saurik.com/tools/ and download cvs.exe to somewhere on your path (the new directory works, but I keep mine in C:\Windows). Go into the "svn" folder, and download the entire contents to the new directory I had you create. Technically, only diff and patch need to be in that directory, everything else can be anywhere on your path.

Step 4: Download the Source Code

Open a command prompt, and type: "svn co http://svn.saurik.com/repos/ninetjer/trunk -d ninetjer" somewhere. This will create a folder called "ninetjer" in the current directory that contains the necessary workspace.

Step 5: Download the... Other... Code

Now you need all the code I rely on. In the "external" directory is a program "obtain.bat". Run this. It should sit around and download for a while... possibly a long while, but it will give you feedback.

Step 6: Compile the Other Code

Open the external/external.dsw workspace. Choose the "Win32 Debug Unicode DLL" build setting of the "external_build" project, and compile. This will compile all of the various libraries you need and copy them to the right folders. You can probably go off and order a pizza at this point, it will probably arrive before this gets done compiling. If you want to compile Release builds, you should also compile "Staging Unicode" as well. The reason the configurations are named as such has to do with VC++'s crappy build environment (which has some improvments, but in general is even worse in VS.NET). When you unload this workspace, VC++ will likely crash (I know my copy usually does). You can likely save a ton of hard drive space by doing a clean on all of the projects when this is over (that will not remove any of the important, copied files). If your computer has two CPUs and you can spare some clock cycles, you might want to start on step 7 while this is compiling.

Step 7: Install a Java Virtual Machine

Go to Sun's website, and download the Java 1.4 Standard Edition SDK. Currently you really just need anything past 1.2, but if I ever go the JNI integration route (which I already have a lot of code sitting there to do) you will need to use 1.4 (simply because that's what I want to support... at least the end-user installation issues won't be near as evil, I can just package the JRE into my installer). Right now I use the JVM in order to run Xalan's XSL/T engine to generate some of the code for my graph theory engine.

Step 8: Compiling my Code

OK, to compile my actual code you open the "projects/win32-vs6/anakrino/anakrino.dsw" workspace, choose the Debug build setting of the "anakrino" project, and hit compile. Do not try to compile "Staging", I never set that environment up.