summaryrefslogtreecommitdiff
path: root/macros/scilab2c.sci
diff options
context:
space:
mode:
Diffstat (limited to 'macros/scilab2c.sci')
-rw-r--r--macros/scilab2c.sci92
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