Atoms compilation chain
for general information on Scilab extension modules (toolboxes), see howto/Create a toolbox
AtomsCC is a command-line tool to compile and release toolboxes to the ATOMS website (http://atoms.scilab.org). It is available on the Scilab forge at http://forge.scilab.org/index.php/p/atomscc/
As of April 2016, AtomsCC is still under development, and is not publicly available; please contact Scilab Enterprises for details.
If you publish your toolbox to ATOMS, you should build it using AtomsCC.
To run AtomsCC, you need to install:
Perl. On linux and Mac, the one installed on the system should work; on Windows, you will need to install it (ActivePerl may some minor problems with subprocesses and I/O but is usable, Cygwin version should be fine).
The version of Scilab you build on. On linux, it must be installed in the home directory of the current user; on Windows or Mac, it expects Scilab in the standard installation location (C:\Program files\ or /Applications respectively). WARNING: During the build, all toolboxes installed on your installation of Scilab (user and global) will be removed (erased). So, do not use AtomsCC on a machine where you have installed many toolboxes you rely on...
The latest code for AtomsCC, from here as a zip, or from git. Unzip it and from a command-line run:
perl build.pl --help
to see the available options.
By default, AtomsCC gets the sources for the toolbox to compile from the Atoms website. Alternatively, you can force it to use a local .zip of the file by specifying the --sources option. The build is produced in the work/binaries folder.
Once your toolbox builds correctly, you can re-run the script with the --publish option, and the --login and --password options: it will upload your file to Atoms.
If your toolbox contains gateways (C/C++ code), then you will have a warning and you must build it on each platform (win32, win64, linux32, linux64, macosx). Please Scilab Enterprises, we can build them for you.
Some details on the ''check'' stage
Approximatively, these checks are performed:
- All files must be in a root directory, which name is the same as the toolbox name
- etc/mytoolbox.start, etc/mytoolbox.quit, DESCRIPTION, and builder.sce must exist
- readme.txt, license.txt and changelog.txt should exist (issues a warning if they don't)
- macros/ must contain only .sci and .sce files. If it exists and is non-empty, it must contains buildmacros.sce (loadmacros.sce ?)
- all fortran files must be in src/fortran. All c files must be in src/c or sci_gateway/{c,fortran}.
- if src/c contains at least a .c file, src/c/builder_c.sce must exists.
- if src/fortran contains at least a .f file, src/fortran/builder_fortran.sce must exists.
- if src/*/build_*.sce exists, src/builder_src.sce must exists
- if sci_gateway/c contains at least a .c file, sci_gateway/c/builder_gateway_c.sce must exists.
- if sci_gateway/fortran contains at least a .c file, sci_gateway/fortran/builder_gateway_fortran.sce must exists.
- if sci_gateway/*/builder_gateway_*.sce exists, sci_gateway/builder_gateway.sce must exists
- if help/xx_XX contains .xml files, it must contains build_help.sce, addchapter.sce and help/builder_help.sce must exist
- DESCRIPTION and DESCRIPTION-FUNCTIONS must be syntaxically correct