diff --git a/SConstruct b/SConstruct index 32a9aecc646410d39f8e93aabaccbfbfe51b9534..6b73193f3500d0314bf18957a7be23a92a4303fc 100644 --- a/SConstruct +++ b/SConstruct @@ -58,13 +58,49 @@ print "Software Version = %s" % baseenv.subst('$VERSION') ivercode = 65536*int(float(baseenv.subst('$SOVERSION')))+ 256*int(10*(float(baseenv.subst('$SOVERSION'))-int(float(baseenv.subst('$SOVERSION')))))+ int(float(baseenv.subst('$PATCH'))) baseenv.Append(VERCODE = ivercode) # -# evio environment # -baseenv.Append(EVIO_LIB = os.getenv('EVIO_LIBDIR')) -baseenv.Append(EVIO_INC = os.getenv('EVIO_INCDIR')) +# evio environment +# +evio_libdir = os.getenv('EVIO_LIBDIR') +evio_incdir = os.getenv('EVIO_INCDIR') +evio_instdir = os.getenv('INSTALL_DIR') +if evio_instdir is None or evio_libdir is None or evio_incdir is None: + print "No external EVIO environment configured !!!" + print "INSTALL_DIR = %s" % evio_instdir + print "EVIO_LIBDIR = %s" % evio_libdir + print "EVIO_INCDIR = %s" % evio_incdir + print "Using local installation ... " + evio_local = baseenv.subst('$HA_DIR')+'/evio' + evio_version = '4.4.5' + uname = os.uname(); + platform = uname[0]; + machine = uname[4]; + evio_name = platform + '-' + machine + print "evio_name = %s" % evio_name + evio_local_lib = "%s/evio-%s/%s/lib" % (evio_local,evio_version,evio_name) + evio_local_inc = "%s/evio-%s/%s/include" % (evio_local,evio_version,evio_name) + evio_tarfile = "%s/evio-%s.tgz" % (evio_local,evio_version) + if not os.path.isdir(evio_local_lib): + if not os.path.exists(evio_tarfile): + evio_command_scons = "cd %s; wget --no-check-certificate https://coda.jlab.org/drupal/system/files/coda/evio/evio-4.4/evio-%s.tgz; tar xvfz evio-%s.tgz; cd evio-%s/ ; scons install --prefix=." % (evio_local,evio_version,evio_version,evio_version) + else: + evio_command_scons = "cd %s; tar xvfz evio-%s.tgz; cd evio-%s/ ; scons install --prefix=." % (evio_local,evio_version,evio_version) + else: + evio_command_scons = "cd %s; cd evio-%s/ ; scons install --prefix=." % (evio_local,evio_version) + + os.system(evio_command_scons) + baseenv.Append(EVIO_LIB = evio_local_lib) + baseenv.Append(EVIO_INC = evio_local_inc) +else: + evio_command_scons = "cd %s; scons install --prefix=." % evio_instdir + os.system(evio_command_scons) + baseenv.Append(EVIO_LIB = os.getenv('EVIO_LIBDIR')) + baseenv.Append(EVIO_INC = os.getenv('EVIO_INCDIR')) print "EVIO lib Directory = %s" % baseenv.subst('$EVIO_LIB') print "EVIO include Directory = %s" % baseenv.subst('$EVIO_INC') baseenv.Append(CPPPATH = ['$EVIO_INC']) # +# end evio environment +# baseenv.Append(CPPPATH = ['$HC_SRC','$HA_SRC','$HA_DC','$HA_SCALER']) proceed = "1" or "y" or "yes" or "Yes" or "Y"