Difference between revisions of "Compiling using GCC"
(→Cygwin) |
|||
Line 60: | Line 60: | ||
[[Image:Cygwin.png|thumb|Screenshot of Odamex in Cygwin]] | [[Image:Cygwin.png|thumb|Screenshot of Odamex in Cygwin]] | ||
− | === Cygwin | + | ===Step 1: Installing Cygwin=== |
− | + | Download and run the setup.exe file avalable from [[here http://www.cygwin.com/]]. Make sure that the make, gcc and subversion (if you are going to download the source via svn) packages are selected to be installed. | |
− | + | ===Step 2: Required Libraries === | |
− | + | ||
− | + | ||
− | + | For ODAMEX to successfully compile, you must obtain some libraries for it, which are: | |
− | + | <b>SDL Development Libraries</b> | |
+ | |||
+ | You can get the latest version of SDL [http://www.libsdl.org/download-1.2.php here]. Extract the archive where you think it's approprite. If you don't know where to put it, your home directory should work nicely. | ||
+ | |||
+ | <b>SDL_mixer Development Libraries</b> | ||
+ | |||
+ | You can get the latest version of SDL_mixer [http://www.libsdl.org/projects/SDL_mixer/ here]. Extract the archive where you think it's approprite. If you don't know where to put it, your home directory should work nicely. | ||
+ | |||
+ | ===Step 3: Patch SDL_config_minimal.h=== | ||
Unfortunately, SDL does not always play ball with cygwin's headers. The biggest offender has been a conflict between <SDL_config_minimal.h> and <stdint.h>. You may need to edit the following two lines in <SDL_config_minimal.h>: | Unfortunately, SDL does not always play ball with cygwin's headers. The biggest offender has been a conflict between <SDL_config_minimal.h> and <stdint.h>. You may need to edit the following two lines in <SDL_config_minimal.h>: | ||
Line 81: | Line 87: | ||
* typedef signed long int int32_t; | * typedef signed long int int32_t; | ||
* typedef unsigned long int uint32_t; | * typedef unsigned long int uint32_t; | ||
+ | |||
+ | ===Step 4: Getting the source code for ODAMEX=== | ||
+ | |||
+ | The source code can be obtained through the [http://odamex.net website] or from the [[SVN]] repository using cygwin's svn client. | ||
+ | |||
+ | ===Step 5: Modifying your makefile=== | ||
+ | |||
+ | There is one extra step you have to do before compiling. You must edit the makefile in the root of the branch you want to compile. The two things you must change are SDL_LOCATION and SDL_MIXER_LOCATION, and you have to modify these two lines to point to the directories where you extracted your SDL and SDL_Mixer development libraries, respectively. | ||
+ | |||
+ | ===Step 5: Compiling the ODAMEX source code=== | ||
+ | |||
+ | Finally, you can '''make''', and the client and server and master server should compile sucessfully. | ||
+ | |||
+ | ===Step 6: Obtaining the runtime libraries=== | ||
+ | |||
+ | Once its all built (and no errors have occurred), you should find some binary files located in the '''trunk''' directory. The only thing that you're likely missing is the SDL and SDL_Mixer runtime libraries. Download the Win32 library from [[http://www.libsdl.org/download-1.2.php here]] and [[www.libsdl.org/projects/SDL_mixer/ here]]. |
Revision as of 15:19, 9 November 2006
Note: If you intend to build the client, you'll need the current version of SDL and SDL_mixer development libraries installed.
Contents
GNU/Linux
Get the source
You can either download a stable source package, or risk using the bleeding edge svn code.
Download
Download the latest source Untar the archive somewhere:
tar -xjf odamex_build.tar.bz2 cd odamex_build
SVN
Get a dev build using (must have subversion installed!):
svn co svn://odamex.net
Build
In the source directory, use the make command:
make
Binaries should appear in the bin dir after a successful compile: odamex, odasrv, odamaster
You can run "make server" or "make client" to only build the module you want:
make server make client make launcher
FreeBSD
To compile Odamex on FreeBSD, you must have the following ports installed, above and beyond the usual suspects:
- GNU Make: [gmake-3.80_2]
- SDL 1.2.9: [sdl-1.2.9_2,2]
- SDL_Mixer 1.2.6: [sdl_mixer-1.2.6_2]
In addition, if you want to compile the absolute latest cutting edge version of Odamex, you will also need:
- Subversion: [subversion-1.3.0_4 ]
Once those ports are installed, you can simply untar or grab the latest source through subversion into its own directory, switch to the trunk subdirectory, and simply type gmake. If you only want to compile the client or only compile the server, simply type gmake client or gmake server respectively.
Windows
It is possible to compile Odamex with a makefile under Windows
Cygwin
Step 1: Installing Cygwin
Download and run the setup.exe file avalable from here http://www.cygwin.com/. Make sure that the make, gcc and subversion (if you are going to download the source via svn) packages are selected to be installed.
Step 2: Required Libraries
For ODAMEX to successfully compile, you must obtain some libraries for it, which are:
SDL Development Libraries
You can get the latest version of SDL here. Extract the archive where you think it's approprite. If you don't know where to put it, your home directory should work nicely.
SDL_mixer Development Libraries
You can get the latest version of SDL_mixer here. Extract the archive where you think it's approprite. If you don't know where to put it, your home directory should work nicely.
Step 3: Patch SDL_config_minimal.h
Unfortunately, SDL does not always play ball with cygwin's headers. The biggest offender has been a conflict between <SDL_config_minimal.h> and <stdint.h>. You may need to edit the following two lines in <SDL_config_minimal.h>:
- typedef signed int int32_t;
- typedef unsigned int uint32_t;
To read:
- typedef signed long int int32_t;
- typedef unsigned long int uint32_t;
Step 4: Getting the source code for ODAMEX
The source code can be obtained through the website or from the SVN repository using cygwin's svn client.
Step 5: Modifying your makefile
There is one extra step you have to do before compiling. You must edit the makefile in the root of the branch you want to compile. The two things you must change are SDL_LOCATION and SDL_MIXER_LOCATION, and you have to modify these two lines to point to the directories where you extracted your SDL and SDL_Mixer development libraries, respectively.
Step 5: Compiling the ODAMEX source code
Finally, you can make, and the client and server and master server should compile sucessfully.
Step 6: Obtaining the runtime libraries
Once its all built (and no errors have occurred), you should find some binary files located in the trunk directory. The only thing that you're likely missing is the SDL and SDL_Mixer runtime libraries. Download the Win32 library from [here] and www.libsdl.org/projects/SDL_mixer/ here.