Scilab: add build verbosity level (ilib_verbose) option

This commit is contained in:
Simon Marchetto 2013-08-07 12:27:43 +02:00
commit 021cb99b4c

View file

@ -20,7 +20,8 @@ static const char *usage = (char*) "\
Scilab options\n\ Scilab options\n\
-addsrc <source files> additionnal source files (separated by space) to include in build script (ex: myfile.cxx myfile2.cxx)\n\ -addsrc <source files> additionnal source files (separated by space) to include in build script (ex: myfile.cxx myfile2.cxx)\n\
-addcflag -I<path> additionnal include path to include in build script (ex: -I/usr/includes/)\n\ -addcflag -I<path> additionnal include path to include in build script (ex: -I/usr/includes/)\n\
-addldlag <flag> additionnal link flag to include in build script (ex: -lm)\n\n"; -addldlag <flag> additionnal link flag to include in build script (ex: -lm)\n\
-vbl <level> sets the build verbose level (default 0)\n\n";
const char* SWIG_INIT_FUNCTION_NAME = "SWIG_Init"; const char* SWIG_INIT_FUNCTION_NAME = "SWIG_Init";
@ -41,6 +42,8 @@ protected:
String *cflag; String *cflag;
String *ldflag; String *ldflag;
String* verboseBuildLevel;
public: public:
/* ------------------------------------------------------------------------ /* ------------------------------------------------------------------------
* main() * main()
@ -50,6 +53,7 @@ public:
sourceFileList = NewList(); sourceFileList = NewList();
ldflag = NULL; ldflag = NULL;
cflag = NULL; cflag = NULL;
verboseBuildLevel = NULL;
/* Manage command line arguments */ /* Manage command line arguments */
for (int argIndex = 1; argIndex < argc; argIndex++) { for (int argIndex = 1; argIndex < argc; argIndex++) {
@ -82,10 +86,18 @@ public:
ldflag = NewString(argv[argIndex+1]); ldflag = NewString(argv[argIndex+1]);
Swig_mark_arg(argIndex+1); Swig_mark_arg(argIndex+1);
} }
} else if (strcmp(argv[argIndex], "-vbl") == 0) {
Swig_mark_arg(argIndex);
verboseBuildLevel = NewString(argv[argIndex+1]);
Swig_mark_arg(argIndex+1);
} }
} }
} }
if (verboseBuildLevel == NULL) {
verboseBuildLevel = NewString("0");
}
/* Set language-specific subdirectory in SWIG library */ /* Set language-specific subdirectory in SWIG library */
SWIG_library_directory("scilab"); SWIG_library_directory("scilab");
@ -138,12 +150,9 @@ public:
builderCode = NewString(""); builderCode = NewString("");
Printf(builderCode, "mode(-1);\n"); Printf(builderCode, "mode(-1);\n");
Printf(builderCode, "lines(0);\n"); /* Useful for automatic tests */ Printf(builderCode, "lines(0);\n"); /* Useful for automatic tests */
#ifdef SWIG_DEBUG
Printf(builderCode, "try\n"); Printf(builderCode, "ilib_verbose(%s);\n", verboseBuildLevel);
Printf(builderCode, "ilib_verbose(1);\n");
#else
Printf(builderCode, "ilib_verbose(0);\n");
#endif
Printf(builderCode, "ilib_name = \"%slib\";\n", moduleName); Printf(builderCode, "ilib_name = \"%slib\";\n", moduleName);
Printf(builderCode, "libs = [];\n"); Printf(builderCode, "libs = [];\n");
@ -197,11 +206,7 @@ public:
Printf(builderCode, "if ~isempty(table) then\n"); Printf(builderCode, "if ~isempty(table) then\n");
Printf(builderCode, " ilib_build(ilib_name, table, files, libs, [], ldflags, cflags);\n"); Printf(builderCode, " ilib_build(ilib_name, table, files, libs, [], ldflags, cflags);\n");
Printf(builderCode, "end\n"); Printf(builderCode, "end\n");
#ifdef SWIG_DEBUG
Printf(builderCode, "catch\n");
Printf(builderCode, " printf(\"\"*** builder.sce file execution FAILED ***\"\");\n");
Printf(builderCode, "end\n");
#endif
Printf(builderCode, "exit"); Printf(builderCode, "exit");
builderFile = NewFile(NewStringf("%sbuilder.sce", SWIG_output_directory()), "w", SWIG_output_files()); builderFile = NewFile(NewStringf("%sbuilder.sce", SWIG_output_directory()), "w", SWIG_output_files());
Printv(builderFile, builderCode, NIL); Printv(builderFile, builderCode, NIL);