Giter Club home page Giter Club logo

zig-bootstrap-solana's Introduction

bootstrap-zig

The purpose of this project is to start with minimum system dependencies and end with a fully operational Zig compiler for any target.

Version Information

This repository copies sources from upstream. Patches listed below. Use git to find and inspect the patch diffs.

  • LLVM, LLD, Clang 13.0.1
  • zlib 1.2.12
  • Zig 0.10.0-dev.2073+59905a62f

For other versions, check the git tags of this repository.

Patches

  • Remove unused test/ files in order to make tarball less bloated.
  • LLD: add additional include directory to Zig's libunwind.
  • zlib: delete unused files
  • zlib: CMakeLists.txt: delete the ability to build a shared library

Host System Dependencies

  • C++ compiler capable of building LLVM, Clang, and LLD from source (GCC 5.1+ or Clang)
  • cmake 3.13.4 or later
  • make
  • POSIX system (bash, mkdir, cd)
  • Python 3

Build Instructions

build -j1 <arch>-<os>-<abi> baseline

All parameters are required:

  • -j1: Replace with your jobs parameter to make.
  • <arch>-<os>-<abi>: Replace with one of the Supported Triples below, or use native for the <arch> value (e.g. native-linux-gnu) to use the native architecture.
  • baseline: Replace with a -mcpu parameter of Zig. baseline means it will target a generic CPU for the target. native means it will target the native CPU. See the Zig documentation for more details.

If it succeeds, the output will be in out/zig-triple-mcpu/.

Supported Triples

If you try a "not tested" one and find a problem please file an issue, and a pull request linking to the issue in the table.

If you try a "not tested" one and find that it works, please file a pull request changing the status to "OK".

If you try an "OK" one and it does not work, please check if there is an existing issue, and if not, file an issue.

Note: Generally, for Linux targets, we prefer the musl libc builds over the glibc builds here, because musl builds end up producing a static binary, which is more portable across Linux distributions.

triple support status
aarch64_be-linux-gnu not tested
aarch64_be-linux-musl not tested
aarch64_be-windows-gnu not tested
aarch64-linux-gnu OK
aarch64-linux-musl OK
aarch64-windows-gnu OK
aarch64-macos-none OK
armeb-linux-gnueabi not tested
armeb-linux-gnueabihf not tested
armeb-linux-musleabi not tested
armeb-linux-musleabihf not tested
armeb-windows-gnu not tested
arm-linux-gnueabi not tested
arm-linux-gnueabihf not tested
arm-linux-musleabi OK
arm-linux-musleabihf OK
arm-windows-gnu not tested
i386-linux-gnu not tested
i386-linux-musl OK
i386-windows-gnu OK
mips64el-linux-gnuabi64 not tested
mips64el-linux-gnuabin32 not tested
mips64el-linux-musl #3
mips64-linux-gnuabi64 not tested
mips64-linux-gnuabin32 not tested
mips64-linux-musl not tested
mipsel-linux-gnu not tested
mipsel-linux-musl #12
mips-linux-gnu not tested
mips-linux-musl not tested
powerpc64le-linux-gnu #24
powerpc64le-linux-musl #5
powerpc64-linux-gnu not tested
powerpc64-linux-musl not tested
powerpc-linux-gnu not tested
powerpc-linux-musl not tested
riscv64-linux-gnu not tested
riscv64-linux-musl OK
s390x-linux-gnu not tested
s390x-linux-musl #52
sparc-linux-gnu not tested
sparcv9-linux-gnu ziglang/zig#4931
x86_64-freebsd-gnu #45
x86_64-linux-gnu OK
x86_64-linux-gnux32 #20
x86_64-linux-musl OK
x86_64-windows-gnu OK
x86_64-macos-none OK

Other Notable Targets Known to Work

  • arm-linux-musleabi with mcpu value of generic+v6kz. This produces a build of Zig that runs on the RPi 1 and RPi Zero.
    • If you want to produce a build for this CPU exactly, use arm1176jzf_s.

zig-bootstrap-solana's People

Contributors

andrewrk avatar data-man avatar exonorid avatar firefox317 avatar heidezomp avatar ifreund avatar indocomsoft avatar jan200101 avatar johnlate avatar kivikakk avatar korczis avatar kubkon avatar lemonboy avatar lithdew avatar marler8997 avatar oldendick avatar pingiun avatar prince213 avatar tiehuis avatar vrischmann avatar

Watchers

 avatar

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.