diff --git a/SConstruct b/SConstruct index d4670ec91..85a65de2a 100644 --- a/SConstruct +++ b/SConstruct @@ -1342,34 +1342,32 @@ if env['use_sundials'] == 'y': linkSharedLibs.extend(('sundials_cvodes', 'sundials_ida', 'sundials_nvecserial')) else: env['sundials_libs'] = [] - linkLibs.extend(['cvode']) - linkSharedLibs.extend(['cvode_shared']) + if not env['single_library']: + linkLibs.extend(['cvode']) + linkSharedLibs.extend(['cvode_shared']) #print 'linkLibs = ', linkLibs -linkLibs.append('ctmath') -linkSharedLibs.append('ctmath_shared') +if not env['single_library']: + linkLibs.append('ctmath') + linkSharedLibs.append('ctmath_shared') # Add execstream to the link line -linkLibs.append('execstream') -linkSharedLibs.append('execstream_shared') - -#print 'linklibs' , linkLibs -#print env.Dump() -#exit (0) + linkLibs.append('execstream') + linkSharedLibs.append('execstream_shared') # Add lapack and blas to the link line # If there is a special blas and lapack add that in if env['blas_lapack_libs']: linkLibs.extend(env['blas_lapack_libs']) linkSharedLibs.extend(env['blas_lapack_libs']) -else: +elif not env['single_library']: linkLibs.extend(('ctlapack', 'ctblas')) linkSharedLibs.extend(('ctlapack_shared', 'ctblas_shared')) if not env['build_with_f2c']: linkLibs.extend(env['FORTRANSYSLIBS']) linkSharedLibs.append(env['FORTRANSYSLIBS']) -else: +elif not env['single_library']: # Add the f2c library when f2c is requested linkLibs.append('ctf2c') linkSharedLibs.append('ctf2c_shared') diff --git a/ext/SConscript b/ext/SConscript index b131f9c20..45916f9d7 100644 --- a/ext/SConscript +++ b/ext/SConscript @@ -115,38 +115,42 @@ for subdir, extensions, prepFunction in libs: localenv = prepFunction(env) - libName = 'ct' + subdir - if libName == 'ctf2c_blas': - libName = 'ctblas' - if libName == 'ctf2c_lapack': - libName = 'ctlapack' - if libName == 'ctf2c_math': - libName = 'ctmath' - if libName == 'ctcvode/source': - libName = 'cvode' - if libName == 'ctlibexecstream': - libName = 'execstream' - if libName == 'ctf2c_libs': - libName = 'ctf2c' - - if localenv['renamed_shared_libraries']: - sharedLibName = libName + '_shared' + if localenv['single_library']: + objects = localenv.SharedObject(mglob(localenv, subdir, *extensions)) + libraryTargets.extend(objects) else: - sharedLibName = libName + libName = 'ct' + subdir + if libName == 'ctf2c_blas': + libName = 'ctblas' + if libName == 'ctf2c_lapack': + libName = 'ctlapack' + if libName == 'ctf2c_math': + libName = 'ctmath' + if libName == 'ctcvode/source': + libName = 'cvode' + if libName == 'ctlibexecstream': + libName = 'execstream' + if libName == 'ctf2c_libs': + libName = 'ctf2c' - if env['VERBOSE']: - print "INFO 2:", subdir, ' with ', extensions - print " libName = ", libName, " sharedLibName = ", sharedLibName + if localenv['renamed_shared_libraries']: + sharedLibName = libName + '_shared' + else: + sharedLibName = libName - objects = localenv.SharedObject(mglob(localenv, subdir, *extensions)) + if env['VERBOSE']: + print "INFO 2:", subdir, ' with ', extensions + print " libName = ", libName, " sharedLibName = ", sharedLibName - # Build the static library - lib = build(localenv.StaticLibrary(pjoin('..', 'lib', libName), objects)) - install('$inst_libdir', lib) + objects = localenv.SharedObject(mglob(localenv, subdir, *extensions)) - # Build the shared library - liby = build(localenv.SharedLibrary(pjoin('..', 'lib', sharedLibName), objects)) - install('$inst_libdir', liby) + # Build the static library + lib = build(localenv.StaticLibrary(pjoin('..', 'lib', libName), objects)) + install('$inst_libdir', lib) + + # Build the shared library + liby = build(localenv.SharedLibrary(pjoin('..', 'lib', sharedLibName), objects)) + install('$inst_libdir', liby) # Google Test: Used internally for Cantera unit tests. Optionally, the headers # and compiled library can be installed alongside Cantera using the scons diff --git a/platform/posix/SConscript b/platform/posix/SConscript index b4947dfcd..63bf72761 100644 --- a/platform/posix/SConscript +++ b/platform/posix/SConscript @@ -37,7 +37,8 @@ pc_incdirs = [] pc_cflags = [] localenv['mak_corelibs'] = '-lcantera' -localenv['mak_corelibs'] += ' -lctmath -lexecstream' +if not env['single_library']: + localenv['mak_corelibs'] += ' -lctmath -lexecstream' localenv['mak_extra_includes'] = ['-I%s' % s for s in localenv['extra_inc_dirs']] pc_incdirs.extend(localenv['extra_inc_dirs']) @@ -85,10 +86,13 @@ localenv['mak_have_blas_lapack_dir'] = '1' if localenv['blas_lapack_dir'] else ' if localenv['blas_lapack_dir']: localenv['mak_blas_lapack_libs'] = ' '.join('-l%s' % s for s in localenv['blas_lapack_libs']) -else: +elif not env['single_library']: localenv['mak_blas_lapack_libs'] = ('-L' + '$(CANTERA_INSTALL_ROOT)/lib' + ' -lctlapack -lctblas') localenv['mak_blas_lapack_libs_dep'] = ( '$' + '(CANTERA_INSTALL_ROOT)' + '/lib' + 'ctlapack' + '.a' + ' $(CANTERA_INSTALL_ROOT)/lib/libctblas.a') print 'blas = ', localenv['mak_blas_lapack_libs_dep'] +else: + localenv['mak_blas_lapack_libs'] = '' + localenv['mak_blas_lapack_libs_dep'] = '' if 'Accelerate' in localenv['FRAMEWORKS']: localenv['mak_blas_lapack_libs'] += ' -framework Accelerate'