INSTALL: add darwin notes
Add troubleshoting for Darwin (nm and gcc). Fixes #245.
This commit is contained in:
parent
f288f8b077
commit
4fcf48926b
1 changed files with 55 additions and 41 deletions
96
INSTALL
96
INSTALL
|
|
@ -3,27 +3,27 @@ You will find detailed installation instructions in the ECL manual
|
|||
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.
|
||||
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
|
||||
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
|
||||
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 \
|
||||
|
|
@ -32,31 +32,45 @@ If you do not have access to the online version, follow the following recipies.
|
|||
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
|
||||
#+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
|
||||
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.
|
||||
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.
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue