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 sgmlformat import checkForSGMLFMT
|
||||||
from largefiles import enableLargeFiles
|
from largefiles import enableLargeFiles
|
||||||
from jade import checkDSSSLProcessor
|
from jade import checkDSSSLProcessor
|
||||||
|
from dsssl import findDocbookStylesheets
|
||||||
|
|
||||||
conf = Configure(env,{'checkForCCOption':checkForCCOption,
|
conf = Configure(env,{'checkForCCOption':checkForCCOption,
|
||||||
'MAINTAINER_MODE':checkForMaintainerMode,
|
'MAINTAINER_MODE':checkForMaintainerMode,
|
||||||
|
|
@ -79,7 +80,8 @@ conf = Configure(env,{'checkForCCOption':checkForCCOption,
|
||||||
'checkForUserSysconfdir':checkForUserSysconfdir,
|
'checkForUserSysconfdir':checkForUserSysconfdir,
|
||||||
'checkForBuildingClients':checkForBuildingClients,
|
'checkForBuildingClients':checkForBuildingClients,
|
||||||
'checkForSGMLFMT':checkForSGMLFMT,
|
'checkForSGMLFMT':checkForSGMLFMT,
|
||||||
'checkDSSSLProcessor':checkDSSSLProcessor
|
'checkDSSSLProcessor':checkDSSSLProcessor,
|
||||||
|
'findDocbookStylesheets':findDocbookStylesheets
|
||||||
})
|
})
|
||||||
if not conf.CheckCC(): Exit(1)
|
if not conf.CheckCC(): Exit(1)
|
||||||
# check for CC options
|
# check for CC options
|
||||||
|
|
@ -104,6 +106,11 @@ elif conf.checkDSSSLProcessor("openjade"):
|
||||||
JADE = "openjade"
|
JADE = "openjade"
|
||||||
else:
|
else:
|
||||||
JADE = False
|
JADE = False
|
||||||
|
if JADE:
|
||||||
|
DSSSL = conf.findDocbookStylesheets()
|
||||||
|
else:
|
||||||
|
DSSSL = None
|
||||||
|
|
||||||
# Portability build time config
|
# Portability build time config
|
||||||
if conf.CheckFunc('srandomdev'):
|
if conf.CheckFunc('srandomdev'):
|
||||||
conf.env.Append(CPPFLAGS = '-DHAVE_SRANDOMDEV')
|
conf.env.Append(CPPFLAGS = '-DHAVE_SRANDOMDEV')
|
||||||
|
|
@ -153,5 +160,5 @@ conf.Finish()
|
||||||
|
|
||||||
env.Append(CPPFLAGS = "-DPACKAGE_VERSION=\\\""+VERSION+"\\\"")
|
env.Append(CPPFLAGS = "-DPACKAGE_VERSION=\\\""+VERSION+"\\\"")
|
||||||
# process build rules
|
# 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"))
|
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.Install(dir=DOCDIR,source=Split("PROTOCOL HISTORY faq.html"))
|
||||||
env.Alias("install",DOCDIR)
|
env.Alias("install",DOCDIR)
|
||||||
if SGML:
|
if JADE:
|
||||||
env.Command('fsp-faq.html','fsp-faq.sgml','sgmlfmt -d docbook -f html fsp-faq.sgml',chdir=1)
|
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')
|
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