mirror of
https://github.com/bensuperpc/dockcross.git
synced 2025-06-17 16:39:25 +02:00
Compare commits
61 Commits
update_ima
...
update_cma
Author | SHA1 | Date | |
---|---|---|---|
eb0c4d8d95 | |||
076faf7ede | |||
ce521deaeb | |||
479f1c5d6f | |||
ce95ecfbf6 | |||
12a662e05c | |||
1c063e47f0 | |||
3f338f3221 | |||
4463ac02fc | |||
ecf9f32334 | |||
5a65786571 | |||
8802a50289 | |||
e90c6ee9ce | |||
4ac8689b5f | |||
8fe8fb1ef1 | |||
b15b799d7a | |||
c7d5ff28e0 | |||
7b63720438 | |||
ae3ed7e025 | |||
7717b5660a | |||
969f456ae0 | |||
a30e76d5cb | |||
6a1843884d | |||
795dd4dd1f | |||
78b96c7a09 | |||
336eacf372 | |||
f65a5ab72b | |||
5edf6c6771 | |||
260ccce125 | |||
3af48d4336 | |||
8ebd448ba9 | |||
7213d19795 | |||
66b9c2b62c | |||
de7b1b0832 | |||
8896857839 | |||
e37ca78f82 | |||
35eb05cefe | |||
2082f62c76 | |||
9adf96c16b | |||
5c27a89330 | |||
b266cd1e26 | |||
629046cd37 | |||
e70d9ce7f9 | |||
9d2866b1fe | |||
a9599e9e2a | |||
2dc4fb4b0d | |||
773adc1e8a | |||
2f5df2b697 | |||
fd80ca0a17 | |||
b3bf66de2f | |||
40545c5f78 | |||
8ff660facd | |||
0f47b27eea | |||
47e0c321a4 | |||
0888deb9fa | |||
7f019a564b | |||
0eb098c0cb | |||
598b045300 | |||
f34b72ed29 | |||
e0d2efb0e8 | |||
9891530c90 |
6
.github/workflows/main.yml
vendored
6
.github/workflows/main.yml
vendored
@ -32,7 +32,7 @@ jobs:
|
||||
if: github.ref == 'refs/heads/master'
|
||||
run: |
|
||||
docker login -u ${{ secrets.DOCKER_USER }} -p ${{ secrets.DOCKER_PASS }}
|
||||
docker image push dockcross/base
|
||||
docker image push dockcross/base --all-tags
|
||||
|
||||
image:
|
||||
name: ${{ matrix.arch_name }}
|
||||
@ -41,7 +41,7 @@ jobs:
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
arch_name: [android-arm, android-arm64, android-x86, android-x86_64, web-wasm, linux-arm64, linux-arm64-musl, linux-armv5, linux-armv5-musl, linux-armv6, linux-armv6-musl, linux-armv7, linux-armv7a, linux-armv7l-musl, linux-s390x, linux-x64, linux-x86, manylinux1-x64, manylinux1-x86, manylinux2010-x64, manylinux2010-x86, manylinux2014-x64, manylinux2014-x86, manylinux2014-aarch64, windows-static-x64, windows-static-x64-posix, windows-static-x86, windows-shared-x64, windows-shared-x64-posix, windows-shared-x86]
|
||||
arch_name: [android-arm, android-arm64, android-x86, android-x86_64, web-wasm, linux-arm64, linux-arm64-musl, linux-armv5, linux-armv5-musl, linux-armv6, linux-armv6-musl, linux-armv7, linux-armv7a, linux-armv7l-musl, linux-x64-clang, linux-s390x, linux-x64, linux-x86, linux-mips, linux-ppc64le, manylinux1-x64, manylinux1-x86, manylinux2010-x64, manylinux2010-x86, manylinux2014-x64, manylinux2014-x86, manylinux2014-aarch64, windows-static-x64, windows-static-x64-posix, windows-static-x86, windows-shared-x64, windows-shared-x64-posix, windows-shared-x86]
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/download-artifact@v2
|
||||
@ -58,4 +58,4 @@ jobs:
|
||||
if: github.ref == 'refs/heads/master'
|
||||
run: |
|
||||
docker login -u ${{ secrets.DOCKER_USER }} -p ${{ secrets.DOCKER_PASS }}
|
||||
docker image push dockcross/${{ matrix.arch_name }}
|
||||
docker image push dockcross/${{ matrix.arch_name }} --all-tags
|
||||
|
@ -1,4 +1,4 @@
|
||||
FROM debian:stretch-20190326-slim
|
||||
FROM debian:buster-slim
|
||||
MAINTAINER Matt McCormick "matt.mccormick@kitware.com"
|
||||
|
||||
#include "common.debian"
|
||||
|
116
Makefile
116
Makefile
@ -13,10 +13,11 @@ ORG = dockcross
|
||||
BIN = ./bin
|
||||
|
||||
# These images are built using the "build implicit rule"
|
||||
STANDARD_IMAGES = linux-s390x android-arm android-arm64 android-x86 android-x86_64 linux-x86 linux-x64 linux-arm64 linux-arm64-musl linux-armv5 linux-armv5-musl linux-armv6 linux-armv6-musl linux-armv7 linux-armv7a linux-armv7l-musl linux-mips linux-mipsel linux-ppc64le windows-static-x86 windows-static-x64 windows-static-x64-posix windows-shared-x86 windows-shared-x64 windows-shared-x64-posix
|
||||
STANDARD_IMAGES = linux-s390x android-arm android-arm64 android-x86 android-x86_64 linux-x86 linux-x64 linux-arm64 linux-x64-clang linux-arm64-musl linux-armv5 linux-armv5-musl linux-armv6 linux-armv6-musl linux-armv7 linux-armv7a linux-armv7l-musl linux-mips linux-ppc64le windows-static-x86 windows-static-x64 windows-static-x64-posix windows-shared-x86 windows-shared-x64 windows-shared-x64-posix
|
||||
|
||||
# Generated Dockerfiles.
|
||||
GEN_IMAGES = linux-s390x android-arm android-arm64 linux-x86 linux-x64 linux-mips linux-mipsel manylinux1-x64 manylinux1-x86 manylinux2010-x64 manylinux2010-x86 manylinux2014-x64 manylinux2014-x86 manylinux2014-aarch64 web-wasm linux-arm64 linux-arm64-musl 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-armv6 linux-armv6-musl linux-armv5 linux-armv5-musl linux-ppc64le
|
||||
GEN_IMAGES = linux-s390x android-arm android-arm64 linux-x86 linux-x64 linux-mips linux-x64-clang manylinux1-x64 manylinux1-x86 manylinux2010-x64 manylinux2010-x86 manylinux2014-x64 manylinux2014-x86 manylinux2014-aarch64 web-wasm linux-arm64 linux-arm64-musl 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-armv6 linux-armv6-musl linux-armv5 linux-armv5-musl linux-ppc64le
|
||||
|
||||
GEN_IMAGE_DOCKERFILES = $(addsuffix /Dockerfile,$(GEN_IMAGES))
|
||||
|
||||
# These images are expected to have explicit rules for *both* build and testing
|
||||
@ -79,24 +80,18 @@ 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
|
||||
$(DOCKER) build -t $(ORG)/web-wasm:$(TAG) \
|
||||
--build-arg IMAGE=$(ORG)/web-wasm \
|
||||
--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"` \
|
||||
web-wasm
|
||||
rm -rf web-wasm/test
|
||||
rm -rf $@/imagefiles
|
||||
|
||||
web-wasm.test: web-wasm
|
||||
cp -r test web-wasm/
|
||||
$(DOCKER) run $(RM) dockcross/web-wasm > $(BIN)/dockcross-web-wasm && chmod +x $(BIN)/dockcross-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
|
||||
|
||||
@ -106,22 +101,16 @@ web-wasm.test: web-wasm
|
||||
manylinux2014-aarch64: manylinux2014-aarch64/Dockerfile
|
||||
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 .
|
||||
$(DOCKER) build -t $(ORG)/manylinux2014-aarch64:$(TAG) \
|
||||
--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
|
||||
$(DOCKER) run $(RM) dockcross/manylinux2014-aarch64 > $(BIN)/dockcross-manylinux2014-aarch64 && chmod +x $(BIN)/dockcross-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
|
||||
|
||||
#
|
||||
@ -130,22 +119,16 @@ manylinux2014-aarch64.test: manylinux2014-aarch64
|
||||
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 .
|
||||
$(DOCKER) build -t $(ORG)/manylinux2014-x64:$(TAG) \
|
||||
--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
|
||||
$(DOCKER) run $(RM) dockcross/manylinux2014-x64 > $(BIN)/dockcross-manylinux2014-x64 && chmod +x $(BIN)/dockcross-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
|
||||
|
||||
#
|
||||
@ -154,22 +137,16 @@ manylinux2014-x64.test: manylinux2014-x64
|
||||
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 .
|
||||
$(DOCKER) build -t $(ORG)/manylinux2014-x86:$(TAG) \
|
||||
--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
|
||||
$(DOCKER) run $(RM) dockcross/manylinux2014-x86 > $(BIN)/dockcross-manylinux2014-x86 && chmod +x $(BIN)/dockcross-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
|
||||
|
||||
#
|
||||
@ -179,18 +156,12 @@ manylinux2014-x86.test: manylinux2014-x86
|
||||
manylinux2010-x64: manylinux2010-x64/Dockerfile
|
||||
mkdir -p $@/imagefiles && cp -r imagefiles $@/
|
||||
$(DOCKER) build -t $(ORG)/manylinux2010-x64:latest \
|
||||
-t $(ORG)/manylinux2010-x64:$(TAG) \
|
||||
--build-arg IMAGE=$(ORG)/manylinux2010-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 manylinux2010-x64/Dockerfile .
|
||||
$(DOCKER) build -t $(ORG)/manylinux2010-x64:$(TAG) \
|
||||
--build-arg IMAGE=$(ORG)/manylinux2010-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 manylinux2010-x64/Dockerfile .
|
||||
rm -rf $@/imagefiles
|
||||
|
||||
manylinux2010-x64.test: manylinux2010-x64
|
||||
@ -204,22 +175,16 @@ manylinux2010-x64.test: manylinux2010-x64
|
||||
manylinux2010-x86: manylinux2010-x86/Dockerfile
|
||||
mkdir -p $@/imagefiles && cp -r imagefiles $@/
|
||||
$(DOCKER) build -t $(ORG)/manylinux2010-x86:latest \
|
||||
-t $(ORG)/manylinux2010-x86:$(TAG) \
|
||||
--build-arg IMAGE=$(ORG)/manylinux2010-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 manylinux2010-x86/Dockerfile .
|
||||
$(DOCKER) build -t $(ORG)/manylinux2010-x86:$(TAG) \
|
||||
--build-arg IMAGE=$(ORG)/manylinux2010-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 manylinux2010-x86/Dockerfile .
|
||||
rm -rf $@/imagefiles
|
||||
|
||||
manylinux2010-x86.test: manylinux2010-x86
|
||||
$(DOCKER) run $(RM) dockcross/manylinux2010-x86 > $(BIN)/dockcross-manylinux2010-x86 && chmod +x $(BIN)/dockcross-manylinux2010-x86
|
||||
$(DOCKER) run $(RM) $(ORG)/manylinux2010-x86 > $(BIN)/dockcross-manylinux2010-x86 && chmod +x $(BIN)/dockcross-manylinux2010-x86
|
||||
$(BIN)/dockcross-manylinux2010-x86 /opt/python/cp38-cp38/bin/python test/run.py
|
||||
|
||||
#
|
||||
@ -229,22 +194,16 @@ manylinux2010-x86.test: manylinux2010-x86
|
||||
manylinux1-x64: manylinux1-x64/Dockerfile
|
||||
mkdir -p $@/imagefiles && cp -r imagefiles $@/
|
||||
$(DOCKER) build -t $(ORG)/manylinux1-x64:latest \
|
||||
-t $(ORG)/manylinux1-x64:$(TAG) \
|
||||
--build-arg IMAGE=$(ORG)/manylinux1-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 manylinux1-x64/Dockerfile .
|
||||
$(DOCKER) build -t $(ORG)/manylinux1-x64:$(TAG) \
|
||||
--build-arg IMAGE=$(ORG)/manylinux1-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 manylinux1-x64/Dockerfile .
|
||||
rm -rf $@/imagefiles
|
||||
|
||||
manylinux1-x64.test: manylinux1-x64
|
||||
$(DOCKER) run $(RM) dockcross/manylinux1-x64 > $(BIN)/dockcross-manylinux1-x64 && chmod +x $(BIN)/dockcross-manylinux1-x64
|
||||
$(DOCKER) run $(RM) $(ORG)/manylinux1-x64 > $(BIN)/dockcross-manylinux1-x64 && chmod +x $(BIN)/dockcross-manylinux1-x64
|
||||
$(BIN)/dockcross-manylinux1-x64 /opt/python/cp38-cp38/bin/python test/run.py
|
||||
|
||||
#
|
||||
@ -254,22 +213,16 @@ manylinux1-x64.test: manylinux1-x64
|
||||
manylinux1-x86: manylinux1-x86/Dockerfile
|
||||
mkdir -p $@/imagefiles && cp -r imagefiles $@/
|
||||
$(DOCKER) build -t $(ORG)/manylinux1-x86:latest \
|
||||
-t $(ORG)/manylinux1-x86:$(TAG) \
|
||||
--build-arg IMAGE=$(ORG)/manylinux1-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 manylinux1-x86/Dockerfile .
|
||||
$(DOCKER) build -t $(ORG)/manylinux1-x86:$(TAG) \
|
||||
--build-arg IMAGE=$(ORG)/manylinux1-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 manylinux1-x86/Dockerfile .
|
||||
rm -rf $@/imagefiles
|
||||
|
||||
manylinux1-x86.test: manylinux1-x86
|
||||
$(DOCKER) run $(RM) dockcross/manylinux1-x86 > $(BIN)/dockcross-manylinux1-x86 && chmod +x $(BIN)/dockcross-manylinux1-x86
|
||||
$(DOCKER) run $(RM) $(ORG)/manylinux1-x86 > $(BIN)/dockcross-manylinux1-x86 && chmod +x $(BIN)/dockcross-manylinux1-x86
|
||||
$(BIN)/dockcross-manylinux1-x86 /opt/python/cp38-cp38/bin/python test/run.py
|
||||
|
||||
#
|
||||
@ -278,17 +231,13 @@ manylinux1-x86.test: manylinux1-x86
|
||||
|
||||
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` \
|
||||
.
|
||||
$(DOCKER) build -t $(ORG)/base:$(TAG) \
|
||||
--build-arg IMAGE=$(ORG)/base \
|
||||
--build-arg VERSION=$(TAG) \
|
||||
--build-arg VCS_URL=`git config --get remote.origin.url` \
|
||||
.
|
||||
|
||||
base.test: base
|
||||
$(DOCKER) run $(RM) dockcross/base > $(BIN)/dockcross-base && chmod +x $(BIN)/dockcross-base
|
||||
$(DOCKER) run $(RM) $(ORG)/base > $(BIN)/dockcross-base && chmod +x $(BIN)/dockcross-base
|
||||
|
||||
#
|
||||
# display
|
||||
@ -305,27 +254,32 @@ $(VERBOSE).SILENT: display_images
|
||||
$(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"` \
|
||||
$@
|
||||
$(DOCKER) build -t $(ORG)/$@:$(TAG) \
|
||||
--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
|
||||
|
||||
clean:
|
||||
for d in $(STANDARD_IMAGES) ; do rm -rf $$d/imagefiles ; done
|
||||
for d in $(GEN_IMAGE_DOCKERFILES) ; do rm -f $$d/Dockerfile ; done
|
||||
rm -f Dockerfile
|
||||
|
||||
purge: clean
|
||||
# Remove all untagged images
|
||||
$(DOCKER) container ls -aq | xargs --no-run-if-empty $(DOCKER) container rm -f
|
||||
# Remove all images with organization (ex dockcross/*)
|
||||
$(DOCKER) images --filter=reference='$(ORG)/*' --format='{{.Repository}}:{{.Tag}}' | xargs -r $(DOCKER) rmi -f
|
||||
|
||||
#
|
||||
# testing implicit rule
|
||||
#
|
||||
.SECONDEXPANSION:
|
||||
$(addsuffix .test,$(STANDARD_IMAGES)): $$(basename $$@)
|
||||
$(DOCKER) run $(RM) dockcross/$(basename $@) > $(BIN)/dockcross-$(basename $@) && chmod +x $(BIN)/dockcross-$(basename $@)
|
||||
$(BIN)/dockcross-$(basename $@) python test/run.py $($@_ARGS)
|
||||
$(DOCKER) run $(RM) $(ORG)/$(basename $@) > $(BIN)/dockcross-$(basename $@) && chmod +x $(BIN)/dockcross-$(basename $@)
|
||||
$(BIN)/dockcross-$(basename $@) python3 test/run.py $($@_ARGS)
|
||||
|
||||
#
|
||||
# testing prerequisites implicit rule
|
||||
@ -335,4 +289,4 @@ test.prerequisites:
|
||||
|
||||
$(addsuffix .test,base $(IMAGES)): test.prerequisites
|
||||
|
||||
.PHONY: base images $(IMAGES) test %.test
|
||||
.PHONY: base images $(IMAGES) test %.test clean purge
|
||||
|
13
README.rst
13
README.rst
@ -187,13 +187,6 @@ dockcross/linux-armv7l-musl
|
||||
|linux-armv7l-musl-images| Toolchain configured for ARMv7-L, using `musl <https://www.musl-libc.org/>`_ as base "libc".
|
||||
|
||||
|
||||
.. |linux-mipsel-images| image:: https://images.microbadger.com/badges/image/dockcross/linux-mipsel.svg
|
||||
:target: https://microbadger.com/images/dockcross/linux-mipsel
|
||||
|
||||
dockcross/linux-mipsel
|
||||
|linux-mipsel-images| Linux mipsel cross compiler toolchain for little endian MIPS GNU systems.
|
||||
|
||||
|
||||
.. |linux-mips-images| image:: https://images.microbadger.com/badges/image/dockcross/linux-mips.svg
|
||||
:target: https://microbadger.com/images/dockcross/linux-mips
|
||||
|
||||
@ -223,6 +216,12 @@ dockcross/linux-x64
|
||||
|linux-x64-images| Linux x86_64 / amd64 compiler. Since the Docker image is
|
||||
natively x86_64, this is not actually a cross compiler.
|
||||
|
||||
.. |linux-x64-clang-images| image:: https://images.microbadger.com/badges/image/dockcross/linux-x64-clang.svg
|
||||
:target: https://microbadger.com/images/dockcross/linux-x64-clang
|
||||
|
||||
dockcross/linux-x64-clang
|
||||
|linux-x64-clang-images| Linux clang x86_64 / amd64 compiler. Since the Docker image is
|
||||
natively x86_64, this is not actually a cross compiler.
|
||||
|
||||
.. |linux-x86-images| image:: https://images.microbadger.com/badges/image/dockcross/linux-x86.svg
|
||||
:target: https://microbadger.com/images/dockcross/linux-x86
|
||||
|
@ -48,6 +48,7 @@ ENV XCC_PREFIX=/usr/xcc
|
||||
COPY \
|
||||
imagefiles/install-crosstool-ng-toolchain.sh \
|
||||
imagefiles/crosstool-ng-expat.patch \
|
||||
imagefiles/Fix-error-with-bash-5-and-up.patch \
|
||||
manylinux2014-aarch64/crosstool-ng.config \
|
||||
/dockcross/
|
||||
|
||||
|
@ -16,12 +16,18 @@
|
||||
|
||||
# Install Debian packages required for `ct-ng`.
|
||||
RUN apt-get update --yes && apt-get install --no-install-recommends --yes \
|
||||
gawk \
|
||||
gperf \
|
||||
help2man \
|
||||
python-dev \
|
||||
texinfo \
|
||||
&& apt-get clean --yes
|
||||
gawk \
|
||||
gperf \
|
||||
help2man \
|
||||
python3-dev \
|
||||
texinfo \
|
||||
# Packages needed for crosstool-ng 1.24 or higher
|
||||
unzip \
|
||||
libtool \
|
||||
libtool-bin \
|
||||
&& apt-get clean autoclean --yes \
|
||||
&& apt-get autoremove --yes \
|
||||
&& rm -rf /var/lib/{apt,dpkg,cache,log}/
|
||||
|
||||
ENV XCC_PREFIX=/usr/xcc
|
||||
|
||||
@ -33,6 +39,7 @@ ENV XCC_PREFIX=/usr/xcc
|
||||
COPY \
|
||||
imagefiles/install-crosstool-ng-toolchain.sh \
|
||||
imagefiles/crosstool-ng-expat.patch \
|
||||
imagefiles/Fix-error-with-bash-5-and-up.patch \
|
||||
crosstool-ng.config \
|
||||
/dockcross/
|
||||
|
||||
@ -42,6 +49,7 @@ RUN mkdir /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
|
||||
|
||||
# Restore our default workdir (from "dockcross/base").
|
||||
|
@ -1,11 +1,6 @@
|
||||
ARG DEBIAN_FRONTEND=noninteractive
|
||||
ARG REPO=http://cdn-fastly.deb.debian.org
|
||||
|
||||
RUN \
|
||||
bash -c "echo \"deb $REPO/debian stretch main contrib non-free\" > /etc/apt/sources.list" && \
|
||||
bash -c "echo \"deb $REPO/debian stretch-updates main contrib non-free\" >> /etc/apt/sources.list" && \
|
||||
bash -c "echo \"deb $REPO/debian-security stretch/updates main\" >> /etc/apt/sources.list" && \
|
||||
bash -c "echo \"deb http://ftp.debian.org/debian stretch-backports main\" >> /etc/apt/sources.list" && \
|
||||
apt-get update --yes && \
|
||||
apt-get install --no-install-recommends --yes \
|
||||
autogen \
|
||||
@ -30,8 +25,8 @@ RUN \
|
||||
ncurses-dev \
|
||||
pkg-config \
|
||||
pax \
|
||||
python \
|
||||
python-pip \
|
||||
python3 \
|
||||
python3-pip \
|
||||
rsync \
|
||||
sed \
|
||||
ssh \
|
||||
@ -41,5 +36,10 @@ RUN \
|
||||
xz-utils \
|
||||
zip \
|
||||
zlib1g-dev \
|
||||
&& \
|
||||
apt-get clean --yes
|
||||
# python-is-python3 \
|
||||
&& apt-get clean autoclean --yes \
|
||||
&& apt-get autoremove --yes \
|
||||
&& rm -rf /var/lib/{apt,dpkg,cache,log}/
|
||||
|
||||
RUN ln -s /usr/bin/python3 /usr/bin/python \
|
||||
&& ln -s /usr/bin/pip3 /usr/bin/pip
|
||||
|
@ -1,7 +1,7 @@
|
||||
WORKDIR /usr/src
|
||||
|
||||
ARG GIT_VERSION=2.31.1
|
||||
ARG CMAKE_VERSION=3.17.1
|
||||
ARG GIT_VERSION=2.32.0
|
||||
ARG CMAKE_VERSION=3.20.5
|
||||
|
||||
# Image build scripts
|
||||
COPY \
|
||||
@ -23,9 +23,9 @@ RUN \
|
||||
/buildscripts/build-and-install-openssh.sh && \
|
||||
/buildscripts/build-and-install-curl.sh && \
|
||||
/buildscripts/build-and-install-git.sh && \
|
||||
/buildscripts/install-cmake-binary.sh $X86_FLAG && \
|
||||
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/install-liquidprompt-binary.sh && \
|
||||
PYTHON=$([ -e /opt/python/cp38-cp38/bin/python ] && echo "/opt/python/cp38-cp38/bin/python" || echo "python") && \
|
||||
PYTHON=$([ -e /opt/python/cp38-cp38/bin/python ] && echo "/opt/python/cp38-cp38/bin/python" || echo "python3") && \
|
||||
/buildscripts/install-python-packages.sh -python ${PYTHON} && \
|
||||
/buildscripts/build-and-install-ninja.sh -python ${PYTHON} && \
|
||||
rm -rf /buildscripts
|
||||
|
@ -8,6 +8,7 @@ RUN \
|
||||
yum -y install \
|
||||
$([ "$DEFAULT_DOCKCROSS_IMAGE" = "dockcross/manylinux2014-x86" ] && echo "" || echo "epel-release") \
|
||||
gpg \
|
||||
python3-devel \
|
||||
zlib-devel \
|
||||
gettext \
|
||||
openssh-clients \
|
||||
|
28
imagefiles/Fix-error-with-bash-5-and-up.patch
Normal file
28
imagefiles/Fix-error-with-bash-5-and-up.patch
Normal file
@ -0,0 +1,28 @@
|
||||
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
|
||||
|
@ -35,8 +35,10 @@ mkdir /usr/src/CMake-build
|
||||
cd /usr/src/CMake-build
|
||||
|
||||
${WRAPPER} /usr/src/CMake/bootstrap \
|
||||
--parallel=$(grep -c processor /proc/cpuinfo)
|
||||
${WRAPPER} make -j$(grep -c processor /proc/cpuinfo)
|
||||
--parallel=$(nproc) \
|
||||
-- -DCMAKE_USE_OPENSSL=OFF
|
||||
${WRAPPER} make -j$(nproc)
|
||||
|
||||
|
||||
mkdir /usr/src/CMake-ssl-build
|
||||
cd /usr/src/CMake-ssl-build
|
||||
@ -48,7 +50,7 @@ ${WRAPPER} /usr/src/CMake-build/bin/cmake \
|
||||
-DCMAKE_USE_OPENSSL:BOOL=ON \
|
||||
-DOPENSSL_ROOT_DIR:PATH=/usr/local/ssl \
|
||||
../CMake
|
||||
${WRAPPER} make -j$(grep -c processor /proc/cpuinfo) install
|
||||
${WRAPPER} make -j$(nproc) install
|
||||
|
||||
# Cleanup install tree
|
||||
cd /usr/src/cmake-$CMAKE_VERSION
|
||||
|
@ -18,7 +18,7 @@ function do_curl_build {
|
||||
# We do this shared to avoid obnoxious linker issues where git couldn't
|
||||
# link properly. If anyone wants to make this build statically go for it.
|
||||
LIBS=-ldl CFLAGS=-Wl,--exclude-libs,ALL ./configure --with-ssl --disable-static > /dev/null
|
||||
make > /dev/null
|
||||
make -j$(nproc) > /dev/null
|
||||
make install > /dev/null
|
||||
}
|
||||
|
||||
|
@ -32,7 +32,7 @@ rm -f git-${GIT_VERSION}.tar.gz
|
||||
|
||||
pushd git-${GIT_VERSION}
|
||||
./configure --prefix=/usr/local --with-curl
|
||||
make
|
||||
make -j$(nproc)
|
||||
make install
|
||||
popd
|
||||
|
||||
|
@ -59,7 +59,7 @@ PERL_DOWNLOAD_URL=https://www.cpan.org/src/5.0
|
||||
|
||||
function do_perl_build {
|
||||
${WRAPPER} sh Configure -des -Dprefix=/opt/perl > /dev/null
|
||||
${WRAPPER} make > /dev/null
|
||||
${WRAPPER} make -j$(nproc) > /dev/null
|
||||
${WRAPPER} make install > /dev/null
|
||||
}
|
||||
|
||||
@ -78,7 +78,7 @@ function build_perl {
|
||||
|
||||
function do_openssl_build {
|
||||
${WRAPPER} ./config no-shared -fPIC $CONFIG_FLAG --prefix=/usr/local/ssl --openssldir=/usr/local/ssl > /dev/null
|
||||
${WRAPPER} make > /dev/null
|
||||
${WRAPPER} make -j$(nproc) > /dev/null
|
||||
${WRAPPER} make install_sw > /dev/null
|
||||
}
|
||||
|
||||
|
42
imagefiles/build-and-install-python.sh
Executable file
42
imagefiles/build-and-install-python.sh
Executable file
@ -0,0 +1,42 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
#
|
||||
# Configure, build and install python
|
||||
#
|
||||
# Usage:
|
||||
#
|
||||
# build-and-install-python.sh [-version 3.9.5]
|
||||
# needed packages : libncurses5-dev libgdbm-dev libnss3-dev
|
||||
# libssl-dev libsqlite3-dev libreadline-dev libffi-dev libbz2-dev
|
||||
|
||||
PYTHON_VERSION=3.9.5
|
||||
while [ $# -gt 0 ]; do
|
||||
case "$1" in
|
||||
-version|-v)
|
||||
PYTHON_VERSION=$2
|
||||
shift
|
||||
;;&
|
||||
*)
|
||||
echo "Usage: Usage: ${0##*/} [-version 3.9.5]"
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
shift
|
||||
done
|
||||
|
||||
# Download
|
||||
wget https://www.python.org/ftp/python/${PYTHON_VERSION}/Python-${PYTHON_VERSION}.tgz
|
||||
tar xvf Python-${PYTHON_VERSION}.tgz
|
||||
# Configure, build and install
|
||||
cd Python-${PYTHON_VERSION}
|
||||
# Disable --enable-shared --enable-optimizations --prefix=/usr/local/python-${PYTHON_VERSION}
|
||||
./configure --with-ensurepip=install
|
||||
make -j$(nproc)
|
||||
make install #altinstall
|
||||
|
||||
ln -s /usr/local/bin/python3 /usr/local/bin/python
|
||||
ln -s /usr/local/bin/pip3 /usr/local/bin/pip
|
||||
|
||||
# Clean
|
||||
cd ..
|
||||
rm -rf Python-${PYTHON_VERSION}
|
@ -16,7 +16,7 @@ set -o pipefail
|
||||
# be generated underneath of here.
|
||||
ROOT=${PWD}
|
||||
|
||||
usage() { echo "Usage: $0 -p <prefix> -c <config-path>" 1>&2; exit 1; }
|
||||
usage() { echo "Usage: $0 -p <prefix> -c <config-path> -v <version>" 1>&2; exit 1; }
|
||||
|
||||
# Resolve our input parameters.
|
||||
#
|
||||
@ -24,7 +24,8 @@ usage() { echo "Usage: $0 -p <prefix> -c <config-path>" 1>&2; exit 1; }
|
||||
# change directories during installation.
|
||||
CT_PREFIX=
|
||||
CONFIG_PATH=
|
||||
while getopts "p:c:" o; do
|
||||
REV=
|
||||
while getopts "p:c:v:" o; do
|
||||
case "${o}" in
|
||||
p)
|
||||
CT_PREFIX=$(readlink -f ${OPTARG})
|
||||
@ -32,6 +33,9 @@ while getopts "p:c:" o; do
|
||||
c)
|
||||
CONFIG_PATH=$(readlink -f ${OPTARG})
|
||||
;;
|
||||
v)
|
||||
REV=${OPTARG}
|
||||
;;
|
||||
*)
|
||||
usage
|
||||
;;
|
||||
@ -48,6 +52,12 @@ if [ -z ${CONFIG_PATH} ] || [ ! -f ${CONFIG_PATH} ]; then
|
||||
usage
|
||||
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
|
||||
fi
|
||||
|
||||
|
||||
##
|
||||
# Build "crosstool-ng".
|
||||
##
|
||||
@ -57,12 +67,19 @@ mkdir -p "${CTNG}"
|
||||
cd "${CTNG}"
|
||||
|
||||
# Download and install the "crosstool-ng" source.
|
||||
REV=1.23.0
|
||||
curl -# -LO \
|
||||
"https://github.com/crosstool-ng/crosstool-ng/archive/crosstool-ng-${REV}.tar.gz"
|
||||
tar -xf "crosstool-ng-${REV}.tar.gz"
|
||||
patch crosstool-ng-crosstool-ng-1.23.0/scripts/build/companion_libs/210-expat.sh -i /dockcross/crosstool-ng-expat.patch
|
||||
cd "crosstool-ng-crosstool-ng-${REV}"
|
||||
|
||||
git clone https://github.com/crosstool-ng/crosstool-ng.git
|
||||
cd crosstool-ng
|
||||
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
|
||||
fi
|
||||
|
||||
# Bootstrap and install the tool.
|
||||
BOOTSTRAP_PREFIX="${CTNG}/prefix"
|
||||
@ -94,7 +111,11 @@ cp "${CONFIG_PATH}" "${BUILD}/.config"
|
||||
|
||||
# As mentioned in ct-ng config, need to unset LD_LIBRARY_PATH.
|
||||
unset LD_LIBRARY_PATH
|
||||
# Fix build error on manylinux2014-aarch64
|
||||
unset CC
|
||||
unset CXX
|
||||
|
||||
# Build and install the toolchain!
|
||||
"${BOOTSTRAP_PREFIX}/bin/ct-ng" build
|
||||
# Print last 250 lines if build fail
|
||||
"${BOOTSTRAP_PREFIX}/bin/ct-ng" build || (tail -250 build.log && exit 1)
|
||||
|
||||
|
@ -22,8 +22,8 @@ cd /tmp
|
||||
|
||||
# Todo: Need to update base image from Debian Stretch for the required Python
|
||||
# 3.6 or later
|
||||
# curl -# -LO https://bootstrap.pypa.io/pip/get-pip.py
|
||||
curl -# -LO https://bootstrap.pypa.io/pip/2.7/get-pip.py
|
||||
curl -# -LO https://bootstrap.pypa.io/pip/get-pip.py
|
||||
#curl -# -LO https://bootstrap.pypa.io/pip/2.7/get-pip.py
|
||||
${PYTHON} get-pip.py --ignore-installed
|
||||
rm get-pip.py
|
||||
|
||||
|
@ -2,6 +2,10 @@ FROM dockcross/base:latest
|
||||
|
||||
# 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)
|
||||
ENV CT_VERSION 9e10cb6fbaab6d83e1305b2d53ab585d14989667
|
||||
|
||||
#include "common.crosstool"
|
||||
|
||||
# The cross-compiling emulator
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -5,6 +5,9 @@ MAINTAINER Matt McCormick "matt.mccormick@kitware.com"
|
||||
# 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)
|
||||
ENV CT_VERSION 9e10cb6fbaab6d83e1305b2d53ab585d14989667
|
||||
|
||||
#include "common.crosstool"
|
||||
|
||||
# The cross-compiling emulator
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -4,6 +4,10 @@ MAINTAINER Matt McCormick "matt.mccormick@kitware.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)
|
||||
ENV CT_VERSION 9e10cb6fbaab6d83e1305b2d53ab585d14989667
|
||||
|
||||
#include "common.crosstool"
|
||||
|
||||
# The cross-compiling emulator
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -1,6 +1,10 @@
|
||||
FROM dockcross/base:latest
|
||||
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)
|
||||
ENV CT_VERSION 9e10cb6fbaab6d83e1305b2d53ab585d14989667
|
||||
|
||||
# This is for 32-bit ARMv7 Linux
|
||||
#include "common.crosstool"
|
||||
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -2,6 +2,10 @@ FROM dockcross/base:latest
|
||||
MAINTAINER Matt McCormick "matt.mccormick@kitware.com"
|
||||
|
||||
# This is for 32-bit ARMv7 Linux
|
||||
|
||||
# We use a git commit while waiting for 1.25 to release (1.24 is several years old)
|
||||
ENV CT_VERSION 9e10cb6fbaab6d83e1305b2d53ab585d14989667
|
||||
|
||||
#include "common.crosstool"
|
||||
|
||||
# The cross-compiling emulator
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -2,6 +2,10 @@ FROM dockcross/base:latest
|
||||
|
||||
# This is for 32-bit Big-Endian MIPS devices with hard floating point enabled
|
||||
|
||||
# Crosstool-ng version
|
||||
# We use a git commit while waiting for 1.25 to release (1.24 is several years old)
|
||||
ENV CT_VERSION 9e10cb6fbaab6d83e1305b2d53ab585d14989667
|
||||
|
||||
#include "common.crosstool"
|
||||
|
||||
# The cross-compiling emulator
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -1,40 +0,0 @@
|
||||
FROM dockcross/base:latest
|
||||
MAINTAINER Sergi Alvarez "pancake@nopcode.org"
|
||||
|
||||
# This is for ARMv5 "legacy" (mipsel) devices which do NOT support hard float
|
||||
# VFP instructions (mipshf).
|
||||
|
||||
# From https://wiki.debian.org/CrossToolchains, installing for jessie
|
||||
RUN echo "deb http://emdebian.org/tools/debian/ jessie main" > /etc/apt/sources.list.d/emdebian.list \
|
||||
&& curl http://emdebian.org/tools/debian/emdebian-toolchain-archive.key | apt-key add - \
|
||||
&& sed -i 's/httpredir.debian.org/http.debian.net/' /etc/apt/sources.list \
|
||||
&& dpkg --add-architecture mipsel \
|
||||
&& apt-get update && apt-get install -y crossbuild-essential-mipsel
|
||||
|
||||
# The cross-compiling emulator
|
||||
RUN apt-get update && apt-get install -y \
|
||||
qemu-user \
|
||||
qemu-user-static
|
||||
|
||||
ENV CROSS_TRIPLE mipsel-linux-gnu
|
||||
ENV CROSS_ROOT /usr/bin
|
||||
ENV AS=${CROSS_ROOT}/${CROSS_TRIPLE}-as \
|
||||
AR=${CROSS_ROOT}/${CROSS_TRIPLE}-ar \
|
||||
CC=${CROSS_ROOT}/${CROSS_TRIPLE}-gcc \
|
||||
CPP=${CROSS_ROOT}/${CROSS_TRIPLE}-cpp-4.9 \
|
||||
CXX=${CROSS_ROOT}/${CROSS_TRIPLE}-g++ \
|
||||
LD=${CROSS_ROOT}/${CROSS_TRIPLE}-ld \
|
||||
FC=${CROSS_ROOT}/${CROSS_TRIPLE}-gfortran
|
||||
|
||||
ENV QEMU_LD_PREFIX ${CROSS_ROOT}/libc
|
||||
ENV QEMU_SET_ENV "LD_LIBRARY_PATH=${CROSS_ROOT}/lib:${CROSS_ROOT}/libc/lib/${CROSS_TRIPLE}/"
|
||||
|
||||
COPY Toolchain.cmake ${CROSS_ROOT}/
|
||||
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 mips
|
||||
|
||||
#include "common.label-and-env"
|
@ -1,16 +0,0 @@
|
||||
set(CMAKE_SYSTEM_NAME Linux)
|
||||
set(CMAKE_SYSTEM_VERSION 1)
|
||||
set(CMAKE_SYSTEM_PROCESSOR mipsel)
|
||||
|
||||
set(cross_triple "mipsel-linux-gnu")
|
||||
|
||||
set(CMAKE_C_COMPILER $ENV{CC})
|
||||
set(CMAKE_CXX_COMPILER $ENV{CXX})
|
||||
set(CMAKE_Fortran_COMPILER $ENV{FC})
|
||||
|
||||
set(CMAKE_FIND_ROOT_PATH $ENV{CROSS_ROOT} $ENV{CROSS_ROOT}/libc/usr)
|
||||
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_CROSSCOMPILING_EMULATOR /usr/bin/qemu-mipsel)
|
@ -1,31 +1,25 @@
|
||||
FROM dockcross/base:latest
|
||||
MAINTAINER Matt McCormick "matt.mccormick@kitware.com"
|
||||
|
||||
COPY sources.list /etc/apt/sources.list
|
||||
RUN dpkg --add-architecture ppc64el ; apt-get update ; apt-get -y upgrade ; apt-get update ;
|
||||
# Crosstool-ng version
|
||||
# We use a git commit while waiting for 1.25 to release (1.24 is several years old)
|
||||
ENV CT_VERSION 9e10cb6fbaab6d83e1305b2d53ab585d14989667
|
||||
|
||||
ENV CROSS_TRIPLE powerpc64le-linux-gnu
|
||||
|
||||
RUN apt-get install -y \
|
||||
libbz2-dev:ppc64el \
|
||||
libexpat1-dev:ppc64el \
|
||||
ncurses-dev:ppc64el \
|
||||
libssl-dev:ppc64el \
|
||||
python-dev
|
||||
ENV QEMU_VERSION 6.0.0
|
||||
|
||||
#include "common.crosstool"
|
||||
|
||||
# ENV CROSS_TRIPLE powerpc64le-unknown-linux-gnu
|
||||
ENV CROSS_TRIPLE powerpc64le-unknown-linux-gnu
|
||||
|
||||
WORKDIR /usr/src
|
||||
|
||||
RUN apt-get install -y libglib2.0-dev zlib1g-dev libpixman-1-dev && \
|
||||
curl -L http://wiki.qemu-project.org/download/qemu-2.6.0.tar.bz2 | tar xj && \
|
||||
cd qemu-2.6.0 && \
|
||||
curl -L http://wiki.qemu-project.org/download/qemu-${QEMU_VERSION}.tar.bz2 | tar xj && \
|
||||
cd qemu-${QEMU_VERSION} && \
|
||||
./configure --target-list=ppc64le-linux-user --prefix=/usr && \
|
||||
make -j$(nproc) && \
|
||||
make install && \
|
||||
cd .. && rm -rf qemu-2.6.0
|
||||
cd .. && rm -rf qemu-${QEMU_VERSION}
|
||||
|
||||
ENV CROSS_ROOT ${XCC_PREFIX}/${CROSS_TRIPLE}
|
||||
ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \
|
||||
@ -44,7 +38,7 @@ WORKDIR /work
|
||||
COPY Toolchain.cmake /usr/lib/${CROSS_TRIPLE}/
|
||||
ENV CMAKE_TOOLCHAIN_FILE /usr/lib/${CROSS_TRIPLE}/Toolchain.cmake
|
||||
|
||||
ENV PKG_CONFIG_PATH /usr/lib/powerpc64le-linux-gnu/pkgconfig
|
||||
ENV PKG_CONFIG_PATH /usr/lib/powerpc64le-unknown-linux-gnu/pkgconfig
|
||||
|
||||
# Linux kernel cross compilation variables
|
||||
ENV PATH ${PATH}:${CROSS_ROOT}/bin
|
||||
@ -52,4 +46,3 @@ ENV CROSS_COMPILE ${CROSS_TRIPLE}-
|
||||
ENV ARCH powerpc
|
||||
|
||||
#include "common.label-and-env"
|
||||
|
||||
|
@ -2,7 +2,7 @@ set(CMAKE_SYSTEM_NAME Linux)
|
||||
set(CMAKE_SYSTEM_VERSION 1)
|
||||
set(CMAKE_SYSTEM_PROCESSOR ppc64le)
|
||||
|
||||
set(cross_triple "powerpc64le-linux-gnu")
|
||||
set(cross_triple "powerpc64le-unknown-linux-gnu")
|
||||
set(cross_root /usr/xcc/${cross_triple})
|
||||
|
||||
set(CMAKE_C_COMPILER $ENV{CC})
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -1,10 +0,0 @@
|
||||
#------------------------------------------------------------------------------#
|
||||
# OFFICIAL DEBIAN REPOS
|
||||
#------------------------------------------------------------------------------#
|
||||
|
||||
###### Debian Main Repos
|
||||
deb http://deb.debian.org/debian/ oldstable main contrib non-free
|
||||
|
||||
deb http://deb.debian.org/debian/ oldstable-updates main contrib non-free
|
||||
|
||||
deb http://deb.debian.org/debian-security oldstable/updates main
|
@ -2,6 +2,9 @@ FROM dockcross/base:latest
|
||||
|
||||
# This is for 64-bit S390X Linux machine
|
||||
|
||||
# Crosstool-ng version
|
||||
ENV CT_VERSION crosstool-ng-1.23.0
|
||||
|
||||
#include "common.crosstool"
|
||||
|
||||
# The cross-compiling emulator
|
||||
|
@ -343,7 +343,7 @@ CT_CC_CORE_PASSES_NEEDED=y
|
||||
CT_CC_CORE_PASS_1_NEEDED=y
|
||||
CT_CC_CORE_PASS_2_NEEDED=y
|
||||
CT_CC_gcc=y
|
||||
CT_CC_GCC_VERSION="6.3.0"
|
||||
CT_CC_GCC_VERSION="7.3.0"
|
||||
# CT_CC_GCC_SHOW_LINARO is not set
|
||||
CT_CC_GCC_V_6_3_0=y
|
||||
# CT_CC_GCC_V_5_4_0 is not set
|
||||
@ -443,7 +443,7 @@ CT_GDB_7_12_or_later=y
|
||||
CT_GDB_7_2_or_later=y
|
||||
CT_GDB_7_0_or_later=y
|
||||
CT_GDB_HAS_PKGVERSION_BUGURL=y
|
||||
CT_GDB_HAS_PYTHON=y
|
||||
CT_GDB_HAS_PYTHON=n
|
||||
CT_GDB_INSTALL_GDBINIT=y
|
||||
# CT_DEBUG_ltrace is not set
|
||||
# CT_DEBUG_strace is not set
|
||||
|
35
linux-x64-clang/Dockerfile.in
Normal file
35
linux-x64-clang/Dockerfile.in
Normal file
@ -0,0 +1,35 @@
|
||||
FROM dockcross/base:latest
|
||||
MAINTAINER Matt McCormick "matt.mccormick@kitware.com"
|
||||
# flang
|
||||
RUN echo "deb http://apt.llvm.org/buster/ llvm-toolchain-buster main" >> /etc/apt/sources.list \
|
||||
&& echo "deb-src http://apt.llvm.org/buster/ llvm-toolchain-buster main" >> /etc/apt/sources.list \
|
||||
&& wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key|sudo apt-key add - \
|
||||
&& apt-get update \
|
||||
&& apt-get purge --autoremove -y gcc g++ software-properties-common \
|
||||
&& apt-get -y install clang libc++-dev libc++abi-dev clang-format clang-tidy lldb \
|
||||
&& apt-get clean --yes \
|
||||
&& rm -rf /var/lib/apt/lists/* \
|
||||
&& update-alternatives --install /usr/bin/cc cc /usr/bin/clang 90 \
|
||||
&& update-alternatives --install /usr/bin/c++ c++ /usr/bin/clang++ 90 \
|
||||
&& update-alternatives --install /usr/bin/cpp cpp /usr/bin/clang++ 90 \
|
||||
&& cc --version \
|
||||
&& c++ --version \
|
||||
&& cpp --version
|
||||
|
||||
ENV CROSS_TRIPLE x86_64-linux-gnu
|
||||
ENV CROSS_ROOT /usr/bin
|
||||
ENV CC=/usr/bin/clang \
|
||||
CPP=/usr/bin/cpp \
|
||||
CXX=/usr/bin/clang++ \
|
||||
LD=/usr/bin/lld \
|
||||
FC=/usr/bin/flang
|
||||
|
||||
# AS=/usr/bin/${CROSS_TRIPLE}-as
|
||||
# AR=/usr/bin/${CROSS_TRIPLE}-ar
|
||||
|
||||
COPY ${CROSS_TRIPLE}-noop.sh /usr/bin/${CROSS_TRIPLE}-noop
|
||||
|
||||
COPY Toolchain.cmake /usr/lib/${CROSS_TRIPLE}/
|
||||
ENV CMAKE_TOOLCHAIN_FILE /usr/lib/${CROSS_TRIPLE}/Toolchain.cmake
|
||||
|
||||
#include "common.label-and-env"
|
12
linux-x64-clang/Toolchain.cmake
Normal file
12
linux-x64-clang/Toolchain.cmake
Normal file
@ -0,0 +1,12 @@
|
||||
set(CMAKE_SYSTEM_NAME Linux)
|
||||
set(CMAKE_SYSTEM_VERSION 1)
|
||||
set(CMAKE_SYSTEM_PROCESSOR x86_64)
|
||||
|
||||
set(cross_triple "x86_64-linux-gnu")
|
||||
|
||||
set(CMAKE_C_COMPILER $ENV{CC})
|
||||
set(CMAKE_CXX_COMPILER $ENV{CXX})
|
||||
set(CMAKE_Fortran_COMPILER $ENV{FC})
|
||||
set(CMAKE_ASM_COMPILER ${CMAKE_C_COMPILER})
|
||||
|
||||
set(CMAKE_CROSSCOMPILING_EMULATOR /usr/bin/${cross_triple}-noop)
|
2
linux-x64-clang/x86_64-linux-gnu-noop.sh
Executable file
2
linux-x64-clang/x86_64-linux-gnu-noop.sh
Executable file
@ -0,0 +1,2 @@
|
||||
#!/bin/sh
|
||||
exec "$@"
|
@ -2,6 +2,7 @@ FROM quay.io/pypa/manylinux1_x86_64:latest
|
||||
MAINTAINER Matt McCormick "matt.mccormick@kitware.com"
|
||||
|
||||
ENV DEFAULT_DOCKCROSS_IMAGE dockcross/manylinux1-x64
|
||||
ENV CMAKE_BIN true
|
||||
|
||||
#include "common.manylinux"
|
||||
|
||||
|
@ -2,6 +2,7 @@ FROM quay.io/pypa/manylinux1_i686:latest
|
||||
MAINTAINER Matt McCormick "matt.mccormick@kitware.com"
|
||||
|
||||
ENV DEFAULT_DOCKCROSS_IMAGE dockcross/manylinux1-x86
|
||||
ENV CMAKE_BIN true
|
||||
|
||||
#include "common.manylinux"
|
||||
|
||||
|
@ -4,87 +4,15 @@ MAINTAINER Matt McCormick "matt.mccormick@kitware.com"
|
||||
ENV DEFAULT_DOCKCROSS_IMAGE dockcross/manylinux2010-x64
|
||||
|
||||
#include "common.manylinux"
|
||||
# Image build scripts
|
||||
COPY \
|
||||
imagefiles/install-gosu-binary.sh \
|
||||
imagefiles/install-gosu-binary-wrapper.sh \
|
||||
manylinux-common/install-python-packages.sh \
|
||||
/buildscripts/
|
||||
|
||||
RUN \
|
||||
set -x && \
|
||||
yum -y install \
|
||||
epel-release \
|
||||
gpg \
|
||||
zlib-devel \
|
||||
gettext \
|
||||
openssh-clients \
|
||||
pax \
|
||||
wget \
|
||||
zip \
|
||||
&& \
|
||||
yum clean all && \
|
||||
/buildscripts/install-gosu-binary.sh && \
|
||||
/buildscripts/install-gosu-binary-wrapper.sh && \
|
||||
# Remove sudo provided by "devtoolset-2" and "devtoolset-8" since it doesn't work with
|
||||
# our sudo wrapper calling gosu.
|
||||
rm -f /opt/rh/devtoolset-2/root/usr/bin/sudo && \
|
||||
rm -f /opt/rh/devtoolset-7/root/usr/bin/sudo && \
|
||||
rm -f /opt/rh/devtoolset-8/root/usr/bin/sudo && \
|
||||
/buildscripts/install-python-packages.sh && \
|
||||
rm -rf /buildscripts
|
||||
|
||||
# Runtime scripts
|
||||
COPY manylinux-common/pre_exec.sh /dockcross/
|
||||
|
||||
#include "common.dockcross"
|
||||
|
||||
#include "common.docker"
|
||||
WORKDIR /usr/src
|
||||
|
||||
ARG GIT_VERSION=2.22.0
|
||||
ARG CMAKE_VERSION=3.17.1
|
||||
|
||||
# Image build scripts
|
||||
COPY \
|
||||
imagefiles/build-and-install-cmake.sh \
|
||||
imagefiles/build-and-install-curl.sh \
|
||||
imagefiles/build-and-install-git.sh \
|
||||
imagefiles/build-and-install-ninja.sh \
|
||||
imagefiles/build-and-install-openssl.sh \
|
||||
imagefiles/build-and-install-openssh.sh \
|
||||
imagefiles/install-cmake-binary.sh \
|
||||
imagefiles/install-liquidprompt-binary.sh \
|
||||
imagefiles/install-python-packages.sh \
|
||||
imagefiles/utils.sh \
|
||||
/buildscripts/
|
||||
|
||||
RUN \
|
||||
X86_FLAG=$([ "$DEFAULT_DOCKCROSS_IMAGE" = "dockcross/manylinux1-x86" -o "$DEFAULT_DOCKCROSS_IMAGE" = "dockcross/manylinux2010-x86" ] && echo "-32" || echo "") && \
|
||||
/buildscripts/build-and-install-openssl.sh $X86_FLAG && \
|
||||
/buildscripts/build-and-install-openssh.sh && \
|
||||
/buildscripts/build-and-install-curl.sh && \
|
||||
/buildscripts/build-and-install-git.sh && \
|
||||
/buildscripts/install-cmake-binary.sh $X86_FLAG && \
|
||||
/buildscripts/install-liquidprompt-binary.sh && \
|
||||
PYTHON=$([ -e /opt/python/cp35-cp35m/bin/python ] && echo "/opt/python/cp35-cp35m/bin/python" || echo "python") && \
|
||||
/buildscripts/install-python-packages.sh -python ${PYTHON} && \
|
||||
/buildscripts/build-and-install-ninja.sh -python ${PYTHON} && \
|
||||
rm -rf /buildscripts
|
||||
|
||||
RUN echo "root:root" | chpasswd
|
||||
WORKDIR /work
|
||||
ENTRYPOINT ["/dockcross/entrypoint.sh"]
|
||||
|
||||
# Runtime scripts
|
||||
COPY imagefiles/cmake.sh /usr/local/bin/cmake
|
||||
COPY imagefiles/ccmake.sh /usr/local/bin/ccmake
|
||||
COPY imagefiles/entrypoint.sh imagefiles/dockcross /dockcross/
|
||||
|
||||
# Override yum to work around the problem with newly built libcurl.so.4
|
||||
# https://access.redhat.com/solutions/641093
|
||||
RUN echo $'#!/bin/bash\n\
|
||||
LD_PRELOAD=/usr/lib64/libcurl.so.4 /usr/bin/yum "$@"' > /usr/local/bin/yum && chmod a+x /usr/local/bin/yum
|
||||
LD_PRELOAD=/usr/lib/libcurl.so.4 /usr/bin/yum "$@"' > /usr/local/bin/yum && chmod a+x /usr/local/bin/yum
|
||||
|
||||
ENV CROSS_TRIPLE x86_64-linux-gnu
|
||||
ENV CROSS_ROOT /opt/rh/devtoolset-8/root/usr/bin
|
||||
|
@ -6,6 +6,10 @@ FROM dockcross/manylinux2014-x64
|
||||
|
||||
# This is for 64-bit ARM Manylinux machine
|
||||
|
||||
# Crosstool-ng version
|
||||
# Issues with crosstool-ng-1.24.0 and up : https://github.com/dockcross/dockcross/issues/367
|
||||
ENV CT_VERSION crosstool-ng-1.23.0
|
||||
|
||||
#include "common-manylinux.crosstool"
|
||||
|
||||
# The cross-compiling emulator
|
||||
|
@ -449,7 +449,7 @@ CT_GDB_7_12_or_later=y
|
||||
CT_GDB_7_2_or_later=y
|
||||
CT_GDB_7_0_or_later=y
|
||||
CT_GDB_HAS_PKGVERSION_BUGURL=y
|
||||
CT_GDB_HAS_PYTHON=y
|
||||
CT_GDB_HAS_PYTHON=n
|
||||
CT_GDB_INSTALL_GDBINIT=y
|
||||
# CT_DEBUG_ltrace is not set
|
||||
# CT_DEBUG_strace is not set
|
||||
|
@ -1,4 +1,4 @@
|
||||
FROM emscripten/emsdk:2.0.4
|
||||
FROM emscripten/emsdk:2.0.24
|
||||
MAINTAINER Matt McCormick "matt.mccormick@kitware.com"
|
||||
|
||||
# Revert back to "/bin/sh" as default shell
|
||||
@ -6,13 +6,8 @@ MAINTAINER Matt McCormick "matt.mccormick@kitware.com"
|
||||
RUN rm /bin/sh && ln -s /bin/dash /bin/sh
|
||||
|
||||
ARG DEBIAN_FRONTEND=noninteractive
|
||||
ARG REPO=http://cdn-fastly.deb.debian.org
|
||||
|
||||
RUN \
|
||||
bash -c "echo \"deb $REPO/debian buster main contrib non-free\" > /etc/apt/sources.list" && \
|
||||
bash -c "echo \"deb $REPO/debian buster-updates main contrib non-free\" >> /etc/apt/sources.list" && \
|
||||
bash -c "echo \"deb $REPO/debian-security buster/updates main\" >> /etc/apt/sources.list" && \
|
||||
bash -c "echo \"deb http://ftp.debian.org/debian buster-backports main\" >> /etc/apt/sources.list" && \
|
||||
apt-get update --yes && \
|
||||
apt-get install --no-install-recommends --yes \
|
||||
automake \
|
||||
@ -35,8 +30,8 @@ RUN \
|
||||
ncurses-dev \
|
||||
pkg-config \
|
||||
libtool \
|
||||
python \
|
||||
python-pip \
|
||||
python3 \
|
||||
python3-pip \
|
||||
rsync \
|
||||
sed \
|
||||
ssh \
|
||||
@ -51,11 +46,13 @@ RUN \
|
||||
&& \
|
||||
apt-get clean --yes
|
||||
|
||||
RUN ln -s /usr/bin/python3 /usr/bin/python
|
||||
|
||||
#include "common.dockcross"
|
||||
|
||||
#include "common.docker"
|
||||
|
||||
ENV EMSCRIPTEN_VERSION 2.0.4
|
||||
ENV EMSCRIPTEN_VERSION 2.0.22
|
||||
|
||||
ENV PATH /emsdk:/emsdk/upstream/bin/:/emsdk/upstream/emscripten:${PATH}
|
||||
ENV CC=/emsdk/upstream/emscripten/emcc \
|
||||
|
Reference in New Issue
Block a user