ecl/INSTALL
Daniel Kochmański 4fcf48926b INSTALL: add darwin notes
Add troubleshoting for Darwin (nm and gcc). Fixes #245.
2016-05-24 21:15:41 +02:00

76 lines
2.7 KiB
Text
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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.