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

 - make -j2

 - make install

compile for the target:

make clean



export TARGETROOT=${STAGING_DIR}/target-mips_34kc_uClibc-

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'

Reply via email to