diff options
author | Shashank | 2017-05-29 12:40:26 +0530 |
---|---|---|
committer | Shashank | 2017-05-29 12:40:26 +0530 |
commit | 0345245e860375a32c9a437c4a9d9cae807134e9 (patch) | |
tree | ad51ecbfa7bcd3cc5f09834f1bb8c08feaa526a4 /modules/tclsci/macros/gettklib.sci | |
download | scilab_for_xcos_on_cloud-0345245e860375a32c9a437c4a9d9cae807134e9.tar.gz scilab_for_xcos_on_cloud-0345245e860375a32c9a437c4a9d9cae807134e9.tar.bz2 scilab_for_xcos_on_cloud-0345245e860375a32c9a437c4a9d9cae807134e9.zip |
CMSCOPE changed
Diffstat (limited to 'modules/tclsci/macros/gettklib.sci')
-rwxr-xr-x | modules/tclsci/macros/gettklib.sci | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/modules/tclsci/macros/gettklib.sci b/modules/tclsci/macros/gettklib.sci new file mode 100755 index 000000000..bbf91a321 --- /dev/null +++ b/modules/tclsci/macros/gettklib.sci @@ -0,0 +1,55 @@ +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) INRIA +// +// This file must be used under the terms of the CeCILL. +// This source file is licensed as described in the file COPYING, which +// you should have received as part of this distribution. The terms +// are also available at +// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + + +function tklib=gettklib() + tklib = []; + tcltkver = TCL_GetVersion("numbers"); + // don't use string() but msprintf because of format() - see bug 3602 + major = msprintf("%d",tcltkver(1)); + minor = msprintf("%d",tcltkver(2)); + if getos() == "Windows" then + tklib = "tk" + major + minor + getdynlibext(); + else + cur_verbose = ilib_verbose(); + ilib_verbose(0); + + // In the binary version libtk8.X.so has been copied in + // the SCI/bin directory and scilab script add SCI/bin + // to the LD_LIBRARY_PATH (or SHLIB_PATH). + // So, If libtk8.X.so (or .sl) exists in SCI/bin ... it's ok + libname = "libtk" + major + "." + minor; + if isfile("SCI/bin/"+libname+getdynlibext()) then + tklib = libname + getdynlibext(); + ilib_verbose(cur_verbose); + return; + end + cmd ="link(''"+libname+getdynlibext()+"'')"; + ierr = execstr(cmd, "errcatch"); + if (ierr == 0) then + tklib = libname + getdynlibext(); + else + cmd ="link(''"+libname+getdynlibext()+".0'')"; + ierr = execstr(cmd, "errcatch"); + if (ierr == 0) then + tklib = libname + getdynlibext() + ".0"; + else + warning(msprintf(gettext("Error %s while loading library %s"),lasterror(),libname+getdynlibext())); + end + end + + ilib_verbose(cur_verbose); + + clear libname; + clear cmd; + end + clear tcltkver; + clear major; + clear minor; +endfunction |