3
import os, sys, shutil, string
6
configcommand = os.environ.get('SDL_CONFIG', 'sdl-config')
7
configcommand = configcommand + ' --version --cflags --libs'
8
localbase = os.environ.get('LOCALBASE', '')
12
def __init__(self, name, checkhead, checklib, lib):
18
self.checklib = checklib
19
self.checkhead = checkhead
22
def configure(self, incdirs, libdirs):
23
incname = self.checkhead
24
libnames = self.checklib, string.lower(self.name)
27
path = os.path.join(dir, incname)
28
if os.path.isfile(path):
32
path = os.path.join(dir, name)
33
if os.path.isfile(path):
36
if self.lib_dir and self.inc_dir:
37
print self.name + ' '[len(self.name):] + ': found'
40
print self.name + ' '[len(self.name):] + ': not found'
45
if sys.platform.find('bsd') != -1:
46
sdl_lib_name = 'SDL-1.2'
49
Dependency('SDL', 'SDL.h', 'lib'+sdl_lib_name+'.so', sdl_lib_name),
50
Dependency('FONT', 'SDL_ttf.h', 'libSDL_ttf.so', 'SDL_ttf'),
51
Dependency('IMAGE', 'SDL_image.h', 'libSDL_image.so', 'SDL_image'),
52
Dependency('MIXER', 'SDL_mixer.h', 'libSDL_mixer.so', 'SDL_mixer'),
53
Dependency('SMPEG', 'smpeg.h', 'libsmpeg.so', 'smpeg'),
60
print 'calling "sdl-config"'
61
configinfo = "-I/usr/local/include/SDL -L/usr/local/lib -D_REENTRANT -lSDL"
63
configinfo = os.popen(configcommand).readlines()
64
print 'Found SDL version:', configinfo[0]
65
configinfo = ' '.join(configinfo[1:])
66
configinfo = configinfo.split()
67
for w in configinfo[:]:
68
if ',' in w: configinfo.remove(w)
69
configinfo = ' '.join(configinfo)
70
#print 'Flags:', configinfo
72
raise SystemExit, """Cannot locate command, "sdl-config". Default SDL compile
73
flags have been used, which will likely require a little editing."""
75
print 'Hunting dependencies...'
77
incdirs = [localbase + '/include/SDL']
78
libdirs = [localbase + '/lib']
82
for arg in configinfo.split():
84
incdirs.append(arg[2:])
86
libdirs.append(arg[2:])
88
d.configure(incdirs, libdirs)
92
DEPS[0].cflags = configinfo
97
if __name__ == '__main__':
98
print """This is the configuration subscript for Unix.
99
Please run "config.py" for full configuration."""