Hall A ROOT/C++ Analyzer (podd)
Loading...
Searching...
No Matches
SConscript.py
Go to the documentation of this file.
1
4
5import os
6from configure import FindEVIO
7from podd_util import build_library
8Import('baseenv')
9
10libname = 'dc'
11altname = 'haDecode'
12
13src = """
14Caen1190Module.cxx
15Caen775Module.cxx
16Caen792Module.cxx
17CodaDecoder.cxx
18DAQconfig.cxx
19F1TDCModule.cxx
20Fadc250Module.cxx
21FastbusModule.cxx
22GenScaler.cxx
23Lecroy1875Module.cxx
24Lecroy1877Module.cxx
25Lecroy1881Module.cxx
26Module.cxx
27PipeliningModule.cxx
28Scaler1151.cxx
29Scaler3800.cxx
30Scaler3801.cxx
31Scaler560.cxx
32THaCodaData.cxx
33THaCodaFile.cxx
34THaCrateMap.cxx
35THaEpics.cxx
36THaEvData.cxx
37THaSlotData.cxx
38THaUsrstrutils.cxx
39VmeModule.cxx
40"""
41
42dcenv = baseenv.Clone()
43
44# Find/build EVIO and configure the decoder build environment for it
45FindEVIO(dcenv)
46local_evio = (dcenv['LOCAL_EVIO'] == 1)
47evioname = 'evio'
48eviolib = dcenv.subst('$SHLIBPREFIX')+evioname+dcenv.subst('$SHLIBSUFFIX')
49dcenv.Append(CPPPATH = dcenv.subst('$EVIO_INC'))
50dcenv.Replace(LIBS = [evioname,'PoddDB'],
51 LIBPATH = [dcenv.subst('$EVIO_LIB'),dcenv.subst('$HA_DB')],
52 RPATH = [dcenv.subst('$EVIO_LIB'),dcenv.subst('$HA_DB')])
53if local_evio:
54 dc_install_rpath = [] # analyzer already contains the installation libdir
55else:
56 dc_install_rpath = dcenv['RPATH']
57
58# Decoder library
59dclib = build_library(dcenv, libname, src,
60 extrahdrs = ['Decoder.h','CustomAlloc.h'],
61 extradicthdrs = ['THaBenchmark.h'],
62 dictname = altname,
63 install_rpath = dc_install_rpath,
64 versioned = True
65 )
66
67proceed = "1" or "y" or "yes" or "Yes" or "Y"
68if dcenv.subst('$STANDALONE') == proceed or dcenv.GetOption('clean') \
69 or 'uninstall' in COMMAND_LINE_TARGETS:
70 SConscript(dirs = ['apps'], name='SConscript.py', exports='dcenv')
71
72# Needed for locally built EVIO library
73# (Versioning in build_library sets SHLIBSUFFIX, so plain libevio.so is no longer found ... sigh)
74if local_evio:
75 dcenv.Depends(dclib, os.path.join(dcenv.subst('$EVIO_LIB'), eviolib))