scilab: fix build error management

This commit is contained in:
Simon Marchetto 2014-07-02 16:06:57 +02:00
commit fa405fafc1
2 changed files with 12 additions and 11 deletions

View file

@ -1739,7 +1739,7 @@ scilab: $(SRCDIR_SRCS)
fi \
fi \
fi
env LD_LIBRARY_PATH=.:$$LD_LIBRARY_PATH MAKEFLAGS="-j1" $(RUNTOOL) $(SCILAB) $(SCILAB_OPT) -e "mkdir(TMPDIR + '/example'); disp(copyfile('/home/travis/build/swig/swig/Examples/scilab/contract/example1.c', TMPDIR + '/example')); disp(ls()); exit(exec('builder.sce', 'errcatch', 3))"; \
env LD_LIBRARY_PATH=.:$$LD_LIBRARY_PATH MAKEFLAGS="-j1" $(RUNTOOL) $(SCILAB) $(SCILAB_OPT) -e "ierr = exec('builder.sce', 'errcatch', 3); if ierr <> 0 then disp(lasterror()); end; exit(ierr);"; \
# ----------------------------------------------------------------
# Build a C++ dynamically loadable module
@ -1775,7 +1775,7 @@ scilab_cpp: $(SRCDIR_SRCS)
fi \
fi \
fi
env LD_LIBRARY_PATH=.:$$LD_LIBRARY_PATH MAKEFLAGS="-j1" $(RUNTOOL) $(SCILAB) $(SCILAB_OPT) -e "mkdir(TMPDIR + '/example'); disp(copyfile('/home/travis/build/swig/swig/Examples/scilab/contract/example1.c', TMPDIR + '/example')); disp(pwd()); disp(ls()); exit(exec('builder.sce', 'errcatch', 3))"; \
env LD_LIBRARY_PATH=.:$$LD_LIBRARY_PATH MAKEFLAGS="-j1" $(RUNTOOL) $(SCILAB) $(SCILAB_OPT) -e "ierr = exec('builder.sce', 'errcatch', 3); if ierr <> 0 then disp(lasterror()); end; exit(ierr);"; \
# -----------------------------------------------------------------
# Running a Scilab example

View file

@ -836,22 +836,23 @@ public:
void terminateBuilderCode() {
Printf(builderCode, "];\n");
Printf(builderCode, "err_msg = [];\n");
Printf(builderCode, "ierr = 0;\n");
Printf(builderCode, "if ~isempty(table) then\n");
Printf(builderCode, " disp(TMPDIR + '/%s');\n", libraryName);
Printf(builderCode, " disp(ls(TMPDIR + '/%s'));\n", libraryName);
Printf(builderCode, " ilib_build('%s', table, files, libs, [], ldflags, cflags);\n", libraryName);
Printf(builderCode, " libfilename = 'lib%s' + getdynlibext();\n", libraryName);
Printf(builderCode, " if ~isfile(libfilename) then\n");
Printf(builderCode, " ierr = execstr(\"ilib_build(''%s'', table, files, libs, [], ldflags, cflags);\", 'errcatch');\n", libraryName);
Printf(builderCode, " if ierr <> 0 then\n");
Printf(builderCode, " err_msg = lasterror();\n");
Printf(builderCode, " else if ~isfile(libfilename) then\n");
Printf(builderCode, " ierr = 1;\n");
Printf(builderCode, " err_msg = 'Error while building library ' + libfilename;\n");
Printf(builderCode, " end\n");
Printf(builderCode, " if ~isfile('loader.sce') then\n");
Printf(builderCode, " else if ~isfile('loader.sce') then\n");
Printf(builderCode, " ierr = 1;\n");
Printf(builderCode, " err_msg = 'Error while generating loader script loader.sce.';\n");
Printf(builderCode, " end\n");
Printf(builderCode, "end\n");
Printf(builderCode, "cd(originaldir);\n");
Printf(builderCode, "if err_msg <> [] then\n");
Printf(builderCode, " error(err_msg, 1);\n");
Printf(builderCode, "if ierr <> 0 then\n");
Printf(builderCode, " error(ierr, err_msg);\n");
Printf(builderCode, "end\n");
}