COMPILATION
September 21, 2025 ยท View on GitHub
MLTERM - Multi Lingual TERMinal emulator
COMPILATION
make
Options for configure
--prefix Installation prefix
--disable-dl-table Disable dynamic loading of character mapping or property table, which is statically linked to libmef.
--without-map-table Remove character mapping table
--without-prop-table Remove unicode character property table
--with-iconv Use iconv to convert between different character sets. (If --with-iconv is specified, --disable-dl-table is the default.)
--with-gui=(xlib|win32|fb|quartz|console|wayland|sdl2|beos) Use specified gui library See "Supported platforms" below.
--with-imagelib=(gdk-pixbuf) Link specified image library to mlterm for image processing. Note that this option is not necessary for image processing, because mlimgloader (see --with-tools) processes images instead and passes them to mlterm. This option is recommended only if you build libvte which depends on gdk-pixbuf anyway. (Imlib is not supported since mlterm 3.0.2)
--with-libltdl Load modules with libltdl
--with-type-engines=(xcore|xft|cairo) Use specified type engines for rendering text. xcore is possible to disable only when --with-type-engines=(except xcore) is specified with --disable-dl-type option.
--disable-anti-alias Same as --with-type-engines=xcore on xlib. (--enable-anti-alias is the same as --with-type-engines=xcore,xft,cairo) This option is ignored if --with-type-engines is specified on xlib.
Disable truetype fonts on framebuffer or wayland.
--disable-fontconfig Disable fontconfig (use ~/.mlterm/*aafont) on framebuffer or wayland.
--disable-dl-type Disable dynamic loading of type engine modules, which are statically linked to mlterm.
--disable-fribidi Disable BiDi rendering (see https://github.com/arakiken/mlterm/blob/master/doc/en/README.bidi)
--disable-ind Use libind for Indic rendering (see https://github.com/arakiken/mlterm/blob/master/doc/en/README.indic)
--disable-dl-ctl Disable dynamic loading of BiDi and Indic rendering modules, which are statically linked to mlterm.
--disable-ssh2 Disable to connect ssh2 server. If enabled, libssh2 (https://www.libssh2.org) is used to connect ssh2 server. (Usage: mlterm(mlclient) --serv ssh://user@xxx.xxx.xxx) If you want to use camellia as common key cryptography or SSH agent forwarding, install alternative libssh2 of camellia-agentfwd branch at https://github.com/arakiken/libssh2/archive/camellia-agentfwd.zip (see https://github.com/arakiken/mlterm/blob/master/doc/en/README.ssh and https://github.com/arakiken/mlterm/blob/master/doc/en/README.transfer)
--with-mosh=(mosh source directory) Enable mosh and specify its source directory, where ./configure script should be executed in advance. This option is available only if libssh2 is enabled. Don't distribute libptymosh in binary format. (see see https://github.com/arakiken/mlterm/blob/master/doc/en/README.mosh)
--without-pthread Don't depend on pthread for secure copy (scp) over ssh. (Furthermore, don't link libpthread to mlterm in NetBSD even if --enable-ibus or --with-type-engines=cairo is specified.)
--enable-debug Build debug version
--enable-optimize-redrawing Optimize redrawing a line
--with-scrollbars Build specified scrollbars in scrollbar/ and contrib/scrollbar/ directories
--with-tools Build specified tools in tool/ and contrib/tool/ directories mlimgloader is automatically added unless --disable-image or --with-imagelib is specified. registobmp is necessary to process ReGIS.
--disable-use-tools Don't build and use external tools. If this option is specified, --with-tools option is ignored.
--disable-dnd Disable XDnD
--disable-kbd Disable kbd input method which converts US keyboard characters to other keyboard layouts such as arabic and hebrew.
--disable-iiimf Disaable IIIMF (Internet/Intranet Input Method Framework)
--disable-uim Disable uim (Universal? Input Method)
--disable-m17nlib Disable m17n library
--disable-scim Disable SCIM (Smart Common Input Method platform)
--disable-ibus Disable iBUS (Intelligent Input Bus)
--disable-fcitx Disable Fcitx If Fcitx is enabled, fcitx-gclient or Fcitx5GClient is necessary.
--disable-canna Disable Canna
--disable-wnn Disable Freewnn
--disable-skk Disable SKK
--enable-pty-helper Support gnome-pty-helper. (Note that it is impossible to enable gnome-pty-helper in BSD style pty system and that gnome-pty-helper must be placed at ${libexecdir}/mlterm directory.)
--with-gtk=(2.0|3.0|4.0) Use specified version of GTK+ The default is 3.0.
--enable-vt52 Support vt52 emulation
--disable-image Disable wall picture, icon picture, pseudo transparency and sixel graphics.
--disable-otl Disable Open Type Layout with the use of harfbuzz or libotf.
--enable-brlapi Enable brltty with the use of brlapi library. (Experimental) (see https://github.com/arakiken/mlterm/blob/master/doc/en/README.brltty)
--enable-utmp-suid Install mlterm binary with root setuid or utmp setgid to access to utmp database directly. The default is disabled.
--with-utmp=(utempter|sysv|login|bsd|none) Specify the way of reading from or writing to utmp database.
--disable-daemon Disable daemon mode
--disable-split Disable to split screen except on MacOSX/Cocoa and HaikuOS.
--disable-zmodem Disable zmodem (see https://github.com/arakiken/mlterm/blob/master/doc/en/README.transfer)
--disable-compact-truecolor Disable to reuse 240 palettes in displaying true color. Disabling this option supports true color completely, but sizeof(vt_char_t) is changed from 8 bytes to 12 bytes.
--disable-shared Disable shared libraries
--disable-static Disable static libraries
If you want to minimize mlterm binary, execute configure with following options.
--without-map-table --without-prop-table --disable-image --disable-dl-ctl
--disable-fribidi --disable-dl-type --disable-otl
--disable-ssh2 --with-utmp=none --disable-dnd --disable-kbd --disable-uim
--disable-m17nlib --disable-ibus --disable-fcitx --disable-scim --disable-canna
--disable-wnn --disable-skk --disable-iiimf --disable-ind --with-type-engines=xcore
--disable-anti-alias --disable-fontconfig --disable-daemon --disable-split
--disable-zmodem --disable-compact-truecolor (--disable-shared)
What you need for compilation
gdk-pixbuf (2.0.1 or higher) or libpng (1.6 or later) for background image.
Gtk+ (2.x 3.x 4.x) for GUI configurator "mlconfig".
Gtk+ (2.x 3.x) for GUI configurator "mlterm-menu".
Gtk+ (2.x 3.x 4.x) for libvte compatible library. (see gtk/README)
Fribidi (0.9.0 - ?) for Bidi.
Harfbuzz for indic scripts.
libssh2 (https://www.libssh2.org) for ssh2 client and scp. (If you want to use camellia as common key cryptography or SSH agent forwarding, install alternative libssh2 of camellia-agentfwd branch at https://github.com/arakiken/libssh2/archive/camellia-agentfwd.zip)
Compilation of library based on mlterm
vte compatible library
$ make vte (see https://github.com/arakiken/mlterm/blob/master/gtk/README)
libvterm compatible library
$ make vterm (see https://github.com/arakiken/mlterm/blob/master/libvterm/README)
Supported platforms
Platforms tested by developers.
- NetBSD 3.0.1 / X (x86)
- NetBSD teokure 9.0 / X, frmebuffer (x86)
- NetBSD 5.2 / framebuffer (hpcmips)
- NetBSD 9.0 / framebuffer (xm6g 3.31L15)
- OpenSolaris 2009.06 / X (CC=cc) (x86)
- Solaris 11.1 / X (x86)
- Arch Linux / X, framebuffer, wayland, SDL2 (x86)
- CentOS 5 / X (x86)
- FreeBSD 9.0 / framebuffer (x86)
- FreeBSD 2.2.9 / X (x86)
- FreeBSD(98) 4.11 / framebuffer (np21w ver.0.86 rev.92)
- OpenBSD 5.3 / framebuffer (x86)
- MS Windows 10 + Cygwin 3.5.7 / GDI, SDL2 (CC=gcc, CC="i686-pc-mingw32-gcc") (x86)
- MS Windows 11 + MSYS2 3.5.7 / GDI (x86)
- MacOSX 10.6.8 / X, Cocoa, SDL2 (x86)
- MacOSX 10.8.5 / X, Cocoa, SDL2 (x86)
- iOS Simulator 4.3 / CocoaTouch (x86)
- iOS Simulator 7.1 / CocoaTouch (x86)
- Android 4.0 (x86)
- Android 9.0 (x86)
- Java 1.8.0 / SWT (x86)
- Haiku R1 Beta5 / Interface Kit, SDL2 (x86)
See README.fb, README.win32, README.android, README.cocoa, README.cocoatouch, README.console, README.wayland, README.sdl2 and README.beos in https://github.com/arakiken/mlterm/blob/master/doc/en and README in https://github.com/arakiken/mlterm/blob/master/java in detail.
USAGE
$ mlterm
Read the manpage (and documentations in mlterm-x.x.x/doc/{ja,en}) for detail. See ~/.mlterm/msg.log on error.
CONTACT
Subscribe mlterm-dev-en ML (https://lists.sourceforge.net/lists/listinfo/mlterm-dev-en).
COPYRIGHT AND LICENSE
Modified BSD-style license. See LICENCE file for detail.