To create new wiki account, please join us on #znc at Libera.Chat and ask admins to create a wiki account for you. You can say thanks to spambots for this inconvenience.

Compiling modules

From ZNC
Revision as of 11:04, 17 December 2011 by DarthGandalf (talk | contribs) (Created page with "{{Languages}} == Compiling a module == If you have the source code for a module, there are multiple ways to compile it. === make === If you still have ZNC's source aroun...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Compiling a module

If you have the source code for a module, there are multiple ways to compile it.

make

If you still have ZNC's source around, compiling a new module is a really simple thing to do.

  1. 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.
  2. Run make (or gmake). The new module will be found and built.
    1. If you installed ZNC using (g)make install, you can just run that command again and you are done.
    2. Else you now have <modulename>.so in your modules directory. This is the module

znc-buildmod

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.

  1. Save the module's source somewhere. Use <modulename>.cpp as the file name.
  2. Run
    znc-buildmod <modulename>.cpp
  3. 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 ./znc-buildmod <modulename>.cpp.

znc-config

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.