mirror of
https://github.com/Cantera/cantera.git
synced 2025-02-25 18:55:29 -06:00
[SCons] Install to lib64 directory on operating systems that use this
Resolves #318.
This commit is contained in:
22
SConstruct
22
SConstruct
@@ -1144,10 +1144,16 @@ if env['matlab_toolbox'] == 'y':
|
||||
# *** Set additional configuration variables ***
|
||||
# **********************************************
|
||||
|
||||
# Some distributions (e.g. Fedora/RHEL) use 'lib64' instead of 'lib' on 64-bit systems
|
||||
if any(name.startswith('/usr/lib64/python') for name in sys.path):
|
||||
env['libdirname'] = 'lib64'
|
||||
else:
|
||||
env['libdirname'] = 'lib'
|
||||
|
||||
# Directories where things will be after actually being installed. These
|
||||
# variables are the ones that are used to populate header files, scripts, etc.
|
||||
env['ct_installroot'] = env['prefix']
|
||||
env['ct_libdir'] = pjoin(env['prefix'], 'lib')
|
||||
env['ct_libdir'] = pjoin(env['prefix'], env['libdirname'])
|
||||
env['ct_bindir'] = pjoin(env['prefix'], 'bin')
|
||||
env['ct_incdir'] = pjoin(env['prefix'], 'include', 'cantera')
|
||||
env['ct_incroot'] = pjoin(env['prefix'], 'include')
|
||||
@@ -1161,7 +1167,8 @@ else:
|
||||
env['ct_datadir'] = pjoin(env['prefix'], 'share', 'cantera', 'data')
|
||||
env['ct_sampledir'] = pjoin(env['prefix'], 'share', 'cantera', 'samples')
|
||||
env['ct_mandir'] = pjoin(env['prefix'], 'share', 'man', 'man1')
|
||||
env['ct_matlab_dir'] = pjoin(env['prefix'], 'lib', 'cantera', 'matlab', 'toolbox')
|
||||
env['ct_matlab_dir'] = pjoin(env['prefix'], env['libdirname'],
|
||||
'cantera', 'matlab', 'toolbox')
|
||||
|
||||
# Always set the stage directory before building an MSI installer
|
||||
if 'msi' in COMMAND_LINE_TARGETS:
|
||||
@@ -1198,7 +1205,7 @@ else:
|
||||
if env['layout'] == 'debian':
|
||||
base = pjoin(os.getcwd(), 'debian')
|
||||
|
||||
env['inst_libdir'] = pjoin(base, 'cantera-dev', 'usr', 'lib')
|
||||
env['inst_libdir'] = pjoin(base, 'cantera-dev', 'usr', env['libdirname'])
|
||||
env['inst_incdir'] = pjoin(base, 'cantera-dev', 'usr', 'include', 'cantera')
|
||||
env['inst_incroot'] = pjoin(base, 'cantera-dev', 'usr' 'include')
|
||||
|
||||
@@ -1208,14 +1215,14 @@ if env['layout'] == 'debian':
|
||||
env['inst_sampledir'] = pjoin(base, 'cantera-common', 'usr', 'share', 'cantera', 'samples')
|
||||
env['inst_mandir'] = pjoin(base, 'cantera-common', 'usr', 'share', 'man', 'man1')
|
||||
|
||||
env['inst_matlab_dir'] = pjoin(base, 'cantera-matlab',
|
||||
'usr', 'lib', 'cantera', 'matlab', 'toolbox')
|
||||
env['inst_matlab_dir'] = pjoin(base, 'cantera-matlab', 'usr',
|
||||
env['libdirname'], 'cantera', 'matlab', 'toolbox')
|
||||
|
||||
env['inst_python_bindir'] = pjoin(base, 'cantera-python', 'usr', 'bin')
|
||||
env['python_prefix'] = pjoin(base, 'cantera-python', 'usr')
|
||||
env['python3_prefix'] = pjoin(base, 'cantera-python3', 'usr')
|
||||
else:
|
||||
env['inst_libdir'] = pjoin(instRoot, 'lib')
|
||||
env['inst_libdir'] = pjoin(instRoot, env['libdirname'])
|
||||
env['inst_bindir'] = pjoin(instRoot, 'bin')
|
||||
env['inst_python_bindir'] = pjoin(instRoot, 'bin')
|
||||
env['inst_incdir'] = pjoin(instRoot, 'include', 'cantera')
|
||||
@@ -1228,7 +1235,8 @@ else:
|
||||
env['inst_docdir'] = pjoin(instRoot, 'doc')
|
||||
env['inst_mandir'] = pjoin(instRoot, 'man1')
|
||||
else: # env['layout'] == 'standard'
|
||||
env['inst_matlab_dir'] = pjoin(instRoot, 'lib', 'cantera', 'matlab', 'toolbox')
|
||||
env['inst_matlab_dir'] = pjoin(instRoot, env['libdirname'], 'cantera',
|
||||
'matlab', 'toolbox')
|
||||
env['inst_datadir'] = pjoin(instRoot, 'share', 'cantera', 'data')
|
||||
env['inst_sampledir'] = pjoin(instRoot, 'share', 'cantera', 'samples')
|
||||
env['inst_docdir'] = pjoin(instRoot, 'share', 'cantera', 'doc')
|
||||
|
||||
@@ -71,6 +71,7 @@ for line in open('cantera/_cantera.pxd'):
|
||||
|
||||
def install_module(prefix, python_version):
|
||||
major = python_version[0]
|
||||
minor = python_version.split('.')[1]
|
||||
ver = '3' if major == '3' else ''
|
||||
dummy = 'dummy' + major
|
||||
if prefix == 'USER':
|
||||
@@ -82,6 +83,10 @@ def install_module(prefix, python_version):
|
||||
# A specific location for the Cantera python module has been given
|
||||
if localenv['OS'] == 'Darwin':
|
||||
extra = localenv.subst(' --prefix=${python%s_prefix}' % ver)
|
||||
elif localenv['libdirname'] == 'lib64':
|
||||
# 64-bit RHEL / Fedora
|
||||
extra = localenv.subst(
|
||||
' --prefix=${python%s_prefix} --install-lib=${python%s_prefix}/lib64/python%s.%s/site-packages' % (ver, ver, major, minor))
|
||||
else:
|
||||
extra = '--user'
|
||||
localenv.AppendENVPath(
|
||||
|
||||
@@ -32,9 +32,9 @@ CANTERA_CORE_INCLUDES=-I$(CANTERA_INSTALL_ROOT)/include
|
||||
CANTERA_EXTRA_INCLUDES=@mak_extra_includes@
|
||||
|
||||
# Required Cantera libraries
|
||||
CANTERA_CORE_LIBS=@mak_threadflags@ -L$(CANTERA_INSTALL_ROOT)/lib @mak_corelibs@
|
||||
CANTERA_CORE_LIBS=@mak_threadflags@ -L@ct_libdir@ @mak_corelibs@
|
||||
|
||||
CANTERA_CORE_LIBS_DEP = $(CANTERA_INSTALL_ROOT)/lib/libcantera.a
|
||||
CANTERA_CORE_LIBS_DEP = @ct_libdir@/libcantera.a
|
||||
|
||||
CANTERA_EXTRA_LIBDIRS=@mak_extra_libdirs@
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
prefix=@pc_prefix@
|
||||
exec_prefix=${prefix}/bin
|
||||
libdir=${prefix}/lib
|
||||
libdir=${prefix}/@libdirname@
|
||||
includedir=${prefix}/include
|
||||
|
||||
Name: Cantera
|
||||
|
||||
Reference in New Issue
Block a user