diff options
-rw-r--r-- | scilab2c/macros/CCodeGeneration/C_Funcall.sci | 7 | ||||
-rw-r--r-- | scilab2c/macros/CCodeGeneration/C_GenerateFunName.sci | 1 | ||||
-rw-r--r-- | scilab2c/macros/CCodeGeneration/C_GenerateSCI2CHeader.sci | 21 | ||||
-rw-r--r-- | scilab2c/macros/sci2c_gui.sci | 2 | ||||
-rw-r--r-- | scilab2c/src/c/auxiliaryFunctions/interfaces/int_find.h | 16 |
5 files changed, 36 insertions, 11 deletions
diff --git a/scilab2c/macros/CCodeGeneration/C_Funcall.sci b/scilab2c/macros/CCodeGeneration/C_Funcall.sci index 339c8451..8b629cb1 100644 --- a/scilab2c/macros/CCodeGeneration/C_Funcall.sci +++ b/scilab2c/macros/CCodeGeneration/C_Funcall.sci @@ -195,7 +195,12 @@ else end -CCall = CCall+CFunName+'('; +if CFunName == "main" + CCall = CCall + CFunName + "("; +else + CCall = CCall+"SCI2C("+CFunName+")("; +end + // #RNU_RES_B PrintStringInfo(' C call after output scalar args check: '+CCall,ReportFileName,'file','y'); // #RNU_RES_E diff --git a/scilab2c/macros/CCodeGeneration/C_GenerateFunName.sci b/scilab2c/macros/CCodeGeneration/C_GenerateFunName.sci index b5b8c12d..9d40d2b9 100644 --- a/scilab2c/macros/CCodeGeneration/C_GenerateFunName.sci +++ b/scilab2c/macros/CCodeGeneration/C_GenerateFunName.sci @@ -41,5 +41,4 @@ for tmpcnt = 1:NOutArg CFunName = CFunName+OutArg(tmpcnt).Type+SCI2Cstring(OutArg(tmpcnt).Dimension); end end - endfunction diff --git a/scilab2c/macros/CCodeGeneration/C_GenerateSCI2CHeader.sci b/scilab2c/macros/CCodeGeneration/C_GenerateSCI2CHeader.sci new file mode 100644 index 00000000..bced7243 --- /dev/null +++ b/scilab2c/macros/CCodeGeneration/C_GenerateSCI2CHeader.sci @@ -0,0 +1,21 @@ +// +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) 2010-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 +// you should have received as part of this distribution. The terms +// are also available at +// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt +// +// +function C_GenerateSCI2CHeader(OutputPath, FunctionPrefix) + FileName = OutputPath+"scilab2c.h" + C_SCI2CHeader(FileName); + PrintStringInfo('#ifndef __SCILAB2C_H__',FileName,'file','y'); + PrintStringInfo('#define __SCILAB2C_H__',FileName,'file','y'); + PrintStringInfo('',FileName,'file','y'); + PrintStringInfo('#define SCI2C(Name) '+FunctionPrefix+'_##Name',FileName,'file','y'); + PrintStringInfo('',FileName,'file','y'); + PrintStringInfo('#endif /* !__SCILAB2C_H__ */',FileName,'file','y'); +endfunction diff --git a/scilab2c/macros/sci2c_gui.sci b/scilab2c/macros/sci2c_gui.sci index aaae2ac2..e4dfb19e 100644 --- a/scilab2c/macros/sci2c_gui.sci +++ b/scilab2c/macros/sci2c_gui.sci @@ -130,7 +130,7 @@ buildtoolradiounix = uicontrol("parent", sci2cfig,... "max", 1, ... "callback", "cb_sci2c_gui",... "tag", "buildtoolradiounix"); -if MSDOS +if getos() == "Windows" set(buildtoolradiowin, "value", 1); set(buildtoolradiounix, "value", 0); else diff --git a/scilab2c/src/c/auxiliaryFunctions/interfaces/int_find.h b/scilab2c/src/c/auxiliaryFunctions/interfaces/int_find.h index 737afc28..891aad7e 100644 --- a/scilab2c/src/c/auxiliaryFunctions/interfaces/int_find.h +++ b/scilab2c/src/c/auxiliaryFunctions/interfaces/int_find.h @@ -64,33 +64,33 @@ #define s2s0finds2(in1,size,in2,out) {\ int temp_out_indice[2] = {0} ;\ - sfinda(in1,size[0]*size[1],out,temp_out_indice,in2);\ + sfinda(in1,size[0]*size[1],out,in2);\ } #define d2d0findd2(in1,size,in2,out) {\ int temp_out_indice[2] = {0} ;\ - dfinda(in1,size[0]*size[1],out,temp_out_indice,in2);\ + dfinda(in1,size[0]*size[1],out,in2);\ } #define c2s0finds2(in1,size,in2,out) {\ int temp_out_indice[2] = {0} ;\ - cfinda(in1,size[0]*size[1],out,temp_out_indice,in2);\ + cfinda(in1,size[0]*size[1],out,in2);\ } #define z2d0findd2(in1,size,in2,out) {\ int temp_out_indice[2] = {0} ;\ - zfinda(in1,size[0]*size[1],out,temp_out_indice,in2);\ + zfinda(in1,size[0]*size[1],out,in2);\ } /* 2 inputs, 2 outputs */ -#define s0s0finds0s0(in1,in2,out2) s0finds0s0(in1,out2) +#define s0s0finds0s0(in1,in2,out1,out2) s0finds0s0(in1,out1,out2) -#define d0d0findd0d0(in1,in2,out2) d0findd0d0(in1,out2) +#define d0d0findd0d0(in1,in2,out1,out2) d0findd0d0(in1,out1,out2) -#define c0s0finds0s0(in1,in2,out2) c0finds0s0(in1,out2) +#define c0s0finds0s0(in1,in2,out1,out2) c0finds0s0(in1,out1,out2) -#define z0d0findd0d0(in1,in2,out2) z0findd0d0(in1,out2) +#define z0d0findd0d0(in1,in2,out1,out2) z0findd0d0(in1,out1,out2) /*FIXME : prototypes are wrong*/ |