diff options
Diffstat (limited to 'macros/scilab2c.sci')
-rw-r--r-- | macros/scilab2c.sci | 92 |
1 files changed, 63 insertions, 29 deletions
diff --git a/macros/scilab2c.sci b/macros/scilab2c.sci index 83cbde76..b0265931 100644 --- a/macros/scilab2c.sci +++ b/macros/scilab2c.sci @@ -1,6 +1,6 @@ // // Scilab ( http://www.scilab.org/ ) - This file is part of Scilab -// Copyright (C) 2009-2009 - DIGITEO - Bruno JOFRET +// Copyright (C) 2009-2010 - DIGITEO - Bruno JOFRET // // This file must be used under the terms of the CeCILL. // This source file is licensed as described in the file COPYING, which @@ -14,36 +14,35 @@ function scilab2c(varargin) [lhs, rhs] = argn(); select rhs - // - // scilab2c() - // +// +// scilab2c() +// case 0 sci2c_gui(); return - // - // scilab2c(UserScilabMainFile, CCodeOutputDir) - // +// +// scilab2c(UserScilabMainFile, CCodeOutputDir) +// case 2 for i = 1:2 if typeof(varargin(i)) <> "string" - error(msprintf(gettext("%s: Wrong type for input argument #%d: String expected.\n"),"scilab2c",i)); - return + error(msprintf(gettext("%s: Wrong type for input argument #%d: String expected.\n"),"scilab2c",i)); + return end end UserScilabMainFile = varargin(1); CCodeOutputDir = varargin(2); UserSciFilesPaths = []; RunMode = 'All'; - //RunMode = 'GenLibraryStructure'; - //RunMode = 'Translate'; - // - // scilab2c(UserScilabMainFile, CCodeOutputDir, UserSciFilesPaths) + BuildTool = getNativeBuildTool(); // +// scilab2c(UserScilabMainFile, CCodeOutputDir, UserSciFilesPaths) +// case 3 for i = 1:3 if typeof(varargin(i)) <> "string" - error(msprintf(gettext("%s: Wrong type for input argument #%d: String expected.\n"),"scilab2c",i)); - return + error(msprintf(gettext("%s: Wrong type for input argument #%d: String expected.\n"),"scilab2c",i)); + return end end UserScilabMainFile = varargin(1); @@ -54,19 +53,19 @@ function scilab2c(varargin) UserSciFilesPaths = varargin(3); end RunMode = "All"; - // - // scilab2c(UserScilabMainFile, CCodeOutputDir, UserSciFilesPaths, RunMode) - // + BuildTool = getNativeBuildTool(); + // +// scilab2c(UserScilabMainFile, CCodeOutputDir, UserSciFilesPaths, RunMode) +// case 4 for i = 1:4 if typeof(varargin(i)) <> "string" - error(msprintf(gettext("%s: Wrong type for input argument #%d: String expected.\n"),"scilab2c",i)); - return + error(msprintf(gettext("%s: Wrong type for input argument #%d: String expected.\n"),"scilab2c",i)); + return end end if varargin(4) <> "All" & varargin(4) <> "Translate" & varargin(4) <> "GenLibraryStructure" - error(msprintf(gettext("%s: argument #%d must be: ""All"", ""Translate"" or ""GenLibraryStructure"".\n"),"scilab2c",4)); - return + error(msprintf(gettext("%s: argument #%d must be: ""All"", ""Translate"" or ""GenLibraryStructure"".\n"),"scilab2c",4)); return end UserScilabMainFile = varargin(1); @@ -77,20 +76,55 @@ function scilab2c(varargin) UserSciFilesPaths = varargin(3); end RunMode = varargin(4); + BuildTool = getNativeBuildTool(); + case 5 + for i = 1:4 + if typeof(varargin(i)) <> "string" + error(msprintf(gettext("%s: Wrong type for input argument #%d: String expected.\n"),"scilab2c",i)); + return + end + end + if varargin(4) <> "All" & varargin(4) <> "Translate" & varargin(4) <> "GenLibraryStructure" + error(msprintf(gettext("%s: argument #%d must be: ""All"", ""Translate"" or ""GenLibraryStructure"".\n"),"scilab2c",4)); + return + end + if varargin(5) <> "make" & varargin(5) <> "nmake" + error(msprintf(gettext("%s: argument #%d must be: ""make"" or ""nmake"".\n"),"scilab2c",5)); + return + end + UserScilabMainFile = varargin(1); + CCodeOutputDir = varargin(2); + if varargin(3) == "" + UserSciFilesPaths = []; + else + UserSciFilesPaths = varargin(3); + end + RunMode = varargin(4); + BuildTool = varargin(5); else - error(msprintf(gettext("%s: Wrong number of input argument(s): %d expected.\n"),"scilab2c",2)); +// +// Calling scilab2c with more than understood values +// +error(msprintf(gettext("%s: Wrong number of input argument(s): %d expected.\n"),"scilab2c",2)); end // --- LAUNCH USER SCI CODE TO TEST IT BEFORE TRANSLATING IT!!! --- - runscicode(UserScilabMainFile, UserSciFilesPaths); + runscicode(UserScilabMainFile, UserSciFilesPaths); // --- ASK USER FOR CONTINUATION. --- -// -- FIXME : bypass this for now !! - userchoice = messagebox("Exection Succesfull. Start translation ?", "modal", "info", ["Yes" "No"]) - if (userchoice == 1) + userchoice = messagebox("Exection Succesfull. Start translation ?", "modal", "info", ["Yes" "No"]) + if (userchoice == 1) // --- LAUNCH SCI2C --- - runsci2c(UserScilabMainFile, UserSciFilesPaths, CCodeOutputDir, RunMode); - end + runsci2c(UserScilabMainFile, UserSciFilesPaths, CCodeOutputDir, RunMode, BuildTool); + end endfunction + +function BuildTool = getNativeBuildTool() + if MSDOS + BuildTool = "nmake" + else + BuildTool = "make" + end +endfunction
\ No newline at end of file |