# toolchain-build
**Repository Path**: hensor/toolchain-build
## Basic Information
- **Project Name**: toolchain-build
- **Description**: 平头哥半导体工具栏编译脚本
- **Primary Language**: Unknown
- **License**: Not specified
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 1
- **Created**: 2023-01-23
- **Last Updated**: 2026-03-06
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# toolchain-build
## BUILD toolchain
### Prerequisites
Several standard packages are needed to build the toolchain.
On Ubuntu, executing the following command should suffice:
$ sudo apt-get install autoconf automake autotools-dev curl python3 libmpc-dev libmpfr-dev libgmp-dev gawk build-essential bison flex texinfo gperf libtool patchutils bc zlib1g-dev libexpat-dev
On Fedora/CentOS/RHEL OS, executing the following command should suffice:
$ sudo yum install autoconf automake python3 libmpc-devel mpfr-devel gmp-devel gawk bison flex texinfo patchutils gcc gcc-c++ zlib-devel expat-devel
### Code Download
First, download submodules' code
`git submodule update --init`
Second, use the script “build-csky-gcc.py” to build toolchain.
C-SKY abi-v2 supports two versions of the toolchain to compile.
### glibc
* Run the following command to build glibc linux toolchain:
`./build-csky-gcc.py csky-gcc --src ./ --triple csky-unknown-linux-gnu`
After the compilation is completed, the toolchain will be installed into the "build-gcc-csky-unknown-linux-gnu/Xuantie-800-gcc-linux-5.10.4-glibc-x86_64/" directory
### elf
* Run the following command to build newlib elf toolchain:
`./build-csky-gcc.py csky-gcc --src ./ --triple csky-unknown-elf`
After the compilation is completed, the toolchain will be installed into the "build-gcc-csky-unknown-elf/Xuantie-800-gcc-elf-newlib-x86_64/" directory
As mentioned above, you can use the script to compile all the toolchains, if you want to compile by yourself, you can add the "--fake" option to the build command to print out all the configuration and compile commands, for example:
`./build-csky-gcc.py csky-gcc --src ./ --triple csky-unknown-elf --fake`
## BUILD speed
* The script will build multilib version toolchain by default, which will take a long time to compile. If you only use one CPU, we recommend that you use the "--no-multilib" option to compile the single lib toolchain, which will be 5x faster than the multilib version. For example:
`./build-csky-gcc.py csky-gcc --src ./ --triple csky-unknown-elf --no-multilib --cpu ck860f --fpu hard --endian little`
* The build speed also depends on the CPU and memory of the host machine. If you have a powerful machine, you can use the "--jobs" option to specify the number of parallel compilation threads, -1 means using all cores, for example:
`./build-csky-gcc.py csky-gcc --src ./ --triple csky-unknown-elf --jobs=-1`
## Run gcc test
You can add option to run the gcc test to verify the correctness of the toolchain. For example:
`./build-csky-gcc.py csky-gcc --src ./ --triple csky-unknown-elf --type check-gcc`
## Others
Run the following command to get more information about the script:
`./build-csky-gcc.py csky-gcc --help`