| <!--#include virtual="header.txt"--> |
| |
| <h1>Adding Files or Plugins to Slurm</h1> |
| |
| <h2 id="file">Adding a File to Slurm<a class="slurm_link" href="#file"></a></h2> |
| |
| <p>This is the procedure to follow in order to add a new C file to the Slurm |
| code base. We recommend using a git branch for this purpose.</p> |
| |
| <ol> |
| <li>Add your new file to the git repository.</li> |
| |
| <li>Modify the "Makefile.am" file in the file's parent directory.</li> |
| |
| <li>Execute "autoreconf" in Slurm's top level directory. |
| If you have older versions of the autoconf, automake, libtool or aclocal then |
| you may need to manually modify the Makefile.in file in the file's parent |
| directory. If you have different versions of the files than were originally |
| used by the Slurm team, this may rebuild all of the Makefile.in files in Slurm.</li> |
| </ol> |
| |
| <h2 id="plugin">Adding a Plugin to Slurm |
| <a class="slurm_link" href="#plugin"></a> |
| </h2> |
| |
| <p>This is the procedure to follow in order to add a new plugin to the Slurm |
| code base. We recommend using a git branch for this purpose. In this example, |
| we show which files would need to be modified in order to add a plugin named |
| "topology/4d_torus".</p> |
| |
| <ol> |
| <li>Create a new directory for this plugin |
| (e.g. "src/plugins/topology/4d_torus").</li> |
| |
| <li>Add this new directory to its parent directory's "Makefile.am" file |
| (e.g. "src/plugins/topology/Makefile.am").</li> |
| |
| <li>Put your new file(s) in the appropriate directory |
| (e.g. "src/plugins/topology/4d_torus/topology_4d_torus.c"). </li> |
| |
| <li>Create a "Makefile.am" file in the new directory identifying the new file(s) |
| (e.g. "src/plugins/topology/4d_torus/Makefile.am"). Use an existing "Makefile.am" |
| file as a model.</li> |
| |
| <li>Identify the new Makefile to be built at Slurm configure time in the file |
| "configure.ac". Please maintain the alphabetic ordering of entries.</li> |
| |
| <li>Execute "autoreconf" in Slurm's top level directory. |
| If you have older versions of the autoconf, automake, libtool or aclocal then |
| you may need to manually create or modify the Makefile.in files. |
| If you have different versions of the files than were originally used by the |
| Slurm team, this may rebuild all of the Makefile.in files in Slurm.</li> |
| |
| <li>Modify the "slurm.spec" file to include the new plugin file in an |
| appropriate RPM.</li> |
| |
| <li>Add the new files, including "Makefile.am" and "Makefile.in", to the git |
| repository.</li> |
| </ol> |
| |
| <p style="text-align:center;">Last modified 27 February 2019</p> |
| |
| <!--#include virtual="footer.txt"--> |