| Roger Meier | e9f00cb | 2014-05-30 14:35:34 +0200 | [diff] [blame] | 1 | |
| 2 | ## Basic requirements |
| 3 | * A relatively POSIX-compliant *NIX system |
| Jens Geyer | b26c0b8 | 2015-05-19 23:53:36 +0200 | [diff] [blame] | 4 | * Cygwin or MinGW can be used on Windows (but there are better options, see below) |
| Roger Meier | e9f00cb | 2014-05-30 14:35:34 +0200 | [diff] [blame] | 5 | * g++ 4.2 |
| James E. King III | ee8caca | 2019-05-04 08:20:59 -0400 | [diff] [blame] | 6 | * boost 1.56.0 |
| Roger Meier | e9f00cb | 2014-05-30 14:35:34 +0200 | [diff] [blame] | 7 | * Runtime libraries for lex and yacc might be needed for the compiler. |
| 8 | |
| 9 | ## Requirements for building from source |
| Jiayu Liu | 92b007f | 2022-10-14 13:16:18 +0800 | [diff] [blame] | 10 | * GNU build tools: |
| Roger Meier | e9f00cb | 2014-05-30 14:35:34 +0200 | [diff] [blame] | 11 | * autoconf 2.65 |
| Roger Meier | 81a1f99 | 2014-10-22 14:09:43 +0200 | [diff] [blame] | 12 | * automake 1.13 |
| Roger Meier | e9f00cb | 2014-05-30 14:35:34 +0200 | [diff] [blame] | 13 | * libtool 1.5.24 |
| 14 | * pkg-config autoconf macros (pkg.m4) |
| 15 | * lex and yacc (developed primarily with flex and bison) |
| 16 | * libssl-dev |
| 17 | |
| Jens Geyer | b26c0b8 | 2015-05-19 23:53:36 +0200 | [diff] [blame] | 18 | ## Requirements for building the compiler from source on Windows |
| 19 | * Visual Studio C++ |
| 20 | * Flex and Bison (e.g. the WinFlexBison package) |
| 21 | |
| Roger Meier | e9f00cb | 2014-05-30 14:35:34 +0200 | [diff] [blame] | 22 | ## Language requirements |
| 23 | These are only required if you choose to build the libraries for the given language |
| 24 | |
| 25 | * C++ |
| James E. King III | ee8caca | 2019-05-04 08:20:59 -0400 | [diff] [blame] | 26 | * Boost 1.56.0 |
| Roger Meier | e9f00cb | 2014-05-30 14:35:34 +0200 | [diff] [blame] | 27 | * libevent (optional, to build the nonblocking server) |
| 28 | * zlib (optional) |
| Zezeng Wang | b416ffa | 2020-04-27 15:18:26 +0800 | [diff] [blame] | 29 | * Qt (optional) |
| Roger Meier | e9f00cb | 2014-05-30 14:35:34 +0200 | [diff] [blame] | 30 | * Java |
| Jiayu Liu | be73a57 | 2023-04-14 11:02:43 +0800 | [diff] [blame] | 31 | * Java 17 (latest LTS) |
| Jiayu Liu | d40dd72 | 2023-10-19 08:37:49 +0800 | [diff] [blame] | 32 | * Gradle 8.4 |
| Roger Meier | e9f00cb | 2014-05-30 14:35:34 +0200 | [diff] [blame] | 33 | * C#: Mono 1.2.4 (and pkg-config to detect it) or Visual Studio 2005+ |
| 34 | * Python 2.6 (including header files for extension modules) |
| vladimir.panivko | f692702 | 2024-02-24 17:12:10 +0100 | [diff] [blame] | 35 | * PHP 7.1 (optionally including header files for extension modules) |
| Roger Meier | e9f00cb | 2014-05-30 14:35:34 +0200 | [diff] [blame] | 36 | * Ruby 1.8 |
| 37 | * bundler gem |
| 38 | * Erlang R12 (R11 works but not recommended) |
| 39 | * Perl 5 |
| 40 | * Bit::Vector |
| 41 | * Class::Accessor |
| Jens Geyer | b26c0b8 | 2015-05-19 23:53:36 +0200 | [diff] [blame] | 42 | * Haxe 3.1.3 |
| taozle | c0d384a | 2017-07-17 18:40:42 +0200 | [diff] [blame] | 43 | * Go 1.4 |
| Jens Geyer | b26c0b8 | 2015-05-19 23:53:36 +0200 | [diff] [blame] | 44 | * Delphi 2010 |