@node Building ECL @section Building ECL Due to its portable nature ECL works on every (at least) 32-bit architecture which provides a proper C99 compliant compiler. Operating systems on which ECL is reported to work: Linux, Darwin (Mac OS X), Solaris, FreeBSD, NetBSD, OpenBSD, DragonFly BSD, Windows and Android. On each of them ECL supports native threads. In the past Juanjo José García-Ripoll maintained a test farm which performed ECL tests for each release on number of platforms and architectures. Due to lack of the resources we can't afford such doing, however each release is tested by volunteers with an excellent package @uref{https://common-lisp.net/project/cl-test-grid,cl-test-grid} created and maintained by Anton Vodonosov. @subsection Autoconf based configuration ECL, like many other FOSS programs, can be built and installed with a GNU tool called Autoconf. This is a set of automatically generated scripts that detect the features of your machine, such as the compiler type, existing libraries, desired installation path, and configures ECL accordingly. The following procedure describes how to build ECL using this procedure and it applies to all platforms except for the Windows ports using Microsoft Visual Studio compilers (however you may build ECL with cygwin or mingw using the autoconf as described here). To build @ecl{} you need to @enumerate @item Extract the source code and enter it's directory @example $ tar -xf ecl-xx.x.x.tgz $ cd ecl-xx.x.x @end example @item Run the configuration file, build the program and install it @example $ ./configure --prefix=/usr/local $ make # -jX if you have X cores $ make install @end example @item Make sure the program is installed and ready to run: @example $ /usr/local/bin/ecl ECL (Embeddable Common-Lisp) 16.0.0 Copyright (C) 1984 Taiichi Yuasa and Masami Hagiya Copyright (C) 1993 Giuseppe Attardi Copyright (C) 2000 Juan J. Garcia-Ripoll Copyright (C) 2015 Daniel Kochmanski ECL is free software, and you are welcome to redistribute it under certain conditions; see file 'Copyright' for details. Type :h for Help. Top level in: #. > @end example @end enumerate @subsection Platform specific instructions @subsubsection MSVC based configuration If you have a commercial version of Microsoft Visual Studio, the steps are simple: @enumerate @item Change to the msvc directory. @item Run nmake to build ECL. @item Run nmake install prefix=d:\Software\ECL where the prefix is the directory where you want to install ECL. @item Optionally, if you want to build a self-installing executable, you can install NSIS and run nmake windows-nsi. @end enumerate If you want to build ECL using the free Microsoft Visual Studio Express 2013 or better, you should follow these before building ECL as sketched before: @enumerate @item Download and install Microsoft Visual Studio C++ Compiler. @item Download and install the Windows SDK @item Open the Windows SDK terminal, which will set up the appropriate paths and environment variables. @end enumerate @c @node BSD systems @c @subsubsection BSD systems @c @node Android @c @subsubsection Android