For those interested in an easier way to automate the Oolite build I give you
* Fixed the license in the header.
* Doesn't use temporary files anymore.
* Exits on an unknown flag.
* New flag `--fix-openal'
Use only if you have problems with stuttering sound.
Install `oalinst.exe' first, http://bit.ly/1lqa6Xs
You need the build environment installed first. Follow the instructions given here...
Seeing that, despite the quite comprehensive wiki instructions on how to make an Oolite executable, building from source on Windows is still a quite complicated matter, I have created a package that will hopefully simplify the process a lot and allow even the relatively inexperienced users to have a razor bleeding edge version of the game to play with and test. Please note that bleeding edge versions may cause spontaneous combustion of your computer, so you use them at own risk.
The download link to the Oolite Development Environment - Light Edition is this:
https://drive.google.com/file/d/0BwG6R5 ... sp=sharing
The package contains the Objective-C compiler plus Posix environment (MinGW/MSYS), the Git package version 1.8.3 required for checking out and updating the source code and the required gnustep-base 1.20.1 files. No other downloads will be required.
Instructions on how to build an Oolite trunk executable from zero:
Download the environment and unzip it to a folder of your choice. IMPORTANT: The zip file you downloaded must be decompressed maintaining the folders' path structure, check your unzip program's documentation if you are not sure how to do this. Also note that in the unlikely case that your system is using drive letter O:
, you will need to edit the files msys_x2/1.0/msys.bat
and change the references to o:
to an unused drive letter. MORE IMPORTANT: Do not
install this in a path containing spaces. We have had cases where the environment failed to work when installed in locations such as My Documents, Program Files etc.
Once unzipped, you must run the msys.bat file, found in <RootOfWhereTheEnvironmentWasInstalled>\msys_x2\1.0. You can create a shortcut to desktop for this file if you want. Once run, the environment will start up.
The latest development environment is by default configured for building the 64-bit version of the game, but it contains all files necessary for building the 32-bit flavor as well. To switch to the 32-bit version of the compiler, you need to navigate to the folder Msys_x2/1.0 and rename the following folders like this:
1) Devlibs -> Devlibs64,
2) Mingw -> Mingw64,
3) Devlibs32 -> Devlibs
4) Mingw32 -> Mingw
Reverse-rename to return to the 64-bit configuration. Never, ever mix 32-bit Devlibs with 64-bit Mingw or vice-versa. Expect build failure if you do so.
Next, copy the downloaded file
<USERNAME> is usually your Windows login name.
In the console window that was opened up by running
chmod 0755 build-oolite.sh
...that will make the script executable.
...to give the help text...
Usage: build-oolite.sh [options] DEST (1st form)
or: build-oolite.sh [options] SOURCE DEST (2nd form)
or: build-oolite.sh [options] -p (3rd form)
or: build-oolite.sh [options] -p SOURCE [DEST] (4th form)
In the 1st form, build Oolite in the default directory `oolite' and install
into the DEST directory.
In the 2nd form, build Oolite in the SOURCE directory and install into the
In the 3rd form, pull the latest commits into the default directory `oolite',
clone if non-existent.
In the 4th form, pull the latest commits into the SOURCE directory, clone if
non-existent. If DEST is specified, Oolite will be built and installed into
the DEST directory.
The DEST directory will be created if it doesn't exist.
-c, --clean removes all files before building
--fix-openal fix stuttering of music and sound
download oalinst.exe (http://bit.ly/1lqa6Xs)
and install before using this flag
-h, --help display this help and exit
-j [N], --jobs[=N] allow N jobs at once; 4 jobs with no arg
-n, --just-print, --dry-run, --recon
don't actually run any recipe; just print them
-p, --pull pull the latest commits, clone if non-existent
-t TARGET, --target=TARGET set the build target type
other: debug, release-deployment,
--target-list display a list of build targets and exit
-v, --version display version information and exit
build-oolite.sh v1.7 (2014-03-28)
Report bugs to Tricky on the Oolite forums. (http://aegidian.org/bb/)
The most common invocation is...
build-oolite.sh -p oolite /c/Games/Oolite/Release
This will clone or pull the latest changes into the directory
and then build a release version and install into
To build a snapshot version, use this...
build-oolite.sh -p -t snapshot oolite-snapshot /c/Games/Oolite/Snapshot