The oxspkg command is used to manage optional Oxs extension packages. Each package is stored in a separate directory under oommf/app/oxs/contrib/. These packages can be “installed” and “uninstalled” to and from the oommf/app/oxs/local/ directory by the oxspkg command. The install is a simple copy that does not automatically build the package or link it into the Oxs executable—a separate invocation of pimake is needed for that.
Launching
The oxspkg launch command is:
tclsh oommf.tcl oxspkg list
tclsh oommf.tcl oxspkg listfiles pkg [pkg ...]
tclsh oommf.tcl oxspkg readme pkg [pkg ...]
tclsh oommf.tcl oxspkg requires pkg [pkg ...]
tclsh oommf.tcl oxspkg install [-v] [-nopatch] pkg [pkg ...]
tclsh oommf.tcl oxspkg uninstall [-f] pkg [pkg ...]
tclsh oommf.tcl oxspkg copyout pkg [pkg ...] destination
$config SetValue program_compiler_extra_include_dirs ... $config SetValue program_linker_extra_lib_dirs ...settings in the platform configuration file. There may be additional installation information in the package README file.
tclsh oommf.tcl pimake distclean
to delete the distributed binaries before running
tclsh oommf.tcl pimake
to create a new build of OOMMF. This
ensures new extension binaries are compatible with the rest of
the OOMMF install.
For third-party packages included in OOMMF distributions, the contents of the directory oommf/app/oxs/contrib/<pkg>/ will mirror some release of the package from the official source of the package. If those files don't build properly with the OOMMF distribution, then a patch file will be included in the parent oommf/app/oxs/contrib/ directory. Normally that patch file (if any) is automatically applied as part of the installation procedure. The -nopatch option skips the patch step. If there are no patches for a particular package, then the message No patches found will be reported during the install process.
The -v option requests more verbose output.
diff -ru <pkg>/ destination/<pkg>/ > <pkg>-<date>.patchfor each package to create an updated patch. Here diff is the unix-compatible file comparison utility. If the destination directory is in oommf/app/oxs/contrib/, then name it either tmp, new, or newcontrib to prevent oxspkg from treating it as a new package directory.