Compiling a module
If you have the source code for a module, there are multiple ways to compile it.
If you still have ZNC's source around, compiling a new module is a really simple thing to do.
- Save the module in the module dir in your ZNC source tree. The filename should be <modulename>.cpp. You can choose pretty much any name for the module.
- Run make (or gmake). The new module will be found and built.
- If you installed ZNC using (g)make install, you can just run that command again and you are done.
- Else you now have <modulename>.so in your modules directory. This is the module
If you don't have ZNC's source around, but installed it (or installed from your distribution's package manager), you don't have to worry. There is a tool called znc-buildmod.
- Save the module's source somewhere. Use <modulename>.cpp as the file name.
- Now you have <modulename>.so in your current directory. This is the module.
znc-buildmod is installed to the same directory to which
znc is installed, so you might have to change into that directory and use
If you really want to use znc-config directly, do this:
PATH=$PATH:~/<ZNC's prefix>/bin g++ `znc-config --cflags` `znc-config --include` `znc-config --libs` -shared -o <modulename>.so <modulename>.cpp
You need the full path to znc-config again, or you can add that path to your $PATH environment variable.
You now have <modulename>.so and can proceed.
Installing a module
So once you got <modulename>.so, what should you do with this file? The easiest solution is moving or copying that file to ~/.znc/modules. If you use a different datadir than ~/.znc, move it there in the modules directory. If you don't know what a datadir is, just use ~/.znc/modules.
If you upgrade your ZNC version you must recompile all your modules.