direct use of dsssl processor

This commit is contained in:
Radim Kolar 2014-09-07 20:45:54 +02:00
parent e72a26bfe2
commit fb255a9ca9
3 changed files with 45 additions and 6 deletions

View File

@ -63,6 +63,7 @@ from sysconfdir import checkForUserSysconfdir
from sgmlformat import checkForSGMLFMT
from largefiles import enableLargeFiles
from jade import checkDSSSLProcessor
from dsssl import findDocbookStylesheets
conf = Configure(env,{'checkForCCOption':checkForCCOption,
'MAINTAINER_MODE':checkForMaintainerMode,
@ -79,7 +80,8 @@ conf = Configure(env,{'checkForCCOption':checkForCCOption,
'checkForUserSysconfdir':checkForUserSysconfdir,
'checkForBuildingClients':checkForBuildingClients,
'checkForSGMLFMT':checkForSGMLFMT,
'checkDSSSLProcessor':checkDSSSLProcessor
'checkDSSSLProcessor':checkDSSSLProcessor,
'findDocbookStylesheets':findDocbookStylesheets
})
if not conf.CheckCC(): Exit(1)
# check for CC options
@ -101,9 +103,14 @@ for option in Split("""
if conf.checkDSSSLProcessor("jade"):
JADE = "jade"
elif conf.checkDSSSLProcessor("openjade"):
JADE = "openjade"
JADE = "openjade"
else:
JADE = False
if JADE:
DSSSL = conf.findDocbookStylesheets()
else:
DSSSL = None
# Portability build time config
if conf.CheckFunc('srandomdev'):
conf.env.Append(CPPFLAGS = '-DHAVE_SRANDOMDEV')
@ -153,5 +160,5 @@ conf.Finish()
env.Append(CPPFLAGS = "-DPACKAGE_VERSION=\\\""+VERSION+"\\\"")
# process build rules
Export( Split("env PREFIX MANDIR DOCDIR CLIENTS SGML"))
Export( Split("env PREFIX MANDIR DOCDIR CLIENTS JADE DSSSL"))
env.SConscript(dirs=Split("doc . bsd_src common server client clients contrib tests man"))

View File

@ -1,7 +1,7 @@
Import(Split("env PREFIX DOCDIR SGML"))
Import(Split("env PREFIX DOCDIR JADE DSSSL"))
env.Install(dir=DOCDIR,source=Split("PROTOCOL HISTORY faq.html"))
env.Alias("install",DOCDIR)
if SGML:
env.Command('fsp-faq.html','fsp-faq.sgml','sgmlfmt -d docbook -f html fsp-faq.sgml',chdir=1)
if JADE:
env.Command('fsp-faq.html','fsp-faq.sgml',JADE+' -V nochunks -t sgml -d '+DSSSL+'/html/docbook.dsl fsp-faq.sgml',chdir=1)
env.Install(dir=DOCDIR,source='fsp-faq.html')

32
site_scons/dsssl.py Normal file
View File

@ -0,0 +1,32 @@
#
# SCons Locate DSSSL docbook stylesheets
#
# Version 1.0
# 07-Sep-2014
#
import os
import stat
def findDocbookStylesheets(check):
"""Return path to Docbook stylesheets or None."""
directories = [
"/usr/local/share/sgml/docbook/dsssl/modular"
]
files = [ "html/docbook.dsl", "catalog", "dtds/html/dbhtml.dtd" ]
check.Message("Locating Docbook DSSSL Stylesheets... ")
for d in directories:
try:
st = os.stat(d)
if not stat.S_ISDIR(st.st_mode):
continue
for f in files:
st = os.stat(d+os.sep+f)
if not stat.S_ISREG(st.st_mode):
raise OSError
check.Result(d)
return d
except OSError:
continue
check.Result(False)
return None