cross compiling howto for mips-openwrt-linux
hi! with the invaluable help of jackdaniel on #ecl, i've managed to cross compile ecl for mips-openwrt-linux. unfortunately i cannot edit the wiki at, so i'll write it up here. (if anyone reads it an can give me rights, my user is attila.lendvai) FTR, https://gitlab.com/embeddable-common-lisp/ecl/wikis/home the bird's eye view: - first you need to compile ecl on the host, but making sure that some important variables are the same as on the target (e.g. 32/64 bit; long long support; what else?). - then make clean, and configure the source tree for the target - ./configure will fail when run for the first time. you'll then need to edit 'build/cross_config' to set some variables regarding the target that cannot be detected automatically from the host. - then build it once again using a cross-compiling gcc - if you are not planning to have a gcc on the target, then configure the target with --with-bytecmp=builtin --with-cmp=no compile for the host: - you may need 32 bit support: sudo apt-get install gcc-multilib - CFLAGS=-m32 LDFLAGS=-m32 ABI=32 ./configure --prefix=/opt/ecl-host --enable-longdouble=no - make -j2 - make install compile for the target: make clean export STAGING_DIR=/home/alendvai/workspace/OpenWrt-SDK-ar71xx-generic_gcc-4.8-linaro_uClibc-0.9.33.2.Linux-x86_64/staging_dir export TOOLCHAIN=${STAGING_DIR}/toolchain-mips_34kc_gcc-4.8-linaro_uClibc-0.9.33.2/ export TARGETROOT=${STAGING_DIR}/target-mips_34kc_uClibc-0.9.33.2/ PATH=/opt/ecl-host/bin/:${TOOLCHAIN}/bin:${PATH} \ CFLAGS="-I${TOOLCHAIN}/include -I${TARGETROOT}/usr/include" \ LDFLAGS="--sysroot=${TARGETROOT}" ./configure \ --prefix=/opt/ecl-mips --disable-longdouble \ --with-libffi-prefix=${TARGETROOT} \ --host=mips-openwrt-linux --with-system-gmp optionally add: --with-bytecmp=builtin --with-cmp=no edit 'build/cross_config' and restart the above once again. (in this specific case i had to ECL_BIGENDIAN=yes) PATH=/opt/ecl-host/bin/:${TOOLCHAIN}/bin:${PATH} make -j2 copy /opt/ecl-mips to your openwrt and don't forget to: opkg install libgmp opkg install libffi i will try to put together an openwrt package, too. -- • attila lendvai • PGP: 963F 5D5F 45C7 DFCD 0A39 -- “People get used to anything. The less you think about your oppression, the more your tolerance for it grows. After a while, people just think oppression is the normal state of things. But to become free, you have to be acutely aware of being a slave.” — Assata Shakur (1947–), 'Assata: An Autobiography'
participants (1)
-
Attila Lendvai