Scilab: add SWIG banner in builder.sce
This commit is contained in:
parent
77da84f549
commit
6318290a3b
1 changed files with 22 additions and 8 deletions
|
|
@ -158,6 +158,7 @@ public:
|
||||||
|
|
||||||
// Add builder header code
|
// Add builder header code
|
||||||
if (generateBuilder) {
|
if (generateBuilder) {
|
||||||
|
createBuilderFile();
|
||||||
startBuilderCode(moduleName, outputFilename);
|
startBuilderCode(moduleName, outputFilename);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -189,7 +190,7 @@ public:
|
||||||
// Add Builder footer code and save
|
// Add Builder footer code and save
|
||||||
if (generateBuilder) {
|
if (generateBuilder) {
|
||||||
terminateBuilderCode();
|
terminateBuilderCode();
|
||||||
saveBuilder();
|
saveBuilderFile();
|
||||||
}
|
}
|
||||||
|
|
||||||
// Add initialization function to init section
|
// Add initialization function to init section
|
||||||
|
|
@ -222,6 +223,15 @@ public:
|
||||||
return SWIG_OK;
|
return SWIG_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* ------------------------------------------------------------------------
|
||||||
|
* emitWrapper()
|
||||||
|
* ----------------------------------------------------------------------*/
|
||||||
|
void emitBanner(File *f) {
|
||||||
|
Printf(f, "// ----------------------------------------------------------------------------\n");
|
||||||
|
Swig_banner_target_lang(f, "// ");
|
||||||
|
Printf(f, "// ----------------------------------------------------------------------------- */\n\n");
|
||||||
|
}
|
||||||
|
|
||||||
/* ------------------------------------------------------------------------
|
/* ------------------------------------------------------------------------
|
||||||
* functionWrapper()
|
* functionWrapper()
|
||||||
* ----------------------------------------------------------------------*/
|
* ----------------------------------------------------------------------*/
|
||||||
|
|
@ -643,6 +653,16 @@ public:
|
||||||
return Language::enumvalueDeclaration(node);
|
return Language::enumvalueDeclaration(node);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void createBuilderFile() {
|
||||||
|
String *builderFilename = NewStringf("%sbuilder.sce", SWIG_output_directory());
|
||||||
|
builderFile = NewFile(builderFilename, "w", SWIG_output_files());
|
||||||
|
if (!builderFile) {
|
||||||
|
FileErrorDisplay(builderFilename);
|
||||||
|
SWIG_exit(EXIT_FAILURE);
|
||||||
|
}
|
||||||
|
emitBanner(builderFile);
|
||||||
|
}
|
||||||
|
|
||||||
void startBuilderCode(String *moduleName, String *outputFilename) {
|
void startBuilderCode(String *moduleName, String *outputFilename) {
|
||||||
builderFunctionCount = 0;
|
builderFunctionCount = 0;
|
||||||
builderCode = NewString("");
|
builderCode = NewString("");
|
||||||
|
|
@ -709,14 +729,8 @@ public:
|
||||||
Printf(builderCode, "exit(ret)");
|
Printf(builderCode, "exit(ret)");
|
||||||
}
|
}
|
||||||
|
|
||||||
void saveBuilder() {
|
void saveBuilderFile() {
|
||||||
// Save builder
|
// Save builder
|
||||||
String *builderFilename = NewStringf("%sbuilder.sce", SWIG_output_directory());
|
|
||||||
builderFile = NewFile(builderFilename, "w", SWIG_output_files());
|
|
||||||
if (!builderFile) {
|
|
||||||
FileErrorDisplay(builderFilename);
|
|
||||||
SWIG_exit(EXIT_FAILURE);
|
|
||||||
}
|
|
||||||
Printv(builderFile, builderCode, NIL);
|
Printv(builderFile, builderCode, NIL);
|
||||||
Delete(builderFile);
|
Delete(builderFile);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue