source: trunk/scons/casa.py@ 1127

Last change on this file since 1127 was 1127, checked in by mar637, 19 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.