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
|
||||
if (generateBuilder) {
|
||||
createBuilderFile();
|
||||
startBuilderCode(moduleName, outputFilename);
|
||||
}
|
||||
|
||||
|
|
@ -189,7 +190,7 @@ public:
|
|||
// Add Builder footer code and save
|
||||
if (generateBuilder) {
|
||||
terminateBuilderCode();
|
||||
saveBuilder();
|
||||
saveBuilderFile();
|
||||
}
|
||||
|
||||
// Add initialization function to init section
|
||||
|
|
@ -222,6 +223,15 @@ public:
|
|||
return SWIG_OK;
|
||||
}
|
||||
|
||||
/* ------------------------------------------------------------------------
|
||||
* emitWrapper()
|
||||
* ----------------------------------------------------------------------*/
|
||||
void emitBanner(File *f) {
|
||||
Printf(f, "// ----------------------------------------------------------------------------\n");
|
||||
Swig_banner_target_lang(f, "// ");
|
||||
Printf(f, "// ----------------------------------------------------------------------------- */\n\n");
|
||||
}
|
||||
|
||||
/* ------------------------------------------------------------------------
|
||||
* functionWrapper()
|
||||
* ----------------------------------------------------------------------*/
|
||||
|
|
@ -643,6 +653,16 @@ public:
|
|||
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) {
|
||||
builderFunctionCount = 0;
|
||||
builderCode = NewString("");
|
||||
|
|
@ -709,14 +729,8 @@ public:
|
|||
Printf(builderCode, "exit(ret)");
|
||||
}
|
||||
|
||||
void saveBuilder() {
|
||||
void saveBuilderFile() {
|
||||
// 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);
|
||||
Delete(builderFile);
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue