From c1a9993365f192339a9987e5ecbfc28c6e7a0303 Mon Sep 17 00:00:00 2001 From: Radim Kolar Date: Sat, 24 Aug 2019 11:20:25 +0200 Subject: [PATCH] Added support for examplesdir --- INSTALL | 2 ++ SConscript | 3 +-- SConstruct | 6 +++++- site_scons/examplesdir.py | 20 ++++++++++++++++++++ 4 files changed, 28 insertions(+), 3 deletions(-) create mode 100644 site_scons/examplesdir.py diff --git a/INSTALL b/INSTALL index 9439378..ae86a98 100644 --- a/INSTALL +++ b/INSTALL @@ -57,6 +57,8 @@ SCons command line options: files. Default prefix/etc docdir=directory where to put documentation. Default prefix/share/doc/fsp + examplesdir=directory where to install examples + Default is docdir/examples without-clients=yes dont build and install client commands without-fspscan=yes dont build and install fspcan command dsssl=directory Look for DocBook DSSSL Stylesheets there diff --git a/SConscript b/SConscript index 7c6b119..9316dee 100644 --- a/SConscript +++ b/SConscript @@ -1,10 +1,9 @@ -Import(Split("env PREFIX DOCDIR CLIENTS")) +Import(Split("env PREFIX DOCDIR CLIENTS EXAMPLESDIR")) env.Install(dir=DOCDIR,source=Split("""BETA.README COPYRIGHT ChangeLog FILES INFO INSTALL MACHINES TODO """)) -EXAMPLESDIR=PREFIX+'/share/examples/fsp' env.Install(dir=EXAMPLESDIR,source="fspd.conf") if CLIENTS: env.Install(dir=EXAMPLESDIR,source=Split("setup.sh setup.csh")) diff --git a/SConstruct b/SConstruct index 5cc13f5..5e47919 100644 --- a/SConstruct +++ b/SConstruct @@ -57,6 +57,7 @@ from relsignals import checkReliableSignals from mandir import checkForUserMandir from docdir import checkForUserDocdir from mandir import autodetectMandir +from examplesdir import checkForUserExamplesdir from clients import checkForBuildingClients from fspscan import checkForBuildingFspscan from sysconfdir import checkForUserSysconfdir @@ -75,6 +76,7 @@ conf = Configure(env,{'checkForCCOption':checkForCCOption, 'checkReliableSignals':checkReliableSignals, 'checkForUserMandir':checkForUserMandir, 'checkForUserDocdir':checkForUserDocdir, + 'checkForUserExamplesdir':checkForUserExamplesdir, 'autodetectMandir':autodetectMandir, 'checkForUserSysconfdir':checkForUserSysconfdir, 'checkForBuildingClients':checkForBuildingClients, @@ -150,6 +152,8 @@ MANDIR=conf.autodetectMandir(PREFIX) MANDIR=conf.checkForUserMandir(MANDIR) DOCDIR=PREFIX+'/share/doc/fsp' DOCDIR=conf.checkForUserDocdir(DOCDIR) +EXAMPLESDIR=DOCDIR+'/examples' +EXAMPLESDIR=conf.checkForUserExamplesdir(EXAMPLESDIR) dmode=conf.checkForDebugBuild() EFENCE = conf.MAINTAINER_MODE(dmode) if EFENCE == True: @@ -162,5 +166,5 @@ conf.Finish() env.Append(CPPFLAGS = "-DPACKAGE_VERSION=\\\""+VERSION+"\\\"") # process build rules -Export( Split("env PREFIX MANDIR DOCDIR CLIENTS FSPSCAN JADE DSSSL")) +Export( Split("env PREFIX MANDIR DOCDIR EXAMPLESDIR CLIENTS FSPSCAN JADE DSSSL")) env.SConscript(dirs=Split("doc . bsd_src common server client clients contrib tests man")) diff --git a/site_scons/examplesdir.py b/site_scons/examplesdir.py new file mode 100644 index 0000000..ee7d913 --- /dev/null +++ b/site_scons/examplesdir.py @@ -0,0 +1,20 @@ +# +# SCons user-supplied docdir configuration +# +# Version 1.0 +# 24-Aug-2019 +# + +from SCons.Script import ARGUMENTS +import os.path + +def checkForUserExamplesdir(conf,olddir=None): + """Returns examplesdir specified on command line or olddir if none is supplied.""" + conf.Message("Checking for user supplied examplesdir... ") + lp = ARGUMENTS.get('examplesdir', 0) + if lp: + conf.Result(1) + return lp + else: + conf.Result(0) + return olddir