<html>
  <head>

    <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    A new binary snapshot of the ELLCC cross compilation tool chain<br>
    (<a class="moz-txt-link-freetext" href="http://ellcc.org">http://ellcc.org</a>) is available from <a class="moz-txt-link-freetext" href="ftp://ellcc.org/pub">ftp://ellcc.org/pub</a>.<br>
    <br>
    The tool chain is built around clang/LLVM, libc++ and libc++abi,<br>
    the musl standard C library, compiler-rt, and GNU binutils and gdb.<br>
    <br>
    This version uses configuration scripts to tell the compiler how<br>
    to compile and link programs.<br>
    <br>
    An example from ~/ellcc/libecc/config:<br>
    <br>
    cat ~/ellcc/libecc/config/arm-linux-engeabi:<br>
    <br>
    based_on:<br>
      arm-ellcc-linux<br>
    compiler:<br>
      options:<br>
        - -target arm-ellcc-linux<br>
        - -march=armv7a<br>
        - -mfpu=none<br>
        - -mfloat-abi=softfp<br>
    linker:<br>
      static_crt1: $R/lib/arm-linux-engeabi/crt1.o<br>
      dynamic_crt1: $R/lib/arm-linux-engeabi/Scrt1.o<br>
      crtbegin: $R/lib/arm-linux-engeabi/crtbegin.o<br>
      crtend: $R/lib/arm-linux-engeabi/crtend.o<br>
      library_paths:<br>
        - -L $R/lib/arm-linux-engeabi:<br>
    <br>
    An example command line to compile for a specific target:<br>
    <br>
    ~/ellcc/bin/ecc -target arm-linux-engeabi -o hello hello.c<br>
    <br>
    From the README.txt file:<br>
    <br>
    The files in this directory contain pre-compiled versions of the
    ELLCC<br>
    cross compiler tool chain. Each tarball is meant to run on a
    specific<br>
    target Linux system as indicated by the name, e.g. ellcc-arm-... are<br>
    executables that are supposed to run on an little endian ARM Linux
    box.<br>
    <br>
    <pre>    -target              Endian        Float</pre>
    <pre>armeb-linux-engeabi       Big           Soft</pre>
    <pre>armeb-linux-engeabihf     Big           Hard</pre>
    <pre>arm-linux-engeabi         Little        Soft</pre>
    <pre>arm-linux-engeabihf       Little        Hard</pre>
    <pre>i386-linux-eng            Little        Hard</pre>
    <pre>mipsel-linux-eng          Little        Hard</pre>
    <pre>mipsel-linux-engsf        Little        Soft</pre>
    <pre>mips-linux-eng            Big           Hard</pre>
    <pre>mips-linux-engsf          Big           Soft</pre>
    <pre>ppc-linux-eng             Big           Hard</pre>
    <pre>x86_64-linux-eng          Little        Hard</pre>
    <br>
    All of the executables in these tarballs are statically linked, so
    they<br>
    should run on any reasonably recent Linux box.<br>
    <br>
    Tarball contents:<br>
        C/C++ compiler (ecc, ecc++)<br>
        Assemblers for all targets<br>
        GNU binutils compiled to support all targets.<br>
        GDB compiled to support all the targets.<br>
    <br>
    All of the tarballs contain header files and runtime libraries for
    all<br>
    the targets so you should be able to build for any one of the
    targets [1].<br>
    <br>
    These tarballs have not been tested, except for the arm, i386 and
    x86_64<br>
    versions, because I don't have access to Linux boxes running on the
    other<br>
    targets yet. I would welcome feedback on how they work for you.<br>
    <br>
    To use the tarball:<br>
    tar xvfpz <path to your tarball><br>
    <br>
    This will create a directory called "ellcc" that will have all the<br>
    files you need to use ELLCC on the target system.<br>
    <br>
    If you have any problems, please post on the ELLCC forum:<br>
        <a class="moz-txt-link-freetext" href="http://ellcc.org/blog/?forum=forum">http://ellcc.org/blog/?forum=forum</a><br>
    <br>
    Please visit <a class="moz-txt-link-freetext" href="http://ellcc.org">http://ellcc.org</a> for more information.<br>
    <br>
    Have fun!<br>
    <br>
    -Rich<br>
    <br>
    [1]: The ARM versions of the executables currently can only target
    ARM<br>
    processors because the ecc compiler became too large to be
    statically<br>
    linked when all processors were supported.
    <meta http-equiv="content-type" content="text/html;
      charset=ISO-8859-1">
  </body>
</html>