direct use of dsssl processor
This commit is contained in:
parent
e72a26bfe2
commit
fb255a9ca9
11
SConstruct
11
SConstruct
|
|
@ -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
|
||||
|
|
@ -104,6 +106,11 @@ elif conf.checkDSSSLProcessor("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"))
|
||||
|
|
|
|||
|
|
@ -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
32
site_scons/dsssl.py
Normal 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
|
||||
Loading…
Reference in New Issue
Block a user