mirror of
https://github.com/bensuperpc/dockcross.git
synced 2026-08-13 21:56:12 +02:00
Compare commits
483 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 6229ed696d | |||
| a553432acd | |||
| 79e54f909a | |||
| 87ef3f1134 | |||
| 3b5d46f70b | |||
| 5fd14ac6dc | |||
| dcde0d124c | |||
| 175e4d66e2 | |||
| 4aaaa2c847 | |||
| 6a3933b03b | |||
| 7264bf7768 | |||
| ad3c0cad8c | |||
| 84419c14a5 | |||
| 8c8f0f6fa6 | |||
| 4fb4c4e401 | |||
| 9c32f366f9 | |||
| 2b735bef0e | |||
| 324d42a107 | |||
| 3348cdba6d | |||
| c847b1910e | |||
| 49aa64b08f | |||
| b59e741d8f | |||
| 65320e84c6 | |||
| 3853c9f0da | |||
| fc73010e35 | |||
| 7679060f71 | |||
| c3389c3671 | |||
| f15327adbd | |||
| 003dfa0517 | |||
| 7633bc2b5e | |||
| 9b3357cf9b | |||
| 326655d148 | |||
| b2fe0003a7 | |||
| da91964615 | |||
| 8e64601fd2 | |||
| 551d8b719c | |||
| dc32c32646 | |||
| 06384754b0 | |||
| 471f25e046 | |||
| af62f2c926 | |||
| f41690cc1e | |||
| 84793ba73e | |||
| 8385fa701f | |||
| 3dfb3ff1a9 | |||
| eff583f55e | |||
| 90e40d4cbf | |||
| 937d4df040 | |||
| b37f297308 | |||
| c3e5f808a6 | |||
| f3fc294a08 | |||
| 1d3b81221c | |||
| 8b9ace46ce | |||
| 63e91f59aa | |||
| 98e6c48697 | |||
| 9de64a24c2 | |||
| 66fda89f8d | |||
| 13872ace65 | |||
| 6ea98ba7f7 | |||
| 015205b0c9 | |||
| 87b9db46eb | |||
| 2eaff8a971 | |||
| c59cf19b0b | |||
| d59579d028 | |||
| b1ae758f3d | |||
| c5d3885212 | |||
| 9b52d93255 | |||
| e52623c8dc | |||
| 9f4e0b7413 | |||
| 4a8ba629f6 | |||
| 0a27819132 | |||
| c756bd6080 | |||
| 7075966713 | |||
| 70ac69b358 | |||
| 0415f7888d | |||
| 886c97e98f | |||
| 6532c5bdee | |||
| 0e30f0a04e | |||
| 86f66d2270 | |||
| a9155a09f6 | |||
| 14a29475ca | |||
| f48bb9b136 | |||
| fe6baacdd3 | |||
| 11090d1ded | |||
| 731b331faf | |||
| 70cca217e4 | |||
| 52604c0b66 | |||
| 3deaae3929 | |||
| 15f69e2d8a | |||
| c31dde3d41 | |||
| 3ada9c5df8 | |||
| 518960a612 | |||
| 1bebfd7300 | |||
| ce8865c0af | |||
| dcb6bde44b | |||
| 0ca299216e | |||
| 27e0cf6c78 | |||
| 494c154b87 | |||
| abab9c6b4b | |||
| d823872763 | |||
| 95d67e95d0 | |||
| 72c453f7c1 | |||
| 1cfb3b1459 | |||
| a10699233d | |||
| 9668cbac87 | |||
| a3b42cd215 | |||
| bcc2e1c2a5 | |||
| 4bd0eec07e | |||
| 5836581678 | |||
| 83766c341d | |||
| 663c6da5bf | |||
| 86f7a8625c | |||
| b73eaf9a77 | |||
| 7edeef6bc2 | |||
| 91a1cfe30b | |||
| 762ed4a396 | |||
| b25c978187 | |||
| 2235db7afb | |||
| 1678be2d0d | |||
| 16e96d1b07 | |||
| 7317e5bf2a | |||
| 08ddf8271b | |||
| e66c1880ec | |||
| ec5e88f98c | |||
| 49d9ab4342 | |||
| c76accc121 | |||
| e6a0e331e3 | |||
| 5020eb46ee | |||
| 10102e86eb | |||
| 32dad0f923 | |||
| 925499ed12 | |||
| 37e2800939 | |||
| 9e8e187280 | |||
| a08b4afce0 | |||
| a41e71ea67 | |||
| 283f79eacf | |||
| 4a4babf7fa | |||
| e6619f6a22 | |||
| d91bdd6564 | |||
| 133cdd4bf5 | |||
| 2592f3a90f | |||
| 69c4db9338 | |||
| b7f8ddd484 | |||
| d75b3333c0 | |||
| 5887d4c55c | |||
| de6a4b0be3 | |||
| 055c60ebab | |||
| 7577ed208d | |||
| 27edf0f8a9 | |||
| 1afd48ee6a | |||
| 9dea22ab64 | |||
| 85496b648d | |||
| 8d3f1362c2 | |||
| af6a85faf1 | |||
| f473b99340 | |||
| 0ee58e2d4d | |||
| 456e7e0494 | |||
| 07ac7479b5 | |||
| 2b491aeb9a | |||
| c0efd5bf10 | |||
| 1d459d9fbc | |||
| 7bf589c088 | |||
| f5b3739d8d | |||
| aac97dfb18 | |||
| a9ee159efb | |||
| 54a4417c3d | |||
| 96e8620255 | |||
| 86044ff4b3 | |||
| 741af4cb06 | |||
| 10b1c1d579 | |||
| 306612b685 | |||
| 7631cba894 | |||
| 180160da50 | |||
| 8cdda7ec64 | |||
| c1cf751a31 | |||
| d3dc3ed8e8 | |||
| 599f950297 | |||
| 6bf03cc540 | |||
| 8cda4cf962 | |||
| 5082131705 | |||
| 5370aa6fe9 | |||
| 72e51cae18 | |||
| 96d423101c | |||
| 88f3aa6c31 | |||
| d9696e44b7 | |||
| d0e5a437dd | |||
| 285ba494bf | |||
| b459265243 | |||
| 7a62133ff7 | |||
| 858a3d8755 | |||
| 103d6485e6 | |||
| 5dc9be4d3b | |||
| fbb53a3786 | |||
| a5a1cc9287 | |||
| e2bc513d3f | |||
| 43b2dd1550 | |||
| 54ee1fddbc | |||
| 86a1cca977 | |||
| 2dd09b2d3f | |||
| 2fbd0af24a | |||
| ad25ffbf7f | |||
| 81c74ac1f0 | |||
| 5d2ddaa26d | |||
| bef5f26ead | |||
| 03adcfcd84 | |||
| 40e5e7517f | |||
| 0bed4bf8e7 | |||
| 2e70d66615 | |||
| 9560d75124 | |||
| 2e07fc0772 | |||
| aad63e3a41 | |||
| 60fa1b0e0b | |||
| 2b500e4150 | |||
| 018c591202 | |||
| 3603d82802 | |||
| 8231b1f6d0 | |||
| 9751032bf7 | |||
| 7910242a3c | |||
| 1276ade1f0 | |||
| ac61758ca6 | |||
| 748f3c06fe | |||
| a1ff15e206 | |||
| 45c870a3f5 | |||
| 26baad281a | |||
| 24fa6a0962 | |||
| ab75e7c5a0 | |||
| 4f1ad856dd | |||
| 0803d604a1 | |||
| 64da83ae96 | |||
| 13d3b718b8 | |||
| 8bd9dd4d62 | |||
| 3995c0cf44 | |||
| e9090a2473 | |||
| 27d1ed241a | |||
| 1123bbcb3f | |||
| f11237cd73 | |||
| f7b6d06a53 | |||
| 0dade71fa2 | |||
| 2f39fc8b8d | |||
| f36800d70b | |||
| b2adff168b | |||
| f010b6fcbd | |||
| 88c04a4ba6 | |||
| d292408a32 | |||
| 20a1bd6ae4 | |||
| 0b5e4fbf2e | |||
| 518fe0572e | |||
| 72a6a72d80 | |||
| 2c6c0a52fb | |||
| d4e7c0aff2 | |||
| 8106a3b245 | |||
| 488369f3d7 | |||
| f52fb3821a | |||
| a8e3072e4f | |||
| e40a33d02b | |||
| 00e75583b2 | |||
| 0ee05c1f5a | |||
| 9f4fe90923 | |||
| 50120593a3 | |||
| ba27b1fc51 | |||
| 55d275535c | |||
| 9e57d2bd8f | |||
| 137dda204d | |||
| 3ac4aed3aa | |||
| 50baccd0fa | |||
| fa87501f12 | |||
| 6eda62728a | |||
| 6dfa69bdaa | |||
| 24f9bdefe2 | |||
| eaba673170 | |||
| 7e034e5282 | |||
| 424b61e9ec | |||
| 4e4d3ad7ed | |||
| 9476e910d9 | |||
| f93e2f73bf | |||
| 2b0d4b1792 | |||
| ce2342deee | |||
| b0831b3619 | |||
| a5f9b49a37 | |||
| 0b56496e9c | |||
| 714b61dd7a | |||
| e5106c5fd4 | |||
| 4282105d11 | |||
| ae06c00377 | |||
| af3fa9b013 | |||
| 46b2600a3f | |||
| 9eb419cf6b | |||
| 0309652c6b | |||
| f430265d9c | |||
| 39fd891da6 | |||
| 5dc592b786 | |||
| 7b2d74f38d | |||
| ea3044ed37 | |||
| 0ac0f7a38b | |||
| 85db3452be | |||
| 6b01b8bc08 | |||
| 8af0f10578 | |||
| 3d89c301e3 | |||
| b049ee21f8 | |||
| 034401dc9f | |||
| 136b76169c | |||
| 7312d8fa92 | |||
| f6ca4b9e9d | |||
| c1216736d5 | |||
| 6d99fcb9b4 | |||
| c2f53669cd | |||
| a0eaff4245 | |||
| 5e7571369c | |||
| 17c51fdff5 | |||
| 021e3dd6e6 | |||
| 20405a5172 | |||
| 3fbf01b157 | |||
| 0c62168a42 | |||
| 484f06a04b | |||
| 7dcbe767c7 | |||
| 8fdfcc3f51 | |||
| cd4c4132b2 | |||
| 162287deb5 | |||
| eabd29df73 | |||
| 2dd9a1cb1c | |||
| ae03014632 | |||
| a61e35f543 | |||
| 378e8375e0 | |||
| c1ce207a34 | |||
| 699a52c3e5 | |||
| 787e0cbc41 | |||
| f152c4b25e | |||
| 670f7f7c5c | |||
| 98aebd0c7c | |||
| e6e1825b32 | |||
| 4f590a193b | |||
| c9273a20f5 | |||
| bae4a0a9cb | |||
| 9387e59230 | |||
| a4a94fcec8 | |||
| e9059f1daf | |||
| e0dcb396b6 | |||
| 7a4b4c636a | |||
| 4a9fcb68f6 | |||
| 72300a694f | |||
| c9ab787bdc | |||
| bd2dc69d7d | |||
| e913a7f1d6 | |||
| f1d65bdbcc | |||
| b3e8189ea5 | |||
| 6afd127234 | |||
| 0d31400b97 | |||
| fd49c088eb | |||
| 21fdaf8b9e | |||
| 08e2f6eec1 | |||
| 480014ee42 | |||
| 3d7e4be571 | |||
| 2024e4b3a9 | |||
| a156f200dc | |||
| c56dcdffb8 | |||
| 455e2dbb78 | |||
| 5105b44143 | |||
| 53ab4193a2 | |||
| 73559c95b0 | |||
| 102ebcce4a | |||
| ac8bbe2b90 | |||
| cfd4626aec | |||
| 57a27d5668 | |||
| 4cef3b1d41 | |||
| 71d07f3991 | |||
| 439367ce19 | |||
| 68b732e56f | |||
| fbb03de50f | |||
| e7fb2a4293 | |||
| 587282459f | |||
| 0cc2058a68 | |||
| 18415300f1 | |||
| d88a4c707a | |||
| cb90ebee3d | |||
| e88a3ceab3 | |||
| 94a5003362 | |||
| ada2c8dad6 | |||
| dd849908aa | |||
| e76f24e120 | |||
| bf8b0b5925 | |||
| d45d925ee6 | |||
| 4be1879bd5 | |||
| 0f402e0c75 | |||
| 71ec6c1569 | |||
| 49941dadca | |||
| 79c8aafe1e | |||
| acdeffa51b | |||
| 0ea32fc1ed | |||
| 21326cc851 | |||
| 4c18b1d865 | |||
| c52db69736 | |||
| 7bda588f9f | |||
| c4a63113e5 | |||
| 45e145163c | |||
| d3628b2261 | |||
| adb85d69c6 | |||
| 021dfe8dd6 | |||
| 6b7a4a45e9 | |||
| e4627deef8 | |||
| 1dfede8ece | |||
| 6a0fe7b500 | |||
| 334924d866 | |||
| 014fd62f30 | |||
| bf3c3fc51d | |||
| 76b144947e | |||
| b62574a60a | |||
| c644f3fe46 | |||
| b90f7052ec | |||
| 91ecbfe91e | |||
| 228e4c18cc | |||
| 267bdda5e3 | |||
| c9e7d316ca | |||
| 3ba17b10e1 | |||
| 7fe662325f | |||
| 5d5c5c430e | |||
| e5cb29c74f | |||
| 292bb9d2a3 | |||
| 7a4634c4f8 | |||
| 96839c5789 | |||
| eda038eacf | |||
| daad4d760d | |||
| 90325e6019 | |||
| a74d7a7b54 | |||
| 779d80d819 | |||
| f76619ce85 | |||
| 61e34b78ab | |||
| 07cd27a9fa | |||
| ad87cbcdce | |||
| 12b9bd98ca | |||
| 2d1b756e34 | |||
| 850e11a7fe | |||
| 7bf67a6ed9 | |||
| 756f907987 | |||
| 27418538ca | |||
| e633dd0f8f | |||
| 0bdfa45ef6 | |||
| 1e187951b6 | |||
| d1e7d9b754 | |||
| 811f724677 | |||
| 7aee9f2a2b | |||
| 3774217d48 | |||
| 5268aa48d9 | |||
| 0d0f61e327 | |||
| 979104089a | |||
| 7876c21e62 | |||
| b4b4e830c9 | |||
| 2ff17c20e8 | |||
| c068180665 | |||
| 63514041f6 | |||
| a0c458c8c1 | |||
| 3d5142d6ad | |||
| 18b6f27f49 | |||
| 1f84d64675 | |||
| 52c9e8313c | |||
| 451acec74b | |||
| e21db577b4 | |||
| c74798ebb7 | |||
| a9dda23ae7 | |||
| 0fc1c34f29 | |||
| 84d4b38037 | |||
| a5f1b3098a | |||
| 5c503e0132 | |||
| e3084efc93 | |||
| c28a4a6540 | |||
| d54ec49768 | |||
| 28a082f364 | |||
| 8328c514c1 | |||
| b16da6c60e | |||
| 23eb2e024a | |||
| 2333930f42 | |||
| 4887a524ff | |||
| f924b46533 | |||
| 6791b57fa4 | |||
| 159e3f9b7b | |||
| 27902330f4 | |||
| 4a768c052c | |||
| 6839433b97 | |||
| 12fbb541fa | |||
| 06d209a343 | |||
| ebb53b4be1 | |||
| 36a63a7ac3 | |||
| 7e72803aa4 | |||
| f30a23658f | |||
| a3febf2898 |
@@ -1,22 +1,22 @@
|
||||
name: 'Close stale issues and PRs'
|
||||
on:
|
||||
schedule:
|
||||
- cron: '0 */8 * * *'
|
||||
- cron: '0 */12 * * *'
|
||||
jobs:
|
||||
stale:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/stale@v4
|
||||
- uses: actions/stale@v10
|
||||
with:
|
||||
repo-token: ${{ secrets.GITHUB_TOKEN }}
|
||||
exempt-issue-milestones: 'future,alpha,beta,release,bugfix,improvement,enhancement,help wanted'
|
||||
exempt-pr-milestones: 'bugfix,improvement,enhancement,help wanted'
|
||||
exempt-all-pr-assignees: true
|
||||
stale-issue-message: 'This issue is stale because it has been open 120 days with no activity. Remove stale label or comment or this will be closed in 30 days.'
|
||||
stale-pr-message: 'This PR is stale because it has been open 120 days with no activity. Remove stale label or comment or this will be closed in 30 days.'
|
||||
close-issue-message: 'This issue was closed because it has been stalled for 30 days with no activity.'
|
||||
close-pr-message: 'This PR was closed because it has been stalled for 30 days with no activity.'
|
||||
days-before-issue-stale: 120
|
||||
days-before-pr-stale: 120
|
||||
days-before-issue-close: 30
|
||||
days-before-pr-close: 30
|
||||
stale-issue-message: 'This issue is stale because it has been open 240 days with no activity. Remove stale label or comment or this will be closed in 90 days.'
|
||||
stale-pr-message: 'This PR is stale because it has been open 240 days with no activity. Remove stale label or comment or this will be closed in 90 days.'
|
||||
close-issue-message: 'This issue was closed because it has been stale for 90 days with no activity.'
|
||||
close-pr-message: 'This PR was closed because it has been stale for 90 days with no activity.'
|
||||
days-before-issue-stale: 240
|
||||
days-before-pr-stale: 240
|
||||
days-before-issue-close: 90
|
||||
days-before-pr-close: 90
|
||||
|
||||
+232
-821
File diff suppressed because it is too large
Load Diff
@@ -18,7 +18,7 @@ jobs:
|
||||
name: Shellcheck
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- uses: actions/checkout@v6
|
||||
- name: Run ShellCheck
|
||||
uses: ludeeus/action-shellcheck@master
|
||||
with:
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
bin
|
||||
.dockcross-test-cache
|
||||
dockcross
|
||||
dockcross-*
|
||||
build
|
||||
@@ -8,3 +9,5 @@ Dockerfile
|
||||
web-wasm/Dockerfile
|
||||
*/imagefiles/*
|
||||
!imagefiles/*
|
||||
crosstool-ng/*
|
||||
llama.cpp/*
|
||||
Vendored
+3
@@ -0,0 +1,3 @@
|
||||
{
|
||||
"python-envs.defaultEnvManager": "ms-python.python:system"
|
||||
}
|
||||
+320
@@ -0,0 +1,320 @@
|
||||
# Contributing
|
||||
|
||||
## Getting started
|
||||
|
||||
## How to add a new image ? (With crosstool-ng)
|
||||
|
||||
In this part, we will see how to add a new image, we will take example with `linux-arm64` for a raspberry pi 4, with [crosstool-ng](https://github.com/crosstool-ng/crosstool-ng).
|
||||
|
||||
### Build and config crosstool-ng
|
||||
|
||||
To start, you need to download the source code of crosstool-ng:
|
||||
|
||||
```bash
|
||||
git clone --recurse-submodules --remote-submodules https://github.com/crosstool-ng/crosstool-ng.git
|
||||
```
|
||||
|
||||
Go to crosstool-ng folder:
|
||||
|
||||
```bash
|
||||
cd crosstool-ng
|
||||
```
|
||||
|
||||
Change git branch:
|
||||
|
||||
```bash
|
||||
git checkout crosstool-ng-1.27.0
|
||||
```
|
||||
|
||||
Once in the **crosstool-ng** folder, you must first run the `bootstrap` script:
|
||||
|
||||
```bash
|
||||
./bootstrap
|
||||
```
|
||||
|
||||
Then run the `configure` script:
|
||||
|
||||
*Note: `-enable-local` does a portable install of crosstool-ng.*:
|
||||
|
||||
```bash
|
||||
./configure --enable-local
|
||||
```
|
||||
|
||||
Finally, launch the building of crosstool-ng:
|
||||
|
||||
```bash
|
||||
make -j$(nproc)
|
||||
```
|
||||
|
||||
Once the crosstool-ng build is complete, you can run this command to test crosstool-ng:
|
||||
|
||||
```bash
|
||||
./ct-ng --version
|
||||
```
|
||||
|
||||
Before starting the configuration of the toolchains, i recommend you to use one of the examples from crosstool-ng and then make your changes, the command to display the examples:
|
||||
|
||||
```bash
|
||||
./ct-ng list-samples
|
||||
```
|
||||
|
||||
We will take the example of `aarch64-rpi4-linux-gnu`, a `.config` file will be created:
|
||||
|
||||
```bash
|
||||
./ct-ng aarch64-rpi4-linux-gnu
|
||||
```
|
||||
|
||||
*Alternatively*, we could copy an existing `crosstool-ng.config` from one of the target folders in the `dockcross` project to the local `.config`:
|
||||
|
||||
```bash
|
||||
cp path/to/dockcross/linux-arm64/crosstool-ng.config .config
|
||||
```
|
||||
|
||||
We will configure the toolchains according to our needs:
|
||||
|
||||
```bash
|
||||
./ct-ng menuconfig
|
||||
```
|
||||
|
||||
Once the modifications are made, we will display the name of the toolchains, it will be useful later:
|
||||
|
||||
```bash
|
||||
./ct-ng show-tuple
|
||||
```
|
||||
|
||||
### Configuring docker image
|
||||
|
||||
You must create a file with the **same** name of the docker image (`linux-arm64`).
|
||||
|
||||
Copy the `.config` of crosstool-ng to this file (`linux-arm64`) and rename it to `crosstool-ng.config`.
|
||||
|
||||
You need to create a file named `Toolchain.cmake` in `linux-arm64`.
|
||||
|
||||
Copy text to `Toolchain.cmake` file:
|
||||
|
||||
```cmake
|
||||
set(CMAKE_SYSTEM_NAME Linux)
|
||||
set(CMAKE_SYSTEM_VERSION 1)
|
||||
set(CMAKE_SYSTEM_PROCESSOR ARM64)
|
||||
|
||||
set(cross_triple $ENV{CROSS_TRIPLE})
|
||||
set(cross_root $ENV{CROSS_ROOT})
|
||||
|
||||
set(CMAKE_C_COMPILER $ENV{CC})
|
||||
set(CMAKE_CXX_COMPILER $ENV{CXX})
|
||||
set(CMAKE_Fortran_COMPILER $ENV{FC})
|
||||
|
||||
set(CMAKE_CXX_FLAGS "-I ${cross_root}/include/")
|
||||
|
||||
list(APPEND CMAKE_FIND_ROOT_PATH ${CMAKE_PREFIX_PATH} ${cross_root} ${cross_root}/${cross_triple})
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
|
||||
set(CMAKE_SYSROOT ${cross_root}/${cross_triple}/sysroot)
|
||||
|
||||
set(CMAKE_CROSSCOMPILING_EMULATOR /usr/bin/qemu-arm64)
|
||||
```
|
||||
|
||||
Then you must change these lines according to the targeted architecture, here **ARM64**:
|
||||
|
||||
```cmake
|
||||
set(CMAKE_SYSTEM_PROCESSOR ARM64)
|
||||
set(CMAKE_CROSSCOMPILING_EMULATOR /usr/bin/qemu-arm64)
|
||||
```
|
||||
|
||||
Then you must create a file named `Dockerfile.in` in the image folder (`linux-arm64`).
|
||||
|
||||
Copy text to `Dockerfile.in` file:
|
||||
|
||||
```docker
|
||||
ARG ORG=dockcross
|
||||
FROM ${ORG}/base:latest
|
||||
|
||||
LABEL maintainer="Matt McCormick matt@mmmccormick.com"
|
||||
|
||||
# This is for 64-bit ARM Linux machine
|
||||
|
||||
# Crosstool-ng crosstool-ng-1.25.0 2022-05-13
|
||||
ENV CT_VERSION=crosstool-ng-1.25.0
|
||||
|
||||
#include "common.crosstool"
|
||||
|
||||
# The cross-compiling emulator
|
||||
RUN apt-get update \
|
||||
&& apt-get install -y \
|
||||
qemu-user \
|
||||
qemu-user-static \
|
||||
&& apt-get clean --yes
|
||||
|
||||
# The CROSS_TRIPLE is a configured alias of the "aarch64-unknown-linux-gnu" target.
|
||||
ENV CROSS_TRIPLE=aarch64-unknown-linux-gnu
|
||||
|
||||
ENV CROSS_ROOT=${XCC_PREFIX}/${CROSS_TRIPLE}
|
||||
ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \
|
||||
AR=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ar \
|
||||
CC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gcc \
|
||||
CPP=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-cpp \
|
||||
CXX=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-g++ \
|
||||
LD=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ld \
|
||||
FC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gfortran
|
||||
|
||||
ENV QEMU_LD_PREFIX="${CROSS_ROOT}/${CROSS_TRIPLE}/sysroot"
|
||||
ENV QEMU_SET_ENV="LD_LIBRARY_PATH=${CROSS_ROOT}/lib:${QEMU_LD_PREFIX}"
|
||||
|
||||
COPY Toolchain.cmake ${CROSS_ROOT}/
|
||||
ENV CMAKE_TOOLCHAIN_FILE=${CROSS_ROOT}/Toolchain.cmake
|
||||
|
||||
ENV PKG_CONFIG_PATH=/usr/lib/aarch64-linux-gnu/pkgconfig
|
||||
|
||||
# Linux kernel cross compilation variables
|
||||
ENV PATH=${PATH}:${CROSS_ROOT}/bin
|
||||
ENV CROSS_COMPILE=${CROSS_TRIPLE}-
|
||||
ENV ARCH=arm64
|
||||
|
||||
#include "common.label-and-env"
|
||||
```
|
||||
|
||||
Then you must change these lines according to the targeted architecture.
|
||||
|
||||
Here you have to change the value according to the name of the toolchain (./ct-ng show-tuple):
|
||||
|
||||
```docker
|
||||
ENV CROSS_TRIPLE=aarch64-unknown-linux-gnu
|
||||
```
|
||||
|
||||
These lines also need to be changed:
|
||||
|
||||
```docker
|
||||
LABEL maintainer="Matt McCormick matt@mmmccormick.com"
|
||||
ENV PKG_CONFIG_PATH=/usr/lib/aarch64-linux-gnu/pkgconfig
|
||||
ENV ARCH=arm64
|
||||
```
|
||||
|
||||
Once this part is finished, there must be 3 files in the `linux-arm64` folder:
|
||||
|
||||
- **`crosstool-ng.config`**, the configuration of the toolchain/crosstool-ng.
|
||||
- **`Dockerfile.in`**, the docker file.
|
||||
- **`Toolchain.cmake`**, the CMake file for the toolchains.
|
||||
|
||||
### Makefile
|
||||
|
||||
The [Makefile](Makefile) is generic: it knows how to generate/build/test/push
|
||||
an image out of a "preset" directory, but it has no built-in knowledge of the
|
||||
actual list of dockcross images. Every image folder is a preset that is
|
||||
auto-discovered because it contains a `preset.mk` file - there is no central
|
||||
list to edit anymore.
|
||||
|
||||
To add the image to the build system, create **`linux-arm64/preset.mk`**:
|
||||
|
||||
```make
|
||||
BASE_IMAGE_REGISTRY ?= docker.io
|
||||
BASE_IMAGE_PATH ?= dockcross
|
||||
BASE_IMAGE_NAME = base
|
||||
BASE_IMAGE_TAG = latest
|
||||
|
||||
OUTPUT_IMAGE_REGISTRY ?= docker.io
|
||||
OUTPUT_IMAGE_PATH ?= dockcross
|
||||
OUTPUT_IMAGE_NAME = linux-arm64
|
||||
```
|
||||
|
||||
`BASE_IMAGE_NAME = base` / `BASE_IMAGE_TAG = latest` matches the common case
|
||||
where `Dockerfile.in` starts with `ARG ORG=dockcross` / `FROM ${ORG}/base:latest`
|
||||
(the image is built on top of the local `base` preset). `OUTPUT_IMAGE_NAME`
|
||||
should match the folder name so the built image is tagged
|
||||
`<registry>/<path>/linux-arm64`.
|
||||
|
||||
A `preset.mk` can override or add anything the generic Makefile doesn't
|
||||
already do the right thing for, for example:
|
||||
|
||||
- `TEST_IMAGE_CMD` / `TEST_IMAGE_ARGS`: override the command run by `make
|
||||
<image>.test` (defaults to `python3 test/run.py`). E.g. an image that only
|
||||
supports C needs `TEST_IMAGE_ARGS = --languages C`.
|
||||
- `BUILD_CONTEXT_DIR`: override the docker build context directory. Defaults
|
||||
to the preset's own folder; a few images (the manylinux\*-aarch64/x64/x86
|
||||
family) `COPY` files from sibling folders and need
|
||||
`BUILD_CONTEXT_DIR = $(PRESET_DIR)` (the repository root) instead.
|
||||
- `DEPENDS_ON`: list of `<preset>.build` targets that must be built first,
|
||||
for images whose `Dockerfile.in` is `FROM ${ORG}/<other-image>:latest`
|
||||
(e.g. `manylinux2014-aarch64` depends on `manylinux2014-x64`).
|
||||
- `EXTRA_BUILD_ARGS`: extra `--build-arg KEY=VALUE` flags.
|
||||
- `STATIC_DOCKERFILE = yes`: for the rare image that ships a committed
|
||||
`Dockerfile` instead of a generated `Dockerfile.in`.
|
||||
|
||||
See [linux-arm64/preset.mk](linux-arm64/preset.mk) and, for the more
|
||||
involved cases, [manylinux2014-aarch64/preset.mk](manylinux2014-aarch64/preset.mk)
|
||||
or [web-wasm/preset.mk](web-wasm/preset.mk).
|
||||
|
||||
### Image building and testing
|
||||
|
||||
You can now start building the image:
|
||||
|
||||
```bash
|
||||
make linux-arm64
|
||||
```
|
||||
|
||||
When finished, you can test it:
|
||||
|
||||
```bash
|
||||
make linux-arm64.test
|
||||
```
|
||||
|
||||
If you want to go a little further in the tests:
|
||||
|
||||
```bash
|
||||
docker run --rm linux-arm64 > ./linux-arm64
|
||||
chmod +x ./linux-arm64
|
||||
```
|
||||
|
||||
And then run the commands to build a project (you must be in the directory of your project to build):
|
||||
|
||||
```bash
|
||||
./linux-arm64 make
|
||||
```
|
||||
|
||||
With CMake + Ninja:
|
||||
|
||||
```bash
|
||||
./linux-arm64 cmake -Bbuild -S. -GNinja
|
||||
./linux-arm64 ninja -Cbuild
|
||||
```
|
||||
|
||||
### CI (github action)
|
||||
|
||||
To finish, you have to add the image/folder name to the `images` job's matrix
|
||||
in `.github/workflows/main.yml`:
|
||||
|
||||
```yml
|
||||
# Linux arm64/armv8 images
|
||||
- { image: "linux-arm64", multiarch: "yes" }
|
||||
```
|
||||
|
||||
`multiarch: "yes"` is only for the handful of images that are natively built
|
||||
and published for both amd64 and arm64 (see `deploy-multi-arch-images` in the
|
||||
same file); everything else should leave it empty.
|
||||
|
||||
That's the only thing the CI workflow needs to know. It builds the image with
|
||||
`make <image>`, runs the fast in-container smoke test with `make
|
||||
<image>.test`, and then `make <image>.test-extra` - which builds a handful of
|
||||
real upstream projects (Stockfish, CMake, OpenSSL, CPython, ...) with the
|
||||
image's toolchain. Which of those extra tests apply to this image and their
|
||||
architecture-specific flags are **not** set in the workflow: they belong in
|
||||
the image's own `preset.mk`, e.g.:
|
||||
|
||||
```make
|
||||
EXTRA_TESTS = stockfish ninja openssl SQLite fmt cpython
|
||||
STOCKFISH_ARGS = ARCH=armv8
|
||||
OPENSSL_ARGS = linux-aarch64
|
||||
CPYTHON_ARGS = --host=aarch64-unknown-linux-gnu --target=aarch64-unknown-linux-gnu
|
||||
```
|
||||
|
||||
What each extra test actually clones and builds is defined once in the
|
||||
[Makefile](Makefile) ("Extra tests" section) so it stays identical across
|
||||
every image. You can run any of them locally, the same way CI does:
|
||||
|
||||
```bash
|
||||
make linux-arm64.test-extra # everything EXTRA_TESTS lists
|
||||
make linux-arm64.test-stockfish # one test directly, regardless of EXTRA_TESTS
|
||||
```
|
||||
|
||||
Leave `EXTRA_TESTS` unset for images where a given upstream project doesn't
|
||||
build (e.g. OpenSSL on some RISC-V targets).
|
||||
+3
-3
@@ -1,7 +1,7 @@
|
||||
ARG DOCKER_IMAGE=debian:bullseye-slim
|
||||
FROM $DOCKER_IMAGE
|
||||
ARG BASE_IMAGE=debian:bookworm-slim
|
||||
FROM $BASE_IMAGE
|
||||
|
||||
LABEL maintainer="Matt McCormick matt.mccormick@kitware.com"
|
||||
LABEL maintainer="Matt McCormick matt@mmmccormick.com"
|
||||
|
||||
#include "common.debian"
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
Copyright (c) 2015, 2016, 2017, 2018 Steeve Morin, Rob Burns, Matthew McCormick, Jean-Christophe-Fillion-Robin
|
||||
Copyright (c) 2015, 2016, 2017, 2018, 2021 Steeve Morin, Rob Burns, Matthew McCormick, Jean-Christophe-Fillion-Robin, Bensuperpc
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
|
||||
@@ -1,259 +1,420 @@
|
||||
# ==============================================================================
|
||||
# Preset detection
|
||||
# ==============================================================================
|
||||
PRESET_DIR ?= .
|
||||
|
||||
#
|
||||
# Parameters
|
||||
#
|
||||
HOST_ARCH := $(or $(HOST_ARCH), $(shell uname -m | sed -e 's/x86_64/amd64/' -e 's/aarch64/arm64/'))
|
||||
|
||||
# Name of the docker executable
|
||||
DOCKER = docker
|
||||
preset-path = $(if $(filter base,$(1)),$(PRESET_DIR),$(PRESET_DIR)/$(1))
|
||||
|
||||
# Docker organization to pull the images from
|
||||
ORG = dockcross
|
||||
build-context-dir = $(if $(BUILD_CONTEXT_DIR),$(BUILD_CONTEXT_DIR),$(call preset-path,$(1)))
|
||||
|
||||
# Directory where to generate the dockcross script for each images (e.g bin/dockcross-manylinux2014-x64)
|
||||
BIN = ./bin
|
||||
PRESET_FILES := $(shell find $(PRESET_DIR) -name .git -prune -o -mindepth 2 -name "preset.mk" -print)
|
||||
ALL_PRESETS := base $(patsubst $(PRESET_DIR)/%/preset.mk,%,$(PRESET_FILES))
|
||||
|
||||
# These images are built using the "build implicit rule"
|
||||
STANDARD_IMAGES = android-arm android-arm64 android-x86 android-x86_64 \
|
||||
linux-x86 linux-x64 linux-x64-clang linux-arm64 linux-arm64-musl linux-arm64-full \
|
||||
linux-armv5 linux-armv5-musl linux-armv5-uclibc linux-m68k-uclibc linux-s390x linux-x64-tinycc \
|
||||
linux-armv6 linux-armv6-lts linux-armv6-musl linux-arm64-lts \
|
||||
linux-armv7l-musl linux-armv7 linux-armv7a linux-armv7-lts linux-x86_64-full \
|
||||
linux-mips linux-ppc64le linux-riscv64 linux-riscv32 linux-xtensa-uclibc \
|
||||
web-wasi \
|
||||
windows-static-x86 windows-static-x64 windows-static-x64-posix windows-armv7 \
|
||||
windows-shared-x86 windows-shared-x64 windows-shared-x64-posix windows-arm64
|
||||
CURRENT_TARGET_NAME := $(firstword $(MAKECMDGOALS))
|
||||
|
||||
# Generated Dockerfiles.
|
||||
GEN_IMAGES = android-arm android-arm64 \
|
||||
linux-x86 linux-x64 linux-x64-clang linux-arm64 linux-arm64-musl linux-arm64-full \
|
||||
manylinux2014-x64 manylinux2014-x86 \
|
||||
manylinux2014-aarch64 linux-arm64-lts \
|
||||
web-wasm web-wasi linux-mips windows-arm64 windows-armv7 \
|
||||
windows-static-x86 windows-static-x64 windows-static-x64-posix \
|
||||
windows-shared-x86 windows-shared-x64 windows-shared-x64-posix \
|
||||
linux-armv7 linux-armv7a linux-armv7l-musl linux-armv7-lts linux-x86_64-full \
|
||||
linux-armv6 linux-armv6-lts linux-armv6-musl \
|
||||
linux-armv5 linux-armv5-musl linux-armv5-uclibc linux-ppc64le linux-s390x \
|
||||
linux-riscv64 linux-riscv32 linux-m68k-uclibc linux-x64-tinycc linux-xtensa-uclibc
|
||||
POSSIBLE_PRESET := $(basename $(CURRENT_TARGET_NAME))
|
||||
|
||||
GEN_IMAGE_DOCKERFILES = $(addsuffix /Dockerfile,$(GEN_IMAGES))
|
||||
|
||||
# These images are expected to have explicit rules for *both* build and testing
|
||||
NON_STANDARD_IMAGES = manylinux2014-x64 manylinux2014-x86 \
|
||||
manylinux2014-aarch64 web-wasm
|
||||
|
||||
# Docker composite files
|
||||
DOCKER_COMPOSITE_SOURCES = common.docker common.debian common.manylinux common.buildroot \
|
||||
common.crosstool common.webassembly common.windows common-manylinux.crosstool common.dockcross \
|
||||
common.label-and-env
|
||||
DOCKER_COMPOSITE_FOLDER_PATH = common/
|
||||
DOCKER_COMPOSITE_PATH = $(addprefix $(DOCKER_COMPOSITE_FOLDER_PATH),$(DOCKER_COMPOSITE_SOURCES))
|
||||
|
||||
# This list all available images
|
||||
IMAGES = $(STANDARD_IMAGES) $(NON_STANDARD_IMAGES)
|
||||
|
||||
# Optional arguments for test runner (test/run.py) associated with "testing implicit rule"
|
||||
linux-x64-tinycc.test_ARGS = --languages C
|
||||
windows-static-x86.test_ARGS = --exe-suffix ".exe"
|
||||
windows-static-x64.test_ARGS = --exe-suffix ".exe"
|
||||
windows-static-x64-posix.test_ARGS = --exe-suffix ".exe"
|
||||
windows-shared-x86.test_ARGS = --exe-suffix ".exe"
|
||||
windows-shared-x64.test_ARGS = --exe-suffix ".exe"
|
||||
windows-shared-x64-posix.test_ARGS = --exe-suffix ".exe"
|
||||
|
||||
# On CircleCI, do not attempt to delete container
|
||||
# See https://circleci.com/docs/docker-btrfs-error/
|
||||
RM = --rm
|
||||
ifeq ("$(CIRCLECI)", "true")
|
||||
RM =
|
||||
ifeq ($(POSSIBLE_PRESET),base)
|
||||
-include $(PRESET_DIR)/preset.mk
|
||||
else ifneq ($(wildcard $(PRESET_DIR)/$(POSSIBLE_PRESET)/preset.mk),)
|
||||
include $(PRESET_DIR)/$(POSSIBLE_PRESET)/preset.mk
|
||||
endif
|
||||
|
||||
# Tag images with date and Git short hash in addition to revision
|
||||
TAG := $(shell date '+%Y%m%d')-$(shell git rev-parse --short HEAD)
|
||||
# ==============================================================================
|
||||
# Main config Makefile for Docker SDK Images
|
||||
# ==============================================================================
|
||||
AUTHOR ?= dockcross
|
||||
WEB_SITE ?= dockcross.org
|
||||
|
||||
# shellcheck executable
|
||||
SHELLCHECK := shellcheck
|
||||
# Registries
|
||||
BASE_IMAGE_REGISTRY ?= docker.io
|
||||
BASE_IMAGE_PATH ?=
|
||||
OUTPUT_IMAGE_REGISTRY ?= docker.io
|
||||
OUTPUT_IMAGE_PATH ?= dockcross
|
||||
|
||||
# Defines the level of verification (error, warning, info...)
|
||||
SHELLCHECK_SEVERITY_LEVEL := error
|
||||
# Docker Config
|
||||
DOCKER_EXEC ?= docker
|
||||
PROGRESS_OUTPUT ?= plain
|
||||
|
||||
#
|
||||
# images: This target builds all IMAGES (because it is the first one, it is built by default)
|
||||
#
|
||||
images: base $(IMAGES)
|
||||
PUSH_ON_BUILD ?= false
|
||||
ifeq ($(PUSH_ON_BUILD),true)
|
||||
DOCKER_DRIVER := --push
|
||||
BUILD_IMAGE_ARGS += --sbom=true --provenance=true
|
||||
BUILD_IMAGE_ARGS += --cache-from=type=registry,ref=$(OUTPUT_IMAGE_FINAL):cache
|
||||
BUILD_IMAGE_ARGS += --cache-to=type=registry,ref=$(OUTPUT_IMAGE_FINAL):cache,mode=max
|
||||
else
|
||||
DOCKER_DRIVER := --load
|
||||
endif
|
||||
|
||||
#
|
||||
# test: This target ensures all IMAGES are built and run the associated tests
|
||||
#
|
||||
test: base.test $(addsuffix .test,$(IMAGES))
|
||||
ARCH_LIST ?= linux/$(HOST_ARCH)
|
||||
PLATFORMS ?= $(subst $(space),$(comma),$(strip $(ARCH_LIST)))
|
||||
TMPFS_SIZE ?= 4g
|
||||
|
||||
#
|
||||
# Generic Targets (can specialize later).
|
||||
#
|
||||
DOCKER_BUILD_NETWORK ?= host
|
||||
|
||||
$(GEN_IMAGE_DOCKERFILES) Dockerfile: %Dockerfile: %Dockerfile.in $(DOCKER_COMPOSITE_PATH)
|
||||
sed \
|
||||
-e '/common.docker/ r $(DOCKER_COMPOSITE_FOLDER_PATH)common.docker' \
|
||||
-e '/common.debian/ r $(DOCKER_COMPOSITE_FOLDER_PATH)common.debian' \
|
||||
-e '/common.manylinux/ r $(DOCKER_COMPOSITE_FOLDER_PATH)common.manylinux' \
|
||||
-e '/common.crosstool/ r $(DOCKER_COMPOSITE_FOLDER_PATH)common.crosstool' \
|
||||
-e '/common.buildroot/ r $(DOCKER_COMPOSITE_FOLDER_PATH)common.buildroot' \
|
||||
-e '/common-manylinux.crosstool/ r $(DOCKER_COMPOSITE_FOLDER_PATH)common-manylinux.crosstool' \
|
||||
-e '/common.webassembly/ r $(DOCKER_COMPOSITE_FOLDER_PATH)common.webassembly' \
|
||||
-e '/common.windows/ r $(DOCKER_COMPOSITE_FOLDER_PATH)common.windows' \
|
||||
-e '/common.dockcross/ r $(DOCKER_COMPOSITE_FOLDER_PATH)common.dockcross' \
|
||||
-e '/common.label-and-env/ r $(DOCKER_COMPOSITE_FOLDER_PATH)common.label-and-env' \
|
||||
$< > $@
|
||||
# Folders
|
||||
COMMON_DIR ?= common
|
||||
BIN_DIR ?= ./bin
|
||||
TEST_SCRATCH_DIR ?= ./.dockcross-test-cache
|
||||
|
||||
#
|
||||
# web-wasm
|
||||
#
|
||||
web-wasm: web-wasm/Dockerfile
|
||||
mkdir -p $@/imagefiles && cp -r imagefiles $@/
|
||||
cp -r test web-wasm/
|
||||
$(DOCKER) build -t $(ORG)/web-wasm:latest \
|
||||
-t $(ORG)/web-wasm:$(TAG) \
|
||||
--build-arg IMAGE=$(ORG)/web-wasm \
|
||||
--build-arg VCS_REF=`git rev-parse --short HEAD` \
|
||||
--build-arg VCS_URL=`git config --get remote.origin.url` \
|
||||
--build-arg BUILD_DATE=`date -u +"%Y-%m-%dT%H:%M:%SZ"` \
|
||||
web-wasm
|
||||
rm -rf web-wasm/test
|
||||
rm -rf $@/imagefiles
|
||||
EXTRA_TESTS ?=
|
||||
|
||||
web-wasm.test: web-wasm
|
||||
cp -r test web-wasm/
|
||||
$(DOCKER) run $(RM) $(ORG)/web-wasm > $(BIN)/dockcross-web-wasm && chmod +x $(BIN)/dockcross-web-wasm
|
||||
$(BIN)/dockcross-web-wasm python test/run.py --exe-suffix ".js"
|
||||
rm -rf web-wasm/test
|
||||
ORG ?= $(OUTPUT_IMAGE_REGISTRY)/$(OUTPUT_IMAGE_PATH)
|
||||
|
||||
#
|
||||
# manylinux2014-aarch64
|
||||
#
|
||||
manylinux2014-aarch64: manylinux2014-aarch64/Dockerfile
|
||||
@# Register qemu
|
||||
docker run --rm --privileged hypriot/qemu-register
|
||||
@# Get libstdc++ from quay.io/pypa/manylinux2014_aarch64 container
|
||||
docker run -v `pwd`:/host --rm -e LIB_PATH=/host/$@/xc_script/ quay.io/pypa/manylinux2014_aarch64 bash -c "PASS=1 /host/$@/xc_script/docker_setup_scrpits/copy_libstd.sh"
|
||||
mkdir -p $@/imagefiles && cp -r imagefiles $@/
|
||||
$(DOCKER) build -t $(ORG)/manylinux2014-aarch64:latest \
|
||||
-t $(ORG)/manylinux2014-aarch64:$(TAG) \
|
||||
--build-arg IMAGE=$(ORG)/manylinux2014-aarch64 \
|
||||
--build-arg VCS_REF=`git rev-parse --short HEAD` \
|
||||
--build-arg VCS_URL=`git config --get remote.origin.url` \
|
||||
--build-arg BUILD_DATE=`date -u +"%Y-%m-%dT%H:%M:%SZ"` \
|
||||
-f manylinux2014-aarch64/Dockerfile .
|
||||
rm -rf $@/imagefiles
|
||||
@# libstdc++ is coppied into image, now remove it
|
||||
docker run -v `pwd`:/host --rm quay.io/pypa/manylinux2014_aarch64 bash -c "rm -rf /host/$@/xc_script/usr"
|
||||
DOCKER_COMPOSITE_SOURCES = common.docker common.debian \
|
||||
common.manylinux2014 common.manylinux_2_28 common.manylinux_2_34 \
|
||||
common.buildroot common.crosstool common.webassembly common.windows \
|
||||
common-manylinux.crosstool common-manylinux_2_28.crosstool common-manylinux_2_34.crosstool \
|
||||
common.dockcross common.label-and-env
|
||||
|
||||
manylinux2014-aarch64.test: manylinux2014-aarch64
|
||||
$(DOCKER) run $(RM) $(ORG)/manylinux2014-aarch64 > $(BIN)/dockcross-manylinux2014-aarch64 \
|
||||
&& chmod +x $(BIN)/dockcross-manylinux2014-aarch64
|
||||
$(BIN)/dockcross-manylinux2014-aarch64 /opt/python/cp38-cp38/bin/python test/run.py
|
||||
# RUN/TEST
|
||||
TEST_IMAGE_CMD ?= python3 test/run.py
|
||||
TEST_IMAGE_ARGS ?=
|
||||
RUN_IMAGE_CMD ?= /bin/bash
|
||||
RUN_IMAGE_ARGS ?=
|
||||
|
||||
#
|
||||
# manylinux2014-x64
|
||||
#
|
||||
manylinux2014-x64: manylinux2014-x64/Dockerfile
|
||||
mkdir -p $@/imagefiles && cp -r imagefiles $@/
|
||||
$(DOCKER) build -t $(ORG)/manylinux2014-x64:latest \
|
||||
-t $(ORG)/manylinux2014-x64:$(TAG) \
|
||||
--build-arg IMAGE=$(ORG)/manylinux2014-x64 \
|
||||
--build-arg VCS_REF=`git rev-parse --short HEAD` \
|
||||
--build-arg VCS_URL=`git config --get remote.origin.url` \
|
||||
--build-arg BUILD_DATE=`date -u +"%Y-%m-%dT%H:%M:%SZ"` \
|
||||
-f manylinux2014-x64/Dockerfile .
|
||||
rm -rf $@/imagefiles
|
||||
BUILD_CONTEXT_DIR ?=
|
||||
STATIC_DOCKERFILE ?= no
|
||||
DEPENDS_ON ?= base.build
|
||||
EXTRA_BUILD_ARGS ?=
|
||||
|
||||
manylinux2014-x64.test: manylinux2014-x64
|
||||
$(DOCKER) run $(RM) $(ORG)/manylinux2014-x64 > $(BIN)/dockcross-manylinux2014-x64 \
|
||||
&& chmod +x $(BIN)/dockcross-manylinux2014-x64
|
||||
$(BIN)/dockcross-manylinux2014-x64 /opt/python/cp38-cp38/bin/python test/run.py
|
||||
BIND_HOST_DIR := $(shell pwd)
|
||||
BIND_CONTAINER_DIR ?= /work
|
||||
WORKDIR ?= /work
|
||||
|
||||
#
|
||||
# manylinux2014-x86
|
||||
#
|
||||
manylinux2014-x86: manylinux2014-x86/Dockerfile
|
||||
mkdir -p $@/imagefiles && cp -r imagefiles $@/
|
||||
$(DOCKER) build -t $(ORG)/manylinux2014-x86:latest \
|
||||
-t $(ORG)/manylinux2014-x86:$(TAG) \
|
||||
--build-arg IMAGE=$(ORG)/manylinux2014-x86 \
|
||||
--build-arg VCS_REF=`git rev-parse --short HEAD` \
|
||||
--build-arg VCS_URL=`git config --get remote.origin.url` \
|
||||
--build-arg BUILD_DATE=`date -u +"%Y-%m-%dT%H:%M:%SZ"` \
|
||||
-f manylinux2014-x86/Dockerfile .
|
||||
rm -rf $@/imagefiles
|
||||
# Automatic variables
|
||||
CURRENT_USER := $(shell whoami)
|
||||
UID := $(shell id -u ${CURRENT_USER})
|
||||
GID := $(shell id -g ${CURRENT_USER})
|
||||
CURRENT_GROUP := $(shell id -gn ${CURRENT_USER})
|
||||
|
||||
manylinux2014-x86.test: manylinux2014-x86
|
||||
$(DOCKER) run $(RM) $(ORG)/manylinux2014-x86 > $(BIN)/dockcross-manylinux2014-x86 \
|
||||
&& chmod +x $(BIN)/dockcross-manylinux2014-x86
|
||||
$(BIN)/dockcross-manylinux2014-x86 /opt/python/cp38-cp38/bin/python test/run.py
|
||||
BUILDER_ENV := -e BUILDER_UID=$(UID) -e BUILDER_GID=$(GID) -e BUILDER_USER=$(CURRENT_USER) -e BUILDER_GROUP=$(CURRENT_GROUP)
|
||||
DATE := $(shell date -u +"%Y%m%d")
|
||||
GIT_SHA := $(shell git rev-parse --short HEAD 2>/dev/null || echo nogit)
|
||||
GIT_ORIGIN := $(shell git config --get remote.origin.url 2>/dev/null || echo unknown)
|
||||
UUID := $(shell uuidgen)
|
||||
|
||||
base: Dockerfile imagefiles/
|
||||
$(DOCKER) build -t $(ORG)/base:latest \
|
||||
-t $(ORG)/base:$(TAG) \
|
||||
--build-arg IMAGE=$(ORG)/base \
|
||||
--build-arg VCS_URL=`git config --get remote.origin.url` \
|
||||
.
|
||||
TRIVY_IMAGE ?= aquasec/trivy:0.68.2
|
||||
HADOLINT_IMAGE ?= hadolint/hadolint:v2.14.0
|
||||
SHELLCHECK_IMAGE ?= koalaman/shellcheck:stable
|
||||
|
||||
base.test: base
|
||||
$(DOCKER) run $(RM) $(ORG)/base > $(BIN)/dockcross-base && chmod +x $(BIN)/dockcross-base
|
||||
# Tag images with date and Git short hash, mirroring the historical dockcross tagging scheme
|
||||
TAG := $(DATE)-$(GIT_SHA)
|
||||
|
||||
comma := ,
|
||||
space := $(subst ,, )
|
||||
|
||||
# ==============================================================================
|
||||
# Presets logic
|
||||
# ==============================================================================
|
||||
|
||||
PRESET_TARGETS := all help build test push pull generate scan lint update clean run inspect sbom script \
|
||||
rebuild sign history cache check prepare-imagefiles test-extra
|
||||
.PHONY: $(ALL_PRESETS)
|
||||
|
||||
.DEFAULT_GOAL := list
|
||||
|
||||
define BIND_PRESET_DEPENDENCIES
|
||||
$(1).test: $(1).build
|
||||
$(1).run: $(1).build
|
||||
$(1).push: $(1).test
|
||||
$(1).scan: $(1).build
|
||||
$(1).lint: $(1).generate
|
||||
$(1).sbom: $(1).build
|
||||
$(1).inspect: $(1).build
|
||||
$(1).history: $(1).build
|
||||
$(1).script: $(1).build
|
||||
endef
|
||||
|
||||
$(foreach p,$(ALL_PRESETS),$(eval $(call BIND_PRESET_DEPENDENCIES,$(p))))
|
||||
|
||||
# Generate final image names
|
||||
ifeq ($(strip $(BASE_IMAGE_PATH)),)
|
||||
BASE_IMAGE_FINAL := $(BASE_IMAGE_REGISTRY)/$(BASE_IMAGE_NAME)
|
||||
else
|
||||
BASE_IMAGE_FINAL := $(BASE_IMAGE_REGISTRY)/$(BASE_IMAGE_PATH)/$(BASE_IMAGE_NAME)
|
||||
endif
|
||||
|
||||
OUTPUT_IMAGE_FINAL := $(ORG)/$(OUTPUT_IMAGE_NAME)
|
||||
|
||||
# ==============================================================================
|
||||
# Mandatory variables check
|
||||
# ==============================================================================
|
||||
MANDATORY_VARS = BASE_IMAGE_NAME BASE_IMAGE_TAG OUTPUT_IMAGE_NAME OUTPUT_IMAGE_REGISTRY \
|
||||
OUTPUT_IMAGE_PATH BASE_IMAGE_REGISTRY
|
||||
|
||||
# ==============================================================================
|
||||
# Useful functions
|
||||
# ==============================================================================
|
||||
define docker-tags
|
||||
$(OUTPUT_IMAGE_FINAL):latest \
|
||||
$(OUTPUT_IMAGE_FINAL):latest-$(HOST_ARCH) \
|
||||
$(OUTPUT_IMAGE_FINAL):$(TAG)
|
||||
endef
|
||||
|
||||
define docker-push-tags
|
||||
$(OUTPUT_IMAGE_FINAL):latest \
|
||||
$(OUTPUT_IMAGE_FINAL):$(TAG)
|
||||
endef
|
||||
|
||||
define docker-run-cmd
|
||||
$(DOCKER_EXEC) run --rm $(1) $(BUILDER_ENV) \
|
||||
--security-opt no-new-privileges \
|
||||
--mount type=bind,source=$(BIND_HOST_DIR),target=$(BIND_CONTAINER_DIR) \
|
||||
--workdir $(WORKDIR) \
|
||||
--mount type=tmpfs,target=/tmp,tmpfs-mode=1777,tmpfs-size=$(TMPFS_SIZE) \
|
||||
--platform $(firstword $(ARCH_LIST)) \
|
||||
--name $(OUTPUT_IMAGE_NAME)-$(UUID) \
|
||||
$(OUTPUT_IMAGE_FINAL):latest $(2) $(3)
|
||||
endef
|
||||
|
||||
define extra-test-run
|
||||
$(DOCKER_EXEC) run --rm $(BUILDER_ENV) \
|
||||
--mount type=bind,source=$(abspath $(TEST_SCRATCH_DIR)/$(1)),target=/work \
|
||||
--workdir /work \
|
||||
--platform $(firstword $(ARCH_LIST)) \
|
||||
$(OUTPUT_IMAGE_FINAL):latest bash -c "$(2)"
|
||||
endef
|
||||
|
||||
# ==============================================================================
|
||||
# Preset targets
|
||||
# ==============================================================================
|
||||
|
||||
.PHONY: %.all %.generate %.build %.test %.run %.push %.pull %.scan %.clean %.prune %.update %.lint %.inspect %.sbom %.script %.prepare-imagefiles \
|
||||
%.rebuild %.sign %.history %.cache %.check %.test-extra \
|
||||
%.test-stockfish %.test-ninja %.test-openssl %.test-C %.test-SQLite %.test-llama_cpp \
|
||||
%.test-fmt %.test-cpython %.test-raylib %.test-mbedtls %.test-libopencm3
|
||||
|
||||
$(ALL_PRESETS): %: %.build
|
||||
|
||||
%.all: %.update %.generate %.build %.test %.check %.push ;
|
||||
|
||||
.PHONY: %.guard
|
||||
%.guard:
|
||||
$(foreach v,$(MANDATORY_VARS), \
|
||||
$(if $(strip $($(v))),, \
|
||||
$(error Missing mandatory var: $(v) (preset=$*))))
|
||||
|
||||
%.generate: %.guard %.clean
|
||||
ifeq ($(STATIC_DOCKERFILE),yes)
|
||||
@test -f $(call preset-path,$*)/Dockerfile || \
|
||||
(echo "Missing committed Dockerfile for $* (STATIC_DOCKERFILE=yes)" && exit 1)
|
||||
else
|
||||
@echo ">>> Generating Dockerfile for $*"
|
||||
@sed $(foreach f,$(DOCKER_COMPOSITE_SOURCES),\
|
||||
-e '/$(f)/ r $(COMMON_DIR)/$(f)') \
|
||||
$(call preset-path,$*)/Dockerfile.in > $(call preset-path,$*)/Dockerfile
|
||||
endif
|
||||
|
||||
%.prepare-imagefiles:
|
||||
@ctx="$(call build-context-dir,$*)"; \
|
||||
if [ "$$ctx" != "$(PRESET_DIR)" ]; then \
|
||||
mkdir -p "$$ctx/imagefiles" && cp -r $(PRESET_DIR)/imagefiles/. "$$ctx/imagefiles/"; \
|
||||
fi
|
||||
|
||||
%.build: %.generate %.prepare-imagefiles
|
||||
@$(DOCKER_EXEC) image inspect $(BASE_IMAGE_FINAL):$(BASE_IMAGE_TAG) >/dev/null 2>&1 || \
|
||||
{ $(foreach d,$(DEPENDS_ON),$(MAKE) $(d);) true; }
|
||||
$(DOCKER_EXEC) buildx build $(call build-context-dir,$*) \
|
||||
--file $(call preset-path,$*)/Dockerfile \
|
||||
--network $(DOCKER_BUILD_NETWORK) \
|
||||
--platform $(PLATFORMS) --progress $(PROGRESS_OUTPUT) \
|
||||
$(foreach tag,$(call docker-tags),--tag $(tag)) \
|
||||
--build-arg BUILD_DATE=$(DATE) \
|
||||
--build-arg ORG=$(ORG) \
|
||||
--build-arg HOST_ARCH=$(HOST_ARCH) \
|
||||
--build-arg IMAGE=$(ORG)/$(OUTPUT_IMAGE_NAME) \
|
||||
--build-arg VERSION=$(TAG) \
|
||||
--build-arg VCS_REF=$(GIT_SHA) \
|
||||
--build-arg VCS_URL=$(GIT_ORIGIN) \
|
||||
--build-arg AUTHOR=$(AUTHOR) \
|
||||
--build-arg URL=$(WEB_SITE) \
|
||||
--build-arg BASE_IMAGE=$(BASE_IMAGE_FINAL):$(BASE_IMAGE_TAG) \
|
||||
--build-arg BASE_IMAGE_NAME=$(BASE_IMAGE_NAME) \
|
||||
--build-arg BASE_IMAGE_TAG=$(BASE_IMAGE_TAG) \
|
||||
$(EXTRA_BUILD_ARGS) \
|
||||
$(BUILD_IMAGE_ARGS) $(DOCKER_DRIVER)
|
||||
|
||||
%.script: %.build
|
||||
@mkdir -p $(BIN_DIR)
|
||||
$(DOCKER_EXEC) run --rm $(OUTPUT_IMAGE_FINAL):latest > $(BIN_DIR)/dockcross-$* && chmod +x $(BIN_DIR)/dockcross-$*
|
||||
|
||||
%.test: %.build %.script
|
||||
$(call docker-run-cmd,,$(TEST_IMAGE_CMD),$(TEST_IMAGE_ARGS))
|
||||
|
||||
%.run: %.build
|
||||
$(call docker-run-cmd,-it,$(RUN_IMAGE_CMD),$(RUN_IMAGE_ARGS))
|
||||
|
||||
# ==============================================================================
|
||||
# Extra tests
|
||||
# ==============================================================================
|
||||
|
||||
%.test-extra: %.build
|
||||
@$(foreach t,$(EXTRA_TESTS),$(MAKE) $*.test-$(t);)
|
||||
|
||||
%.test-stockfish: %.build
|
||||
rm -rf $(TEST_SCRATCH_DIR)/stockfish
|
||||
git clone --depth 1 --branch sf_17.1 https://github.com/official-stockfish/Stockfish.git $(TEST_SCRATCH_DIR)/stockfish
|
||||
$(call extra-test-run,stockfish,make -C src net && make -C src build $(STOCKFISH_ARGS) -j$$(nproc))
|
||||
rm -rf $(TEST_SCRATCH_DIR)/stockfish
|
||||
|
||||
%.test-ninja: %.build
|
||||
rm -rf $(TEST_SCRATCH_DIR)/ninja
|
||||
git clone --depth 1 --branch v1.11.1 https://github.com/ninja-build/ninja.git $(TEST_SCRATCH_DIR)/ninja
|
||||
$(call extra-test-run,ninja,cmake -Bbuild -S. -GNinja $(NINJA_ARGS) && cmake --build build)
|
||||
rm -rf $(TEST_SCRATCH_DIR)/ninja
|
||||
|
||||
%.test-openssl: %.build
|
||||
rm -rf $(TEST_SCRATCH_DIR)/openssl
|
||||
git clone --depth 1 --branch OpenSSL_1_1_1w https://github.com/openssl/openssl.git $(TEST_SCRATCH_DIR)/openssl
|
||||
cd $(TEST_SCRATCH_DIR)/openssl && \
|
||||
wget -q https://raw.githubusercontent.com/mavlink/MAVSDK/17ad598f0e004d225f5e939aa2947a95791f2f9b/cpp/third_party/openssl/dockcross-android.patch && \
|
||||
patch -p0 < dockcross-android.patch
|
||||
$(call extra-test-run,openssl,./Configure $(OPENSSL_ARGS) && make -j$$(nproc))
|
||||
rm -rf $(TEST_SCRATCH_DIR)/openssl
|
||||
|
||||
%.test-C: %.build
|
||||
rm -rf $(TEST_SCRATCH_DIR)/C
|
||||
git clone https://github.com/TheAlgorithms/C.git $(TEST_SCRATCH_DIR)/C
|
||||
cd $(TEST_SCRATCH_DIR)/C && git checkout b0a41bb38c67ddebb31d3fe06d11e171410c3379
|
||||
$(call extra-test-run,C,cmake -Bbuild -S. -GNinja $(C_ARGS) && cmake --build build)
|
||||
rm -rf $(TEST_SCRATCH_DIR)/C
|
||||
|
||||
%.test-SQLite: %.build
|
||||
rm -rf $(TEST_SCRATCH_DIR)/sqlite
|
||||
git clone https://github.com/sqlite/sqlite.git $(TEST_SCRATCH_DIR)/sqlite
|
||||
cd $(TEST_SCRATCH_DIR)/sqlite && git checkout 1cf61ce636915a5e92d4aa883755cee258aa98d6
|
||||
$(call extra-test-run,sqlite,./configure $(SQLITE_ARGS) && make -j$$(nproc) sqlite3 sqlite3.c sqldiff)
|
||||
rm -rf $(TEST_SCRATCH_DIR)/sqlite
|
||||
|
||||
%.test-llama_cpp: %.build
|
||||
rm -rf $(TEST_SCRATCH_DIR)/llama.cpp
|
||||
git clone https://github.com/ggerganov/llama.cpp.git $(TEST_SCRATCH_DIR)/llama.cpp
|
||||
cd $(TEST_SCRATCH_DIR)/llama.cpp && git checkout 76614f352e94d25659306d9e97321f204e5de0d3
|
||||
$(call extra-test-run,llama.cpp,cmake -Bbuild -S. -GNinja $(LLAMA_CPP_ARGS) && cmake --build build)
|
||||
rm -rf $(TEST_SCRATCH_DIR)/llama.cpp
|
||||
|
||||
%.test-fmt: %.build
|
||||
rm -rf $(TEST_SCRATCH_DIR)/fmt
|
||||
git clone --depth 1 --branch 9.1.0 https://github.com/fmtlib/fmt.git $(TEST_SCRATCH_DIR)/fmt
|
||||
$(call extra-test-run,fmt,cmake -Bbuild -S. -GNinja $(FMT_ARGS) -DFMT_DOC=OFF && cmake --build build)
|
||||
rm -rf $(TEST_SCRATCH_DIR)/fmt
|
||||
|
||||
%.test-cpython: %.build
|
||||
rm -rf $(TEST_SCRATCH_DIR)/cpython
|
||||
git clone --depth 1 --branch v3.11.2 https://github.com/python/cpython.git $(TEST_SCRATCH_DIR)/cpython
|
||||
$(call extra-test-run,cpython,./configure ac_cv_file__dev_ptmx=no ac_cv_file__dev_ptc=no --disable-ipv6 $(CPYTHON_ARGS) --build=x86_64-linux-gnu --with-build-python --enable-shared && make -j$$(nproc))
|
||||
rm -rf $(TEST_SCRATCH_DIR)/cpython
|
||||
|
||||
%.test-raylib: %.build
|
||||
rm -rf $(TEST_SCRATCH_DIR)/raylib
|
||||
git clone https://github.com/raysan5/raylib.git $(TEST_SCRATCH_DIR)/raylib
|
||||
cd $(TEST_SCRATCH_DIR)/raylib && git checkout a12ddacb7bfbc6e552e6145456f2fe6dfdfbe1c7
|
||||
$(call extra-test-run,raylib,cmake -Bbuild -S. -GNinja $(RAYLIB_ARGS) && cmake --build build)
|
||||
rm -rf $(TEST_SCRATCH_DIR)/raylib
|
||||
|
||||
%.test-mbedtls: %.build
|
||||
rm -rf $(TEST_SCRATCH_DIR)/mbedtls
|
||||
git clone --depth 1 --branch archive/baremetal https://github.com/Mbed-TLS/mbedtls.git $(TEST_SCRATCH_DIR)/mbedtls
|
||||
$(call extra-test-run,mbedtls,scripts/config.pl baremetal && cmake -Bbuild -S. -GNinja $(MBEDTLS_ARGS) && cmake --build build)
|
||||
rm -rf $(TEST_SCRATCH_DIR)/mbedtls
|
||||
|
||||
%.test-libopencm3: %.build
|
||||
rm -rf $(TEST_SCRATCH_DIR)/libopencm3
|
||||
git clone https://github.com/libopencm3/libopencm3.git $(TEST_SCRATCH_DIR)/libopencm3
|
||||
cd $(TEST_SCRATCH_DIR)/libopencm3 && git checkout 467522778329d6f41781a6c951b77d6ff6744de6
|
||||
$(call extra-test-run,libopencm3,make $(LIBOPENCM3_ARGS) -j$$(nproc))
|
||||
rm -rf $(TEST_SCRATCH_DIR)/libopencm3
|
||||
|
||||
%.push: %.test
|
||||
$(foreach tag,$(call docker-push-tags),$(DOCKER_EXEC) push $(tag) &&) true
|
||||
|
||||
%.pull:
|
||||
$(foreach tag,$(call docker-push-tags),$(DOCKER_EXEC) pull $(tag) &&) true
|
||||
|
||||
%.update:
|
||||
@echo ">>> Updating base image for $*"
|
||||
$(DOCKER_EXEC) pull $(BASE_IMAGE_FINAL):$(BASE_IMAGE_TAG)
|
||||
|
||||
%.clean:
|
||||
@echo "Cleaning generated Dockerfile for $*"
|
||||
ifneq ($(STATIC_DOCKERFILE),yes)
|
||||
@rm -f $(call preset-path,$*)/Dockerfile
|
||||
endif
|
||||
@ctx="$(call build-context-dir,$*)"; \
|
||||
if [ "$$ctx" != "$(PRESET_DIR)" ]; then rm -rf "$$ctx/imagefiles"; fi
|
||||
|
||||
%.prune: %.clean
|
||||
$(DOCKER_EXEC) builder prune -f --filter name=$(OUTPUT_IMAGE_FINAL)
|
||||
|
||||
%.inspect:
|
||||
$(DOCKER_EXEC) image inspect \
|
||||
$(OUTPUT_IMAGE_FINAL):latest
|
||||
|
||||
%.rebuild:
|
||||
$(MAKE) $*.clean
|
||||
$(MAKE) $*.build BUILD_IMAGE_ARGS="--no-cache"
|
||||
|
||||
%.history:
|
||||
$(DOCKER_EXEC) history \
|
||||
$(OUTPUT_IMAGE_FINAL):latest
|
||||
|
||||
%.sbom:
|
||||
syft $(OUTPUT_IMAGE_FINAL):latest -o spdx-json > $*.sbom.json
|
||||
|
||||
%.sign:
|
||||
cosign sign $(OUTPUT_IMAGE_FINAL):latest
|
||||
|
||||
%.scan:
|
||||
$(DOCKER_EXEC) run --rm \
|
||||
-v /var/run/docker.sock:/var/run/docker.sock \
|
||||
$(TRIVY_IMAGE) \
|
||||
image --severity HIGH,CRITICAL \
|
||||
$(OUTPUT_IMAGE_FINAL):latest
|
||||
|
||||
%.lint: %.generate
|
||||
$(DOCKER_EXEC) run --rm -i $(HADOLINT_IMAGE) < $(call preset-path,$*)/Dockerfile
|
||||
|
||||
%.check: %.lint %.scan %.sbom
|
||||
|
||||
%.cache:
|
||||
$(DOCKER_EXEC) buildx imagetools inspect $(OUTPUT_IMAGE_FINAL):cache
|
||||
|
||||
# ==============================================================================
|
||||
# Global targets
|
||||
# ==============================================================================
|
||||
.PHONY: $(PRESET_TARGETS) clean purge list display_images bash-check
|
||||
|
||||
%-all:
|
||||
@$(foreach p,$(ALL_PRESETS),$(MAKE) $(p).$* &&) true
|
||||
|
||||
list:
|
||||
@echo "Available presets:"
|
||||
@$(foreach p,$(ALL_PRESETS),echo " - $(p)";)
|
||||
|
||||
# display
|
||||
#
|
||||
display_images:
|
||||
for image in $(IMAGES); do echo $$image; done
|
||||
@$(foreach p,$(filter-out base,$(ALL_PRESETS)),echo $(p);)
|
||||
|
||||
$(VERBOSE).SILENT: display_images
|
||||
|
||||
#
|
||||
# build implicit rule
|
||||
#
|
||||
|
||||
$(STANDARD_IMAGES): %: %/Dockerfile base
|
||||
mkdir -p $@/imagefiles && cp -r imagefiles $@/
|
||||
$(DOCKER) build -t $(ORG)/$@:latest \
|
||||
-t $(ORG)/$@:$(TAG) \
|
||||
--build-arg IMAGE=$(ORG)/$@ \
|
||||
--build-arg VCS_REF=`git rev-parse --short HEAD` \
|
||||
--build-arg VCS_URL=`git config --get remote.origin.url` \
|
||||
--build-arg BUILD_DATE=`date -u +"%Y-%m-%dT%H:%M:%SZ"` \
|
||||
$@
|
||||
rm -rf $@/imagefiles
|
||||
|
||||
clean:
|
||||
for d in $(IMAGES) ; do rm -rf $$d/imagefiles ; done
|
||||
for d in $(IMAGES) ; do rm -rf $(BIN)/dockcross-$$d ; done
|
||||
for d in $(GEN_IMAGE_DOCKERFILES) ; do rm -f $$d ; done
|
||||
rm -f Dockerfile
|
||||
@$(foreach p,$(ALL_PRESETS),$(MAKE) $(p).clean &&) true
|
||||
@rm -rf $(BIN_DIR)
|
||||
|
||||
purge: clean
|
||||
# Remove all untagged images
|
||||
$(DOCKER) container ls -aq | xargs -r $(DOCKER) container rm -f
|
||||
# Remove all images with organization (ex dockcross/*)
|
||||
$(DOCKER) images --filter=reference='$(ORG)/*' --format='{{.Repository}}:{{.Tag}}' | xargs -r $(DOCKER) rmi -f
|
||||
$(DOCKER_EXEC) images --filter='reference=$(ORG)/*' --format='{{.Repository}}:{{.Tag}}' | xargs -r $(DOCKER_EXEC) rmi -f
|
||||
$(DOCKER_EXEC) builder prune -f
|
||||
|
||||
# Check bash syntax
|
||||
bash-check:
|
||||
find . -type f \( -name "*.sh" -o -name "*.bash" \) -print0 | xargs -0 -P"$(shell nproc)" -I{} \
|
||||
$(SHELLCHECK) --check-sourced --color=auto --format=gcc --severity=warning --shell=bash --enable=all "{}"
|
||||
$(DOCKER_EXEC) run --rm -v "$(PWD)":/mnt -w /mnt $(SHELLCHECK_IMAGE) --check-sourced --color=auto --format=gcc --severity=warning --shell=bash --enable=all "{}"
|
||||
|
||||
#
|
||||
# testing implicit rule
|
||||
#
|
||||
.SECONDEXPANSION:
|
||||
$(addsuffix .test,$(STANDARD_IMAGES)): $$(basename $$@)
|
||||
$(DOCKER) run $(RM) $(ORG)/$(basename $@) > $(BIN)/dockcross-$(basename $@) \
|
||||
&& chmod +x $(BIN)/dockcross-$(basename $@)
|
||||
$(BIN)/dockcross-$(basename $@) python3 test/run.py $($@_ARGS)
|
||||
docker-container-builder:
|
||||
$(DOCKER_EXEC) buildx create --name mybuilder --use
|
||||
$(DOCKER_EXEC) buildx inspect --bootstrap
|
||||
$(DOCKER_EXEC) buildx inspect mybuilder
|
||||
|
||||
#
|
||||
# testing prerequisites implicit rule
|
||||
#
|
||||
test.prerequisites:
|
||||
mkdir -p $(BIN)
|
||||
|
||||
$(addsuffix .test,base $(IMAGES)): test.prerequisites
|
||||
|
||||
.PHONY: base images $(IMAGES) test %.test clean purge bash-check display_images
|
||||
docker-default-builder:
|
||||
$(DOCKER_EXEC) buildx use default
|
||||
|
||||
+440
@@ -0,0 +1,440 @@
|
||||
|
||||
#
|
||||
# Parameters
|
||||
#
|
||||
|
||||
# Name of the docker-equivalent executable for building images.
|
||||
# OCI: open container interface.
|
||||
# Common values: docker, podman, buildah
|
||||
DOCKER := $(or $(OCI_EXE), docker)
|
||||
BUILD_DOCKER := $(or $(BUILD_DOCKER), $(DOCKER))
|
||||
MANIFEST_TOOL := $(or $(MANIFEST_TOOL_EXE), manifest-tool)
|
||||
RM = --rm
|
||||
|
||||
# Name of the docker-equivalent executable for running test containers.
|
||||
# Supports the use case:
|
||||
#
|
||||
# DOCKER=buildah
|
||||
# TEST_DOCKER=podman
|
||||
#
|
||||
# because buildah does not run containers.
|
||||
TEST_DOCKER := $(or $(TEST_DOCKER), $(DOCKER))
|
||||
|
||||
# The build sub-command. Use:
|
||||
#
|
||||
# export "BUILD_CMD=buildx build --platform linux/amd64,linux/arm64"
|
||||
#
|
||||
# to generate multi-platform images.
|
||||
BUILD_CMD := $(or $(BUILD_CMD), build)
|
||||
TAG_FLAG := $(or $(TAG_FLAG), --tag)
|
||||
|
||||
# Docker organization to pull the images from
|
||||
ORG = dockcross
|
||||
|
||||
# Host architecture
|
||||
HOST_ARCH := $(or $(HOST_ARCH), $(shell uname -m | sed -e 's/x86_64/amd64/' -e 's/aarch64/arm64/'))
|
||||
|
||||
# Directory where to generate the dockcross script for each images (e.g bin/dockcross-manylinux2014-x64)
|
||||
BIN = ./bin
|
||||
|
||||
# These images are built using the "build implicit rule"
|
||||
STANDARD_IMAGES := android-arm android-arm64 android-x86 android-x86_64 \
|
||||
linux-i686 linux-x86 linux-x64 linux-x64-clang linux-arm64-musl linux-arm64-full \
|
||||
linux-armv5 linux-armv5-musl linux-armv5-uclibc linux-m68k-uclibc linux-s390x linux-x64-tinycc \
|
||||
linux-armv6 linux-armv6-lts linux-armv6-musl linux-arm64-lts linux-mipsel-lts \
|
||||
linux-armv7l-musl linux-armv7 linux-armv7a linux-armv7-lts linux-armv7a-lts linux-x86_64-full \
|
||||
linux-loongarch64 linux-mips linux-mips-uclibc linux-mips-lts \
|
||||
linux-ppc linux-ppc64le linux-ppc64le-lts linux-riscv64 linux-riscv32 linux-xtensa-uclibc \
|
||||
windows-static-x86 windows-static-x64 windows-static-x64-posix windows-armv7 \
|
||||
windows-shared-x86 windows-shared-x64 windows-shared-x64-posix windows-arm64 \
|
||||
bare-armv7emhf-nano_newlib
|
||||
|
||||
# Generated Dockerfiles.
|
||||
GEN_IMAGES := android-arm android-arm64 \
|
||||
linux-i686 linux-x86 linux-x64 linux-x64-clang linux-arm64 linux-arm64-musl linux-arm64-full \
|
||||
manylinux_2_28-x64 manylinux_2_34-x64 \
|
||||
manylinux2014-x64 manylinux2014-x86 \
|
||||
manylinux2014-aarch64 manylinux_2_28-aarch64 manylinux_2_34-aarch64 linux-arm64-lts \
|
||||
web-wasm web-wasi web-wasi-emulated-threads web-wasi-threads \
|
||||
linux-loongarch64 linux-mips linux-mips-uclibc linux-mips-lts windows-arm64 windows-armv7 \
|
||||
windows-static-x86 windows-static-x64 windows-static-x64-posix \
|
||||
windows-shared-x86 windows-shared-x64 windows-shared-x64-posix \
|
||||
linux-armv7 linux-armv7a linux-armv7l-musl linux-armv7-lts linux-armv7a-lts linux-x86_64-full \
|
||||
linux-armv6 linux-armv6-lts linux-armv6-musl linux-mipsel-lts \
|
||||
linux-armv5 linux-armv5-musl linux-armv5-uclibc linux-ppc linux-ppc64le linux-ppc64le-lts linux-s390x \
|
||||
linux-riscv64 linux-riscv32 linux-m68k-uclibc linux-x64-tinycc linux-xtensa-uclibc \
|
||||
bare-armv7emhf-nano_newlib
|
||||
|
||||
# Generate both amd64 and arm64 images
|
||||
MULTIARCH_IMAGES := linux-arm64 \
|
||||
web-wasi web-wasi-emulated-threads
|
||||
|
||||
GEN_IMAGE_DOCKERFILES = $(addsuffix /Dockerfile,$(GEN_IMAGES))
|
||||
|
||||
# These images are expected to have explicit rules for *both* build and testing
|
||||
NON_STANDARD_IMAGES := manylinux_2_28-x64 manylinux_2_34-x64 manylinux2014-x64 manylinux2014-x86 \
|
||||
manylinux2014-aarch64 manylinux_2_28-aarch64 manylinux_2_34-aarch64 web-wasm web-wasi-emulated-threads web-wasi-threads
|
||||
|
||||
# Docker composite files
|
||||
DOCKER_COMPOSITE_SOURCES = common.docker common.debian common.manylinux2014 common.manylinux_2_28 common.manylinux_2_34 common.buildroot \
|
||||
common.crosstool common.webassembly common.windows common-manylinux.crosstool common-manylinux_2_28.crosstool common-manylinux_2_34.crosstool common.dockcross \
|
||||
common.label-and-env
|
||||
DOCKER_COMPOSITE_FOLDER_PATH = common/
|
||||
DOCKER_COMPOSITE_PATH = $(addprefix $(DOCKER_COMPOSITE_FOLDER_PATH),$(DOCKER_COMPOSITE_SOURCES))
|
||||
|
||||
# This list all available images
|
||||
IMAGES := $(STANDARD_IMAGES) $(NON_STANDARD_IMAGES) $(MULTIARCH_IMAGES)
|
||||
|
||||
# Optional arguments for test runner (test/run.py) associated with "testing implicit rule"
|
||||
linux-x64-tinycc.test_ARGS = --languages C
|
||||
windows-static-x86.test_ARGS = --exe-suffix ".exe"
|
||||
windows-static-x64.test_ARGS = --exe-suffix ".exe"
|
||||
windows-static-x64-posix.test_ARGS = --exe-suffix ".exe"
|
||||
windows-shared-x86.test_ARGS = --exe-suffix ".exe"
|
||||
windows-shared-x64.test_ARGS = --exe-suffix ".exe"
|
||||
windows-shared-x64-posix.test_ARGS = --exe-suffix ".exe"
|
||||
windows-armv7.test_ARGS = --exe-suffix ".exe"
|
||||
windows-arm64.test_ARGS = --exe-suffix ".exe"
|
||||
bare-armv7emhf-nano_newlib.test_ARGS = --linker-flags="--specs=nosys.specs"
|
||||
|
||||
# Tag images with date and Git short hash in addition to revision
|
||||
TAG := $(shell date '+%Y%m%d')-$(shell git rev-parse --short HEAD)
|
||||
|
||||
# shellcheck executable
|
||||
SHELLCHECK := shellcheck
|
||||
|
||||
# Defines the level of verification (error, warning, info...)
|
||||
SHELLCHECK_SEVERITY_LEVEL := error
|
||||
|
||||
#
|
||||
# images: This target builds all IMAGES (because it is the first one, it is built by default)
|
||||
#
|
||||
images: base $(IMAGES)
|
||||
|
||||
#
|
||||
# test: This target ensures all IMAGES are built and run the associated tests
|
||||
#
|
||||
test: base.test $(addsuffix .test,$(IMAGES))
|
||||
|
||||
#
|
||||
# Generic Targets (can specialize later).
|
||||
#
|
||||
$(GEN_IMAGE_DOCKERFILES) Dockerfile: %Dockerfile: %Dockerfile.in $(DOCKER_COMPOSITE_PATH)
|
||||
sed $(foreach f,$(DOCKER_COMPOSITE_SOURCES),-e '/$(f)/ r $(DOCKER_COMPOSITE_FOLDER_PATH)$(f)') $< > $@
|
||||
|
||||
#
|
||||
# web-wasm
|
||||
#
|
||||
ifeq ($(HOST_ARCH),amd64)
|
||||
EMSCRIPTEN_HOST_ARCH_TAG = ""
|
||||
endif
|
||||
ifeq ($(HOST_ARCH),arm64)
|
||||
EMSCRIPTEN_HOST_ARCH_TAG = "-arm64"
|
||||
endif
|
||||
web-wasm: web-wasm/Dockerfile
|
||||
mkdir -p $@/imagefiles && cp -r imagefiles $@/
|
||||
cp -r test web-wasm/
|
||||
$(BUILD_DOCKER) $(BUILD_CMD) $(TAG_FLAG) $(ORG)/web-wasm:$(TAG)-$(HOST_ARCH) \
|
||||
$(TAG_FLAG) $(ORG)/web-wasm:latest-$(HOST_ARCH) \
|
||||
--build-arg IMAGE=$(ORG)/web-wasm \
|
||||
--build-arg VERSION=$(TAG) \
|
||||
--build-arg HOST_ARCH_TAG=$(EMSCRIPTEN_HOST_ARCH_TAG) \
|
||||
--build-arg VCS_REF=`git rev-parse --short HEAD` \
|
||||
--build-arg VCS_URL=`git config --get remote.origin.url` \
|
||||
--build-arg BUILD_DATE=`date -u +"%Y-%m-%dT%H:%M:%SZ"` \
|
||||
web-wasm
|
||||
rm -rf web-wasm/test
|
||||
rm -rf $@/imagefiles
|
||||
|
||||
web-wasm.test: web-wasm
|
||||
cp -r test web-wasm/
|
||||
$(TEST_DOCKER) run $(RM) $(ORG)/web-wasm:latest-$(HOST_ARCH) > $(BIN)/dockcross-web-wasm && chmod +x $(BIN)/dockcross-web-wasm
|
||||
$(BIN)/dockcross-web-wasm -i $(ORG)/web-wasm:latest-$(HOST_ARCH) python test/run.py --exe-suffix ".js"
|
||||
rm -rf web-wasm/test
|
||||
|
||||
#
|
||||
# web-wasi-threads
|
||||
#
|
||||
web-wasi-threads: web-wasi web-wasi-threads/Dockerfile
|
||||
mkdir -p $@/imagefiles && cp -r imagefiles $@/
|
||||
cp -r test web-wasi-threads/
|
||||
$(BUILD_DOCKER) $(BUILD_CMD) $(TAG_FLAG) $(ORG)/web-wasi-threads:$(TAG)-$(HOST_ARCH) \
|
||||
-t $(ORG)/web-wasi-threads:latest-$(HOST_ARCH) \
|
||||
--build-arg IMAGE=$(ORG)/web-wasi-threads \
|
||||
--build-arg VERSION=$(TAG) \
|
||||
--build-arg HOST_ARCH=$(HOST_ARCH) \
|
||||
--build-arg VCS_REF=`git rev-parse --short HEAD` \
|
||||
--build-arg VCS_URL=`git config --get remote.origin.url` \
|
||||
--build-arg BUILD_DATE=`date -u +"%Y-%m-%dT%H:%M:%SZ"` \
|
||||
web-wasi-threads
|
||||
|
||||
#
|
||||
# manylinux2014-aarch64
|
||||
#
|
||||
manylinux2014-aarch64: manylinux2014-aarch64/Dockerfile manylinux2014-x64
|
||||
mkdir -p $@/imagefiles && cp -r imagefiles $@/
|
||||
$(BUILD_DOCKER) $(BUILD_CMD) $(TAG_FLAG) $(ORG)/manylinux2014-aarch64:$(TAG) \
|
||||
$(TAG_FLAG) $(ORG)/manylinux2014-aarch64:latest \
|
||||
--build-arg IMAGE=$(ORG)/manylinux2014-aarch64 \
|
||||
--build-arg VERSION=$(TAG) \
|
||||
--build-arg VCS_REF=`git rev-parse --short HEAD` \
|
||||
--build-arg VCS_URL=`git config --get remote.origin.url` \
|
||||
--build-arg BUILD_DATE=`date -u +"%Y-%m-%dT%H:%M:%SZ"` \
|
||||
-f manylinux2014-aarch64/Dockerfile .
|
||||
rm -rf $@/imagefiles
|
||||
|
||||
manylinux2014-aarch64.test: manylinux2014-aarch64
|
||||
$(TEST_DOCKER) run $(RM) $(ORG)/manylinux2014-aarch64:latest > $(BIN)/dockcross-manylinux2014-aarch64 \
|
||||
&& chmod +x $(BIN)/dockcross-manylinux2014-aarch64
|
||||
$(BIN)/dockcross-manylinux2014-aarch64 -i $(ORG)/manylinux2014-aarch64:latest /opt/python/cp311-cp311/bin/python test/run.py
|
||||
|
||||
#
|
||||
# manylinux_2_28-aarch64
|
||||
#
|
||||
manylinux_2_28-aarch64: manylinux_2_28-aarch64/Dockerfile manylinux_2_28-x64
|
||||
mkdir -p $@/imagefiles && cp -r imagefiles $@/
|
||||
$(BUILD_DOCKER) $(BUILD_CMD) $(TAG_FLAG) $(ORG)/manylinux_2_28-aarch64:$(TAG) \
|
||||
$(TAG_FLAG) $(ORG)/manylinux_2_28-aarch64:latest \
|
||||
--build-arg IMAGE=$(ORG)/manylinux_2_28-aarch64 \
|
||||
--build-arg VERSION=$(TAG) \
|
||||
--build-arg VCS_REF=`git rev-parse --short HEAD` \
|
||||
--build-arg VCS_URL=`git config --get remote.origin.url` \
|
||||
-f manylinux_2_28-aarch64/Dockerfile .
|
||||
rm -rf $@/imagefiles
|
||||
|
||||
manylinux_2_28-aarch64.test: manylinux_2_28-aarch64
|
||||
$(TEST_DOCKER) run $(RM) $(ORG)/manylinux_2_28-aarch64:latest > $(BIN)/dockcross-manylinux_2_28-aarch64 \
|
||||
&& chmod +x $(BIN)/dockcross-manylinux_2_28-aarch64
|
||||
$(BIN)/dockcross-manylinux_2_28-aarch64 -i $(ORG)/manylinux_2_28-aarch64:latest /opt/python/cp311-cp311/bin/python test/run.py
|
||||
|
||||
#
|
||||
# manylinux_2_34-aarch64
|
||||
#
|
||||
manylinux_2_34-aarch64: manylinux_2_34-aarch64/Dockerfile manylinux_2_34-x64
|
||||
mkdir -p $@/imagefiles && cp -r imagefiles $@/
|
||||
$(BUILD_DOCKER) $(BUILD_CMD) $(TAG_FLAG) $(ORG)/manylinux_2_34-aarch64:$(TAG) \
|
||||
$(TAG_FLAG) $(ORG)/manylinux_2_34-aarch64:latest \
|
||||
--build-arg IMAGE=$(ORG)/manylinux_2_34-aarch64 \
|
||||
--build-arg VERSION=$(TAG) \
|
||||
--build-arg VCS_REF=`git rev-parse --short HEAD` \
|
||||
--build-arg VCS_URL=`git config --get remote.origin.url` \
|
||||
--build-arg BUILD_DATE=`date -u +"%Y-%m-%dT%H:%M:%SZ"` \
|
||||
-f manylinux_2_34-aarch64/Dockerfile .
|
||||
rm -rf $@/imagefiles
|
||||
|
||||
manylinux_2_34-aarch64.test: manylinux_2_34-aarch64
|
||||
$(TEST_DOCKER) run $(RM) $(ORG)/manylinux_2_34-aarch64:latest > $(BIN)/dockcross-manylinux_2_34-aarch64 \
|
||||
&& chmod +x $(BIN)/dockcross-manylinux_2_34-aarch64
|
||||
$(BIN)/dockcross-manylinux_2_34-aarch64 -i $(ORG)/manylinux_2_34-aarch64:latest /opt/python/cp311-cp311/bin/python test/run.py
|
||||
|
||||
#
|
||||
# manylinux_2_28-x64
|
||||
#
|
||||
manylinux_2_28-x64: manylinux_2_28-x64/Dockerfile
|
||||
mkdir -p $@/imagefiles && cp -r imagefiles $@/
|
||||
$(BUILD_DOCKER) $(BUILD_CMD) $(TAG_FLAG) $(ORG)/manylinux_2_28-x64:$(TAG) \
|
||||
$(TAG_FLAG) $(ORG)/manylinux_2_28-x64:latest \
|
||||
--build-arg IMAGE=$(ORG)/manylinux_2_28-x64 \
|
||||
--build-arg VERSION=$(TAG) \
|
||||
--build-arg VCS_REF=`git rev-parse --short HEAD` \
|
||||
--build-arg VCS_URL=`git config --get remote.origin.url` \
|
||||
--build-arg BUILD_DATE=`date -u +"%Y-%m-%dT%H:%M:%SZ"` \
|
||||
-f manylinux_2_28-x64/Dockerfile .
|
||||
rm -rf $@/imagefiles
|
||||
|
||||
manylinux_2_28-x64.test: manylinux_2_28-x64
|
||||
$(TEST_DOCKER) run $(RM) $(ORG)/manylinux_2_28-x64:latest > $(BIN)/dockcross-manylinux_2_28-x64 \
|
||||
&& chmod +x $(BIN)/dockcross-manylinux_2_28-x64
|
||||
$(BIN)/dockcross-manylinux_2_28-x64 -i $(ORG)/manylinux_2_28-x64:latest /opt/python/cp310-cp310/bin/python test/run.py
|
||||
|
||||
#
|
||||
# manylinux_2_34-x64
|
||||
#
|
||||
manylinux_2_34-x64: manylinux_2_34-x64/Dockerfile
|
||||
mkdir -p $@/imagefiles && cp -r imagefiles $@/
|
||||
$(DOCKER) build -t $(ORG)/manylinux_2_34-x64:$(TAG) \
|
||||
-t $(ORG)/manylinux_2_34-x64:latest \
|
||||
--build-arg IMAGE=$(ORG)/manylinux_2_34-x64 \
|
||||
--build-arg VERSION=$(TAG) \
|
||||
--build-arg VCS_REF=`git rev-parse --short HEAD` \
|
||||
--build-arg VCS_URL=`git config --get remote.origin.url` \
|
||||
--build-arg BUILD_DATE=`date -u +"%Y-%m-%dT%H:%M:%SZ"` \
|
||||
-f manylinux_2_34-x64/Dockerfile .
|
||||
rm -rf $@/imagefiles
|
||||
|
||||
manylinux_2_34-x64.test: manylinux_2_34-x64
|
||||
$(DOCKER) run $(RM) $(ORG)/manylinux_2_34-x64:latest > $(BIN)/dockcross-manylinux_2_34-x64 \
|
||||
&& chmod +x $(BIN)/dockcross-manylinux_2_34-x64
|
||||
$(BIN)/dockcross-manylinux_2_34-x64 -i $(ORG)/manylinux_2_34-x64:latest /opt/python/cp310-cp310/bin/python test/run.py
|
||||
|
||||
#
|
||||
# manylinux2014-x64
|
||||
#
|
||||
manylinux2014-x64: manylinux2014-x64/Dockerfile
|
||||
mkdir -p $@/imagefiles && cp -r imagefiles $@/
|
||||
$(BUILD_DOCKER) $(BUILD_CMD) $(TAG_FLAG) $(ORG)/manylinux2014-x64:$(TAG) \
|
||||
$(TAG_FLAG) $(ORG)/manylinux2014-x64:latest \
|
||||
--build-arg IMAGE=$(ORG)/manylinux2014-x64 \
|
||||
--build-arg VERSION=$(TAG) \
|
||||
--build-arg VCS_REF=`git rev-parse --short HEAD` \
|
||||
--build-arg VCS_URL=`git config --get remote.origin.url` \
|
||||
--build-arg BUILD_DATE=`date -u +"%Y-%m-%dT%H:%M:%SZ"` \
|
||||
-f manylinux2014-x64/Dockerfile .
|
||||
rm -rf $@/imagefiles
|
||||
|
||||
manylinux2014-x64.test: manylinux2014-x64
|
||||
$(TEST_DOCKER) run $(RM) $(ORG)/manylinux2014-x64:latest > $(BIN)/dockcross-manylinux2014-x64 \
|
||||
&& chmod +x $(BIN)/dockcross-manylinux2014-x64
|
||||
$(BIN)/dockcross-manylinux2014-x64 -i $(ORG)/manylinux2014-x64:latest /opt/python/cp311-cp311/bin/python test/run.py
|
||||
|
||||
#
|
||||
# manylinux2014-x86
|
||||
#
|
||||
manylinux2014-x86: manylinux2014-x86/Dockerfile
|
||||
mkdir -p $@/imagefiles && cp -r imagefiles $@/
|
||||
$(BUILD_DOCKER) $(BUILD_CMD) $(TAG_FLAG) $(ORG)/manylinux2014-x86:$(TAG) \
|
||||
-t $(ORG)/manylinux2014-x86:latest \
|
||||
--build-arg IMAGE=$(ORG)/manylinux2014-x86 \
|
||||
--build-arg VERSION=$(TAG) \
|
||||
--build-arg VCS_REF=`git rev-parse --short HEAD` \
|
||||
--build-arg VCS_URL=`git config --get remote.origin.url` \
|
||||
--build-arg BUILD_DATE=`date -u +"%Y-%m-%dT%H:%M:%SZ"` \
|
||||
-f manylinux2014-x86/Dockerfile .
|
||||
rm -rf $@/imagefiles
|
||||
|
||||
manylinux2014-x86.test: manylinux2014-x86
|
||||
$(TEST_DOCKER) run $(RM) $(ORG)/manylinux2014-x86:latest > $(BIN)/dockcross-manylinux2014-x86 \
|
||||
&& chmod +x $(BIN)/dockcross-manylinux2014-x86
|
||||
$(BIN)/dockcross-manylinux2014-x86 -i $(ORG)/manylinux2014-x86:latest /opt/python/cp311-cp311/bin/python test/run.py
|
||||
|
||||
#
|
||||
# base-$(HOST_ARCH)
|
||||
#
|
||||
base-$(HOST_ARCH): Dockerfile imagefiles/
|
||||
$(BUILD_DOCKER) $(BUILD_CMD) $(TAG_FLAG) $(ORG)/base:latest-$(HOST_ARCH) \
|
||||
$(TAG_FLAG) $(ORG)/base:$(TAG)-$(HOST_ARCH) \
|
||||
--build-arg IMAGE=$(ORG)/base \
|
||||
--build-arg VCS_URL=`git config --get remote.origin.url` \
|
||||
.
|
||||
|
||||
base-$(HOST_ARCH).test: base-$(HOST_ARCH)
|
||||
$(TEST_DOCKER) run $(RM) $(ORG)/base:latest-$(HOST_ARCH) > $(BIN)/dockcross-base && chmod +x $(BIN)/dockcross-base
|
||||
|
||||
base: Dockerfile imagefiles/
|
||||
$(BUILD_DOCKER) $(BUILD_CMD) $(TAG_FLAG) $(ORG)/base:latest \
|
||||
$(TAG_FLAG) $(ORG)/base:$(TAG) \
|
||||
--build-arg IMAGE=$(ORG)/base \
|
||||
--build-arg VCS_URL=`git config --get remote.origin.url` \
|
||||
.
|
||||
|
||||
base.test: base
|
||||
$(TEST_DOCKER) run $(RM) $(ORG)/base:latest > $(BIN)/dockcross-base && chmod +x $(BIN)/dockcross-base
|
||||
|
||||
# display
|
||||
#
|
||||
display_images:
|
||||
for image in $(IMAGES); do echo $$image; done
|
||||
|
||||
$(VERBOSE).SILENT: display_images
|
||||
|
||||
#
|
||||
# build implicit rule
|
||||
#
|
||||
|
||||
$(STANDARD_IMAGES): %: %/Dockerfile base
|
||||
mkdir -p $@/imagefiles && cp -r imagefiles $@/
|
||||
$(BUILD_DOCKER) $(BUILD_CMD) $(TAG_FLAG) $(ORG)/$@:latest \
|
||||
$(TAG_FLAG) $(ORG)/$@:$(TAG) \
|
||||
--build-arg ORG=$(ORG) \
|
||||
--build-arg IMAGE=$(ORG)/$@ \
|
||||
--build-arg VERSION=$(TAG) \
|
||||
--build-arg VCS_REF=`git rev-parse --short HEAD` \
|
||||
--build-arg VCS_URL=`git config --get remote.origin.url` \
|
||||
--build-arg BUILD_DATE=`date -u +"%Y-%m-%dT%H:%M:%SZ"` \
|
||||
$@
|
||||
rm -rf $@/imagefiles
|
||||
|
||||
$(MULTIARCH_IMAGES): %: %/Dockerfile base-$(HOST_ARCH)
|
||||
mkdir -p $@/imagefiles && cp -r imagefiles $@/
|
||||
$(BUILD_DOCKER) $(BUILD_CMD) $(TAG_FLAG) $(ORG)/$@:latest-$(HOST_ARCH) \
|
||||
$(TAG_FLAG) $(ORG)/$@:$(TAG)-$(HOST_ARCH) \
|
||||
--build-arg ORG=$(ORG) \
|
||||
--build-arg IMAGE=$(ORG)/$@ \
|
||||
--build-arg HOST_ARCH=$(HOST_ARCH) \
|
||||
--build-arg VERSION=$(TAG) \
|
||||
--build-arg VCS_REF=`git rev-parse --short HEAD` \
|
||||
--build-arg VCS_URL=`git config --get remote.origin.url` \
|
||||
--build-arg BUILD_DATE=`date -u +"%Y-%m-%dT%H:%M:%SZ"` \
|
||||
$@
|
||||
rm -rf $@/imagefiles
|
||||
|
||||
clean:
|
||||
for d in $(IMAGES) ; do rm -rf $$d/imagefiles ; done
|
||||
for d in $(IMAGES) ; do rm -rf $(BIN)/dockcross-$$d ; done
|
||||
for d in $(GEN_IMAGE_DOCKERFILES) ; do rm -f $$d ; done
|
||||
rm -f Dockerfile
|
||||
|
||||
purge: clean
|
||||
# Remove all untagged images
|
||||
$(TEST_DOCKER) container ls -aq | xargs -r $(DOCKER) container rm -f
|
||||
# Remove all images with organization (ex dockcross/*)
|
||||
$(BUILD_DOCKER) images --filter=reference='$(ORG)/*' --format='{{.Repository}}:{{.Tag}}' | xargs -r $(DOCKER) rmi -f
|
||||
|
||||
# Check bash syntax
|
||||
bash-check:
|
||||
find . -type f \( -name "*.sh" -o -name "*.bash" \) -print0 | xargs -0 -P"$(shell nproc)" -I{} \
|
||||
$(SHELLCHECK) --check-sourced --color=auto --format=gcc --severity=warning --shell=bash --enable=all "{}"
|
||||
|
||||
#
|
||||
# testing implicit rule
|
||||
#
|
||||
.SECONDEXPANSION:
|
||||
$(addsuffix .test,$(STANDARD_IMAGES)): $$(basename $$@)
|
||||
$(TEST_DOCKER) run $(RM) $(ORG)/$(basename $@):latest > $(BIN)/dockcross-$(basename $@) \
|
||||
&& chmod +x $(BIN)/dockcross-$(basename $@)
|
||||
$(BIN)/dockcross-$(basename $@) -i $(ORG)/$(basename $@):latest python3 test/run.py $($@_ARGS)
|
||||
|
||||
.SECONDEXPANSION:
|
||||
$(addsuffix .test,$(MULTIARCH_IMAGES) web-wasi-threads): $$(basename $$@)
|
||||
$(TEST_DOCKER) run $(RM) $(ORG)/$(basename $@):latest-$(HOST_ARCH) > $(BIN)/dockcross-$(basename $@) \
|
||||
&& chmod +x $(BIN)/dockcross-$(basename $@)
|
||||
$(BIN)/dockcross-$(basename $@) -i $(ORG)/$(basename $@):latest-$(HOST_ARCH) python3 test/run.py $($@_ARGS)
|
||||
|
||||
.SECONDEXPANSION:
|
||||
$(addsuffix .tag-$(HOST_ARCH),$(MULTIARCH_IMAGES) web-wasi-threads web-wasm): $$(basename $$@)
|
||||
$(BUILD_DOCKER) tag $(ORG)/$(basename $@):latest-$(HOST_ARCH) \
|
||||
$(ORG)/$(basename $@):$(TAG)-$(HOST_ARCH)
|
||||
|
||||
.SECONDEXPANSION:
|
||||
$(addsuffix .push-$(HOST_ARCH),$(MULTIARCH_IMAGES) web-wasi-threads web-wasm): $$(basename $$@)
|
||||
$(BUILD_DOCKER) push $(ORG)/$(basename $@):latest-$(HOST_ARCH) \
|
||||
&& $(BUILD_DOCKER) push $(ORG)/$(basename $@):$(TAG)-$(HOST_ARCH)
|
||||
|
||||
.SECONDEXPANSION:
|
||||
$(addsuffix .push,$(STANDARD_IMAGES) $(NON_STANDARD_IMAGES)): $$(basename $$@)
|
||||
$(BUILD_DOCKER) push $(ORG)/$(basename $@):latest \
|
||||
&& $(BUILD_DOCKER) push $(ORG)/$(basename $@):$(TAG)
|
||||
|
||||
.SECONDEXPANSION:
|
||||
$(addsuffix .manifest,$(MULTIARCH_IMAGES) web-wasi-threads web-wasm): $$(basename $$@)
|
||||
$(MANIFEST_TOOL) push from-args \
|
||||
--platforms linux/amd64,linux/arm64 \
|
||||
--template $(ORG)/$(basename $@):latest-ARCH \
|
||||
--target $(ORG)/$(basename $@):latest
|
||||
|
||||
.SECONDEXPANSION:
|
||||
$(addsuffix .push,$(MULTIARCH_IMAGES) web-wasi-threads web-wasm): $$(basename $$@).manifest
|
||||
$(MANIFEST_TOOL) push from-args \
|
||||
--platforms linux/amd64,linux/arm64 \
|
||||
--template $(ORG)/$(basename $@):$(TAG)-ARCH \
|
||||
--target $(ORG)/$(basename $@):$(TAG)
|
||||
|
||||
#
|
||||
# testing prerequisites implicit rule
|
||||
#
|
||||
test.prerequisites:
|
||||
mkdir -p $(BIN)
|
||||
|
||||
$(addsuffix .test,base $(IMAGES)): test.prerequisites
|
||||
|
||||
.PHONY: base images $(IMAGES) test %.test clean purge bash-check display_images
|
||||
@@ -9,32 +9,41 @@ Cross compiling toolchains in Docker images.
|
||||
|
||||
## Features
|
||||
|
||||
- Pre-built and configured toolchains for cross compiling.
|
||||
- Most images also contain an emulator for the target system.
|
||||
- Clean separation of build tools, source code, and build artifacts.
|
||||
- Commands in the container are run as the calling user, so that any created files have the expected ownership, (i.e. not root).
|
||||
- Make variables **CC**, **CXX**, **LD**, **AS** etc) are set to point to the appropriate tools in the container.
|
||||
- Recent [CMake](https://cmake.org) and ninja are precompiled.
|
||||
- [Conan.io](https://www.conan.io) can be used as a package manager.
|
||||
- Toolchain files configured for CMake.
|
||||
- Current directory is mounted as the container\'s workdir, `/work`.
|
||||
- Works with the [Docker for Mac](https://docs.docker.com/docker-for-mac/) and [Docker for Windows](https://docs.docker.com/docker-for-windows/).
|
||||
- Support using alternative container executor by setting **OCI_EXE** environment variable. By default, it searches for [docker](https://www.docker.com) and [podman](https://podman.io) executable.
|
||||
- [crosstool-ng](https://github.com/crosstool-ng/crosstool-ng) and [buildroot](https://github.com/buildroot/buildroot) configuration files.
|
||||
- Pre-built and configured toolchains for cross compiling.
|
||||
- Most images also contain an emulator for the target system.
|
||||
- Clean separation of build tools, source code, and build artifacts.
|
||||
- Commands in the container are run as the calling user, so that any created files have the expected ownership, (i.e. not root).
|
||||
- Make variables (**CC**, **CXX**, **LD**, **AS** etc) are set to point to the appropriate tools in the container.
|
||||
- Recent [CMake](https://cmake.org) and ninja are precompiled.
|
||||
- [Meson](https://mesonbuild.com) is pre-installed.
|
||||
- [Conan.io](https://www.conan.io) can be used as a package manager.
|
||||
- Toolchain files configured for CMake.
|
||||
- [Rustup](https://rustup.rs/) is pre-installed.
|
||||
- Some images (e.g. android) are configured for Rust.
|
||||
- Current directory is mounted as the container\'s workdir, `/work`.
|
||||
- Works with the [Docker for Mac](https://docs.docker.com/docker-for-mac/) and [Docker for Windows](https://docs.docker.com/docker-for-windows/).
|
||||
- Support using alternative container executor by setting **OCI_EXE** environment variable. By default, it searches for [docker](https://www.docker.com) and [podman](https://podman.io) executable.
|
||||
- [crosstool-ng](https://github.com/crosstool-ng/crosstool-ng) and [buildroot](https://github.com/buildroot/buildroot) configuration files.
|
||||
|
||||
## Examples
|
||||
|
||||
1. `dockcross make`: Build the *Makefile* in the current directory.
|
||||
2. `dockcross cmake -Bbuild -H. -GNinja`: Run CMake with a build directory `./build` for a *CMakeLists.txt* file in the current directory and generate `ninja` build configuration files.
|
||||
3. `dockcross ninja -Cbuild`: Run ninja in the `./build` directory.
|
||||
4. `dockcross bash -c '$CC test/C/hello.c -o hello'`: Build the *hello.c* file with the compiler identified with the `CC` environmental variable in the build environment.
|
||||
5. `dockcross bash`: Run an interactive shell in the build environment.
|
||||
1. `dockcross make`: Build the *Makefile* in the current directory.
|
||||
2. `dockcross cmake -Bbuild -S. -GNinja`: Run CMake with a build directory `./build` for a *CMakeLists.txt* file in the current directory and generate `ninja` build configuration files.
|
||||
3. `dockcross ninja -Cbuild`: Run ninja in the `./build` directory.
|
||||
4. `dockcross bash -c '$CC test/C/hello.c -o hello'`: Build the *hello.c* file with the compiler identified with the `CC` environmental variable in the build environment.
|
||||
5. `dockcross bash`: Run an interactive shell in the build environment.
|
||||
6. `dockcross cargo build`: Build the current Rust project.
|
||||
|
||||
Note that commands are executed verbatim. If any shell processing for environment variable expansion or redirection is required, please use
|
||||
|
||||
```bash
|
||||
bash -c "<command args>"
|
||||
```
|
||||
|
||||
## Contributing
|
||||
|
||||
See [CONTRIBUTING.md](CONTRIBUTING.md).
|
||||
|
||||
## Installation
|
||||
|
||||
This image does not need to be run manually. Instead, there is a helper script to execute build commands on source code existing on the local host filesystem. This script is bundled with the image.
|
||||
@@ -94,15 +103,26 @@ The dockcross script will execute the given command-line inside the container, a
|
||||
| dockcross/linux-armv7-lts | ARMv7 | GCC 8.5.0 + Glibc 2.28 | Linux |
|
||||
| dockcross/linux-armv7a | ARMv7a | GCC | Linux |
|
||||
| dockcross/linux-armv7l-musl | ARMv7l | GCC + musl | Linux |
|
||||
| dockcross/linux-loongarch64 | LoongArch64 | GCC | Linux |
|
||||
| dockcross/linux-mips | mips | GCC | Linux |
|
||||
| dockcross/linux-mips-uclibc | mips | GCC + uclibc | Linux |
|
||||
| dockcross/linux-mips-lts | mips | GCC 8.5.0 + Glibc 2.28 | Linux |
|
||||
| dockcross/linux-mipsel-lts | mipsel | GCC 8.5.0 + Glibc 2.28 | Linux |
|
||||
| dockcross/linux-s390x | s390x | GCC | Linux |
|
||||
| dockcross/linux-ppc | ppc | GCC | Linux |
|
||||
| dockcross/linux-ppc64le | ppc64le | GCC | Linux |
|
||||
| dockcross/linux-ppc64le-lts | ppc64le | GCC 8.5.0 + Glibc 2.28 | Linux |
|
||||
| dockcross/linux-riscv32 | riscv32 | GCC | Linux |
|
||||
| dockcross/linux-riscv64 | riscv64 | GCC | Linux |
|
||||
| dockcross/linux-m68k-uclibc | m68k | GCC + uclibc | Linux |
|
||||
| dockcross/linux-xtensa-uclibc | xtensa | GCC + uclibc | Linux |
|
||||
| dockcross/manylinux_2_28-x64 | x86_64 | GCC | Linux |
|
||||
| dockcross/manylinux_2_28-aarch64 | aarch64 | GCC | Linux |
|
||||
| dockcross/manylinux_2_34-x64 | x86_64 | GCC | Linux |
|
||||
| dockcross/manylinux_2_34-aarch64 | ARMv8 | GCC | Linux |
|
||||
| dockcross/manylinux2014-x86 | x86 | GCC | Linux |
|
||||
| dockcross/manylinux2014-x64 | x86_64 | GCC | Linux |
|
||||
| dockcross/linux-i686 | x86 | GCC | Linux |
|
||||
| dockcross/linux-x86 | x86 | GCC | Linux |
|
||||
| dockcross/linux-x64 | x86_64 | GCC | Linux |
|
||||
| dockcross/linux-x86_64-full | x86_64 | GCC + libs | Linux |
|
||||
@@ -110,6 +130,7 @@ The dockcross script will execute the given command-line inside the container, a
|
||||
| dockcross/linux-x64-tinycc | x86_64 | tinycc + GCC | Linux |
|
||||
| dockcross/web-wasm | Wasm | LLVM | Web (JS) |
|
||||
| dockcross/web-wasi | Wasm | LLVM | Web (Universal) |
|
||||
| dockcross/web-wasi-threads | Wasm | LLVM | Web (Universal) |
|
||||
| dockcross/windows-shared-x86 | x86 | GCC | Windows |
|
||||
| dockcross/windows-shared-x64 | x86_64 | GCC | Windows |
|
||||
| dockcross/windows-shared-x64-posix | x86_64 | GCC | Windows |
|
||||
@@ -123,17 +144,20 @@ The list of docker images that are **no longer maintained**.
|
||||
|
||||
| Image name | Target arch | Compiler | Target OS | End of life (EOL) |
|
||||
|:-------:|:--------:|:------:|:-----:|:-----:|
|
||||
| dockcross/manylinux-x86 | x86 | GCC | manylinux | [2019-05-22](1e0e89814) |
|
||||
| dockcross/manylinux-x64 | x86 | GCC | manylinux | [2019-05-22](1e0e89814) |
|
||||
| dockcross/linux-mipsel | mipsel | GCC 4.9 | Debian 8 | [2021-06-27](a30e76d5c) |
|
||||
| dockcross/manylinux1-x86 | x86 | GCC | manylinux | [2021-08-05](54f73cbb6) |
|
||||
| dockcross/manylinux1-x64 | x86_64 | GCC| manylinux | [2021-08-05](54f73cbb6) |
|
||||
| dockcross/manylinux2010-x86 | x86 | GCC | manylinux | [2021-08-05](54f73cbb6) |
|
||||
| dockcross/manylinux2010-x64 | x86_64 | GCC | manylinux | [2021-08-05](54f73cbb6) |
|
||||
| dockcross/manylinux-x86 | x86 | GCC | manylinux | [2019-05-22][1e0e89814] |
|
||||
| dockcross/manylinux-x64 | x86 | GCC | manylinux | [2019-05-22][1e0e89814] |
|
||||
| dockcross/linux-mipsel | mipsel | GCC 4.9 | Debian 8 | [2021-06-27][a30e76d5c] |
|
||||
| dockcross/manylinux1-x86 | x86 | GCC | manylinux | [2021-08-05][54f73cbb6] |
|
||||
| dockcross/manylinux1-x64 | x86_64 | GCC| manylinux | [2021-08-05][54f73cbb6] |
|
||||
| dockcross/manylinux2010-x86 | x86 | GCC | manylinux | [2021-08-05][54f73cbb6] |
|
||||
| dockcross/manylinux2010-x64 | x86_64 | GCC | manylinux | [2021-08-05][54f73cbb6] |
|
||||
| dockcross/manylinux_2_24-x64 | x86_64 | GCC | manylinux | [2022-07-05][ada2c8dad], [pypa/manylinux#1332][manylinux_2_24-eol] |
|
||||
|
||||
[1e0e89814]: https://github.com/dockcross/dockcross/commit/1e0e89814
|
||||
[a30e76d5c]: https://github.com/dockcross/dockcross/commit/a30e76d5c
|
||||
[54f73cbb6]: https://github.com/dockcross/dockcross/commit/54f73cbb6
|
||||
[ada2c8dad]: https://github.com/dockcross/dockcross/commit/ada2c8dad
|
||||
[manylinux_2_24-eol]: https://github.com/pypa/manylinux/issues/1332#issuecomment-1157666846
|
||||
|
||||
## Cross compilers
|
||||
|
||||
@@ -141,7 +165,7 @@ The list of docker images that are **no longer maintained**.
|
||||
|
||||
  
|
||||
|
||||
Base image for other toolchain images. From Debian Jessie with GCC, make, autotools, CMake, Ninja, Git, and Python.
|
||||
Base image for other toolchain images. From Debian Bookworm with GCC, make, autotools, CMake, Ninja, Git, and Python.
|
||||
|
||||
### dockcross/android-arm
|
||||
|
||||
@@ -260,6 +284,12 @@ board PC with TI SoC AM3358 on board, Cortex-A8.
|
||||
Toolchain configured for ARMv7-L, using
|
||||
[musl](https://www.musl-libc.org/) as base \"libc\".
|
||||
|
||||
### dockcross/linux-loongarch64
|
||||
|
||||
 
|
||||
|
||||
Generic Linux LoongArch64 cross compiler toolchain.
|
||||
|
||||
### dockcross/linux-mips
|
||||
|
||||
 
|
||||
@@ -267,6 +297,19 @@ Toolchain configured for ARMv7-L, using
|
||||
Linux mips cross compiler toolchain for big endian 32-bit hard float
|
||||
MIPS GNU systems.
|
||||
|
||||
### dockcross/linux-mips
|
||||
|
||||
 
|
||||
|
||||
Linux mips cross compiler toolchain for big endian 32-bit hard float MIPS GNU systems, with GCC 8.5.0, Glibc 2.28 ....
|
||||
|
||||
### dockcross/linux-mipsel-lts
|
||||
|
||||
 
|
||||
|
||||
Linux mips cross compiler toolchain for little endian 32-bit soft float
|
||||
MIPS GNU systems.
|
||||
|
||||
### dockcross/linux-s390x
|
||||
|
||||
 
|
||||
@@ -291,11 +334,23 @@ Linux risc-v 32bit cross compiler toolchain for risc-v 32bit GNU systems.
|
||||
|
||||
Linux m68k cross compiler toolchain for m68k GNU systems (http://www.mac.linux-m68k.org/ and http://www.linux-m68k.org/).
|
||||
|
||||
### dockcross/linux-ppc
|
||||
|
||||
 
|
||||
|
||||
Linux PowerPC cross compiler toolchain for CPUs like the G3, G4, etc.
|
||||
|
||||
### dockcross/linux-ppc64le
|
||||
|
||||
 
|
||||
|
||||
Linux PowerPC 64 little endian cross compiler toolchain for the POWER8, etc. Important: Due to Issue #430, automatic build of newer images has been disabled.
|
||||
Linux PowerPC 64 little endian cross compiler toolchain for the POWER8, etc.
|
||||
|
||||
### dockcross/linux-ppc64le-lts
|
||||
|
||||
 
|
||||
|
||||
Linux PowerPC 64 little endian cross compiler toolchain for the POWER8, with GCC 8.5.0, Glibc 2.28 ....
|
||||
|
||||
### dockcross/linux-x64
|
||||
|
||||
@@ -319,7 +374,7 @@ Linux clang x86_64/amd64 compiler. Since the Docker image is natively x86_64, th
|
||||
|
||||
 
|
||||
|
||||
Linux i686 cross compiler.
|
||||
Linux x86_64 32bit (i686) toolchain using gcc/g++ multilib. Multilib is a mechanism to support building and running code for different ABIs for the same CPU family on the host system. Most commonly it is used to support 32-bit code on 64-bit systems and 64-bit code on 32-bit systems with a 64-bit kernel. Since the Docker image is natively x86_64, this is not actually a cross compiler, it just adds capability to the existing host toolchain.
|
||||
|
||||
### dockcross/linux-x64-tinycc
|
||||
|
||||
@@ -327,6 +382,36 @@ Linux i686 cross compiler.
|
||||
|
||||
Linux tcc compiler for C compiler, and GCC for C++ compiler, for linux x86_64/amd64 arch.
|
||||
|
||||
### dockcross/linux-i686
|
||||
|
||||
 
|
||||
|
||||
Standalone Linux i686 cross compiler.
|
||||
|
||||
### dockcross/manylinux_2_28-x64
|
||||
|
||||
 
|
||||
|
||||
Docker [manylinux_2_28](https://github.com/pypa/manylinux) image for building Linux x86_64 / amd64 [Python wheel packages](http://pythonwheels.com/). It includes Python 3.6, 3.7, 3.8, 3.9, 3.10 and 3.11. Also has support for the dockcross script, and it has installations of CMake, Ninja, and [scikit-build](http://scikit-build.org). For CMake, it sets **MANYLINUX_2_28** to \"TRUE\" in the toolchain.
|
||||
|
||||
### dockcross/manylinux_2_28-aarch64
|
||||
|
||||
 
|
||||
|
||||
Docker [manylinux_2_28](https://github.com/pypa/manylinux) image for building Linux aarch64 / arm64 [Python wheel packages](http://pythonwheels.com/). It includes Python 3.6, 3.8, 3.9, 3.10, 3.11, 3.12, 3.13, and 3.14. Also has support for the dockcross script, and it has installations of CMake, Ninja, and [scikit-build](http://scikit-build.org). For CMake, it sets **MANYLINUX_2_28** to \"TRUE\" in the toolchain.
|
||||
|
||||
### dockcross/manylinux_2_34-x64
|
||||
|
||||
 
|
||||
|
||||
Docker [manylinux_2_34](https://github.com/pypa/manylinux) image for building Linux x86_64 / amd64 [Python wheel packages](http://pythonwheels.com/). It includes Python 3.8.10+, 3.9.5+, 3.10.0+. Also has support for the dockcross script, and it has installations of CMake, Ninja, and [scikit-build](http://scikit-build.org). For CMake, it sets **MANYLINUX_2_34** to \"TRUE\" in the toolchain.
|
||||
|
||||
### dockcross/manylinux_2_34-aarch64
|
||||
|
||||
 
|
||||
|
||||
Docker [manylinux_2_34](https://github.com/pypa/manylinux) image for building Linux aarch64 / arm64 [Python wheel packages](http://pythonwheels.com/). It includes CPython 3.6, 3.7, 3.8, 3.9, 3.10, 3.11, 3.12, 3.13, 3.13t (free-threaded) and PyPy 3.10. Also has support for the dockcross script, and it has installations of CMake, Ninja, and [scikit-build](http://scikit-build.org). For CMake, it sets **MANYLINUX_2_34** to "TRUE" in the toolchain. This image is designed to run on x86_64 hosts and cross-compile for aarch64 targets using QEMU emulation.
|
||||
|
||||
### dockcross/manylinux2014-x64
|
||||
|
||||
 
|
||||
@@ -357,6 +442,12 @@ The [Emscripten](https://emscripten.org/) [WebAssembly](https://webassembly.org/
|
||||
|
||||
The [WebAssembly System Interface (WASI)](https://wasi.dev/) SDK LLVM/Clang/WASI Sysroot cross compiler.
|
||||
|
||||
### dockcross/web-wasi-threads
|
||||
|
||||
 
|
||||
|
||||
The [WebAssembly System Interface (WASI)](https://wasi.dev/) SDK LLVM/Clang/WASI Sysroot cross compiler with the toolchain configured to enable the wasm threading proposal.
|
||||
|
||||
### dockcross/windows-static-x64
|
||||
|
||||
 
|
||||
@@ -506,8 +597,8 @@ An example Dockerfile would be:
|
||||
```
|
||||
FROM dockcross/linux-armv7
|
||||
|
||||
ENV DEFAULT_DOCKCROSS_IMAGE my_cool_image
|
||||
RUN apt-get install nano
|
||||
ENV DEFAULT_DOCKCROSS_IMAGE=my_cool_image
|
||||
RUN apt-get install -y nano
|
||||
```
|
||||
|
||||
And then in the shell:
|
||||
@@ -528,8 +619,37 @@ The key difference is that [dockbuild](https://github.com/dockbuild/dockbuild#re
|
||||
|
||||
**dockcross** is used to build binaries for many different platforms. **dockcross** performs a cross compilation where the host build system is a Linux x86_64 / amd64 Docker image (so that it can be used for building binaries on any system which can run Docker images) and the target runtime system varies.
|
||||
|
||||
## Build images by yourself
|
||||
|
||||
Prebuilt images available on Docker hub are single architecture amd64 images. Those images work even on different architectures: for example, if you run a dockcross image on Docker running on an Apple M1, the image will run in emulation mode, meaning that it will still work as expected, although it will be slower than running on native hardware (you can expect a factor or 10 or more).
|
||||
|
||||
To overcome this limitation, you can build your own images on non-amd64 architectures. To do so, you can use the `Makefile` provided in this repository. For example, to build the `linux-armv7` image, and provided that your Docker hub organization name is `ACME`, you can run:
|
||||
|
||||
```bash
|
||||
$ make ORG=ACME base
|
||||
$ make ORG=ACME linux-armv7
|
||||
```
|
||||
|
||||
This will create the Docker images `ACME/base` and `ACME/linux-armv7`, so that you can later launch a container using the `ACME/linux-armv7` image:
|
||||
|
||||
```
|
||||
$ docker run --rm ACME/linux-armv7 uname -a
|
||||
Linux 89b164ee8d90 5.15.49-linuxkit #1 SMP PREEMPT Tue Sep 13 07:51:32 UTC 2022 aarch64 GNU/Linux
|
||||
```
|
||||
|
||||
Note that the architecture is now `aarch64` instead of `amd64`, so it runs natively on the Apple M1.
|
||||
|
||||
\-\--
|
||||
|
||||
## Multi-architecture Image Creation
|
||||
|
||||
For creating multi-architecture container images, this project uses [manifest-tool](https://github.com/estesp/manifest-tool) to create and manage manifest lists that combine platform-specific images into a single multi-platform reference. This allows container runtimes to automatically select the appropriate image based on the target architecture.
|
||||
|
||||
The multi-architecture images are built on different architectures (amd64 and arm64) and then combined using manifest-tool's `push from-args` command, which creates manifest lists pointing to the individual platform-specific images.
|
||||
|
||||
---
|
||||
|
||||
Credits:
|
||||
|
||||
- [sdt/docker-raspberry-pi-cross-compiler](https://github.com/sdt/docker-raspberry-pi-cross-compiler), who invented the base of the **dockcross** script.
|
||||
- [https://github.com/steeve/cross-compiler](https://github.com/steeve/cross-compiler),
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
FROM dockcross/base:latest
|
||||
MAINTAINER Matt McCormick "matt.mccormick@kitware.com"
|
||||
ARG ORG=dockcross
|
||||
FROM ${ORG}/base:latest
|
||||
MAINTAINER Matt McCormick "matt@mmmccormick.com"
|
||||
|
||||
# The cross-compiling emulator
|
||||
RUN apt-get update && apt-get install -y \
|
||||
@@ -16,8 +17,8 @@ ENV AS=${CROSS_ROOT}/bin/llvm-as \
|
||||
CXX=${CROSS_ROOT}/bin/clang++ \
|
||||
LD=${CROSS_ROOT}/bin/ld
|
||||
|
||||
ENV ANDROID_NDK_REVISION 23
|
||||
ENV ANDROID_NDK_API 23
|
||||
ENV ANDROID_NDK_REVISION=28b
|
||||
ENV ANDROID_API=24
|
||||
|
||||
RUN mkdir -p /build && \
|
||||
cd /build && \
|
||||
@@ -26,7 +27,7 @@ RUN mkdir -p /build && \
|
||||
cd android-ndk-r${ANDROID_NDK_REVISION} && \
|
||||
./build/tools/make_standalone_toolchain.py \
|
||||
--arch arm \
|
||||
--api ${ANDROID_NDK_API} \
|
||||
--api ${ANDROID_API} \
|
||||
--stl=libc++ \
|
||||
--install-dir=${CROSS_ROOT} && \
|
||||
cd / && \
|
||||
@@ -34,7 +35,13 @@ RUN mkdir -p /build && \
|
||||
find ${CROSS_ROOT} -exec chmod a+r '{}' \; && \
|
||||
find ${CROSS_ROOT} -executable -exec chmod a+x '{}' \;
|
||||
|
||||
# Prepare Rust
|
||||
ENV PATH="/root/.cargo/bin/:$PATH"
|
||||
RUN rustup target add armv7-linux-androideabi
|
||||
COPY config.toml /root/.cargo/
|
||||
|
||||
# Prepare CMake
|
||||
COPY Toolchain.cmake ${CROSS_ROOT}/
|
||||
ENV CMAKE_TOOLCHAIN_FILE ${CROSS_ROOT}/Toolchain.cmake
|
||||
ENV CMAKE_TOOLCHAIN_FILE=${CROSS_ROOT}/Toolchain.cmake
|
||||
|
||||
#include "common.label-and-env"
|
||||
|
||||
@@ -15,10 +15,10 @@ set(CMAKE_Fortran_COMPILER $ENV{FC})
|
||||
set(CMAKE_EXE_LINKER_FLAGS "-llog")
|
||||
set(CMAKE_SHARED_LINKER_FLAGS "-llog")
|
||||
|
||||
set(CMAKE_FIND_ROOT_PATH $ENV{CROSS_ROOT})
|
||||
list(APPEND CMAKE_FIND_ROOT_PATH ${CMAKE_PREFIX_PATH} $ENV{CROSS_ROOT})
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY BOTH)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
|
||||
set(CMAKE_SYSROOT $ENV{CROSS_ROOT}/sysroot)
|
||||
|
||||
set(CMAKE_CROSSCOMPILING_EMULATOR /usr/bin/qemu-arm)
|
||||
|
||||
@@ -0,0 +1,5 @@
|
||||
[build]
|
||||
target = "armv7-linux-androideabi"
|
||||
|
||||
[target.armv7-linux-androideabi]
|
||||
linker = "/usr/arm-linux-androideabi/bin/armv7a-linux-androideabi23-clang"
|
||||
@@ -0,0 +1,13 @@
|
||||
BASE_IMAGE_REGISTRY ?= docker.io
|
||||
BASE_IMAGE_PATH ?= dockcross
|
||||
BASE_IMAGE_NAME = base
|
||||
BASE_IMAGE_TAG = latest
|
||||
|
||||
OUTPUT_IMAGE_REGISTRY ?= docker.io
|
||||
OUTPUT_IMAGE_PATH ?= dockcross
|
||||
OUTPUT_IMAGE_NAME = android-arm
|
||||
|
||||
# Extra tests (see CONTRIBUTING.md / Makefile "Extra tests" section)
|
||||
EXTRA_TESTS = stockfish openssl SQLite
|
||||
STOCKFISH_ARGS = ARCH=armv7 COMP=ndk
|
||||
OPENSSL_ARGS = android-arm no-shared
|
||||
@@ -1,7 +1,8 @@
|
||||
FROM dockcross/base:latest
|
||||
MAINTAINER Matt McCormick "matt.mccormick@kitware.com"
|
||||
ARG ORG=dockcross
|
||||
FROM ${ORG}/base:latest
|
||||
MAINTAINER Matt McCormick "matt@mmmccormick.com"
|
||||
RUN \
|
||||
sed -i '/debian-security/d' /etc/apt/sources.list && \
|
||||
echo Enabled: no >> /etc/apt/sources.list.d/debian.sources && \
|
||||
dpkg --add-architecture arm64 && \
|
||||
apt-get update
|
||||
|
||||
@@ -20,8 +21,8 @@ ENV AS=${CROSS_ROOT}/bin/llvm-as \
|
||||
CXX=${CROSS_ROOT}/bin/clang++ \
|
||||
LD=${CROSS_ROOT}/bin/ld
|
||||
|
||||
ENV ANDROID_NDK_REVISION 23
|
||||
ENV ANDROID_NDK_API 23
|
||||
ENV ANDROID_NDK_REVISION=28b
|
||||
ENV ANDROID_API=24
|
||||
|
||||
RUN mkdir -p /build && \
|
||||
cd /build && \
|
||||
@@ -30,7 +31,7 @@ RUN mkdir -p /build && \
|
||||
cd android-ndk-r${ANDROID_NDK_REVISION} && \
|
||||
./build/tools/make_standalone_toolchain.py \
|
||||
--arch arm64 \
|
||||
--api ${ANDROID_NDK_API} \
|
||||
--api ${ANDROID_API} \
|
||||
--stl=libc++ \
|
||||
--install-dir=${CROSS_ROOT} && \
|
||||
cd / && \
|
||||
@@ -38,8 +39,13 @@ RUN mkdir -p /build && \
|
||||
find ${CROSS_ROOT} -exec chmod a+r '{}' \; && \
|
||||
find ${CROSS_ROOT} -executable -exec chmod a+x '{}' \;
|
||||
|
||||
# Prepare Rust
|
||||
ENV PATH="/root/.cargo/bin/:$PATH"
|
||||
RUN rustup target add aarch64-linux-android
|
||||
COPY config.toml /root/.cargo/
|
||||
|
||||
# Prepare CMake
|
||||
COPY Toolchain.cmake ${CROSS_ROOT}/
|
||||
ENV CMAKE_TOOLCHAIN_FILE ${CROSS_ROOT}/Toolchain.cmake
|
||||
ENV CMAKE_TOOLCHAIN_FILE=${CROSS_ROOT}/Toolchain.cmake
|
||||
|
||||
#include "common.label-and-env"
|
||||
|
||||
@@ -14,10 +14,10 @@ set(CMAKE_Fortran_COMPILER $ENV{FC})
|
||||
set(CMAKE_EXE_LINKER_FLAGS "-llog")
|
||||
set(CMAKE_SHARED_LINKER_FLAGS "-llog")
|
||||
|
||||
set(CMAKE_FIND_ROOT_PATH $ENV{CROSS_ROOT})
|
||||
list(APPEND CMAKE_FIND_ROOT_PATH ${CMAKE_PREFIX_PATH} $ENV{CROSS_ROOT})
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY BOTH)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
|
||||
set(CMAKE_SYSROOT $ENV{CROSS_ROOT}/sysroot)
|
||||
|
||||
set(CMAKE_CROSSCOMPILING_EMULATOR /usr/bin/qemu-arm)
|
||||
|
||||
@@ -0,0 +1,5 @@
|
||||
[build]
|
||||
target = "aarch64-linux-android"
|
||||
|
||||
[target.aarch64-linux-android]
|
||||
linker = "/usr/aarch64-linux-android/bin/aarch64-linux-android-clang"
|
||||
@@ -0,0 +1,13 @@
|
||||
BASE_IMAGE_REGISTRY ?= docker.io
|
||||
BASE_IMAGE_PATH ?= dockcross
|
||||
BASE_IMAGE_NAME = base
|
||||
BASE_IMAGE_TAG = latest
|
||||
|
||||
OUTPUT_IMAGE_REGISTRY ?= docker.io
|
||||
OUTPUT_IMAGE_PATH ?= dockcross
|
||||
OUTPUT_IMAGE_NAME = android-arm64
|
||||
|
||||
# Extra tests (see CONTRIBUTING.md / Makefile "Extra tests" section)
|
||||
EXTRA_TESTS = stockfish openssl SQLite
|
||||
STOCKFISH_ARGS = ARCH=armv8 COMP=ndk
|
||||
OPENSSL_ARGS = android-arm64 no-shared
|
||||
+13
-6
@@ -1,4 +1,5 @@
|
||||
FROM dockcross/base:latest
|
||||
ARG ORG=dockcross
|
||||
FROM ${ORG}/base:latest
|
||||
|
||||
RUN apt-get update && apt-get install -y unzip
|
||||
|
||||
@@ -11,8 +12,8 @@ ENV AS=${CROSS_ROOT}/bin/llvm-as \
|
||||
CXX=${CROSS_ROOT}/bin/clang++ \
|
||||
LD=${CROSS_ROOT}/bin/ld
|
||||
|
||||
ENV ANDROID_NDK_REVISION 23
|
||||
ENV ANDROID_NDK_API 23
|
||||
ENV ANDROID_NDK_REVISION=28b
|
||||
ENV ANDROID_API=24
|
||||
|
||||
RUN mkdir -p /build && \
|
||||
cd /build && \
|
||||
@@ -21,7 +22,7 @@ RUN mkdir -p /build && \
|
||||
cd android-ndk-r${ANDROID_NDK_REVISION} && \
|
||||
./build/tools/make_standalone_toolchain.py \
|
||||
--arch x86 \
|
||||
--api ${ANDROID_NDK_API} \
|
||||
--api ${ANDROID_API} \
|
||||
--stl=libc++ \
|
||||
--install-dir=${CROSS_ROOT} && \
|
||||
cd / && \
|
||||
@@ -29,8 +30,14 @@ RUN mkdir -p /build && \
|
||||
find ${CROSS_ROOT} -exec chmod a+r '{}' \; && \
|
||||
find ${CROSS_ROOT} -executable -exec chmod a+x '{}' \;
|
||||
|
||||
# Prepare Rust
|
||||
ENV PATH="/root/.cargo/bin/:$PATH"
|
||||
RUN rustup target add i686-linux-android
|
||||
COPY config.toml /root/.cargo/
|
||||
|
||||
# Prepare CMake
|
||||
COPY Toolchain.cmake ${CROSS_ROOT}/
|
||||
ENV CMAKE_TOOLCHAIN_FILE ${CROSS_ROOT}/Toolchain.cmake
|
||||
ENV CMAKE_TOOLCHAIN_FILE=${CROSS_ROOT}/Toolchain.cmake
|
||||
|
||||
# Build-time metadata as defined at http://label-schema.org
|
||||
ARG BUILD_DATE
|
||||
@@ -44,4 +51,4 @@ LABEL org.label-schema.build-date=$BUILD_DATE \
|
||||
org.label-schema.vcs-ref=$VCS_REF \
|
||||
org.label-schema.vcs-url=$VCS_URL \
|
||||
org.label-schema.schema-version="1.0"
|
||||
ENV DEFAULT_DOCKCROSS_IMAGE ${IMAGE}:${VERSION}
|
||||
ENV DEFAULT_DOCKCROSS_IMAGE=${IMAGE}:${VERSION}
|
||||
|
||||
@@ -14,8 +14,8 @@ set(CMAKE_Fortran_COMPILER $ENV{FC})
|
||||
set(CMAKE_EXE_LINKER_FLAGS "-llog")
|
||||
set(CMAKE_SHARED_LINKER_FLAGS "-llog")
|
||||
|
||||
set(CMAKE_FIND_ROOT_PATH $ENV{CROSS_ROOT})
|
||||
list(APPEND CMAKE_FIND_ROOT_PATH ${CMAKE_PREFIX_PATH} $ENV{CROSS_ROOT})
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY BOTH)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
|
||||
set(CMAKE_SYSROOT $ENV{CROSS_ROOT}/sysroot)
|
||||
|
||||
@@ -0,0 +1,5 @@
|
||||
[build]
|
||||
target = "i686-linux-android"
|
||||
|
||||
[target.i686-linux-android]
|
||||
linker = "/usr/i686-linux-android/bin/i686-linux-android23-clang"
|
||||
@@ -0,0 +1,15 @@
|
||||
BASE_IMAGE_REGISTRY ?= docker.io
|
||||
BASE_IMAGE_PATH ?= dockcross
|
||||
BASE_IMAGE_NAME = base
|
||||
BASE_IMAGE_TAG = latest
|
||||
|
||||
OUTPUT_IMAGE_REGISTRY ?= docker.io
|
||||
OUTPUT_IMAGE_PATH ?= dockcross
|
||||
OUTPUT_IMAGE_NAME = android-x86
|
||||
|
||||
STATIC_DOCKERFILE = yes
|
||||
|
||||
# Extra tests (see CONTRIBUTING.md / Makefile "Extra tests" section)
|
||||
EXTRA_TESTS = stockfish openssl SQLite
|
||||
STOCKFISH_ARGS = ARCH=x86-32 COMP=ndk
|
||||
OPENSSL_ARGS = android-x86 no-shared
|
||||
@@ -1,4 +1,5 @@
|
||||
FROM dockcross/base:latest
|
||||
ARG ORG=dockcross
|
||||
FROM ${ORG}/base:latest
|
||||
|
||||
RUN apt-get update && apt-get install -y unzip
|
||||
|
||||
@@ -11,8 +12,8 @@ ENV AS=${CROSS_ROOT}/bin/llvm-as \
|
||||
CXX=${CROSS_ROOT}/bin/clang++ \
|
||||
LD=${CROSS_ROOT}/bin/ld
|
||||
|
||||
ENV ANDROID_NDK_REVISION 23
|
||||
ENV ANDROID_NDK_API 23
|
||||
ENV ANDROID_NDK_REVISION=28b
|
||||
ENV ANDROID_API=24
|
||||
|
||||
RUN mkdir -p /build && \
|
||||
cd /build && \
|
||||
@@ -21,7 +22,7 @@ RUN mkdir -p /build && \
|
||||
cd android-ndk-r${ANDROID_NDK_REVISION} && \
|
||||
./build/tools/make_standalone_toolchain.py \
|
||||
--arch x86_64 \
|
||||
--api ${ANDROID_NDK_API} \
|
||||
--api ${ANDROID_API} \
|
||||
--stl=libc++ \
|
||||
--install-dir=${CROSS_ROOT} && \
|
||||
cd / && \
|
||||
@@ -29,8 +30,14 @@ RUN mkdir -p /build && \
|
||||
find ${CROSS_ROOT} -exec chmod a+r '{}' \; && \
|
||||
find ${CROSS_ROOT} -executable -exec chmod a+x '{}' \;
|
||||
|
||||
# Prepare Rust
|
||||
ENV PATH="/root/.cargo/bin/:$PATH"
|
||||
RUN rustup target add x86_64-linux-android
|
||||
COPY config.toml /root/.cargo/
|
||||
|
||||
# Prepare CMake
|
||||
COPY Toolchain.cmake ${CROSS_ROOT}/
|
||||
ENV CMAKE_TOOLCHAIN_FILE ${CROSS_ROOT}/Toolchain.cmake
|
||||
ENV CMAKE_TOOLCHAIN_FILE=${CROSS_ROOT}/Toolchain.cmake
|
||||
|
||||
# Build-time metadata as defined at http://label-schema.org
|
||||
ARG BUILD_DATE
|
||||
@@ -44,4 +51,4 @@ LABEL org.label-schema.build-date=$BUILD_DATE \
|
||||
org.label-schema.vcs-ref=$VCS_REF \
|
||||
org.label-schema.vcs-url=$VCS_URL \
|
||||
org.label-schema.schema-version="1.0"
|
||||
ENV DEFAULT_DOCKCROSS_IMAGE ${IMAGE}:${VERSION}
|
||||
ENV DEFAULT_DOCKCROSS_IMAGE=${IMAGE}:${VERSION}
|
||||
|
||||
@@ -14,8 +14,8 @@ set(CMAKE_Fortran_COMPILER $ENV{FC})
|
||||
set(CMAKE_EXE_LINKER_FLAGS "-llog")
|
||||
set(CMAKE_SHARED_LINKER_FLAGS "-llog")
|
||||
|
||||
set(CMAKE_FIND_ROOT_PATH $ENV{CROSS_ROOT})
|
||||
list(APPEND CMAKE_FIND_ROOT_PATH ${CMAKE_PREFIX_PATH} $ENV{CROSS_ROOT})
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY BOTH)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
|
||||
set(CMAKE_SYSROOT $ENV{CROSS_ROOT}/sysroot)
|
||||
|
||||
@@ -0,0 +1,5 @@
|
||||
[build]
|
||||
target = "x86_64-linux-android"
|
||||
|
||||
[target.x86_64-linux-android]
|
||||
linker = "/usr/x86_64-linux-android/bin/x86_64-linux-android-clang"
|
||||
@@ -0,0 +1,15 @@
|
||||
BASE_IMAGE_REGISTRY ?= docker.io
|
||||
BASE_IMAGE_PATH ?= dockcross
|
||||
BASE_IMAGE_NAME = base
|
||||
BASE_IMAGE_TAG = latest
|
||||
|
||||
OUTPUT_IMAGE_REGISTRY ?= docker.io
|
||||
OUTPUT_IMAGE_PATH ?= dockcross
|
||||
OUTPUT_IMAGE_NAME = android-x86_64
|
||||
|
||||
STATIC_DOCKERFILE = yes
|
||||
|
||||
# Extra tests (see CONTRIBUTING.md / Makefile "Extra tests" section)
|
||||
EXTRA_TESTS = stockfish openssl SQLite
|
||||
STOCKFISH_ARGS = ARCH=x86-64 COMP=ndk
|
||||
OPENSSL_ARGS = android-x86_64 no-shared
|
||||
@@ -0,0 +1,35 @@
|
||||
ARG ORG=dockcross
|
||||
FROM ${ORG}/base:latest
|
||||
|
||||
LABEL maintainer="Chen Tao t.clydechen@gmail.com"
|
||||
|
||||
# This is for armv7e-m+fp bare metal
|
||||
|
||||
# Crosstool-ng version 1.25.0
|
||||
ENV CT_VERSION=8fa98eeeff9bc53478d97ef722f366fea151ae64
|
||||
|
||||
#include "common.crosstool"
|
||||
|
||||
ENV CROSS_TRIPLE=arm-none-eabi
|
||||
|
||||
ENV CROSS_ROOT=${XCC_PREFIX}/${CROSS_TRIPLE}
|
||||
ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \
|
||||
AR=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ar \
|
||||
CC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gcc \
|
||||
CPP=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-cpp \
|
||||
CXX=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-g++ \
|
||||
LD=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ld \
|
||||
SZ=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-size \
|
||||
OBJCOPY=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-objcopy
|
||||
|
||||
COPY Toolchain.cmake ${CROSS_ROOT}/
|
||||
ENV CMAKE_TOOLCHAIN_FILE=${CROSS_ROOT}/Toolchain.cmake
|
||||
|
||||
ENV PKG_CONFIG_PATH=/usr/lib/arm-none-eabi/pkgconfig
|
||||
|
||||
# Linux kernel cross compilation variables
|
||||
ENV PATH=${PATH}:${CROSS_ROOT}/bin
|
||||
ENV CROSS_COMPILE=${CROSS_TRIPLE}-
|
||||
ENV ARCH=arm
|
||||
|
||||
#include "common.label-and-env"
|
||||
@@ -0,0 +1,18 @@
|
||||
set(CMAKE_SYSTEM_NAME Generic)
|
||||
set(CMAKE_SYSTEM_VERSION 1)
|
||||
set(CMAKE_SYSTEM_PROCESSOR arm)
|
||||
|
||||
set(cross_triple "arm-none-eabi")
|
||||
set(cross_root /usr/xcc/${cross_triple})
|
||||
|
||||
set(CMAKE_C_COMPILER $ENV{CC})
|
||||
set(CMAKE_CXX_COMPILER $ENV{CXX})
|
||||
|
||||
set(CMAKE_CXX_FLAGS "-I ${cross_root}/include/")
|
||||
|
||||
list(APPEND CMAKE_FIND_ROOT_PATH ${CMAKE_PREFIX_PATH} ${cross_root} ${cross_root}/${cross_triple})
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
|
||||
|
||||
set(CMAKE_EXE_LINKER_FLAGS "--specs=nosys.specs" CACHE INTERNAL "")
|
||||
@@ -0,0 +1,869 @@
|
||||
#
|
||||
# Automatically generated file; DO NOT EDIT.
|
||||
# crosstool-NG 1.25.0 Configuration
|
||||
#
|
||||
CT_CONFIGURE_has_static_link=y
|
||||
CT_CONFIGURE_has_cxx11=y
|
||||
CT_CONFIGURE_has_wget=y
|
||||
CT_CONFIGURE_has_make_3_81_or_newer=y
|
||||
CT_CONFIGURE_has_make_4_0_or_newer=y
|
||||
CT_CONFIGURE_has_libtool_2_4_or_newer=y
|
||||
CT_CONFIGURE_has_libtoolize_2_4_or_newer=y
|
||||
CT_CONFIGURE_has_autoconf_2_65_or_newer=y
|
||||
CT_CONFIGURE_has_autoreconf_2_65_or_newer=y
|
||||
CT_CONFIGURE_has_automake_1_15_or_newer=y
|
||||
CT_CONFIGURE_has_gnu_m4_1_4_12_or_newer=y
|
||||
CT_CONFIGURE_has_python_3_4_or_newer=y
|
||||
CT_CONFIGURE_has_bison_2_7_or_newer=y
|
||||
CT_CONFIGURE_has_python=y
|
||||
CT_CONFIGURE_has_git=y
|
||||
CT_CONFIGURE_has_md5sum=y
|
||||
CT_CONFIGURE_has_sha1sum=y
|
||||
CT_CONFIGURE_has_sha256sum=y
|
||||
CT_CONFIGURE_has_sha512sum=y
|
||||
CT_CONFIGURE_has_install_with_strip_program=y
|
||||
CT_VERSION="1.25.0"
|
||||
CT_VCHECK=""
|
||||
CT_CONFIG_VERSION_ENV="4"
|
||||
CT_CONFIG_VERSION_CURRENT="4"
|
||||
CT_CONFIG_VERSION="4"
|
||||
CT_MODULES=y
|
||||
|
||||
#
|
||||
# Paths and misc options
|
||||
#
|
||||
|
||||
#
|
||||
# crosstool-NG behavior
|
||||
#
|
||||
# CT_OBSOLETE is not set
|
||||
CT_EXPERIMENTAL=y
|
||||
CT_ALLOW_BUILD_AS_ROOT=y
|
||||
CT_ALLOW_BUILD_AS_ROOT_SURE=y
|
||||
# CT_DEBUG_CT is not set
|
||||
|
||||
#
|
||||
# Paths
|
||||
#
|
||||
CT_LOCAL_TARBALLS_DIR="${HOME}/src"
|
||||
CT_SAVE_TARBALLS=y
|
||||
# CT_TARBALLS_BUILDROOT_LAYOUT is not set
|
||||
CT_WORK_DIR="${CT_TOP_DIR}/.build"
|
||||
CT_BUILD_TOP_DIR="${CT_WORK_DIR:-${CT_TOP_DIR}/.build}/${CT_HOST:+HOST-${CT_HOST}/}${CT_TARGET}"
|
||||
CT_BUILD_DIR="${CT_BUILD_TOP_DIR}/build"
|
||||
CT_PREFIX_DIR="${CT_PREFIX:-${HOME}/x-tools}/${CT_HOST:+HOST-${CT_HOST}/}${CT_TARGET}"
|
||||
CT_RM_RF_PREFIX_DIR=y
|
||||
CT_REMOVE_DOCS=y
|
||||
CT_INSTALL_LICENSES=y
|
||||
CT_PREFIX_DIR_RO=y
|
||||
CT_STRIP_HOST_TOOLCHAIN_EXECUTABLES=y
|
||||
# CT_STRIP_TARGET_TOOLCHAIN_EXECUTABLES is not set
|
||||
|
||||
#
|
||||
# Downloading
|
||||
#
|
||||
CT_DOWNLOAD_AGENT_WGET=y
|
||||
# CT_DOWNLOAD_AGENT_NONE is not set
|
||||
# CT_FORBID_DOWNLOAD is not set
|
||||
# CT_FORCE_DOWNLOAD is not set
|
||||
CT_CONNECT_TIMEOUT=10
|
||||
CT_DOWNLOAD_WGET_OPTIONS="--passive-ftp --tries=3 -nc --progress=dot:binary"
|
||||
# CT_ONLY_DOWNLOAD is not set
|
||||
# CT_USE_MIRROR is not set
|
||||
CT_VERIFY_DOWNLOAD_DIGEST=y
|
||||
CT_VERIFY_DOWNLOAD_DIGEST_SHA512=y
|
||||
# CT_VERIFY_DOWNLOAD_DIGEST_SHA256 is not set
|
||||
# CT_VERIFY_DOWNLOAD_DIGEST_SHA1 is not set
|
||||
# CT_VERIFY_DOWNLOAD_DIGEST_MD5 is not set
|
||||
CT_VERIFY_DOWNLOAD_DIGEST_ALG="sha512"
|
||||
# CT_VERIFY_DOWNLOAD_SIGNATURE is not set
|
||||
|
||||
#
|
||||
# Extracting
|
||||
#
|
||||
# CT_FORCE_EXTRACT is not set
|
||||
CT_OVERRIDE_CONFIG_GUESS_SUB=y
|
||||
# CT_ONLY_EXTRACT is not set
|
||||
CT_PATCH_BUNDLED=y
|
||||
# CT_PATCH_LOCAL is not set
|
||||
# CT_PATCH_BUNDLED_LOCAL is not set
|
||||
# CT_PATCH_LOCAL_BUNDLED is not set
|
||||
# CT_PATCH_NONE is not set
|
||||
CT_PATCH_ORDER="bundled"
|
||||
|
||||
#
|
||||
# Build behavior
|
||||
#
|
||||
CT_PARALLEL_JOBS=0
|
||||
CT_LOAD=""
|
||||
CT_USE_PIPES=y
|
||||
CT_EXTRA_CFLAGS_FOR_BUILD=""
|
||||
CT_EXTRA_CXXFLAGS_FOR_BUILD=""
|
||||
CT_EXTRA_LDFLAGS_FOR_BUILD=""
|
||||
CT_EXTRA_CFLAGS_FOR_HOST=""
|
||||
CT_EXTRA_LDFLAGS_FOR_HOST=""
|
||||
# CT_CONFIG_SHELL_SH is not set
|
||||
# CT_CONFIG_SHELL_ASH is not set
|
||||
CT_CONFIG_SHELL_BASH=y
|
||||
# CT_CONFIG_SHELL_CUSTOM is not set
|
||||
CT_CONFIG_SHELL="${bash}"
|
||||
|
||||
#
|
||||
# Logging
|
||||
#
|
||||
# CT_LOG_ERROR is not set
|
||||
# CT_LOG_WARN is not set
|
||||
# CT_LOG_INFO is not set
|
||||
CT_LOG_EXTRA=y
|
||||
# CT_LOG_ALL is not set
|
||||
# CT_LOG_DEBUG is not set
|
||||
CT_LOG_LEVEL_MAX="EXTRA"
|
||||
# CT_LOG_SEE_TOOLS_WARN is not set
|
||||
CT_LOG_PROGRESS_BAR=n
|
||||
CT_LOG_TO_FILE=y
|
||||
CT_LOG_FILE_COMPRESS=y
|
||||
# end of Paths and misc options
|
||||
|
||||
#
|
||||
# Target options
|
||||
#
|
||||
# CT_ARCH_ALPHA is not set
|
||||
# CT_ARCH_ARC is not set
|
||||
CT_ARCH_ARM=y
|
||||
# CT_ARCH_AVR is not set
|
||||
# CT_ARCH_C6X is not set
|
||||
# CT_ARCH_M68K is not set
|
||||
# CT_ARCH_MICROBLAZE is not set
|
||||
# CT_ARCH_MIPS is not set
|
||||
# CT_ARCH_MOXIE is not set
|
||||
# CT_ARCH_MSP430 is not set
|
||||
# CT_ARCH_NIOS2 is not set
|
||||
# CT_ARCH_POWERPC is not set
|
||||
# CT_ARCH_PRU is not set
|
||||
# CT_ARCH_RISCV is not set
|
||||
# CT_ARCH_S390 is not set
|
||||
# CT_ARCH_SH is not set
|
||||
# CT_ARCH_SPARC is not set
|
||||
# CT_ARCH_X86 is not set
|
||||
# CT_ARCH_XTENSA is not set
|
||||
CT_ARCH="arm"
|
||||
CT_ARCH_CHOICE_KSYM="ARM"
|
||||
CT_ARCH_CPU=""
|
||||
CT_ARCH_TUNE=""
|
||||
CT_ARCH_ARM_SHOW=y
|
||||
|
||||
#
|
||||
# Options for arm
|
||||
#
|
||||
CT_ARCH_ARM_PKG_KSYM=""
|
||||
CT_ARCH_ARM_MODE="thumb"
|
||||
# CT_ARCH_ARM_MODE_ARM is not set
|
||||
CT_ARCH_ARM_MODE_THUMB=y
|
||||
# CT_ARCH_ARM_INTERWORKING is not set
|
||||
CT_ARCH_ARM_EABI_FORCE=y
|
||||
CT_ARCH_ARM_EABI=y
|
||||
# CT_ARCH_ARM_TUPLE_USE_EABIHF is not set
|
||||
CT_ALL_ARCH_CHOICES="ALPHA ARC ARM AVR C6X M68K MICROBLAZE MIPS MOXIE MSP430 NIOS2 POWERPC PRU RISCV S390 SH SPARC X86 XTENSA"
|
||||
CT_ARCH_SUFFIX=""
|
||||
# CT_OMIT_TARGET_VENDOR is not set
|
||||
|
||||
#
|
||||
# Generic target options
|
||||
#
|
||||
# CT_MULTILIB is not set
|
||||
CT_DEMULTILIB=y
|
||||
CT_ARCH_SUPPORTS_BOTH_MMU=y
|
||||
CT_ARCH_DEFAULT_HAS_MMU=y
|
||||
# CT_ARCH_USE_MMU is not set
|
||||
CT_ARCH_SUPPORTS_FLAT_FORMAT=y
|
||||
CT_ARCH_SUPPORTS_EITHER_ENDIAN=y
|
||||
CT_ARCH_DEFAULT_LE=y
|
||||
# CT_ARCH_BE is not set
|
||||
CT_ARCH_LE=y
|
||||
CT_ARCH_ENDIAN="little"
|
||||
CT_ARCH_SUPPORTS_32=y
|
||||
CT_ARCH_SUPPORTS_64=y
|
||||
CT_ARCH_DEFAULT_32=y
|
||||
CT_ARCH_BITNESS=32
|
||||
CT_ARCH_32=y
|
||||
# CT_ARCH_64 is not set
|
||||
|
||||
#
|
||||
# Target optimisations
|
||||
#
|
||||
CT_ARCH_SUPPORTS_WITH_ARCH=y
|
||||
CT_ARCH_SUPPORTS_WITH_CPU=y
|
||||
CT_ARCH_SUPPORTS_WITH_TUNE=y
|
||||
CT_ARCH_SUPPORTS_WITH_FLOAT=y
|
||||
CT_ARCH_SUPPORTS_WITH_FPU=y
|
||||
CT_ARCH_SUPPORTS_SOFTFP=y
|
||||
CT_ARCH_EXCLUSIVE_WITH_CPU=y
|
||||
CT_ARCH_ARCH="armv7e-m+fp"
|
||||
CT_ARCH_FPU="fpv4-sp-d16"
|
||||
# CT_ARCH_FLOAT_AUTO is not set
|
||||
CT_ARCH_FLOAT_HW=y
|
||||
# CT_ARCH_FLOAT_SOFTFP is not set
|
||||
# CT_ARCH_FLOAT_SW is not set
|
||||
CT_TARGET_CFLAGS=""
|
||||
CT_TARGET_LDFLAGS=""
|
||||
CT_ARCH_FLOAT="hard"
|
||||
# end of Target options
|
||||
|
||||
#
|
||||
# Toolchain options
|
||||
#
|
||||
|
||||
#
|
||||
# General toolchain options
|
||||
#
|
||||
CT_WANTS_STATIC_LINK=y
|
||||
CT_WANTS_STATIC_LINK_CXX=y
|
||||
# CT_STATIC_TOOLCHAIN is not set
|
||||
CT_SHOW_CT_VERSION=y
|
||||
CT_TOOLCHAIN_PKGVERSION=""
|
||||
CT_TOOLCHAIN_BUGURL=""
|
||||
|
||||
#
|
||||
# Tuple completion and aliasing
|
||||
#
|
||||
CT_TARGET_VENDOR="none"
|
||||
CT_TARGET_ALIAS_SED_EXPR=""
|
||||
CT_TARGET_ALIAS=""
|
||||
|
||||
#
|
||||
# Toolchain type
|
||||
#
|
||||
# CT_NATIVE is not set
|
||||
CT_CROSS=y
|
||||
# CT_CROSS_NATIVE is not set
|
||||
# CT_CANADIAN is not set
|
||||
CT_TOOLCHAIN_TYPE="cross"
|
||||
|
||||
#
|
||||
# Build system
|
||||
#
|
||||
CT_BUILD=""
|
||||
CT_BUILD_PREFIX=""
|
||||
CT_BUILD_SUFFIX=""
|
||||
|
||||
#
|
||||
# Misc options
|
||||
#
|
||||
# CT_TOOLCHAIN_ENABLE_NLS is not set
|
||||
# end of Toolchain options
|
||||
|
||||
#
|
||||
# Operating System
|
||||
#
|
||||
CT_BARE_METAL=y
|
||||
CT_KERNEL_BARE_METAL=y
|
||||
# CT_KERNEL_LINUX is not set
|
||||
CT_KERNEL="bare-metal"
|
||||
CT_KERNEL_CHOICE_KSYM="BARE_METAL"
|
||||
CT_KERNEL_BARE_METAL_SHOW=y
|
||||
|
||||
#
|
||||
# Options for bare-metal
|
||||
#
|
||||
CT_KERNEL_BARE_METAL_PKG_KSYM=""
|
||||
CT_ALL_KERNEL_CHOICES="BARE_METAL LINUX WINDOWS"
|
||||
|
||||
#
|
||||
# Common kernel options
|
||||
#
|
||||
# end of Operating System
|
||||
|
||||
#
|
||||
# Binary utilities
|
||||
#
|
||||
CT_ARCH_BINFMT_ELF=y
|
||||
# CT_ARCH_BINFMT_FLAT is not set
|
||||
# CT_ARCH_BINFMT_FDPIC is not set
|
||||
CT_BINUTILS_BINUTILS=y
|
||||
CT_BINUTILS="binutils"
|
||||
CT_BINUTILS_CHOICE_KSYM="BINUTILS"
|
||||
CT_BINUTILS_BINUTILS_SHOW=y
|
||||
|
||||
#
|
||||
# Options for binutils
|
||||
#
|
||||
CT_BINUTILS_BINUTILS_PKG_KSYM="BINUTILS"
|
||||
CT_BINUTILS_DIR_NAME="binutils"
|
||||
CT_BINUTILS_USE_GNU=y
|
||||
# CT_BINUTILS_USE_LINARO is not set
|
||||
# CT_BINUTILS_USE_ORACLE is not set
|
||||
CT_BINUTILS_USE="BINUTILS"
|
||||
CT_BINUTILS_PKG_NAME="binutils"
|
||||
CT_BINUTILS_SRC_RELEASE=y
|
||||
# CT_BINUTILS_SRC_DEVEL is not set
|
||||
# CT_BINUTILS_SRC_CUSTOM is not set
|
||||
CT_BINUTILS_PATCH_GLOBAL=y
|
||||
# CT_BINUTILS_PATCH_BUNDLED is not set
|
||||
# CT_BINUTILS_PATCH_LOCAL is not set
|
||||
# CT_BINUTILS_PATCH_BUNDLED_LOCAL is not set
|
||||
# CT_BINUTILS_PATCH_LOCAL_BUNDLED is not set
|
||||
# CT_BINUTILS_PATCH_NONE is not set
|
||||
CT_BINUTILS_PATCH_ORDER="global"
|
||||
CT_BINUTILS_V_2_38=y
|
||||
# CT_BINUTILS_V_2_37 is not set
|
||||
# CT_BINUTILS_V_2_36 is not set
|
||||
# CT_BINUTILS_V_2_35 is not set
|
||||
# CT_BINUTILS_V_2_34 is not set
|
||||
# CT_BINUTILS_V_2_33 is not set
|
||||
# CT_BINUTILS_V_2_32 is not set
|
||||
# CT_BINUTILS_V_2_31 is not set
|
||||
# CT_BINUTILS_V_2_30 is not set
|
||||
# CT_BINUTILS_V_2_29 is not set
|
||||
# CT_BINUTILS_V_2_28 is not set
|
||||
# CT_BINUTILS_V_2_27 is not set
|
||||
# CT_BINUTILS_V_2_26 is not set
|
||||
CT_BINUTILS_VERSION="2.38"
|
||||
CT_BINUTILS_MIRRORS="$(CT_Mirrors GNU binutils) $(CT_Mirrors sourceware binutils/releases)"
|
||||
CT_BINUTILS_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
|
||||
CT_BINUTILS_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
|
||||
CT_BINUTILS_ARCHIVE_FORMATS=".tar.xz .tar.bz2 .tar.gz"
|
||||
CT_BINUTILS_SIGNATURE_FORMAT="packed/.sig"
|
||||
CT_BINUTILS_later_than_2_30=y
|
||||
CT_BINUTILS_2_30_or_later=y
|
||||
CT_BINUTILS_later_than_2_27=y
|
||||
CT_BINUTILS_2_27_or_later=y
|
||||
CT_BINUTILS_later_than_2_26=y
|
||||
CT_BINUTILS_2_26_or_later=y
|
||||
|
||||
#
|
||||
# GNU binutils
|
||||
#
|
||||
CT_BINUTILS_GOLD_SUPPORTS_ARCH=y
|
||||
CT_BINUTILS_GOLD_SUPPORT=y
|
||||
CT_BINUTILS_LINKER_LD=y
|
||||
# CT_BINUTILS_LINKER_GOLD is not set
|
||||
# CT_BINUTILS_LINKER_LD_GOLD is not set
|
||||
# CT_BINUTILS_LINKER_GOLD_LD is not set
|
||||
CT_BINUTILS_LINKERS_LIST="ld"
|
||||
CT_BINUTILS_LINKER_DEFAULT="bfd"
|
||||
CT_BINUTILS_PLUGINS=y
|
||||
CT_BINUTILS_RELRO=m
|
||||
CT_BINUTILS_DETERMINISTIC_ARCHIVES=y
|
||||
CT_BINUTILS_EXTRA_CONFIG_ARRAY=""
|
||||
CT_ALL_BINUTILS_CHOICES="BINUTILS"
|
||||
# end of Binary utilities
|
||||
|
||||
#
|
||||
# C-library
|
||||
#
|
||||
CT_LIBC_NEWLIB=y
|
||||
# CT_LIBC_NONE is not set
|
||||
CT_LIBC="newlib"
|
||||
CT_LIBC_CHOICE_KSYM="NEWLIB"
|
||||
CT_THREADS="none"
|
||||
CT_LIBC_NEWLIB_SHOW=y
|
||||
|
||||
#
|
||||
# Options for newlib
|
||||
#
|
||||
CT_LIBC_NEWLIB_PKG_KSYM="NEWLIB"
|
||||
CT_NEWLIB_DIR_NAME="newlib"
|
||||
CT_NEWLIB_PKG_NAME="newlib"
|
||||
CT_NEWLIB_SRC_RELEASE=y
|
||||
# CT_NEWLIB_SRC_DEVEL is not set
|
||||
# CT_NEWLIB_SRC_CUSTOM is not set
|
||||
CT_NEWLIB_PATCH_GLOBAL=y
|
||||
# CT_NEWLIB_PATCH_BUNDLED is not set
|
||||
# CT_NEWLIB_PATCH_LOCAL is not set
|
||||
# CT_NEWLIB_PATCH_BUNDLED_LOCAL is not set
|
||||
# CT_NEWLIB_PATCH_LOCAL_BUNDLED is not set
|
||||
# CT_NEWLIB_PATCH_NONE is not set
|
||||
CT_NEWLIB_PATCH_ORDER="global"
|
||||
CT_NEWLIB_V_4_1=y
|
||||
# CT_NEWLIB_V_3_3 is not set
|
||||
# CT_NEWLIB_V_3_2 is not set
|
||||
# CT_NEWLIB_V_3_1 is not set
|
||||
# CT_NEWLIB_V_3_0 is not set
|
||||
# CT_NEWLIB_V_2_5 is not set
|
||||
CT_NEWLIB_VERSION="4.1.0"
|
||||
CT_NEWLIB_MIRRORS="ftp://sourceware.org/pub/newlib"
|
||||
CT_NEWLIB_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
|
||||
CT_NEWLIB_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
|
||||
CT_NEWLIB_ARCHIVE_FORMATS=".tar.gz"
|
||||
CT_NEWLIB_SIGNATURE_FORMAT=""
|
||||
CT_LIBC_NEWLIB_TARGET_CFLAGS=""
|
||||
CT_LIBC_NEWLIB_IO_C99FMT=y
|
||||
CT_LIBC_NEWLIB_IO_LL=y
|
||||
CT_LIBC_NEWLIB_IO_FLOAT=y
|
||||
# CT_LIBC_NEWLIB_IO_LDBL is not set
|
||||
# CT_LIBC_NEWLIB_IO_POS_ARGS is not set
|
||||
# CT_LIBC_NEWLIB_FVWRITE_IN_STREAMIO is not set
|
||||
# CT_LIBC_NEWLIB_UNBUF_STREAM_OPT is not set
|
||||
# CT_LIBC_NEWLIB_FSEEK_OPTIMIZATION is not set
|
||||
CT_LIBC_NEWLIB_DISABLE_SUPPLIED_SYSCALLS=y
|
||||
# CT_LIBC_NEWLIB_REGISTER_FINI is not set
|
||||
# CT_LIBC_NEWLIB_ATEXIT_DYNAMIC_ALLOC is not set
|
||||
# CT_LIBC_NEWLIB_GLOBAL_ATEXIT is not set
|
||||
CT_LIBC_NEWLIB_LITE_EXIT=y
|
||||
CT_LIBC_NEWLIB_REENT_SMALL=y
|
||||
# CT_LIBC_NEWLIB_MULTITHREAD is not set
|
||||
# CT_LIBC_NEWLIB_RETARGETABLE_LOCKING is not set
|
||||
CT_LIBC_NEWLIB_EXTRA_SECTIONS=y
|
||||
CT_LIBC_NEWLIB_WIDE_ORIENT=y
|
||||
CT_LIBC_NEWLIB_ENABLE_TARGET_OPTSPACE=y
|
||||
# CT_LIBC_NEWLIB_LTO is not set
|
||||
CT_LIBC_NEWLIB_NANO_MALLOC=y
|
||||
CT_LIBC_NEWLIB_NANO_FORMATTED_IO=y
|
||||
CT_LIBC_NEWLIB_EXTRA_CONFIG_ARRAY=""
|
||||
CT_ALL_LIBC_CHOICES="AVR_LIBC BIONIC GLIBC MINGW_W64 MOXIEBOX MUSL NEWLIB NONE UCLIBC_NG"
|
||||
CT_LIBC_SUPPORT_THREADS_NONE=y
|
||||
CT_LIBC_PROVIDES_CXA_ATEXIT=y
|
||||
|
||||
#
|
||||
# Common C library options
|
||||
#
|
||||
CT_THREADS_NONE=y
|
||||
# end of C-library
|
||||
|
||||
#
|
||||
# C compiler
|
||||
#
|
||||
CT_CC_CORE_NEEDED=y
|
||||
CT_CC_SUPPORT_CXX=y
|
||||
CT_CC_SUPPORT_FORTRAN=y
|
||||
CT_CC_SUPPORT_ADA=y
|
||||
CT_CC_SUPPORT_OBJC=y
|
||||
CT_CC_SUPPORT_OBJCXX=y
|
||||
CT_CC_SUPPORT_GOLANG=y
|
||||
CT_CC_GCC=y
|
||||
CT_CC="gcc"
|
||||
CT_CC_CHOICE_KSYM="GCC"
|
||||
CT_CC_GCC_SHOW=y
|
||||
|
||||
#
|
||||
# Options for gcc
|
||||
#
|
||||
CT_CC_GCC_PKG_KSYM="GCC"
|
||||
CT_GCC_DIR_NAME="gcc"
|
||||
CT_GCC_USE_GNU=y
|
||||
# CT_GCC_USE_LINARO is not set
|
||||
CT_GCC_USE="GCC"
|
||||
CT_GCC_PKG_NAME="gcc"
|
||||
CT_GCC_SRC_RELEASE=y
|
||||
# CT_GCC_SRC_DEVEL is not set
|
||||
# CT_GCC_SRC_CUSTOM is not set
|
||||
CT_GCC_PATCH_GLOBAL=y
|
||||
# CT_GCC_PATCH_BUNDLED is not set
|
||||
# CT_GCC_PATCH_LOCAL is not set
|
||||
# CT_GCC_PATCH_BUNDLED_LOCAL is not set
|
||||
# CT_GCC_PATCH_LOCAL_BUNDLED is not set
|
||||
# CT_GCC_PATCH_NONE is not set
|
||||
CT_GCC_PATCH_ORDER="global"
|
||||
CT_GCC_V_11=y
|
||||
# CT_GCC_V_10 is not set
|
||||
# CT_GCC_V_9 is not set
|
||||
# CT_GCC_V_8 is not set
|
||||
# CT_GCC_V_7 is not set
|
||||
# CT_GCC_V_6 is not set
|
||||
# CT_GCC_V_5 is not set
|
||||
# CT_GCC_V_4_9 is not set
|
||||
CT_GCC_VERSION="11.2.0"
|
||||
CT_GCC_MIRRORS="$(CT_Mirrors GNU gcc/gcc-${CT_GCC_VERSION}) $(CT_Mirrors sourceware gcc/releases/gcc-${CT_GCC_VERSION})"
|
||||
CT_GCC_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
|
||||
CT_GCC_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
|
||||
CT_GCC_ARCHIVE_FORMATS=".tar.xz .tar.gz"
|
||||
CT_GCC_SIGNATURE_FORMAT=""
|
||||
CT_GCC_later_than_11=y
|
||||
CT_GCC_11_or_later=y
|
||||
CT_GCC_later_than_10=y
|
||||
CT_GCC_10_or_later=y
|
||||
CT_GCC_later_than_9=y
|
||||
CT_GCC_9_or_later=y
|
||||
CT_GCC_later_than_8=y
|
||||
CT_GCC_8_or_later=y
|
||||
CT_GCC_later_than_7=y
|
||||
CT_GCC_7_or_later=y
|
||||
CT_GCC_later_than_6=y
|
||||
CT_GCC_6_or_later=y
|
||||
CT_GCC_later_than_5=y
|
||||
CT_GCC_5_or_later=y
|
||||
CT_GCC_later_than_4_9=y
|
||||
CT_GCC_4_9_or_later=y
|
||||
CT_CC_GCC_ENABLE_PLUGINS=y
|
||||
CT_CC_GCC_HAS_LIBMPX=y
|
||||
CT_CC_GCC_ENABLE_CXX_FLAGS=""
|
||||
CT_CC_GCC_CORE_EXTRA_CONFIG_ARRAY=""
|
||||
CT_CC_GCC_EXTRA_CONFIG_ARRAY=""
|
||||
CT_CC_GCC_STATIC_LIBSTDCXX=y
|
||||
# CT_CC_GCC_SYSTEM_ZLIB is not set
|
||||
CT_CC_GCC_CONFIG_TLS=m
|
||||
|
||||
#
|
||||
# Optimisation features
|
||||
#
|
||||
CT_CC_GCC_USE_GRAPHITE=y
|
||||
CT_CC_GCC_USE_LTO=y
|
||||
CT_CC_GCC_LTO_ZSTD=m
|
||||
|
||||
#
|
||||
# Settings for libraries running on target
|
||||
#
|
||||
CT_CC_GCC_ENABLE_TARGET_OPTSPACE=y
|
||||
# CT_CC_GCC_LIBMUDFLAP is not set
|
||||
# CT_CC_GCC_LIBSSP is not set
|
||||
# CT_CC_GCC_LIBQUADMATH is not set
|
||||
|
||||
#
|
||||
# Misc. obscure options.
|
||||
#
|
||||
# CT_CC_CXA_ATEXIT is not set
|
||||
CT_CC_GCC_TM_CLONE_REGISTRY=m
|
||||
# CT_CC_GCC_DISABLE_PCH is not set
|
||||
# CT_CC_GCC_LDBL_128 is not set
|
||||
# CT_CC_GCC_BUILD_ID is not set
|
||||
CT_CC_GCC_LNK_HASH_STYLE_DEFAULT=y
|
||||
# CT_CC_GCC_LNK_HASH_STYLE_SYSV is not set
|
||||
# CT_CC_GCC_LNK_HASH_STYLE_GNU is not set
|
||||
# CT_CC_GCC_LNK_HASH_STYLE_BOTH is not set
|
||||
CT_CC_GCC_LNK_HASH_STYLE=""
|
||||
CT_CC_GCC_DEC_FLOATS_AUTO=y
|
||||
# CT_CC_GCC_DEC_FLOATS_BID is not set
|
||||
# CT_CC_GCC_DEC_FLOATS_DPD is not set
|
||||
# CT_CC_GCC_DEC_FLOATS_NO is not set
|
||||
CT_CC_GCC_DEC_FLOATS=""
|
||||
CT_ALL_CC_CHOICES="GCC"
|
||||
|
||||
#
|
||||
# Additional supported languages:
|
||||
#
|
||||
CT_CC_LANG_CXX=y
|
||||
# CT_CC_LANG_FORTRAN is not set
|
||||
CT_CC_LANG_OTHERS=""
|
||||
# end of C compiler
|
||||
|
||||
#
|
||||
# Debug facilities
|
||||
#
|
||||
CT_DEBUG_GDB=y
|
||||
CT_DEBUG_GDB_PKG_KSYM="GDB"
|
||||
CT_GDB_DIR_NAME="gdb"
|
||||
CT_GDB_PKG_NAME="gdb"
|
||||
CT_GDB_SRC_RELEASE=y
|
||||
# CT_GDB_SRC_DEVEL is not set
|
||||
# CT_GDB_SRC_CUSTOM is not set
|
||||
CT_GDB_PATCH_GLOBAL=y
|
||||
# CT_GDB_PATCH_BUNDLED is not set
|
||||
# CT_GDB_PATCH_LOCAL is not set
|
||||
# CT_GDB_PATCH_BUNDLED_LOCAL is not set
|
||||
# CT_GDB_PATCH_LOCAL_BUNDLED is not set
|
||||
# CT_GDB_PATCH_NONE is not set
|
||||
CT_GDB_PATCH_ORDER="global"
|
||||
CT_GDB_V_11=y
|
||||
# CT_GDB_V_10 is not set
|
||||
# CT_GDB_V_9 is not set
|
||||
# CT_GDB_V_8_3 is not set
|
||||
CT_GDB_VERSION="11.2"
|
||||
CT_GDB_MIRRORS="$(CT_Mirrors GNU gdb) $(CT_Mirrors sourceware gdb/releases)"
|
||||
CT_GDB_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
|
||||
CT_GDB_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
|
||||
CT_GDB_ARCHIVE_FORMATS=".tar.xz .tar.gz"
|
||||
CT_GDB_SIGNATURE_FORMAT=""
|
||||
CT_GDB_later_than_11=y
|
||||
CT_GDB_11_or_later=y
|
||||
CT_GDB_later_than_10=y
|
||||
CT_GDB_10_or_later=y
|
||||
CT_GDB_later_than_8_3=y
|
||||
CT_GDB_8_3_or_later=y
|
||||
CT_GDB_later_than_8_0=y
|
||||
CT_GDB_8_0_or_later=y
|
||||
CT_GDB_later_than_7_12=y
|
||||
CT_GDB_7_12_or_later=y
|
||||
CT_GDB_later_than_7_11=y
|
||||
CT_GDB_7_11_or_later=y
|
||||
CT_GDB_CROSS=y
|
||||
# CT_GDB_CROSS_STATIC is not set
|
||||
CT_GDB_CROSS_SIM=y
|
||||
CT_GDB_CROSS_PYTHON=y
|
||||
CT_GDB_CROSS_PYTHON_BINARY=""
|
||||
CT_GDB_CROSS_EXTRA_CONFIG_ARRAY=""
|
||||
|
||||
#
|
||||
# In bare-metal, you'll need to
|
||||
#
|
||||
|
||||
#
|
||||
# provide your own gdbserver stub.
|
||||
#
|
||||
CT_GDB_GDBSERVER_TOPLEVEL=y
|
||||
# CT_DEBUG_LTRACE is not set
|
||||
# CT_DEBUG_STRACE is not set
|
||||
CT_ALL_DEBUG_CHOICES="DUMA GDB LTRACE STRACE"
|
||||
# end of Debug facilities
|
||||
|
||||
#
|
||||
# Companion libraries
|
||||
#
|
||||
# CT_COMPLIBS_CHECK is not set
|
||||
# CT_COMP_LIBS_CLOOG is not set
|
||||
CT_COMP_LIBS_EXPAT=y
|
||||
CT_COMP_LIBS_EXPAT_PKG_KSYM="EXPAT"
|
||||
CT_EXPAT_DIR_NAME="expat"
|
||||
CT_EXPAT_PKG_NAME="expat"
|
||||
CT_EXPAT_SRC_RELEASE=y
|
||||
# CT_EXPAT_SRC_DEVEL is not set
|
||||
# CT_EXPAT_SRC_CUSTOM is not set
|
||||
CT_EXPAT_PATCH_GLOBAL=y
|
||||
# CT_EXPAT_PATCH_BUNDLED is not set
|
||||
# CT_EXPAT_PATCH_LOCAL is not set
|
||||
# CT_EXPAT_PATCH_BUNDLED_LOCAL is not set
|
||||
# CT_EXPAT_PATCH_LOCAL_BUNDLED is not set
|
||||
# CT_EXPAT_PATCH_NONE is not set
|
||||
CT_EXPAT_PATCH_ORDER="global"
|
||||
CT_EXPAT_V_2_4=y
|
||||
CT_EXPAT_VERSION="2.4.1"
|
||||
CT_EXPAT_MIRRORS="http://downloads.sourceforge.net/project/expat/expat/${CT_EXPAT_VERSION} https://github.com/libexpat/libexpat/releases/download/R_${CT_EXPAT_VERSION//./_}"
|
||||
CT_EXPAT_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
|
||||
CT_EXPAT_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
|
||||
CT_EXPAT_ARCHIVE_FORMATS=".tar.xz .tar.lz .tar.bz2 .tar.gz"
|
||||
CT_EXPAT_SIGNATURE_FORMAT=""
|
||||
# CT_COMP_LIBS_GETTEXT is not set
|
||||
CT_COMP_LIBS_GMP=y
|
||||
CT_COMP_LIBS_GMP_PKG_KSYM="GMP"
|
||||
CT_GMP_DIR_NAME="gmp"
|
||||
CT_GMP_PKG_NAME="gmp"
|
||||
CT_GMP_SRC_RELEASE=y
|
||||
# CT_GMP_SRC_DEVEL is not set
|
||||
# CT_GMP_SRC_CUSTOM is not set
|
||||
CT_GMP_PATCH_GLOBAL=y
|
||||
# CT_GMP_PATCH_BUNDLED is not set
|
||||
# CT_GMP_PATCH_LOCAL is not set
|
||||
# CT_GMP_PATCH_BUNDLED_LOCAL is not set
|
||||
# CT_GMP_PATCH_LOCAL_BUNDLED is not set
|
||||
# CT_GMP_PATCH_NONE is not set
|
||||
CT_GMP_PATCH_ORDER="global"
|
||||
CT_GMP_V_6_2=y
|
||||
# CT_GMP_V_6_1 is not set
|
||||
CT_GMP_VERSION="6.2.1"
|
||||
CT_GMP_MIRRORS="https://gmplib.org/download/gmp https://gmplib.org/download/gmp/archive $(CT_Mirrors GNU gmp)"
|
||||
CT_GMP_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
|
||||
CT_GMP_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
|
||||
CT_GMP_ARCHIVE_FORMATS=".tar.xz .tar.lz .tar.bz2"
|
||||
CT_GMP_SIGNATURE_FORMAT="packed/.sig"
|
||||
CT_COMP_LIBS_ISL=y
|
||||
CT_COMP_LIBS_ISL_PKG_KSYM="ISL"
|
||||
CT_ISL_DIR_NAME="isl"
|
||||
CT_ISL_PKG_NAME="isl"
|
||||
CT_ISL_SRC_RELEASE=y
|
||||
# CT_ISL_SRC_DEVEL is not set
|
||||
# CT_ISL_SRC_CUSTOM is not set
|
||||
CT_ISL_PATCH_GLOBAL=y
|
||||
# CT_ISL_PATCH_BUNDLED is not set
|
||||
# CT_ISL_PATCH_LOCAL is not set
|
||||
# CT_ISL_PATCH_BUNDLED_LOCAL is not set
|
||||
# CT_ISL_PATCH_LOCAL_BUNDLED is not set
|
||||
# CT_ISL_PATCH_NONE is not set
|
||||
CT_ISL_PATCH_ORDER="global"
|
||||
CT_ISL_V_0_24=y
|
||||
# CT_ISL_V_0_23 is not set
|
||||
# CT_ISL_V_0_22 is not set
|
||||
# CT_ISL_V_0_21 is not set
|
||||
# CT_ISL_V_0_20 is not set
|
||||
# CT_ISL_V_0_19 is not set
|
||||
# CT_ISL_V_0_18 is not set
|
||||
# CT_ISL_V_0_17 is not set
|
||||
# CT_ISL_V_0_16 is not set
|
||||
# CT_ISL_V_0_15 is not set
|
||||
CT_ISL_VERSION="0.24"
|
||||
CT_ISL_MIRRORS="https://libisl.sourceforge.io"
|
||||
CT_ISL_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
|
||||
CT_ISL_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
|
||||
CT_ISL_ARCHIVE_FORMATS=".tar.xz .tar.bz2 .tar.gz"
|
||||
CT_ISL_SIGNATURE_FORMAT=""
|
||||
CT_ISL_later_than_0_18=y
|
||||
CT_ISL_0_18_or_later=y
|
||||
CT_ISL_later_than_0_15=y
|
||||
CT_ISL_0_15_or_later=y
|
||||
# CT_COMP_LIBS_LIBELF is not set
|
||||
# CT_COMP_LIBS_LIBICONV is not set
|
||||
CT_COMP_LIBS_MPC=y
|
||||
CT_COMP_LIBS_MPC_PKG_KSYM="MPC"
|
||||
CT_MPC_DIR_NAME="mpc"
|
||||
CT_MPC_PKG_NAME="mpc"
|
||||
CT_MPC_SRC_RELEASE=y
|
||||
# CT_MPC_SRC_DEVEL is not set
|
||||
# CT_MPC_SRC_CUSTOM is not set
|
||||
CT_MPC_PATCH_GLOBAL=y
|
||||
# CT_MPC_PATCH_BUNDLED is not set
|
||||
# CT_MPC_PATCH_LOCAL is not set
|
||||
# CT_MPC_PATCH_BUNDLED_LOCAL is not set
|
||||
# CT_MPC_PATCH_LOCAL_BUNDLED is not set
|
||||
# CT_MPC_PATCH_NONE is not set
|
||||
CT_MPC_PATCH_ORDER="global"
|
||||
CT_MPC_V_1_2=y
|
||||
# CT_MPC_V_1_1 is not set
|
||||
# CT_MPC_V_1_0 is not set
|
||||
CT_MPC_VERSION="1.2.1"
|
||||
CT_MPC_MIRRORS="http://www.multiprecision.org/downloads $(CT_Mirrors GNU mpc)"
|
||||
CT_MPC_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
|
||||
CT_MPC_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
|
||||
CT_MPC_ARCHIVE_FORMATS=".tar.gz"
|
||||
CT_MPC_SIGNATURE_FORMAT="packed/.sig"
|
||||
CT_MPC_later_than_1_1_0=y
|
||||
CT_MPC_1_1_0_or_later=y
|
||||
CT_COMP_LIBS_MPFR=y
|
||||
CT_COMP_LIBS_MPFR_PKG_KSYM="MPFR"
|
||||
CT_MPFR_DIR_NAME="mpfr"
|
||||
CT_MPFR_PKG_NAME="mpfr"
|
||||
CT_MPFR_SRC_RELEASE=y
|
||||
# CT_MPFR_SRC_DEVEL is not set
|
||||
# CT_MPFR_SRC_CUSTOM is not set
|
||||
CT_MPFR_PATCH_GLOBAL=y
|
||||
# CT_MPFR_PATCH_BUNDLED is not set
|
||||
# CT_MPFR_PATCH_LOCAL is not set
|
||||
# CT_MPFR_PATCH_BUNDLED_LOCAL is not set
|
||||
# CT_MPFR_PATCH_LOCAL_BUNDLED is not set
|
||||
# CT_MPFR_PATCH_NONE is not set
|
||||
CT_MPFR_PATCH_ORDER="global"
|
||||
CT_MPFR_V_4_1=y
|
||||
# CT_MPFR_V_4_0 is not set
|
||||
# CT_MPFR_V_3_1 is not set
|
||||
CT_MPFR_VERSION="4.1.0"
|
||||
CT_MPFR_MIRRORS="http://www.mpfr.org/mpfr-${CT_MPFR_VERSION} $(CT_Mirrors GNU mpfr)"
|
||||
CT_MPFR_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
|
||||
CT_MPFR_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
|
||||
CT_MPFR_ARCHIVE_FORMATS=".tar.xz .tar.bz2 .tar.gz .zip"
|
||||
CT_MPFR_SIGNATURE_FORMAT="packed/.asc"
|
||||
CT_MPFR_later_than_4_0_0=y
|
||||
CT_MPFR_4_0_0_or_later=y
|
||||
CT_COMP_LIBS_NCURSES=y
|
||||
CT_COMP_LIBS_NCURSES_PKG_KSYM="NCURSES"
|
||||
CT_NCURSES_DIR_NAME="ncurses"
|
||||
CT_NCURSES_PKG_NAME="ncurses"
|
||||
CT_NCURSES_SRC_RELEASE=y
|
||||
# CT_NCURSES_SRC_DEVEL is not set
|
||||
# CT_NCURSES_SRC_CUSTOM is not set
|
||||
CT_NCURSES_PATCH_GLOBAL=y
|
||||
# CT_NCURSES_PATCH_BUNDLED is not set
|
||||
# CT_NCURSES_PATCH_LOCAL is not set
|
||||
# CT_NCURSES_PATCH_BUNDLED_LOCAL is not set
|
||||
# CT_NCURSES_PATCH_LOCAL_BUNDLED is not set
|
||||
# CT_NCURSES_PATCH_NONE is not set
|
||||
CT_NCURSES_PATCH_ORDER="global"
|
||||
CT_NCURSES_V_6_2=y
|
||||
# CT_NCURSES_V_6_1 is not set
|
||||
# CT_NCURSES_V_6_0 is not set
|
||||
CT_NCURSES_VERSION="6.2"
|
||||
CT_NCURSES_MIRRORS="https://invisible-mirror.net/archives/ncurses $(CT_Mirrors GNU ncurses)"
|
||||
CT_NCURSES_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
|
||||
CT_NCURSES_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
|
||||
CT_NCURSES_ARCHIVE_FORMATS=".tar.gz"
|
||||
CT_NCURSES_SIGNATURE_FORMAT="packed/.sig"
|
||||
CT_NCURSES_NEW_ABI=y
|
||||
CT_NCURSES_HOST_CONFIG_ARGS=""
|
||||
CT_NCURSES_HOST_DISABLE_DB=y
|
||||
CT_NCURSES_HOST_FALLBACKS="linux,xterm,xterm-color,xterm-256color,vt100"
|
||||
CT_NCURSES_TARGET_CONFIG_ARGS=""
|
||||
# CT_NCURSES_TARGET_DISABLE_DB is not set
|
||||
CT_NCURSES_TARGET_FALLBACKS=""
|
||||
CT_COMP_LIBS_NEWLIB_NANO=y
|
||||
CT_COMP_LIBS_NEWLIB_NANO_PKG_KSYM="NEWLIB_NANO"
|
||||
CT_NEWLIB_NANO_DIR_NAME="newlib-nano"
|
||||
CT_NEWLIB_NANO_PKG_NAME="newlib-nano"
|
||||
CT_NEWLIB_NANO_SRC_RELEASE=y
|
||||
# CT_NEWLIB_NANO_SRC_DEVEL is not set
|
||||
# CT_NEWLIB_NANO_SRC_CUSTOM is not set
|
||||
CT_NEWLIB_NANO_PATCH_GLOBAL=y
|
||||
# CT_NEWLIB_NANO_PATCH_BUNDLED is not set
|
||||
# CT_NEWLIB_NANO_PATCH_LOCAL is not set
|
||||
# CT_NEWLIB_NANO_PATCH_BUNDLED_LOCAL is not set
|
||||
# CT_NEWLIB_NANO_PATCH_LOCAL_BUNDLED is not set
|
||||
# CT_NEWLIB_NANO_PATCH_NONE is not set
|
||||
CT_NEWLIB_NANO_PATCH_ORDER="global"
|
||||
CT_NEWLIB_NANO_V_4_1=y
|
||||
# CT_NEWLIB_NANO_V_3_3 is not set
|
||||
CT_NEWLIB_NANO_VERSION="4.1.0"
|
||||
CT_NEWLIB_NANO_MIRRORS="ftp://sourceware.org/pub/newlib"
|
||||
CT_NEWLIB_NANO_ARCHIVE_FILENAME="newlib-@{version}"
|
||||
CT_NEWLIB_NANO_ARCHIVE_DIRNAME="newlib-@{version}"
|
||||
CT_NEWLIB_NANO_ARCHIVE_FORMATS=".tar.gz"
|
||||
CT_NEWLIB_NANO_SIGNATURE_FORMAT=""
|
||||
CT_NEWLIB_NANO_GCC_LIBSTDCXX=y
|
||||
CT_NEWLIB_NANO_GCC_LIBSTDCXX_TARGET_CXXFLAGS="-fno-exceptions"
|
||||
CT_NEWLIB_NANO_INSTALL_IN_TARGET=y
|
||||
CT_LIBC_NEWLIB_NANO_TARGET_CFLAGS=""
|
||||
# CT_LIBC_NEWLIB_NANO_IO_C99FMT is not set
|
||||
# CT_LIBC_NEWLIB_NANO_IO_LL is not set
|
||||
# CT_LIBC_NEWLIB_NANO_IO_FLOAT is not set
|
||||
# CT_LIBC_NEWLIB_NANO_IO_POS_ARGS is not set
|
||||
# CT_LIBC_NEWLIB_NANO_FVWRITE_IN_STREAMIO is not set
|
||||
# CT_LIBC_NEWLIB_NANO_UNBUF_STREAM_OPT is not set
|
||||
# CT_LIBC_NEWLIB_NANO_FSEEK_OPTIMIZATION is not set
|
||||
CT_LIBC_NEWLIB_NANO_DISABLE_SUPPLIED_SYSCALLS=y
|
||||
# CT_LIBC_NEWLIB_NANO_REGISTER_FINI is not set
|
||||
# CT_LIBC_NEWLIB_NANO_ATEXIT_DYNAMIC_ALLOC is not set
|
||||
# CT_LIBC_NEWLIB_NANO_GLOBAL_ATEXIT is not set
|
||||
CT_LIBC_NEWLIB_NANO_LITE_EXIT=y
|
||||
CT_LIBC_NEWLIB_NANO_REENT_SMALL=y
|
||||
# CT_LIBC_NEWLIB_NANO_MULTITHREAD is not set
|
||||
# CT_LIBC_NEWLIB_NANO_RETARGETABLE_LOCKING is not set
|
||||
CT_LIBC_NEWLIB_NANO_EXTRA_SECTIONS=y
|
||||
# CT_LIBC_NEWLIB_NANO_WIDE_ORIENT is not set
|
||||
CT_LIBC_NEWLIB_NANO_ENABLE_TARGET_OPTSPACE=y
|
||||
# CT_LIBC_NEWLIB_NANO_LTO is not set
|
||||
CT_LIBC_NEWLIB_NANO_NANO_MALLOC=y
|
||||
CT_LIBC_NEWLIB_NANO_NANO_FORMATTED_IO=y
|
||||
CT_LIBC_NEWLIB_NANO_EXTRA_CONFIG_ARRAY=""
|
||||
CT_COMP_LIBS_ZLIB=y
|
||||
CT_COMP_LIBS_ZLIB_PKG_KSYM="ZLIB"
|
||||
CT_ZLIB_DIR_NAME="zlib"
|
||||
CT_ZLIB_PKG_NAME="zlib"
|
||||
CT_ZLIB_SRC_RELEASE=y
|
||||
# CT_ZLIB_SRC_DEVEL is not set
|
||||
# CT_ZLIB_SRC_CUSTOM is not set
|
||||
CT_ZLIB_PATCH_GLOBAL=y
|
||||
# CT_ZLIB_PATCH_BUNDLED is not set
|
||||
# CT_ZLIB_PATCH_LOCAL is not set
|
||||
# CT_ZLIB_PATCH_BUNDLED_LOCAL is not set
|
||||
# CT_ZLIB_PATCH_LOCAL_BUNDLED is not set
|
||||
# CT_ZLIB_PATCH_NONE is not set
|
||||
CT_ZLIB_PATCH_ORDER="global"
|
||||
CT_ZLIB_V_1_2_13=y
|
||||
CT_ZLIB_VERSION="1.2.13"
|
||||
CT_ZLIB_MIRRORS="https://github.com/madler/zlib/releases/download/v${CT_ZLIB_VERSION} https://www.zlib.net/"
|
||||
CT_ZLIB_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
|
||||
CT_ZLIB_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
|
||||
CT_ZLIB_ARCHIVE_FORMATS=".tar.xz .tar.gz"
|
||||
CT_ZLIB_SIGNATURE_FORMAT="packed/.asc"
|
||||
CT_ALL_COMP_LIBS_CHOICES="CLOOG EXPAT GETTEXT GMP GNUPRUMCU ISL LIBELF LIBICONV MPC MPFR NCURSES NEWLIB_NANO PICOLIBC ZLIB"
|
||||
# CT_LIBICONV_NEEDED is not set
|
||||
# CT_GETTEXT_NEEDED is not set
|
||||
CT_GMP_NEEDED=y
|
||||
CT_MPFR_NEEDED=y
|
||||
CT_ISL_NEEDED=y
|
||||
CT_MPC_NEEDED=y
|
||||
CT_EXPAT_NEEDED=y
|
||||
CT_NCURSES_NEEDED=y
|
||||
CT_ZLIB_NEEDED=y
|
||||
CT_GMP=y
|
||||
CT_MPFR=y
|
||||
CT_ISL=y
|
||||
CT_MPC=y
|
||||
CT_EXPAT=y
|
||||
CT_NCURSES=y
|
||||
CT_ZLIB=y
|
||||
# end of Companion libraries
|
||||
|
||||
#
|
||||
# Companion tools
|
||||
#
|
||||
# CT_COMP_TOOLS_FOR_HOST is not set
|
||||
# CT_COMP_TOOLS_AUTOCONF is not set
|
||||
# CT_COMP_TOOLS_AUTOMAKE is not set
|
||||
# CT_COMP_TOOLS_BISON is not set
|
||||
# CT_COMP_TOOLS_DTC is not set
|
||||
# CT_COMP_TOOLS_LIBTOOL is not set
|
||||
# CT_COMP_TOOLS_M4 is not set
|
||||
# CT_COMP_TOOLS_MAKE is not set
|
||||
CT_ALL_COMP_TOOLS_CHOICES="AUTOCONF AUTOMAKE BISON DTC LIBTOOL M4 MAKE"
|
||||
# end of Companion tools
|
||||
|
||||
#
|
||||
# Test suite
|
||||
#
|
||||
# CT_TEST_SUITE_GCC is not set
|
||||
# end of Test suite
|
||||
@@ -0,0 +1,14 @@
|
||||
BASE_IMAGE_REGISTRY ?= docker.io
|
||||
BASE_IMAGE_PATH ?= dockcross
|
||||
BASE_IMAGE_NAME = base
|
||||
BASE_IMAGE_TAG = latest
|
||||
|
||||
OUTPUT_IMAGE_REGISTRY ?= docker.io
|
||||
OUTPUT_IMAGE_PATH ?= dockcross
|
||||
OUTPUT_IMAGE_NAME = bare-armv7emhf-nano_newlib
|
||||
|
||||
TEST_IMAGE_ARGS = --linker-flags="--specs=nosys.specs"
|
||||
|
||||
# Extra tests (see CONTRIBUTING.md / Makefile "Extra tests" section)
|
||||
EXTRA_TESTS = mbedtls libopencm3
|
||||
LIBOPENCM3_ARGS = PREFIX=/usr/xcc/arm-none-eabi/bin/arm-none-eabi- TARGETS='stm32/f1 stm32/f2 stm32/f3 stm32/f4 stm32/f7 stm32/l1 stm32/l4 stm32/g4 stm32/h7 gd32/f1x0 lpc13xx lpc17xx lpc43xx/m4 lm3s lm4f msp432/e4 efm32/tg efm32/g efm32/lg efm32/gg efm32/wg efm32/ezr32wg nrf/51 nrf/52 sam/3a sam/3n sam/3s sam/3u sam/3x sam/4l vf6xx pac55xx'
|
||||
@@ -47,8 +47,7 @@ ENV XCC_PREFIX=/usr/xcc
|
||||
# for users.
|
||||
COPY \
|
||||
imagefiles/install-crosstool-ng-toolchain.sh \
|
||||
imagefiles/patch/crosstool-ng/crosstool-ng-expat.patch \
|
||||
imagefiles/patch/crosstool-ng/Fix-error-with-bash-5-and-up.patch \
|
||||
imagefiles/patch/crosstool-ng/crosstool-ng-zlib-target.patch \
|
||||
manylinux2014-aarch64/crosstool-ng.config \
|
||||
/dockcross/
|
||||
|
||||
@@ -58,7 +57,8 @@ RUN \
|
||||
cd /dockcross/crosstool && \
|
||||
/dockcross/install-crosstool-ng-toolchain.sh \
|
||||
-p "${XCC_PREFIX}" \
|
||||
-c /dockcross/crosstool-ng.config && \
|
||||
-c /dockcross/crosstool-ng.config \
|
||||
-v "${CT_VERSION}" && \
|
||||
rm -rf /dockcross/crosstool /dockcross/install-crosstool-ng-toolchain.sh && \
|
||||
# Remove sudo provided by devtoolset since it doesn't work with
|
||||
# our sudo wrapper calling gosu.
|
||||
|
||||
@@ -0,0 +1,76 @@
|
||||
# crosstool.common-manylinux_2_28
|
||||
#
|
||||
# Common Docker instructions to install "crosstool-ng" and build a full
|
||||
# cross-compiler suite from a crosstool-ng configuration, CROSSTOOL_CONFIG.
|
||||
#
|
||||
# This import complements the "dockcross/base" image, adding:
|
||||
# - "ct-ng", a cross-compiler building utilty.
|
||||
# - A cross-compiler suite configured in "crosstool-ng.config".
|
||||
#
|
||||
# The generated cross-compiler will have a CROSS_ROOT of:
|
||||
# ${XCC_PREFIX}/${CROSS_TRIPLE}
|
||||
#
|
||||
# A given platform will need to supply the appropriate "crosstool-ng.config" to
|
||||
# generate its cross-compiler. This can be built using "ct-ng menuconfig" to
|
||||
# generate a configuration.
|
||||
|
||||
ENV MANYLINUX_DEPS="glibc-devel glibc-devel.i686 libstdc++-devel glib2-devel libX11-devel libXext-devel libXrender-devel mesa-libGL-devel libICE-devel libSM-devel"
|
||||
|
||||
ENV PYTHON_COMPILE_DEPS="python3-devel zlib-devel bzip2-devel expat-devel ncurses-devel readline-devel tk-devel gdbm-devel libdb-devel libpcap-devel xz-devel openssl-devel keyutils-libs-devel krb5-devel libcom_err-devel libidn-devel curl-devel perl-devel"
|
||||
|
||||
ENV TOOLCHAIN_DEPS="gcc-toolset-14-binutils gcc-toolset-14-gcc gcc-toolset-14-gcc-c++ gcc-toolset-14-gcc-gfortran"
|
||||
|
||||
# Install dependent packages required for `ct-ng`.
|
||||
RUN \
|
||||
yum -y update && \
|
||||
yum -y install \
|
||||
gawk \
|
||||
gperf \
|
||||
help2man \
|
||||
texinfo \
|
||||
flex \
|
||||
ncurses-devel \
|
||||
glibc-static \
|
||||
rsync \
|
||||
systemtap-devel \
|
||||
systemtap-sdt-devel \
|
||||
${TOOLCHAIN_DEPS} \
|
||||
${PYTHON_COMPILE_DEPS} \
|
||||
${MANYLINUX_DEPS} && \
|
||||
yum clean all
|
||||
|
||||
ENV XCC_PREFIX=/usr/xcc
|
||||
|
||||
# Add the crosstool-ng script and image-specific toolchain configuration into
|
||||
# /dockcross/.
|
||||
#
|
||||
# Afterwards, we will leave the "ct-ng" config in the image as a reference
|
||||
# for users.
|
||||
COPY \
|
||||
imagefiles/install-crosstool-ng-toolchain.sh \
|
||||
imagefiles/patch/crosstool-ng/crosstool-ng-zlib-target.patch \
|
||||
manylinux_2_28-aarch64/crosstool-ng.config \
|
||||
/dockcross/
|
||||
|
||||
# Copy sys/sdt.h to a clean include directory to avoid pulling in all of
|
||||
# /usr/include (which causes __float128 conflicts on AlmaLinux 8 when
|
||||
# cross-compiling for aarch64).
|
||||
RUN mkdir -p /opt/ct-ng-includes/sys && \
|
||||
cp /usr/include/sys/sdt.h /opt/ct-ng-includes/sys/ && \
|
||||
cp /usr/include/sys/sdt-config.h /opt/ct-ng-includes/sys/
|
||||
|
||||
# Build and install the toolchain, cleaning up artifacts afterwards.
|
||||
RUN \
|
||||
mkdir /dockcross/crosstool && \
|
||||
cd /dockcross/crosstool && \
|
||||
/dockcross/install-crosstool-ng-toolchain.sh \
|
||||
-p "${XCC_PREFIX}" \
|
||||
-c /dockcross/crosstool-ng.config \
|
||||
-v "${CT_VERSION}" && \
|
||||
rm -rf /dockcross/crosstool /dockcross/install-crosstool-ng-toolchain.sh && \
|
||||
# Remove sudo provided by gcc-toolset since it doesn't work with
|
||||
# our sudo wrapper calling gosu.
|
||||
rm -f /opt/rh/gcc-toolset-14/root/usr/bin/sudo
|
||||
|
||||
# Restore our default workdir (from "dockcross/base").
|
||||
WORKDIR /work
|
||||
@@ -0,0 +1,76 @@
|
||||
# crosstool.common-manylinux_2_34
|
||||
#
|
||||
# Common Docker instructions to install "crosstool-ng" and build a full
|
||||
# cross-compiler suite from a crosstool-ng configuration, CROSSTOOL_CONFIG.
|
||||
#
|
||||
# This import complements the "dockcross/base" image, adding:
|
||||
# - "ct-ng", a cross-compiler building utilty.
|
||||
# - A cross-compiler suite configured in "crosstool-ng.config".
|
||||
#
|
||||
# The generated cross-compiler will have a CROSS_ROOT of:
|
||||
# ${XCC_PREFIX}/${CROSS_TRIPLE}
|
||||
#
|
||||
# A given platform will need to supply the appropriate "crosstool-ng.config" to
|
||||
# generate its cross-compiler. This can be built using "ct-ng menuconfig" to
|
||||
# generate a configuration.
|
||||
|
||||
ENV MANYLINUX_DEPS="glibc-devel glibc-devel.i686 libstdc++-devel glib2-devel libX11-devel libXext-devel libXrender-devel mesa-libGL-devel libICE-devel libSM-devel"
|
||||
|
||||
ENV PYTHON_COMPILE_DEPS="python-devel zlib-devel bzip2-devel expat-devel ncurses-devel readline-devel tk-devel gdbm-devel libdb-devel libpcap-devel xz-devel openssl-devel keyutils-libs-devel krb5-devel libcom_err-devel libidn-devel curl-devel perl-devel"
|
||||
|
||||
ENV TOOLCHAIN_DEPS="gcc-toolset-14-binutils gcc-toolset-14-gcc gcc-toolset-14-gcc-c++ gcc-toolset-14-gcc-gfortran"
|
||||
|
||||
# Install dependent packages required for `ct-ng`.
|
||||
RUN \
|
||||
dnf -y update && \
|
||||
dnf -y install \
|
||||
gawk \
|
||||
gperf \
|
||||
help2man \
|
||||
texinfo \
|
||||
flex \
|
||||
ncurses-devel \
|
||||
glibc-static \
|
||||
rsync \
|
||||
systemtap-devel \
|
||||
systemtap-sdt-devel \
|
||||
${TOOLCHAIN_DEPS} \
|
||||
${PYTHON_COMPILE_DEPS} \
|
||||
${MANYLINUX_DEPS} && \
|
||||
dnf clean all
|
||||
|
||||
ENV XCC_PREFIX=/usr/xcc
|
||||
|
||||
# Add the crosstool-ng script and image-specific toolchain configuration into
|
||||
# /dockcross/.
|
||||
#
|
||||
# Afterwards, we will leave the "ct-ng" config in the image as a reference
|
||||
# for users.
|
||||
COPY \
|
||||
imagefiles/install-crosstool-ng-toolchain.sh \
|
||||
imagefiles/patch/crosstool-ng/crosstool-ng-zlib-target.patch \
|
||||
manylinux_2_34-aarch64/crosstool-ng.config \
|
||||
/dockcross/
|
||||
|
||||
# Copy sys/sdt.h to a clean include directory to avoid pulling in all of
|
||||
# /usr/include (which causes __float128 conflicts on AlmaLinux 9 when
|
||||
# cross-compiling for aarch64).
|
||||
RUN mkdir -p /opt/ct-ng-includes/sys && \
|
||||
cp /usr/include/sys/sdt.h /opt/ct-ng-includes/sys/ && \
|
||||
cp /usr/include/sys/sdt-config.h /opt/ct-ng-includes/sys/
|
||||
|
||||
# Build and install the toolchain, cleaning up artifacts afterwards.
|
||||
RUN \
|
||||
mkdir /dockcross/crosstool && \
|
||||
cd /dockcross/crosstool && \
|
||||
/dockcross/install-crosstool-ng-toolchain.sh \
|
||||
-p "${XCC_PREFIX}" \
|
||||
-c /dockcross/crosstool-ng.config \
|
||||
-v "${CT_VERSION}" && \
|
||||
rm -rf /dockcross/crosstool /dockcross/install-crosstool-ng-toolchain.sh && \
|
||||
# Remove sudo provided by gcc-toolset since it doesn't work with
|
||||
# our sudo wrapper calling gosu.
|
||||
rm -f /opt/rh/gcc-toolset-14/root/usr/bin/sudo
|
||||
|
||||
# Restore our default workdir (from "dockcross/base").
|
||||
WORKDIR /work
|
||||
@@ -38,8 +38,7 @@ ENV XCC_PREFIX=/usr/xcc
|
||||
# for users.
|
||||
COPY \
|
||||
imagefiles/install-crosstool-ng-toolchain.sh \
|
||||
imagefiles/patch/crosstool-ng/crosstool-ng-expat.patch \
|
||||
imagefiles/patch/crosstool-ng/Fix-error-with-bash-5-and-up.patch \
|
||||
imagefiles/patch/crosstool-ng/crosstool-ng-zlib-target.patch \
|
||||
crosstool-ng.config \
|
||||
/dockcross/
|
||||
|
||||
|
||||
@@ -11,6 +11,7 @@ RUN \
|
||||
build-essential \
|
||||
bzip2 \
|
||||
ca-certificates \
|
||||
ccache \
|
||||
curl \
|
||||
dirmngr \
|
||||
file \
|
||||
@@ -23,6 +24,7 @@ RUN \
|
||||
libncurses5 \
|
||||
libtool \
|
||||
make \
|
||||
nasm \
|
||||
ncurses-dev \
|
||||
pkg-config \
|
||||
pax \
|
||||
@@ -40,4 +42,5 @@ RUN \
|
||||
python-is-python3 \
|
||||
&& apt-get clean autoclean --yes \
|
||||
&& apt-get autoremove --yes \
|
||||
&& rm -rf /var/lib/{apt,dpkg,cache,log}/
|
||||
&& rm -rf /var/lib/{apt,dpkg,cache,log}/ \
|
||||
&& rm /etc/ssh/*key*
|
||||
|
||||
+26
-5
@@ -1,8 +1,25 @@
|
||||
WORKDIR /usr/src
|
||||
|
||||
ARG GIT_VERSION=2.32.0
|
||||
ARG CMAKE_VERSION=3.21.1
|
||||
ARG FLATCC_VERSION=d90ed18ad09824297ffd5fbc578ccb1666d13890
|
||||
ARG GIT_VERSION=2.48.1
|
||||
|
||||
ARG CMAKE_VERSION=3.31.5
|
||||
|
||||
ARG NINJA_VERSION=1.12.1
|
||||
ARG FLATCC_VERSION=0.6.1
|
||||
|
||||
ARG LIQUIDPROMT_VERSION=v1.12.0
|
||||
|
||||
ARG OPENSSL_VERSION=openssl-1.1.1w
|
||||
ARG OPENSSL_HASH=cf3098950cb4d853ad95c0841f1f9c6d3dc102dccfcacd521d93925208b76ac8
|
||||
|
||||
ARG CURL_VERSION=curl-7.76.0
|
||||
ARG CURL_HASH=3b4378156ba09e224008e81dcce854b7ce4d182b1f9cfb97fe5ed9e9c18c6bd3
|
||||
|
||||
ARG PERL_VERSION=perl-5.40.1
|
||||
ARG PERL_HASH=02f8c45bb379ed0c3de7514fad48c714fd46be8f0b536bfd5320050165a1ee26
|
||||
|
||||
ENV RUSTUP_HOME=/opt/rustup
|
||||
ENV CARGO_HOME=/opt/rustup/cargo
|
||||
|
||||
# Image build scripts
|
||||
COPY \
|
||||
@@ -13,6 +30,7 @@ COPY \
|
||||
imagefiles/build-and-install-ninja.sh \
|
||||
imagefiles/build-and-install-openssl.sh \
|
||||
imagefiles/build-and-install-openssh.sh \
|
||||
imagefiles/build-and-install-rustup.sh \
|
||||
imagefiles/install-cmake-binary.sh \
|
||||
imagefiles/install-liquidprompt-binary.sh \
|
||||
imagefiles/install-python-packages.sh \
|
||||
@@ -25,14 +43,17 @@ RUN \
|
||||
/buildscripts/build-and-install-openssh.sh && \
|
||||
/buildscripts/build-and-install-curl.sh && \
|
||||
/buildscripts/build-and-install-git.sh && \
|
||||
if [ "$CMAKE_BIN" = "true" ]; then CMAKE_VERSION=3.17.1 && /buildscripts/install-cmake-binary.sh $X86_FLAG;else /buildscripts/build-and-install-cmake.sh $X86_FLAG;fi && \
|
||||
/buildscripts/build-and-install-cmake.sh $X86_FLAG && \
|
||||
/buildscripts/build-and-install-rustup.sh && \
|
||||
/buildscripts/install-liquidprompt-binary.sh && \
|
||||
PYTHON=$([ -e /opt/python/cp38-cp38/bin/python ] && echo "/opt/python/cp38-cp38/bin/python" || echo "python3") && \
|
||||
PYTHON=$([ -e /opt/python/cp311-cp311/bin/python ] && echo "/opt/python/cp311-cp311/bin/python" || echo "python3") && \
|
||||
/buildscripts/install-python-packages.sh -python ${PYTHON} && \
|
||||
/buildscripts/build-and-install-ninja.sh -python ${PYTHON} && \
|
||||
/buildscripts/build-and-install-flatcc.sh && \
|
||||
rm -rf /buildscripts
|
||||
|
||||
ENV PATH=/opt/rustup/cargo/bin:$PATH
|
||||
|
||||
RUN echo "root:root" | chpasswd
|
||||
WORKDIR /work
|
||||
ENTRYPOINT ["/dockcross/entrypoint.sh"]
|
||||
|
||||
@@ -11,4 +11,4 @@ LABEL org.label-schema.build-date=$BUILD_DATE \
|
||||
org.label-schema.vcs-url=$VCS_URL \
|
||||
org.label-schema.schema-version="1.0"
|
||||
|
||||
ENV DEFAULT_DOCKCROSS_IMAGE ${IMAGE}:${VERSION}
|
||||
ENV DEFAULT_DOCKCROSS_IMAGE=${IMAGE}:${VERSION}
|
||||
|
||||
@@ -14,7 +14,9 @@ RUN \
|
||||
openssh-clients \
|
||||
pax \
|
||||
wget \
|
||||
nasm \
|
||||
zip \
|
||||
libatomic \
|
||||
&& \
|
||||
yum clean all && \
|
||||
# Remove sudo provided by devtoolset since it doesn't work with
|
||||
@@ -0,0 +1,32 @@
|
||||
RUN \
|
||||
set -x && \
|
||||
yum upgrade -y almalinux-release && \
|
||||
yum -y install \
|
||||
gpg \
|
||||
python3-devel \
|
||||
zlib-devel \
|
||||
gettext \
|
||||
openssh-clients \
|
||||
wget \
|
||||
nasm \
|
||||
zip \
|
||||
perl-IPC-Cmd \
|
||||
perl-Time-Piece \
|
||||
&& \
|
||||
yum clean all
|
||||
|
||||
# Image build scripts
|
||||
COPY \
|
||||
manylinux-common/install-python-packages.sh \
|
||||
/buildscripts/
|
||||
|
||||
RUN \
|
||||
set -x && \
|
||||
# Remove sudo provided by devtoolset since it doesn't work with
|
||||
# our sudo wrapper calling gosu.
|
||||
rm -f /opt/rh/gcc-toolset-14/root/usr/bin/sudo && \
|
||||
/buildscripts/install-python-packages.sh && \
|
||||
rm -rf /buildscripts
|
||||
|
||||
# Runtime scripts
|
||||
COPY manylinux-common/pre_exec.sh /dockcross/
|
||||
@@ -0,0 +1,35 @@
|
||||
RUN \
|
||||
set -x && \
|
||||
yum upgrade -y almalinux-release && \
|
||||
yum -y install \
|
||||
gpg \
|
||||
python3-devel \
|
||||
zlib-devel \
|
||||
gettext \
|
||||
openssh-clients \
|
||||
wget \
|
||||
nasm \
|
||||
zip \
|
||||
perl-FindBin \
|
||||
perl-File-Compare \
|
||||
perl-File-Copy \
|
||||
perl-IPC-Cmd \
|
||||
perl-Time-Piece \
|
||||
&& \
|
||||
yum clean all
|
||||
|
||||
# Image build scripts
|
||||
COPY \
|
||||
manylinux-common/install-python-packages.sh \
|
||||
/buildscripts/
|
||||
|
||||
RUN \
|
||||
set -x && \
|
||||
# Remove sudo provided by devtoolset since it doesn't work with
|
||||
# our sudo wrapper calling gosu.
|
||||
rm -f /opt/rh/gcc-toolset-14/root/usr/bin/sudo && \
|
||||
/buildscripts/install-python-packages.sh && \
|
||||
rm -rf /buildscripts
|
||||
|
||||
# Runtime scripts
|
||||
COPY manylinux-common/pre_exec.sh /dockcross/
|
||||
+21
-15
@@ -2,9 +2,9 @@
|
||||
#
|
||||
# Common WebAssembly tools.
|
||||
|
||||
# main 2021-12-31
|
||||
ENV BINARYEN_GIT_TAG 6137b338c7fb37ba98b63c31225ec9cfda8cfa59
|
||||
RUN git clone https://github.com/WebAssembly/binaryen.git && \
|
||||
# 2024-12, version 121
|
||||
ENV BINARYEN_GIT_TAG=353b759b230dff8fb82aeb157aeb6db360d74a49
|
||||
RUN git clone --recursive https://github.com/WebAssembly/binaryen.git && \
|
||||
cd binaryen && \
|
||||
git checkout ${BINARYEN_GIT_TAG} && \
|
||||
cd ../ && \
|
||||
@@ -14,6 +14,7 @@ RUN git clone https://github.com/WebAssembly/binaryen.git && \
|
||||
-DCMAKE_C_COMPILER=/usr/bin/cc \
|
||||
-DCMAKE_CXX_COMPILER=/usr/bin/c++ \
|
||||
-G Ninja \
|
||||
-DENABLE_WERROR:BOOL=OFF \
|
||||
-DCMAKE_INSTALL_PREFIX:PATH=/usr \
|
||||
-DCMAKE_TOOLCHAIN_FILE="" \
|
||||
../binaryen && \
|
||||
@@ -22,8 +23,8 @@ RUN git clone https://github.com/WebAssembly/binaryen.git && \
|
||||
cd ../ && \
|
||||
rm -rf binaryen*
|
||||
|
||||
# main 2021-12-31
|
||||
ENV WABT_GIT_TAG a4366956e877c404d328358b2c00320b476763c0
|
||||
# main 2024-12-23
|
||||
ENV WABT_GIT_TAG=ea193b40d6d4a1a697d68ae855b2b3b3e263b377
|
||||
RUN git clone --recurse-submodules https://github.com/WebAssembly/wabt.git && \
|
||||
cd wabt && \
|
||||
git checkout ${WABT_GIT_TAG} && \
|
||||
@@ -42,12 +43,17 @@ RUN git clone --recurse-submodules https://github.com/WebAssembly/wabt.git && \
|
||||
cd ../ && \
|
||||
rm -rf wabt*
|
||||
|
||||
RUN mkdir /wasi-runtimes
|
||||
RUN mkdir -p /wasi-runtimes
|
||||
|
||||
ENV WASMTIME_HOME /wasi-runtimes/wasmtime
|
||||
RUN mkdir ${WASMTIME_HOME} && curl https://wasmtime.dev/install.sh -sSf | bash
|
||||
ENV WASMTIME_HOME=/wasi-runtimes/wasmtime
|
||||
# Pinned below v47.0.0: that release removes wasi-threads/wasi-common support
|
||||
# entirely (see https://github.com/bytecodealliance/rfcs/pull/47), which
|
||||
# wasmtime-pwd-threads.sh and the wasi-threads images below depend on.
|
||||
ENV WASMTIME_VERSION=v46.0.1
|
||||
RUN mkdir -p ${WASMTIME_HOME} && curl https://wasmtime.dev/install.sh -sSf | bash -s -- --version ${WASMTIME_VERSION}
|
||||
COPY imagefiles/wasmtime-pwd.sh ${WASMTIME_HOME}/bin/
|
||||
ENV PATH "$WASMTIME_HOME/bin:$PATH"
|
||||
COPY imagefiles/wasmtime-pwd-threads.sh ${WASMTIME_HOME}/bin/
|
||||
ENV PATH="$WASMTIME_HOME/bin:$PATH"
|
||||
|
||||
# For wasmer
|
||||
RUN \
|
||||
@@ -55,20 +61,20 @@ RUN \
|
||||
apt-get install --no-install-recommends --yes \
|
||||
libxkbcommon0
|
||||
|
||||
ENV WASMER_DIR /wasi-runtimes/wasmer
|
||||
ENV WASMER_DIR=/wasi-runtimes/wasmer
|
||||
RUN curl https://get.wasmer.io -sSfL | sh
|
||||
COPY imagefiles/wasmer-pwd.sh ${WASMER_DIR}/bin/
|
||||
ENV PATH "$WASMER_DIR/bin:$PATH"
|
||||
ENV PATH="$WASMER_DIR/bin:$PATH"
|
||||
|
||||
ENV WASM3_VERSION 0.5.0
|
||||
ENV WASM3_VERSION=0.5.0
|
||||
RUN mkdir -p /wasi-runtimes/wasm3/bin && \
|
||||
curl -LO https://github.com/wasm3/wasm3/releases/download/v${WASM3_VERSION}/wasm3-linux-x64.elf && \
|
||||
mv wasm3-linux-x64.elf /wasi-runtimes/wasm3/bin/wasm3 && \
|
||||
chmod +x /wasi-runtimes/wasm3/bin/wasm3
|
||||
ENV PATH "/wasi-runtimes/wasm3/bin:$PATH"
|
||||
ENV PATH="/wasi-runtimes/wasm3/bin:$PATH"
|
||||
|
||||
ENV WAVM_VERSION 2021-12-15
|
||||
ENV WAVM_VERSION=2022-05-14
|
||||
RUN mkdir -p /wasi-runtimes/wavm/ && \
|
||||
curl -LO https://github.com/WAVM/WAVM/releases/download/nightly%2F${WAVM_VERSION}/wavm-0.0.0-prerelease-linux.tar.gz && \
|
||||
tar -xv -C /wasi-runtimes/wavm/ -f wavm-0.0.0-prerelease-linux.tar.gz
|
||||
ENV PATH "/wasi-runtimes/wavm/bin:$PATH"
|
||||
ENV PATH="/wasi-runtimes/wavm/bin:$PATH"
|
||||
|
||||
+16
-14
@@ -9,16 +9,16 @@
|
||||
#
|
||||
# For example:
|
||||
#
|
||||
# ENV WINEARCH win64
|
||||
# ENV WINEARCH=win64
|
||||
# ARG MXE_TARGET_ARCH=x86_64
|
||||
# ARG MXE_TARGET_THREAD=
|
||||
# ARG MXE_TARGET_LINK=shared
|
||||
#
|
||||
|
||||
# mxe master 2021-10-18
|
||||
ARG MXE_GIT_TAG=8838ac3938cd8e47424a4cb5d3676d1ae9a4d670
|
||||
# mxe master 2024-07-27
|
||||
ARG MXE_GIT_TAG=9f349e0de62a4a68bfc0f13d835a6c685dae9daa
|
||||
|
||||
ENV CMAKE_TOOLCHAIN_FILE /usr/src/mxe/usr/${MXE_TARGET_ARCH}-w64-mingw32.${MXE_TARGET_LINK}${MXE_TARGET_THREAD}/share/cmake/mxe-conf.cmake
|
||||
ENV CMAKE_TOOLCHAIN_FILE=/usr/src/mxe/usr/${MXE_TARGET_ARCH}-w64-mingw32.${MXE_TARGET_LINK}${MXE_TARGET_THREAD}/share/cmake/mxe-conf.cmake
|
||||
|
||||
ARG DEBIAN_FRONTEND=noninteractive
|
||||
|
||||
@@ -61,7 +61,7 @@ RUN \
|
||||
patch \
|
||||
perl \
|
||||
pkg-config \
|
||||
python \
|
||||
python3 \
|
||||
ruby \
|
||||
scons \
|
||||
sed \
|
||||
@@ -69,6 +69,7 @@ RUN \
|
||||
wget \
|
||||
wine \
|
||||
xz-utils \
|
||||
python3-mako \
|
||||
&& \
|
||||
#
|
||||
# Install Wine
|
||||
@@ -124,14 +125,15 @@ RUN \
|
||||
#
|
||||
rm -rf /tmp/wine-*
|
||||
|
||||
ENV PATH ${PATH}:/usr/src/mxe/usr/bin
|
||||
ENV CROSS_TRIPLE ${MXE_TARGET_ARCH}-w64-mingw32.${MXE_TARGET_LINK}${MXE_TARGET_THREAD}
|
||||
ENV AS=/usr/src/mxe/usr/bin/${CROSS_TRIPLE}-as \
|
||||
AR=/usr/src/mxe/usr/bin/${CROSS_TRIPLE}-ar \
|
||||
CC=/usr/src/mxe/usr/bin/${CROSS_TRIPLE}-gcc \
|
||||
CPP=/usr/src/mxe/usr/bin/${CROSS_TRIPLE}-cpp \
|
||||
CXX=/usr/src/mxe/usr/bin/${CROSS_TRIPLE}-g++ \
|
||||
LD=/usr/src/mxe/usr/bin/${CROSS_TRIPLE}-ld \
|
||||
FC=/usr/src/mxe/usr/bin/${CROSS_TRIPLE}-gfortran
|
||||
ENV CROSS_ROOT=/usr/src/mxe/usr
|
||||
ENV PATH=${PATH}:${CROSS_ROOT}/bin
|
||||
ENV CROSS_TRIPLE=${MXE_TARGET_ARCH}-w64-mingw32.${MXE_TARGET_LINK}${MXE_TARGET_THREAD}
|
||||
ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \
|
||||
AR=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ar \
|
||||
CC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gcc \
|
||||
CPP=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-cpp \
|
||||
CXX=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-g++ \
|
||||
LD=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ld \
|
||||
FC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gfortran
|
||||
|
||||
WORKDIR /work
|
||||
|
||||
@@ -2,16 +2,28 @@
|
||||
|
||||
set -ex
|
||||
|
||||
MY_DIR=$(dirname "${BASH_SOURCE[0]}")
|
||||
source $MY_DIR/utils.sh
|
||||
# Get script directory
|
||||
SCRIPT_DIR=$(dirname "${BASH_SOURCE[0]}")
|
||||
|
||||
# Get build utilities
|
||||
source $SCRIPT_DIR/utils.sh
|
||||
|
||||
#
|
||||
# Function 'do_curl_build' and 'build_curl'
|
||||
# copied from https://github.com/pypa/manylinux/tree/master/docker/build_scripts
|
||||
#
|
||||
|
||||
CURL_ROOT=curl-7.76.0
|
||||
CURL_HASH=3b4378156ba09e224008e81dcce854b7ce4d182b1f9cfb97fe5ed9e9c18c6bd3
|
||||
if [[ -z "${CURL_VERSION}" ]]; then
|
||||
echo >&2 'error: CURL_VERSION env. variable must be set to a non-empty value'
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [[ -z "${CURL_HASH}" ]]; then
|
||||
echo >&2 'error: CURL_HASH env. variable must be set to a non-empty value'
|
||||
exit 1
|
||||
fi
|
||||
|
||||
CURL_ROOT="${CURL_VERSION}"
|
||||
CURL_DOWNLOAD_URL=https://curl.haxx.se/download
|
||||
|
||||
function do_curl_build {
|
||||
@@ -22,28 +34,16 @@ function do_curl_build {
|
||||
make install > /dev/null
|
||||
}
|
||||
|
||||
|
||||
function build_curl {
|
||||
local curl_fname=$1
|
||||
check_var ${curl_fname}
|
||||
local curl_sha256=$2
|
||||
check_var ${curl_sha256}
|
||||
check_var ${CURL_DOWNLOAD_URL}
|
||||
curl --connect-timeout 30 \
|
||||
--max-time 10 \
|
||||
--retry 5 \
|
||||
--retry-delay 10 \
|
||||
--retry-max-time 30 \
|
||||
-fsSLO ${CURL_DOWNLOAD_URL}/${curl_fname}.tar.gz
|
||||
|
||||
check_sha256sum ${curl_fname}.tar.gz ${curl_sha256}
|
||||
tar -zxf ${curl_fname}.tar.gz
|
||||
(cd curl-*/ && do_curl_build)
|
||||
rm -rf curl-*
|
||||
}
|
||||
|
||||
cd /usr/src
|
||||
build_curl $CURL_ROOT $CURL_HASH
|
||||
|
||||
fetch_source "${CURL_ROOT}.tar.gz" "${CURL_DOWNLOAD_URL}"
|
||||
check_sha256sum "${CURL_ROOT}.tar.gz" "${CURL_HASH}"
|
||||
|
||||
tar -zxf "${CURL_ROOT}.tar.gz"
|
||||
pushd "${CURL_ROOT}"
|
||||
do_curl_build
|
||||
popd
|
||||
rm -rf "${CURL_ROOT}" "${CURL_ROOT}.tar.gz"
|
||||
|
||||
(cat /etc/ld.so.conf.d/usr-local.conf 2> /dev/null | grep -q "^/usr/local/lib$") ||
|
||||
echo '/usr/local/lib' >> /etc/ld.so.conf.d/usr-local.conf
|
||||
|
||||
@@ -14,12 +14,10 @@ fi
|
||||
|
||||
cd /usr/src
|
||||
|
||||
git clone https://github.com/dvidelabs/flatcc.git
|
||||
git clone https://github.com/dvidelabs/flatcc.git -b v$FLATCC_VERSION
|
||||
|
||||
cd flatcc
|
||||
|
||||
git reset --hard $FLATCC_COMMIT
|
||||
|
||||
cmake -DFLATCC_INSTALL=on && make install > /dev/null
|
||||
|
||||
./scripts/cleanall.sh
|
||||
|
||||
@@ -2,10 +2,12 @@
|
||||
|
||||
set -ex
|
||||
|
||||
if ! command -v curl &> /dev/null; then
|
||||
echo >&2 'error: "curl" not found!'
|
||||
exit 1
|
||||
fi
|
||||
# Get script directory
|
||||
SCRIPT_DIR=$(dirname "${BASH_SOURCE[0]}")
|
||||
|
||||
# Get build utilities
|
||||
source $SCRIPT_DIR/utils.sh
|
||||
|
||||
|
||||
if ! command -v tar &> /dev/null; then
|
||||
echo >&2 'error: "tar" not found!'
|
||||
@@ -23,27 +25,20 @@ ldconfig
|
||||
|
||||
cd /usr/src
|
||||
|
||||
url="https://mirrors.edge.kernel.org/pub/software/scm/git/git-${GIT_VERSION}.tar.gz"
|
||||
echo "Downloading $url"
|
||||
curl --connect-timeout 20 \
|
||||
--max-time 10 \
|
||||
--retry 5 \
|
||||
--retry-delay 10 \
|
||||
--retry-max-time 40 \
|
||||
-# -LO $url
|
||||
GIT_ROOT="git-${GIT_VERSION}"
|
||||
GIT_DOWNLOAD_URL="https://mirrors.edge.kernel.org/pub/software/scm/git"
|
||||
|
||||
tar xvzf "git-${GIT_VERSION}.tar.gz" --no-same-owner
|
||||
rm -f "git-${GIT_VERSION}.tar.gz"
|
||||
fetch_source "${GIT_ROOT}.tar.gz" "${GIT_DOWNLOAD_URL}"
|
||||
tar xvzf "${GIT_ROOT}.tar.gz" --no-same-owner
|
||||
|
||||
pushd "git-${GIT_VERSION}"
|
||||
pushd "${GIT_ROOT}"
|
||||
./configure --prefix=/usr/local --with-curl
|
||||
make -j"$(nproc)"
|
||||
make install
|
||||
make -j"$(nproc)" NO_GETTEXT=YesPlease
|
||||
make NO_GETTEXT=YesPlease install
|
||||
popd
|
||||
rm -rf "${GIT_ROOT}" "${GIT_ROOT}.tar.gz"
|
||||
|
||||
ldconfig
|
||||
|
||||
rm -rf "git-${GIT_VERSION}"
|
||||
|
||||
# turn the detached message off
|
||||
git config --global advice.detachedHead false
|
||||
|
||||
@@ -10,6 +10,12 @@
|
||||
set -e
|
||||
set -o pipefail
|
||||
|
||||
# Get script directory
|
||||
SCRIPT_DIR=$(dirname "${BASH_SOURCE[0]}")
|
||||
|
||||
# Get build utilities
|
||||
source $SCRIPT_DIR/utils.sh
|
||||
|
||||
PYTHON=python
|
||||
while [ $# -gt 0 ]; do
|
||||
case "$1" in
|
||||
@@ -25,25 +31,28 @@ while [ $# -gt 0 ]; do
|
||||
shift
|
||||
done
|
||||
|
||||
# Download
|
||||
REV=v1.10.2
|
||||
curl --connect-timeout 30 \
|
||||
--max-time 10 \
|
||||
--retry 5 \
|
||||
--retry-delay 10 \
|
||||
--retry-max-time 30 \
|
||||
-# -o ninja.tar.gz -LO https://github.com/ninja-build/ninja/archive/$REV.tar.gz
|
||||
if [[ -z "${NINJA_VERSION}" ]]; then
|
||||
echo >&2 'error: NINJA_VERSION env. variable must be set to a non-empty value'
|
||||
exit 1
|
||||
fi
|
||||
|
||||
mkdir ninja
|
||||
tar -xzvf ./ninja.tar.gz --strip-components=1 -C ./ninja
|
||||
# Download
|
||||
NINJA_DOWNLOAD_URL="https://github.com/ninja-build/ninja/archive/"
|
||||
NINJA_ROOT="v${NINJA_VERSION}"
|
||||
|
||||
fetch_source "${NINJA_ROOT}.tar.gz" "${NINJA_DOWNLOAD_URL}"
|
||||
|
||||
# Since the archive name doesn't match the top-level directory, explicitly specify it.
|
||||
mkdir -p "${NINJA_ROOT}"
|
||||
tar xvzf "${NINJA_ROOT}.tar.gz" --strip-components=1 -C "${NINJA_ROOT}"
|
||||
|
||||
# Configure, build and install
|
||||
pushd ./ninja
|
||||
pushd "${NINJA_ROOT}"
|
||||
echo "Configuring ninja using [$PYTHON]"
|
||||
$PYTHON ./configure.py --bootstrap && ./ninja
|
||||
cp ./ninja /usr/bin/
|
||||
popd
|
||||
|
||||
# Clean
|
||||
rm -rf ./ninja*
|
||||
rm -rf "${NINJA_ROOT}" "${NINJA_ROOT}.tar.gz"
|
||||
|
||||
|
||||
@@ -39,22 +39,40 @@ while [ $# -gt 0 ]; do
|
||||
shift
|
||||
done
|
||||
|
||||
MY_DIR=$(dirname "${BASH_SOURCE[0]}")
|
||||
source $MY_DIR/utils.sh
|
||||
# Get script directory
|
||||
SCRIPT_DIR=$(dirname "${BASH_SOURCE[0]}")
|
||||
|
||||
# Get build utilities
|
||||
source $SCRIPT_DIR/utils.sh
|
||||
|
||||
#
|
||||
# Function 'do_openssl_build' and 'build_openssl'
|
||||
# copied from https://github.com/pypa/manylinux/tree/master/docker/build_scripts
|
||||
#
|
||||
|
||||
OPENSSL_ROOT=openssl-1.1.1l
|
||||
# Hash from https://www.openssl.org/source/openssl-1.1.1l.tar.gz.sha256
|
||||
OPENSSL_HASH=0b7a3e5e59c34827fe0c3a74b7ec8baef302b98fa80088d7f9153aa16fa76bd1
|
||||
if [[ -z "${OPENSSL_VERSION}" ]]; then
|
||||
echo >&2 'error: OPENSSL_VERSION env. variable must be set to a non-empty value'
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [[ -z "${OPENSSL_HASH}" ]]; then
|
||||
echo >&2 'error: OPENSSL_HASH env. variable must be set to a non-empty value'
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [[ -z "${PERL_VERSION}" ]]; then
|
||||
echo >&2 'error: PERL_VERSION env. variable must be set to a non-empty value'
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [[ -z "${PERL_HASH}" ]]; then
|
||||
echo >&2 'error: PERL_HASH env. variable must be set to a non-empty value'
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Hash from https://www.openssl.org/source/openssl-1.1.1w.tar.gz.sha256
|
||||
OPENSSL_DOWNLOAD_URL=http://www.openssl.org/source/
|
||||
|
||||
# a recent enough perl is needed to build openssl
|
||||
PERL_ROOT=perl-5.32.1
|
||||
PERL_HASH=03b693901cd8ae807231b1787798cf1f2e0b8a56218d07b7da44f784a7caeb2c
|
||||
PERL_DOWNLOAD_URL=https://www.cpan.org/src/5.0
|
||||
|
||||
function do_perl_build {
|
||||
@@ -69,15 +87,10 @@ function build_perl {
|
||||
local perl_sha256=$2
|
||||
check_var ${perl_sha256}
|
||||
check_var ${PERL_DOWNLOAD_URL}
|
||||
curl --connect-timeout 30 \
|
||||
--max-time 10 \
|
||||
--retry 5 \
|
||||
--retry-delay 10 \
|
||||
--retry-max-time 30 \
|
||||
-fsSLO ${PERL_DOWNLOAD_URL}/${perl_fname}.tar.gz
|
||||
|
||||
fetch_source "${perl_fname}.tar.gz" "${PERL_DOWNLOAD_URL}"
|
||||
check_sha256sum ${perl_fname}.tar.gz ${perl_sha256}
|
||||
tar -xzf ${perl_fname}.tar.gz
|
||||
tar -xzf ${perl_fname}.tar.gz --no-same-owner
|
||||
(cd ${perl_fname} && do_perl_build)
|
||||
rm -rf ${perl_fname} ${perl_fname}.tar.gz
|
||||
}
|
||||
@@ -94,13 +107,8 @@ function build_openssl {
|
||||
local openssl_sha256=$2
|
||||
check_var ${openssl_sha256}
|
||||
check_var ${OPENSSL_DOWNLOAD_URL}
|
||||
curl --connect-timeout 30 \
|
||||
--max-time 10 \
|
||||
--retry 5 \
|
||||
--retry-delay 10 \
|
||||
--retry-max-time 30 \
|
||||
-fsSLO ${OPENSSL_DOWNLOAD_URL}/${openssl_fname}.tar.gz
|
||||
|
||||
fetch_source "${openssl_fname}.tar.gz" "${OPENSSL_DOWNLOAD_URL}"
|
||||
check_sha256sum ${openssl_fname}.tar.gz ${openssl_sha256}
|
||||
tar -xzf ${openssl_fname}.tar.gz
|
||||
(cd ${openssl_fname} && PATH=/opt/perl/bin:${PATH} do_openssl_build)
|
||||
@@ -110,8 +118,8 @@ function build_openssl {
|
||||
}
|
||||
|
||||
cd /usr/src
|
||||
build_perl $PERL_ROOT $PERL_HASH
|
||||
build_openssl $OPENSSL_ROOT $OPENSSL_HASH
|
||||
build_perl "${PERL_VERSION}" "${PERL_HASH}"
|
||||
build_openssl "${OPENSSL_VERSION}" "${OPENSSL_HASH}"
|
||||
|
||||
# Delete PERL
|
||||
rm -rf /opt/perl
|
||||
|
||||
Executable
+10
@@ -0,0 +1,10 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
set -ex
|
||||
|
||||
if ! command -v curl &> /dev/null; then
|
||||
echo >&2 'error: "curl" not found!'
|
||||
exit 1
|
||||
fi
|
||||
|
||||
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y
|
||||
+2
-1
@@ -10,10 +10,11 @@
|
||||
# -E = CMake command mode.
|
||||
# --build <dir> = Build a CMake-generated project binary tree.
|
||||
# --find-package = Run in pkg-config like mode.
|
||||
# --install = install an already-generated project
|
||||
#
|
||||
case $1 in
|
||||
|
||||
-E|--build|--find-package)
|
||||
-E|--build|--find-package|--install)
|
||||
exec /usr/bin/cmake "$@"
|
||||
;;
|
||||
|
||||
|
||||
@@ -24,10 +24,10 @@ has() {
|
||||
|
||||
# If OCI_EXE is not already set, search for a container executor (OCI stands for "Open Container Initiative")
|
||||
if [ -z "$OCI_EXE" ]; then
|
||||
if which docker >/dev/null 2>/dev/null; then
|
||||
OCI_EXE=docker
|
||||
elif which podman >/dev/null 2>/dev/null; then
|
||||
if type -p podman >/dev/null 2>/dev/null; then
|
||||
OCI_EXE=podman
|
||||
elif type -p docker >/dev/null 2>/dev/null; then
|
||||
OCI_EXE=docker
|
||||
else
|
||||
die "Cannot find a container executor. Search for docker and podman."
|
||||
fi
|
||||
@@ -190,7 +190,7 @@ MSYS=$([ -e /proc/version ] && grep -l MINGW /proc/version || echo "")
|
||||
# CYGWIN
|
||||
CYGWIN=$([ -e /proc/version ] && grep -l CYGWIN /proc/version || echo "")
|
||||
|
||||
if [ -z "$UBUNTU_ON_WINDOWS" -a -z "$MSYS" ]; then
|
||||
if [ -z "$UBUNTU_ON_WINDOWS" -a -z "$MSYS" -a "$OCI_EXE" != "podman" ]; then
|
||||
USER_IDS=(-e BUILDER_UID="$( id -u )" -e BUILDER_GID="$( id -g )" -e BUILDER_USER="$( id -un )" -e BUILDER_GROUP="$( id -gn )")
|
||||
fi
|
||||
|
||||
@@ -218,7 +218,7 @@ elif [ -n "$CYGWIN" ]; then
|
||||
HOST_PWD="$( cygpath -w "$( readlink -f "$( pwd ;)" ; )" ; )" ;
|
||||
else
|
||||
HOST_PWD=$PWD
|
||||
[ -L $HOST_PWD ] && HOST_PWD=$(readlink $HOST_PWD)
|
||||
[ -L "$HOST_PWD" ] && HOST_PWD=$(readlink $HOST_PWD)
|
||||
fi
|
||||
|
||||
# Mount Additional Volumes
|
||||
|
||||
@@ -26,8 +26,13 @@ if [[ -n $BUILDER_UID ]] && [[ -n $BUILDER_GID ]]; then
|
||||
|
||||
groupadd -o -g "$BUILDER_GID" "$BUILDER_GROUP" 2> /dev/null
|
||||
useradd -o -m -g "$BUILDER_GID" -u "$BUILDER_UID" "$BUILDER_USER" 2> /dev/null
|
||||
|
||||
# Change ownership of /dev/pts/0 to new user
|
||||
chown "$BUILDER_UID" /dev/pts/0 2> /dev/null
|
||||
|
||||
export HOME=/home/${BUILDER_USER}
|
||||
shopt -s dotglob
|
||||
# Copy the rest
|
||||
cp -r /root/* $HOME/
|
||||
chown -R $BUILDER_UID:$BUILDER_GID $HOME
|
||||
|
||||
@@ -38,15 +43,17 @@ if [[ -n $BUILDER_UID ]] && [[ -n $BUILDER_GID ]]; then
|
||||
|
||||
# Enable passwordless sudo capabilities for the user
|
||||
chown root:$BUILDER_GID "$(which gosu)"
|
||||
chmod +s "$(which gosu)"; sync
|
||||
chmod +s "$(which gosu)"
|
||||
|
||||
# Execute project specific pre execution hook
|
||||
if [[ -e /work/.dockcross ]]; then
|
||||
gosu $BUILDER_UID:$BUILDER_GID /work/.dockcross
|
||||
fi
|
||||
|
||||
# Run the command as the specified user/group.
|
||||
exec gosu $BUILDER_UID:$BUILDER_GID "$@"
|
||||
# Run the command as the specified user. The group will be BUILDER_GID,
|
||||
# as pulled from /etc/passwd, but will have additional groups from
|
||||
# /etc/group. This is necessary for manylinux to install python packages.
|
||||
exec gosu $BUILDER_UID "$@"
|
||||
else
|
||||
# Just run the command as root.
|
||||
exec "$@"
|
||||
|
||||
@@ -3,6 +3,12 @@
|
||||
set -ex
|
||||
set -o pipefail
|
||||
|
||||
# Get script directory
|
||||
SCRIPT_DIR=$(dirname "${BASH_SOURCE[0]}")
|
||||
|
||||
# Get build utilities
|
||||
source $SCRIPT_DIR/utils.sh
|
||||
|
||||
ARCH="x86_64"
|
||||
|
||||
while [ $# -gt 0 ]; do
|
||||
@@ -18,11 +24,6 @@ while [ $# -gt 0 ]; do
|
||||
shift
|
||||
done
|
||||
|
||||
if ! command -v curl &> /dev/null; then
|
||||
echo >&2 'error: "curl" not found!'
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if ! command -v tar &> /dev/null; then
|
||||
echo >&2 'error: "tar" not found!'
|
||||
exit 1
|
||||
@@ -35,16 +36,12 @@ fi
|
||||
|
||||
cd /usr/src
|
||||
|
||||
CMAKE_ROOT=cmake-${CMAKE_VERSION}-Centos5-${ARCH}
|
||||
url=https://github.com/dockbuild/CMake/releases/download/v${CMAKE_VERSION}/${CMAKE_ROOT}.tar.gz
|
||||
echo "Downloading $url"
|
||||
curl --connect-timeout 30 \
|
||||
--max-time 10 \
|
||||
--retry 5 \
|
||||
--retry-delay 10 \
|
||||
--retry-max-time 30 \
|
||||
-# -LO $url
|
||||
CMAKE_ROOT=cmake-${CMAKE_VERSION}-linux-${ARCH}
|
||||
CMAKE_DOWNLOAD_URL=https://github.com/Kitware/CMake/releases/download/v${CMAKE_VERSION}
|
||||
|
||||
echo "Downloading ${CMAKE_DOWNLOAD_URL}/${CMAKE_ROOT}.tar.gz"
|
||||
|
||||
fetch_source "${CMAKE_ROOT}.tar.gz" "${CMAKE_DOWNLOAD_URL}"
|
||||
tar -xzvf "${CMAKE_ROOT}.tar.gz"
|
||||
rm -f "${CMAKE_ROOT}.tar.gz"
|
||||
|
||||
|
||||
@@ -53,8 +53,8 @@ if [ -z ${CONFIG_PATH} ] || [ ! -f ${CONFIG_PATH} ]; then
|
||||
fi
|
||||
|
||||
if [ -z ${REV} ]; then
|
||||
echo "WARNING: No version selected, use default version: crosstool-ng-1.23.0 (-v)."
|
||||
REV=crosstool-ng-1.23.0
|
||||
echo "WARNING: No version selected, use default version: crosstool-ng-1.25.0 (-v)."
|
||||
REV=crosstool-ng-1.25.0
|
||||
fi
|
||||
|
||||
|
||||
@@ -75,15 +75,13 @@ git fetch --tags
|
||||
# checkout
|
||||
git checkout ${REV}
|
||||
|
||||
if [ ${REV} = "crosstool-ng-1.23.0" ]; then
|
||||
patch scripts/build/companion_libs/210-expat.sh -i /dockcross/crosstool-ng-expat.patch
|
||||
# Patch to fix error with bash 5 and up: https://github.com/pfalcon/esp-open-sdk/issues/365
|
||||
patch configure.ac -i /dockcross/Fix-error-with-bash-5-and-up.patch
|
||||
if [ ${REV} = "crosstool-ng-1.25.0" ]; then
|
||||
patch scripts/build/companion_libs/050-zlib.sh -i /dockcross/crosstool-ng-zlib-target.patch
|
||||
# Clean patch
|
||||
rm /dockcross/Fix-error-with-bash-5-and-up.patch
|
||||
rm /dockcross/crosstool-ng-expat.patch
|
||||
rm /dockcross/crosstool-ng-zlib-target.patch
|
||||
fi
|
||||
|
||||
|
||||
# Bootstrap and install the tool.
|
||||
BOOTSTRAP_PREFIX="${CTNG}/prefix"
|
||||
./bootstrap
|
||||
|
||||
@@ -14,16 +14,64 @@ if ! command -v gpg &> /dev/null; then
|
||||
fi
|
||||
|
||||
GOSU_VERSION=1.12
|
||||
dpkgArch=$(if test "$(uname -m)" = "x86_64"; then echo amd64; else echo i386; fi)
|
||||
url="https://github.com/tianon/gosu/releases/download/${GOSU_VERSION}/gosu-${dpkgArch}"
|
||||
url_key="https://github.com/tianon/gosu/releases/download/${GOSU_VERSION}/gosu-${dpkgArch}.asc"
|
||||
|
||||
ARCH=$(uname -m)
|
||||
case "$ARCH" in
|
||||
x86_64)
|
||||
GOSU_ARCH=amd64
|
||||
;;
|
||||
aarch64)
|
||||
GOSU_ARCH=arm64
|
||||
;;
|
||||
armv7l)
|
||||
GOSU_ARCH=armhf
|
||||
;;
|
||||
armv6l)
|
||||
GOSU_ARCH=armel
|
||||
;;
|
||||
i686|i386)
|
||||
GOSU_ARCH=i386
|
||||
;;
|
||||
mips64el)
|
||||
GOSU_ARCH=mips64el
|
||||
;;
|
||||
ppc64el)
|
||||
GOSU_ARCH=ppc64el
|
||||
;;
|
||||
riscv64)
|
||||
GOSU_ARCH=riscv64
|
||||
;;
|
||||
s390x)
|
||||
GOSU_ARCH=s390x
|
||||
;;
|
||||
*)
|
||||
echo "Error: unsupported arch (${ARCH}) by gosu (https://github.com/tianon/gosu/releases)" >&2
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
url="https://github.com/tianon/gosu/releases/download/${GOSU_VERSION}/gosu-${GOSU_ARCH}"
|
||||
url_key="https://github.com/tianon/gosu/releases/download/${GOSU_VERSION}/gosu-${GOSU_ARCH}.asc"
|
||||
|
||||
# download and verify the signature
|
||||
export GNUPGHOME="$(mktemp -d)"
|
||||
|
||||
gpg --keyserver hkp://pool.sks-keyservers.net:80 --recv-keys B42F6819007F00F88E364FD4036A9C25BF357DD4 || \
|
||||
gpg --keyserver hkp://pgp.key-server.io:80 --recv-keys B42F6819007F00F88E364FD4036A9C25BF357DD4 || \
|
||||
gpg --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys B42F6819007F00F88E364FD4036A9C25BF357DD4
|
||||
GOSU_GPG_KEY=B42F6819007F00F88E364FD4036A9C25BF357DD4
|
||||
|
||||
gpg --keyserver hkps://keys.openpgp.org --recv-keys "$GOSU_GPG_KEY" || \
|
||||
gpg --keyserver hkp://pool.sks-keyservers.net:80 --recv-keys "$GOSU_GPG_KEY" || \
|
||||
gpg --keyserver hkp://pgp.key-server.io:80 --recv-keys "$GOSU_GPG_KEY" || \
|
||||
gpg --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys "$GOSU_GPG_KEY" || \
|
||||
{
|
||||
echo "gpg keyserver lookups failed, falling back to fetching the key over HTTPS" >&2
|
||||
curl --connect-timeout 30 \
|
||||
--max-time 30 \
|
||||
--retry 5 \
|
||||
--retry-delay 10 \
|
||||
--retry-max-time 60 \
|
||||
-fSL "https://keys.openpgp.org/pks/lookup?op=get&options=mr&search=0x${GOSU_GPG_KEY}" \
|
||||
| gpg --import
|
||||
}
|
||||
|
||||
echo "Downloading $url"
|
||||
curl --connect-timeout 30 \
|
||||
|
||||
@@ -7,12 +7,17 @@ if ! command -v git &> /dev/null; then
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [[ -z "${LIQUIDPROMT_VERSION}" ]]; then
|
||||
echo >&2 'error: LIQUIDPROMT_VERSION env. variable must be set to a non-empty value'
|
||||
exit 1
|
||||
fi
|
||||
|
||||
cd /usr/share
|
||||
|
||||
# Remove liquidprompt if exists
|
||||
rm -rf liquidprompt
|
||||
|
||||
git clone "https://github.com/nojhan/liquidprompt.git" -b v_1.11
|
||||
git clone "https://github.com/nojhan/liquidprompt.git" --depth 1 -b "${LIQUIDPROMT_VERSION}" liquidprompt
|
||||
|
||||
cat << EOF >> /root/.bashrc
|
||||
|
||||
|
||||
@@ -23,10 +23,11 @@ cd /tmp
|
||||
curl -# -LO https://bootstrap.pypa.io/pip/get-pip.py
|
||||
# https://github.com/pypa/setuptools/issues/2993
|
||||
export SETUPTOOLS_USE_DISTUTILS=stdlib
|
||||
${PYTHON} get-pip.py --ignore-installed
|
||||
# Add --break-system-packages to fix change since python 3.11: https://stackoverflow.com/a/75722775/10152334
|
||||
${PYTHON} get-pip.py --ignore-installed --break-system-packages
|
||||
rm get-pip.py
|
||||
|
||||
${PYTHON} -m pip install --upgrade --ignore-installed setuptools
|
||||
${PYTHON} -m pip install --ignore-installed conan
|
||||
${PYTHON} -m pip install --break-system-packages --upgrade --ignore-installed setuptools
|
||||
${PYTHON} -m pip install --break-system-packages --ignore-installed conan meson
|
||||
# Purge cache to save space: https://stackoverflow.com/questions/37513597/is-it-safe-to-delete-cache-pip-directory
|
||||
${PYTHON} -m pip cache purge
|
||||
|
||||
@@ -1,28 +0,0 @@
|
||||
From 67368ebe9d9259e9f34a4f9166a33357858813f1 Mon Sep 17 00:00:00 2001
|
||||
From: Bensuperpc <bensuperpc@gmail.com>
|
||||
Date: Thu, 24 Jun 2021 11:55:48 +0200
|
||||
Subject: [PATCH 1/1] Fix error with bash 5 and up
|
||||
|
||||
Fix error with bash 5 and up
|
||||
|
||||
Signed-off-by: Bensuperpc <bensuperpc@gmail.com>
|
||||
---
|
||||
configure.ac | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index d10bf71d..e2302b4c 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -274,7 +274,7 @@ ACX_PROG_VERSION_REQ_STRICT([BASH_SHELL],
|
||||
[GNU bash >= 3.1],
|
||||
[bash],
|
||||
[bash],
|
||||
- ['^GNU bash, version (3\.[1-9]|4)'])
|
||||
+ ['^GNU bash, version (3\.[1-9]|4|5)'])
|
||||
|
||||
# We need a awk that *is* GNU awk
|
||||
ACX_PROG_VERSION_REQ_STRICT([AWK],
|
||||
--
|
||||
2.32.0
|
||||
|
||||
@@ -1,11 +0,0 @@
|
||||
--- crosstool-ng-crosstool-ng-1.23.0/scripts/build/companion_libs/210-expat.sh 2021-04-05 13:55:31.047130000 +0000
|
||||
+++ crosstool-ng-crosstool-ng-1.23.0/scripts/build/companion_libs/210-expat.sh.new 2021-04-05 13:57:13.841170000 +0000
|
||||
@@ -10,7 +10,7 @@
|
||||
|
||||
do_expat_get() {
|
||||
CT_GetFile "expat-${CT_EXPAT_VERSION}" .tar.gz \
|
||||
- http://downloads.sourceforge.net/project/expat/expat/${CT_EXPAT_VERSION}
|
||||
+ https://github.com/libexpat/libexpat/releases/download/R_${CT_EXPAT_VERSION//./_}
|
||||
}
|
||||
|
||||
do_expat_extract() {
|
||||
@@ -0,0 +1,77 @@
|
||||
--- a/scripts/build/companion_libs/050-zlib.sh
|
||||
+++ b/scripts/build/companion_libs/050-zlib.sh
|
||||
@@ -9,7 +9,7 @@ do_zlib_for_host() { :; }
|
||||
do_zlib_for_target() { :; }
|
||||
|
||||
# Overide functions depending on configuration
|
||||
-if [ "${CT_ZLIB}" = "y" ]; then
|
||||
+if [ "${CT_ZLIB}" = "y" -o "${CT_ZLIB_TARGET}" = "y" ]; then
|
||||
|
||||
# Download zlib
|
||||
do_zlib_get() {
|
||||
@@ -21,6 +21,8 @@ do_zlib_extract() {
|
||||
CT_ExtractPatch ZLIB
|
||||
}
|
||||
|
||||
+if [ "${CT_ZLIB}" = "y" ]; then
|
||||
+
|
||||
# Build zlib for running on build
|
||||
# - always build statically
|
||||
# - install in build-tools prefix
|
||||
@@ -61,6 +63,38 @@ do_zlib_for_host() {
|
||||
CT_EndStep
|
||||
}
|
||||
|
||||
+fi # CT_ZLIB
|
||||
+
|
||||
+if [ "${CT_ZLIB_TARGET}" = "y" ]; then
|
||||
+
|
||||
+do_zlib_for_target() {
|
||||
+ local -a zlib_opts
|
||||
+ local prefix
|
||||
+
|
||||
+ CT_DoStep INFO "Installing zlib for the target"
|
||||
+ CT_mkdir_pushd "${CT_BUILD_DIR}/build-zlib-target-${CT_TARGET}"
|
||||
+
|
||||
+ case "${CT_TARGET}" in
|
||||
+ *-*-mingw*)
|
||||
+ prefix="/mingw"
|
||||
+ ;;
|
||||
+ *)
|
||||
+ prefix="/usr"
|
||||
+ ;;
|
||||
+ esac
|
||||
+
|
||||
+ zlib_opts+=( "host=${CT_TARGET}" )
|
||||
+ zlib_opts+=( "prefix=${prefix}" )
|
||||
+ zlib_opts+=( "destdir=${CT_SYSROOT_DIR}" )
|
||||
+ zlib_opts+=( "cflags=${CT_ALL_TARGET_CFLAGS}" )
|
||||
+ do_zlib_backend "${zlib_opts[@]}"
|
||||
+
|
||||
+ CT_Popd
|
||||
+ CT_EndStep
|
||||
+}
|
||||
+
|
||||
+fi # CT_ZLIB_TARGET
|
||||
+
|
||||
# Build zlib
|
||||
# Parameter : description : type : default
|
||||
# host : machine to run on : tuple : (none)
|
||||
@@ -72,6 +106,7 @@ do_zlib_backend() {
|
||||
local prefix
|
||||
local cflags
|
||||
local ldflags
|
||||
+ local destdir
|
||||
local arg
|
||||
local -a extra_config
|
||||
local -a extra_make
|
||||
@@ -126,7 +161,7 @@ do_zlib_backend() {
|
||||
fi
|
||||
|
||||
CT_DoLog EXTRA "Installing zlib"
|
||||
- CT_DoExecLog ALL make "${extra_make[@]}" install
|
||||
+ CT_DoExecLog ALL make "${extra_make[@]}" install DESTDIR="${destdir}"
|
||||
}
|
||||
|
||||
-fi # CT_ZLIB
|
||||
+fi # CT_ZLIB || CT_ZLIB_TARGET
|
||||
@@ -22,3 +22,20 @@ function check_sha256sum {
|
||||
rm -f ${fname}.sha256
|
||||
}
|
||||
|
||||
function fetch_source {
|
||||
if ! command -v curl &> /dev/null; then
|
||||
echo >&2 'error: "curl" not found!'
|
||||
exit 1
|
||||
fi
|
||||
local file=$1
|
||||
check_var "${file}"
|
||||
local url=$2
|
||||
check_var "${url}"
|
||||
curl --fail \
|
||||
--location \
|
||||
--silent \
|
||||
--show-error \
|
||||
--connect-timeout 30 --max-time 10 \
|
||||
--retry 5 --retry-delay 10 --retry-max-time 30 \
|
||||
-o "${file}" ${url}/${file}
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
# Mount the PWD to enable access in try_run commands
|
||||
exec ${WASMER_DIR}/bin/wasmer run --dir=. --dir=$PWD "$@"
|
||||
# Mount the PWD and the /work mount dir to enable access in try_run commands
|
||||
exec ${WASMER_DIR}/bin/wasmer run --dir=. --dir=$PWD --dir=/work/ "$@"
|
||||
|
||||
Executable
+4
@@ -0,0 +1,4 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
# Mount the PWD and the /work mount dir to enable access in try_run commands
|
||||
exec ${WASMTIME_HOME}/bin/wasmtime run -W threads=y,shared-memory=y -S threads=y,cli=y --dir=. --dir=$PWD --dir=/work/ "$@"
|
||||
@@ -1,4 +1,4 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
# Mount the PWD to enable access in try_run commands
|
||||
exec ${WASMTIME_HOME}/bin/wasmtime run --dir=. --dir=$PWD "$@"
|
||||
# Mount the PWD and the /work mount dir to enable access in try_run commands
|
||||
exec ${WASMTIME_HOME}/bin/wasmtime run --dir=. --dir=$PWD --dir=/work/ "$@"
|
||||
|
||||
@@ -1,12 +1,13 @@
|
||||
FROM dockcross/base:latest
|
||||
ARG ORG=dockcross
|
||||
FROM ${ORG}/base:latest
|
||||
|
||||
LABEL maintainer="Matt McCormick matt.mccormick@kitware.com"
|
||||
LABEL maintainer="Matt McCormick matt@mmmccormick.com"
|
||||
|
||||
# This is for 64-bit ARM Linux machine
|
||||
|
||||
# Buildroot version
|
||||
# buildroot master 2021-09-20
|
||||
ENV BR_VERSION d4877e6f88d5eea54dc74b855556ffc0dd3f399f
|
||||
ENV BR_VERSION=d4877e6f88d5eea54dc74b855556ffc0dd3f399f
|
||||
|
||||
#include "common.buildroot"
|
||||
|
||||
@@ -18,8 +19,8 @@ RUN apt-get update \
|
||||
&& apt-get clean --yes
|
||||
|
||||
# The CROSS_TRIPLE is a configured alias of the "aarch64-buildroot-linux-gnu" target.
|
||||
ENV CROSS_TRIPLE aarch64-buildroot-linux-gnu
|
||||
ENV CROSS_ROOT /buildroot
|
||||
ENV CROSS_TRIPLE=aarch64-buildroot-linux-gnu
|
||||
ENV CROSS_ROOT=/buildroot
|
||||
ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \
|
||||
AR=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ar \
|
||||
CC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gcc \
|
||||
@@ -28,17 +29,17 @@ ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \
|
||||
LD=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ld \
|
||||
FC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gfortran
|
||||
|
||||
ENV QEMU_LD_PREFIX "${CROSS_ROOT}/${CROSS_TRIPLE}/sysroot"
|
||||
ENV QEMU_SET_ENV "LD_LIBRARY_PATH=${CROSS_ROOT}/lib:${QEMU_LD_PREFIX}"
|
||||
ENV QEMU_LD_PREFIX="${CROSS_ROOT}/${CROSS_TRIPLE}/sysroot"
|
||||
ENV QEMU_SET_ENV="LD_LIBRARY_PATH=${CROSS_ROOT}/lib:${QEMU_LD_PREFIX}"
|
||||
|
||||
COPY Toolchain.cmake ${CROSS_ROOT}/
|
||||
ENV CMAKE_TOOLCHAIN_FILE ${CROSS_ROOT}/Toolchain.cmake
|
||||
ENV CMAKE_TOOLCHAIN_FILE=${CROSS_ROOT}/Toolchain.cmake
|
||||
|
||||
#ENV PKG_CONFIG_PATH /usr/lib/aarch64-linux-gnu/pkgconfig
|
||||
#ENV PKG_CONFIG_PATH=/usr/lib/aarch64-linux-gnu/pkgconfig
|
||||
|
||||
# Linux kernel cross compilation variables
|
||||
ENV PATH ${PATH}:${CROSS_ROOT}/bin
|
||||
ENV CROSS_COMPILE ${CROSS_TRIPLE}-
|
||||
ENV ARCH arm64
|
||||
ENV PATH=${PATH}:${CROSS_ROOT}/bin
|
||||
ENV CROSS_COMPILE=${CROSS_TRIPLE}-
|
||||
ENV ARCH=arm64
|
||||
|
||||
#include "common.label-and-env"
|
||||
|
||||
@@ -11,10 +11,10 @@ set(CMAKE_Fortran_COMPILER $ENV{FC})
|
||||
|
||||
set(CMAKE_CXX_FLAGS "-I ${cross_root}/include/")
|
||||
|
||||
set(CMAKE_FIND_ROOT_PATH ${cross_root} ${cross_root}/${cross_triple})
|
||||
list(APPEND CMAKE_FIND_ROOT_PATH ${CMAKE_PREFIX_PATH} ${cross_root} ${cross_root}/${cross_triple})
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY BOTH)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
|
||||
|
||||
set(CMAKE_SYSROOT ${cross_root}/${cross_triple}/sysroot)
|
||||
|
||||
|
||||
@@ -0,0 +1,14 @@
|
||||
BASE_IMAGE_REGISTRY ?= docker.io
|
||||
BASE_IMAGE_PATH ?= dockcross
|
||||
BASE_IMAGE_NAME = base
|
||||
BASE_IMAGE_TAG = latest
|
||||
|
||||
OUTPUT_IMAGE_REGISTRY ?= docker.io
|
||||
OUTPUT_IMAGE_PATH ?= dockcross
|
||||
OUTPUT_IMAGE_NAME = linux-arm64-full
|
||||
|
||||
# Extra tests (see CONTRIBUTING.md / Makefile "Extra tests" section)
|
||||
EXTRA_TESTS = stockfish ninja openssl C SQLite fmt cpython
|
||||
STOCKFISH_ARGS = ARCH=armv8
|
||||
OPENSSL_ARGS = linux-aarch64
|
||||
CPYTHON_ARGS = --host=aarch64-buildroot-linux-gnu --target=aarch64-buildroot-linux-gnu
|
||||
@@ -1,11 +1,10 @@
|
||||
FROM dockcross/base:latest
|
||||
ARG ORG=dockcross
|
||||
FROM ${ORG}/base:latest
|
||||
|
||||
# This is for 64-bit ARM Linux machine (Ubuntu 18.04 or Debian 9 mini)
|
||||
|
||||
# Crosstool-ng version
|
||||
# We use a git commit while waiting for 1.25 to release (1.24 is several years old)
|
||||
# crosstool-ng master 2021-09-20
|
||||
ENV CT_VERSION 5f5a22f7a7307790ec571d0c5acf8790416964e6
|
||||
# Crosstool-ng version 2022-05-19
|
||||
ENV CT_VERSION=crosstool-ng-1.25.0
|
||||
|
||||
#include "common.crosstool"
|
||||
|
||||
@@ -17,9 +16,9 @@ RUN apt-get update \
|
||||
&& apt-get clean --yes
|
||||
|
||||
# The CROSS_TRIPLE is a configured alias of the "aarch64-unknown-linux-gnu" target.
|
||||
ENV CROSS_TRIPLE aarch64-unknown-linux-gnu
|
||||
ENV CROSS_TRIPLE=aarch64-unknown-linux-gnu
|
||||
|
||||
ENV CROSS_ROOT ${XCC_PREFIX}/${CROSS_TRIPLE}
|
||||
ENV CROSS_ROOT=${XCC_PREFIX}/${CROSS_TRIPLE}
|
||||
ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \
|
||||
AR=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ar \
|
||||
CC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gcc \
|
||||
@@ -28,17 +27,17 @@ ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \
|
||||
LD=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ld \
|
||||
FC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gfortran
|
||||
|
||||
ENV QEMU_LD_PREFIX "${CROSS_ROOT}/${CROSS_TRIPLE}/sysroot"
|
||||
ENV QEMU_SET_ENV "LD_LIBRARY_PATH=${CROSS_ROOT}/lib:${QEMU_LD_PREFIX}"
|
||||
ENV QEMU_LD_PREFIX="${CROSS_ROOT}/${CROSS_TRIPLE}/sysroot"
|
||||
ENV QEMU_SET_ENV="LD_LIBRARY_PATH=${CROSS_ROOT}/lib:${QEMU_LD_PREFIX}"
|
||||
|
||||
COPY Toolchain.cmake ${CROSS_ROOT}/
|
||||
ENV CMAKE_TOOLCHAIN_FILE ${CROSS_ROOT}/Toolchain.cmake
|
||||
ENV CMAKE_TOOLCHAIN_FILE=${CROSS_ROOT}/Toolchain.cmake
|
||||
|
||||
ENV PKG_CONFIG_PATH /usr/lib/aarch64-linux-gnu/pkgconfig
|
||||
ENV PKG_CONFIG_PATH=/usr/lib/aarch64-linux-gnu/pkgconfig
|
||||
|
||||
# Linux kernel cross compilation variables
|
||||
ENV PATH ${PATH}:${CROSS_ROOT}/bin
|
||||
ENV CROSS_COMPILE ${CROSS_TRIPLE}-
|
||||
ENV ARCH arm64
|
||||
ENV PATH=${PATH}:${CROSS_ROOT}/bin
|
||||
ENV CROSS_COMPILE=${CROSS_TRIPLE}-
|
||||
ENV ARCH=arm64
|
||||
|
||||
#include "common.label-and-env"
|
||||
|
||||
@@ -11,10 +11,10 @@ set(CMAKE_Fortran_COMPILER $ENV{FC})
|
||||
|
||||
set(CMAKE_CXX_FLAGS "-I ${cross_root}/include/")
|
||||
|
||||
set(CMAKE_FIND_ROOT_PATH ${cross_root} ${cross_root}/${cross_triple})
|
||||
list(APPEND CMAKE_FIND_ROOT_PATH ${CMAKE_PREFIX_PATH} ${cross_root} ${cross_root}/${cross_triple})
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY BOTH)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
|
||||
set(CMAKE_SYSROOT ${cross_root}/${cross_triple}/sysroot)
|
||||
|
||||
set(CMAKE_CROSSCOMPILING_EMULATOR /usr/bin/qemu-aarch64)
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
#
|
||||
# Automatically generated file; DO NOT EDIT.
|
||||
# crosstool-NG 1.24.0.450_5f5a22f Configuration
|
||||
# crosstool-NG 1.25.0.26_db6f703 Configuration
|
||||
#
|
||||
CT_CONFIGURE_has_static_link=y
|
||||
CT_CONFIGURE_has_cxx11=y
|
||||
@@ -8,6 +8,7 @@ CT_CONFIGURE_has_wget=y
|
||||
CT_CONFIGURE_has_curl=y
|
||||
CT_CONFIGURE_has_meson=y
|
||||
CT_CONFIGURE_has_ninja=y
|
||||
CT_CONFIGURE_has_rsync=y
|
||||
CT_CONFIGURE_has_make_3_81_or_newer=y
|
||||
CT_CONFIGURE_has_make_4_0_or_newer=y
|
||||
CT_CONFIGURE_has_libtool_2_4_or_newer=y
|
||||
@@ -26,11 +27,11 @@ CT_CONFIGURE_has_sha1sum=y
|
||||
CT_CONFIGURE_has_sha256sum=y
|
||||
CT_CONFIGURE_has_sha512sum=y
|
||||
CT_CONFIGURE_has_install_with_strip_program=y
|
||||
CT_VERSION="1.24.0.450_5f5a22f"
|
||||
CT_VERSION="1.25.0.26_db6f703"
|
||||
CT_VCHECK=""
|
||||
CT_CONFIG_VERSION_ENV="3"
|
||||
CT_CONFIG_VERSION_CURRENT="3"
|
||||
CT_CONFIG_VERSION="3"
|
||||
CT_CONFIG_VERSION_ENV="4"
|
||||
CT_CONFIG_VERSION_CURRENT="4"
|
||||
CT_CONFIG_VERSION="4"
|
||||
CT_MODULES=y
|
||||
|
||||
#
|
||||
@@ -119,7 +120,7 @@ CT_LOG_EXTRA=y
|
||||
# CT_LOG_DEBUG is not set
|
||||
CT_LOG_LEVEL_MAX="EXTRA"
|
||||
# CT_LOG_SEE_TOOLS_WARN is not set
|
||||
CT_LOG_PROGRESS_BAR=y
|
||||
CT_LOG_PROGRESS_BAR=n
|
||||
CT_LOG_TO_FILE=y
|
||||
CT_LOG_FILE_COMPRESS=y
|
||||
# end of Paths and misc options
|
||||
@@ -255,6 +256,9 @@ CT_LINUX_PKG_NAME="linux"
|
||||
CT_LINUX_SRC_RELEASE=y
|
||||
# CT_LINUX_SRC_DEVEL is not set
|
||||
CT_LINUX_PATCH_ORDER="global"
|
||||
# CT_LINUX_V_5_17 is not set
|
||||
# CT_LINUX_V_5_16 is not set
|
||||
# CT_LINUX_V_5_15 is not set
|
||||
CT_LINUX_V_5_14=y
|
||||
# CT_LINUX_V_5_13 is not set
|
||||
# CT_LINUX_V_5_12 is not set
|
||||
@@ -286,12 +290,18 @@ CT_LINUX_V_5_14=y
|
||||
# CT_LINUX_V_3_13 is not set
|
||||
# CT_LINUX_V_3_12 is not set
|
||||
# CT_LINUX_V_3_10 is not set
|
||||
CT_LINUX_VERSION="5.14.1"
|
||||
CT_LINUX_VERSION="5.14.18"
|
||||
CT_LINUX_MIRRORS="$(CT_Mirrors kernel.org linux ${CT_LINUX_VERSION})"
|
||||
CT_LINUX_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
|
||||
CT_LINUX_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
|
||||
CT_LINUX_ARCHIVE_FORMATS=".tar.xz .tar.gz"
|
||||
CT_LINUX_SIGNATURE_FORMAT="unpacked/.sign"
|
||||
CT_LINUX_later_than_5_12=y
|
||||
CT_LINUX_5_12_or_later=y
|
||||
CT_LINUX_later_than_5_5=y
|
||||
CT_LINUX_5_5_or_later=y
|
||||
CT_LINUX_later_than_5_3=y
|
||||
CT_LINUX_5_3_or_later=y
|
||||
CT_LINUX_later_than_4_8=y
|
||||
CT_LINUX_4_8_or_later=y
|
||||
CT_LINUX_later_than_3_7=y
|
||||
@@ -300,11 +310,11 @@ CT_LINUX_REQUIRE_3_7_or_later=y
|
||||
CT_LINUX_later_than_3_2=y
|
||||
CT_LINUX_3_2_or_later=y
|
||||
CT_LINUX_REQUIRE_3_2_or_later=y
|
||||
CT_KERNEL_DEP_RSYNC=y
|
||||
CT_KERNEL_LINUX_VERBOSITY_0=y
|
||||
# CT_KERNEL_LINUX_VERBOSITY_1 is not set
|
||||
# CT_KERNEL_LINUX_VERBOSITY_2 is not set
|
||||
CT_KERNEL_LINUX_VERBOSE_LEVEL=0
|
||||
CT_KERNEL_LINUX_INSTALL_CHECK=y
|
||||
CT_ALL_KERNEL_CHOICES="BARE_METAL LINUX WINDOWS"
|
||||
|
||||
#
|
||||
@@ -334,6 +344,7 @@ CT_BINUTILS_PKG_NAME="binutils"
|
||||
CT_BINUTILS_SRC_RELEASE=y
|
||||
# CT_BINUTILS_SRC_DEVEL is not set
|
||||
CT_BINUTILS_PATCH_ORDER="global"
|
||||
# CT_BINUTILS_V_2_38 is not set
|
||||
# CT_BINUTILS_V_2_37 is not set
|
||||
# CT_BINUTILS_V_2_36 is not set
|
||||
# CT_BINUTILS_V_2_35 is not set
|
||||
@@ -356,19 +367,12 @@ CT_BINUTILS_2_30_or_later=y
|
||||
CT_BINUTILS_2_30_or_older=y
|
||||
CT_BINUTILS_later_than_2_27=y
|
||||
CT_BINUTILS_2_27_or_later=y
|
||||
CT_BINUTILS_later_than_2_25=y
|
||||
CT_BINUTILS_2_25_or_later=y
|
||||
CT_BINUTILS_REQUIRE_2_25_or_later=y
|
||||
CT_BINUTILS_later_than_2_23=y
|
||||
CT_BINUTILS_2_23_or_later=y
|
||||
CT_BINUTILS_later_than_2_26=y
|
||||
CT_BINUTILS_2_26_or_later=y
|
||||
|
||||
#
|
||||
# GNU binutils
|
||||
#
|
||||
CT_BINUTILS_HAS_HASH_STYLE=y
|
||||
CT_BINUTILS_HAS_GOLD=y
|
||||
CT_BINUTILS_HAS_PLUGINS=y
|
||||
CT_BINUTILS_HAS_PKGVERSION_BUGURL=y
|
||||
CT_BINUTILS_GOLD_SUPPORTS_ARCH=y
|
||||
CT_BINUTILS_GOLD_SUPPORT=y
|
||||
CT_BINUTILS_FORCE_LD_BFD_DEFAULT=y
|
||||
@@ -392,10 +396,9 @@ CT_ALL_BINUTILS_CHOICES="BINUTILS"
|
||||
# C-library
|
||||
#
|
||||
CT_LIBC_GLIBC=y
|
||||
# CT_LIBC_UCLIBC is not set
|
||||
# CT_LIBC_UCLIBC_NG is not set
|
||||
CT_LIBC="glibc"
|
||||
CT_LIBC_CHOICE_KSYM="GLIBC"
|
||||
CT_THREADS="nptl"
|
||||
CT_LIBC_GLIBC_SHOW=y
|
||||
|
||||
#
|
||||
@@ -410,6 +413,7 @@ CT_GLIBC_PKG_NAME="glibc"
|
||||
CT_GLIBC_SRC_RELEASE=y
|
||||
# CT_GLIBC_SRC_DEVEL is not set
|
||||
CT_GLIBC_PATCH_ORDER="global"
|
||||
# CT_GLIBC_V_2_35 is not set
|
||||
# CT_GLIBC_V_2_34 is not set
|
||||
# CT_GLIBC_V_2_33 is not set
|
||||
# CT_GLIBC_V_2_32 is not set
|
||||
@@ -424,15 +428,18 @@ CT_GLIBC_V_2_27=y
|
||||
# CT_GLIBC_V_2_23 is not set
|
||||
# CT_GLIBC_V_2_19 is not set
|
||||
# CT_GLIBC_V_2_17 is not set
|
||||
# CT_GLIBC_V_2_12_1 is not set
|
||||
CT_GLIBC_VERSION="2.27"
|
||||
CT_GLIBC_MIRRORS="$(CT_Mirrors GNU glibc)"
|
||||
CT_GLIBC_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
|
||||
CT_GLIBC_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
|
||||
CT_GLIBC_ARCHIVE_FORMATS=".tar.xz .tar.bz2 .tar.gz"
|
||||
CT_GLIBC_SIGNATURE_FORMAT="packed/.sig"
|
||||
CT_GLIBC_2_34_or_older=y
|
||||
CT_GLIBC_older_than_2_34=y
|
||||
CT_GLIBC_2_32_or_older=y
|
||||
CT_GLIBC_older_than_2_32=y
|
||||
CT_GLIBC_2_31_or_older=y
|
||||
CT_GLIBC_older_than_2_31=y
|
||||
CT_GLIBC_2_30_or_older=y
|
||||
CT_GLIBC_older_than_2_30=y
|
||||
CT_GLIBC_2_29_or_older=y
|
||||
@@ -460,6 +467,7 @@ CT_GLIBC_DEP_BINUTILS=y
|
||||
CT_GLIBC_DEP_GCC=y
|
||||
CT_GLIBC_DEP_PYTHON=y
|
||||
CT_GLIBC_SPARC_ALLOW_V7=y
|
||||
CT_THREADS="nptl"
|
||||
CT_GLIBC_BUILD_SSP=y
|
||||
CT_GLIBC_HAS_LIBIDN_ADDON=y
|
||||
# CT_GLIBC_USE_LIBIDN_ADDON is not set
|
||||
@@ -485,7 +493,7 @@ CT_GLIBC_SSP_DEFAULT=y
|
||||
# CT_GLIBC_SSP_STRONG is not set
|
||||
# CT_GLIBC_ENABLE_WERROR is not set
|
||||
# CT_GLIBC_ENABLE_COMMON_FLAG is not set
|
||||
CT_ALL_LIBC_CHOICES="AVR_LIBC BIONIC GLIBC MINGW_W64 MOXIEBOX MUSL NEWLIB NONE UCLIBC"
|
||||
CT_ALL_LIBC_CHOICES="AVR_LIBC GLIBC MINGW_W64 MOXIEBOX MUSL NEWLIB NONE UCLIBC_NG"
|
||||
CT_LIBC_SUPPORT_THREADS_ANY=y
|
||||
CT_LIBC_SUPPORT_THREADS_NATIVE=y
|
||||
|
||||
@@ -500,9 +508,7 @@ CT_LIBC_XLDD=y
|
||||
#
|
||||
# C compiler
|
||||
#
|
||||
CT_CC_CORE_PASSES_NEEDED=y
|
||||
CT_CC_CORE_PASS_1_NEEDED=y
|
||||
CT_CC_CORE_PASS_2_NEEDED=y
|
||||
CT_CC_CORE_NEEDED=y
|
||||
CT_CC_SUPPORT_CXX=y
|
||||
CT_CC_SUPPORT_FORTRAN=y
|
||||
CT_CC_SUPPORT_ADA=y
|
||||
@@ -520,12 +526,12 @@ CT_CC_GCC_SHOW=y
|
||||
CT_CC_GCC_PKG_KSYM="GCC"
|
||||
CT_GCC_DIR_NAME="gcc"
|
||||
CT_GCC_USE_GNU=y
|
||||
# CT_GCC_USE_ORACLE is not set
|
||||
CT_GCC_USE="GCC"
|
||||
CT_GCC_PKG_NAME="gcc"
|
||||
CT_GCC_SRC_RELEASE=y
|
||||
# CT_GCC_SRC_DEVEL is not set
|
||||
CT_GCC_PATCH_ORDER="global"
|
||||
# CT_GCC_V_12 is not set
|
||||
# CT_GCC_V_11 is not set
|
||||
# CT_GCC_V_10 is not set
|
||||
# CT_GCC_V_9 is not set
|
||||
@@ -540,6 +546,8 @@ CT_GCC_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
|
||||
CT_GCC_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
|
||||
CT_GCC_ARCHIVE_FORMATS=".tar.xz .tar.gz"
|
||||
CT_GCC_SIGNATURE_FORMAT=""
|
||||
CT_GCC_12_or_older=y
|
||||
CT_GCC_older_than_12=y
|
||||
CT_GCC_11_or_older=y
|
||||
CT_GCC_older_than_11=y
|
||||
CT_GCC_10_or_older=y
|
||||
@@ -557,8 +565,6 @@ CT_GCC_5_or_later=y
|
||||
CT_GCC_later_than_4_9=y
|
||||
CT_GCC_4_9_or_later=y
|
||||
CT_GCC_REQUIRE_4_9_or_later=y
|
||||
CT_GCC_later_than_4_8=y
|
||||
CT_GCC_4_8_or_later=y
|
||||
CT_CC_GCC_ENABLE_PLUGINS=y
|
||||
CT_CC_GCC_GOLD=y
|
||||
CT_CC_GCC_HAS_LIBMPX=y
|
||||
@@ -619,38 +625,27 @@ CT_CC_LANG_FORTRAN=y
|
||||
CT_DEBUG_GDB=y
|
||||
CT_DEBUG_GDB_PKG_KSYM="GDB"
|
||||
CT_GDB_DIR_NAME="gdb"
|
||||
CT_GDB_USE_GNU=y
|
||||
CT_GDB_USE="GDB"
|
||||
CT_GDB_PKG_NAME="gdb"
|
||||
CT_GDB_SRC_RELEASE=y
|
||||
# CT_GDB_SRC_DEVEL is not set
|
||||
CT_GDB_PATCH_ORDER="global"
|
||||
CT_GDB_V_10_2=y
|
||||
# CT_GDB_V_9_2 is not set
|
||||
CT_GDB_V_9=y
|
||||
# CT_GDB_V_8_3 is not set
|
||||
# CT_GDB_V_8_2 is not set
|
||||
# CT_GDB_V_8_1 is not set
|
||||
# CT_GDB_V_8_0 is not set
|
||||
# CT_GDB_V_7_12 is not set
|
||||
# CT_GDB_V_7_11 is not set
|
||||
CT_GDB_VERSION="10.2"
|
||||
CT_GDB_VERSION="9.2"
|
||||
CT_GDB_MIRRORS="$(CT_Mirrors GNU gdb) $(CT_Mirrors sourceware gdb/releases)"
|
||||
CT_GDB_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
|
||||
CT_GDB_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
|
||||
CT_GDB_ARCHIVE_FORMATS=".tar.xz .tar.gz"
|
||||
CT_GDB_SIGNATURE_FORMAT=""
|
||||
CT_GDB_10_2_or_later=y
|
||||
CT_GDB_10_2_or_older=y
|
||||
CT_GDB_12_or_older=y
|
||||
CT_GDB_older_than_12=y
|
||||
CT_GDB_11_or_older=y
|
||||
CT_GDB_older_than_11=y
|
||||
CT_GDB_10_or_older=y
|
||||
CT_GDB_older_than_10=y
|
||||
CT_GDB_REQUIRE_older_than_10=y
|
||||
CT_GDB_later_than_8_3=y
|
||||
CT_GDB_8_3_or_later=y
|
||||
CT_GDB_later_than_8_0=y
|
||||
CT_GDB_8_0_or_later=y
|
||||
CT_GDB_later_than_7_12=y
|
||||
CT_GDB_7_12_or_later=y
|
||||
CT_GDB_later_than_7_2=y
|
||||
CT_GDB_7_2_or_later=y
|
||||
CT_GDB_later_than_7_0=y
|
||||
CT_GDB_7_0_or_later=y
|
||||
CT_GDB_CROSS=y
|
||||
# CT_GDB_CROSS_STATIC is not set
|
||||
# CT_GDB_CROSS_SIM is not set
|
||||
@@ -661,11 +656,7 @@ CT_GDB_CROSS_EXTRA_CONFIG_ARRAY=""
|
||||
CT_GDB_GDBSERVER=y
|
||||
# CT_GDB_NATIVE_BUILD_IPA_LIB is not set
|
||||
# CT_GDB_NATIVE_STATIC_LIBSTDCXX is not set
|
||||
CT_GDB_HAS_PKGVERSION_BUGURL=y
|
||||
CT_GDB_HAS_PYTHON=y
|
||||
CT_GDB_INSTALL_GDBINIT=y
|
||||
CT_GDB_HAS_IPA_LIB=y
|
||||
CT_GDB_GDBSERVER_TOPLEVEL=y
|
||||
CT_GDB_DEP_NO_STD_FUTURE=y
|
||||
# CT_DEBUG_LTRACE is not set
|
||||
# CT_DEBUG_STRACE is not set
|
||||
CT_ALL_DEBUG_CHOICES="DUMA GDB LTRACE STRACE"
|
||||
@@ -684,15 +675,11 @@ CT_CLOOG_SRC_RELEASE=y
|
||||
CT_CLOOG_PATCH_ORDER="global"
|
||||
CT_CLOOG_V_0_18_4=y
|
||||
CT_CLOOG_VERSION="0.18.4"
|
||||
CT_CLOOG_MIRRORS="http://www.bastoul.net/cloog/pages/download ftp://gcc.gnu.org/pub/gcc/infrastructure"
|
||||
CT_CLOOG_MIRRORS="http://www.bastoul.net/cloog/pages/download"
|
||||
CT_CLOOG_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
|
||||
CT_CLOOG_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
|
||||
CT_CLOOG_ARCHIVE_FORMATS=".tar.gz"
|
||||
CT_CLOOG_SIGNATURE_FORMAT=""
|
||||
CT_CLOOG_0_18_4_or_later=y
|
||||
CT_CLOOG_0_18_4_or_older=y
|
||||
CT_CLOOG_later_than_0_18_1=y
|
||||
CT_CLOOG_0_18_1_or_later=y
|
||||
CT_COMP_LIBS_EXPAT=y
|
||||
CT_COMP_LIBS_EXPAT_PKG_KSYM="EXPAT"
|
||||
CT_EXPAT_DIR_NAME="expat"
|
||||
@@ -714,6 +701,7 @@ CT_GETTEXT_PKG_NAME="gettext"
|
||||
CT_GETTEXT_SRC_RELEASE=y
|
||||
# CT_GETTEXT_SRC_DEVEL is not set
|
||||
CT_GETTEXT_PATCH_ORDER="global"
|
||||
# CT_GETTEXT_V_0_21 is not set
|
||||
CT_GETTEXT_V_0_20_1=y
|
||||
# CT_GETTEXT_V_0_19_8_1 is not set
|
||||
CT_GETTEXT_VERSION="0.20.1"
|
||||
@@ -722,6 +710,8 @@ CT_GETTEXT_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
|
||||
CT_GETTEXT_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
|
||||
CT_GETTEXT_ARCHIVE_FORMATS=".tar.xz .tar.gz"
|
||||
CT_GETTEXT_SIGNATURE_FORMAT="packed/.sig"
|
||||
CT_GETTEXT_0_21_or_older=y
|
||||
CT_GETTEXT_older_than_0_21=y
|
||||
CT_COMP_LIBS_GMP=y
|
||||
CT_COMP_LIBS_GMP_PKG_KSYM="GMP"
|
||||
CT_GMP_DIR_NAME="gmp"
|
||||
@@ -737,11 +727,6 @@ CT_GMP_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
|
||||
CT_GMP_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
|
||||
CT_GMP_ARCHIVE_FORMATS=".tar.xz .tar.lz .tar.bz2"
|
||||
CT_GMP_SIGNATURE_FORMAT="packed/.sig"
|
||||
CT_GMP_later_than_5_1_0=y
|
||||
CT_GMP_5_1_0_or_later=y
|
||||
CT_GMP_later_than_5_0_0=y
|
||||
CT_GMP_5_0_0_or_later=y
|
||||
CT_GMP_REQUIRE_5_0_0_or_later=y
|
||||
CT_COMP_LIBS_ISL=y
|
||||
CT_COMP_LIBS_ISL_PKG_KSYM="ISL"
|
||||
CT_ISL_DIR_NAME="isl"
|
||||
@@ -750,6 +735,7 @@ CT_ISL_SRC_RELEASE=y
|
||||
# CT_ISL_SRC_DEVEL is not set
|
||||
CT_ISL_PATCH_ORDER="global"
|
||||
CT_ISL_V_0_24=y
|
||||
# CT_ISL_V_0_23 is not set
|
||||
# CT_ISL_V_0_22 is not set
|
||||
# CT_ISL_V_0_21 is not set
|
||||
# CT_ISL_V_0_20 is not set
|
||||
@@ -768,15 +754,6 @@ CT_ISL_later_than_0_18=y
|
||||
CT_ISL_0_18_or_later=y
|
||||
CT_ISL_later_than_0_15=y
|
||||
CT_ISL_0_15_or_later=y
|
||||
CT_ISL_REQUIRE_0_15_or_later=y
|
||||
CT_ISL_later_than_0_14=y
|
||||
CT_ISL_0_14_or_later=y
|
||||
CT_ISL_REQUIRE_0_14_or_later=y
|
||||
CT_ISL_later_than_0_13=y
|
||||
CT_ISL_0_13_or_later=y
|
||||
CT_ISL_later_than_0_12=y
|
||||
CT_ISL_0_12_or_later=y
|
||||
CT_ISL_REQUIRE_0_12_or_later=y
|
||||
# CT_COMP_LIBS_LIBELF is not set
|
||||
CT_COMP_LIBS_LIBICONV=y
|
||||
CT_COMP_LIBS_LIBICONV_PKG_KSYM="LIBICONV"
|
||||
@@ -803,7 +780,7 @@ CT_MPC_PATCH_ORDER="global"
|
||||
CT_MPC_V_1_2=y
|
||||
# CT_MPC_V_1_1 is not set
|
||||
# CT_MPC_V_1_0 is not set
|
||||
CT_MPC_VERSION="1.2.0"
|
||||
CT_MPC_VERSION="1.2.1"
|
||||
CT_MPC_MIRRORS="http://www.multiprecision.org/downloads $(CT_Mirrors GNU mpc)"
|
||||
CT_MPC_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
|
||||
CT_MPC_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
|
||||
@@ -829,9 +806,6 @@ CT_MPFR_ARCHIVE_FORMATS=".tar.xz .tar.bz2 .tar.gz .zip"
|
||||
CT_MPFR_SIGNATURE_FORMAT="packed/.asc"
|
||||
CT_MPFR_later_than_4_0_0=y
|
||||
CT_MPFR_4_0_0_or_later=y
|
||||
CT_MPFR_later_than_3_0_0=y
|
||||
CT_MPFR_3_0_0_or_later=y
|
||||
CT_MPFR_REQUIRE_3_0_0_or_later=y
|
||||
CT_COMP_LIBS_NCURSES=y
|
||||
CT_COMP_LIBS_NCURSES_PKG_KSYM="NCURSES"
|
||||
CT_NCURSES_DIR_NAME="ncurses"
|
||||
@@ -848,6 +822,7 @@ CT_NCURSES_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
|
||||
CT_NCURSES_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
|
||||
CT_NCURSES_ARCHIVE_FORMATS=".tar.gz"
|
||||
CT_NCURSES_SIGNATURE_FORMAT="packed/.sig"
|
||||
CT_NCURSES_NEW_ABI=y
|
||||
CT_NCURSES_HOST_CONFIG_ARGS=""
|
||||
CT_NCURSES_HOST_DISABLE_DB=y
|
||||
CT_NCURSES_HOST_FALLBACKS="linux,xterm,xterm-color,xterm-256color,vt100"
|
||||
@@ -861,9 +836,9 @@ CT_ZLIB_PKG_NAME="zlib"
|
||||
CT_ZLIB_SRC_RELEASE=y
|
||||
# CT_ZLIB_SRC_DEVEL is not set
|
||||
CT_ZLIB_PATCH_ORDER="global"
|
||||
CT_ZLIB_V_1_2_11=y
|
||||
CT_ZLIB_VERSION="1.2.11"
|
||||
CT_ZLIB_MIRRORS="http://downloads.sourceforge.net/project/libpng/zlib/${CT_ZLIB_VERSION} https://www.zlib.net/"
|
||||
CT_ZLIB_V_1_2_13=y
|
||||
CT_ZLIB_VERSION="1.2.13"
|
||||
CT_ZLIB_MIRRORS="https://github.com/madler/zlib/releases/download/v${CT_ZLIB_VERSION} https://www.zlib.net/"
|
||||
CT_ZLIB_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
|
||||
CT_ZLIB_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
|
||||
CT_ZLIB_ARCHIVE_FORMATS=".tar.xz .tar.gz"
|
||||
|
||||
@@ -0,0 +1,14 @@
|
||||
BASE_IMAGE_REGISTRY ?= docker.io
|
||||
BASE_IMAGE_PATH ?= dockcross
|
||||
BASE_IMAGE_NAME = base
|
||||
BASE_IMAGE_TAG = latest
|
||||
|
||||
OUTPUT_IMAGE_REGISTRY ?= docker.io
|
||||
OUTPUT_IMAGE_PATH ?= dockcross
|
||||
OUTPUT_IMAGE_NAME = linux-arm64-lts
|
||||
|
||||
# Extra tests (see CONTRIBUTING.md / Makefile "Extra tests" section)
|
||||
EXTRA_TESTS = stockfish ninja openssl C SQLite fmt cpython
|
||||
STOCKFISH_ARGS = ARCH=armv8
|
||||
OPENSSL_ARGS = linux-aarch64
|
||||
CPYTHON_ARGS = --host=aarch64-unknown-linux-gnu --target=aarch64-unknown-linux-gnu
|
||||
@@ -1,12 +1,16 @@
|
||||
FROM dockcross/base:latest
|
||||
ARG ORG=dockcross
|
||||
FROM ${ORG}/base:latest
|
||||
|
||||
ENV XCC_PREFIX /usr/xcc
|
||||
ENV CROSS_TRIPLE aarch64-linux-musl
|
||||
ENV CROSS_ROOT ${XCC_PREFIX}/${CROSS_TRIPLE}-cross
|
||||
ENV XCC_PREFIX=/usr/xcc
|
||||
ENV CROSS_TRIPLE=aarch64-linux-musl
|
||||
ENV CROSS_ROOT=${XCC_PREFIX}/${CROSS_TRIPLE}-cross
|
||||
|
||||
RUN mkdir -p ${XCC_PREFIX}
|
||||
RUN curl -LO http://musl.cc/${CROSS_TRIPLE}-cross.tgz
|
||||
RUN tar -C ${XCC_PREFIX} -xvf ${CROSS_TRIPLE}-cross.tgz
|
||||
# RUN curl --max-time 15 --retry 5 -LO https://musl.cc/${CROSS_TRIPLE}-cross.tgz
|
||||
# RUN tar -C ${XCC_PREFIX} -xvf ${CROSS_TRIPLE}-cross.tgz
|
||||
# Mirrored for reliability.
|
||||
RUN curl --max-time 15 --retry 5 -LO https://github.com/dockcross/dockcross/releases/download/toolchain-sources/${CROSS_TRIPLE}-cross-retrieved-2025-06-07.tgz
|
||||
RUN tar -C ${XCC_PREFIX} -xvf ${CROSS_TRIPLE}-cross-retrieved-2025-06-07.tgz
|
||||
|
||||
ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \
|
||||
AR=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ar \
|
||||
@@ -16,13 +20,19 @@ ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \
|
||||
LD=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ld \
|
||||
FC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gfortran
|
||||
|
||||
# Prepare Rust
|
||||
ENV PATH="/root/.cargo/bin/:$PATH"
|
||||
RUN rustup target add aarch64-unknown-linux-musl && cargo install --version 0.28.0 cbindgen
|
||||
COPY config.toml /root/.cargo/
|
||||
|
||||
# Prepare CMake
|
||||
COPY Toolchain.cmake ${CROSS_ROOT}/
|
||||
ENV CMAKE_TOOLCHAIN_FILE ${CROSS_ROOT}/Toolchain.cmake
|
||||
ENV CMAKE_TOOLCHAIN_FILE=${CROSS_ROOT}/Toolchain.cmake
|
||||
|
||||
# Linux kernel cross compilation variables
|
||||
ENV PATH ${PATH}:${CROSS_ROOT}/bin
|
||||
ENV CROSS_COMPILE ${CROSS_TRIPLE}-
|
||||
ENV ARCH arm64
|
||||
ENV PATH=${PATH}:${CROSS_ROOT}/bin
|
||||
ENV CROSS_COMPILE=${CROSS_TRIPLE}-
|
||||
ENV ARCH=arm64
|
||||
|
||||
# Build-time metadata as defined at http://label-schema.org
|
||||
ARG BUILD_DATE
|
||||
@@ -31,9 +41,9 @@ ARG VERSION=latest
|
||||
ARG VCS_REF
|
||||
ARG VCS_URL
|
||||
LABEL org.label-schema.build-date=$BUILD_DATE \
|
||||
org.label-schema.name=$IMAGE \
|
||||
org.label-schema.version=$VERSION \
|
||||
org.label-schema.vcs-ref=$VCS_REF \
|
||||
org.label-schema.vcs-url=$VCS_URL \
|
||||
org.label-schema.schema-version="1.0"
|
||||
ENV DEFAULT_DOCKCROSS_IMAGE ${IMAGE}:${VERSION}
|
||||
org.label-schema.name=$IMAGE \
|
||||
org.label-schema.version=$VERSION \
|
||||
org.label-schema.vcs-ref=$VCS_REF \
|
||||
org.label-schema.vcs-url=$VCS_URL \
|
||||
org.label-schema.schema-version="1.0"
|
||||
ENV DEFAULT_DOCKCROSS_IMAGE=${IMAGE}:${VERSION}
|
||||
|
||||
@@ -11,7 +11,7 @@ set(CMAKE_Fortran_COMPILER $ENV{FC})
|
||||
|
||||
set(CMAKE_CXX_FLAGS "-I ${cross_root}/include/")
|
||||
|
||||
set(CMAKE_FIND_ROOT_PATH ${cross_root} ${cross_root}/${cross_triple})
|
||||
list(APPEND CMAKE_FIND_ROOT_PATH ${CMAKE_PREFIX_PATH} ${cross_root} ${cross_root}/${cross_triple})
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY BOTH)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
|
||||
|
||||
@@ -0,0 +1,7 @@
|
||||
[build]
|
||||
target = "aarch64-unknown-linux-musl"
|
||||
|
||||
[target.aarch64-unknown-linux-musl]
|
||||
ar = "/usr/xcc/aarch64-linux-musl-cross/bin/aarch64-linux-musl-ar"
|
||||
linker = "/usr/xcc/aarch64-linux-musl-cross/bin/aarch64-linux-musl-ld"
|
||||
|
||||
@@ -0,0 +1,14 @@
|
||||
BASE_IMAGE_REGISTRY ?= docker.io
|
||||
BASE_IMAGE_PATH ?= dockcross
|
||||
BASE_IMAGE_NAME = base
|
||||
BASE_IMAGE_TAG = latest
|
||||
|
||||
OUTPUT_IMAGE_REGISTRY ?= docker.io
|
||||
OUTPUT_IMAGE_PATH ?= dockcross
|
||||
OUTPUT_IMAGE_NAME = linux-arm64-musl
|
||||
|
||||
# Extra tests (see CONTRIBUTING.md / Makefile "Extra tests" section)
|
||||
EXTRA_TESTS = stockfish ninja openssl C SQLite fmt cpython
|
||||
STOCKFISH_ARGS = ARCH=armv8
|
||||
OPENSSL_ARGS = linux-aarch64
|
||||
CPYTHON_ARGS = --host=aarch64-linux-musl --target=aarch64-linux-musl
|
||||
+15
-15
@@ -1,13 +1,13 @@
|
||||
FROM dockcross/base:latest
|
||||
ARG ORG=dockcross
|
||||
ARG HOST_ARCH=amd64
|
||||
FROM ${ORG}/base:latest-${HOST_ARCH}
|
||||
|
||||
LABEL maintainer="Matt McCormick matt.mccormick@kitware.com"
|
||||
LABEL maintainer="Matt McCormick matt@mmmccormick.com"
|
||||
|
||||
# This is for 64-bit ARM Linux machine
|
||||
|
||||
# Crosstool-ng version
|
||||
# We use a git commit while waiting for 1.25 to release (1.24 is several years old)
|
||||
# crosstool-ng master 2021-09-20
|
||||
ENV CT_VERSION 5f5a22f7a7307790ec571d0c5acf8790416964e6
|
||||
# Crosstool-ng version 2024-05-04
|
||||
ENV CT_VERSION crosstool-ng-1.27.0
|
||||
|
||||
#include "common.crosstool"
|
||||
|
||||
@@ -19,9 +19,9 @@ RUN apt-get update \
|
||||
&& apt-get clean --yes
|
||||
|
||||
# The CROSS_TRIPLE is a configured alias of the "aarch64-unknown-linux-gnu" target.
|
||||
ENV CROSS_TRIPLE aarch64-unknown-linux-gnu
|
||||
ENV CROSS_TRIPLE=aarch64-unknown-linux-gnu
|
||||
|
||||
ENV CROSS_ROOT ${XCC_PREFIX}/${CROSS_TRIPLE}
|
||||
ENV CROSS_ROOT=${XCC_PREFIX}/${CROSS_TRIPLE}
|
||||
ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \
|
||||
AR=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ar \
|
||||
CC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gcc \
|
||||
@@ -30,17 +30,17 @@ ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \
|
||||
LD=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ld \
|
||||
FC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gfortran
|
||||
|
||||
ENV QEMU_LD_PREFIX "${CROSS_ROOT}/${CROSS_TRIPLE}/sysroot"
|
||||
ENV QEMU_SET_ENV "LD_LIBRARY_PATH=${CROSS_ROOT}/lib:${QEMU_LD_PREFIX}"
|
||||
ENV QEMU_LD_PREFIX="${CROSS_ROOT}/${CROSS_TRIPLE}/sysroot"
|
||||
ENV QEMU_SET_ENV="LD_LIBRARY_PATH=${CROSS_ROOT}/lib:${QEMU_LD_PREFIX}"
|
||||
|
||||
COPY Toolchain.cmake ${CROSS_ROOT}/
|
||||
ENV CMAKE_TOOLCHAIN_FILE ${CROSS_ROOT}/Toolchain.cmake
|
||||
ENV CMAKE_TOOLCHAIN_FILE=${CROSS_ROOT}/Toolchain.cmake
|
||||
|
||||
ENV PKG_CONFIG_PATH /usr/lib/aarch64-linux-gnu/pkgconfig
|
||||
ENV PKG_CONFIG_PATH=/usr/lib/aarch64-linux-gnu/pkgconfig
|
||||
|
||||
# Linux kernel cross compilation variables
|
||||
ENV PATH ${PATH}:${CROSS_ROOT}/bin
|
||||
ENV CROSS_COMPILE ${CROSS_TRIPLE}-
|
||||
ENV ARCH arm64
|
||||
ENV PATH=${PATH}:${CROSS_ROOT}/bin
|
||||
ENV CROSS_COMPILE=${CROSS_TRIPLE}-
|
||||
ENV ARCH=arm64
|
||||
|
||||
#include "common.label-and-env"
|
||||
|
||||
@@ -11,10 +11,10 @@ set(CMAKE_Fortran_COMPILER $ENV{FC})
|
||||
|
||||
set(CMAKE_CXX_FLAGS "-I ${cross_root}/include/")
|
||||
|
||||
set(CMAKE_FIND_ROOT_PATH ${cross_root} ${cross_root}/${cross_triple})
|
||||
list(APPEND CMAKE_FIND_ROOT_PATH ${CMAKE_PREFIX_PATH} ${cross_root} ${cross_root}/${cross_triple})
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY BOTH)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
|
||||
set(CMAKE_SYSROOT ${cross_root}/${cross_triple}/sysroot)
|
||||
|
||||
set(CMAKE_CROSSCOMPILING_EMULATOR /usr/bin/qemu-aarch64)
|
||||
|
||||
+261
-133
@@ -1,15 +1,15 @@
|
||||
#
|
||||
# Automatically generated file; DO NOT EDIT.
|
||||
# crosstool-NG 1.24.0.450_5f5a22f Configuration
|
||||
# crosstool-NG 1.27.0 Configuration
|
||||
#
|
||||
CT_CONFIGURE_has_static_link=y
|
||||
CT_CONFIGURE_has_cxx11=y
|
||||
CT_CONFIGURE_has_wget=y
|
||||
CT_CONFIGURE_has_curl=y
|
||||
CT_CONFIGURE_has_meson=y
|
||||
CT_CONFIGURE_has_ninja=y
|
||||
CT_CONFIGURE_has_make_3_81_or_newer=y
|
||||
CT_CONFIGURE_has_make_4_0_or_newer=y
|
||||
CT_CONFIGURE_has_make_4_4_or_newer=y
|
||||
CT_CONFIGURE_has_libtool_2_4_or_newer=y
|
||||
CT_CONFIGURE_has_libtoolize_2_4_or_newer=y
|
||||
CT_CONFIGURE_has_autoconf_2_65_or_newer=y
|
||||
@@ -18,6 +18,7 @@ CT_CONFIGURE_has_automake_1_15_or_newer=y
|
||||
CT_CONFIGURE_has_gnu_m4_1_4_12_or_newer=y
|
||||
CT_CONFIGURE_has_python_3_4_or_newer=y
|
||||
CT_CONFIGURE_has_bison_2_7_or_newer=y
|
||||
CT_CONFIGURE_has_bison_3_0_4_or_newer=y
|
||||
CT_CONFIGURE_has_python=y
|
||||
CT_CONFIGURE_has_dtc=y
|
||||
CT_CONFIGURE_has_git=y
|
||||
@@ -26,11 +27,11 @@ CT_CONFIGURE_has_sha1sum=y
|
||||
CT_CONFIGURE_has_sha256sum=y
|
||||
CT_CONFIGURE_has_sha512sum=y
|
||||
CT_CONFIGURE_has_install_with_strip_program=y
|
||||
CT_VERSION="1.24.0.450_5f5a22f"
|
||||
CT_VERSION="1.27.0"
|
||||
CT_VCHECK=""
|
||||
CT_CONFIG_VERSION_ENV="3"
|
||||
CT_CONFIG_VERSION_CURRENT="3"
|
||||
CT_CONFIG_VERSION="3"
|
||||
CT_CONFIG_VERSION_ENV="4"
|
||||
CT_CONFIG_VERSION_CURRENT="4"
|
||||
CT_CONFIG_VERSION="4"
|
||||
CT_MODULES=y
|
||||
|
||||
#
|
||||
@@ -70,7 +71,7 @@ CT_DOWNLOAD_AGENT_WGET=y
|
||||
# CT_FORBID_DOWNLOAD is not set
|
||||
# CT_FORCE_DOWNLOAD is not set
|
||||
CT_CONNECT_TIMEOUT=10
|
||||
CT_DOWNLOAD_WGET_OPTIONS="--passive-ftp --tries=3 -nc --progress=dot:binary"
|
||||
CT_DOWNLOAD_WGET_OPTIONS="--tries=5 -nc --progress=dot:binary"
|
||||
# CT_ONLY_DOWNLOAD is not set
|
||||
# CT_USE_MIRROR is not set
|
||||
CT_VERIFY_DOWNLOAD_DIGEST=y
|
||||
@@ -119,7 +120,7 @@ CT_LOG_EXTRA=y
|
||||
# CT_LOG_DEBUG is not set
|
||||
CT_LOG_LEVEL_MAX="EXTRA"
|
||||
# CT_LOG_SEE_TOOLS_WARN is not set
|
||||
CT_LOG_PROGRESS_BAR=y
|
||||
CT_LOG_PROGRESS_BAR=n
|
||||
CT_LOG_TO_FILE=y
|
||||
CT_LOG_FILE_COMPRESS=y
|
||||
# end of Paths and misc options
|
||||
@@ -131,11 +132,13 @@ CT_LOG_FILE_COMPRESS=y
|
||||
# CT_ARCH_ARC is not set
|
||||
CT_ARCH_ARM=y
|
||||
# CT_ARCH_AVR is not set
|
||||
# CT_ARCH_BPF is not set
|
||||
# CT_ARCH_M68K is not set
|
||||
# CT_ARCH_MIPS is not set
|
||||
# CT_ARCH_NIOS2 is not set
|
||||
# CT_ARCH_POWERPC is not set
|
||||
# CT_ARCH_PRU is not set
|
||||
# CT_ARCH_RISCV is not set
|
||||
# CT_ARCH_S390 is not set
|
||||
# CT_ARCH_SH is not set
|
||||
# CT_ARCH_SPARC is not set
|
||||
@@ -144,14 +147,14 @@ CT_ARCH_ARM=y
|
||||
CT_ARCH="arm"
|
||||
CT_ARCH_CHOICE_KSYM="ARM"
|
||||
CT_ARCH_CPU=""
|
||||
CT_ARCH_TUNE=""
|
||||
CT_ARCH_TUNE="cortex-a72"
|
||||
CT_ARCH_ARM_SHOW=y
|
||||
|
||||
#
|
||||
# Options for arm
|
||||
#
|
||||
CT_ARCH_ARM_PKG_KSYM=""
|
||||
CT_ALL_ARCH_CHOICES="ALPHA ARC ARM AVR C6X M68K MICROBLAZE MIPS MOXIE MSP430 NIOS2 POWERPC PRU RISCV S390 SH SPARC X86 XTENSA"
|
||||
CT_ALL_ARCH_CHOICES="ALPHA ARC ARM AVR BPF C6X LM32 LOONGARCH M68K MICROBLAZE MIPS MOXIE MSP430 NIOS2 OPENRISC PARISC POWERPC PRU RISCV S390 SH SPARC TRICORE X86 XTENSA"
|
||||
CT_ARCH_SUFFIX=""
|
||||
# CT_OMIT_TARGET_VENDOR is not set
|
||||
|
||||
@@ -164,6 +167,7 @@ CT_ARCH_SUPPORTS_BOTH_MMU=y
|
||||
CT_ARCH_DEFAULT_HAS_MMU=y
|
||||
CT_ARCH_USE_MMU=y
|
||||
CT_ARCH_SUPPORTS_FLAT_FORMAT=y
|
||||
CT_ARCH_SUPPORTS_LIBSANITIZER=y
|
||||
CT_ARCH_SUPPORTS_EITHER_ENDIAN=y
|
||||
CT_ARCH_DEFAULT_LE=y
|
||||
# CT_ARCH_BE is not set
|
||||
@@ -248,14 +252,30 @@ CT_KERNEL_LINUX_SHOW=y
|
||||
#
|
||||
CT_KERNEL_LINUX_PKG_KSYM="LINUX"
|
||||
CT_LINUX_DIR_NAME="linux"
|
||||
CT_LINUX_USE_WWW_KERNEL_ORG=y
|
||||
# CT_LINUX_USE_ORACLE is not set
|
||||
CT_LINUX_USE="LINUX"
|
||||
CT_LINUX_PKG_NAME="linux"
|
||||
CT_LINUX_SRC_RELEASE=y
|
||||
# CT_LINUX_SRC_DEVEL is not set
|
||||
CT_LINUX_PATCH_ORDER="global"
|
||||
CT_LINUX_V_5_14=y
|
||||
# CT_LINUX_V_6_13 is not set
|
||||
# CT_LINUX_V_6_12 is not set
|
||||
# CT_LINUX_V_6_11 is not set
|
||||
# CT_LINUX_V_6_10 is not set
|
||||
# CT_LINUX_V_6_9 is not set
|
||||
# CT_LINUX_V_6_8 is not set
|
||||
# CT_LINUX_V_6_7 is not set
|
||||
# CT_LINUX_V_6_6 is not set
|
||||
# CT_LINUX_V_6_5 is not set
|
||||
# CT_LINUX_V_6_4 is not set
|
||||
# CT_LINUX_V_6_3 is not set
|
||||
# CT_LINUX_V_6_2 is not set
|
||||
CT_LINUX_V_6_1=y
|
||||
# CT_LINUX_V_6_0 is not set
|
||||
# CT_LINUX_V_5_19 is not set
|
||||
# CT_LINUX_V_5_18 is not set
|
||||
# CT_LINUX_V_5_17 is not set
|
||||
# CT_LINUX_V_5_16 is not set
|
||||
# CT_LINUX_V_5_15 is not set
|
||||
# CT_LINUX_V_5_14 is not set
|
||||
# CT_LINUX_V_5_13 is not set
|
||||
# CT_LINUX_V_5_12 is not set
|
||||
# CT_LINUX_V_5_11 is not set
|
||||
@@ -286,12 +306,20 @@ CT_LINUX_V_5_14=y
|
||||
# CT_LINUX_V_3_13 is not set
|
||||
# CT_LINUX_V_3_12 is not set
|
||||
# CT_LINUX_V_3_10 is not set
|
||||
CT_LINUX_VERSION="5.14.1"
|
||||
CT_LINUX_VERSION="6.1.127"
|
||||
CT_LINUX_MIRRORS="$(CT_Mirrors kernel.org linux ${CT_LINUX_VERSION})"
|
||||
CT_LINUX_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
|
||||
CT_LINUX_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
|
||||
CT_LINUX_ARCHIVE_FORMATS=".tar.xz .tar.gz"
|
||||
CT_LINUX_SIGNATURE_FORMAT="unpacked/.sign"
|
||||
CT_LINUX_later_than_5_19=y
|
||||
CT_LINUX_5_19_or_later=y
|
||||
CT_LINUX_later_than_5_12=y
|
||||
CT_LINUX_5_12_or_later=y
|
||||
CT_LINUX_later_than_5_5=y
|
||||
CT_LINUX_5_5_or_later=y
|
||||
CT_LINUX_later_than_5_3=y
|
||||
CT_LINUX_5_3_or_later=y
|
||||
CT_LINUX_later_than_4_8=y
|
||||
CT_LINUX_4_8_or_later=y
|
||||
CT_LINUX_later_than_3_7=y
|
||||
@@ -300,11 +328,12 @@ CT_LINUX_REQUIRE_3_7_or_later=y
|
||||
CT_LINUX_later_than_3_2=y
|
||||
CT_LINUX_3_2_or_later=y
|
||||
CT_LINUX_REQUIRE_3_2_or_later=y
|
||||
CT_KERNEL_has_rsync=y
|
||||
CT_KERNEL_DEP_RSYNC=y
|
||||
CT_KERNEL_LINUX_VERBOSITY_0=y
|
||||
# CT_KERNEL_LINUX_VERBOSITY_1 is not set
|
||||
# CT_KERNEL_LINUX_VERBOSITY_2 is not set
|
||||
CT_KERNEL_LINUX_VERBOSE_LEVEL=0
|
||||
CT_KERNEL_LINUX_INSTALL_CHECK=y
|
||||
CT_ALL_KERNEL_CHOICES="BARE_METAL LINUX WINDOWS"
|
||||
|
||||
#
|
||||
@@ -334,6 +363,12 @@ CT_BINUTILS_PKG_NAME="binutils"
|
||||
CT_BINUTILS_SRC_RELEASE=y
|
||||
# CT_BINUTILS_SRC_DEVEL is not set
|
||||
CT_BINUTILS_PATCH_ORDER="global"
|
||||
# CT_BINUTILS_V_2_43 is not set
|
||||
# CT_BINUTILS_V_2_42 is not set
|
||||
# CT_BINUTILS_V_2_41 is not set
|
||||
# CT_BINUTILS_V_2_40 is not set
|
||||
# CT_BINUTILS_V_2_39 is not set
|
||||
# CT_BINUTILS_V_2_38 is not set
|
||||
CT_BINUTILS_V_2_37=y
|
||||
# CT_BINUTILS_V_2_36 is not set
|
||||
# CT_BINUTILS_V_2_35 is not set
|
||||
@@ -352,23 +387,20 @@ CT_BINUTILS_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
|
||||
CT_BINUTILS_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
|
||||
CT_BINUTILS_ARCHIVE_FORMATS=".tar.xz .tar.bz2 .tar.gz"
|
||||
CT_BINUTILS_SIGNATURE_FORMAT="packed/.sig"
|
||||
CT_BINUTILS_2_41_or_older=y
|
||||
CT_BINUTILS_older_than_2_41=y
|
||||
CT_BINUTILS_2_39_or_older=y
|
||||
CT_BINUTILS_older_than_2_39=y
|
||||
CT_BINUTILS_later_than_2_30=y
|
||||
CT_BINUTILS_2_30_or_later=y
|
||||
CT_BINUTILS_later_than_2_27=y
|
||||
CT_BINUTILS_2_27_or_later=y
|
||||
CT_BINUTILS_later_than_2_25=y
|
||||
CT_BINUTILS_2_25_or_later=y
|
||||
CT_BINUTILS_REQUIRE_2_25_or_later=y
|
||||
CT_BINUTILS_later_than_2_23=y
|
||||
CT_BINUTILS_2_23_or_later=y
|
||||
CT_BINUTILS_later_than_2_26=y
|
||||
CT_BINUTILS_2_26_or_later=y
|
||||
|
||||
#
|
||||
# GNU binutils
|
||||
#
|
||||
CT_BINUTILS_HAS_HASH_STYLE=y
|
||||
CT_BINUTILS_HAS_GOLD=y
|
||||
CT_BINUTILS_HAS_PLUGINS=y
|
||||
CT_BINUTILS_HAS_PKGVERSION_BUGURL=y
|
||||
CT_BINUTILS_GOLD_SUPPORTS_ARCH=y
|
||||
CT_BINUTILS_GOLD_SUPPORT=y
|
||||
CT_BINUTILS_FORCE_LD_BFD_DEFAULT=y
|
||||
@@ -392,10 +424,10 @@ CT_ALL_BINUTILS_CHOICES="BINUTILS"
|
||||
# C-library
|
||||
#
|
||||
CT_LIBC_GLIBC=y
|
||||
# CT_LIBC_UCLIBC is not set
|
||||
# CT_LIBC_MUSL is not set
|
||||
# CT_LIBC_UCLIBC_NG is not set
|
||||
CT_LIBC="glibc"
|
||||
CT_LIBC_CHOICE_KSYM="GLIBC"
|
||||
CT_THREADS="nptl"
|
||||
CT_LIBC_GLIBC_SHOW=y
|
||||
|
||||
#
|
||||
@@ -410,7 +442,14 @@ CT_GLIBC_PKG_NAME="glibc"
|
||||
CT_GLIBC_SRC_RELEASE=y
|
||||
# CT_GLIBC_SRC_DEVEL is not set
|
||||
CT_GLIBC_PATCH_ORDER="global"
|
||||
CT_GLIBC_V_2_34=y
|
||||
# CT_GLIBC_V_2_41 is not set
|
||||
# CT_GLIBC_V_2_40 is not set
|
||||
# CT_GLIBC_V_2_39 is not set
|
||||
# CT_GLIBC_V_2_38 is not set
|
||||
# CT_GLIBC_V_2_37 is not set
|
||||
CT_GLIBC_V_2_36=y
|
||||
# CT_GLIBC_V_2_35 is not set
|
||||
# CT_GLIBC_V_2_34 is not set
|
||||
# CT_GLIBC_V_2_33 is not set
|
||||
# CT_GLIBC_V_2_32 is not set
|
||||
# CT_GLIBC_V_2_31 is not set
|
||||
@@ -424,15 +463,26 @@ CT_GLIBC_V_2_34=y
|
||||
# CT_GLIBC_V_2_23 is not set
|
||||
# CT_GLIBC_V_2_19 is not set
|
||||
# CT_GLIBC_V_2_17 is not set
|
||||
# CT_GLIBC_V_2_12_1 is not set
|
||||
CT_GLIBC_VERSION="2.34"
|
||||
CT_GLIBC_VERSION="2.36"
|
||||
CT_GLIBC_MIRRORS="$(CT_Mirrors GNU glibc)"
|
||||
CT_GLIBC_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
|
||||
CT_GLIBC_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
|
||||
CT_GLIBC_ARCHIVE_FORMATS=".tar.xz .tar.bz2 .tar.gz"
|
||||
CT_GLIBC_SIGNATURE_FORMAT="packed/.sig"
|
||||
CT_GLIBC_2_41_or_older=y
|
||||
CT_GLIBC_older_than_2_41=y
|
||||
CT_GLIBC_2_38_or_older=y
|
||||
CT_GLIBC_older_than_2_38=y
|
||||
CT_GLIBC_2_37_or_older=y
|
||||
CT_GLIBC_older_than_2_37=y
|
||||
CT_GLIBC_2_36_or_later=y
|
||||
CT_GLIBC_2_36_or_older=y
|
||||
CT_GLIBC_later_than_2_34=y
|
||||
CT_GLIBC_2_34_or_later=y
|
||||
CT_GLIBC_later_than_2_32=y
|
||||
CT_GLIBC_2_32_or_later=y
|
||||
CT_GLIBC_later_than_2_31=y
|
||||
CT_GLIBC_2_31_or_later=y
|
||||
CT_GLIBC_later_than_2_30=y
|
||||
CT_GLIBC_2_30_or_later=y
|
||||
CT_GLIBC_later_than_2_29=y
|
||||
@@ -459,30 +509,31 @@ CT_GLIBC_DEP_KERNEL_HEADERS_VERSION=y
|
||||
CT_GLIBC_DEP_BINUTILS=y
|
||||
CT_GLIBC_DEP_GCC=y
|
||||
CT_GLIBC_DEP_PYTHON=y
|
||||
CT_THREADS="nptl"
|
||||
CT_GLIBC_BUILD_SSP=y
|
||||
CT_GLIBC_HAS_LIBIDN_ADDON=y
|
||||
# CT_GLIBC_USE_LIBIDN_ADDON is not set
|
||||
CT_GLIBC_USE_LIBIDN_ADDON=y
|
||||
CT_GLIBC_NO_SPARC_V8=y
|
||||
CT_GLIBC_EXTRA_CONFIG_ARRAY=""
|
||||
CT_GLIBC_CONFIGPARMS=""
|
||||
CT_GLIBC_ENABLE_DEBUG=y
|
||||
CT_GLIBC_EXTRA_CFLAGS=""
|
||||
# CT_GLIBC_DISABLE_VERSIONING is not set
|
||||
CT_GLIBC_OLDEST_ABI=""
|
||||
CT_GLIBC_FORCE_UNWIND=y
|
||||
# CT_GLIBC_LOCALES is not set
|
||||
# CT_GLIBC_KERNEL_VERSION_NONE is not set
|
||||
# CT_GLIBC_KERNEL_VERSION_AS_HEADERS is not set
|
||||
CT_GLIBC_KERNEL_VERSION_CHOSEN=y
|
||||
CT_GLIBC_MIN_KERNEL_VERSION="5.4.0"
|
||||
CT_GLIBC_MIN_KERNEL="5.4.0"
|
||||
CT_GLIBC_KERNEL_VERSION_AS_HEADERS=y
|
||||
# CT_GLIBC_KERNEL_VERSION_CHOSEN is not set
|
||||
CT_GLIBC_MIN_KERNEL="6.1.127"
|
||||
CT_GLIBC_SSP_DEFAULT=y
|
||||
# CT_GLIBC_SSP_NO is not set
|
||||
# CT_GLIBC_SSP_YES is not set
|
||||
# CT_GLIBC_SSP_ALL is not set
|
||||
# CT_GLIBC_SSP_STRONG is not set
|
||||
# CT_GLIBC_ENABLE_WERROR is not set
|
||||
CT_GLIBC_ENABLE_WERROR=y
|
||||
# CT_GLIBC_ENABLE_COMMON_FLAG is not set
|
||||
CT_ALL_LIBC_CHOICES="AVR_LIBC BIONIC GLIBC MINGW_W64 MOXIEBOX MUSL NEWLIB NONE UCLIBC"
|
||||
CT_ALL_LIBC_CHOICES="AVR_LIBC GLIBC MINGW_W64 MOXIEBOX MUSL NEWLIB NONE PICOLIBC UCLIBC_NG"
|
||||
CT_LIBC_SUPPORT_THREADS_ANY=y
|
||||
CT_LIBC_SUPPORT_THREADS_NATIVE=y
|
||||
|
||||
@@ -497,12 +548,12 @@ CT_LIBC_XLDD=y
|
||||
#
|
||||
# C compiler
|
||||
#
|
||||
CT_CC_CORE_PASSES_NEEDED=y
|
||||
CT_CC_CORE_PASS_1_NEEDED=y
|
||||
CT_CC_CORE_PASS_2_NEEDED=y
|
||||
CT_CC_CORE_NEEDED=y
|
||||
CT_CC_SUPPORT_CXX=y
|
||||
CT_CC_SUPPORT_FORTRAN=y
|
||||
CT_CC_SUPPORT_ADA=y
|
||||
CT_CC_SUPPORT_D=y
|
||||
CT_CC_SUPPORT_JIT=y
|
||||
CT_CC_SUPPORT_OBJC=y
|
||||
CT_CC_SUPPORT_OBJCXX=y
|
||||
CT_CC_SUPPORT_GOLANG=y
|
||||
@@ -523,18 +574,27 @@ CT_GCC_PKG_NAME="gcc"
|
||||
CT_GCC_SRC_RELEASE=y
|
||||
# CT_GCC_SRC_DEVEL is not set
|
||||
CT_GCC_PATCH_ORDER="global"
|
||||
CT_GCC_V_11=y
|
||||
# CT_GCC_V_14 is not set
|
||||
# CT_GCC_V_13 is not set
|
||||
CT_GCC_V_12=y
|
||||
# CT_GCC_V_11 is not set
|
||||
# CT_GCC_V_10 is not set
|
||||
# CT_GCC_V_9 is not set
|
||||
# CT_GCC_V_8 is not set
|
||||
# CT_GCC_V_7 is not set
|
||||
# CT_GCC_V_6 is not set
|
||||
CT_GCC_VERSION="11.2.0"
|
||||
CT_GCC_VERSION="12.4.0"
|
||||
CT_GCC_MIRRORS="$(CT_Mirrors GNU gcc/gcc-${CT_GCC_VERSION}) $(CT_Mirrors sourceware gcc/releases/gcc-${CT_GCC_VERSION})"
|
||||
CT_GCC_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
|
||||
CT_GCC_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
|
||||
CT_GCC_ARCHIVE_FORMATS=".tar.xz .tar.gz"
|
||||
CT_GCC_SIGNATURE_FORMAT=""
|
||||
CT_GCC_14_or_older=y
|
||||
CT_GCC_older_than_14=y
|
||||
CT_GCC_13_or_older=y
|
||||
CT_GCC_older_than_13=y
|
||||
CT_GCC_later_than_12=y
|
||||
CT_GCC_12_or_later=y
|
||||
CT_GCC_later_than_11=y
|
||||
CT_GCC_11_or_later=y
|
||||
CT_GCC_later_than_10=y
|
||||
@@ -554,8 +614,6 @@ CT_GCC_REQUIRE_5_or_later=y
|
||||
CT_GCC_later_than_4_9=y
|
||||
CT_GCC_4_9_or_later=y
|
||||
CT_GCC_REQUIRE_4_9_or_later=y
|
||||
CT_GCC_later_than_4_8=y
|
||||
CT_GCC_4_8_or_later=y
|
||||
CT_CC_GCC_ENABLE_PLUGINS=y
|
||||
CT_CC_GCC_GOLD=y
|
||||
CT_CC_GCC_HAS_LIBMPX=y
|
||||
@@ -563,7 +621,7 @@ CT_CC_GCC_ENABLE_CXX_FLAGS=""
|
||||
CT_CC_GCC_CORE_EXTRA_CONFIG_ARRAY=""
|
||||
CT_CC_GCC_EXTRA_CONFIG_ARRAY=""
|
||||
CT_CC_GCC_STATIC_LIBSTDCXX=y
|
||||
CT_CC_GCC_SYSTEM_ZLIB=y
|
||||
# CT_CC_GCC_SYSTEM_ZLIB is not set
|
||||
CT_CC_GCC_CONFIG_TLS=m
|
||||
|
||||
#
|
||||
@@ -571,17 +629,21 @@ CT_CC_GCC_CONFIG_TLS=m
|
||||
#
|
||||
CT_CC_GCC_USE_GRAPHITE=y
|
||||
CT_CC_GCC_USE_LTO=y
|
||||
CT_CC_GCC_LTO_ZSTD=m
|
||||
CT_CC_GCC_LTO_ZSTD=y
|
||||
|
||||
#
|
||||
# Settings for libraries running on target
|
||||
#
|
||||
# CT_CC_GCC_ENABLE_DEFAULT_PIE is not set
|
||||
CT_CC_GCC_ENABLE_TARGET_OPTSPACE=y
|
||||
CT_CC_GCC_LIBSTDCXX=y
|
||||
CT_CC_GCC_LIBSTDCXX_HOSTED_DISABLE=y
|
||||
CT_CC_GCC_LIBMUDFLAP=y
|
||||
CT_CC_GCC_LIBGOMP=y
|
||||
CT_CC_GCC_LIBSSP=m
|
||||
CT_CC_GCC_LIBQUADMATH=y
|
||||
# CT_CC_GCC_LIBQUADMATH is not set
|
||||
CT_CC_GCC_LIBSANITIZER=y
|
||||
CT_CC_GCC_LIBSTDCXX_VERBOSE=m
|
||||
|
||||
#
|
||||
# Misc. obscure options.
|
||||
@@ -611,6 +673,38 @@ CT_CC_LANG_CXX=y
|
||||
CT_CC_LANG_FORTRAN=y
|
||||
# end of C compiler
|
||||
|
||||
#
|
||||
# Linkers
|
||||
#
|
||||
|
||||
#
|
||||
# BFD enabled in binutils
|
||||
#
|
||||
|
||||
#
|
||||
# GOLD enabled in binutils
|
||||
#
|
||||
CT_LINKER_MOLD=y
|
||||
CT_LINKER_MOLD_PKG_KSYM="MOLD"
|
||||
CT_MOLD_DIR_NAME="mold"
|
||||
CT_MOLD_PKG_NAME="mold"
|
||||
CT_MOLD_SRC_RELEASE=y
|
||||
# CT_MOLD_SRC_DEVEL is not set
|
||||
CT_MOLD_PATCH_ORDER="global"
|
||||
CT_MOLD_V_2_36_0=y
|
||||
# CT_MOLD_V_2_33_0 is not set
|
||||
# CT_MOLD_V_2_32_0 is not set
|
||||
# CT_MOLD_V_2_31_0 is not set
|
||||
CT_MOLD_VERSION="2.36.0"
|
||||
CT_MOLD_MIRRORS="https://github.com/rui314/mold/archive/refs/tags"
|
||||
CT_MOLD_ARCHIVE_FILENAME="v@{version}"
|
||||
CT_MOLD_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
|
||||
CT_MOLD_ARCHIVE_FORMATS=".tar.gz"
|
||||
CT_MOLD_SIGNATURE_FORMAT=""
|
||||
CT_LINKER_MOLD_has_cmake=y
|
||||
CT_ALL_LINKER_CHOICES="MOLD"
|
||||
# end of Linkers
|
||||
|
||||
#
|
||||
# Debug facilities
|
||||
#
|
||||
@@ -618,54 +712,68 @@ CT_CC_LANG_FORTRAN=y
|
||||
CT_DEBUG_GDB=y
|
||||
CT_DEBUG_GDB_PKG_KSYM="GDB"
|
||||
CT_GDB_DIR_NAME="gdb"
|
||||
CT_GDB_USE_GNU=y
|
||||
CT_GDB_USE="GDB"
|
||||
CT_GDB_PKG_NAME="gdb"
|
||||
CT_GDB_SRC_RELEASE=y
|
||||
# CT_GDB_SRC_DEVEL is not set
|
||||
CT_GDB_PATCH_ORDER="global"
|
||||
CT_GDB_V_10_2=y
|
||||
# CT_GDB_V_9_2 is not set
|
||||
CT_GDB_V_16=y
|
||||
# CT_GDB_V_15 is not set
|
||||
# CT_GDB_V_14 is not set
|
||||
# CT_GDB_V_13 is not set
|
||||
# CT_GDB_V_12 is not set
|
||||
# CT_GDB_V_11 is not set
|
||||
# CT_GDB_V_10 is not set
|
||||
# CT_GDB_V_9 is not set
|
||||
# CT_GDB_V_8_3 is not set
|
||||
# CT_GDB_V_8_2 is not set
|
||||
# CT_GDB_V_8_1 is not set
|
||||
# CT_GDB_V_8_0 is not set
|
||||
# CT_GDB_V_7_12 is not set
|
||||
# CT_GDB_V_7_11 is not set
|
||||
CT_GDB_VERSION="10.2"
|
||||
CT_GDB_VERSION="16.2"
|
||||
CT_GDB_MIRRORS="$(CT_Mirrors GNU gdb) $(CT_Mirrors sourceware gdb/releases)"
|
||||
CT_GDB_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
|
||||
CT_GDB_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
|
||||
CT_GDB_ARCHIVE_FORMATS=".tar.xz .tar.gz"
|
||||
CT_GDB_SIGNATURE_FORMAT=""
|
||||
CT_GDB_10_2_or_later=y
|
||||
CT_GDB_10_2_or_older=y
|
||||
CT_GDB_later_than_16=y
|
||||
CT_GDB_16_or_later=y
|
||||
CT_GDB_later_than_15=y
|
||||
CT_GDB_15_or_later=y
|
||||
CT_GDB_later_than_14=y
|
||||
CT_GDB_14_or_later=y
|
||||
CT_GDB_later_than_13=y
|
||||
CT_GDB_13_or_later=y
|
||||
CT_GDB_later_than_12=y
|
||||
CT_GDB_12_or_later=y
|
||||
CT_GDB_later_than_11=y
|
||||
CT_GDB_11_or_later=y
|
||||
CT_GDB_later_than_10=y
|
||||
CT_GDB_10_or_later=y
|
||||
CT_GDB_later_than_8_3=y
|
||||
CT_GDB_8_3_or_later=y
|
||||
CT_GDB_later_than_8_0=y
|
||||
CT_GDB_8_0_or_later=y
|
||||
CT_GDB_later_than_7_12=y
|
||||
CT_GDB_7_12_or_later=y
|
||||
CT_GDB_later_than_7_2=y
|
||||
CT_GDB_7_2_or_later=y
|
||||
CT_GDB_later_than_7_0=y
|
||||
CT_GDB_7_0_or_later=y
|
||||
CT_GDB_CROSS=y
|
||||
# CT_GDB_CROSS_STATIC is not set
|
||||
# CT_GDB_CROSS_SIM is not set
|
||||
# CT_GDB_CROSS_PYTHON is not set
|
||||
CT_GDB_CROSS_PYTHON=y
|
||||
CT_GDB_CROSS_PYTHON_BINARY=""
|
||||
CT_GDB_CROSS_EXTRA_CONFIG_ARRAY=""
|
||||
# CT_GDB_NATIVE is not set
|
||||
CT_GDB_GDBSERVER=y
|
||||
# CT_GDB_NATIVE_BUILD_IPA_LIB is not set
|
||||
# CT_GDB_NATIVE_STATIC_LIBSTDCXX is not set
|
||||
CT_GDB_HAS_PKGVERSION_BUGURL=y
|
||||
CT_GDB_HAS_PYTHON=y
|
||||
CT_GDB_INSTALL_GDBINIT=y
|
||||
CT_GDB_HAS_IPA_LIB=y
|
||||
CT_GDB_GDBSERVER_TOPLEVEL=y
|
||||
CT_GDB_CC_LD_LIBTOOL=y
|
||||
# CT_DEBUG_LTRACE is not set
|
||||
# CT_DEBUG_STRACE is not set
|
||||
CT_DEBUG_STRACE=y
|
||||
CT_DEBUG_STRACE_PKG_KSYM="STRACE"
|
||||
CT_STRACE_DIR_NAME="strace"
|
||||
CT_STRACE_PKG_NAME="strace"
|
||||
CT_STRACE_SRC_RELEASE=y
|
||||
# CT_STRACE_SRC_DEVEL is not set
|
||||
CT_STRACE_PATCH_ORDER="global"
|
||||
CT_STRACE_V_6_13=y
|
||||
CT_STRACE_VERSION="6.13"
|
||||
CT_STRACE_MIRRORS="https://strace.io/files/${CT_STRACE_VERSION} https://github.com/strace/strace/releases/download/v${CT_STRACE_VERSION}"
|
||||
CT_STRACE_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
|
||||
CT_STRACE_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
|
||||
CT_STRACE_ARCHIVE_FORMATS=".tar.xz"
|
||||
CT_STRACE_SIGNATURE_FORMAT=""
|
||||
CT_ALL_DEBUG_CHOICES="DUMA GDB LTRACE STRACE"
|
||||
# end of Debug facilities
|
||||
|
||||
@@ -673,24 +781,7 @@ CT_ALL_DEBUG_CHOICES="DUMA GDB LTRACE STRACE"
|
||||
# Companion libraries
|
||||
#
|
||||
# CT_COMPLIBS_CHECK is not set
|
||||
CT_COMP_LIBS_CLOOG=y
|
||||
CT_COMP_LIBS_CLOOG_PKG_KSYM="CLOOG"
|
||||
CT_CLOOG_DIR_NAME="cloog"
|
||||
CT_CLOOG_PKG_NAME="cloog"
|
||||
CT_CLOOG_SRC_RELEASE=y
|
||||
# CT_CLOOG_SRC_DEVEL is not set
|
||||
CT_CLOOG_PATCH_ORDER="global"
|
||||
CT_CLOOG_V_0_18_4=y
|
||||
CT_CLOOG_VERSION="0.18.4"
|
||||
CT_CLOOG_MIRRORS="http://www.bastoul.net/cloog/pages/download ftp://gcc.gnu.org/pub/gcc/infrastructure"
|
||||
CT_CLOOG_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
|
||||
CT_CLOOG_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
|
||||
CT_CLOOG_ARCHIVE_FORMATS=".tar.gz"
|
||||
CT_CLOOG_SIGNATURE_FORMAT=""
|
||||
CT_CLOOG_0_18_4_or_later=y
|
||||
CT_CLOOG_0_18_4_or_older=y
|
||||
CT_CLOOG_later_than_0_18_1=y
|
||||
CT_CLOOG_0_18_1_or_later=y
|
||||
# CT_COMP_LIBS_CLOOG is not set
|
||||
CT_COMP_LIBS_EXPAT=y
|
||||
CT_COMP_LIBS_EXPAT_PKG_KSYM="EXPAT"
|
||||
CT_EXPAT_DIR_NAME="expat"
|
||||
@@ -698,8 +789,8 @@ CT_EXPAT_PKG_NAME="expat"
|
||||
CT_EXPAT_SRC_RELEASE=y
|
||||
# CT_EXPAT_SRC_DEVEL is not set
|
||||
CT_EXPAT_PATCH_ORDER="global"
|
||||
CT_EXPAT_V_2_4=y
|
||||
CT_EXPAT_VERSION="2.4.1"
|
||||
CT_EXPAT_V_2_5=y
|
||||
CT_EXPAT_VERSION="2.5.0"
|
||||
CT_EXPAT_MIRRORS="http://downloads.sourceforge.net/project/expat/expat/${CT_EXPAT_VERSION} https://github.com/libexpat/libexpat/releases/download/R_${CT_EXPAT_VERSION//./_}"
|
||||
CT_EXPAT_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
|
||||
CT_EXPAT_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
|
||||
@@ -712,14 +803,34 @@ CT_GETTEXT_PKG_NAME="gettext"
|
||||
CT_GETTEXT_SRC_RELEASE=y
|
||||
# CT_GETTEXT_SRC_DEVEL is not set
|
||||
CT_GETTEXT_PATCH_ORDER="global"
|
||||
CT_GETTEXT_V_0_20_1=y
|
||||
CT_GETTEXT_V_0_23_1=y
|
||||
# CT_GETTEXT_V_0_22_5 is not set
|
||||
# CT_GETTEXT_V_0_21 is not set
|
||||
# CT_GETTEXT_V_0_20_1 is not set
|
||||
# CT_GETTEXT_V_0_19_8_1 is not set
|
||||
CT_GETTEXT_VERSION="0.20.1"
|
||||
CT_GETTEXT_VERSION="0.23.1"
|
||||
CT_GETTEXT_MIRRORS="$(CT_Mirrors GNU gettext)"
|
||||
CT_GETTEXT_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
|
||||
CT_GETTEXT_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
|
||||
CT_GETTEXT_ARCHIVE_FORMATS=".tar.xz .tar.gz"
|
||||
CT_GETTEXT_SIGNATURE_FORMAT="packed/.sig"
|
||||
CT_GETTEXT_later_than_0_23=y
|
||||
CT_GETTEXT_0_23_or_later=y
|
||||
CT_GETTEXT_later_than_0_21=y
|
||||
CT_GETTEXT_0_21_or_later=y
|
||||
CT_GETTEXT_INCOMPATIBLE_WITH_UCLIBC_NG=y
|
||||
|
||||
#
|
||||
# This version of gettext is not compatible with uClibc-NG. Select
|
||||
#
|
||||
|
||||
#
|
||||
# a different version if uClibc-NG is used on the target or (in a
|
||||
#
|
||||
|
||||
#
|
||||
# Canadian cross build) on the host.
|
||||
#
|
||||
CT_COMP_LIBS_GMP=y
|
||||
CT_COMP_LIBS_GMP_PKG_KSYM="GMP"
|
||||
CT_GMP_DIR_NAME="gmp"
|
||||
@@ -727,19 +838,15 @@ CT_GMP_PKG_NAME="gmp"
|
||||
CT_GMP_SRC_RELEASE=y
|
||||
# CT_GMP_SRC_DEVEL is not set
|
||||
CT_GMP_PATCH_ORDER="global"
|
||||
CT_GMP_V_6_2=y
|
||||
CT_GMP_V_6_3=y
|
||||
# CT_GMP_V_6_2 is not set
|
||||
# CT_GMP_V_6_1 is not set
|
||||
CT_GMP_VERSION="6.2.1"
|
||||
CT_GMP_VERSION="6.3.0"
|
||||
CT_GMP_MIRRORS="https://gmplib.org/download/gmp https://gmplib.org/download/gmp/archive $(CT_Mirrors GNU gmp)"
|
||||
CT_GMP_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
|
||||
CT_GMP_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
|
||||
CT_GMP_ARCHIVE_FORMATS=".tar.xz .tar.lz .tar.bz2"
|
||||
CT_GMP_SIGNATURE_FORMAT="packed/.sig"
|
||||
CT_GMP_later_than_5_1_0=y
|
||||
CT_GMP_5_1_0_or_later=y
|
||||
CT_GMP_later_than_5_0_0=y
|
||||
CT_GMP_5_0_0_or_later=y
|
||||
CT_GMP_REQUIRE_5_0_0_or_later=y
|
||||
CT_COMP_LIBS_ISL=y
|
||||
CT_COMP_LIBS_ISL_PKG_KSYM="ISL"
|
||||
CT_ISL_DIR_NAME="isl"
|
||||
@@ -747,7 +854,10 @@ CT_ISL_PKG_NAME="isl"
|
||||
CT_ISL_SRC_RELEASE=y
|
||||
# CT_ISL_SRC_DEVEL is not set
|
||||
CT_ISL_PATCH_ORDER="global"
|
||||
CT_ISL_V_0_24=y
|
||||
CT_ISL_V_0_26=y
|
||||
# CT_ISL_V_0_25 is not set
|
||||
# CT_ISL_V_0_24 is not set
|
||||
# CT_ISL_V_0_23 is not set
|
||||
# CT_ISL_V_0_22 is not set
|
||||
# CT_ISL_V_0_21 is not set
|
||||
# CT_ISL_V_0_20 is not set
|
||||
@@ -756,7 +866,7 @@ CT_ISL_V_0_24=y
|
||||
# CT_ISL_V_0_17 is not set
|
||||
# CT_ISL_V_0_16 is not set
|
||||
# CT_ISL_V_0_15 is not set
|
||||
CT_ISL_VERSION="0.24"
|
||||
CT_ISL_VERSION="0.26"
|
||||
CT_ISL_MIRRORS="https://libisl.sourceforge.io"
|
||||
CT_ISL_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
|
||||
CT_ISL_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
|
||||
@@ -766,16 +876,20 @@ CT_ISL_later_than_0_18=y
|
||||
CT_ISL_0_18_or_later=y
|
||||
CT_ISL_later_than_0_15=y
|
||||
CT_ISL_0_15_or_later=y
|
||||
CT_ISL_REQUIRE_0_15_or_later=y
|
||||
CT_ISL_later_than_0_14=y
|
||||
CT_ISL_0_14_or_later=y
|
||||
CT_ISL_REQUIRE_0_14_or_later=y
|
||||
CT_ISL_later_than_0_13=y
|
||||
CT_ISL_0_13_or_later=y
|
||||
CT_ISL_later_than_0_12=y
|
||||
CT_ISL_0_12_or_later=y
|
||||
CT_ISL_REQUIRE_0_12_or_later=y
|
||||
# CT_COMP_LIBS_LIBELF is not set
|
||||
CT_COMP_LIBS_LIBELF=y
|
||||
CT_COMP_LIBS_LIBELF_PKG_KSYM="LIBELF"
|
||||
CT_LIBELF_DIR_NAME="libelf"
|
||||
CT_LIBELF_PKG_NAME="libelf"
|
||||
CT_LIBELF_SRC_RELEASE=y
|
||||
# CT_LIBELF_SRC_DEVEL is not set
|
||||
CT_LIBELF_PATCH_ORDER="global"
|
||||
CT_LIBELF_V_0_8=y
|
||||
CT_LIBELF_VERSION="0.8.13"
|
||||
CT_LIBELF_MIRRORS="https://fossies.org/linux/misc/old http://oe-lite.org/mirror/libelf/ http://ftp.osuosl.org/pub/blfs/conglomeration/libelf/"
|
||||
CT_LIBELF_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
|
||||
CT_LIBELF_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
|
||||
CT_LIBELF_ARCHIVE_FORMATS=".tar.gz"
|
||||
CT_LIBELF_SIGNATURE_FORMAT=""
|
||||
CT_COMP_LIBS_LIBICONV=y
|
||||
CT_COMP_LIBS_LIBICONV_PKG_KSYM="LIBICONV"
|
||||
CT_LIBICONV_DIR_NAME="libiconv"
|
||||
@@ -798,11 +912,9 @@ CT_MPC_PKG_NAME="mpc"
|
||||
CT_MPC_SRC_RELEASE=y
|
||||
# CT_MPC_SRC_DEVEL is not set
|
||||
CT_MPC_PATCH_ORDER="global"
|
||||
CT_MPC_V_1_2=y
|
||||
# CT_MPC_V_1_1 is not set
|
||||
# CT_MPC_V_1_0 is not set
|
||||
CT_MPC_VERSION="1.2.0"
|
||||
CT_MPC_MIRRORS="http://www.multiprecision.org/downloads $(CT_Mirrors GNU mpc)"
|
||||
CT_MPC_V_1_3=y
|
||||
CT_MPC_VERSION="1.3.1"
|
||||
CT_MPC_MIRRORS="https://www.multiprecision.org/downloads $(CT_Mirrors GNU mpc)"
|
||||
CT_MPC_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
|
||||
CT_MPC_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
|
||||
CT_MPC_ARCHIVE_FORMATS=".tar.gz"
|
||||
@@ -816,20 +928,15 @@ CT_MPFR_PKG_NAME="mpfr"
|
||||
CT_MPFR_SRC_RELEASE=y
|
||||
# CT_MPFR_SRC_DEVEL is not set
|
||||
CT_MPFR_PATCH_ORDER="global"
|
||||
CT_MPFR_V_4_1=y
|
||||
# CT_MPFR_V_4_0 is not set
|
||||
# CT_MPFR_V_3_1 is not set
|
||||
CT_MPFR_VERSION="4.1.0"
|
||||
CT_MPFR_MIRRORS="http://www.mpfr.org/mpfr-${CT_MPFR_VERSION} $(CT_Mirrors GNU mpfr)"
|
||||
CT_MPFR_V_4_2=y
|
||||
CT_MPFR_VERSION="4.2.1"
|
||||
CT_MPFR_MIRRORS="https://www.mpfr.org/mpfr-${CT_MPFR_VERSION} $(CT_Mirrors GNU mpfr)"
|
||||
CT_MPFR_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
|
||||
CT_MPFR_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
|
||||
CT_MPFR_ARCHIVE_FORMATS=".tar.xz .tar.bz2 .tar.gz .zip"
|
||||
CT_MPFR_SIGNATURE_FORMAT="packed/.asc"
|
||||
CT_MPFR_later_than_4_0_0=y
|
||||
CT_MPFR_4_0_0_or_later=y
|
||||
CT_MPFR_later_than_3_0_0=y
|
||||
CT_MPFR_3_0_0_or_later=y
|
||||
CT_MPFR_REQUIRE_3_0_0_or_later=y
|
||||
CT_COMP_LIBS_NCURSES=y
|
||||
CT_COMP_LIBS_NCURSES_PKG_KSYM="NCURSES"
|
||||
CT_NCURSES_DIR_NAME="ncurses"
|
||||
@@ -837,15 +944,17 @@ CT_NCURSES_PKG_NAME="ncurses"
|
||||
CT_NCURSES_SRC_RELEASE=y
|
||||
# CT_NCURSES_SRC_DEVEL is not set
|
||||
CT_NCURSES_PATCH_ORDER="global"
|
||||
CT_NCURSES_V_6_2=y
|
||||
CT_NCURSES_V_6_4=y
|
||||
# CT_NCURSES_V_6_2 is not set
|
||||
# CT_NCURSES_V_6_1 is not set
|
||||
# CT_NCURSES_V_6_0 is not set
|
||||
CT_NCURSES_VERSION="6.2"
|
||||
CT_NCURSES_VERSION="6.4"
|
||||
CT_NCURSES_MIRRORS="https://invisible-mirror.net/archives/ncurses $(CT_Mirrors GNU ncurses)"
|
||||
CT_NCURSES_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
|
||||
CT_NCURSES_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
|
||||
CT_NCURSES_ARCHIVE_FORMATS=".tar.gz"
|
||||
CT_NCURSES_SIGNATURE_FORMAT="packed/.sig"
|
||||
CT_NCURSES_NEW_ABI=y
|
||||
CT_NCURSES_HOST_CONFIG_ARGS=""
|
||||
CT_NCURSES_HOST_DISABLE_DB=y
|
||||
CT_NCURSES_HOST_FALLBACKS="linux,xterm,xterm-color,xterm-256color,vt100"
|
||||
@@ -859,14 +968,31 @@ CT_ZLIB_PKG_NAME="zlib"
|
||||
CT_ZLIB_SRC_RELEASE=y
|
||||
# CT_ZLIB_SRC_DEVEL is not set
|
||||
CT_ZLIB_PATCH_ORDER="global"
|
||||
CT_ZLIB_V_1_2_11=y
|
||||
CT_ZLIB_VERSION="1.2.11"
|
||||
CT_ZLIB_MIRRORS="http://downloads.sourceforge.net/project/libpng/zlib/${CT_ZLIB_VERSION} https://www.zlib.net/"
|
||||
CT_ZLIB_V_1_3_1=y
|
||||
# CT_ZLIB_V_1_2_13 is not set
|
||||
CT_ZLIB_VERSION="1.3.1"
|
||||
CT_ZLIB_MIRRORS="https://github.com/madler/zlib/releases/download/v${CT_ZLIB_VERSION} https://www.zlib.net/"
|
||||
CT_ZLIB_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
|
||||
CT_ZLIB_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
|
||||
CT_ZLIB_ARCHIVE_FORMATS=".tar.xz .tar.gz"
|
||||
CT_ZLIB_SIGNATURE_FORMAT="packed/.asc"
|
||||
CT_ALL_COMP_LIBS_CHOICES="CLOOG EXPAT GETTEXT GMP GNUPRUMCU ISL LIBELF LIBICONV MPC MPFR NCURSES NEWLIB_NANO PICOLIBC ZLIB"
|
||||
CT_COMP_LIBS_ZSTD=y
|
||||
CT_COMP_LIBS_ZSTD_PKG_KSYM="ZSTD"
|
||||
CT_ZSTD_DIR_NAME="zstd"
|
||||
CT_ZSTD_PKG_NAME="zstd"
|
||||
CT_ZSTD_SRC_RELEASE=y
|
||||
# CT_ZSTD_SRC_DEVEL is not set
|
||||
CT_ZSTD_PATCH_ORDER="global"
|
||||
CT_ZSTD_V_1_5_6=y
|
||||
# CT_ZSTD_V_1_5_5 is not set
|
||||
# CT_ZSTD_V_1_5_2 is not set
|
||||
CT_ZSTD_VERSION="1.5.6"
|
||||
CT_ZSTD_MIRRORS="https://github.com/facebook/zstd/releases/download/v${CT_ZSTD_VERSION} https://www.zstd.net/"
|
||||
CT_ZSTD_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
|
||||
CT_ZSTD_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
|
||||
CT_ZSTD_ARCHIVE_FORMATS=".tar.gz"
|
||||
CT_ZSTD_SIGNATURE_FORMAT="packed/.sig"
|
||||
CT_ALL_COMP_LIBS_CHOICES="CLOOG EXPAT GETTEXT GMP GNUPRUMCU ISL LIBELF LIBICONV MPC MPFR NCURSES NEWLIB_NANO PICOLIBC ZLIB ZSTD"
|
||||
CT_LIBICONV_NEEDED=y
|
||||
CT_GETTEXT_NEEDED=y
|
||||
CT_GMP_NEEDED=y
|
||||
@@ -876,6 +1002,7 @@ CT_MPC_NEEDED=y
|
||||
CT_EXPAT_NEEDED=y
|
||||
CT_NCURSES_NEEDED=y
|
||||
CT_ZLIB_NEEDED=y
|
||||
CT_ZSTD_NEEDED=y
|
||||
CT_LIBICONV=y
|
||||
CT_GETTEXT=y
|
||||
CT_GMP=y
|
||||
@@ -885,6 +1012,7 @@ CT_MPC=y
|
||||
CT_EXPAT=y
|
||||
CT_NCURSES=y
|
||||
CT_ZLIB=y
|
||||
CT_ZSTD=y
|
||||
# end of Companion libraries
|
||||
|
||||
#
|
||||
|
||||
@@ -0,0 +1,18 @@
|
||||
BASE_IMAGE_REGISTRY ?= docker.io
|
||||
BASE_IMAGE_PATH ?= dockcross
|
||||
BASE_IMAGE_NAME = base
|
||||
BASE_IMAGE_TAG = latest
|
||||
|
||||
OUTPUT_IMAGE_REGISTRY ?= docker.io
|
||||
OUTPUT_IMAGE_PATH ?= dockcross
|
||||
OUTPUT_IMAGE_NAME = linux-arm64
|
||||
|
||||
TEST_IMAGE_CMD =
|
||||
TEST_IMAGE_ARGS =
|
||||
RUN_IMAGE_CMD =
|
||||
RUN_IMAGE_ARGS =
|
||||
|
||||
# Extra tests (see CONTRIBUTING.md / Makefile "Extra tests" section)
|
||||
EXTRA_TESTS = stockfish ninja C SQLite llama_cpp fmt cpython
|
||||
STOCKFISH_ARGS = ARCH=armv8
|
||||
CPYTHON_ARGS = --host=aarch64-unknown-linux-gnu --target=aarch64-unknown-linux-gnu
|
||||
@@ -1,14 +1,14 @@
|
||||
FROM dockcross/base:latest
|
||||
ARG ORG=dockcross
|
||||
FROM ${ORG}/base:latest
|
||||
|
||||
LABEL maintainer="Matt McCormick matt.mccormick@kitware.com"
|
||||
LABEL maintainer="Matt McCormick matt@mmmccormick.com"
|
||||
|
||||
# This is for ARMv5 "legacy" (armel) devices which do NOT support hard float
|
||||
# VFP instructions (armhf).
|
||||
# musleabi as default glibc
|
||||
|
||||
# We use a git commit while waiting for 1.25 to release (1.24 is several years old)
|
||||
# crosstool-ng master 2021-09-20
|
||||
ENV CT_VERSION 5f5a22f7a7307790ec571d0c5acf8790416964e6
|
||||
# Crosstool-ng version 2022-05-19
|
||||
ENV CT_VERSION=crosstool-ng-1.25.0
|
||||
|
||||
#include "common.crosstool"
|
||||
|
||||
@@ -20,8 +20,8 @@ RUN apt-get update \
|
||||
&& apt-get clean --yes
|
||||
|
||||
# The CROSS_TRIPLE is a configured alias of the "armv5-unknown-linux-musleabi" target.
|
||||
ENV CROSS_TRIPLE armv5-unknown-linux-musleabi
|
||||
ENV CROSS_ROOT ${XCC_PREFIX}/${CROSS_TRIPLE}
|
||||
ENV CROSS_TRIPLE=armv5-unknown-linux-musleabi
|
||||
ENV CROSS_ROOT=${XCC_PREFIX}/${CROSS_TRIPLE}
|
||||
ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \
|
||||
AR=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ar \
|
||||
CC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gcc \
|
||||
@@ -30,17 +30,17 @@ ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \
|
||||
LD=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ld \
|
||||
FC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gfortran
|
||||
|
||||
ENV QEMU_LD_PREFIX "${CROSS_ROOT}/${CROSS_TRIPLE}/sysroot"
|
||||
ENV QEMU_SET_ENV "LD_LIBRARY_PATH=${CROSS_ROOT}/lib:${QEMU_LD_PREFIX}"
|
||||
ENV QEMU_LD_PREFIX="${CROSS_ROOT}/${CROSS_TRIPLE}/sysroot"
|
||||
ENV QEMU_SET_ENV="LD_LIBRARY_PATH=${CROSS_ROOT}/lib:${QEMU_LD_PREFIX}"
|
||||
|
||||
COPY Toolchain.cmake ${CROSS_ROOT}/
|
||||
ENV CMAKE_TOOLCHAIN_FILE ${CROSS_ROOT}/Toolchain.cmake
|
||||
ENV CMAKE_TOOLCHAIN_FILE=${CROSS_ROOT}/Toolchain.cmake
|
||||
|
||||
ENV PKG_CONFIG_PATH /usr/lib/arm-linux-musleabihf/
|
||||
ENV PKG_CONFIG_PATH=/usr/lib/arm-linux-musleabihf/
|
||||
|
||||
# Linux kernel cross compilation variables
|
||||
ENV PATH ${PATH}:${CROSS_ROOT}/bin
|
||||
ENV CROSS_COMPILE ${CROSS_TRIPLE}-
|
||||
ENV ARCH arm
|
||||
ENV PATH=${PATH}:${CROSS_ROOT}/bin
|
||||
ENV CROSS_COMPILE=${CROSS_TRIPLE}-
|
||||
ENV ARCH=arm
|
||||
|
||||
#include "common.label-and-env"
|
||||
|
||||
@@ -10,10 +10,10 @@ set(CMAKE_Fortran_COMPILER $ENV{FC})
|
||||
|
||||
set(CMAKE_CXX_FLAGS "-I ${cross_root}/include/")
|
||||
|
||||
set(CMAKE_FIND_ROOT_PATH ${cross_root} ${cross_root}/${cross_triple})
|
||||
list(APPEND CMAKE_FIND_ROOT_PATH ${CMAKE_PREFIX_PATH} ${cross_root} ${cross_root}/${cross_triple})
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY BOTH)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
|
||||
set(CMAKE_SYSROOT ${cross_root}/${cross_triple}/sysroot)
|
||||
|
||||
set(CMAKE_CROSSCOMPILING_EMULATOR /usr/bin/qemu-arm)
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
#
|
||||
# Automatically generated file; DO NOT EDIT.
|
||||
# crosstool-NG 1.24.0.450_5f5a22f Configuration
|
||||
# crosstool-NG 1.25.0.26_db6f703 Configuration
|
||||
#
|
||||
CT_CONFIGURE_has_static_link=y
|
||||
CT_CONFIGURE_has_cxx11=y
|
||||
@@ -8,6 +8,7 @@ CT_CONFIGURE_has_wget=y
|
||||
CT_CONFIGURE_has_curl=y
|
||||
CT_CONFIGURE_has_meson=y
|
||||
CT_CONFIGURE_has_ninja=y
|
||||
CT_CONFIGURE_has_rsync=y
|
||||
CT_CONFIGURE_has_make_3_81_or_newer=y
|
||||
CT_CONFIGURE_has_make_4_0_or_newer=y
|
||||
CT_CONFIGURE_has_libtool_2_4_or_newer=y
|
||||
@@ -26,11 +27,11 @@ CT_CONFIGURE_has_sha1sum=y
|
||||
CT_CONFIGURE_has_sha256sum=y
|
||||
CT_CONFIGURE_has_sha512sum=y
|
||||
CT_CONFIGURE_has_install_with_strip_program=y
|
||||
CT_VERSION="1.24.0.450_5f5a22f"
|
||||
CT_VERSION="1.25.0.26_db6f703"
|
||||
CT_VCHECK=""
|
||||
CT_CONFIG_VERSION_ENV="3"
|
||||
CT_CONFIG_VERSION_CURRENT="3"
|
||||
CT_CONFIG_VERSION="3"
|
||||
CT_CONFIG_VERSION_ENV="4"
|
||||
CT_CONFIG_VERSION_CURRENT="4"
|
||||
CT_CONFIG_VERSION="4"
|
||||
CT_MODULES=y
|
||||
|
||||
#
|
||||
@@ -123,7 +124,7 @@ CT_LOG_EXTRA=y
|
||||
# CT_LOG_DEBUG is not set
|
||||
CT_LOG_LEVEL_MAX="EXTRA"
|
||||
# CT_LOG_SEE_TOOLS_WARN is not set
|
||||
CT_LOG_PROGRESS_BAR=y
|
||||
CT_LOG_PROGRESS_BAR=n
|
||||
CT_LOG_TO_FILE=y
|
||||
CT_LOG_FILE_COMPRESS=y
|
||||
# end of Paths and misc options
|
||||
@@ -288,6 +289,9 @@ CT_LINUX_PATCH_GLOBAL=y
|
||||
# CT_LINUX_PATCH_LOCAL_BUNDLED is not set
|
||||
# CT_LINUX_PATCH_NONE is not set
|
||||
CT_LINUX_PATCH_ORDER="global"
|
||||
# CT_LINUX_V_5_17 is not set
|
||||
# CT_LINUX_V_5_16 is not set
|
||||
# CT_LINUX_V_5_15 is not set
|
||||
CT_LINUX_V_5_14=y
|
||||
# CT_LINUX_V_5_13 is not set
|
||||
# CT_LINUX_V_5_12 is not set
|
||||
@@ -322,23 +326,29 @@ CT_LINUX_V_5_14=y
|
||||
# CT_LINUX_V_3_4 is not set
|
||||
# CT_LINUX_V_3_2 is not set
|
||||
# CT_LINUX_V_2_6_32 is not set
|
||||
CT_LINUX_VERSION="5.14.1"
|
||||
CT_LINUX_VERSION="5.14.18"
|
||||
CT_LINUX_MIRRORS="$(CT_Mirrors kernel.org linux ${CT_LINUX_VERSION})"
|
||||
CT_LINUX_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
|
||||
CT_LINUX_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
|
||||
CT_LINUX_ARCHIVE_FORMATS=".tar.xz .tar.gz"
|
||||
CT_LINUX_SIGNATURE_FORMAT="unpacked/.sign"
|
||||
CT_LINUX_later_than_5_12=y
|
||||
CT_LINUX_5_12_or_later=y
|
||||
CT_LINUX_later_than_5_5=y
|
||||
CT_LINUX_5_5_or_later=y
|
||||
CT_LINUX_later_than_5_3=y
|
||||
CT_LINUX_5_3_or_later=y
|
||||
CT_LINUX_later_than_4_8=y
|
||||
CT_LINUX_4_8_or_later=y
|
||||
CT_LINUX_later_than_3_7=y
|
||||
CT_LINUX_3_7_or_later=y
|
||||
CT_LINUX_later_than_3_2=y
|
||||
CT_LINUX_3_2_or_later=y
|
||||
CT_KERNEL_DEP_RSYNC=y
|
||||
CT_KERNEL_LINUX_VERBOSITY_0=y
|
||||
# CT_KERNEL_LINUX_VERBOSITY_1 is not set
|
||||
# CT_KERNEL_LINUX_VERBOSITY_2 is not set
|
||||
CT_KERNEL_LINUX_VERBOSE_LEVEL=0
|
||||
CT_KERNEL_LINUX_INSTALL_CHECK=y
|
||||
CT_ALL_KERNEL_CHOICES="BARE_METAL LINUX WINDOWS"
|
||||
|
||||
#
|
||||
@@ -362,6 +372,7 @@ CT_BINUTILS_BINUTILS_SHOW=y
|
||||
CT_BINUTILS_BINUTILS_PKG_KSYM="BINUTILS"
|
||||
CT_BINUTILS_DIR_NAME="binutils"
|
||||
CT_BINUTILS_USE_GNU=y
|
||||
# CT_BINUTILS_USE_LINARO is not set
|
||||
# CT_BINUTILS_USE_ORACLE is not set
|
||||
CT_BINUTILS_USE="BINUTILS"
|
||||
CT_BINUTILS_PKG_NAME="binutils"
|
||||
@@ -375,6 +386,7 @@ CT_BINUTILS_PATCH_GLOBAL=y
|
||||
# CT_BINUTILS_PATCH_LOCAL_BUNDLED is not set
|
||||
# CT_BINUTILS_PATCH_NONE is not set
|
||||
CT_BINUTILS_PATCH_ORDER="global"
|
||||
# CT_BINUTILS_V_2_38 is not set
|
||||
CT_BINUTILS_V_2_37=y
|
||||
# CT_BINUTILS_V_2_36 is not set
|
||||
# CT_BINUTILS_V_2_35 is not set
|
||||
@@ -397,18 +409,12 @@ CT_BINUTILS_later_than_2_30=y
|
||||
CT_BINUTILS_2_30_or_later=y
|
||||
CT_BINUTILS_later_than_2_27=y
|
||||
CT_BINUTILS_2_27_or_later=y
|
||||
CT_BINUTILS_later_than_2_25=y
|
||||
CT_BINUTILS_2_25_or_later=y
|
||||
CT_BINUTILS_later_than_2_23=y
|
||||
CT_BINUTILS_2_23_or_later=y
|
||||
CT_BINUTILS_later_than_2_26=y
|
||||
CT_BINUTILS_2_26_or_later=y
|
||||
|
||||
#
|
||||
# GNU binutils
|
||||
#
|
||||
CT_BINUTILS_HAS_HASH_STYLE=y
|
||||
CT_BINUTILS_HAS_GOLD=y
|
||||
CT_BINUTILS_HAS_PLUGINS=y
|
||||
CT_BINUTILS_HAS_PKGVERSION_BUGURL=y
|
||||
CT_BINUTILS_GOLD_SUPPORTS_ARCH=y
|
||||
CT_BINUTILS_GOLD_SUPPORT=y
|
||||
# CT_BINUTILS_LINKER_LD is not set
|
||||
@@ -434,10 +440,9 @@ CT_ALL_BINUTILS_CHOICES="BINUTILS"
|
||||
#
|
||||
# C-library
|
||||
#
|
||||
# CT_LIBC_BIONIC is not set
|
||||
# CT_LIBC_GLIBC is not set
|
||||
CT_LIBC_MUSL=y
|
||||
# CT_LIBC_UCLIBC is not set
|
||||
# CT_LIBC_UCLIBC_NG is not set
|
||||
CT_LIBC="musl"
|
||||
CT_LIBC_CHOICE_KSYM="MUSL"
|
||||
CT_THREADS="musl"
|
||||
@@ -459,6 +464,7 @@ CT_MUSL_PATCH_GLOBAL=y
|
||||
# CT_MUSL_PATCH_LOCAL_BUNDLED is not set
|
||||
# CT_MUSL_PATCH_NONE is not set
|
||||
CT_MUSL_PATCH_ORDER="global"
|
||||
# CT_MUSL_V_1_2_3 is not set
|
||||
CT_MUSL_V_1_2_2=y
|
||||
# CT_MUSL_V_1_2_1 is not set
|
||||
# CT_MUSL_V_1_1_24 is not set
|
||||
@@ -483,7 +489,7 @@ CT_LIBC_MUSL_OPTIMIZE_AUTO=y
|
||||
# CT_LIBC_MUSL_OPTIMIZE_SPEED is not set
|
||||
# CT_LIBC_MUSL_OPTIMIZE_SIZE is not set
|
||||
CT_LIBC_MUSL_OPTIMIZE="auto"
|
||||
CT_ALL_LIBC_CHOICES="AVR_LIBC BIONIC GLIBC MINGW_W64 MOXIEBOX MUSL NEWLIB NONE UCLIBC"
|
||||
CT_ALL_LIBC_CHOICES="AVR_LIBC GLIBC MINGW_W64 MOXIEBOX MUSL NEWLIB NONE UCLIBC_NG"
|
||||
CT_LIBC_SUPPORT_THREADS_ANY=y
|
||||
CT_LIBC_SUPPORT_THREADS_NATIVE=y
|
||||
|
||||
@@ -498,9 +504,7 @@ CT_LIBC_XLDD=y
|
||||
#
|
||||
# C compiler
|
||||
#
|
||||
CT_CC_CORE_PASSES_NEEDED=y
|
||||
CT_CC_CORE_PASS_1_NEEDED=y
|
||||
CT_CC_CORE_PASS_2_NEEDED=y
|
||||
CT_CC_CORE_NEEDED=y
|
||||
CT_CC_SUPPORT_CXX=y
|
||||
CT_CC_SUPPORT_FORTRAN=y
|
||||
CT_CC_SUPPORT_ADA=y
|
||||
@@ -519,7 +523,6 @@ CT_CC_GCC_PKG_KSYM="GCC"
|
||||
CT_GCC_DIR_NAME="gcc"
|
||||
CT_GCC_USE_GNU=y
|
||||
# CT_GCC_USE_LINARO is not set
|
||||
# CT_GCC_USE_ORACLE is not set
|
||||
CT_GCC_USE="GCC"
|
||||
CT_GCC_PKG_NAME="gcc"
|
||||
CT_GCC_SRC_RELEASE=y
|
||||
@@ -532,6 +535,7 @@ CT_GCC_PATCH_GLOBAL=y
|
||||
# CT_GCC_PATCH_LOCAL_BUNDLED is not set
|
||||
# CT_GCC_PATCH_NONE is not set
|
||||
CT_GCC_PATCH_ORDER="global"
|
||||
# CT_GCC_V_12 is not set
|
||||
CT_GCC_V_11=y
|
||||
# CT_GCC_V_10 is not set
|
||||
# CT_GCC_V_9 is not set
|
||||
@@ -540,12 +544,14 @@ CT_GCC_V_11=y
|
||||
# CT_GCC_V_6 is not set
|
||||
# CT_GCC_V_5 is not set
|
||||
# CT_GCC_V_4_9 is not set
|
||||
CT_GCC_VERSION="11.2.0"
|
||||
CT_GCC_VERSION="11.3.0"
|
||||
CT_GCC_MIRRORS="$(CT_Mirrors GNU gcc/gcc-${CT_GCC_VERSION}) $(CT_Mirrors sourceware gcc/releases/gcc-${CT_GCC_VERSION})"
|
||||
CT_GCC_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
|
||||
CT_GCC_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
|
||||
CT_GCC_ARCHIVE_FORMATS=".tar.xz .tar.gz"
|
||||
CT_GCC_SIGNATURE_FORMAT=""
|
||||
CT_GCC_12_or_older=y
|
||||
CT_GCC_older_than_12=y
|
||||
CT_GCC_later_than_11=y
|
||||
CT_GCC_11_or_later=y
|
||||
CT_GCC_later_than_10=y
|
||||
@@ -562,8 +568,6 @@ CT_GCC_later_than_5=y
|
||||
CT_GCC_5_or_later=y
|
||||
CT_GCC_later_than_4_9=y
|
||||
CT_GCC_4_9_or_later=y
|
||||
CT_GCC_later_than_4_8=y
|
||||
CT_GCC_4_8_or_later=y
|
||||
CT_CC_GCC_ENABLE_PLUGINS=y
|
||||
CT_CC_GCC_GOLD=y
|
||||
CT_CC_GCC_HAS_LIBMPX=y
|
||||
@@ -630,8 +634,6 @@ CT_CC_LANG_OTHERS=""
|
||||
CT_DEBUG_GDB=y
|
||||
CT_DEBUG_GDB_PKG_KSYM="GDB"
|
||||
CT_GDB_DIR_NAME="gdb"
|
||||
CT_GDB_USE_GNU=y
|
||||
CT_GDB_USE="GDB"
|
||||
CT_GDB_PKG_NAME="gdb"
|
||||
CT_GDB_SRC_RELEASE=y
|
||||
# CT_GDB_SRC_DEVEL is not set
|
||||
@@ -643,32 +645,25 @@ CT_GDB_PATCH_GLOBAL=y
|
||||
# CT_GDB_PATCH_LOCAL_BUNDLED is not set
|
||||
# CT_GDB_PATCH_NONE is not set
|
||||
CT_GDB_PATCH_ORDER="global"
|
||||
CT_GDB_V_10_2=y
|
||||
# CT_GDB_V_9_2 is not set
|
||||
CT_GDB_V_12=y
|
||||
# CT_GDB_V_11 is not set
|
||||
# CT_GDB_V_10 is not set
|
||||
# CT_GDB_V_9 is not set
|
||||
# CT_GDB_V_8_3 is not set
|
||||
# CT_GDB_V_8_2 is not set
|
||||
# CT_GDB_V_8_1 is not set
|
||||
# CT_GDB_V_8_0 is not set
|
||||
# CT_GDB_V_7_12 is not set
|
||||
# CT_GDB_V_7_11 is not set
|
||||
CT_GDB_VERSION="10.2"
|
||||
CT_GDB_VERSION="12.1"
|
||||
CT_GDB_MIRRORS="$(CT_Mirrors GNU gdb) $(CT_Mirrors sourceware gdb/releases)"
|
||||
CT_GDB_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
|
||||
CT_GDB_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
|
||||
CT_GDB_ARCHIVE_FORMATS=".tar.xz .tar.gz"
|
||||
CT_GDB_SIGNATURE_FORMAT=""
|
||||
CT_GDB_10_2_or_later=y
|
||||
CT_GDB_10_2_or_older=y
|
||||
CT_GDB_later_than_12=y
|
||||
CT_GDB_12_or_later=y
|
||||
CT_GDB_later_than_11=y
|
||||
CT_GDB_11_or_later=y
|
||||
CT_GDB_later_than_10=y
|
||||
CT_GDB_10_or_later=y
|
||||
CT_GDB_later_than_8_3=y
|
||||
CT_GDB_8_3_or_later=y
|
||||
CT_GDB_later_than_8_0=y
|
||||
CT_GDB_8_0_or_later=y
|
||||
CT_GDB_later_than_7_12=y
|
||||
CT_GDB_7_12_or_later=y
|
||||
CT_GDB_later_than_7_2=y
|
||||
CT_GDB_7_2_or_later=y
|
||||
CT_GDB_later_than_7_0=y
|
||||
CT_GDB_7_0_or_later=y
|
||||
CT_GDB_CROSS=y
|
||||
# CT_GDB_CROSS_STATIC is not set
|
||||
# CT_GDB_CROSS_SIM is not set
|
||||
@@ -678,10 +673,6 @@ CT_GDB_CROSS_EXTRA_CONFIG_ARRAY=""
|
||||
CT_GDB_GDBSERVER=y
|
||||
# CT_GDB_NATIVE_STATIC is not set
|
||||
# CT_GDB_NATIVE_STATIC_LIBSTDCXX is not set
|
||||
CT_GDB_HAS_PKGVERSION_BUGURL=y
|
||||
CT_GDB_HAS_PYTHON=y
|
||||
CT_GDB_INSTALL_GDBINIT=y
|
||||
CT_GDB_HAS_IPA_LIB=y
|
||||
CT_GDB_GDBSERVER_TOPLEVEL=y
|
||||
# CT_DEBUG_LTRACE is not set
|
||||
# CT_DEBUG_STRACE is not set
|
||||
@@ -737,11 +728,6 @@ CT_GMP_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
|
||||
CT_GMP_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
|
||||
CT_GMP_ARCHIVE_FORMATS=".tar.xz .tar.lz .tar.bz2"
|
||||
CT_GMP_SIGNATURE_FORMAT="packed/.sig"
|
||||
CT_GMP_later_than_5_1_0=y
|
||||
CT_GMP_5_1_0_or_later=y
|
||||
CT_GMP_later_than_5_0_0=y
|
||||
CT_GMP_5_0_0_or_later=y
|
||||
CT_GMP_REQUIRE_5_0_0_or_later=y
|
||||
CT_COMP_LIBS_ISL=y
|
||||
CT_COMP_LIBS_ISL_PKG_KSYM="ISL"
|
||||
CT_ISL_DIR_NAME="isl"
|
||||
@@ -757,6 +743,7 @@ CT_ISL_PATCH_GLOBAL=y
|
||||
# CT_ISL_PATCH_NONE is not set
|
||||
CT_ISL_PATCH_ORDER="global"
|
||||
CT_ISL_V_0_24=y
|
||||
# CT_ISL_V_0_23 is not set
|
||||
# CT_ISL_V_0_22 is not set
|
||||
# CT_ISL_V_0_21 is not set
|
||||
# CT_ISL_V_0_20 is not set
|
||||
@@ -775,15 +762,6 @@ CT_ISL_later_than_0_18=y
|
||||
CT_ISL_0_18_or_later=y
|
||||
CT_ISL_later_than_0_15=y
|
||||
CT_ISL_0_15_or_later=y
|
||||
CT_ISL_REQUIRE_0_15_or_later=y
|
||||
CT_ISL_later_than_0_14=y
|
||||
CT_ISL_0_14_or_later=y
|
||||
CT_ISL_REQUIRE_0_14_or_later=y
|
||||
CT_ISL_later_than_0_13=y
|
||||
CT_ISL_0_13_or_later=y
|
||||
CT_ISL_later_than_0_12=y
|
||||
CT_ISL_0_12_or_later=y
|
||||
CT_ISL_REQUIRE_0_12_or_later=y
|
||||
# CT_COMP_LIBS_LIBELF is not set
|
||||
# CT_COMP_LIBS_LIBICONV is not set
|
||||
CT_COMP_LIBS_MPC=y
|
||||
@@ -803,7 +781,7 @@ CT_MPC_PATCH_ORDER="global"
|
||||
CT_MPC_V_1_2=y
|
||||
# CT_MPC_V_1_1 is not set
|
||||
# CT_MPC_V_1_0 is not set
|
||||
CT_MPC_VERSION="1.2.0"
|
||||
CT_MPC_VERSION="1.2.1"
|
||||
CT_MPC_MIRRORS="http://www.multiprecision.org/downloads $(CT_Mirrors GNU mpc)"
|
||||
CT_MPC_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
|
||||
CT_MPC_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
|
||||
@@ -836,9 +814,6 @@ CT_MPFR_ARCHIVE_FORMATS=".tar.xz .tar.bz2 .tar.gz .zip"
|
||||
CT_MPFR_SIGNATURE_FORMAT="packed/.asc"
|
||||
CT_MPFR_later_than_4_0_0=y
|
||||
CT_MPFR_4_0_0_or_later=y
|
||||
CT_MPFR_later_than_3_0_0=y
|
||||
CT_MPFR_3_0_0_or_later=y
|
||||
CT_MPFR_REQUIRE_3_0_0_or_later=y
|
||||
CT_COMP_LIBS_NCURSES=y
|
||||
CT_COMP_LIBS_NCURSES_PKG_KSYM="NCURSES"
|
||||
CT_NCURSES_DIR_NAME="ncurses"
|
||||
@@ -883,9 +858,9 @@ CT_ZLIB_PATCH_GLOBAL=y
|
||||
# CT_ZLIB_PATCH_LOCAL_BUNDLED is not set
|
||||
# CT_ZLIB_PATCH_NONE is not set
|
||||
CT_ZLIB_PATCH_ORDER="global"
|
||||
CT_ZLIB_V_1_2_11=y
|
||||
CT_ZLIB_VERSION="1.2.11"
|
||||
CT_ZLIB_MIRRORS="http://downloads.sourceforge.net/project/libpng/zlib/${CT_ZLIB_VERSION} https://www.zlib.net/"
|
||||
CT_ZLIB_V_1_2_13=y
|
||||
CT_ZLIB_VERSION="1.2.13"
|
||||
CT_ZLIB_MIRRORS="https://github.com/madler/zlib/releases/download/v${CT_ZLIB_VERSION} https://www.zlib.net/"
|
||||
CT_ZLIB_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
|
||||
CT_ZLIB_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
|
||||
CT_ZLIB_ARCHIVE_FORMATS=".tar.xz .tar.gz"
|
||||
|
||||
@@ -0,0 +1,13 @@
|
||||
BASE_IMAGE_REGISTRY ?= docker.io
|
||||
BASE_IMAGE_PATH ?= dockcross
|
||||
BASE_IMAGE_NAME = base
|
||||
BASE_IMAGE_TAG = latest
|
||||
|
||||
OUTPUT_IMAGE_REGISTRY ?= docker.io
|
||||
OUTPUT_IMAGE_PATH ?= dockcross
|
||||
OUTPUT_IMAGE_NAME = linux-armv5-musl
|
||||
|
||||
# Extra tests (see CONTRIBUTING.md / Makefile "Extra tests" section)
|
||||
EXTRA_TESTS = ninja openssl SQLite fmt cpython
|
||||
OPENSSL_ARGS = linux-armv4
|
||||
CPYTHON_ARGS = --host=armv5-unknown-linux-musleabi --target=armv5-unknown-linux-musleabi
|
||||
@@ -1,10 +1,10 @@
|
||||
FROM dockcross/base:latest
|
||||
ARG ORG=dockcross
|
||||
FROM ${ORG}/base:latest
|
||||
|
||||
LABEL maintainer="Matt McCormick matt.mccormick@kitware.com"
|
||||
# Crosstool-ng version
|
||||
# We use a git commit while waiting for 1.25 to release (1.24 is several years old)
|
||||
# crosstool-ng master 2021-09-17
|
||||
ENV CT_VERSION 392955a293573451baf3a9294139d0558b08ca2e
|
||||
LABEL maintainer="Matt McCormick matt@mmmccormick.com"
|
||||
|
||||
# Crosstool-ng version 2022-05-19
|
||||
ENV CT_VERSION=crosstool-ng-1.25.0
|
||||
|
||||
# This is for compiling binaries for arm routers with uclibc (e.g ddwrt, asuswrt)
|
||||
#include "common.crosstool"
|
||||
@@ -16,8 +16,8 @@ RUN apt-get update \
|
||||
qemu-user-static \
|
||||
&& apt-get clean --yes
|
||||
|
||||
ENV CROSS_TRIPLE arm-unknown-linux-uclibcgnueabi
|
||||
ENV CROSS_ROOT ${XCC_PREFIX}/${CROSS_TRIPLE}
|
||||
ENV CROSS_TRIPLE=arm-unknown-linux-uclibcgnueabi
|
||||
ENV CROSS_ROOT=${XCC_PREFIX}/${CROSS_TRIPLE}
|
||||
ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \
|
||||
AR=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ar \
|
||||
CC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gcc \
|
||||
@@ -26,17 +26,17 @@ ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \
|
||||
LD=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ld \
|
||||
FC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gfortran
|
||||
|
||||
ENV QEMU_LD_PREFIX "${CROSS_ROOT}/${CROSS_TRIPLE}/sysroot"
|
||||
ENV QEMU_SET_ENV "LD_LIBRARY_PATH=${CROSS_ROOT}/lib:${QEMU_LD_PREFIX}"
|
||||
ENV QEMU_LD_PREFIX="${CROSS_ROOT}/${CROSS_TRIPLE}/sysroot"
|
||||
ENV QEMU_SET_ENV="LD_LIBRARY_PATH=${CROSS_ROOT}/lib:${QEMU_LD_PREFIX}"
|
||||
|
||||
COPY Toolchain.cmake /usr/lib/${CROSS_ROOT}/
|
||||
ENV CMAKE_TOOLCHAIN_FILE /usr/lib/${CROSS_ROOT}/Toolchain.cmake
|
||||
ENV CMAKE_TOOLCHAIN_FILE=/usr/lib/${CROSS_ROOT}/Toolchain.cmake
|
||||
|
||||
ENV PKG_CONFIG_PATH /usr/lib/{CROSS_ROOT}/pkgconfig/
|
||||
ENV PKG_CONFIG_PATH=/usr/lib/{CROSS_ROOT}/pkgconfig/
|
||||
|
||||
# Linux kernel cross compilation variables
|
||||
ENV PATH ${PATH}:${CROSS_ROOT}/bin
|
||||
ENV CROSS_COMPILE ${CROSS_TRIPLE}-
|
||||
ENV ARCH arm
|
||||
ENV PATH=${PATH}:${CROSS_ROOT}/bin
|
||||
ENV CROSS_COMPILE=${CROSS_TRIPLE}-
|
||||
ENV ARCH=arm
|
||||
|
||||
#include "common.label-and-env"
|
||||
|
||||
@@ -11,10 +11,10 @@ set(CMAKE_Fortran_COMPILER $ENV{FC})
|
||||
|
||||
set(CMAKE_CXX_FLAGS "-I ${cross_root}/include/")
|
||||
|
||||
set(CMAKE_FIND_ROOT_PATH ${cross_root} ${cross_root}/${cross_triple})
|
||||
list(APPEND CMAKE_FIND_ROOT_PATH ${CMAKE_PREFIX_PATH} ${cross_root} ${cross_root}/${cross_triple})
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY BOTH)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
|
||||
set(CMAKE_SYSROOT ${cross_root}/${cross_triple}/sysroot)
|
||||
|
||||
set(CMAKE_CROSSCOMPILING_EMULATOR /usr/bin/qemu-arm)
|
||||
|
||||
@@ -1,11 +1,14 @@
|
||||
#
|
||||
# Automatically generated file; DO NOT EDIT.
|
||||
# crosstool-NG Configuration
|
||||
# crosstool-NG 1.25.0.26_db6f703 Configuration
|
||||
#
|
||||
CT_CONFIGURE_has_static_link=y
|
||||
CT_CONFIGURE_has_cxx11=y
|
||||
CT_CONFIGURE_has_wget=y
|
||||
CT_CONFIGURE_has_curl=y
|
||||
CT_CONFIGURE_has_meson=y
|
||||
CT_CONFIGURE_has_ninja=y
|
||||
CT_CONFIGURE_has_rsync=y
|
||||
CT_CONFIGURE_has_make_3_81_or_newer=y
|
||||
CT_CONFIGURE_has_make_4_0_or_newer=y
|
||||
CT_CONFIGURE_has_libtool_2_4_or_newer=y
|
||||
@@ -17,14 +20,18 @@ CT_CONFIGURE_has_gnu_m4_1_4_12_or_newer=y
|
||||
CT_CONFIGURE_has_python_3_4_or_newer=y
|
||||
CT_CONFIGURE_has_bison_2_7_or_newer=y
|
||||
CT_CONFIGURE_has_python=y
|
||||
CT_CONFIGURE_has_dtc=y
|
||||
CT_CONFIGURE_has_git=y
|
||||
CT_CONFIGURE_has_md5sum=y
|
||||
CT_CONFIGURE_has_sha1sum=y
|
||||
CT_CONFIGURE_has_sha256sum=y
|
||||
CT_CONFIGURE_has_sha512sum=y
|
||||
CT_CONFIGURE_has_install_with_strip_program=y
|
||||
CT_CONFIG_VERSION_CURRENT="3"
|
||||
CT_CONFIG_VERSION="3"
|
||||
CT_VERSION="1.25.0.26_db6f703"
|
||||
CT_VCHECK=""
|
||||
CT_CONFIG_VERSION_ENV="4"
|
||||
CT_CONFIG_VERSION_CURRENT="4"
|
||||
CT_CONFIG_VERSION="4"
|
||||
CT_MODULES=y
|
||||
|
||||
#
|
||||
@@ -92,6 +99,7 @@ CT_PARALLEL_JOBS=0
|
||||
CT_LOAD=""
|
||||
CT_USE_PIPES=y
|
||||
CT_EXTRA_CFLAGS_FOR_BUILD=""
|
||||
CT_EXTRA_CXXFLAGS_FOR_BUILD=""
|
||||
CT_EXTRA_LDFLAGS_FOR_BUILD=""
|
||||
CT_EXTRA_CFLAGS_FOR_HOST=""
|
||||
CT_EXTRA_LDFLAGS_FOR_HOST=""
|
||||
@@ -112,9 +120,10 @@ CT_LOG_EXTRA=y
|
||||
# CT_LOG_DEBUG is not set
|
||||
CT_LOG_LEVEL_MAX="EXTRA"
|
||||
# CT_LOG_SEE_TOOLS_WARN is not set
|
||||
CT_LOG_PROGRESS_BAR=y
|
||||
CT_LOG_PROGRESS_BAR=n
|
||||
CT_LOG_TO_FILE=y
|
||||
CT_LOG_FILE_COMPRESS=y
|
||||
# end of Paths and misc options
|
||||
|
||||
#
|
||||
# Target options
|
||||
@@ -127,6 +136,7 @@ CT_ARCH_ARM=y
|
||||
# CT_ARCH_MIPS is not set
|
||||
# CT_ARCH_NIOS2 is not set
|
||||
# CT_ARCH_POWERPC is not set
|
||||
# CT_ARCH_PRU is not set
|
||||
# CT_ARCH_S390 is not set
|
||||
# CT_ARCH_SH is not set
|
||||
# CT_ARCH_SPARC is not set
|
||||
@@ -147,7 +157,7 @@ CT_ARCH_ARM_MODE_ARM=y
|
||||
# CT_ARCH_ARM_INTERWORKING is not set
|
||||
CT_ARCH_ARM_EABI_FORCE=y
|
||||
CT_ARCH_ARM_EABI=y
|
||||
CT_ALL_ARCH_CHOICES="ALPHA ARC ARM AVR M68K MICROBLAZE MIPS MOXIE MSP430 NIOS2 POWERPC RISCV S390 SH SPARC X86 XTENSA"
|
||||
CT_ALL_ARCH_CHOICES="ALPHA ARC ARM AVR C6X M68K MICROBLAZE MIPS MOXIE MSP430 NIOS2 POWERPC PRU RISCV S390 SH SPARC X86 XTENSA"
|
||||
CT_ARCH_SUFFIX=""
|
||||
# CT_OMIT_TARGET_VENDOR is not set
|
||||
|
||||
@@ -190,6 +200,7 @@ CT_ARCH_FLOAT_SW=y
|
||||
CT_TARGET_CFLAGS=""
|
||||
CT_TARGET_LDFLAGS=""
|
||||
CT_ARCH_FLOAT="soft"
|
||||
# end of Target options
|
||||
|
||||
#
|
||||
# Toolchain options
|
||||
@@ -234,6 +245,7 @@ CT_BUILD_SUFFIX=""
|
||||
# Misc options
|
||||
#
|
||||
# CT_TOOLCHAIN_ENABLE_NLS is not set
|
||||
# end of Toolchain options
|
||||
|
||||
#
|
||||
# Operating System
|
||||
@@ -250,9 +262,29 @@ CT_KERNEL_LINUX_SHOW=y
|
||||
#
|
||||
CT_KERNEL_LINUX_PKG_KSYM="LINUX"
|
||||
CT_LINUX_DIR_NAME="linux"
|
||||
CT_LINUX_USE_WWW_KERNEL_ORG=y
|
||||
# CT_LINUX_USE_ORACLE is not set
|
||||
CT_LINUX_USE="LINUX"
|
||||
CT_LINUX_PKG_NAME="linux"
|
||||
CT_LINUX_SRC_RELEASE=y
|
||||
# CT_LINUX_SRC_DEVEL is not set
|
||||
CT_LINUX_PATCH_ORDER="global"
|
||||
# CT_LINUX_V_5_17 is not set
|
||||
# CT_LINUX_V_5_16 is not set
|
||||
# CT_LINUX_V_5_15 is not set
|
||||
# CT_LINUX_V_5_14 is not set
|
||||
# CT_LINUX_V_5_13 is not set
|
||||
# CT_LINUX_V_5_12 is not set
|
||||
# CT_LINUX_V_5_11 is not set
|
||||
# CT_LINUX_V_5_10 is not set
|
||||
# CT_LINUX_V_5_9 is not set
|
||||
# CT_LINUX_V_5_8 is not set
|
||||
# CT_LINUX_V_5_7 is not set
|
||||
# CT_LINUX_V_5_4 is not set
|
||||
# CT_LINUX_V_5_3 is not set
|
||||
# CT_LINUX_V_5_2 is not set
|
||||
# CT_LINUX_V_5_1 is not set
|
||||
# CT_LINUX_V_5_0 is not set
|
||||
# CT_LINUX_V_4_20 is not set
|
||||
# CT_LINUX_V_4_19 is not set
|
||||
# CT_LINUX_V_4_18 is not set
|
||||
@@ -274,19 +306,25 @@ CT_LINUX_PATCH_ORDER="global"
|
||||
# CT_LINUX_V_3_4 is not set
|
||||
# CT_LINUX_V_3_2 is not set
|
||||
CT_LINUX_V_2_6_32=y
|
||||
# CT_LINUX_NO_VERSIONS is not set
|
||||
CT_LINUX_VERSION="2.6.32.71"
|
||||
CT_LINUX_MIRRORS="$(CT_Mirrors kernel.org linux ${CT_LINUX_VERSION})"
|
||||
CT_LINUX_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
|
||||
CT_LINUX_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
|
||||
CT_LINUX_ARCHIVE_FORMATS=".tar.xz .tar.gz"
|
||||
CT_LINUX_SIGNATURE_FORMAT="unpacked/.sign"
|
||||
CT_LINUX_5_12_or_older=y
|
||||
CT_LINUX_older_than_5_12=y
|
||||
CT_LINUX_5_5_or_older=y
|
||||
CT_LINUX_older_than_5_5=y
|
||||
CT_LINUX_5_3_or_older=y
|
||||
CT_LINUX_older_than_5_3=y
|
||||
CT_LINUX_4_8_or_older=y
|
||||
CT_LINUX_older_than_4_8=y
|
||||
CT_LINUX_3_7_or_older=y
|
||||
CT_LINUX_older_than_3_7=y
|
||||
CT_LINUX_3_2_or_older=y
|
||||
CT_LINUX_older_than_3_2=y
|
||||
CT_KERNEL_DEP_RSYNC=y
|
||||
CT_KERNEL_LINUX_VERBOSITY_0=y
|
||||
# CT_KERNEL_LINUX_VERBOSITY_1 is not set
|
||||
# CT_KERNEL_LINUX_VERBOSITY_2 is not set
|
||||
@@ -298,6 +336,7 @@ CT_ALL_KERNEL_CHOICES="BARE_METAL LINUX WINDOWS"
|
||||
# Common kernel options
|
||||
#
|
||||
CT_SHARED_LIBS=y
|
||||
# end of Operating System
|
||||
|
||||
#
|
||||
# Binary utilities
|
||||
@@ -314,10 +353,18 @@ CT_BINUTILS_BINUTILS_SHOW=y
|
||||
CT_BINUTILS_BINUTILS_PKG_KSYM="BINUTILS"
|
||||
CT_BINUTILS_DIR_NAME="binutils"
|
||||
CT_BINUTILS_USE_GNU=y
|
||||
# CT_BINUTILS_USE_ORACLE is not set
|
||||
CT_BINUTILS_USE="BINUTILS"
|
||||
CT_BINUTILS_PKG_NAME="binutils"
|
||||
CT_BINUTILS_SRC_RELEASE=y
|
||||
# CT_BINUTILS_SRC_DEVEL is not set
|
||||
CT_BINUTILS_PATCH_ORDER="global"
|
||||
# CT_BINUTILS_V_2_38 is not set
|
||||
# CT_BINUTILS_V_2_37 is not set
|
||||
# CT_BINUTILS_V_2_36 is not set
|
||||
# CT_BINUTILS_V_2_35 is not set
|
||||
# CT_BINUTILS_V_2_34 is not set
|
||||
# CT_BINUTILS_V_2_33 is not set
|
||||
CT_BINUTILS_V_2_32=y
|
||||
# CT_BINUTILS_V_2_31 is not set
|
||||
# CT_BINUTILS_V_2_30 is not set
|
||||
@@ -325,7 +372,6 @@ CT_BINUTILS_V_2_32=y
|
||||
# CT_BINUTILS_V_2_28 is not set
|
||||
# CT_BINUTILS_V_2_27 is not set
|
||||
# CT_BINUTILS_V_2_26 is not set
|
||||
# CT_BINUTILS_NO_VERSIONS is not set
|
||||
CT_BINUTILS_VERSION="2.32"
|
||||
CT_BINUTILS_MIRRORS="$(CT_Mirrors GNU binutils) $(CT_Mirrors sourceware binutils/releases)"
|
||||
CT_BINUTILS_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
|
||||
@@ -336,18 +382,12 @@ CT_BINUTILS_later_than_2_30=y
|
||||
CT_BINUTILS_2_30_or_later=y
|
||||
CT_BINUTILS_later_than_2_27=y
|
||||
CT_BINUTILS_2_27_or_later=y
|
||||
CT_BINUTILS_later_than_2_25=y
|
||||
CT_BINUTILS_2_25_or_later=y
|
||||
CT_BINUTILS_later_than_2_23=y
|
||||
CT_BINUTILS_2_23_or_later=y
|
||||
CT_BINUTILS_later_than_2_26=y
|
||||
CT_BINUTILS_2_26_or_later=y
|
||||
|
||||
#
|
||||
# GNU binutils
|
||||
#
|
||||
CT_BINUTILS_HAS_HASH_STYLE=y
|
||||
CT_BINUTILS_HAS_GOLD=y
|
||||
CT_BINUTILS_HAS_PLUGINS=y
|
||||
CT_BINUTILS_HAS_PKGVERSION_BUGURL=y
|
||||
CT_BINUTILS_GOLD_SUPPORTS_ARCH=y
|
||||
CT_BINUTILS_GOLD_SUPPORT=y
|
||||
# CT_BINUTILS_LINKER_LD is not set
|
||||
@@ -362,30 +402,36 @@ CT_BINUTILS_LD_WRAPPER=y
|
||||
CT_BINUTILS_LINKER_DEFAULT="bfd"
|
||||
CT_BINUTILS_PLUGINS=y
|
||||
CT_BINUTILS_RELRO=m
|
||||
CT_BINUTILS_DETERMINISTIC_ARCHIVES=y
|
||||
CT_BINUTILS_EXTRA_CONFIG_ARRAY=""
|
||||
# CT_BINUTILS_FOR_TARGET is not set
|
||||
CT_ALL_BINUTILS_CHOICES="BINUTILS"
|
||||
# end of Binary utilities
|
||||
|
||||
#
|
||||
# C-library
|
||||
#
|
||||
# CT_LIBC_GLIBC is not set
|
||||
CT_LIBC_UCLIBC=y
|
||||
CT_LIBC="uClibc"
|
||||
CT_LIBC_CHOICE_KSYM="UCLIBC"
|
||||
CT_LIBC_UCLIBC_NG=y
|
||||
CT_LIBC="uClibc-ng"
|
||||
CT_LIBC_CHOICE_KSYM="UCLIBC_NG"
|
||||
CT_THREADS="nptl"
|
||||
CT_LIBC_UCLIBC_SHOW=y
|
||||
CT_LIBC_UCLIBC_NG_SHOW=y
|
||||
|
||||
#
|
||||
# Options for uClibc
|
||||
# Options for uClibc-ng
|
||||
#
|
||||
CT_LIBC_UCLIBC_PKG_KSYM="UCLIBC"
|
||||
CT_UCLIBC_DIR_NAME="uClibc"
|
||||
CT_UCLIBC_USE_UCLIBC_NG_ORG=y
|
||||
CT_UCLIBC_USE="UCLIBC_NG"
|
||||
CT_LIBC_UCLIBC_NG_PKG_KSYM="UCLIBC_NG"
|
||||
CT_UCLIBC_NG_DIR_NAME="uClibc-ng"
|
||||
CT_UCLIBC_NG_PKG_NAME="uClibc-ng"
|
||||
CT_UCLIBC_NG_SRC_RELEASE=y
|
||||
# CT_UCLIBC_NG_SRC_DEVEL is not set
|
||||
CT_UCLIBC_NG_PATCH_ORDER="global"
|
||||
# CT_UCLIBC_NG_V_1_0_39 is not set
|
||||
# CT_UCLIBC_NG_V_1_0_38 is not set
|
||||
# CT_UCLIBC_NG_V_1_0_36 is not set
|
||||
# CT_UCLIBC_NG_V_1_0_33 is not set
|
||||
# CT_UCLIBC_NG_V_1_0_32 is not set
|
||||
# CT_UCLIBC_NG_V_1_0_31 is not set
|
||||
# CT_UCLIBC_NG_V_1_0_30 is not set
|
||||
CT_UCLIBC_NG_V_1_0_29=y
|
||||
@@ -393,27 +439,12 @@ CT_UCLIBC_NG_V_1_0_29=y
|
||||
# CT_UCLIBC_NG_V_1_0_27 is not set
|
||||
# CT_UCLIBC_NG_V_1_0_26 is not set
|
||||
# CT_UCLIBC_NG_V_1_0_25 is not set
|
||||
# CT_UCLIBC_NG_NO_VERSIONS is not set
|
||||
CT_UCLIBC_NG_VERSION="1.0.29"
|
||||
CT_UCLIBC_NG_MIRRORS="http://downloads.uclibc-ng.org/releases/${CT_UCLIBC_NG_VERSION}"
|
||||
CT_UCLIBC_NG_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
|
||||
CT_UCLIBC_NG_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
|
||||
CT_UCLIBC_NG_ARCHIVE_FORMATS=".tar.xz .tar.lz .tar.bz2 .tar.gz"
|
||||
CT_UCLIBC_NG_SIGNATURE_FORMAT="packed/.asc"
|
||||
CT_UCLIBC_later_than_1_0_23=y
|
||||
CT_UCLIBC_1_0_23_or_later=y
|
||||
CT_UCLIBC_later_than_1_0_21=y
|
||||
CT_UCLIBC_1_0_21_or_later=y
|
||||
CT_UCLIBC_later_than_1_0_15=y
|
||||
CT_UCLIBC_1_0_15_or_later=y
|
||||
CT_UCLIBC_later_than_1_0_0=y
|
||||
CT_UCLIBC_1_0_0_or_later=y
|
||||
CT_UCLIBC_later_than_0_9_33_2=y
|
||||
CT_UCLIBC_0_9_33_2_or_later=y
|
||||
CT_LIBC_UCLIBC_HAS_LIBICONV=y
|
||||
CT_LIBC_UCLIBC_PARALLEL=y
|
||||
CT_LIBC_UCLIBC_NG=y
|
||||
CT_UCLIBC_MERGED_LINUXTHREADS=y
|
||||
CT_LIBC_UCLIBC_VERBOSITY_0=y
|
||||
# CT_LIBC_UCLIBC_VERBOSITY_1 is not set
|
||||
# CT_LIBC_UCLIBC_VERBOSITY_2 is not set
|
||||
@@ -424,16 +455,15 @@ CT_LIBC_UCLIBC_DEBUG_LEVEL_0=y
|
||||
# CT_LIBC_UCLIBC_DEBUG_LEVEL_3 is not set
|
||||
CT_LIBC_UCLIBC_DEBUG_LEVEL=0
|
||||
CT_LIBC_UCLIBC_CONFIG_FILE=""
|
||||
CT_LIBC_UCLIBC_LNXTHRD=""
|
||||
# CT_LIBC_UCLIBC_LOCALES is not set
|
||||
# CT_LIBC_UCLIBC_LIBICONV is not set
|
||||
# CT_LIBC_UCLIBC_IPV6 is not set
|
||||
CT_LIBC_UCLIBC_IPV6=y
|
||||
CT_LIBC_UCLIBC_WCHAR=y
|
||||
# CT_LIBC_UCLIBC_FENV is not set
|
||||
CT_LIBC_UCLIBC_HAS_SSP=y
|
||||
# CT_LIBC_UCLIBC_BUILD_SSP is not set
|
||||
CT_LIBC_UCLIBC_USE_GNU_SUFFIX=y
|
||||
CT_ALL_LIBC_CHOICES="AVR_LIBC BIONIC GLIBC MINGW_W64 MOXIEBOX MUSL NEWLIB NONE UCLIBC"
|
||||
CT_ALL_LIBC_CHOICES="AVR_LIBC GLIBC MINGW_W64 MOXIEBOX MUSL NEWLIB NONE UCLIBC_NG"
|
||||
CT_LIBC_SUPPORT_THREADS_ANY=y
|
||||
CT_LIBC_SUPPORT_THREADS_NATIVE=y
|
||||
CT_LIBC_SUPPORT_THREADS_LT=y
|
||||
@@ -447,13 +477,12 @@ CT_THREADS_NATIVE=y
|
||||
# CT_THREADS_NONE is not set
|
||||
# CT_CREATE_LDSO_CONF is not set
|
||||
CT_LIBC_XLDD=y
|
||||
# end of C-library
|
||||
|
||||
#
|
||||
# C compiler
|
||||
#
|
||||
CT_CC_CORE_PASSES_NEEDED=y
|
||||
CT_CC_CORE_PASS_1_NEEDED=y
|
||||
CT_CC_CORE_PASS_2_NEEDED=y
|
||||
CT_CC_CORE_NEEDED=y
|
||||
CT_CC_SUPPORT_CXX=y
|
||||
CT_CC_SUPPORT_FORTRAN=y
|
||||
CT_CC_SUPPORT_ADA=y
|
||||
@@ -474,19 +503,33 @@ CT_GCC_USE_GNU=y
|
||||
CT_GCC_USE="GCC"
|
||||
CT_GCC_PKG_NAME="gcc"
|
||||
CT_GCC_SRC_RELEASE=y
|
||||
# CT_GCC_SRC_DEVEL is not set
|
||||
CT_GCC_PATCH_ORDER="global"
|
||||
# CT_GCC_V_12 is not set
|
||||
# CT_GCC_V_11 is not set
|
||||
# CT_GCC_V_10 is not set
|
||||
# CT_GCC_V_9 is not set
|
||||
CT_GCC_V_8=y
|
||||
# CT_GCC_V_7 is not set
|
||||
# CT_GCC_V_6 is not set
|
||||
# CT_GCC_V_5 is not set
|
||||
# CT_GCC_V_4_9 is not set
|
||||
# CT_GCC_NO_VERSIONS is not set
|
||||
CT_GCC_VERSION="8.3.0"
|
||||
CT_GCC_VERSION="8.5.0"
|
||||
CT_GCC_MIRRORS="$(CT_Mirrors GNU gcc/gcc-${CT_GCC_VERSION}) $(CT_Mirrors sourceware gcc/releases/gcc-${CT_GCC_VERSION})"
|
||||
CT_GCC_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
|
||||
CT_GCC_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
|
||||
CT_GCC_ARCHIVE_FORMATS=".tar.xz .tar.gz"
|
||||
CT_GCC_SIGNATURE_FORMAT=""
|
||||
CT_GCC_12_or_older=y
|
||||
CT_GCC_older_than_12=y
|
||||
CT_GCC_11_or_older=y
|
||||
CT_GCC_older_than_11=y
|
||||
CT_GCC_10_or_older=y
|
||||
CT_GCC_older_than_10=y
|
||||
CT_GCC_9_or_older=y
|
||||
CT_GCC_older_than_9=y
|
||||
CT_GCC_later_than_8=y
|
||||
CT_GCC_8_or_later=y
|
||||
CT_GCC_later_than_7=y
|
||||
CT_GCC_7_or_later=y
|
||||
CT_GCC_later_than_6=y
|
||||
@@ -495,8 +538,6 @@ CT_GCC_later_than_5=y
|
||||
CT_GCC_5_or_later=y
|
||||
CT_GCC_later_than_4_9=y
|
||||
CT_GCC_4_9_or_later=y
|
||||
CT_GCC_later_than_4_8=y
|
||||
CT_GCC_4_8_or_later=y
|
||||
CT_CC_GCC_ENABLE_PLUGINS=y
|
||||
CT_CC_GCC_GOLD=y
|
||||
CT_CC_GCC_HAS_LIBMPX=y
|
||||
@@ -535,10 +576,11 @@ CT_CC_GCC_LNK_HASH_STYLE_DEFAULT=y
|
||||
# CT_CC_GCC_LNK_HASH_STYLE_GNU is not set
|
||||
# CT_CC_GCC_LNK_HASH_STYLE_BOTH is not set
|
||||
CT_CC_GCC_LNK_HASH_STYLE=""
|
||||
CT_CC_GCC_DEC_FLOAT_AUTO=y
|
||||
# CT_CC_GCC_DEC_FLOAT_BID is not set
|
||||
# CT_CC_GCC_DEC_FLOAT_DPD is not set
|
||||
CT_CC_GCC_DEC_FLOATS_AUTO=y
|
||||
# CT_CC_GCC_DEC_FLOATS_BID is not set
|
||||
# CT_CC_GCC_DEC_FLOATS_DPD is not set
|
||||
# CT_CC_GCC_DEC_FLOATS_NO is not set
|
||||
CT_CC_GCC_DEC_FLOATS=""
|
||||
CT_ALL_CC_CHOICES="GCC"
|
||||
|
||||
#
|
||||
@@ -546,54 +588,36 @@ CT_ALL_CC_CHOICES="GCC"
|
||||
#
|
||||
CT_CC_LANG_CXX=y
|
||||
# CT_CC_LANG_FORTRAN is not set
|
||||
# end of C compiler
|
||||
|
||||
#
|
||||
# Debug facilities
|
||||
#
|
||||
CT_DEBUG_DUMA=y
|
||||
CT_DEBUG_DUMA_PKG_KSYM="DUMA"
|
||||
CT_DUMA_DIR_NAME="duma"
|
||||
CT_DUMA_PKG_NAME="duma"
|
||||
CT_DUMA_SRC_RELEASE=y
|
||||
CT_DUMA_PATCH_ORDER="global"
|
||||
CT_DUMA_V_2_5_15=y
|
||||
# CT_DUMA_NO_VERSIONS is not set
|
||||
CT_DUMA_VERSION="2_5_15"
|
||||
CT_DUMA_MIRRORS="http://downloads.sourceforge.net/project/duma/duma/${CT_DUMA_VERSION//_/.}"
|
||||
CT_DUMA_ARCHIVE_FILENAME="@{pkg_name}_@{version}"
|
||||
CT_DUMA_ARCHIVE_DIRNAME="@{pkg_name}_@{version}"
|
||||
CT_DUMA_ARCHIVE_FORMATS=".tar.gz .zip"
|
||||
CT_DUMA_SIGNATURE_FORMAT=""
|
||||
CT_DUMA_SO=y
|
||||
CT_DUMA_CUSTOM_WRAPPER=y
|
||||
# CT_DEBUG_DUMA is not set
|
||||
CT_DEBUG_GDB=y
|
||||
CT_DEBUG_GDB_PKG_KSYM="GDB"
|
||||
CT_GDB_DIR_NAME="gdb"
|
||||
CT_GDB_USE_GNU=y
|
||||
CT_GDB_USE="GDB"
|
||||
CT_GDB_PKG_NAME="gdb"
|
||||
CT_GDB_SRC_RELEASE=y
|
||||
# CT_GDB_SRC_DEVEL is not set
|
||||
CT_GDB_PATCH_ORDER="global"
|
||||
CT_GDB_V_8_2=y
|
||||
# CT_GDB_V_8_1 is not set
|
||||
# CT_GDB_V_8_0 is not set
|
||||
# CT_GDB_V_7_12 is not set
|
||||
# CT_GDB_V_7_11 is not set
|
||||
# CT_GDB_NO_VERSIONS is not set
|
||||
CT_GDB_VERSION="8.2.1"
|
||||
CT_GDB_V_9=y
|
||||
# CT_GDB_V_8_3 is not set
|
||||
CT_GDB_VERSION="9.2"
|
||||
CT_GDB_MIRRORS="$(CT_Mirrors GNU gdb) $(CT_Mirrors sourceware gdb/releases)"
|
||||
CT_GDB_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
|
||||
CT_GDB_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
|
||||
CT_GDB_ARCHIVE_FORMATS=".tar.xz .tar.gz"
|
||||
CT_GDB_SIGNATURE_FORMAT=""
|
||||
CT_GDB_later_than_8_0=y
|
||||
CT_GDB_8_0_or_later=y
|
||||
CT_GDB_later_than_7_12=y
|
||||
CT_GDB_7_12_or_later=y
|
||||
CT_GDB_later_than_7_2=y
|
||||
CT_GDB_7_2_or_later=y
|
||||
CT_GDB_later_than_7_0=y
|
||||
CT_GDB_7_0_or_later=y
|
||||
CT_GDB_12_or_older=y
|
||||
CT_GDB_older_than_12=y
|
||||
CT_GDB_11_or_older=y
|
||||
CT_GDB_older_than_11=y
|
||||
CT_GDB_10_or_older=y
|
||||
CT_GDB_older_than_10=y
|
||||
CT_GDB_REQUIRE_older_than_10=y
|
||||
CT_GDB_later_than_8_3=y
|
||||
CT_GDB_8_3_or_later=y
|
||||
CT_GDB_CROSS=y
|
||||
CT_GDB_CROSS_STATIC=y
|
||||
# CT_GDB_CROSS_SIM is not set
|
||||
@@ -601,20 +625,17 @@ CT_GDB_CROSS_EXTRA_CONFIG_ARRAY=""
|
||||
CT_GDB_NATIVE=y
|
||||
CT_GDB_GDBSERVER=y
|
||||
# CT_GDB_NATIVE_STATIC_LIBSTDCXX is not set
|
||||
CT_GDB_HAS_PKGVERSION_BUGURL=y
|
||||
CT_GDB_HAS_PYTHON=y
|
||||
CT_GDB_INSTALL_GDBINIT=y
|
||||
CT_GDB_HAS_IPA_LIB=y
|
||||
CT_GDB_DEP_NO_STD_FUTURE=y
|
||||
CT_DEBUG_LTRACE=y
|
||||
CT_DEBUG_LTRACE_PKG_KSYM="LTRACE"
|
||||
CT_LTRACE_DIR_NAME="ltrace"
|
||||
CT_LTRACE_PKG_NAME="ltrace"
|
||||
CT_LTRACE_SRC_RELEASE=y
|
||||
# CT_LTRACE_SRC_DEVEL is not set
|
||||
CT_LTRACE_PATCH_ORDER="global"
|
||||
CT_LTRACE_V_0_7_3=y
|
||||
# CT_LTRACE_NO_VERSIONS is not set
|
||||
CT_LTRACE_VERSION="0.7.3"
|
||||
CT_LTRACE_MIRRORS="http://ftp.debian.org/debian/pool/main/l/ltrace ftp:://ftp.debian.org/debian/pool/main/l/ltrace"
|
||||
CT_LTRACE_MIRRORS="http://ftp.debian.org/debian/pool/main/l/ltrace ftp://ftp.debian.org/debian/pool/main/l/ltrace"
|
||||
CT_LTRACE_ARCHIVE_FILENAME="@{pkg_name}_@{version}.orig"
|
||||
CT_LTRACE_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
|
||||
CT_LTRACE_ARCHIVE_FORMATS=".tar.bz2"
|
||||
@@ -624,27 +645,17 @@ CT_DEBUG_STRACE_PKG_KSYM="STRACE"
|
||||
CT_STRACE_DIR_NAME="strace"
|
||||
CT_STRACE_PKG_NAME="strace"
|
||||
CT_STRACE_SRC_RELEASE=y
|
||||
# CT_STRACE_SRC_DEVEL is not set
|
||||
CT_STRACE_PATCH_ORDER="global"
|
||||
CT_STRACE_V_4_26=y
|
||||
# CT_STRACE_V_4_25 is not set
|
||||
# CT_STRACE_V_4_24 is not set
|
||||
# CT_STRACE_V_4_23 is not set
|
||||
# CT_STRACE_V_4_22 is not set
|
||||
# CT_STRACE_V_4_21 is not set
|
||||
# CT_STRACE_V_4_20 is not set
|
||||
# CT_STRACE_V_4_19 is not set
|
||||
# CT_STRACE_V_4_18 is not set
|
||||
# CT_STRACE_V_4_17 is not set
|
||||
# CT_STRACE_V_4_16 is not set
|
||||
# CT_STRACE_V_4_15 is not set
|
||||
# CT_STRACE_NO_VERSIONS is not set
|
||||
CT_STRACE_VERSION="4.26"
|
||||
CT_STRACE_MIRRORS="https://strace.io/files/${CT_STRACE_VERSION}"
|
||||
CT_STRACE_V_5_16=y
|
||||
CT_STRACE_VERSION="5.16"
|
||||
CT_STRACE_MIRRORS="https://strace.io/files/${CT_STRACE_VERSION} https://github.com/strace/strace/releases/download/v${CT_STRACE_VERSION}"
|
||||
CT_STRACE_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
|
||||
CT_STRACE_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
|
||||
CT_STRACE_ARCHIVE_FORMATS=".tar.xz"
|
||||
CT_STRACE_SIGNATURE_FORMAT=""
|
||||
CT_ALL_DEBUG_CHOICES="DUMA GDB LTRACE STRACE"
|
||||
# end of Debug facilities
|
||||
|
||||
#
|
||||
# Companion libraries
|
||||
@@ -656,14 +667,14 @@ CT_COMP_LIBS_EXPAT_PKG_KSYM="EXPAT"
|
||||
CT_EXPAT_DIR_NAME="expat"
|
||||
CT_EXPAT_PKG_NAME="expat"
|
||||
CT_EXPAT_SRC_RELEASE=y
|
||||
# CT_EXPAT_SRC_DEVEL is not set
|
||||
CT_EXPAT_PATCH_ORDER="global"
|
||||
CT_EXPAT_V_2_2=y
|
||||
# CT_EXPAT_NO_VERSIONS is not set
|
||||
CT_EXPAT_VERSION="2.2.6"
|
||||
CT_EXPAT_MIRRORS="https://github.com/libexpat/libexpat/releases/download/R_2_2_6"
|
||||
CT_EXPAT_V_2_4=y
|
||||
CT_EXPAT_VERSION="2.4.1"
|
||||
CT_EXPAT_MIRRORS="http://downloads.sourceforge.net/project/expat/expat/${CT_EXPAT_VERSION} https://github.com/libexpat/libexpat/releases/download/R_${CT_EXPAT_VERSION//./_}"
|
||||
CT_EXPAT_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
|
||||
CT_EXPAT_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
|
||||
CT_EXPAT_ARCHIVE_FORMATS=".tar.bz2"
|
||||
CT_EXPAT_ARCHIVE_FORMATS=".tar.xz .tar.lz .tar.bz2 .tar.gz"
|
||||
CT_EXPAT_SIGNATURE_FORMAT=""
|
||||
# CT_COMP_LIBS_GETTEXT is not set
|
||||
CT_COMP_LIBS_GMP=y
|
||||
@@ -671,33 +682,33 @@ CT_COMP_LIBS_GMP_PKG_KSYM="GMP"
|
||||
CT_GMP_DIR_NAME="gmp"
|
||||
CT_GMP_PKG_NAME="gmp"
|
||||
CT_GMP_SRC_RELEASE=y
|
||||
# CT_GMP_SRC_DEVEL is not set
|
||||
CT_GMP_PATCH_ORDER="global"
|
||||
# CT_GMP_V_6_2 is not set
|
||||
CT_GMP_V_6_1=y
|
||||
# CT_GMP_NO_VERSIONS is not set
|
||||
CT_GMP_VERSION="6.1.2"
|
||||
CT_GMP_MIRRORS="https://gmplib.org/download/gmp https://gmplib.org/download/gmp/archive $(CT_Mirrors GNU gmp)"
|
||||
CT_GMP_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
|
||||
CT_GMP_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
|
||||
CT_GMP_ARCHIVE_FORMATS=".tar.xz .tar.lz .tar.bz2"
|
||||
CT_GMP_SIGNATURE_FORMAT="packed/.sig"
|
||||
CT_GMP_later_than_5_1_0=y
|
||||
CT_GMP_5_1_0_or_later=y
|
||||
CT_GMP_later_than_5_0_0=y
|
||||
CT_GMP_5_0_0_or_later=y
|
||||
CT_GMP_REQUIRE_5_0_0_or_later=y
|
||||
CT_COMP_LIBS_ISL=y
|
||||
CT_COMP_LIBS_ISL_PKG_KSYM="ISL"
|
||||
CT_ISL_DIR_NAME="isl"
|
||||
CT_ISL_PKG_NAME="isl"
|
||||
CT_ISL_SRC_RELEASE=y
|
||||
# CT_ISL_SRC_DEVEL is not set
|
||||
CT_ISL_PATCH_ORDER="global"
|
||||
# CT_ISL_V_0_24 is not set
|
||||
# CT_ISL_V_0_23 is not set
|
||||
# CT_ISL_V_0_22 is not set
|
||||
# CT_ISL_V_0_21 is not set
|
||||
CT_ISL_V_0_20=y
|
||||
# CT_ISL_V_0_19 is not set
|
||||
# CT_ISL_V_0_18 is not set
|
||||
# CT_ISL_V_0_17 is not set
|
||||
# CT_ISL_V_0_16 is not set
|
||||
# CT_ISL_V_0_15 is not set
|
||||
# CT_ISL_NO_VERSIONS is not set
|
||||
CT_ISL_VERSION="0.20"
|
||||
CT_ISL_MIRRORS="https://libisl.sourceforge.io"
|
||||
CT_ISL_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
|
||||
@@ -708,25 +719,16 @@ CT_ISL_later_than_0_18=y
|
||||
CT_ISL_0_18_or_later=y
|
||||
CT_ISL_later_than_0_15=y
|
||||
CT_ISL_0_15_or_later=y
|
||||
CT_ISL_REQUIRE_0_15_or_later=y
|
||||
CT_ISL_later_than_0_14=y
|
||||
CT_ISL_0_14_or_later=y
|
||||
CT_ISL_REQUIRE_0_14_or_later=y
|
||||
CT_ISL_later_than_0_13=y
|
||||
CT_ISL_0_13_or_later=y
|
||||
CT_ISL_later_than_0_12=y
|
||||
CT_ISL_0_12_or_later=y
|
||||
CT_ISL_REQUIRE_0_12_or_later=y
|
||||
CT_COMP_LIBS_LIBELF=y
|
||||
CT_COMP_LIBS_LIBELF_PKG_KSYM="LIBELF"
|
||||
CT_LIBELF_DIR_NAME="libelf"
|
||||
CT_LIBELF_PKG_NAME="libelf"
|
||||
CT_LIBELF_SRC_RELEASE=y
|
||||
# CT_LIBELF_SRC_DEVEL is not set
|
||||
CT_LIBELF_PATCH_ORDER="global"
|
||||
CT_LIBELF_V_0_8=y
|
||||
# CT_LIBELF_NO_VERSIONS is not set
|
||||
CT_LIBELF_VERSION="0.8.13"
|
||||
CT_LIBELF_MIRRORS="http://www.mr511.de/software https://fossies.org/linux/misc/old"
|
||||
CT_LIBELF_MIRRORS="https://fossies.org/linux/misc/old http://oe-lite.org/mirror/libelf/ http://ftp.osuosl.org/pub/blfs/conglomeration/libelf/"
|
||||
CT_LIBELF_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
|
||||
CT_LIBELF_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
|
||||
CT_LIBELF_ARCHIVE_FORMATS=".tar.gz"
|
||||
@@ -737,10 +739,11 @@ CT_COMP_LIBS_MPC_PKG_KSYM="MPC"
|
||||
CT_MPC_DIR_NAME="mpc"
|
||||
CT_MPC_PKG_NAME="mpc"
|
||||
CT_MPC_SRC_RELEASE=y
|
||||
# CT_MPC_SRC_DEVEL is not set
|
||||
CT_MPC_PATCH_ORDER="global"
|
||||
# CT_MPC_V_1_2 is not set
|
||||
CT_MPC_V_1_1=y
|
||||
# CT_MPC_V_1_0 is not set
|
||||
# CT_MPC_NO_VERSIONS is not set
|
||||
CT_MPC_VERSION="1.1.0"
|
||||
CT_MPC_MIRRORS="http://www.multiprecision.org/downloads $(CT_Mirrors GNU mpc)"
|
||||
CT_MPC_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
|
||||
@@ -754,10 +757,11 @@ CT_COMP_LIBS_MPFR_PKG_KSYM="MPFR"
|
||||
CT_MPFR_DIR_NAME="mpfr"
|
||||
CT_MPFR_PKG_NAME="mpfr"
|
||||
CT_MPFR_SRC_RELEASE=y
|
||||
# CT_MPFR_SRC_DEVEL is not set
|
||||
CT_MPFR_PATCH_ORDER="global"
|
||||
# CT_MPFR_V_4_1 is not set
|
||||
CT_MPFR_V_4_0=y
|
||||
# CT_MPFR_V_3_1 is not set
|
||||
# CT_MPFR_NO_VERSIONS is not set
|
||||
CT_MPFR_VERSION="4.0.2"
|
||||
CT_MPFR_MIRRORS="http://www.mpfr.org/mpfr-${CT_MPFR_VERSION} $(CT_Mirrors GNU mpfr)"
|
||||
CT_MPFR_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
|
||||
@@ -766,24 +770,23 @@ CT_MPFR_ARCHIVE_FORMATS=".tar.xz .tar.bz2 .tar.gz .zip"
|
||||
CT_MPFR_SIGNATURE_FORMAT="packed/.asc"
|
||||
CT_MPFR_later_than_4_0_0=y
|
||||
CT_MPFR_4_0_0_or_later=y
|
||||
CT_MPFR_later_than_3_0_0=y
|
||||
CT_MPFR_3_0_0_or_later=y
|
||||
CT_MPFR_REQUIRE_3_0_0_or_later=y
|
||||
CT_COMP_LIBS_NCURSES=y
|
||||
CT_COMP_LIBS_NCURSES_PKG_KSYM="NCURSES"
|
||||
CT_NCURSES_DIR_NAME="ncurses"
|
||||
CT_NCURSES_PKG_NAME="ncurses"
|
||||
CT_NCURSES_SRC_RELEASE=y
|
||||
# CT_NCURSES_SRC_DEVEL is not set
|
||||
CT_NCURSES_PATCH_ORDER="global"
|
||||
# CT_NCURSES_V_6_2 is not set
|
||||
CT_NCURSES_V_6_1=y
|
||||
# CT_NCURSES_V_6_0 is not set
|
||||
# CT_NCURSES_NO_VERSIONS is not set
|
||||
CT_NCURSES_VERSION="6.1"
|
||||
CT_NCURSES_MIRRORS="ftp://invisible-island.net/ncurses $(CT_Mirrors GNU ncurses)"
|
||||
CT_NCURSES_MIRRORS="https://invisible-mirror.net/archives/ncurses $(CT_Mirrors GNU ncurses)"
|
||||
CT_NCURSES_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
|
||||
CT_NCURSES_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
|
||||
CT_NCURSES_ARCHIVE_FORMATS=".tar.gz"
|
||||
CT_NCURSES_SIGNATURE_FORMAT="packed/.sig"
|
||||
CT_NCURSES_NEW_ABI=y
|
||||
CT_NCURSES_HOST_CONFIG_ARGS=""
|
||||
CT_NCURSES_HOST_DISABLE_DB=y
|
||||
CT_NCURSES_HOST_FALLBACKS="linux,xterm,xterm-color,xterm-256color,vt100"
|
||||
@@ -795,16 +798,16 @@ CT_COMP_LIBS_ZLIB_PKG_KSYM="ZLIB"
|
||||
CT_ZLIB_DIR_NAME="zlib"
|
||||
CT_ZLIB_PKG_NAME="zlib"
|
||||
CT_ZLIB_SRC_RELEASE=y
|
||||
# CT_ZLIB_SRC_DEVEL is not set
|
||||
CT_ZLIB_PATCH_ORDER="global"
|
||||
CT_ZLIB_V_1_2_11=y
|
||||
# CT_ZLIB_NO_VERSIONS is not set
|
||||
CT_ZLIB_VERSION="1.2.11"
|
||||
CT_ZLIB_MIRRORS="http://downloads.sourceforge.net/project/libpng/zlib/${CT_ZLIB_VERSION}"
|
||||
CT_ZLIB_V_1_2_13=y
|
||||
CT_ZLIB_VERSION="1.2.13"
|
||||
CT_ZLIB_MIRRORS="https://github.com/madler/zlib/releases/download/v${CT_ZLIB_VERSION} https://www.zlib.net/"
|
||||
CT_ZLIB_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
|
||||
CT_ZLIB_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
|
||||
CT_ZLIB_ARCHIVE_FORMATS=".tar.xz .tar.gz"
|
||||
CT_ZLIB_SIGNATURE_FORMAT="packed/.asc"
|
||||
CT_ALL_COMP_LIBS_CHOICES="CLOOG EXPAT GETTEXT GMP ISL LIBELF LIBICONV MPC MPFR NCURSES ZLIB"
|
||||
CT_ALL_COMP_LIBS_CHOICES="CLOOG EXPAT GETTEXT GMP GNUPRUMCU ISL LIBELF LIBICONV MPC MPFR NCURSES NEWLIB_NANO PICOLIBC ZLIB"
|
||||
# CT_LIBICONV_NEEDED is not set
|
||||
# CT_GETTEXT_NEEDED is not set
|
||||
CT_GMP_NEEDED=y
|
||||
@@ -824,6 +827,7 @@ CT_MPC=y
|
||||
CT_EXPAT=y
|
||||
CT_NCURSES=y
|
||||
CT_ZLIB=y
|
||||
# end of Companion libraries
|
||||
|
||||
#
|
||||
# Companion tools
|
||||
@@ -837,3 +841,4 @@ CT_ZLIB=y
|
||||
# CT_COMP_TOOLS_M4 is not set
|
||||
# CT_COMP_TOOLS_MAKE is not set
|
||||
CT_ALL_COMP_TOOLS_CHOICES="AUTOCONF AUTOMAKE BISON DTC LIBTOOL M4 MAKE"
|
||||
# end of Companion tools
|
||||
|
||||
@@ -0,0 +1,13 @@
|
||||
BASE_IMAGE_REGISTRY ?= docker.io
|
||||
BASE_IMAGE_PATH ?= dockcross
|
||||
BASE_IMAGE_NAME = base
|
||||
BASE_IMAGE_TAG = latest
|
||||
|
||||
OUTPUT_IMAGE_REGISTRY ?= docker.io
|
||||
OUTPUT_IMAGE_PATH ?= dockcross
|
||||
OUTPUT_IMAGE_NAME = linux-armv5-uclibc
|
||||
|
||||
# Extra tests (see CONTRIBUTING.md / Makefile "Extra tests" section)
|
||||
EXTRA_TESTS = ninja openssl SQLite fmt cpython
|
||||
OPENSSL_ARGS = linux-armv4
|
||||
CPYTHON_ARGS = --host=arm-unknown-linux-uclibcgnueabi --target=arm-unknown-linux-uclibcgnueabi
|
||||
+14
-15
@@ -1,14 +1,13 @@
|
||||
FROM dockcross/base:latest
|
||||
ARG ORG=dockcross
|
||||
FROM ${ORG}/base:latest
|
||||
|
||||
LABEL maintainer="Matt McCormick matt.mccormick@kitware.com"
|
||||
LABEL maintainer="Matt McCormick matt@mmmccormick.com"
|
||||
|
||||
# This is for ARMv5 "legacy" (armel) devices which do NOT support hard float
|
||||
# VFP instructions (armhf).
|
||||
|
||||
# Crosstool-ng version
|
||||
# We use a git commit while waiting for 1.25 to release (1.24 is several years old)
|
||||
# crosstool-ng master 2021-09-20
|
||||
ENV CT_VERSION 5f5a22f7a7307790ec571d0c5acf8790416964e6
|
||||
# Crosstool-ng version 2022-05-19
|
||||
ENV CT_VERSION=crosstool-ng-1.25.0
|
||||
|
||||
#include "common.crosstool"
|
||||
|
||||
@@ -23,8 +22,8 @@ RUN apt-get update \
|
||||
|
||||
|
||||
# The CROSS_TRIPLE is a configured alias of the "aarch64-unknown-linux-gnueabi" target.
|
||||
ENV CROSS_TRIPLE armv5-unknown-linux-gnueabi
|
||||
ENV CROSS_ROOT ${XCC_PREFIX}/${CROSS_TRIPLE}
|
||||
ENV CROSS_TRIPLE=armv5-unknown-linux-gnueabi
|
||||
ENV CROSS_ROOT=${XCC_PREFIX}/${CROSS_TRIPLE}
|
||||
ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \
|
||||
AR=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ar \
|
||||
CC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gcc \
|
||||
@@ -33,17 +32,17 @@ ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \
|
||||
LD=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ld \
|
||||
FC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gfortran
|
||||
|
||||
ENV QEMU_LD_PREFIX "${CROSS_ROOT}/${CROSS_TRIPLE}/sysroot"
|
||||
ENV QEMU_SET_ENV "LD_LIBRARY_PATH=${CROSS_ROOT}/lib:${QEMU_LD_PREFIX}"
|
||||
ENV QEMU_LD_PREFIX="${CROSS_ROOT}/${CROSS_TRIPLE}/sysroot"
|
||||
ENV QEMU_SET_ENV="LD_LIBRARY_PATH=${CROSS_ROOT}/lib:${QEMU_LD_PREFIX}"
|
||||
|
||||
COPY Toolchain.cmake ${CROSS_ROOT}/
|
||||
ENV CMAKE_TOOLCHAIN_FILE ${CROSS_ROOT}/Toolchain.cmake
|
||||
ENV CMAKE_TOOLCHAIN_FILE=${CROSS_ROOT}/Toolchain.cmake
|
||||
|
||||
ENV PKG_CONFIG_PATH /usr/lib/arm-linux-gnueabihf/
|
||||
ENV PKG_CONFIG_PATH=/usr/lib/arm-linux-gnueabi/pkgconfig
|
||||
|
||||
# Linux kernel cross compilation variables
|
||||
ENV PATH ${PATH}:${CROSS_ROOT}/bin
|
||||
ENV CROSS_COMPILE ${CROSS_TRIPLE}-
|
||||
ENV ARCH arm
|
||||
ENV PATH=${PATH}:${CROSS_ROOT}/bin
|
||||
ENV CROSS_COMPILE=${CROSS_TRIPLE}-
|
||||
ENV ARCH=arm
|
||||
|
||||
#include "common.label-and-env"
|
||||
|
||||
@@ -11,10 +11,10 @@ set(CMAKE_Fortran_COMPILER $ENV{FC})
|
||||
|
||||
set(CMAKE_CXX_FLAGS "-I ${cross_root}/include/")
|
||||
|
||||
set(CMAKE_FIND_ROOT_PATH ${cross_root} ${cross_root}/${cross_triple})
|
||||
list(APPEND CMAKE_FIND_ROOT_PATH ${CMAKE_PREFIX_PATH} ${cross_root} ${cross_root}/${cross_triple})
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY BOTH)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
|
||||
set(CMAKE_SYSROOT ${cross_root}/${cross_triple}/sysroot)
|
||||
|
||||
set(CMAKE_CROSSCOMPILING_EMULATOR /usr/bin/qemu-arm)
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
#
|
||||
# Automatically generated file; DO NOT EDIT.
|
||||
# crosstool-NG 1.24.0.450_5f5a22f Configuration
|
||||
# crosstool-NG 1.25.0.26_db6f703 Configuration
|
||||
#
|
||||
CT_CONFIGURE_has_static_link=y
|
||||
CT_CONFIGURE_has_cxx11=y
|
||||
@@ -8,6 +8,7 @@ CT_CONFIGURE_has_wget=y
|
||||
CT_CONFIGURE_has_curl=y
|
||||
CT_CONFIGURE_has_meson=y
|
||||
CT_CONFIGURE_has_ninja=y
|
||||
CT_CONFIGURE_has_rsync=y
|
||||
CT_CONFIGURE_has_make_3_81_or_newer=y
|
||||
CT_CONFIGURE_has_make_4_0_or_newer=y
|
||||
CT_CONFIGURE_has_libtool_2_4_or_newer=y
|
||||
@@ -26,11 +27,11 @@ CT_CONFIGURE_has_sha1sum=y
|
||||
CT_CONFIGURE_has_sha256sum=y
|
||||
CT_CONFIGURE_has_sha512sum=y
|
||||
CT_CONFIGURE_has_install_with_strip_program=y
|
||||
CT_VERSION="1.24.0.450_5f5a22f"
|
||||
CT_VERSION="1.25.0.26_db6f703"
|
||||
CT_VCHECK=""
|
||||
CT_CONFIG_VERSION_ENV="3"
|
||||
CT_CONFIG_VERSION_CURRENT="3"
|
||||
CT_CONFIG_VERSION="3"
|
||||
CT_CONFIG_VERSION_ENV="4"
|
||||
CT_CONFIG_VERSION_CURRENT="4"
|
||||
CT_CONFIG_VERSION="4"
|
||||
CT_MODULES=y
|
||||
|
||||
#
|
||||
@@ -119,7 +120,7 @@ CT_LOG_EXTRA=y
|
||||
# CT_LOG_DEBUG is not set
|
||||
CT_LOG_LEVEL_MAX="EXTRA"
|
||||
# CT_LOG_SEE_TOOLS_WARN is not set
|
||||
CT_LOG_PROGRESS_BAR=y
|
||||
CT_LOG_PROGRESS_BAR=n
|
||||
CT_LOG_TO_FILE=y
|
||||
CT_LOG_FILE_COMPRESS=y
|
||||
# end of Paths and misc options
|
||||
@@ -268,6 +269,9 @@ CT_LINUX_PKG_NAME="linux"
|
||||
CT_LINUX_SRC_RELEASE=y
|
||||
# CT_LINUX_SRC_DEVEL is not set
|
||||
CT_LINUX_PATCH_ORDER="global"
|
||||
# CT_LINUX_V_5_17 is not set
|
||||
# CT_LINUX_V_5_16 is not set
|
||||
# CT_LINUX_V_5_15 is not set
|
||||
CT_LINUX_V_5_14=y
|
||||
# CT_LINUX_V_5_13 is not set
|
||||
# CT_LINUX_V_5_12 is not set
|
||||
@@ -301,12 +305,18 @@ CT_LINUX_V_5_14=y
|
||||
# CT_LINUX_V_3_10 is not set
|
||||
# CT_LINUX_V_3_4 is not set
|
||||
# CT_LINUX_V_3_2 is not set
|
||||
CT_LINUX_VERSION="5.14.1"
|
||||
CT_LINUX_VERSION="5.14.18"
|
||||
CT_LINUX_MIRRORS="$(CT_Mirrors kernel.org linux ${CT_LINUX_VERSION})"
|
||||
CT_LINUX_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
|
||||
CT_LINUX_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
|
||||
CT_LINUX_ARCHIVE_FORMATS=".tar.xz .tar.gz"
|
||||
CT_LINUX_SIGNATURE_FORMAT="unpacked/.sign"
|
||||
CT_LINUX_later_than_5_12=y
|
||||
CT_LINUX_5_12_or_later=y
|
||||
CT_LINUX_later_than_5_5=y
|
||||
CT_LINUX_5_5_or_later=y
|
||||
CT_LINUX_later_than_5_3=y
|
||||
CT_LINUX_5_3_or_later=y
|
||||
CT_LINUX_later_than_4_8=y
|
||||
CT_LINUX_4_8_or_later=y
|
||||
CT_LINUX_later_than_3_7=y
|
||||
@@ -314,11 +324,11 @@ CT_LINUX_3_7_or_later=y
|
||||
CT_LINUX_later_than_3_2=y
|
||||
CT_LINUX_3_2_or_later=y
|
||||
CT_LINUX_REQUIRE_3_2_or_later=y
|
||||
CT_KERNEL_DEP_RSYNC=y
|
||||
CT_KERNEL_LINUX_VERBOSITY_0=y
|
||||
# CT_KERNEL_LINUX_VERBOSITY_1 is not set
|
||||
# CT_KERNEL_LINUX_VERBOSITY_2 is not set
|
||||
CT_KERNEL_LINUX_VERBOSE_LEVEL=0
|
||||
CT_KERNEL_LINUX_INSTALL_CHECK=y
|
||||
CT_ALL_KERNEL_CHOICES="BARE_METAL LINUX WINDOWS"
|
||||
|
||||
#
|
||||
@@ -348,6 +358,7 @@ CT_BINUTILS_PKG_NAME="binutils"
|
||||
CT_BINUTILS_SRC_RELEASE=y
|
||||
# CT_BINUTILS_SRC_DEVEL is not set
|
||||
CT_BINUTILS_PATCH_ORDER="global"
|
||||
# CT_BINUTILS_V_2_38 is not set
|
||||
CT_BINUTILS_V_2_37=y
|
||||
# CT_BINUTILS_V_2_36 is not set
|
||||
# CT_BINUTILS_V_2_35 is not set
|
||||
@@ -370,19 +381,12 @@ CT_BINUTILS_later_than_2_30=y
|
||||
CT_BINUTILS_2_30_or_later=y
|
||||
CT_BINUTILS_later_than_2_27=y
|
||||
CT_BINUTILS_2_27_or_later=y
|
||||
CT_BINUTILS_later_than_2_25=y
|
||||
CT_BINUTILS_2_25_or_later=y
|
||||
CT_BINUTILS_REQUIRE_2_25_or_later=y
|
||||
CT_BINUTILS_later_than_2_23=y
|
||||
CT_BINUTILS_2_23_or_later=y
|
||||
CT_BINUTILS_later_than_2_26=y
|
||||
CT_BINUTILS_2_26_or_later=y
|
||||
|
||||
#
|
||||
# GNU binutils
|
||||
#
|
||||
CT_BINUTILS_HAS_HASH_STYLE=y
|
||||
CT_BINUTILS_HAS_GOLD=y
|
||||
CT_BINUTILS_HAS_PLUGINS=y
|
||||
CT_BINUTILS_HAS_PKGVERSION_BUGURL=y
|
||||
CT_BINUTILS_GOLD_SUPPORTS_ARCH=y
|
||||
CT_BINUTILS_GOLD_SUPPORT=y
|
||||
CT_BINUTILS_FORCE_LD_BFD_DEFAULT=y
|
||||
@@ -406,10 +410,9 @@ CT_ALL_BINUTILS_CHOICES="BINUTILS"
|
||||
# C-library
|
||||
#
|
||||
CT_LIBC_GLIBC=y
|
||||
# CT_LIBC_UCLIBC is not set
|
||||
# CT_LIBC_UCLIBC_NG is not set
|
||||
CT_LIBC="glibc"
|
||||
CT_LIBC_CHOICE_KSYM="GLIBC"
|
||||
CT_THREADS="nptl"
|
||||
CT_LIBC_GLIBC_SHOW=y
|
||||
|
||||
#
|
||||
@@ -424,6 +427,7 @@ CT_GLIBC_PKG_NAME="glibc"
|
||||
CT_GLIBC_SRC_RELEASE=y
|
||||
# CT_GLIBC_SRC_DEVEL is not set
|
||||
CT_GLIBC_PATCH_ORDER="global"
|
||||
# CT_GLIBC_V_2_35 is not set
|
||||
CT_GLIBC_V_2_34=y
|
||||
# CT_GLIBC_V_2_33 is not set
|
||||
# CT_GLIBC_V_2_32 is not set
|
||||
@@ -438,15 +442,18 @@ CT_GLIBC_V_2_34=y
|
||||
# CT_GLIBC_V_2_23 is not set
|
||||
# CT_GLIBC_V_2_19 is not set
|
||||
# CT_GLIBC_V_2_17 is not set
|
||||
# CT_GLIBC_V_2_12_1 is not set
|
||||
CT_GLIBC_VERSION="2.34"
|
||||
CT_GLIBC_MIRRORS="$(CT_Mirrors GNU glibc)"
|
||||
CT_GLIBC_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
|
||||
CT_GLIBC_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
|
||||
CT_GLIBC_ARCHIVE_FORMATS=".tar.xz .tar.bz2 .tar.gz"
|
||||
CT_GLIBC_SIGNATURE_FORMAT="packed/.sig"
|
||||
CT_GLIBC_2_34_or_later=y
|
||||
CT_GLIBC_2_34_or_older=y
|
||||
CT_GLIBC_later_than_2_32=y
|
||||
CT_GLIBC_2_32_or_later=y
|
||||
CT_GLIBC_later_than_2_31=y
|
||||
CT_GLIBC_2_31_or_later=y
|
||||
CT_GLIBC_later_than_2_30=y
|
||||
CT_GLIBC_2_30_or_later=y
|
||||
CT_GLIBC_later_than_2_29=y
|
||||
@@ -473,6 +480,7 @@ CT_GLIBC_DEP_KERNEL_HEADERS_VERSION=y
|
||||
CT_GLIBC_DEP_BINUTILS=y
|
||||
CT_GLIBC_DEP_GCC=y
|
||||
CT_GLIBC_DEP_PYTHON=y
|
||||
CT_THREADS="nptl"
|
||||
CT_GLIBC_BUILD_SSP=y
|
||||
CT_GLIBC_HAS_LIBIDN_ADDON=y
|
||||
# CT_GLIBC_USE_LIBIDN_ADDON is not set
|
||||
@@ -496,7 +504,7 @@ CT_GLIBC_SSP_DEFAULT=y
|
||||
# CT_GLIBC_SSP_STRONG is not set
|
||||
# CT_GLIBC_ENABLE_WERROR is not set
|
||||
# CT_GLIBC_ENABLE_COMMON_FLAG is not set
|
||||
CT_ALL_LIBC_CHOICES="AVR_LIBC BIONIC GLIBC MINGW_W64 MOXIEBOX MUSL NEWLIB NONE UCLIBC"
|
||||
CT_ALL_LIBC_CHOICES="AVR_LIBC GLIBC MINGW_W64 MOXIEBOX MUSL NEWLIB NONE UCLIBC_NG"
|
||||
CT_LIBC_SUPPORT_THREADS_ANY=y
|
||||
CT_LIBC_SUPPORT_THREADS_NATIVE=y
|
||||
|
||||
@@ -511,9 +519,7 @@ CT_LIBC_XLDD=y
|
||||
#
|
||||
# C compiler
|
||||
#
|
||||
CT_CC_CORE_PASSES_NEEDED=y
|
||||
CT_CC_CORE_PASS_1_NEEDED=y
|
||||
CT_CC_CORE_PASS_2_NEEDED=y
|
||||
CT_CC_CORE_NEEDED=y
|
||||
CT_CC_SUPPORT_CXX=y
|
||||
CT_CC_SUPPORT_FORTRAN=y
|
||||
CT_CC_SUPPORT_ADA=y
|
||||
@@ -531,24 +537,26 @@ CT_CC_GCC_SHOW=y
|
||||
CT_CC_GCC_PKG_KSYM="GCC"
|
||||
CT_GCC_DIR_NAME="gcc"
|
||||
CT_GCC_USE_GNU=y
|
||||
# CT_GCC_USE_ORACLE is not set
|
||||
CT_GCC_USE="GCC"
|
||||
CT_GCC_PKG_NAME="gcc"
|
||||
CT_GCC_SRC_RELEASE=y
|
||||
# CT_GCC_SRC_DEVEL is not set
|
||||
CT_GCC_PATCH_ORDER="global"
|
||||
# CT_GCC_V_12 is not set
|
||||
CT_GCC_V_11=y
|
||||
# CT_GCC_V_10 is not set
|
||||
# CT_GCC_V_9 is not set
|
||||
# CT_GCC_V_8 is not set
|
||||
# CT_GCC_V_7 is not set
|
||||
# CT_GCC_V_6 is not set
|
||||
CT_GCC_VERSION="11.2.0"
|
||||
CT_GCC_VERSION="11.3.0"
|
||||
CT_GCC_MIRRORS="$(CT_Mirrors GNU gcc/gcc-${CT_GCC_VERSION}) $(CT_Mirrors sourceware gcc/releases/gcc-${CT_GCC_VERSION})"
|
||||
CT_GCC_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
|
||||
CT_GCC_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
|
||||
CT_GCC_ARCHIVE_FORMATS=".tar.xz .tar.gz"
|
||||
CT_GCC_SIGNATURE_FORMAT=""
|
||||
CT_GCC_12_or_older=y
|
||||
CT_GCC_older_than_12=y
|
||||
CT_GCC_later_than_11=y
|
||||
CT_GCC_11_or_later=y
|
||||
CT_GCC_later_than_10=y
|
||||
@@ -568,8 +576,6 @@ CT_GCC_REQUIRE_5_or_later=y
|
||||
CT_GCC_later_than_4_9=y
|
||||
CT_GCC_4_9_or_later=y
|
||||
CT_GCC_REQUIRE_4_9_or_later=y
|
||||
CT_GCC_later_than_4_8=y
|
||||
CT_GCC_4_8_or_later=y
|
||||
CT_CC_GCC_ENABLE_PLUGINS=y
|
||||
CT_CC_GCC_GOLD=y
|
||||
CT_CC_GCC_HAS_LIBMPX=y
|
||||
@@ -632,38 +638,29 @@ CT_CC_LANG_FORTRAN=y
|
||||
CT_DEBUG_GDB=y
|
||||
CT_DEBUG_GDB_PKG_KSYM="GDB"
|
||||
CT_GDB_DIR_NAME="gdb"
|
||||
CT_GDB_USE_GNU=y
|
||||
CT_GDB_USE="GDB"
|
||||
CT_GDB_PKG_NAME="gdb"
|
||||
CT_GDB_SRC_RELEASE=y
|
||||
# CT_GDB_SRC_DEVEL is not set
|
||||
CT_GDB_PATCH_ORDER="global"
|
||||
CT_GDB_V_10_2=y
|
||||
# CT_GDB_V_9_2 is not set
|
||||
CT_GDB_V_12=y
|
||||
# CT_GDB_V_11 is not set
|
||||
# CT_GDB_V_10 is not set
|
||||
# CT_GDB_V_9 is not set
|
||||
# CT_GDB_V_8_3 is not set
|
||||
# CT_GDB_V_8_2 is not set
|
||||
# CT_GDB_V_8_1 is not set
|
||||
# CT_GDB_V_8_0 is not set
|
||||
# CT_GDB_V_7_12 is not set
|
||||
# CT_GDB_V_7_11 is not set
|
||||
CT_GDB_VERSION="10.2"
|
||||
CT_GDB_VERSION="12.1"
|
||||
CT_GDB_MIRRORS="$(CT_Mirrors GNU gdb) $(CT_Mirrors sourceware gdb/releases)"
|
||||
CT_GDB_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
|
||||
CT_GDB_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
|
||||
CT_GDB_ARCHIVE_FORMATS=".tar.xz .tar.gz"
|
||||
CT_GDB_SIGNATURE_FORMAT=""
|
||||
CT_GDB_10_2_or_later=y
|
||||
CT_GDB_10_2_or_older=y
|
||||
CT_GDB_later_than_12=y
|
||||
CT_GDB_12_or_later=y
|
||||
CT_GDB_later_than_11=y
|
||||
CT_GDB_11_or_later=y
|
||||
CT_GDB_later_than_10=y
|
||||
CT_GDB_10_or_later=y
|
||||
CT_GDB_later_than_8_3=y
|
||||
CT_GDB_8_3_or_later=y
|
||||
CT_GDB_later_than_8_0=y
|
||||
CT_GDB_8_0_or_later=y
|
||||
CT_GDB_later_than_7_12=y
|
||||
CT_GDB_7_12_or_later=y
|
||||
CT_GDB_later_than_7_2=y
|
||||
CT_GDB_7_2_or_later=y
|
||||
CT_GDB_later_than_7_0=y
|
||||
CT_GDB_7_0_or_later=y
|
||||
CT_GDB_CROSS=y
|
||||
# CT_GDB_CROSS_STATIC is not set
|
||||
# CT_GDB_CROSS_SIM is not set
|
||||
@@ -673,10 +670,6 @@ CT_GDB_CROSS_EXTRA_CONFIG_ARRAY=""
|
||||
CT_GDB_GDBSERVER=y
|
||||
# CT_GDB_NATIVE_BUILD_IPA_LIB is not set
|
||||
# CT_GDB_NATIVE_STATIC_LIBSTDCXX is not set
|
||||
CT_GDB_HAS_PKGVERSION_BUGURL=y
|
||||
CT_GDB_HAS_PYTHON=y
|
||||
CT_GDB_INSTALL_GDBINIT=y
|
||||
CT_GDB_HAS_IPA_LIB=y
|
||||
CT_GDB_GDBSERVER_TOPLEVEL=y
|
||||
# CT_DEBUG_LTRACE is not set
|
||||
# CT_DEBUG_STRACE is not set
|
||||
@@ -696,15 +689,11 @@ CT_CLOOG_SRC_RELEASE=y
|
||||
CT_CLOOG_PATCH_ORDER="global"
|
||||
CT_CLOOG_V_0_18_4=y
|
||||
CT_CLOOG_VERSION="0.18.4"
|
||||
CT_CLOOG_MIRRORS="http://www.bastoul.net/cloog/pages/download ftp://gcc.gnu.org/pub/gcc/infrastructure"
|
||||
CT_CLOOG_MIRRORS="http://www.bastoul.net/cloog/pages/download"
|
||||
CT_CLOOG_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
|
||||
CT_CLOOG_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
|
||||
CT_CLOOG_ARCHIVE_FORMATS=".tar.gz"
|
||||
CT_CLOOG_SIGNATURE_FORMAT=""
|
||||
CT_CLOOG_0_18_4_or_later=y
|
||||
CT_CLOOG_0_18_4_or_older=y
|
||||
CT_CLOOG_later_than_0_18_1=y
|
||||
CT_CLOOG_0_18_1_or_later=y
|
||||
CT_COMP_LIBS_EXPAT=y
|
||||
CT_COMP_LIBS_EXPAT_PKG_KSYM="EXPAT"
|
||||
CT_EXPAT_DIR_NAME="expat"
|
||||
@@ -726,6 +715,7 @@ CT_GETTEXT_PKG_NAME="gettext"
|
||||
CT_GETTEXT_SRC_RELEASE=y
|
||||
# CT_GETTEXT_SRC_DEVEL is not set
|
||||
CT_GETTEXT_PATCH_ORDER="global"
|
||||
# CT_GETTEXT_V_0_21 is not set
|
||||
CT_GETTEXT_V_0_20_1=y
|
||||
# CT_GETTEXT_V_0_19_8_1 is not set
|
||||
CT_GETTEXT_VERSION="0.20.1"
|
||||
@@ -734,6 +724,8 @@ CT_GETTEXT_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
|
||||
CT_GETTEXT_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
|
||||
CT_GETTEXT_ARCHIVE_FORMATS=".tar.xz .tar.gz"
|
||||
CT_GETTEXT_SIGNATURE_FORMAT="packed/.sig"
|
||||
CT_GETTEXT_0_21_or_older=y
|
||||
CT_GETTEXT_older_than_0_21=y
|
||||
CT_COMP_LIBS_GMP=y
|
||||
CT_COMP_LIBS_GMP_PKG_KSYM="GMP"
|
||||
CT_GMP_DIR_NAME="gmp"
|
||||
@@ -749,11 +741,6 @@ CT_GMP_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
|
||||
CT_GMP_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
|
||||
CT_GMP_ARCHIVE_FORMATS=".tar.xz .tar.lz .tar.bz2"
|
||||
CT_GMP_SIGNATURE_FORMAT="packed/.sig"
|
||||
CT_GMP_later_than_5_1_0=y
|
||||
CT_GMP_5_1_0_or_later=y
|
||||
CT_GMP_later_than_5_0_0=y
|
||||
CT_GMP_5_0_0_or_later=y
|
||||
CT_GMP_REQUIRE_5_0_0_or_later=y
|
||||
CT_COMP_LIBS_ISL=y
|
||||
CT_COMP_LIBS_ISL_PKG_KSYM="ISL"
|
||||
CT_ISL_DIR_NAME="isl"
|
||||
@@ -762,6 +749,7 @@ CT_ISL_SRC_RELEASE=y
|
||||
# CT_ISL_SRC_DEVEL is not set
|
||||
CT_ISL_PATCH_ORDER="global"
|
||||
CT_ISL_V_0_24=y
|
||||
# CT_ISL_V_0_23 is not set
|
||||
# CT_ISL_V_0_22 is not set
|
||||
# CT_ISL_V_0_21 is not set
|
||||
# CT_ISL_V_0_20 is not set
|
||||
@@ -780,15 +768,6 @@ CT_ISL_later_than_0_18=y
|
||||
CT_ISL_0_18_or_later=y
|
||||
CT_ISL_later_than_0_15=y
|
||||
CT_ISL_0_15_or_later=y
|
||||
CT_ISL_REQUIRE_0_15_or_later=y
|
||||
CT_ISL_later_than_0_14=y
|
||||
CT_ISL_0_14_or_later=y
|
||||
CT_ISL_REQUIRE_0_14_or_later=y
|
||||
CT_ISL_later_than_0_13=y
|
||||
CT_ISL_0_13_or_later=y
|
||||
CT_ISL_later_than_0_12=y
|
||||
CT_ISL_0_12_or_later=y
|
||||
CT_ISL_REQUIRE_0_12_or_later=y
|
||||
# CT_COMP_LIBS_LIBELF is not set
|
||||
CT_COMP_LIBS_LIBICONV=y
|
||||
CT_COMP_LIBS_LIBICONV_PKG_KSYM="LIBICONV"
|
||||
@@ -815,7 +794,7 @@ CT_MPC_PATCH_ORDER="global"
|
||||
CT_MPC_V_1_2=y
|
||||
# CT_MPC_V_1_1 is not set
|
||||
# CT_MPC_V_1_0 is not set
|
||||
CT_MPC_VERSION="1.2.0"
|
||||
CT_MPC_VERSION="1.2.1"
|
||||
CT_MPC_MIRRORS="http://www.multiprecision.org/downloads $(CT_Mirrors GNU mpc)"
|
||||
CT_MPC_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
|
||||
CT_MPC_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
|
||||
@@ -841,9 +820,6 @@ CT_MPFR_ARCHIVE_FORMATS=".tar.xz .tar.bz2 .tar.gz .zip"
|
||||
CT_MPFR_SIGNATURE_FORMAT="packed/.asc"
|
||||
CT_MPFR_later_than_4_0_0=y
|
||||
CT_MPFR_4_0_0_or_later=y
|
||||
CT_MPFR_later_than_3_0_0=y
|
||||
CT_MPFR_3_0_0_or_later=y
|
||||
CT_MPFR_REQUIRE_3_0_0_or_later=y
|
||||
CT_COMP_LIBS_NCURSES=y
|
||||
CT_COMP_LIBS_NCURSES_PKG_KSYM="NCURSES"
|
||||
CT_NCURSES_DIR_NAME="ncurses"
|
||||
@@ -860,6 +836,7 @@ CT_NCURSES_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
|
||||
CT_NCURSES_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
|
||||
CT_NCURSES_ARCHIVE_FORMATS=".tar.gz"
|
||||
CT_NCURSES_SIGNATURE_FORMAT="packed/.sig"
|
||||
CT_NCURSES_NEW_ABI=y
|
||||
CT_NCURSES_HOST_CONFIG_ARGS=""
|
||||
CT_NCURSES_HOST_DISABLE_DB=y
|
||||
CT_NCURSES_HOST_FALLBACKS="linux,xterm,xterm-color,xterm-256color,vt100"
|
||||
@@ -873,9 +850,9 @@ CT_ZLIB_PKG_NAME="zlib"
|
||||
CT_ZLIB_SRC_RELEASE=y
|
||||
# CT_ZLIB_SRC_DEVEL is not set
|
||||
CT_ZLIB_PATCH_ORDER="global"
|
||||
CT_ZLIB_V_1_2_11=y
|
||||
CT_ZLIB_VERSION="1.2.11"
|
||||
CT_ZLIB_MIRRORS="http://downloads.sourceforge.net/project/libpng/zlib/${CT_ZLIB_VERSION} https://www.zlib.net/"
|
||||
CT_ZLIB_V_1_2_13=y
|
||||
CT_ZLIB_VERSION="1.2.13"
|
||||
CT_ZLIB_MIRRORS="https://github.com/madler/zlib/releases/download/v${CT_ZLIB_VERSION} https://www.zlib.net/"
|
||||
CT_ZLIB_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
|
||||
CT_ZLIB_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
|
||||
CT_ZLIB_ARCHIVE_FORMATS=".tar.xz .tar.gz"
|
||||
|
||||
@@ -0,0 +1,13 @@
|
||||
BASE_IMAGE_REGISTRY ?= docker.io
|
||||
BASE_IMAGE_PATH ?= dockcross
|
||||
BASE_IMAGE_NAME = base
|
||||
BASE_IMAGE_TAG = latest
|
||||
|
||||
OUTPUT_IMAGE_REGISTRY ?= docker.io
|
||||
OUTPUT_IMAGE_PATH ?= dockcross
|
||||
OUTPUT_IMAGE_NAME = linux-armv5
|
||||
|
||||
# Extra tests (see CONTRIBUTING.md / Makefile "Extra tests" section)
|
||||
EXTRA_TESTS = ninja openssl SQLite fmt cpython
|
||||
OPENSSL_ARGS = linux-armv4
|
||||
CPYTHON_ARGS = --host=armv5-unknown-linux-gnueabi --target=armv5-unknown-linux-gnueabi
|
||||
@@ -1,11 +1,10 @@
|
||||
FROM dockcross/base:latest
|
||||
ARG ORG=dockcross
|
||||
FROM ${ORG}/base:latest
|
||||
|
||||
LABEL maintainer="Matt McCormick matt.mccormick@kitware.com"
|
||||
LABEL maintainer="Matt McCormick matt@mmmccormick.com"
|
||||
|
||||
# Crosstool-ng version
|
||||
# We use a git commit while waiting for 1.25 to release (1.24 is several years old)
|
||||
# crosstool-ng master 2021-09-17
|
||||
ENV CT_VERSION 7daa182506baf30adb35752369cf352ac2383c3b
|
||||
# Crosstool-ng version 2022-05-19
|
||||
ENV CT_VERSION=crosstool-ng-1.25.0
|
||||
|
||||
# This is for 32-bit ARMv6 Linux
|
||||
# Raspberry Pi is ARMv6+VFP2
|
||||
@@ -20,8 +19,8 @@ RUN apt-get update \
|
||||
|
||||
|
||||
# The CROSS_TRIPLE is a configured alias of the "armv6-unknown-linux-gnueabihf" target.
|
||||
ENV CROSS_TRIPLE armv6-unknown-linux-gnueabihf
|
||||
ENV CROSS_ROOT ${XCC_PREFIX}/${CROSS_TRIPLE}
|
||||
ENV CROSS_TRIPLE=armv6-unknown-linux-gnueabihf
|
||||
ENV CROSS_ROOT=${XCC_PREFIX}/${CROSS_TRIPLE}
|
||||
ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \
|
||||
AR=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ar \
|
||||
CC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gcc \
|
||||
@@ -30,17 +29,17 @@ ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \
|
||||
LD=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ld \
|
||||
FC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gfortran
|
||||
|
||||
ENV QEMU_LD_PREFIX "${CROSS_ROOT}/${CROSS_TRIPLE}/sysroot"
|
||||
ENV QEMU_SET_ENV "LD_LIBRARY_PATH=${CROSS_ROOT}/lib:${QEMU_LD_PREFIX}"
|
||||
ENV QEMU_LD_PREFIX="${CROSS_ROOT}/${CROSS_TRIPLE}/sysroot"
|
||||
ENV QEMU_SET_ENV="LD_LIBRARY_PATH=${CROSS_ROOT}/lib:${QEMU_LD_PREFIX}"
|
||||
|
||||
COPY Toolchain.cmake ${CROSS_ROOT}/
|
||||
ENV CMAKE_TOOLCHAIN_FILE ${CROSS_ROOT}/Toolchain.cmake
|
||||
ENV CMAKE_TOOLCHAIN_FILE=${CROSS_ROOT}/Toolchain.cmake
|
||||
|
||||
ENV PKG_CONFIG_PATH /usr/lib/arm-linux-gnueabihf/
|
||||
ENV PKG_CONFIG_PATH=/usr/lib/arm-linux-gnueabihf/
|
||||
|
||||
# Linux kernel cross compilation variables
|
||||
ENV PATH ${PATH}:${CROSS_ROOT}/bin
|
||||
ENV CROSS_COMPILE ${CROSS_TRIPLE}-
|
||||
ENV ARCH arm
|
||||
ENV PATH=${PATH}:${CROSS_ROOT}/bin
|
||||
ENV CROSS_COMPILE=${CROSS_TRIPLE}-
|
||||
ENV ARCH=arm
|
||||
|
||||
#include "common.label-and-env"
|
||||
|
||||
@@ -11,10 +11,10 @@ set(CMAKE_Fortran_COMPILER $ENV{FC})
|
||||
|
||||
set(CMAKE_CXX_FLAGS "-I ${cross_root}/include/")
|
||||
|
||||
set(CMAKE_FIND_ROOT_PATH ${cross_root} ${cross_root}/${cross_triple})
|
||||
list(APPEND CMAKE_FIND_ROOT_PATH ${CMAKE_PREFIX_PATH} ${cross_root} ${cross_root}/${cross_triple})
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY BOTH)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
|
||||
set(CMAKE_SYSROOT ${cross_root}/${cross_triple}/sysroot)
|
||||
|
||||
set(CMAKE_CROSSCOMPILING_EMULATOR /usr/bin/qemu-arm)
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
#
|
||||
# Automatically generated file; DO NOT EDIT.
|
||||
# crosstool-NG 1.24.0.446_7daa182 Configuration
|
||||
# crosstool-NG 1.25.0.26_db6f703 Configuration
|
||||
#
|
||||
CT_CONFIGURE_has_static_link=y
|
||||
CT_CONFIGURE_has_cxx11=y
|
||||
@@ -8,6 +8,7 @@ CT_CONFIGURE_has_wget=y
|
||||
CT_CONFIGURE_has_curl=y
|
||||
CT_CONFIGURE_has_meson=y
|
||||
CT_CONFIGURE_has_ninja=y
|
||||
CT_CONFIGURE_has_rsync=y
|
||||
CT_CONFIGURE_has_make_3_81_or_newer=y
|
||||
CT_CONFIGURE_has_make_4_0_or_newer=y
|
||||
CT_CONFIGURE_has_libtool_2_4_or_newer=y
|
||||
@@ -26,11 +27,11 @@ CT_CONFIGURE_has_sha1sum=y
|
||||
CT_CONFIGURE_has_sha256sum=y
|
||||
CT_CONFIGURE_has_sha512sum=y
|
||||
CT_CONFIGURE_has_install_with_strip_program=y
|
||||
CT_VERSION="1.24.0.446_7daa182"
|
||||
CT_VERSION="1.25.0.26_db6f703"
|
||||
CT_VCHECK=""
|
||||
CT_CONFIG_VERSION_ENV="3"
|
||||
CT_CONFIG_VERSION_CURRENT="3"
|
||||
CT_CONFIG_VERSION="3"
|
||||
CT_CONFIG_VERSION_ENV="4"
|
||||
CT_CONFIG_VERSION_CURRENT="4"
|
||||
CT_CONFIG_VERSION="4"
|
||||
CT_MODULES=y
|
||||
|
||||
#
|
||||
@@ -119,7 +120,7 @@ CT_LOG_EXTRA=y
|
||||
# CT_LOG_DEBUG is not set
|
||||
CT_LOG_LEVEL_MAX="EXTRA"
|
||||
# CT_LOG_SEE_TOOLS_WARN is not set
|
||||
CT_LOG_PROGRESS_BAR=y
|
||||
CT_LOG_PROGRESS_BAR=n
|
||||
CT_LOG_TO_FILE=y
|
||||
CT_LOG_FILE_COMPRESS=y
|
||||
# end of Paths and misc options
|
||||
@@ -269,6 +270,9 @@ CT_LINUX_PKG_NAME="linux"
|
||||
CT_LINUX_SRC_RELEASE=y
|
||||
# CT_LINUX_SRC_DEVEL is not set
|
||||
CT_LINUX_PATCH_ORDER="global"
|
||||
# CT_LINUX_V_5_17 is not set
|
||||
# CT_LINUX_V_5_16 is not set
|
||||
# CT_LINUX_V_5_15 is not set
|
||||
# CT_LINUX_V_5_14 is not set
|
||||
# CT_LINUX_V_5_13 is not set
|
||||
# CT_LINUX_V_5_12 is not set
|
||||
@@ -302,12 +306,18 @@ CT_LINUX_V_5_10=y
|
||||
# CT_LINUX_V_3_10 is not set
|
||||
# CT_LINUX_V_3_4 is not set
|
||||
# CT_LINUX_V_3_2 is not set
|
||||
CT_LINUX_VERSION="5.10.62"
|
||||
CT_LINUX_VERSION="5.10.113"
|
||||
CT_LINUX_MIRRORS="$(CT_Mirrors kernel.org linux ${CT_LINUX_VERSION})"
|
||||
CT_LINUX_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
|
||||
CT_LINUX_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
|
||||
CT_LINUX_ARCHIVE_FORMATS=".tar.xz .tar.gz"
|
||||
CT_LINUX_SIGNATURE_FORMAT="unpacked/.sign"
|
||||
CT_LINUX_5_12_or_older=y
|
||||
CT_LINUX_older_than_5_12=y
|
||||
CT_LINUX_later_than_5_5=y
|
||||
CT_LINUX_5_5_or_later=y
|
||||
CT_LINUX_later_than_5_3=y
|
||||
CT_LINUX_5_3_or_later=y
|
||||
CT_LINUX_later_than_4_8=y
|
||||
CT_LINUX_4_8_or_later=y
|
||||
CT_LINUX_later_than_3_7=y
|
||||
@@ -315,11 +325,11 @@ CT_LINUX_3_7_or_later=y
|
||||
CT_LINUX_later_than_3_2=y
|
||||
CT_LINUX_3_2_or_later=y
|
||||
CT_LINUX_REQUIRE_3_2_or_later=y
|
||||
CT_KERNEL_DEP_RSYNC=y
|
||||
CT_KERNEL_LINUX_VERBOSITY_0=y
|
||||
# CT_KERNEL_LINUX_VERBOSITY_1 is not set
|
||||
# CT_KERNEL_LINUX_VERBOSITY_2 is not set
|
||||
CT_KERNEL_LINUX_VERBOSE_LEVEL=0
|
||||
CT_KERNEL_LINUX_INSTALL_CHECK=y
|
||||
CT_ALL_KERNEL_CHOICES="BARE_METAL LINUX WINDOWS"
|
||||
|
||||
#
|
||||
@@ -349,6 +359,7 @@ CT_BINUTILS_PKG_NAME="binutils"
|
||||
CT_BINUTILS_SRC_RELEASE=y
|
||||
# CT_BINUTILS_SRC_DEVEL is not set
|
||||
CT_BINUTILS_PATCH_ORDER="global"
|
||||
# CT_BINUTILS_V_2_38 is not set
|
||||
# CT_BINUTILS_V_2_37 is not set
|
||||
CT_BINUTILS_V_2_36=y
|
||||
# CT_BINUTILS_V_2_35 is not set
|
||||
@@ -371,19 +382,12 @@ CT_BINUTILS_later_than_2_30=y
|
||||
CT_BINUTILS_2_30_or_later=y
|
||||
CT_BINUTILS_later_than_2_27=y
|
||||
CT_BINUTILS_2_27_or_later=y
|
||||
CT_BINUTILS_later_than_2_25=y
|
||||
CT_BINUTILS_2_25_or_later=y
|
||||
CT_BINUTILS_REQUIRE_2_25_or_later=y
|
||||
CT_BINUTILS_later_than_2_23=y
|
||||
CT_BINUTILS_2_23_or_later=y
|
||||
CT_BINUTILS_later_than_2_26=y
|
||||
CT_BINUTILS_2_26_or_later=y
|
||||
|
||||
#
|
||||
# GNU binutils
|
||||
#
|
||||
CT_BINUTILS_HAS_HASH_STYLE=y
|
||||
CT_BINUTILS_HAS_GOLD=y
|
||||
CT_BINUTILS_HAS_PLUGINS=y
|
||||
CT_BINUTILS_HAS_PKGVERSION_BUGURL=y
|
||||
CT_BINUTILS_GOLD_SUPPORTS_ARCH=y
|
||||
CT_BINUTILS_GOLD_SUPPORT=y
|
||||
CT_BINUTILS_FORCE_LD_BFD_DEFAULT=y
|
||||
@@ -407,10 +411,9 @@ CT_ALL_BINUTILS_CHOICES="BINUTILS"
|
||||
# C-library
|
||||
#
|
||||
CT_LIBC_GLIBC=y
|
||||
# CT_LIBC_UCLIBC is not set
|
||||
# CT_LIBC_UCLIBC_NG is not set
|
||||
CT_LIBC="glibc"
|
||||
CT_LIBC_CHOICE_KSYM="GLIBC"
|
||||
CT_THREADS="nptl"
|
||||
CT_LIBC_GLIBC_SHOW=y
|
||||
|
||||
#
|
||||
@@ -425,6 +428,7 @@ CT_GLIBC_PKG_NAME="glibc"
|
||||
CT_GLIBC_SRC_RELEASE=y
|
||||
# CT_GLIBC_SRC_DEVEL is not set
|
||||
CT_GLIBC_PATCH_ORDER="global"
|
||||
# CT_GLIBC_V_2_35 is not set
|
||||
# CT_GLIBC_V_2_34 is not set
|
||||
# CT_GLIBC_V_2_33 is not set
|
||||
# CT_GLIBC_V_2_32 is not set
|
||||
@@ -439,15 +443,18 @@ CT_GLIBC_V_2_28=y
|
||||
# CT_GLIBC_V_2_23 is not set
|
||||
# CT_GLIBC_V_2_19 is not set
|
||||
# CT_GLIBC_V_2_17 is not set
|
||||
# CT_GLIBC_V_2_12_1 is not set
|
||||
CT_GLIBC_VERSION="2.28"
|
||||
CT_GLIBC_MIRRORS="$(CT_Mirrors GNU glibc)"
|
||||
CT_GLIBC_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
|
||||
CT_GLIBC_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
|
||||
CT_GLIBC_ARCHIVE_FORMATS=".tar.xz .tar.bz2 .tar.gz"
|
||||
CT_GLIBC_SIGNATURE_FORMAT="packed/.sig"
|
||||
CT_GLIBC_2_34_or_older=y
|
||||
CT_GLIBC_older_than_2_34=y
|
||||
CT_GLIBC_2_32_or_older=y
|
||||
CT_GLIBC_older_than_2_32=y
|
||||
CT_GLIBC_2_31_or_older=y
|
||||
CT_GLIBC_older_than_2_31=y
|
||||
CT_GLIBC_2_30_or_older=y
|
||||
CT_GLIBC_older_than_2_30=y
|
||||
CT_GLIBC_2_29_or_older=y
|
||||
@@ -475,6 +482,7 @@ CT_GLIBC_DEP_BINUTILS=y
|
||||
CT_GLIBC_DEP_GCC=y
|
||||
CT_GLIBC_DEP_PYTHON=y
|
||||
CT_GLIBC_SPARC_ALLOW_V7=y
|
||||
CT_THREADS="nptl"
|
||||
CT_GLIBC_BUILD_SSP=y
|
||||
CT_GLIBC_HAS_LIBIDN_ADDON=y
|
||||
# CT_GLIBC_USE_LIBIDN_ADDON is not set
|
||||
@@ -500,7 +508,7 @@ CT_GLIBC_SSP_DEFAULT=y
|
||||
# CT_GLIBC_SSP_STRONG is not set
|
||||
# CT_GLIBC_ENABLE_WERROR is not set
|
||||
# CT_GLIBC_ENABLE_COMMON_FLAG is not set
|
||||
CT_ALL_LIBC_CHOICES="AVR_LIBC BIONIC GLIBC MINGW_W64 MOXIEBOX MUSL NEWLIB NONE UCLIBC"
|
||||
CT_ALL_LIBC_CHOICES="AVR_LIBC GLIBC MINGW_W64 MOXIEBOX MUSL NEWLIB NONE UCLIBC_NG"
|
||||
CT_LIBC_SUPPORT_THREADS_ANY=y
|
||||
CT_LIBC_SUPPORT_THREADS_NATIVE=y
|
||||
|
||||
@@ -515,9 +523,7 @@ CT_LIBC_XLDD=y
|
||||
#
|
||||
# C compiler
|
||||
#
|
||||
CT_CC_CORE_PASSES_NEEDED=y
|
||||
CT_CC_CORE_PASS_1_NEEDED=y
|
||||
CT_CC_CORE_PASS_2_NEEDED=y
|
||||
CT_CC_CORE_NEEDED=y
|
||||
CT_CC_SUPPORT_CXX=y
|
||||
CT_CC_SUPPORT_FORTRAN=y
|
||||
CT_CC_SUPPORT_ADA=y
|
||||
@@ -535,12 +541,12 @@ CT_CC_GCC_SHOW=y
|
||||
CT_CC_GCC_PKG_KSYM="GCC"
|
||||
CT_GCC_DIR_NAME="gcc"
|
||||
CT_GCC_USE_GNU=y
|
||||
# CT_GCC_USE_ORACLE is not set
|
||||
CT_GCC_USE="GCC"
|
||||
CT_GCC_PKG_NAME="gcc"
|
||||
CT_GCC_SRC_RELEASE=y
|
||||
# CT_GCC_SRC_DEVEL is not set
|
||||
CT_GCC_PATCH_ORDER="global"
|
||||
# CT_GCC_V_12 is not set
|
||||
# CT_GCC_V_11 is not set
|
||||
# CT_GCC_V_10 is not set
|
||||
# CT_GCC_V_9 is not set
|
||||
@@ -555,6 +561,8 @@ CT_GCC_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
|
||||
CT_GCC_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
|
||||
CT_GCC_ARCHIVE_FORMATS=".tar.xz .tar.gz"
|
||||
CT_GCC_SIGNATURE_FORMAT=""
|
||||
CT_GCC_12_or_older=y
|
||||
CT_GCC_older_than_12=y
|
||||
CT_GCC_11_or_older=y
|
||||
CT_GCC_older_than_11=y
|
||||
CT_GCC_10_or_older=y
|
||||
@@ -572,8 +580,6 @@ CT_GCC_5_or_later=y
|
||||
CT_GCC_later_than_4_9=y
|
||||
CT_GCC_4_9_or_later=y
|
||||
CT_GCC_REQUIRE_4_9_or_later=y
|
||||
CT_GCC_later_than_4_8=y
|
||||
CT_GCC_4_8_or_later=y
|
||||
CT_CC_GCC_ENABLE_PLUGINS=y
|
||||
CT_CC_GCC_GOLD=y
|
||||
CT_CC_GCC_HAS_LIBMPX=y
|
||||
@@ -634,38 +640,27 @@ CT_CC_LANG_FORTRAN=y
|
||||
CT_DEBUG_GDB=y
|
||||
CT_DEBUG_GDB_PKG_KSYM="GDB"
|
||||
CT_GDB_DIR_NAME="gdb"
|
||||
CT_GDB_USE_GNU=y
|
||||
CT_GDB_USE="GDB"
|
||||
CT_GDB_PKG_NAME="gdb"
|
||||
CT_GDB_SRC_RELEASE=y
|
||||
# CT_GDB_SRC_DEVEL is not set
|
||||
CT_GDB_PATCH_ORDER="global"
|
||||
# CT_GDB_V_10_2 is not set
|
||||
CT_GDB_V_9_2=y
|
||||
CT_GDB_V_9=y
|
||||
# CT_GDB_V_8_3 is not set
|
||||
# CT_GDB_V_8_2 is not set
|
||||
# CT_GDB_V_8_1 is not set
|
||||
# CT_GDB_V_8_0 is not set
|
||||
# CT_GDB_V_7_12 is not set
|
||||
# CT_GDB_V_7_11 is not set
|
||||
CT_GDB_VERSION="9.2"
|
||||
CT_GDB_MIRRORS="$(CT_Mirrors GNU gdb) $(CT_Mirrors sourceware gdb/releases)"
|
||||
CT_GDB_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
|
||||
CT_GDB_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
|
||||
CT_GDB_ARCHIVE_FORMATS=".tar.xz .tar.gz"
|
||||
CT_GDB_SIGNATURE_FORMAT=""
|
||||
CT_GDB_10_2_or_older=y
|
||||
CT_GDB_older_than_10_2=y
|
||||
CT_GDB_12_or_older=y
|
||||
CT_GDB_older_than_12=y
|
||||
CT_GDB_11_or_older=y
|
||||
CT_GDB_older_than_11=y
|
||||
CT_GDB_10_or_older=y
|
||||
CT_GDB_older_than_10=y
|
||||
CT_GDB_REQUIRE_older_than_10=y
|
||||
CT_GDB_later_than_8_3=y
|
||||
CT_GDB_8_3_or_later=y
|
||||
CT_GDB_later_than_8_0=y
|
||||
CT_GDB_8_0_or_later=y
|
||||
CT_GDB_later_than_7_12=y
|
||||
CT_GDB_7_12_or_later=y
|
||||
CT_GDB_later_than_7_2=y
|
||||
CT_GDB_7_2_or_later=y
|
||||
CT_GDB_later_than_7_0=y
|
||||
CT_GDB_7_0_or_later=y
|
||||
CT_GDB_CROSS=y
|
||||
# CT_GDB_CROSS_STATIC is not set
|
||||
# CT_GDB_CROSS_SIM is not set
|
||||
@@ -675,10 +670,7 @@ CT_GDB_CROSS_EXTRA_CONFIG_ARRAY=""
|
||||
CT_GDB_GDBSERVER=y
|
||||
# CT_GDB_NATIVE_BUILD_IPA_LIB is not set
|
||||
# CT_GDB_NATIVE_STATIC_LIBSTDCXX is not set
|
||||
CT_GDB_HAS_PKGVERSION_BUGURL=y
|
||||
CT_GDB_HAS_PYTHON=y
|
||||
CT_GDB_INSTALL_GDBINIT=y
|
||||
CT_GDB_HAS_IPA_LIB=y
|
||||
CT_GDB_DEP_NO_STD_FUTURE=y
|
||||
# CT_DEBUG_LTRACE is not set
|
||||
# CT_DEBUG_STRACE is not set
|
||||
CT_ALL_DEBUG_CHOICES="DUMA GDB LTRACE STRACE"
|
||||
@@ -697,15 +689,11 @@ CT_CLOOG_SRC_RELEASE=y
|
||||
CT_CLOOG_PATCH_ORDER="global"
|
||||
CT_CLOOG_V_0_18_4=y
|
||||
CT_CLOOG_VERSION="0.18.4"
|
||||
CT_CLOOG_MIRRORS="http://www.bastoul.net/cloog/pages/download ftp://gcc.gnu.org/pub/gcc/infrastructure"
|
||||
CT_CLOOG_MIRRORS="http://www.bastoul.net/cloog/pages/download"
|
||||
CT_CLOOG_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
|
||||
CT_CLOOG_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
|
||||
CT_CLOOG_ARCHIVE_FORMATS=".tar.gz"
|
||||
CT_CLOOG_SIGNATURE_FORMAT=""
|
||||
CT_CLOOG_0_18_4_or_later=y
|
||||
CT_CLOOG_0_18_4_or_older=y
|
||||
CT_CLOOG_later_than_0_18_1=y
|
||||
CT_CLOOG_0_18_1_or_later=y
|
||||
CT_COMP_LIBS_EXPAT=y
|
||||
CT_COMP_LIBS_EXPAT_PKG_KSYM="EXPAT"
|
||||
CT_EXPAT_DIR_NAME="expat"
|
||||
@@ -727,6 +715,7 @@ CT_GETTEXT_PKG_NAME="gettext"
|
||||
CT_GETTEXT_SRC_RELEASE=y
|
||||
# CT_GETTEXT_SRC_DEVEL is not set
|
||||
CT_GETTEXT_PATCH_ORDER="global"
|
||||
# CT_GETTEXT_V_0_21 is not set
|
||||
CT_GETTEXT_V_0_20_1=y
|
||||
# CT_GETTEXT_V_0_19_8_1 is not set
|
||||
CT_GETTEXT_VERSION="0.20.1"
|
||||
@@ -735,6 +724,8 @@ CT_GETTEXT_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
|
||||
CT_GETTEXT_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
|
||||
CT_GETTEXT_ARCHIVE_FORMATS=".tar.xz .tar.gz"
|
||||
CT_GETTEXT_SIGNATURE_FORMAT="packed/.sig"
|
||||
CT_GETTEXT_0_21_or_older=y
|
||||
CT_GETTEXT_older_than_0_21=y
|
||||
CT_COMP_LIBS_GMP=y
|
||||
CT_COMP_LIBS_GMP_PKG_KSYM="GMP"
|
||||
CT_GMP_DIR_NAME="gmp"
|
||||
@@ -750,11 +741,6 @@ CT_GMP_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
|
||||
CT_GMP_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
|
||||
CT_GMP_ARCHIVE_FORMATS=".tar.xz .tar.lz .tar.bz2"
|
||||
CT_GMP_SIGNATURE_FORMAT="packed/.sig"
|
||||
CT_GMP_later_than_5_1_0=y
|
||||
CT_GMP_5_1_0_or_later=y
|
||||
CT_GMP_later_than_5_0_0=y
|
||||
CT_GMP_5_0_0_or_later=y
|
||||
CT_GMP_REQUIRE_5_0_0_or_later=y
|
||||
CT_COMP_LIBS_ISL=y
|
||||
CT_COMP_LIBS_ISL_PKG_KSYM="ISL"
|
||||
CT_ISL_DIR_NAME="isl"
|
||||
@@ -763,6 +749,7 @@ CT_ISL_SRC_RELEASE=y
|
||||
# CT_ISL_SRC_DEVEL is not set
|
||||
CT_ISL_PATCH_ORDER="global"
|
||||
CT_ISL_V_0_24=y
|
||||
# CT_ISL_V_0_23 is not set
|
||||
# CT_ISL_V_0_22 is not set
|
||||
# CT_ISL_V_0_21 is not set
|
||||
# CT_ISL_V_0_20 is not set
|
||||
@@ -781,15 +768,6 @@ CT_ISL_later_than_0_18=y
|
||||
CT_ISL_0_18_or_later=y
|
||||
CT_ISL_later_than_0_15=y
|
||||
CT_ISL_0_15_or_later=y
|
||||
CT_ISL_REQUIRE_0_15_or_later=y
|
||||
CT_ISL_later_than_0_14=y
|
||||
CT_ISL_0_14_or_later=y
|
||||
CT_ISL_REQUIRE_0_14_or_later=y
|
||||
CT_ISL_later_than_0_13=y
|
||||
CT_ISL_0_13_or_later=y
|
||||
CT_ISL_later_than_0_12=y
|
||||
CT_ISL_0_12_or_later=y
|
||||
CT_ISL_REQUIRE_0_12_or_later=y
|
||||
# CT_COMP_LIBS_LIBELF is not set
|
||||
CT_COMP_LIBS_LIBICONV=y
|
||||
CT_COMP_LIBS_LIBICONV_PKG_KSYM="LIBICONV"
|
||||
@@ -816,7 +794,7 @@ CT_MPC_PATCH_ORDER="global"
|
||||
CT_MPC_V_1_2=y
|
||||
# CT_MPC_V_1_1 is not set
|
||||
# CT_MPC_V_1_0 is not set
|
||||
CT_MPC_VERSION="1.2.0"
|
||||
CT_MPC_VERSION="1.2.1"
|
||||
CT_MPC_MIRRORS="http://www.multiprecision.org/downloads $(CT_Mirrors GNU mpc)"
|
||||
CT_MPC_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
|
||||
CT_MPC_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
|
||||
@@ -842,9 +820,6 @@ CT_MPFR_ARCHIVE_FORMATS=".tar.xz .tar.bz2 .tar.gz .zip"
|
||||
CT_MPFR_SIGNATURE_FORMAT="packed/.asc"
|
||||
CT_MPFR_later_than_4_0_0=y
|
||||
CT_MPFR_4_0_0_or_later=y
|
||||
CT_MPFR_later_than_3_0_0=y
|
||||
CT_MPFR_3_0_0_or_later=y
|
||||
CT_MPFR_REQUIRE_3_0_0_or_later=y
|
||||
CT_COMP_LIBS_NCURSES=y
|
||||
CT_COMP_LIBS_NCURSES_PKG_KSYM="NCURSES"
|
||||
CT_NCURSES_DIR_NAME="ncurses"
|
||||
@@ -861,6 +836,7 @@ CT_NCURSES_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
|
||||
CT_NCURSES_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
|
||||
CT_NCURSES_ARCHIVE_FORMATS=".tar.gz"
|
||||
CT_NCURSES_SIGNATURE_FORMAT="packed/.sig"
|
||||
CT_NCURSES_NEW_ABI=y
|
||||
CT_NCURSES_HOST_CONFIG_ARGS=""
|
||||
CT_NCURSES_HOST_DISABLE_DB=y
|
||||
CT_NCURSES_HOST_FALLBACKS="linux,xterm,xterm-color,xterm-256color,vt100"
|
||||
@@ -874,9 +850,9 @@ CT_ZLIB_PKG_NAME="zlib"
|
||||
CT_ZLIB_SRC_RELEASE=y
|
||||
# CT_ZLIB_SRC_DEVEL is not set
|
||||
CT_ZLIB_PATCH_ORDER="global"
|
||||
CT_ZLIB_V_1_2_11=y
|
||||
CT_ZLIB_VERSION="1.2.11"
|
||||
CT_ZLIB_MIRRORS="http://downloads.sourceforge.net/project/libpng/zlib/${CT_ZLIB_VERSION} https://www.zlib.net/"
|
||||
CT_ZLIB_V_1_2_13=y
|
||||
CT_ZLIB_VERSION="1.2.13"
|
||||
CT_ZLIB_MIRRORS="https://github.com/madler/zlib/releases/download/v${CT_ZLIB_VERSION} https://www.zlib.net/"
|
||||
CT_ZLIB_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
|
||||
CT_ZLIB_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
|
||||
CT_ZLIB_ARCHIVE_FORMATS=".tar.xz .tar.gz"
|
||||
|
||||
@@ -0,0 +1,13 @@
|
||||
BASE_IMAGE_REGISTRY ?= docker.io
|
||||
BASE_IMAGE_PATH ?= dockcross
|
||||
BASE_IMAGE_NAME = base
|
||||
BASE_IMAGE_TAG = latest
|
||||
|
||||
OUTPUT_IMAGE_REGISTRY ?= docker.io
|
||||
OUTPUT_IMAGE_PATH ?= dockcross
|
||||
OUTPUT_IMAGE_NAME = linux-armv6-lts
|
||||
|
||||
# Extra tests (see CONTRIBUTING.md / Makefile "Extra tests" section)
|
||||
EXTRA_TESTS = ninja openssl SQLite fmt cpython
|
||||
OPENSSL_ARGS = linux-armv4
|
||||
CPYTHON_ARGS = --host=armv6-unknown-linux-gnueabihf --target=armv6-unknown-linux-gnueabihf
|
||||
@@ -1,12 +1,16 @@
|
||||
FROM dockcross/base:latest
|
||||
ARG ORG=dockcross
|
||||
FROM ${ORG}/base:latest
|
||||
|
||||
ENV XCC_PREFIX /usr/xcc
|
||||
ENV CROSS_TRIPLE armv6-linux-musleabihf
|
||||
ENV CROSS_ROOT ${XCC_PREFIX}/${CROSS_TRIPLE}-cross
|
||||
ENV XCC_PREFIX=/usr/xcc
|
||||
ENV CROSS_TRIPLE=armv6-linux-musleabihf
|
||||
ENV CROSS_ROOT=${XCC_PREFIX}/${CROSS_TRIPLE}-cross
|
||||
|
||||
RUN mkdir -p ${XCC_PREFIX}
|
||||
RUN curl -LO http://musl.cc/${CROSS_TRIPLE}-cross.tgz
|
||||
RUN tar -C ${XCC_PREFIX} -xvf ${CROSS_TRIPLE}-cross.tgz
|
||||
# RUN curl --max-time 15 --retry 5 -LO https://musl.cc/${CROSS_TRIPLE}-cross.tgz
|
||||
# RUN tar -C ${XCC_PREFIX} -xvf ${CROSS_TRIPLE}-cross.tgz
|
||||
# Mirrored for reliability
|
||||
RUN curl --max-time 15 --retry 5 -LO https://github.com/dockcross/dockcross/releases/download/toolchain-sources/${CROSS_TRIPLE}-cross-retrieved-2025-06-07.tgz
|
||||
RUN tar -C ${XCC_PREFIX} -xvf ${CROSS_TRIPLE}-cross-retrieved-2025-06-07.tgz
|
||||
|
||||
ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \
|
||||
AR=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ar \
|
||||
@@ -17,12 +21,12 @@ ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \
|
||||
FC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gfortran
|
||||
|
||||
COPY Toolchain.cmake ${CROSS_ROOT}/
|
||||
ENV CMAKE_TOOLCHAIN_FILE ${CROSS_ROOT}/Toolchain.cmake
|
||||
ENV CMAKE_TOOLCHAIN_FILE=${CROSS_ROOT}/Toolchain.cmake
|
||||
|
||||
# Linux kernel cross compilation variables
|
||||
ENV PATH ${PATH}:${CROSS_ROOT}/bin
|
||||
ENV CROSS_COMPILE ${CROSS_TRIPLE}-
|
||||
ENV ARCH arm
|
||||
ENV PATH=${PATH}:${CROSS_ROOT}/bin
|
||||
ENV CROSS_COMPILE=${CROSS_TRIPLE}-
|
||||
ENV ARCH=arm
|
||||
|
||||
# Build-time metadata as defined at http://label-schema.org
|
||||
ARG BUILD_DATE
|
||||
@@ -36,4 +40,4 @@ LABEL org.label-schema.build-date=$BUILD_DATE \
|
||||
org.label-schema.vcs-ref=$VCS_REF \
|
||||
org.label-schema.vcs-url=$VCS_URL \
|
||||
org.label-schema.schema-version="1.0"
|
||||
ENV DEFAULT_DOCKCROSS_IMAGE ${IMAGE}:${VERSION}
|
||||
ENV DEFAULT_DOCKCROSS_IMAGE=${IMAGE}:${VERSION}
|
||||
|
||||
@@ -11,7 +11,7 @@ set(CMAKE_Fortran_COMPILER $ENV{FC})
|
||||
|
||||
set(CMAKE_CXX_FLAGS "-I ${cross_root}/include/")
|
||||
|
||||
set(CMAKE_FIND_ROOT_PATH ${cross_root} ${cross_root}/${cross_triple})
|
||||
list(APPEND CMAKE_FIND_ROOT_PATH ${CMAKE_PREFIX_PATH} ${cross_root} ${cross_root}/${cross_triple})
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY BOTH)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
|
||||
|
||||
@@ -0,0 +1,13 @@
|
||||
BASE_IMAGE_REGISTRY ?= docker.io
|
||||
BASE_IMAGE_PATH ?= dockcross
|
||||
BASE_IMAGE_NAME = base
|
||||
BASE_IMAGE_TAG = latest
|
||||
|
||||
OUTPUT_IMAGE_REGISTRY ?= docker.io
|
||||
OUTPUT_IMAGE_PATH ?= dockcross
|
||||
OUTPUT_IMAGE_NAME = linux-armv6-musl
|
||||
|
||||
# Extra tests (see CONTRIBUTING.md / Makefile "Extra tests" section)
|
||||
EXTRA_TESTS = ninja openssl SQLite fmt cpython
|
||||
OPENSSL_ARGS = linux-armv4
|
||||
CPYTHON_ARGS = --host=armv6-linux-musleabihf --target=armv6-linux-musleabihf
|
||||
+14
-15
@@ -1,11 +1,10 @@
|
||||
FROM dockcross/base:latest
|
||||
ARG ORG=dockcross
|
||||
FROM ${ORG}/base:latest
|
||||
|
||||
LABEL maintainer="Matt McCormick matt.mccormick@kitware.com"
|
||||
LABEL maintainer="Matt McCormick matt@mmmccormick.com"
|
||||
|
||||
# Crosstool-ng version
|
||||
# We use a git commit while waiting for 1.25 to release (1.24 is several years old)
|
||||
# crosstool-ng master 2021-09-20
|
||||
ENV CT_VERSION 5f5a22f7a7307790ec571d0c5acf8790416964e6
|
||||
# Crosstool-ng version 2022-05-19
|
||||
ENV CT_VERSION=crosstool-ng-1.25.0
|
||||
|
||||
# This is for 32-bit ARMv6 Linux
|
||||
# Raspberry Pi is ARMv6+VFP2
|
||||
@@ -20,8 +19,8 @@ RUN apt-get update \
|
||||
|
||||
|
||||
# The CROSS_TRIPLE is a configured alias of the "armv6-unknown-linux-gnueabihf" target.
|
||||
ENV CROSS_TRIPLE armv6-unknown-linux-gnueabihf
|
||||
ENV CROSS_ROOT ${XCC_PREFIX}/${CROSS_TRIPLE}
|
||||
ENV CROSS_TRIPLE=armv6-unknown-linux-gnueabihf
|
||||
ENV CROSS_ROOT=${XCC_PREFIX}/${CROSS_TRIPLE}
|
||||
ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \
|
||||
AR=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ar \
|
||||
CC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gcc \
|
||||
@@ -30,17 +29,17 @@ ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \
|
||||
LD=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ld \
|
||||
FC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gfortran
|
||||
|
||||
ENV QEMU_LD_PREFIX "${CROSS_ROOT}/${CROSS_TRIPLE}/sysroot"
|
||||
ENV QEMU_SET_ENV "LD_LIBRARY_PATH=${CROSS_ROOT}/lib:${QEMU_LD_PREFIX}"
|
||||
ENV QEMU_LD_PREFIX="${CROSS_ROOT}/${CROSS_TRIPLE}/sysroot"
|
||||
ENV QEMU_SET_ENV="LD_LIBRARY_PATH=${CROSS_ROOT}/lib:${QEMU_LD_PREFIX}"
|
||||
|
||||
COPY Toolchain.cmake ${CROSS_ROOT}/
|
||||
ENV CMAKE_TOOLCHAIN_FILE ${CROSS_ROOT}/Toolchain.cmake
|
||||
ENV CMAKE_TOOLCHAIN_FILE=${CROSS_ROOT}/Toolchain.cmake
|
||||
|
||||
ENV PKG_CONFIG_PATH /usr/lib/arm-linux-gnueabihf/
|
||||
ENV PKG_CONFIG_PATH=/usr/lib/arm-linux-gnueabihf/
|
||||
|
||||
# Linux kernel cross compilation variables
|
||||
ENV PATH ${PATH}:${CROSS_ROOT}/bin
|
||||
ENV CROSS_COMPILE ${CROSS_TRIPLE}-
|
||||
ENV ARCH arm
|
||||
ENV PATH=${PATH}:${CROSS_ROOT}/bin
|
||||
ENV CROSS_COMPILE=${CROSS_TRIPLE}-
|
||||
ENV ARCH=arm
|
||||
|
||||
#include "common.label-and-env"
|
||||
|
||||
@@ -10,10 +10,10 @@ set(CMAKE_Fortran_COMPILER $ENV{FC})
|
||||
|
||||
set(CMAKE_CXX_FLAGS "-I ${cross_root}/include/")
|
||||
|
||||
set(CMAKE_FIND_ROOT_PATH ${cross_root} ${cross_root}/${cross_triple})
|
||||
list(APPEND CMAKE_FIND_ROOT_PATH ${CMAKE_PREFIX_PATH} ${cross_root} ${cross_root}/${cross_triple})
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY BOTH)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
|
||||
set(CMAKE_SYSROOT ${cross_root}/${cross_triple}/sysroot)
|
||||
|
||||
set(CMAKE_CROSSCOMPILING_EMULATOR /usr/bin/qemu-arm)
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user