Giter VIP home page Giter VIP logo

simplecct's Introduction

simplecct: simple scripts that can be used to build a gcc-based cross-compilation toolchain

== INSTALL You have nothing to build or to install here - unless you are missing some crucial dependencies

  • quilt (used to apply patches if needed)
  • make
  • gcc

These should be on your system - if quilt is not installed on your system, I stringly suggest you to install it and to git it a try.

== HOW TO USE

  • Create a user-config.sh file in the current directory.
  • Start ./build-toolchain.sh
  • Wait for some time (from 30 minutes to much more if your machine is a bit slow)
  • And voilà !

== COMMAND LINE OPTIONS

The build-toolchain.sh script allows you to specify a few options

  • help: show the usage screen
  • config=XXX: make user-config.sh a link to one of the config from the configs/ directory. You can find the list of available configs by using <<./build-toolchain.sh help>>.
  • clean: remove all built artefacts.

There are many more options that are used to skip some particular steps if needed.

You can also start any script (but config.sh). For example, calling 00-tc-download.sh will download all the required files to build the toolchain.

== CREATING YOUR OWN CONFIGURATION

All the proposed configurations in configs/ are redefining all the variables used during the build so it should be straightforward to set-up a specific configuration to build your own toolchain.

== SUPPORTED C STANDARD LIBRARIES

For the first release, only the musl C library is supported. I plan to add more in the future (uClibc, eglibc, glibc...)

== SUPPORTED LANGUAGES

As of today, the toolchain builds both a C and a C++ compile. I may add more supported languages in the future (including Go, Java, ObjC) although this is clearly not a priority for me.

== KNOWN BUGS

  • I had to revert a change that would have allowed you to spawn multiple processes to build the toolchain (that dramatically reduce the build time on a multicore machine). However, each and every build I made in this mode broke badly.

  • I tested only a few number of (ARMv7-based) configurations. There might be issued on other architectures.

  • Of course, there are probably many bugs I'm not aware of. The shell code, while not optimal, is clear enough to enable you to spot an error.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.