summaryrefslogtreecommitdiff
path: root/macros/runsci2c.sci
diff options
context:
space:
mode:
authorcornet2010-04-01 09:37:16 +0000
committercornet2010-04-01 09:37:16 +0000
commite04f431abfebdf786f3502d3f7ada709b2fe69d2 (patch)
tree9b5f1e69b24e0f1cfb398f99efbc66728dc2c6cf /macros/runsci2c.sci
parent4c8e570f745051833e0f704545bba385f20c0df5 (diff)
downloadscilab2c-e04f431abfebdf786f3502d3f7ada709b2fe69d2.tar.gz
scilab2c-e04f431abfebdf786f3502d3f7ada709b2fe69d2.tar.bz2
scilab2c-e04f431abfebdf786f3502d3f7ada709b2fe69d2.zip
copy blas lapack
Diffstat (limited to 'macros/runsci2c.sci')
-rw-r--r--macros/runsci2c.sci30
1 files changed, 29 insertions, 1 deletions
diff --git a/macros/runsci2c.sci b/macros/runsci2c.sci
index ea6937ff..e35a3659 100644
--- a/macros/runsci2c.sci
+++ b/macros/runsci2c.sci
@@ -133,7 +133,7 @@ if BuildTool == "make"
C_GenerateMakefile(FileInfo,SharedInfo);
end
if BuildTool == "nmake"
- // FIXME : Add copy of missing dll before.
+ copyBlasLapackLibs(FileInfo,SharedInfo);
C_GenerateMakefile_msvc(FileInfo,SharedInfo);
end
@@ -146,3 +146,31 @@ elseif (RunMode == 'GenLibraryStructure')
PrintStepInfo('Library Structure Successfully Created!!!',FileInfo.GeneralReport,'both');
end
endfunction
+
+
+function r = copyBlasLapackLibs(FileInfo, SharedInfo)
+ r = %f;
+ if getos() == 'Windows' then
+ // create external-libs directory
+ EXTERNLIBSPATH = FileInfo.OutCCCodeDir + '/external-libs';
+ if ~isdir(EXTERNLIBSPATH) then
+ mkdir(EXTERNLIBSPATH);
+ end
+ if ~isdir(EXTERNLIBSPATH) r = %f;
+ else
+ // copy blas & lapack librairies
+ copyfile(SCI + '/bin/blasplus.lib', EXTERNLIBSPATH);
+ copyfile(SCI + '/bin/lapack.lib', EXTERNLIBSPATH);
+ copyfile(SCI + '/bin/blasplus.dll', FileInfo.OutCCCodeDir);
+ copyfile(SCI + '/bin/lapack.dll', FileInfo.OutCCCodeDir);
+ // copy dependencies if MKL
+ if isfile(SCI + '/bin/libguide40.dll') then
+ copyfile(SCI + '/bin/libguide40.dll', FileInfo.OutCCCodeDir);
+ end
+ if isfile(SCI + '/bin/libiomp5md.dll') then
+ copyfile(SCI + '/bin/libiomp5md.dll', FileInfo.OutCCCodeDir);
+ end
+ r = %t;
+ end
+ end
+endfunction