diff --git a/INSTALL b/INSTALL index b107dc2ac..9f20ca6f2 100644 --- a/INSTALL +++ b/INSTALL @@ -50,15 +50,7 @@ If you do not have access to the online version, follow the following recipies. * Cross-compile for the iOS platform (needs Xcode 11 or higher) -1. Build the host ECL - #+BEGIN_SRC shell-script - ./configure CFLAGS="-DECL_C_COMPATIBLE_VARIADIC_DISPATCH" --prefix=`pwd`/ecl-iOS-host --disable-c99complex - make -j9 - make install - rm -r build - export ECL_TO_RUN=`pwd`/ecl-iOS-host/bin/ecl - #+END_SRC -2. Configure the toolchain +1. Configure the toolchain #+BEGIN_SRC shell-script export IOS_VERSION_MIN="8.0" export IOS_SDK_DIR="`xcode-select --print-path`/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/" @@ -75,10 +67,11 @@ If you do not have access to the online version, follow the following recipies. export LDFLAGS="-arch arm64 -pipe -std=c99 -gdwarf-2 -isysroot ${IOS_SDK_DIR}" export LIBS="-framework Foundation" #+END_SRC -3. Build and install the target library +2. Build and install the target library #+BEGIN_SRC shell-script export CFLAGS="$CFLAGS -DGC_DISABLE_INCREMENTAL -DECL_RWLOCK" export CXXFLAGS="$CFLAGS" + export ECL_TO_RUN=/usr/local/bin/ecl ./configure --host=aarch64-apple-darwin \ --prefix=`pwd`/ecl-iOS \ --disable-c99complex \ @@ -87,7 +80,7 @@ If you do not have access to the online version, follow the following recipies. make -j9 make install #+END_SRC -4. Library and assets in the ecl-iOS directory are ready to run on +3. Library and assets in the ecl-iOS directory are ready to run on the iOS system. * Cross-compile for the WASM platform (via emscripten) @@ -118,17 +111,7 @@ Emscripten target is a little fickle so keep in mind that: garbage collector to work correctly and tend slow down the program (might be worth experimenting with the optimization options) -1. Build the host ECL - -#+begin_src shell-script - ./configure ABI=32 CFLAGS="-m32 -g -O2 -DECL_C_COMPATIBLE_VARIADIC_DISPATCH" LDFLAGS="-m32 -g -O2" \ - --prefix=`pwd`/ecl-emscripten-host --disable-threads - - make -j16 && make install - rm -rf build/ -#+end_src - -2. Configure the toolchain +1. Configure the toolchain Install the Emscripten SDK using the official instructions: @@ -141,14 +124,14 @@ After that activate the toolchain and configure build flags: #+begin_src shell-script source ${EMSDK_PATH}/emsdk_env.sh - export ECL_TO_RUN=`pwd`/ecl-emscripten-host/bin/ecl # You may customize various emscripten flags here, i.e: # export LDFLAGS="-sASYNCIFY=1" #+end_src -3. Build the core environment and install it +2. Build the core environment and install it #+begin_src shell-script + export ECL_TO_RUN=/usr/local/bin/ecl emconfigure ./configure \ --host=wasm32-unknown-emscripten \ --build=x86_64-pc-linux-gnu \ @@ -164,7 +147,7 @@ After that activate the toolchain and configure build flags: cp build/bin/ecl.js build/bin/ecl.wasm ecl-emscripten/ #+end_src -4. ECL may be hosted on a web page. Assuming that you have quicklisp installed: +3. ECL may be hosted on a web page. Assuming that you have quicklisp installed: #+begin_src shell-script export WEBSERVER=`pwd`/src/util/webserver.lisp @@ -178,7 +161,7 @@ After that activate the toolchain and configure build flags: If the output does not show on the webpage then open the javascript console. This is a default html website produced by emscripten. -5. Build an external program linked against libecl.a +4. Build an external program linked against libecl.a The default stack size proposed by emscripten is 64KB. This is too little for ECL, so when you build a program that is linked against libecl.a, then it is diff --git a/src/doc/manual/user-guide/building.txi b/src/doc/manual/user-guide/building.txi index ca21127d4..b87db4742 100644 --- a/src/doc/manual/user-guide/building.txi +++ b/src/doc/manual/user-guide/building.txi @@ -157,14 +157,9 @@ and are ready to run on the Android system. The cross-compilation steps for iOS are similar to those for Android. -Build the host ECL: @example @verbatim -./configure CFLAGS="-DECL_C_COMPATIBLE_VARIADIC_DISPATCH" --prefix=`pwd`/ecl-iOS-host --disable-c99complex -make -j9 -make install -rm -r build -export ECL_TO_RUN=`pwd`/ecl-iOS-host/bin/ecl +export ECL_TO_RUN=/usr/local/bin/ecl @end verbatim @end example