Compiling Uplink under Linux

 

Contents

1. Introduction
2. Contrib
2.1 tcp4u, irclib
2.2 tiff, freetype2, gltt
2.3 SDL, SDL_mixer
3 Lib
4 Source

1. Introduction

Ensure you have followed the quick start guide - this will make sure you have Uplink and the Dev CD installed in the right places. Click here.

Export the following environment variable to make cutting and pasting
of commands easier:

% export UPLINKROOT=`pwd`

Make sure that you are in $UPLINKROOT (the place where you copied all
the files to, containing the directories lib source contrib etc).

Make sure you have applied the Linux DevCD patch:

%../devcd.patch/patch-devcd

2. Contrib

2.1 tcp4u

Build tcp4u:
% make -C contrib/tcp4u.330/src -f ../Unix/Makefile

Build irclib.linux:
% make -C contrib/irclib.linux

2.2 tiff, freetype2, gltt

Install development packages for
libtiff http://www.libtiff.org

If your Linux distribution does not provide with libtiff
build the version in contrib.

A good installation prefix is $UPLINKROOT/contrib/install:

build freetype-current:

% cd $UPLINKROOT/contrib/freetype-current
% ./configure --prefix=$UPLINKROOT/contrib/install
% make
% make install

build libgltt-2.5.2:
% cd $UPLINKROOT/contrib/gltt-2.5.2

Because my automake version is very recent, I had to:
% aclocal
% rm missing
% automake -a
% autoconf

Then:
% ./configure --prefix=$UPLINKROOT/contrib/install --with-ttf-dir=$UPLINKROOT/contrib/install
% make
% make install

2.3 SDL and SDL_mixer

If you want to use ALSA you will make sure that you have alsa
development libraries installed (Debian: alsa-headers)

2.3.1 SDL

% cd $UPLINKROOT/contrib/SDL-1.2.5
% ./configure --prefix=$UPLINKROOT/contrib/install
% make
% make install

2.3.2 SDL_mixer

% cd $UPLINKROOT/contrib/SDL_mixer-1.2.6-patched
% ./configure --with-sdl-prefix=$UPLINKROOT/contrib/install --prefix=$UPLINKROOT/contrib/install --disable-music-mp3
% make
% make install

3 Lib

% cd $UPLINKROOT/lib
% make

4 Source

% cd $UPLINKROOT/source
% make

Should produce uplink.dynamic. If you would like to produce static
binaries you will need to tweak the makefile appropriately.

Note that you will need to copy uplink.dynamic to the directory
containing the data files (music.dat etc) in order to run Uplink.

Also, if you are using ALSA sound drivers make sure that no other
program has the sound device, otherwise Uplink will wait
(indefinitely) for the sound device to become available.