wiki:Compiling Quagents

Version 12 (modified by jpawlick, 13 years ago) (diff)

--

Compiling Quagents

Our code is derived from the http://www/ioquake3.org svn repository as of 23 June 2011.

    svn co svn://svn.icculus.org/quake3/trunk ioquake3

Possibly this was revision 2053. There doesn't appear to a tag or branch in the repo corresponding to exactly the code used for the available binaries, which simply say "built from Subversion 1.36 branch." The branch viewed in TRAC shows no recent changes.

The best way to compile is to either use the install.sh bash script located in the trunk directory, which will invoke "make release tidy relocate", or to invoke "make release tidy relocate" yourself. The script will compile the executibles and vm code, remove unnecessary files, and copy some .pk3 files (zip archives) from other areas of the repository into the proper directory.

Linux

If you don't have SDL or cURL you'll need to get them. There are different libraries available for different distributions of linux, so do your best to install.

Following that, navigate to the directory you've placed quagents in and run install.sh, passing it one argument that is the directory where you want the final executables to go. Alternatively, you can enter the ioquake3 folder and run "make release tidy relocate" to generate an in-place build directory.

Either method will result in the creation of an executable called ioquake3.i386 or ioquake3.x86_64, which can then be run like any other executable (see Running Quagents).

Mac OSX

In brief, the install script should do everything right. I then needed to move some SDL dynamic libraries into the executable's directory (or maybe the working directory?) to get it to boot, and then we have huge problems with block copies and it's completely unusable.

Windows

I've only attempted compilation under Windows using MinGW and Msys. To follow those instructions, you'll need both of those (get them at http://sourceforge.net/projects/mingw/). Additionally, you'll need the zip program (http://gnuwin32.sourceforge.net/packages/zip.htm) accessible from the command line, and SDL.dll in your path somewhere (get it at http://www.libsdl.org/download-1.2.php).

Installing MinGW: Download MinGW from the above link, and run the installation executable. During installation, check all the boxes except the non-C compilers (unless you want those) to install all the parts you need.

Installing zip: Download zip from the above link and run the installer. You will need zip.exe in your PATH - the easiest way to accomplish this if you don't know what you're doing is to copy it (and the .dlls it is with) to C:\Windows\. Alternatively, you can set up your environment variables to include zip's directory in the PATH through use of the Control Panel. You can test that zip is in your PATH by opening up a command line (Start->Run->cmd) and typing "zip". If a line pops up saying it's not a valid program or can't be found, it's not in the path. Otherwise, you should see several lines detailing what flags and parameters you can run zip with.

Installing SDL: Download SDL from the above link (you want the "runtime libraries") and make sure SDL.dll is in your path. Three ways to accomplish this are to move it into C:\Windows\ (or any other folder in the PATH), change your environment PATH variable to include the directory you place it in, or to wait until you've finished compiling and then place it in the same directory as the compiled quagents executable.

Compiling Quagents: Open a command line (Start->Run->cmd.exe or start C:/Windows/System32/cmd.exe). Navigate to where you placed msys by using the cd command, then run msys.bat. Usually msys will mount your drives by default, so in the new msys window, type cd "/c" and then navigate to where you've downloaded quagents from the svn (see Getting Quagents). Type "./install.sh DIRNAME" where DIRNAME is the directory where you want to place the final executables of quagents. Note that if this directory is protected (as many directories are in Windows 7), you'll need administrator privileges to place it there. It would probably be simpler in that case to specify a temporary directory (such as "C:\temp\winquagents" to put it into and then later move it to where you want it to be.

Running Quagents: Wherever you put it, the install script will begin to compile Quagents automatically and (if everything is successful), move it into the directory you specified. You will then have something like C:\temp\winquagents\ioquake3.mingw32.exe, which you can double click to run, or run from the command line to allow yourself to specify useful command line options such as "+map firstroom". See Running Quagents for more information.

Everything Else

You're currently on your own, sorry. Give the makefile a shot and see what happens.