Difference between revisions of "Building LÖVE"

(Moving source stuff to the top and adding Windows build information.)
(Removed mercurial from the package install commands.)
Line 40: Line 40:
 
==== Ubuntu ====
 
==== Ubuntu ====
 
<source lang="bash">
 
<source lang="bash">
sudo apt-get install mercurial build-essential automake libmpg123-dev libmodplug-dev libphysfs-dev libfreetype6-dev libdevil-dev liblua5.1-0-dev libopenal-dev libsdl1.2-dev libvorbis-dev
+
sudo apt-get install build-essential automake libmpg123-dev libmodplug-dev libphysfs-dev libfreetype6-dev libdevil-dev liblua5.1-0-dev libopenal-dev libsdl1.2-dev libvorbis-dev
 
</source>
 
</source>
  
Line 47: Line 47:
 
==== Arch Linux ====
 
==== Arch Linux ====
 
<source lang="bash">
 
<source lang="bash">
pacman -S mercurial
 
 
pacman -S devil flac freetype2 glibc libmodplug libvorbis lua mesa mpg123 openal physfs sdl # 0.6.x
 
pacman -S devil flac freetype2 glibc libmodplug libvorbis lua mesa mpg123 openal physfs sdl # 0.6.x
 
pacman -S devil freetype2 libmodplug libvorbis lua mpg123 openal physfs sdl # 0.7.x
 
pacman -S devil freetype2 libmodplug libvorbis lua mpg123 openal physfs sdl # 0.7.x
Line 54: Line 53:
 
==== Fedora ====
 
==== Fedora ====
 
<source lang="bash">
 
<source lang="bash">
yum install mercurial freetype-devel glibc-devel libmpg123-devel libmodplug-devel physfs-devel mesa-libGL-devel openal-soft-devel DevIL-devel libvorbis-devel SDL-devel libmng-devel libtiff-devel lua-devel gcc-c++
+
yum install freetype-devel glibc-devel libmpg123-devel libmodplug-devel physfs-devel mesa-libGL-devel openal-soft-devel DevIL-devel libvorbis-devel SDL-devel libmng-devel libtiff-devel lua-devel gcc-c++
 
</source>
 
</source>
  
Line 63: Line 62:
  
 
<source lang="bash">
 
<source lang="bash">
aptitude install mercurial automake libtool libphysfs-dev libsdl-dev libopenal-dev liblua5.1-0-dev libdevil-dev libmodplug-dev  libmpg123-dev  libvorbis-dev  
+
aptitude install automake libtool libphysfs-dev libsdl-dev libopenal-dev liblua5.1-0-dev libdevil-dev libmodplug-dev  libmpg123-dev  libvorbis-dev  
 
</source>
 
</source>
  

Revision as of 00:00, 15 March 2012

Note: This page is still incomplete.

If you want to build the LÖVE source code yourself, this page has all the information you need.

In only three steps you'll have your very own LÖVE binary:

  1. Getting the source
  2. Dependencies
  3. Building


1. Getting the source

The official repository of LÖVE is hosted on bitbucket.

You can download the source code either by using the 'get source' link on the bitbucket website or by installing mercurial and cloning the repository. Many linux distribution have a mercurial package in their repositories. Windows and OS X users can get the official binary from selenic.

To create a clone with mercurial open a terminal or command prompt, go to the directory that you want to download the source code folder to and use the following commands:

hg clone https://bitbucket.org/rude/love

This will create a love folder and download the latest source code into it.

If you want to use the source code of a specific version, go into the love directory and issue one of the following commands:

hg update 0.7.2		# any (released) version from 0.6.0 onwards.
hg update minor		# the minor branch, where development is done for the next 0.x.0 version when there's still a 0.y.z version to be released.
hg update default	# back to the standard, the next release.
hg update tip		# to the last commit, regardless of branch.


2. Dependencies

LÖVE uses several open source libraries such as Lua, DevIL for images, and libvorbis for audio. Those libraries and their development files are required to successfully build LÖVE. It's possible to build every dependency yourself, but this is out of the scope of this page. The following explains how you can get prebuilt binaries instead.

Windows

The headers and prebuilt MSVC 2008 and 2010 binaries of the dependencies can be found here.

Linux

Download the development packages of the dependencies from the repository of your distribution.

Ubuntu

sudo apt-get install build-essential automake libmpg123-dev libmodplug-dev libphysfs-dev libfreetype6-dev libdevil-dev liblua5.1-0-dev libopenal-dev libsdl1.2-dev libvorbis-dev

Older versions of Ubuntu need the latest libmodplug1 and libmodplug-dev packages.

Arch Linux

pacman -S devil flac freetype2 glibc libmodplug libvorbis lua mesa mpg123 openal physfs sdl # 0.6.x
pacman -S devil freetype2 libmodplug libvorbis lua mpg123 openal physfs sdl # 0.7.x

Fedora

yum install freetype-devel glibc-devel libmpg123-devel libmodplug-devel physfs-devel mesa-libGL-devel openal-soft-devel DevIL-devel libvorbis-devel SDL-devel libmng-devel libtiff-devel lua-devel gcc-c++

Please note that libmpg123-devel is in the rpmfusion-free repository.

Debian Squeeze

Install the following packages (using aptitude or apt):

aptitude install automake libtool libphysfs-dev libsdl-dev libopenal-dev liblua5.1-0-dev libdevil-dev libmodplug-dev  libmpg123-dev  libvorbis-dev

Afterwards, just build it like it is mentioned below. It's e-a-s-y! :)

Other distributions

Any other distribution will most likely have the dependencies in their repositories too, possibly with slightly different package names.


3. Building

Windows

The source code includes Visual Studio 2008 and 2010 project files. Extract the appropriate LÖVE SDK into the love directory and they should successfully yield a LÖVE binary.

Linux

Use the automagic script to generate the configure file and then run configure and make as usual.

./platform/unix/automagic
./configure
make

Your LÖVE binary will end up in the src directory.