mirror of
https://gitlab.com/embeddable-common-lisp/ecl.git
synced 2026-01-18 23:32:17 -08:00
76 lines
2.7 KiB
Text
76 lines
2.7 KiB
Text
You will find detailed installation instructions in the ECL manual
|
||
https://common-lisp.net/project/ecl/manual/pr01s06.html
|
||
If you do not have access to the online version, follow the following recipies.
|
||
|
||
* Unix and similar platforms.
|
||
1. Type
|
||
./configure --help
|
||
to get a list of the flags with which ECL can be configured.
|
||
2. Enter
|
||
./configure ...
|
||
where "..." is the set of flags you have chosen.
|
||
3. Use "make" followed by "make install" to build and install ECL.
|
||
|
||
* Windows with Visual Studio C++ 2008
|
||
1. Enter the msvc directory
|
||
2. Read the file Makefile to find the configuration options. They
|
||
typically have the form ECL_UNICODE=1, ECL_THREADS=1, etc
|
||
3. Enter
|
||
nmake ...
|
||
followed by zero or more of those options
|
||
4. Use "nmake install" to create a directory called "package" with ECL in it.
|
||
5. Move that directory wherever you need.
|
||
|
||
* Cross-compile for the android platform (from the UNIX machine)
|
||
1. Build the host ECL
|
||
#+BEGIN_SRC shell-script
|
||
./configure ABI=32 CFLAGS="-m32 -g -O2" LDFLAGS="-m32 -g -O2" \
|
||
--prefix=`pwd`/ecl-android-host \
|
||
--disable-longdouble \
|
||
--enable-libatomic=included
|
||
make -j9
|
||
make install
|
||
rm -r build
|
||
export ECL_TO_RUN=`pwd`/ecl-android-host/bin/ecl
|
||
#+END_SRC
|
||
2. Build the toolchain (requires android-ndk) and export the necessary
|
||
paths - if you have a toolchain for the android just export it's
|
||
bin/ directory
|
||
#+BEGIN_SRC shell-script
|
||
export PLATFORM_PREFIX=/opt/toolchains/android-ndk/
|
||
export NDK_PATH=/opt/android-ndk/
|
||
export NDK_PLATFORM=android-4
|
||
|
||
mkdir ${PLATFORM_PREFIX}
|
||
${NDK_PATH}/build/tools/make-standalone-toolchain.sh \
|
||
--platform=${NDK_PLATFORM} \
|
||
--install-dir=${PLATFORM_PREFIX} \
|
||
--arch=arm
|
||
|
||
export PATH=${PLATFORM_PREFIX}/bin:${PATH}
|
||
#+END_SRC
|
||
3. Build and install the target library
|
||
#+BEGIN_SRC shell-script
|
||
./configure --host=arm-linux-androideabi \
|
||
--prefix=`pwd`/ecl-android \
|
||
--with-cross-config=`pwd`/src/util/android.cross_config \
|
||
--disable-soname
|
||
make -j9
|
||
make install
|
||
#+END_SRC
|
||
4. Library and assets in the ecl-android directory are ready to run on
|
||
the Android system.
|
||
|
||
** Building ecl-android on Darwin (OSX)
|
||
If your host platform is darwin, then the host compiler should be
|
||
built with the Apple's GCC (not the GCC from Macports). Using the
|
||
MacPort command:
|
||
#+BEGIN_SRC shell-script
|
||
sudo port select --set gcc none
|
||
#+END_SRC
|
||
|
||
Also there is a problem with `NM` binary – please consult
|
||
https://gitlab.com/embeddable-common-lisp/ecl/issues/228 .
|
||
for temporary fix. This should be fixed soon.
|
||
|
||
Hint provided by Pascal J. Bourguignon.
|