source: trunk/scons/casa.py @ 1127

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

more fixes to casa detection

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