Page 1 of 1

build-oolite.sh v1.7

Posted: Fri Mar 28, 2014 11:00 pm
by Tricky
For those interested in an easier way to automate the Oolite build I give you build-oolite.sh
[code]
* 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
[/code]
Download links: You need the build environment installed first. Follow the instructions given here...
another_commander in [url=https://bb.oolite.space/viewtopic.php?f=8&t=5943]Building Oolite Windows from source - The Easier Way[/url] wrote:
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 msys_x2/1.0/etc/fstab 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.

Important note: 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 build-oolite.sh to <RootOfWhereTheEnvironmentWasInstalled>\msys_x2\1.0\home\<USERNAME>
  • <USERNAME> is usually your Windows login name.
In the console window that was opened up by running msys.bat type...

Code: Select all

chmod 0755 build-oolite.sh
...that will make the script executable.

Next type...

Code: Select all

build-oolite.sh --help
...to give the help text...

Code: Select all

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
  DEST directory.
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.

Options:
  -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
                                  default: release
                                  other: debug, release-deployment,
                                         release-snapshot
  --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. (https://bb.oolite.space/)
The most common invocation is...

Code: Select all

build-oolite.sh -p oolite /c/Games/Oolite/Release
This will clone or pull the latest changes into the directory oolite and then build a release version and install into C:\Games\Oolite\Release

To build a snapshot version, use this...

Code: Select all

build-oolite.sh -p -t snapshot oolite-snapshot /c/Games/Oolite/Snapshot