source: trunk/scons/casa.py @ 1128

Last change on this file since 1128 was 1128, checked in by mar637, 18 years ago

more fixes to 64bit install

File size: 1.7 KB
RevLine 
[1128]1__revision__ = "$Version:$"
[1119]2import os
[1127]3import sys
4import platform
[1119]5from SCons.Script import *
6
[1128]7def addCasa(env):
[1119]8    casalibs = "casav atnf images ms components coordinates \
9                lattices fits measures measures_f \
10                tables scimath scimath_f casa wcs".split()
11    env.Prepend( LIBS =  casalibs )
12    casaincd = [os.path.join(env['CASAROOT'], 'code/include'), \
13                os.path.join(env['CASAROOT'], 'code/casa')]
14    env.Append( CPPPATH = casaincd )
15    casalibd = os.path.join(env['CASAROOT'], env['CASAARCH'], 'lib')
16    env.Append( LIBPATH = [ casalibd ] )
17    # Explicit templates in casa
18    env.Append( CPPFLAGS = ['-DAIPS_NO_TEMPLATE_SRC'] )
19
20def checkCasa(conf, path=None):
21    ''' look for casa libraries'''
22    conf.Message('Checking for casa libraries...')
23    casaarch = None
24    if os.environ.has_key('AIPSPATH'):
25        casa = os.environ.get('AIPSPATH').split()
26        conf.env.Append(CASAARCH = casa[1])
27        conf.env.Append(CASAROOT = casa[0])
[1128]28        addCasa(conf.env)
[1119]29        conf.Result('yes')
30        return True
31    casaarch = 'linux_gnu'
32    if sys.platform == 'darwin':
[1128]33        casaarch = 'darwin'
[1119]34    elif sys.platform == 'linux2' and platform.architecture()[0] == '64bit':
[1127]35        casaarch = 'linux_64b'
[1119]36    paths = "/nfs/aips++/weekly /aips++ /opt/aips++ ../casa_asap".split()
[1127]37    if path is not None and len(path):
[1119]38        paths = [path]
39    for p in paths:
[1128]40        if os.path.isfile(os.path.join(p, casaarch, "lib/libcasa.a")):
[1119]41            conf.env.Append(CASAARCH = casaarch)
[1127]42            conf.env.Append(CASAROOT = os.path.abspath(p))
[1128]43            addCasa(conf.env)
[1119]44            conf.Result('yes')
45            return True
[1127]46    conf.Result('no')
[1119]47    return False
Note: See TracBrowser for help on using the repository browser.