Skip to content
tiffany edited this page Aug 15, 2013 · 25 revisions

A fair warning

You will need fairly up to date drivers in order to run IntenseLogic, as it uses OpenGL 3.1 (3.2 on OS X). You need a Sandybridge or newer CPU if you plan to run on Intel integrated graphics, but any fairly recent AMD/NVidia GPU should do (OpenGL 3.1 is several years old, after all). Note that if your drivers are provided through your OEM (HP does this), they will be extremely out of date and you will not be able to run IL at all on Intel cards.

If you're running Linux, you'll need Mesa 9.0 or higher. On Debian systems, this will require you to recompile Mesa.

OpenGL 3.2 is required on OS X as 3.1 support is not available. IntenseLogic does not use any features of 3.2.

IntenseLogic should build on anything with a half-decent POSIX implementation (that also happens to have an equivalent of -rdynamic or --export-all-symbols, ignoring library dependencies...), but there is probably quite a lot of platform-dependent behaviour, so if you find any please be sure to report it.

The compiler of SCons can be set to something other than the default value (for example, if you wish to build with clang) by modifying the CC environment variable.

Running the resulting binary can be achieved with the provided run.sh/run.bat

Windows

We will provide packages when we begin to add version numbers to engine versions.

MinGW + Msys

(Only tested for 32bit) /C/MinGW is the default installation directory for MinGW. If you installed it elsewhere, change this. Library directory for a default MinGW install would be /C/MinGW/lib, include directory /C/MinGW/include

GLFW

Prerequisites: Download and unzip the GLFW source distribution. The windows binaries will not work. They are compiled for Visual Studio.

  1. Install CMake
  2. cmake -DBUILD_SHARED_LIBS:bool=true -DGLFW_BUILD_EXAMPLES:bool=false -DGLFW_BUILD_TESTS:bool=false -G "MSYS Makefiles" CMakeLists.txt
  3. make Note: Trying to use this with threading caused make to hang on me.
  4. Copy the contents of include/ to your include directory
  5. Copy src/glfw3.dll into your library directory

GLEW

Prerequisites: Download and unzip the GLEW source. Again, the windows binaries will not work, as they are for Visual Studio.

  1. make
  2. Copy the contents of include/ to your include directory
  3. Copy the contents of lib/ to your library directory

LuaJIT

Prerequisites: Download and unzip the LuaJIT source.

  1. mingw32-make
  2. Copy the .h files in src/ to your include directory
  3. Copy src/lua51.dll to your library directory

zlib

Zlib is needed as a dependency of libpng. Prerequisites: Download and unzip the zlib source (scroll down). The binaries will probably not work, but this has not been tested.

  1. make -f win32/Makefile.gcc
  2. Copy zlib1.dll, zlib.a, and zlib.dll.a to your library directory, and all header files to your include directory

libpng

Prerequisites: Download and unzip the Zlib source (section "Source code" under 1.5.14).

  1. ./configure --prefix=/C/MinGW
  2. make # This stalled with -j4 as well
  3. make install

libevent

Prerequisites: Download and unzip the libevent source.

  1. ./configure --prefix=/C/MinGW
  2. make
  3. make install

FreeType2

Prerequisites: Download the FreeType2 source and make sure not to get the wrong one!

  1. ./configure --prefix=/C/MinGW
  2. make
  3. make install

pkgconfig

Dependency for cairo.

The 'normal' pkg-config has a circular dependency on glib which is sort of messy, but the binary for pkg-config-lite seems to work fine.

Pixman

Dependency for cairo. Prerequisites: Download the pixman source.

  1. ./configure --prefix=/C/MinGW
  2. make
  3. make install

Cairo

Prerequisites: Download the cairo source.

  1. ./configure --prefix=/C/MinGW # --enable-GL might be required in the future
  2. make
  3. make install

HarfBuzz

Prerequisites: Make sure you have g++ installed (not included by default, use mingw-get install g++) and download the HarfBuzz source.

  1. ./configure --prefix=/C/MinGW

Scons

Prerequisites: Download and install the 32-bit version of Python 2.7. The 64bit version does not work. Download and install Scons

IntenseLogic

PATH="$PATH:/C/Python27/:/C/Python27/Scripts/" # Change if you didn't use the default python install directory
cd IntenseLogic
CC=gcc scons.py platform=mingw .

Visual Studio

Shit out of luck, sorry

OSX

Homebrew is the best option for OSX.

cd IntenseLogic
brew install scons libevent glew lua luajit cairo
scons platform=osx

glfw3 must be compiled by hand since homebrew doesn't support it AFAIK. Compile it as such:

git clone https://github.com/glfw/glfw.git
cd glfw
cmake .
make
make install

If you're getting a bunch of OSX undefined symbols coming from glfw3, edit the contents of the glfw3.pc appending the contents of Lib.private to Libs.

If there's an error with xcb-shm the preferable fix is:

setenv PKG_CONFIG_PATH "`brew --prefix cairo`/lib/pkgconfig:/usr/local/opt/pixman/lib/pkgconfig:/usr/local/opt/fontconfig/lib/pkgconfig:/usr/local/opt/freetype/lib/pkgconfig:/usr/local/opt/libpng/lib/pkgconfig:/usr/X11/lib/pkgconfig"

If that doesn't work resort to copying pkgconfig files:

cp /opt/X11/lib/pkgconfig/*.pc /usr/local/lib/pkgconfig

If there's a problem with harfbuzz about unicode/uscript.h, then install icu4c and manually link it.

brew install icu4c
brew link icu4c --force

Linux

Debian

apt-get install libevent-2.0.5 libevent-dev libgl1-mesa-dev libglew-1.7 libglew-dev libpng12-0 libpng12-dev libluajit-5.1-2 libluajit-5.1-dev libcairo2 libcairo2-dev libfreetype6 libfreetype6-dev
# Download and compile GLFW 3.0: http://www.glfw.org/
# Download and compile HarfBuzz: http://www.freedesktop.org/software/harfbuzz/release/
# Download and compile Mesa 9.1 if you actually want to render stuff without crashing
cd IntenseLogic
scons platform=linux -j4 .

ArchLinux

pacman -S scons libevent libpng glfw glew luajit harfbuzz harfbuzz-icu freetype2 cairo
cd IntenseLogic
scons platform=arch -j4 .
Clone this wiki locally