This repository has been archived on 2025-02-01. You can view files and clone it, but cannot push or open issues or pull requests.
alock/SConstruct
mathias 4c6b2c7955 * added -bg shade:
- shade=<perc> - percentage, 0 - 100
    - color=<color> - tint with <color>, default is "black"

--HG--
extra : convert_revision : svn%3Aeebe1cee-a9af-4fe4-bd26-ad572b19c5ab/trunk%4023
2005-05-20 21:44:52 +00:00

174 lines
4.9 KiB
Python

#!/bin/env python
##########################################################
#
# scons - buildsystem for alock
#
##########################################################
import sys
alock_version = '0.9'
alock_optfile = [ 'scons.opts', 'user.opts' ]
alock_target = 'src/alock'
Default(alock_target)
alock_options = Options(alock_optfile)
alock_options.AddOptions(
BoolOption('debug', 'build debug version', 0),
BoolOption('passwd', 'support for -auth passwd', 0),
BoolOption('shadow', 'support for -auth passwd with shadow', 0),
BoolOption('pam', 'support for -auth pam', 1),
BoolOption('hash', 'support for -auth <md5|sha1>', 1),
BoolOption('imlib2', 'support for -bg image via imlib2', 1),
BoolOption('xrender', 'support for -bg shade via xrender', 1),
BoolOption('xcursor', 'support for -bg xcursor:<file>', 1),
BoolOption('amd5', 'build a little md5-helper', 0),
BoolOption('asha1', 'build a little sha1-helper', 0),
PathOption('prefix', 'install-path base', '/usr/local')
)
alock_env = Environment(options = alock_options,
TARFLAGS = '-c -z',
TARSUFFIX = '.tgz')
alock_options.Update(alock_env)
Help(alock_options.GenerateHelpText(alock_env))
###########################################################
#
#
if sys.platform == "linux2" or sys.platform == "linux-i386":
alock_env.AppendUnique(
CPPDEFINES = [ 'LINUX' ])
alock_env.AppendUnique(
CPPDEFINES = [ 'VERSION=\\"'+alock_version+'\\"' ],
CPPFLAGS = [ '-Wall' ],
CPPPATH = [ '/usr/X11R6/include' ],
LIBPATH = ['/usr/X11R6/lib'],
LIBS = [ 'X11' ])
conf = alock_env.Configure()
if not conf.CheckLibWithHeader('X11', 'X11/Xlib.h', 'C', 'XOpenDisplay(0);', 1):
print "sorry, no headers or libs for X11 found, cant build alock."
Exit(1)
conf.Finish()
if alock_env['debug']:
alock_env.AppendUnique(
CPPDEFINES = [ 'DEBUG' ],
LINKFLAGS = [ '-g' ],
CPPFLAGS = [ '-g' ])
if alock_env['passwd']:
alock_env.AppendUnique(
CPPDEFINES = [ 'PASSWD_PWD' ],
LIBS = [ 'crypt' ])
if alock_env['pam']:
alock_env.AppendUnique(
CPPDEFINES = [ 'PAM_PWD' ],
LIBS = [ 'pam', 'crypt' ])
if sys.platform == 'linux2' or sys.platform == 'linux-i386':
alock_env.AppendUnique(LIBS = ['pam_misc'])
if alock_env['shadow']:
alock_env.AppendUnique(
CPPDEFINES = [ 'SHADOW_PWD' ])
if alock_env['hash']:
alock_env.AppendUnique(
CPPDEFINES = [ 'HASH_PWD' ])
if alock_env['xcursor']:
conf = alock_env.Configure()
if conf.CheckLib('Xcursor', 'XcursorSupportsARGB', 1):
alock_env.AppendUnique(
CPPDEFINES = [ 'HAVE_XCURSOR' ],
LIBS = [ 'Xcursor' ])
else:
alock_env['xcursor'] = 0
print "sorry, no xcursor-support found."
conf.Finish()
if alock_env['imlib2']:
conf = alock_env.Configure()
print "Checking for Imlib2... ",
if not conf.env.WhereIs('imlib2-config'):
print "cant find 'imlib2-config."
alock_env['imlib2'] = 0
else:
imlib2_env = Environment()
imlib2_env.ParseConfig('imlib2-config --cflags --libs')
if not imlib2_env.Dictionary()['LIBS']:
print "missing imlib2, install it."
alock_env['imlib2'] = 0
else:
print "yes"
alock_env.AppendUnique(
CPPDEFINES = [ 'HAVE_IMLIB2' ],
LIBPATH = imlib2_env.Dictionary()['LIBPATH'],
CPPAPTH = imlib2_env.Dictionary()['CPPPATH'],
LIBS = imlib2_env.Dictionary()['LIBS']
)
conf.Finish()
if alock_env['xrender']:
conf = alock_env.Configure()
if conf.CheckLib('Xrender', 'XRenderCreatePicture', 1):
alock_env.AppendUnique(
CPPDEFINES = [ 'HAVE_XRENDER' ],
LIBS = [ 'Xrender' ]
)
else:
print "sorry, no xrender-support found."
alock_env['xrender'] = 0
conf.Finish()
############################################################################
#
#
default_targets = [ alock_target ]
if alock_env['amd5']:
default_targets += [ 'src/amd5' ]
if alock_env['asha1']:
default_targets += [ 'src/asha1' ]
Default(default_targets)
alock_options.Save('scons.opts', alock_env)
alock_program = SConscript(
'src/SConscript',
exports = ['alock_env']
)
alock_env.Install(
alock_env['prefix']+'/bin',
alock_program
)
alock_env.Alias(
'install',
alock_env['prefix']+'/bin'
)
# TODO: add a "scons dist" command which builds a propper tarball
#alock_env.Alias('dist', alock_env.Tar(alock_target + '-' + alock_version,
# alock_distfiles))
# vim:ft=python