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
Line 
1__revision__ = "$Version:$"
2import os
3import sys
4import platform
5from SCons.Script import *
6
7def addCasa(env):
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])
28        addCasa(conf.env)
29        conf.Result('yes')
30        return True
31    casaarch = 'linux_gnu'
32    if sys.platform == 'darwin':
33        casaarch = 'darwin'
34    elif sys.platform == 'linux2' and platform.architecture()[0] == '64bit':
35        casaarch = 'linux_64b'
36    paths = "/nfs/aips++/weekly /aips++ /opt/aips++ ../casa_asap".split()
37    if path is not None and len(path):
38        paths = [path]
39    for p in paths:
40        if os.path.isfile(os.path.join(p, casaarch, "lib/libcasa.a")):
41            conf.env.Append(CASAARCH = casaarch)
42            conf.env.Append(CASAROOT = os.path.abspath(p))
43            addCasa(conf.env)
44            conf.Result('yes')
45            return True
46    conf.Result('no')
47    return False
Note: See TracBrowser for help on using the repository browser.