diff options
Diffstat (limited to 'INSTALL')
-rw-r--r-- | INSTALL | 154 |
1 files changed, 154 insertions, 0 deletions
@@ -0,0 +1,154 @@ + + Irssi installation instructions + ------------------------------- + +To compile Irssi you need: + +- meson-0.49 build system with ninja-1.5 or greater +- glib-2.32 or greater +- openssl (for ssl support) +- perl-5.8 or greater (for building, and optionally Perl scripts) +- terminfo or ncurses (for text frontend) + +For most people, this should work just fine: + + meson Build + ninja -C Build + su + ninja -C Build install + +For the moment, autotools is also supported: + + ./autogen.sh (for people who just cloned the repository) + ./configure (if this script already exists, skip ./autogen.sh) + make + su + make install (not _really_ required except for perl support) + +configure options + + These options can be given to meson or ./configure. + The first syntax is for meson, the 2nd for ./configure + + For a complete list of options, run + meson configure / ./configure --help + + --prefix + + Specifies the path where Irssi will be installed. + YES, you can install Irssi WITHOUT ROOT permissions + by using --prefix=/home/dir + + -Dwith-proxy=yes / --with-proxy + + Build the Irssi proxy (see startup-HOWTO). + + -Dwith-perl=[yes|no] / --with-perl=[yes|no|module] + + Enable Perl support + yes enable builtin (default) + no disable + module enable as module + + -Dwith-perl-lib=[site|vendor|DIR] / --with-perl-lib=[site|vendor|DIR] + + Specify installation dir for Perl libraries + site install in dir for site-specific modules (default) + vendor install in dir for vendor-specific modules + DIR install in DIR + + [N/A] / --with-socks + + Build with socks library + + -Dwith-bot=yes / --with-bot + + Build irssi-bot + + -Dwithout-textui=yes / --without-textui + + Build without text frontend + +If anything is in non-standard path, you can just give the paths in +the -Dc_args and -Dc_link_args options variable, eg.: + + meson Build -Dc_args='-I/opt/openssl/include' -Dc_link_args='-L/opt/openssl/lib' + + + + Perl problems + ------------- + +Perl support generates most of the problems. There's quite a many +things that can go wrong: + + - Compiling fails if you compile irssi with GCC in a system that has + perl compiled with some other C compiler. Very common problem with + non-Linux/BSD systems. You'll need to edit src/perl/*/Makefile files + and remove the parameters that gcc doesn't like. Mostly you'll just + need to keep the -I and -D parameters and add -fPIC. + - If there's any weird crashing at startup, you might have older irssi's + perl libraries installed somewhere, and you should remove those. + - Dynamic libraries don't want to work with some systems, so if your + system complains about some missing symbol in Irssi.so file, configure + irssi with --with-perl-staticlib option (NOT same as --with-perl=static). + - If configure complains that it doesn't find some perl stuff, you're + probably missing libperl.so or libperl.a. In debian, you'll need to do + apt-get install libperl-dev + - For unprivileged home directory installations, you probably do not want + to specify --with-perl-lib=(site|vendor). Instead, you can use the + default perl installation target (below the irssi prefix). If you are + using local::lib you can also choose to install there by specifying + --with-perl-lib=$PERL_LOCAL_LIB_ROOT/lib/perl5 + +You can verify that the perl module is loaded and working with "/LOAD" +command. It should print something like: + +Module Type Submodules +... +perl static core fe + + + System specific notes + --------------------- + + Android + +When cross compiling Irssi for Android, you can specify the path of +the cross-perl in the cross file. + +You may not have a cross-perl available. In that case, you will have +to manually supply the required Perl arguments in the cross file. See +the commented properties in the example cross file. + +An example cross file can be found in the docs folder. To use it, you +would call: + + meson Build --cross-file cross-android-aarch64.txt \ + --prefix /data/data/com.termux/files/usr \ + --libdir lib \ + -Dfhs-prefix=/data/data/com.termux/files/usr \ + + + Cygwin + +Getting perl scripting to work needs a few things: + + - configure with --with-perl-staticlib + + - libperl.dll is required in linking and running irssi, it's normally + located somewhere around /usr/lib/perl5/5.6.1/cygwin/CORE/libperl5_6_1.dll + copy it to eg. /usr/bin/libperl.dll + + - -DUSEIMPORTLIB is needed to be defined while compiling src/perl directory. + It doesn't hurt to be defined everywhere, so configure irssi with: + + CFLAGS='-DUSEIMPORTLIB' ./configure --with-perl-staticlib + + + Apple MacOS / Darwin + +At the time of writing, meson has an open issue with correctly linking +libraries on macos. + +See docs/meson-macos-ar.txt for a workaround. |