allow configuring mandir from commandline.

Autodetect optimal place for man pages if none is specified on command line.
This commit is contained in:
Radim Kolar 2009-08-27 19:52:06 +02:00
parent 83d466c695
commit e84e04c307
3 changed files with 41 additions and 7 deletions

View File

@ -53,6 +53,8 @@ from lamerpack import checkForLamerpack
from debugmode import checkForDebugBuild
from timeout import checkForClientTimeout
from relsignals import checkReliableSignals
from mandir import checkForUserMandir
from mandir import autodetectMandir
conf = Configure(env,{'checkForCCOption':checkForCCOption,
'MAINTAINER_MODE':checkForMaintainerMode,
@ -63,7 +65,9 @@ conf = Configure(env,{'checkForCCOption':checkForCCOption,
'checkForLamerPack':checkForLamerpack,
'checkForDebugBuild':checkForDebugBuild,
'checkForClientTimeout':checkForClientTimeout,
'checkReliableSignals':checkReliableSignals
'checkReliableSignals':checkReliableSignals,
'checkForUserMandir':checkForUserMandir,
'autodetectMandir':autodetectMandir
})
# check for CC options
for option in Split("""
@ -125,6 +129,8 @@ if conf.checkReliableSignals():
conf.checkForLockPrefix()
PREFIX=conf.checkPrefix(PREFIX)
conf.env.Append(CPPFLAGS = '-DSYSCONFDIR=\\"'+PREFIX+'/etc\\"')
MANDIR=conf.autodetectMandir(PREFIX)
conf.checkForUserMandir(MANDIR)
EFENCE = conf.MAINTAINER_MODE()
if EFENCE == True:
EFENCE=conf.CheckLib("efence","EF_Abort")
@ -135,5 +141,5 @@ conf.Finish()
env.Append(CPPFLAGS = "-DPACKAGE_VERSION=\\\""+VERSION+"\\\"")
# process build rules
Export( Split("env PREFIX"))
Export( Split("env PREFIX MANDIR"))
env.SConscript(dirs=Split("doc . bsd_src common server client clients contrib tests man"))

View File

@ -1,7 +1,5 @@
from os import symlink, unlink
Import(Split("env PREFIX"))
MANDIR=PREFIX+'/man'
Import(Split("env PREFIX MANDIR"))
MAN1=Split("""
fgetcmd.1 fmkdir.1 frmcmd.1 fspd.1
@ -39,5 +37,3 @@ if 'install' in COMMAND_LINE_TARGETS:
env.Symlink(MANDIR+'/man1/'+pair[1]+'.1.gz',MANDIR+'/man1/'+pair[0]+'.1.gz')
env.Alias("install",MANDIR)
Export(Split("MANDIR"))

32
site_scons/mandir.py Normal file
View File

@ -0,0 +1,32 @@
#
# SCons user-supplied mandir configuration
#
# Version 1.0
# 27-Aug-2009
#
from SCons.Script import ARGUMENTS
import os.path
def checkForUserMandir(conf,oldmandir=None):
"""Returns mandir specified on command line or oldmandir if none is supplied."""
conf.Message("Checking for user supplied mandir... ")
lp = ARGUMENTS.get('mandir', 0)
if lp:
conf.Result(1)
return lp
else:
conf.Result(0)
return oldmandir
def autodetectMandir(conf,prefix):
"""Try to autodetect where to put man pages."""
SEARCH = [ prefix+'/share/man', prefix+'/man' ]
conf.Message("Checking where to install man pages... ")
for d in SEARCH:
if os.path.isdir(d):
conf.Result(d)
return d
d = prefix + '/man'
conf.Result(d)
return d