[Scilab-users] Creation of a library with macros located in various folders
Pierre Vuillemin
contact at pierre-vuillemin.fr
Sat Oct 15 10:30:53 CEST 2016
Well, after some trials and (mainly) errors,
it seems that when saving a function which name is given by the variable
function_name,
save(function_name + ".bin", function_name)
does not work, while
execstr("save("""function_name + ".bin""," +function_name+")")
does work.
The attached file contains a routine that goes recursively through
folders in a given path to find the .sci files and create a library in a
given build folder. It works as follows,
rgenlib(lib_name, src_path, target_path)
It seems to be 'working' but produces warnings due to:
- the way binary files are saved (see above), which will change in
Scilab 6 if I am correct,
- the functions in the library being already loaded in Scilab for some
reason.
If anyone has an insight concerning the second point, I am interested.
Best regards,
Pierre
Le 12/10/2016 à 22:00, Pierre Vuillemin a écrit :
>
> Hi all,
>
> I am trying to make a function similar to genlib but which goes
> recursively through folders to find .sci files, compile them and put
> them in a given target build folder.
>
> The idea is that I would like to be able to organize my 'macros'
> folder while still being able to generate a library. In particular, I
> would like to have that kind of folder organization :
>
> - build
> <binary files should go here>
> <as well as names>
> - src
> - sub-folder1
> <.sci files>
> ...
> - sub-folder n
> - sub sub folder 1
> <.sci files>
> < .sci files>
>
>
> At the moment, the function (build.sce in the attached file) goes
> through the folders contained in the initial 'src' folder, performs an
> 'exec' on the .sci files that are found, and save the corresponding
> binary files in the target folder 'build' (at the same level as
> 'src'). It also generates a 'names' file containing the names of the
> functions in the 'build' folder.
>
> Finally, it creates a library with the binary files contained in the
> 'build' folder.
>
>
> Yet, when I try to use my functions, I get the following error:
>
> !--error 999
> Overloaded load cannot occur in this context
>
> So I guess that there is something wrong with the way I generate my
> library?
>
> My binary files are generated as follows,
>
> function_name = strsubst(fi,".sci","") // fi is the full
> name of the file
> names_to_write = [names_to_write;function_name] // used later
> to generate the file containing the names
> exec(file_path, -1) // file_path is the absolute path to my
> function
> save(target_path + function_name + ".bin", function_name)
>
> and the names file is generated as,
>
> names_file = target_path + "names"
> [fd, err] = mopen(names_file,"a")
> mputl(names_to_write, fd)
> mclose(fd)
>
>
> Best regards,
>
> Pierre Vuillemin
>
>
>
> _______________________________________________
> users mailing list
> users at lists.scilab.org
> http://lists.scilab.org/mailman/listinfo/users
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.scilab.org/pipermail/users/attachments/20161015/9d309427/attachment.htm>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: rgenlib.sci
Type: application/x-scilab-sci
Size: 1255 bytes
Desc: not available
URL: <https://lists.scilab.org/pipermail/users/attachments/20161015/9d309427/attachment.bin>
More information about the users
mailing list