A new binary release of the ELLCC cross compilation tool chain is available.
ELLCC is a pre-packaged set of tools designed to support cross compilation
for a variety of target processors.
This release includes pre-built binaries for 64-bit ARM Linux and
supports the -coverage option to do code coverage. You can see an example
of coverage output at http://ellcc.org/coverage
Unfortunately, I haven’t had time to debug build issues with the MinGW build. As a result the binaries of this release for this host are not available. If anyone is interested in looking into the build failure, patches welcome!
ELLCC includes:
- ecc (a clang/LLVM based C/C++ compiler)
- binutils
- GDB
- QEMU (on x86_64 Linux hosts)
The ELLCC run-time libraries are supplied pre-built for all targets and
are all covered with BSD-like licenses:
- libc++ The C++ standard library
- musl The POSIX compliant C library
- compiler-rt Low level compiler support
- expat XML parsing
- libedit Command history
- ncurses Terminal handling
- zlib Compression/decompression
- curl URL syntax data transfer
- libevent Event notification
- mbed TLS Transport Layer Security
- c-ares Asynchronous DNS
- libssh2 Client side SSH2
- libmetalink Metalink support
- openldap Lightweight directory access protocol
- nanomsg Several common communication patterns
ELLCC is entirely self hosting.
From the ChangeLog:
version 0.1.33: * Update to GDB 7.12, * Update to LLVM r283663. * Added 64 bit ARM hosts to the pre-built binaries. * Fixed libedit configuration rules. * Update to LLVM r283106. * Update the c-ares library to version 1.12.0. * Update to LLVM r283004. * Update the nghttp2 library to version 1.15.0. * Update the curl library to version 7.50.3. * Update to LLVM r282329. * Update to LLVM r281818. * Update to LLVM r281453. * Update to LLVM r281321. * Update to LLVM r280704. * Update to libedit-20160903-3.1. * Update to QEMU 2.7.0. * Update the nghttp2 library to version 1.14.0. * Update to LLVM r279916. * Update to LLVM r279342. * Update to LLVM r278565. * Enhanced llvm-cov HTML output. * Enable code coverage with the -coverage option.
Binary tarballs are available from here.
The tool chain can build programs for ARM, Mips, PowerPC, and x86 Linux and
stand-alone targets and x86 Windows systems.
Pre-built binaries are available for ARM, Mips, and x86 Linux host systems
as well as x86_64 Windows and Mac OS X hosts.
All host systems can build programs for all the supported targets.
Available targets are listed here.
The sabotage linux project has a Linux port of the netbsd curses if you are interested to replace ncurses.
https://github.com/sabotage-linux/netbsd-curses
(llvm)Linux + ELLC + netbsd userland + pkgsrc could be an interesting distro 🙂
Jens,
Thanks for the suggestion. I finally got around to using sabotage’s netbsd curses. I like it very much.
It has replaced ncurses in ELLCC.
-Rich