Compare commits

..

15 Commits

Author SHA1 Message Date
8802a50289 Update readme
Add linux-x64-clang

Signed-off-by: Bensuperpc <bensuperpc@gmail.com>
2021-06-28 17:12:07 +02:00
6a1843884d Add linux-x64-clang
Add linux-x64-clang

Signed-off-by: Bensuperpc <bensuperpc@gmail.com>
2021-06-26 10:22:39 +02:00
795dd4dd1f Merge pull request #503 from bensuperpc/master
Improve Makefile
2021-06-25 16:43:24 -04:00
78b96c7a09 Change 4 jobs build to automatic jobs build on linux-armv7a
Change 4 jobs build to automatic jobs build on linux-armv7a

Signed-off-by: Bensuperpc <bensuperpc@gmail.com>
2021-06-25 16:34:53 +02:00
336eacf372 FIx build fail on linux-armv7a image
Switch to GCC 7.3.0 non-linaro, update GLIBC to 2.27 ect...

Signed-off-by: Bensuperpc <bensuperpc@gmail.com>
2021-06-25 16:34:53 +02:00
f65a5ab72b Remove manual workflow
Remove manual workflow

Signed-off-by: Bensuperpc <bensuperpc@gmail.com>
2021-06-25 16:34:53 +02:00
5edf6c6771 Fix build fail on manylinux2014-aarch64
Add patch with bash 5

Signed-off-by: Bensuperpc <bensuperpc@gmail.com>
2021-06-25 16:34:53 +02:00
260ccce125 Fix build fail with ppc64le and s390x
Upgrade to GCC 7.3.0, issues with GCC 6.3.0: https://github.com/crosstool-ng/crosstool-ng/issues/992

Signed-off-by: Bensuperpc <bensuperpc@gmail.com>
2021-06-25 16:34:53 +02:00
3af48d4336 Fix build fail with android ndk images
Fix build fail with android ndk images

Signed-off-by: Bensuperpc <bensuperpc@gmail.com>
2021-06-25 16:34:53 +02:00
8ebd448ba9 Upgrade to debian Buster and disable python builder script
Upgrade to debian Buster slim (later to debian bullseye, crosstool-ng must be updated first, version 1.23 is not compatible with debian bullseye)
Disable python script (build-and-install-python.sh), the version of python in the repositories is recent enough for crosstool-ng 1.24 and above.
Changed from python to python3 for compatibility
Adding the manual launch of a github workflow

Signed-off-by: Bensuperpc <bensuperpc@gmail.com>
2021-06-25 16:34:53 +02:00
7213d19795 Merge branch 'master' into master 2021-06-25 16:28:01 +02:00
66b9c2b62c Improve Makefile
Since docker 1.10, It is possible to put several tags during build

Signed-off-by: Bensuperpc <bensuperpc@gmail.com>
2021-06-25 15:21:18 +02:00
de7b1b0832 Merge pull request #501 from dockcross/push-tagged-images
github_actions: Push tagged images
2021-06-24 14:27:46 -04:00
8896857839 github_actions: Push tagged images 2021-06-24 10:24:37 -04:00
e37ca78f82 web-wasm: Bump Emscripten to 2.0.24 2021-06-24 11:56:46 +02:00
7 changed files with 77 additions and 74 deletions

View File

@ -32,7 +32,7 @@ jobs:
if: github.ref == 'refs/heads/master' if: github.ref == 'refs/heads/master'
run: | run: |
docker login -u ${{ secrets.DOCKER_USER }} -p ${{ secrets.DOCKER_PASS }} docker login -u ${{ secrets.DOCKER_USER }} -p ${{ secrets.DOCKER_PASS }}
docker image push dockcross/base docker image push dockcross/base --all-tags
image: image:
name: ${{ matrix.arch_name }} name: ${{ matrix.arch_name }}
@ -41,7 +41,7 @@ jobs:
strategy: strategy:
fail-fast: false fail-fast: false
matrix: 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, 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] 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-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: steps:
- uses: actions/checkout@v2 - uses: actions/checkout@v2
- uses: actions/download-artifact@v2 - uses: actions/download-artifact@v2
@ -58,4 +58,4 @@ jobs:
if: github.ref == 'refs/heads/master' if: github.ref == 'refs/heads/master'
run: | run: |
docker login -u ${{ secrets.DOCKER_USER }} -p ${{ secrets.DOCKER_PASS }} 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

View File

@ -13,10 +13,10 @@ ORG = dockcross
BIN = ./bin BIN = ./bin
# These images are built using the "build implicit rule" # 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-x64-clang 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
# Generated Dockerfiles. # 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-x64-clang 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_IMAGE_DOCKERFILES = $(addsuffix /Dockerfile,$(GEN_IMAGES)) GEN_IMAGE_DOCKERFILES = $(addsuffix /Dockerfile,$(GEN_IMAGES))
# These images are expected to have explicit rules for *both* build and testing # These images are expected to have explicit rules for *both* build and testing
@ -79,18 +79,12 @@ web-wasm: web-wasm/Dockerfile
mkdir -p $@/imagefiles && cp -r imagefiles $@/ mkdir -p $@/imagefiles && cp -r imagefiles $@/
cp -r test web-wasm/ cp -r test web-wasm/
$(DOCKER) build -t $(ORG)/web-wasm:latest \ $(DOCKER) build -t $(ORG)/web-wasm:latest \
-t $(ORG)/web-wasm:$(TAG) \
--build-arg IMAGE=$(ORG)/web-wasm \ --build-arg IMAGE=$(ORG)/web-wasm \
--build-arg VCS_REF=`git rev-parse --short HEAD` \ --build-arg VCS_REF=`git rev-parse --short HEAD` \
--build-arg VCS_URL=`git config --get remote.origin.url` \ --build-arg VCS_URL=`git config --get remote.origin.url` \
--build-arg BUILD_DATE=`date -u +"%Y-%m-%dT%H:%M:%SZ"` \ --build-arg BUILD_DATE=`date -u +"%Y-%m-%dT%H:%M:%SZ"` \
web-wasm 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 web-wasm/test
rm -rf $@/imagefiles rm -rf $@/imagefiles
@ -106,18 +100,12 @@ web-wasm.test: web-wasm
manylinux2014-aarch64: manylinux2014-aarch64/Dockerfile manylinux2014-aarch64: manylinux2014-aarch64/Dockerfile
mkdir -p $@/imagefiles && cp -r imagefiles $@/ mkdir -p $@/imagefiles && cp -r imagefiles $@/
$(DOCKER) build -t $(ORG)/manylinux2014-aarch64:latest \ $(DOCKER) build -t $(ORG)/manylinux2014-aarch64:latest \
-t $(ORG)/manylinux2014-aarch64:$(TAG) \
--build-arg IMAGE=$(ORG)/manylinux2014-aarch64 \ --build-arg IMAGE=$(ORG)/manylinux2014-aarch64 \
--build-arg VCS_REF=`git rev-parse --short HEAD` \ --build-arg VCS_REF=`git rev-parse --short HEAD` \
--build-arg VCS_URL=`git config --get remote.origin.url` \ --build-arg VCS_URL=`git config --get remote.origin.url` \
--build-arg BUILD_DATE=`date -u +"%Y-%m-%dT%H:%M:%SZ"` \ --build-arg BUILD_DATE=`date -u +"%Y-%m-%dT%H:%M:%SZ"` \
-f manylinux2014-aarch64/Dockerfile . -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 rm -rf $@/imagefiles
manylinux2014-aarch64.test: manylinux2014-aarch64 manylinux2014-aarch64.test: manylinux2014-aarch64
@ -130,18 +118,12 @@ manylinux2014-aarch64.test: manylinux2014-aarch64
manylinux2014-x64: manylinux2014-x64/Dockerfile manylinux2014-x64: manylinux2014-x64/Dockerfile
mkdir -p $@/imagefiles && cp -r imagefiles $@/ mkdir -p $@/imagefiles && cp -r imagefiles $@/
$(DOCKER) build -t $(ORG)/manylinux2014-x64:latest \ $(DOCKER) build -t $(ORG)/manylinux2014-x64:latest \
-t $(ORG)/manylinux2014-x64:$(TAG) \
--build-arg IMAGE=$(ORG)/manylinux2014-x64 \ --build-arg IMAGE=$(ORG)/manylinux2014-x64 \
--build-arg VCS_REF=`git rev-parse --short HEAD` \ --build-arg VCS_REF=`git rev-parse --short HEAD` \
--build-arg VCS_URL=`git config --get remote.origin.url` \ --build-arg VCS_URL=`git config --get remote.origin.url` \
--build-arg BUILD_DATE=`date -u +"%Y-%m-%dT%H:%M:%SZ"` \ --build-arg BUILD_DATE=`date -u +"%Y-%m-%dT%H:%M:%SZ"` \
-f manylinux2014-x64/Dockerfile . -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 rm -rf $@/imagefiles
manylinux2014-x64.test: manylinux2014-x64 manylinux2014-x64.test: manylinux2014-x64
@ -154,18 +136,12 @@ manylinux2014-x64.test: manylinux2014-x64
manylinux2014-x86: manylinux2014-x86/Dockerfile manylinux2014-x86: manylinux2014-x86/Dockerfile
mkdir -p $@/imagefiles && cp -r imagefiles $@/ mkdir -p $@/imagefiles && cp -r imagefiles $@/
$(DOCKER) build -t $(ORG)/manylinux2014-x86:latest \ $(DOCKER) build -t $(ORG)/manylinux2014-x86:latest \
-t $(ORG)/manylinux2014-x86:$(TAG) \
--build-arg IMAGE=$(ORG)/manylinux2014-x86 \ --build-arg IMAGE=$(ORG)/manylinux2014-x86 \
--build-arg VCS_REF=`git rev-parse --short HEAD` \ --build-arg VCS_REF=`git rev-parse --short HEAD` \
--build-arg VCS_URL=`git config --get remote.origin.url` \ --build-arg VCS_URL=`git config --get remote.origin.url` \
--build-arg BUILD_DATE=`date -u +"%Y-%m-%dT%H:%M:%SZ"` \ --build-arg BUILD_DATE=`date -u +"%Y-%m-%dT%H:%M:%SZ"` \
-f manylinux2014-x86/Dockerfile . -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 rm -rf $@/imagefiles
manylinux2014-x86.test: manylinux2014-x86 manylinux2014-x86.test: manylinux2014-x86
@ -179,18 +155,12 @@ manylinux2014-x86.test: manylinux2014-x86
manylinux2010-x64: manylinux2010-x64/Dockerfile manylinux2010-x64: manylinux2010-x64/Dockerfile
mkdir -p $@/imagefiles && cp -r imagefiles $@/ mkdir -p $@/imagefiles && cp -r imagefiles $@/
$(DOCKER) build -t $(ORG)/manylinux2010-x64:latest \ $(DOCKER) build -t $(ORG)/manylinux2010-x64:latest \
-t $(ORG)/manylinux2010-x64:$(TAG) \
--build-arg IMAGE=$(ORG)/manylinux2010-x64 \ --build-arg IMAGE=$(ORG)/manylinux2010-x64 \
--build-arg VCS_REF=`git rev-parse --short HEAD` \ --build-arg VCS_REF=`git rev-parse --short HEAD` \
--build-arg VCS_URL=`git config --get remote.origin.url` \ --build-arg VCS_URL=`git config --get remote.origin.url` \
--build-arg BUILD_DATE=`date -u +"%Y-%m-%dT%H:%M:%SZ"` \ --build-arg BUILD_DATE=`date -u +"%Y-%m-%dT%H:%M:%SZ"` \
-f manylinux2010-x64/Dockerfile . -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 rm -rf $@/imagefiles
manylinux2010-x64.test: manylinux2010-x64 manylinux2010-x64.test: manylinux2010-x64
@ -204,18 +174,12 @@ manylinux2010-x64.test: manylinux2010-x64
manylinux2010-x86: manylinux2010-x86/Dockerfile manylinux2010-x86: manylinux2010-x86/Dockerfile
mkdir -p $@/imagefiles && cp -r imagefiles $@/ mkdir -p $@/imagefiles && cp -r imagefiles $@/
$(DOCKER) build -t $(ORG)/manylinux2010-x86:latest \ $(DOCKER) build -t $(ORG)/manylinux2010-x86:latest \
-t $(ORG)/manylinux2010-x86:$(TAG) \
--build-arg IMAGE=$(ORG)/manylinux2010-x86 \ --build-arg IMAGE=$(ORG)/manylinux2010-x86 \
--build-arg VCS_REF=`git rev-parse --short HEAD` \ --build-arg VCS_REF=`git rev-parse --short HEAD` \
--build-arg VCS_URL=`git config --get remote.origin.url` \ --build-arg VCS_URL=`git config --get remote.origin.url` \
--build-arg BUILD_DATE=`date -u +"%Y-%m-%dT%H:%M:%SZ"` \ --build-arg BUILD_DATE=`date -u +"%Y-%m-%dT%H:%M:%SZ"` \
-f manylinux2010-x86/Dockerfile . -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 rm -rf $@/imagefiles
manylinux2010-x86.test: manylinux2010-x86 manylinux2010-x86.test: manylinux2010-x86
@ -229,18 +193,12 @@ manylinux2010-x86.test: manylinux2010-x86
manylinux1-x64: manylinux1-x64/Dockerfile manylinux1-x64: manylinux1-x64/Dockerfile
mkdir -p $@/imagefiles && cp -r imagefiles $@/ mkdir -p $@/imagefiles && cp -r imagefiles $@/
$(DOCKER) build -t $(ORG)/manylinux1-x64:latest \ $(DOCKER) build -t $(ORG)/manylinux1-x64:latest \
-t $(ORG)/manylinux1-x64:$(TAG) \
--build-arg IMAGE=$(ORG)/manylinux1-x64 \ --build-arg IMAGE=$(ORG)/manylinux1-x64 \
--build-arg VCS_REF=`git rev-parse --short HEAD` \ --build-arg VCS_REF=`git rev-parse --short HEAD` \
--build-arg VCS_URL=`git config --get remote.origin.url` \ --build-arg VCS_URL=`git config --get remote.origin.url` \
--build-arg BUILD_DATE=`date -u +"%Y-%m-%dT%H:%M:%SZ"` \ --build-arg BUILD_DATE=`date -u +"%Y-%m-%dT%H:%M:%SZ"` \
-f manylinux1-x64/Dockerfile . -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 rm -rf $@/imagefiles
manylinux1-x64.test: manylinux1-x64 manylinux1-x64.test: manylinux1-x64
@ -254,18 +212,12 @@ manylinux1-x64.test: manylinux1-x64
manylinux1-x86: manylinux1-x86/Dockerfile manylinux1-x86: manylinux1-x86/Dockerfile
mkdir -p $@/imagefiles && cp -r imagefiles $@/ mkdir -p $@/imagefiles && cp -r imagefiles $@/
$(DOCKER) build -t $(ORG)/manylinux1-x86:latest \ $(DOCKER) build -t $(ORG)/manylinux1-x86:latest \
-t $(ORG)/manylinux1-x86:$(TAG) \
--build-arg IMAGE=$(ORG)/manylinux1-x86 \ --build-arg IMAGE=$(ORG)/manylinux1-x86 \
--build-arg VCS_REF=`git rev-parse --short HEAD` \ --build-arg VCS_REF=`git rev-parse --short HEAD` \
--build-arg VCS_URL=`git config --get remote.origin.url` \ --build-arg VCS_URL=`git config --get remote.origin.url` \
--build-arg BUILD_DATE=`date -u +"%Y-%m-%dT%H:%M:%SZ"` \ --build-arg BUILD_DATE=`date -u +"%Y-%m-%dT%H:%M:%SZ"` \
-f manylinux1-x86/Dockerfile . -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 rm -rf $@/imagefiles
manylinux1-x86.test: manylinux1-x86 manylinux1-x86.test: manylinux1-x86
@ -278,14 +230,10 @@ manylinux1-x86.test: manylinux1-x86
base: Dockerfile imagefiles/ base: Dockerfile imagefiles/
$(DOCKER) build -t $(ORG)/base:latest \ $(DOCKER) build -t $(ORG)/base:latest \
-t $(ORG)/base:$(TAG) \
--build-arg IMAGE=$(ORG)/base \ --build-arg IMAGE=$(ORG)/base \
--build-arg VCS_URL=`git config --get remote.origin.url` \ --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 base.test: base
$(DOCKER) run $(RM) $(ORG)/base > $(BIN)/dockcross-base && chmod +x $(BIN)/dockcross-base $(DOCKER) run $(RM) $(ORG)/base > $(BIN)/dockcross-base && chmod +x $(BIN)/dockcross-base
@ -305,18 +253,12 @@ $(VERBOSE).SILENT: display_images
$(STANDARD_IMAGES): %: %/Dockerfile base $(STANDARD_IMAGES): %: %/Dockerfile base
mkdir -p $@/imagefiles && cp -r imagefiles $@/ mkdir -p $@/imagefiles && cp -r imagefiles $@/
$(DOCKER) build -t $(ORG)/$@:latest \ $(DOCKER) build -t $(ORG)/$@:latest \
-t $(ORG)/$@:$(TAG) \
--build-arg IMAGE=$(ORG)/$@ \ --build-arg IMAGE=$(ORG)/$@ \
--build-arg VCS_REF=`git rev-parse --short HEAD` \ --build-arg VCS_REF=`git rev-parse --short HEAD` \
--build-arg VCS_URL=`git config --get remote.origin.url` \ --build-arg VCS_URL=`git config --get remote.origin.url` \
--build-arg BUILD_DATE=`date -u +"%Y-%m-%dT%H:%M:%SZ"` \ --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 rm -rf $@/imagefiles
clean: clean:
@ -324,6 +266,12 @@ clean:
for d in $(GEN_IMAGE_DOCKERFILES) ; do rm -f $$d/Dockerfile ; done for d in $(GEN_IMAGE_DOCKERFILES) ; do rm -f $$d/Dockerfile ; done
rm -f Dockerfile 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 # testing implicit rule
# #

View File

@ -223,6 +223,12 @@ dockcross/linux-x64
|linux-x64-images| Linux x86_64 / amd64 compiler. Since the Docker image is |linux-x64-images| Linux x86_64 / amd64 compiler. Since the Docker image is
natively x86_64, this is not actually a cross compiler. 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 .. |linux-x86-images| image:: https://images.microbadger.com/badges/image/dockcross/linux-x86.svg
:target: https://microbadger.com/images/dockcross/linux-x86 :target: https://microbadger.com/images/dockcross/linux-x86

View 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"

View 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)

View File

@ -0,0 +1,2 @@
#!/bin/sh
exec "$@"

View File

@ -1,4 +1,4 @@
FROM emscripten/emsdk:2.0.22 FROM emscripten/emsdk:2.0.24
MAINTAINER Matt McCormick "matt.mccormick@kitware.com" MAINTAINER Matt McCormick "matt.mccormick@kitware.com"
# Revert back to "/bin/sh" as default shell # Revert back to "/bin/sh" as default shell