mirror of
				https://github.com/bensuperpc/dockcross.git
				synced 2025-10-25 14:36:20 +02:00 
			
		
		
		
	Compare commits
	
		
			21 Commits
		
	
	
		
			improve_cu
			...
			improve_sc
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| d239acabfc | |||
| d2fb4755f0 | |||
| 76d1ec682f | |||
| cc949d6a85 | |||
| 601d68697c | |||
| e25f67aea9 | |||
| aa4bcf4a34 | |||
| 7ec0eaa3c9 | |||
| 09e8f01e94 | |||
| d0e3fe912c | |||
| 3802117f88 | |||
| 41fb6ce09d | |||
| 97c3a4a4f6 | |||
| ae6855835d | |||
| 6c758bf71c | |||
| 54f73cbb65 | |||
| d30a795408 | |||
| afd21c490e | |||
| a38a7920ac | |||
| 55138d52e0 | |||
| 4fd8fb9e09 | 
							
								
								
									
										11
									
								
								.github/workflows/main.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										11
									
								
								.github/workflows/main.yml
									
									
									
									
										vendored
									
									
								
							| @@ -46,7 +46,16 @@ 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-lts, 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, linux-riscv64, linux-riscv32, linux-m68k-uclibc] | ||||
|         arch_name: [android-arm, android-arm64, android-x86, android-x86_64,  | ||||
|           linux-arm64, linux-arm64-musl, linux-armv5, linux-armv5-musl,  | ||||
|           linux-armv6, linux-armv6-lts, linux-armv6-musl,  | ||||
|           linux-armv7, linux-armv7a, linux-armv7l-musl,  | ||||
|           linux-x64-clang, linux-s390x, linux-x64, linux-x86,  | ||||
|           linux-mips, linux-ppc64le, web-wasm, | ||||
|           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,  | ||||
|           linux-riscv64, linux-riscv32, linux-m68k-uclibc] | ||||
|     steps: | ||||
|       - uses: actions/checkout@v2 | ||||
|       - uses: actions/download-artifact@v2 | ||||
|   | ||||
							
								
								
									
										131
									
								
								Makefile
									
									
									
									
									
								
							
							
						
						
									
										131
									
								
								Makefile
									
									
									
									
									
								
							| @@ -9,22 +9,40 @@ DOCKER = docker | ||||
| # Docker organization to pull the images from | ||||
| ORG = dockcross | ||||
|  | ||||
| # Directory where to generate the dockcross script for each images (e.g bin/dockcross-manylinux1-x64) | ||||
| # 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 = 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 linux-riscv64 linux-riscv32 linux-m68k-uclibc linux-armv6-lts | ||||
| STANDARD_IMAGES = 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-m68k-uclibc linux-s390x \ | ||||
| 	linux-armv6 linux-armv6-lts linux-armv6-musl \ | ||||
| 	linux-armv7l-musl linux-armv7 linux-armv7a \ | ||||
| 	linux-mips linux-ppc64le linux-riscv64 linux-riscv32 \ | ||||
| 	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-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 linux-riscv64 linux-riscv32 linux-m68k-uclibc linux-armv6-lts | ||||
| GEN_IMAGES = android-arm android-arm64 \ | ||||
| 	linux-x86 linux-x64 linux-x64-clang linux-arm64 linux-arm64-musl \ | ||||
| 	manylinux2014-x64 manylinux2014-x86 \ | ||||
| 	manylinux2014-aarch64 web-wasm linux-mips \ | ||||
| 	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-lts linux-armv6-musl \ | ||||
| 	linux-armv5 linux-armv5-musl linux-ppc64le linux-s390x \ | ||||
| 	linux-riscv64 linux-riscv32 linux-m68k-uclibc | ||||
|  | ||||
| GEN_IMAGE_DOCKERFILES = $(addsuffix /Dockerfile,$(GEN_IMAGES)) | ||||
|  | ||||
| # These images are expected to have explicit rules for *both* build and testing | ||||
| NON_STANDARD_IMAGES = web-wasm manylinux1-x64 manylinux1-x86 manylinux2010-x64 manylinux2010-x86 manylinux2014-x64 manylinux2014-x86 manylinux2014-aarch64 | ||||
| NON_STANDARD_IMAGES = manylinux2014-x64 manylinux2014-x86 \ | ||||
| 	manylinux2014-aarch64 web-wasm | ||||
|  | ||||
| # Docker composite files | ||||
| DOCKER_COMPOSITE_SOURCES = common.docker common.debian common.manylinux common.crosstool common.windows common-manylinux.crosstool common.dockcross common.label-and-env | ||||
| DOCKER_COMPOSITE_SOURCES = common.docker common.debian common.manylinux \ | ||||
| 	common.crosstool 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)) | ||||
|  | ||||
| @@ -32,7 +50,7 @@ DOCKER_COMPOSITE_PATH = $(addprefix $(DOCKER_COMPOSITE_FOLDER_PATH),$(DOCKER_COM | ||||
| IMAGES = $(STANDARD_IMAGES) $(NON_STANDARD_IMAGES) | ||||
|  | ||||
| # Optional arguments for test runner (test/run.py) associated with "testing implicit rule" | ||||
| linux-ppc64le.test_ARGS = --languages C | ||||
| 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" | ||||
| @@ -119,7 +137,8 @@ manylinux2014-aarch64: manylinux2014-aarch64/Dockerfile | ||||
| 	rm -rf $@/imagefiles | ||||
|  | ||||
| manylinux2014-aarch64.test: manylinux2014-aarch64 | ||||
| 	$(DOCKER) run $(RM) $(ORG)/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 | ||||
|  | ||||
| # | ||||
| @@ -137,7 +156,8 @@ manylinux2014-x64: manylinux2014-x64/Dockerfile | ||||
| 	rm -rf $@/imagefiles | ||||
|  | ||||
| manylinux2014-x64.test: manylinux2014-x64 | ||||
| 	$(DOCKER) run $(RM) $(ORG)/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 | ||||
|  | ||||
| # | ||||
| @@ -155,89 +175,10 @@ manylinux2014-x86: manylinux2014-x86/Dockerfile | ||||
| 	rm -rf $@/imagefiles | ||||
|  | ||||
| manylinux2014-x86.test: manylinux2014-x86 | ||||
| 	$(DOCKER) run $(RM) $(ORG)/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 | ||||
|  | ||||
| # | ||||
| # manylinux2010-x64 | ||||
| # | ||||
|  | ||||
| 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 . | ||||
| 	rm -rf $@/imagefiles | ||||
|  | ||||
| manylinux2010-x64.test: manylinux2010-x64 | ||||
| 	$(DOCKER) run $(RM) dockcross/manylinux2010-x64 > $(BIN)/dockcross-manylinux2010-x64 && chmod +x $(BIN)/dockcross-manylinux2010-x64 | ||||
| 	$(BIN)/dockcross-manylinux2010-x64 /opt/python/cp38-cp38/bin/python test/run.py | ||||
|  | ||||
| # | ||||
| # manylinux2010-x86 | ||||
| # | ||||
|  | ||||
| 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 . | ||||
| 	rm -rf $@/imagefiles | ||||
|  | ||||
| manylinux2010-x86.test: 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 | ||||
|  | ||||
| # | ||||
| # manylinux1-x64 | ||||
| # | ||||
|  | ||||
| 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 . | ||||
| 	rm -rf $@/imagefiles | ||||
|  | ||||
| manylinux1-x64.test: 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 | ||||
|  | ||||
| # | ||||
| # manylinux1-x86 | ||||
| # | ||||
|  | ||||
| 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 . | ||||
| 	rm -rf $@/imagefiles | ||||
|  | ||||
| manylinux1-x86.test: 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 | ||||
|  | ||||
| # | ||||
| # base | ||||
| # | ||||
|  | ||||
| base: Dockerfile imagefiles/ | ||||
| 	$(DOCKER) build -t $(ORG)/base:latest \ | ||||
| 		-t $(ORG)/base:$(TAG) \ | ||||
| @@ -271,27 +212,29 @@ $(STANDARD_IMAGES): %: %/Dockerfile base | ||||
| 	rm -rf $@/imagefiles | ||||
|  | ||||
| clean: | ||||
| 	for d in $(STANDARD_IMAGES) ; do rm -rf $$d/imagefiles ; done | ||||
| 	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 | ||||
| 	$(DOCKER) container ls -aq | xargs --no-run-if-empty $(DOCKER) container rm -f | ||||
| 	$(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 | ||||
|  | ||||
| # 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=error --shell=bash --enable=all "{}" | ||||
| 		$(SHELLCHECK) --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 $@) | ||||
| 	$(DOCKER) run $(RM) $(ORG)/$(basename $@) > $(BIN)/dockcross-$(basename $@) \ | ||||
| 		&& chmod +x $(BIN)/dockcross-$(basename $@) | ||||
| 	$(BIN)/dockcross-$(basename $@) python3 test/run.py $($@_ARGS) | ||||
|  | ||||
| # | ||||
| @@ -302,4 +245,4 @@ test.prerequisites: | ||||
|  | ||||
| $(addsuffix .test,base $(IMAGES)): test.prerequisites | ||||
|  | ||||
| .PHONY: base images $(IMAGES) test %.test clean purge | ||||
| .PHONY: base images $(IMAGES) test %.test clean purge bash-check display_images | ||||
|   | ||||
							
								
								
									
										56
									
								
								README.md
									
									
									
									
									
								
							
							
						
						
									
										56
									
								
								README.md
									
									
									
									
									
								
							| @@ -149,7 +149,13 @@ Linux armv5 cross compiler toolchain using | ||||
|  | ||||
|    | ||||
|  | ||||
| Linux ARMv6 cross compiler toolchain for the Raspberry Pi, etc. | ||||
| Linux ARMv6 cross compiler toolchain for the Raspberry Pi | ||||
|  | ||||
| ### dockcross/linux-armv6-lts | ||||
|  | ||||
|    | ||||
|  | ||||
| Linux ARMv6 cross compiler toolchain for the Raspberry Pi (Debian buster...) | ||||
|  | ||||
| ### dockcross/linux-armv6-musl | ||||
|  | ||||
| @@ -280,54 +286,6 @@ has installations of CMake, Ninja, and | ||||
| [scikit-build](http://scikit-build.org). For CMake, it sets | ||||
| [MANYLINUX2014]{.title-ref} to \"TRUE\" in the toolchain. | ||||
|  | ||||
| ### dockcross/manylinux2010-x64 | ||||
|  | ||||
|    | ||||
|  | ||||
| Docker [manylinux2010](https://github.com/pypa/manylinux) | ||||
| image for building Linux x86_64 / amd64 [Python wheel | ||||
| packages](http://pythonwheels.com/). It includes Python 2.7, 3.4, | ||||
| 3.5, 3.6, 3.7 and 3.8. 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 | ||||
| [MANYLINUX2010]{.title-ref} to \"TRUE\" in the toolchain. | ||||
|  | ||||
| ### dockcross/manylinux2010-x86 | ||||
|  | ||||
|    | ||||
|  | ||||
| Docker [manylinux2010](https://github.com/pypa/manylinux) image for | ||||
| building Linux i686 [Python wheel | ||||
| packages](http://pythonwheels.com/). It includes Python 2.7, 3.4, | ||||
| 3.5, 3.6, 3.7 and 3.8. 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 | ||||
| [MANYLINUX2010]{.title-ref} to \"TRUE\" in the toolchain. | ||||
|  | ||||
| ### dockcross/manylinux1-x64 | ||||
|  | ||||
|    | ||||
|  | ||||
| Docker [manylinux1](https://github.com/pypa/manylinux/tree/manylinux1) | ||||
| image for building Linux x86_64 / amd64 [Python wheel | ||||
| packages](http://pythonwheels.com/). It includes Python 2.7, 3.4, | ||||
| 3.5, 3.6, 3.7 and 3.8. 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 | ||||
| [MANYLINUX1]{.title-ref} to \"TRUE\" in the toolchain. | ||||
|  | ||||
| ### dockcross/manylinux1-x86 | ||||
|  | ||||
|     | ||||
|  | ||||
| Docker [manylinux1](https://github.com/pypa/manylinux/tree/manylinux1) | ||||
| image for building Linux i686 [Python wheel | ||||
| packages](http://pythonwheels.com/). It includes Python 2.7, 3.4, | ||||
| 3.5, 3.6, 3.7 and 3.8. 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 | ||||
| [MANYLINUX1]{.title-ref} to \"TRUE\" in the toolchain. | ||||
|  | ||||
| ### dockcross/web-wasm | ||||
|  | ||||
|    | ||||
|   | ||||
| @@ -18,7 +18,7 @@ ENV MANYLINUX_DEPS="glibc-devel glibc-devel.i686 libstdc++-devel glib2-devel lib | ||||
|  | ||||
| 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="devtoolset-9-binutils devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-gcc-gfortran" | ||||
| ENV TOOLCHAIN_DEPS="devtoolset-10-binutils devtoolset-10-gcc devtoolset-10-gcc-c++ devtoolset-10-gcc-gfortran" | ||||
|  | ||||
| # Install dependent packages required for `ct-ng`. | ||||
| RUN \ | ||||
| @@ -62,7 +62,7 @@ RUN \ | ||||
|   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. | ||||
|   rm -f /opt/rh/devtoolset-9/root/usr/bin/sudo | ||||
|   rm -f /opt/rh/devtoolset-10/root/usr/bin/sudo | ||||
|  | ||||
| # Restore our default workdir (from "dockcross/base"). | ||||
| WORKDIR /work | ||||
|   | ||||
| @@ -18,7 +18,7 @@ COPY \ | ||||
|   /buildscripts/ | ||||
|  | ||||
| RUN \ | ||||
|   X86_FLAG=$([ "$DEFAULT_DOCKCROSS_IMAGE" = "dockcross/manylinux1-x86" -o "$DEFAULT_DOCKCROSS_IMAGE" = "dockcross/manylinux2010-x86" -o "$DEFAULT_DOCKCROSS_IMAGE" = "dockcross/manylinux2014-x86" ] && echo "-32" || echo "") && \ | ||||
|   X86_FLAG=$([ "$DEFAULT_DOCKCROSS_IMAGE" = "dockcross/manylinux2014-x86" ] && echo "-32" || echo "") && \ | ||||
|   /buildscripts/build-and-install-openssl.sh $X86_FLAG && \ | ||||
|   /buildscripts/build-and-install-openssh.sh && \ | ||||
|   /buildscripts/build-and-install-curl.sh && \ | ||||
|   | ||||
| @@ -23,6 +23,7 @@ RUN \ | ||||
|   rm -f /opt/rh/devtoolset-7/root/usr/bin/sudo && \ | ||||
|   rm -f /opt/rh/devtoolset-8/root/usr/bin/sudo && \ | ||||
|   rm -f /opt/rh/devtoolset-9/root/usr/bin/sudo && \ | ||||
|   rm -f /opt/rh/devtoolset-10/root/usr/bin/sudo && \ | ||||
|   /buildscripts/install-python-packages.sh && \ | ||||
|   rm -rf /buildscripts | ||||
|  | ||||
|   | ||||
| @@ -4,6 +4,9 @@ set -ex | ||||
|  | ||||
| WRAPPER="" | ||||
|  | ||||
| CMAKE_URL="https://gitlab.kitware.com/cmake/cmake.git" | ||||
| CMAKE_MIRROR_URL="https://github.com/Kitware/CMake.git" | ||||
|  | ||||
| while [ $# -gt 0 ]; do | ||||
|   case "$1" in | ||||
|     -32) | ||||
| @@ -22,22 +25,24 @@ if ! command -v git &> /dev/null; then | ||||
| 	exit 1 | ||||
| fi | ||||
|  | ||||
| if [[ "${CMAKE_VERSION}" == "" ]]; then | ||||
| if [[ -z "${CMAKE_VERSION}" ]]; then | ||||
|   echo >&2 'error: CMAKE_VERSION env. variable must be set to a non-empty value' | ||||
|   exit 1 | ||||
| fi | ||||
|  | ||||
| cd /usr/src | ||||
|  | ||||
| git clone https://gitlab.kitware.com/cmake/cmake.git CMake -b v$CMAKE_VERSION --depth 1 | ||||
| # If the first link doesn't work, it will use the mirror on github | ||||
| git clone "$CMAKE_URL" CMake -b v$CMAKE_VERSION --depth 1 \ | ||||
|   || git clone "$CMAKE_MIRROR_URL" CMake -b v$CMAKE_VERSION --depth 1 | ||||
|  | ||||
| mkdir /usr/src/CMake-build | ||||
| cd /usr/src/CMake-build | ||||
|  | ||||
| ${WRAPPER} /usr/src/CMake/bootstrap \ | ||||
|   --parallel=$(nproc) \ | ||||
|   --parallel="$(nproc)" \ | ||||
|   -- -DCMAKE_USE_OPENSSL=OFF | ||||
| ${WRAPPER} make -j$(nproc) | ||||
| ${WRAPPER} make -j"$(nproc)" | ||||
|  | ||||
|  | ||||
| mkdir /usr/src/CMake-ssl-build | ||||
| @@ -50,10 +55,10 @@ ${WRAPPER} /usr/src/CMake-build/bin/cmake \ | ||||
|   -DCMAKE_USE_OPENSSL:BOOL=ON \ | ||||
|   -DOPENSSL_ROOT_DIR:PATH=/usr/local/ssl \ | ||||
|   ../CMake | ||||
| ${WRAPPER} make -j$(nproc) install | ||||
| ${WRAPPER} make -j"$(nproc)" install | ||||
|  | ||||
| # Cleanup install tree | ||||
| cd /usr/src/cmake-$CMAKE_VERSION | ||||
| cd "/usr/src/cmake-$CMAKE_VERSION" | ||||
| rm -rf doc man | ||||
|  | ||||
| # Install files | ||||
|   | ||||
| @@ -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 -j$(nproc) > /dev/null | ||||
|     make -j"$(nproc)" > /dev/null | ||||
|     make install > /dev/null | ||||
| } | ||||
|  | ||||
|   | ||||
| @@ -12,7 +12,7 @@ if ! command -v tar &> /dev/null; then | ||||
| 	exit 1 | ||||
| fi | ||||
|  | ||||
| if [[ "${GIT_VERSION}" == "" ]]; then | ||||
| if [[ -z "${GIT_VERSION}" ]]; then | ||||
|   echo >&2 'error: GIT_VERSION env. variable must be set to a non-empty value' | ||||
|   exit 1 | ||||
| fi | ||||
| @@ -37,7 +37,7 @@ rm -f git-${GIT_VERSION}.tar.gz | ||||
|  | ||||
| pushd git-${GIT_VERSION} | ||||
| ./configure --prefix=/usr/local --with-curl | ||||
| make -j$(nproc) | ||||
| make -j"$(nproc)" | ||||
| make install | ||||
| popd | ||||
|  | ||||
|   | ||||
| @@ -53,13 +53,13 @@ OPENSSL_HASH=892a0875b9872acd04a9fde79b1f943075d5ea162415de3047c327df33fbaee5 | ||||
| OPENSSL_DOWNLOAD_URL=http://www.openssl.org/source/ | ||||
|  | ||||
| # a recent enough perl is needed to build openssl | ||||
| PERL_ROOT=perl-5.32.1 | ||||
| PERL_ROOT=perl-5.32.2 | ||||
| PERL_HASH=03b693901cd8ae807231b1787798cf1f2e0b8a56218d07b7da44f784a7caeb2c | ||||
| 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 -j$(nproc) > /dev/null | ||||
|     ${WRAPPER} make -j"$(nproc)" > /dev/null | ||||
|     ${WRAPPER} make install > /dev/null | ||||
| } | ||||
|  | ||||
| @@ -84,7 +84,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 -j$(nproc) > /dev/null | ||||
|     ${WRAPPER} make -j"$(nproc)" > /dev/null | ||||
|     ${WRAPPER} make install_sw > /dev/null | ||||
| } | ||||
|  | ||||
|   | ||||
| @@ -26,12 +26,12 @@ done | ||||
|  | ||||
| # Download | ||||
| wget https://www.python.org/ftp/python/${PYTHON_VERSION}/Python-${PYTHON_VERSION}.tgz | ||||
| tar xvf Python-${PYTHON_VERSION}.tgz | ||||
| tar xvf "Python-${PYTHON_VERSION}.tgz" | ||||
| # Configure, build and install | ||||
| cd Python-${PYTHON_VERSION} | ||||
| cd "Python-${PYTHON_VERSION}" | ||||
| # Disable --enable-shared --enable-optimizations --prefix=/usr/local/python-${PYTHON_VERSION} | ||||
| ./configure --with-ensurepip=install | ||||
| make -j$(nproc)  | ||||
| make -j"$(nproc)" | ||||
| make install #altinstall | ||||
|  | ||||
| ln -s /usr/local/bin/python3 /usr/local/bin/python | ||||
| @@ -39,4 +39,4 @@ ln -s /usr/local/bin/pip3 /usr/local/bin/pip | ||||
|  | ||||
| # Clean | ||||
| cd .. | ||||
| rm -rf Python-${PYTHON_VERSION} | ||||
| rm -rf "Python-${PYTHON_VERSION}" | ||||
|   | ||||
| @@ -37,8 +37,8 @@ if [[ -n $BUILDER_UID ]] && [[ -n $BUILDER_GID ]]; then | ||||
|     fi | ||||
|  | ||||
|     # Enable passwordless sudo capabilities for the user | ||||
|     chown root:$BUILDER_GID $(which gosu) | ||||
|     chmod +s $(which gosu); sync | ||||
|     chown root:$BUILDER_GID "$(which gosu)" | ||||
|     chmod +s "$(which gosu)"; sync | ||||
|  | ||||
|     # Execute project specific pre execution hook | ||||
|     if [[ -e /work/.dockcross ]]; then | ||||
|   | ||||
| @@ -28,7 +28,7 @@ if ! command -v tar &> /dev/null; then | ||||
| 	exit 1 | ||||
| fi | ||||
|  | ||||
| if [[ "${CMAKE_VERSION}" == "" ]]; then | ||||
| if [[ -z "${CMAKE_VERSION}" ]]; then | ||||
|   echo >&2 'error: CMAKE_VERSION env. variable must be set to a non-empty value' | ||||
|   exit 1 | ||||
| fi | ||||
|   | ||||
| @@ -89,7 +89,7 @@ BOOTSTRAP_PREFIX="${CTNG}/prefix" | ||||
| ./bootstrap | ||||
| ./configure \ | ||||
|   --prefix "${BOOTSTRAP_PREFIX}" | ||||
| make -j$(nproc) | ||||
| make -j"$(nproc)" | ||||
| make install | ||||
|  | ||||
| ## | ||||
|   | ||||
| @@ -14,7 +14,7 @@ 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) | ||||
| 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" | ||||
|  | ||||
|   | ||||
| @@ -22,8 +22,13 @@ 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 --connect-timeout 30 \ | ||||
|         --max-time 10 \ | ||||
|         --retry 5 \ | ||||
|         --retry-delay 10 \ | ||||
|         --retry-max-time 30 \ | ||||
|         -# -LO https://bootstrap.pypa.io/pip/get-pip.py | ||||
|  | ||||
| ${PYTHON} get-pip.py --ignore-installed | ||||
| rm get-pip.py | ||||
|  | ||||
|   | ||||
| @@ -1,28 +0,0 @@ | ||||
| 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" | ||||
|  | ||||
| #include "common.dockcross" | ||||
|  | ||||
| #include "common.docker" | ||||
|  | ||||
| ENV CROSS_TRIPLE x86_64-linux-gnu | ||||
| ENV CROSS_ROOT /opt/rh/devtoolset-2/root/usr/bin | ||||
| ENV AS=${CROSS_ROOT}/as \ | ||||
|     AR=${CROSS_ROOT}/ar \ | ||||
|     CC=${CROSS_ROOT}/gcc \ | ||||
|     CPP=${CROSS_ROOT}/cpp \ | ||||
|     CXX=${CROSS_ROOT}/g++ \ | ||||
|     LD=${CROSS_ROOT}/ld \ | ||||
|     FC=${CROSS_ROOT}/gfortran | ||||
|  | ||||
| COPY linux-x64/${CROSS_TRIPLE}-noop.sh /usr/bin/${CROSS_TRIPLE}-noop | ||||
|  | ||||
| COPY manylinux1-x64/Toolchain.cmake ${CROSS_ROOT}/../lib/ | ||||
| ENV CMAKE_TOOLCHAIN_FILE ${CROSS_ROOT}/../lib/Toolchain.cmake | ||||
|  | ||||
| #include "common.label-and-env" | ||||
| @@ -1,11 +0,0 @@ | ||||
| set(CMAKE_SYSTEM_NAME Linux) | ||||
| set(CMAKE_CROSSCOMPILING FALSE) | ||||
| set(CMAKE_SYSTEM_VERSION 1) | ||||
| set(CMAKE_SYSTEM_PROCESSOR x86_64) | ||||
|  | ||||
| set(MANYLINUX1 TRUE) | ||||
|  | ||||
| set(CMAKE_C_COMPILER /opt/rh/devtoolset-2/root/usr/bin/gcc) | ||||
| set(CMAKE_CXX_COMPILER /opt/rh/devtoolset-2/root/usr/bin/g++) | ||||
| set(CMAKE_ASM_COMPILER ${CMAKE_C_COMPILER}) | ||||
| set(CMAKE_Fortran_COMPILER /opt/rh/devtoolset-2/root/usr/bin/gfortran) | ||||
| @@ -1,31 +0,0 @@ | ||||
| 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" | ||||
|  | ||||
| #include "common.dockcross" | ||||
|  | ||||
| #include "common.docker" | ||||
|  | ||||
| ENV CROSS_TRIPLE i686-linux-gnu | ||||
| ENV CROSS_ROOT /opt/rh/devtoolset-2/root/usr/bin | ||||
| ENV AS=${CROSS_ROOT}/as \ | ||||
|     AR=${CROSS_ROOT}/ar \ | ||||
|     CC=${CROSS_ROOT}/gcc \ | ||||
|     CPP=${CROSS_ROOT}/cpp \ | ||||
|     CXX=${CROSS_ROOT}/g++ \ | ||||
|     LD=${CROSS_ROOT}/ld \ | ||||
|     FC=${CROSS_ROOT}/gfortran | ||||
|  | ||||
| COPY linux-x86/${CROSS_TRIPLE}-noop.sh /usr/bin/${CROSS_TRIPLE}-noop | ||||
|  | ||||
| COPY manylinux1-x86/Toolchain.cmake ${CROSS_ROOT}/../lib/ | ||||
| ENV CMAKE_TOOLCHAIN_FILE ${CROSS_ROOT}/../lib/Toolchain.cmake | ||||
|  | ||||
| COPY linux-x86/linux32-entrypoint.sh /dockcross/ | ||||
| ENTRYPOINT ["/dockcross/linux32-entrypoint.sh"] | ||||
|  | ||||
| #include "common.label-and-env" | ||||
| @@ -1,15 +0,0 @@ | ||||
| set(CMAKE_SYSTEM_NAME Linux) | ||||
| set(CMAKE_CROSSCOMPILING FALSE) | ||||
| set(CMAKE_SYSTEM_VERSION 1) | ||||
| set(CMAKE_SYSTEM_PROCESSOR i686) | ||||
|  | ||||
| set(MANYLINUX1 TRUE) | ||||
|  | ||||
| set(CMAKE_C_COMPILER /opt/rh/devtoolset-2/root/usr/bin/gcc) | ||||
| set(CMAKE_CXX_COMPILER /opt/rh/devtoolset-2/root/usr/bin/g++) | ||||
| set(CMAKE_ASM_COMPILER ${CMAKE_C_COMPILER}) | ||||
| set(CMAKE_Fortran_COMPILER /opt/rh/devtoolset-2/root/usr/bin/gfortran) | ||||
|  | ||||
| # Discard path returned by pkg-config and associated with HINTS in module | ||||
| # like FindOpenSSL. | ||||
| set(CMAKE_IGNORE_PATH /usr/lib/x86_64-linux-gnu/ /usr/lib/x86_64-linux-gnu/lib/) | ||||
| @@ -1,32 +0,0 @@ | ||||
| FROM quay.io/pypa/manylinux2010_x86_64:latest | ||||
| MAINTAINER Matt McCormick "matt.mccormick@kitware.com" | ||||
|  | ||||
| ENV DEFAULT_DOCKCROSS_IMAGE dockcross/manylinux2010-x64 | ||||
|  | ||||
| #include "common.manylinux" | ||||
|  | ||||
| #include "common.dockcross" | ||||
|  | ||||
| #include "common.docker" | ||||
|  | ||||
| # 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/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 | ||||
| ENV AS=${CROSS_ROOT}/as \ | ||||
|     AR=${CROSS_ROOT}/ar \ | ||||
|     CC=${CROSS_ROOT}/gcc \ | ||||
|     CPP=${CROSS_ROOT}/cpp \ | ||||
|     CXX=${CROSS_ROOT}/g++ \ | ||||
|     LD=${CROSS_ROOT}/ld \ | ||||
|     FC=${CROSS_ROOT}/gfortran | ||||
|  | ||||
| COPY linux-x64/${CROSS_TRIPLE}-noop.sh /usr/bin/${CROSS_TRIPLE}-noop | ||||
|  | ||||
| COPY manylinux2010-x64/Toolchain.cmake ${CROSS_ROOT}/../lib/ | ||||
| ENV CMAKE_TOOLCHAIN_FILE ${CROSS_ROOT}/../lib/Toolchain.cmake | ||||
|  | ||||
| #include "common.label-and-env" | ||||
| @@ -1,11 +0,0 @@ | ||||
| set(CMAKE_SYSTEM_NAME Linux) | ||||
| set(CMAKE_CROSSCOMPILING FALSE) | ||||
| set(CMAKE_SYSTEM_VERSION 1) | ||||
| set(CMAKE_SYSTEM_PROCESSOR x86_64) | ||||
|  | ||||
| set(MANYLINUX2010 TRUE) | ||||
|  | ||||
| set(CMAKE_C_COMPILER /opt/rh/devtoolset-8/root/usr/bin/gcc) | ||||
| set(CMAKE_CXX_COMPILER /opt/rh/devtoolset-8/root/usr/bin/g++) | ||||
| set(CMAKE_ASM_COMPILER ${CMAKE_C_COMPILER}) | ||||
| set(CMAKE_Fortran_COMPILER /opt/rh/devtoolset-8/root/usr/bin/gfortran) | ||||
| @@ -1,35 +0,0 @@ | ||||
| FROM quay.io/pypa/manylinux2010_i686:latest | ||||
| MAINTAINER Matt McCormick "matt.mccormick@kitware.com" | ||||
|  | ||||
| ENV DEFAULT_DOCKCROSS_IMAGE dockcross/manylinux2010-x86 | ||||
|  | ||||
| #include "common.manylinux" | ||||
|  | ||||
| #include "common.dockcross" | ||||
|  | ||||
| #include "common.docker" | ||||
|  | ||||
| # 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/lib/libcurl.so.4 /usr/bin/yum "$@"' > /usr/local/bin/yum && chmod a+x /usr/local/bin/yum | ||||
|  | ||||
| ENV CROSS_TRIPLE i686-linux-gnu | ||||
| ENV CROSS_ROOT /opt/rh/devtoolset-8/root/usr/bin | ||||
| ENV AS=${CROSS_ROOT}/as \ | ||||
|     AR=${CROSS_ROOT}/ar \ | ||||
|     CC=${CROSS_ROOT}/gcc \ | ||||
|     CPP=${CROSS_ROOT}/cpp \ | ||||
|     CXX=${CROSS_ROOT}/g++ \ | ||||
|     LD=${CROSS_ROOT}/ld \ | ||||
|     FC=${CROSS_ROOT}/gfortran | ||||
|  | ||||
| COPY linux-x86/${CROSS_TRIPLE}-noop.sh /usr/bin/${CROSS_TRIPLE}-noop | ||||
|  | ||||
| COPY manylinux2010-x86/Toolchain.cmake ${CROSS_ROOT}/../lib/ | ||||
| ENV CMAKE_TOOLCHAIN_FILE ${CROSS_ROOT}/../lib/Toolchain.cmake | ||||
|  | ||||
| COPY linux-x86/linux32-entrypoint.sh /dockcross/ | ||||
| ENTRYPOINT ["/dockcross/linux32-entrypoint.sh"] | ||||
|  | ||||
| #include "common.label-and-env" | ||||
| @@ -1,11 +0,0 @@ | ||||
| set(CMAKE_SYSTEM_NAME Linux) | ||||
| set(CMAKE_CROSSCOMPILING FALSE) | ||||
| set(CMAKE_SYSTEM_VERSION 1) | ||||
| set(CMAKE_SYSTEM_PROCESSOR i686) | ||||
|  | ||||
| set(MANYLINUX2010 TRUE) | ||||
|  | ||||
| set(CMAKE_C_COMPILER /opt/rh/devtoolset-8/root/usr/bin/gcc) | ||||
| set(CMAKE_CXX_COMPILER /opt/rh/devtoolset-8/root/usr/bin/g++) | ||||
| set(CMAKE_ASM_COMPILER ${CMAKE_C_COMPILER}) | ||||
| set(CMAKE_Fortran_COMPILER /opt/rh/devtoolset-8/root/usr/bin/gfortran) | ||||
| @@ -16,7 +16,7 @@ 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 | ||||
|  | ||||
| ENV CROSS_TRIPLE x86_64-linux-gnu | ||||
| ENV CROSS_ROOT /opt/rh/devtoolset-9/root/usr/bin | ||||
| ENV CROSS_ROOT /opt/rh/devtoolset-10/root/usr/bin | ||||
| ENV AS=${CROSS_ROOT}/as \ | ||||
|     AR=${CROSS_ROOT}/ar \ | ||||
|     CC=${CROSS_ROOT}/gcc \ | ||||
|   | ||||
| @@ -5,7 +5,7 @@ set(CMAKE_SYSTEM_PROCESSOR x86_64) | ||||
|  | ||||
| set(MANYLINUX2014 TRUE) | ||||
|  | ||||
| set(CMAKE_C_COMPILER /opt/rh/devtoolset-9/root/usr/bin/gcc) | ||||
| set(CMAKE_CXX_COMPILER /opt/rh/devtoolset-9/root/usr/bin/g++) | ||||
| set(CMAKE_C_COMPILER /opt/rh/devtoolset-10/root/usr/bin/gcc) | ||||
| set(CMAKE_CXX_COMPILER /opt/rh/devtoolset-10/root/usr/bin/g++) | ||||
| set(CMAKE_ASM_COMPILER ${CMAKE_C_COMPILER}) | ||||
| set(CMAKE_Fortran_COMPILER /opt/rh/devtoolset-9/root/usr/bin/gfortran) | ||||
| set(CMAKE_Fortran_COMPILER /opt/rh/devtoolset-10/root/usr/bin/gfortran) | ||||
|   | ||||
| @@ -16,7 +16,7 @@ RUN echo $'#!/bin/bash\n\ | ||||
| LD_PRELOAD=/usr/lib/libcurl.so.4 /usr/bin/yum "$@"' > /usr/local/bin/yum && chmod a+x /usr/local/bin/yum | ||||
|  | ||||
| ENV CROSS_TRIPLE i686-linux-gnu | ||||
| ENV CROSS_ROOT /opt/rh/devtoolset-9/root/usr/bin | ||||
| ENV CROSS_ROOT /opt/rh/devtoolset-10/root/usr/bin | ||||
| ENV AS=${CROSS_ROOT}/as \ | ||||
|     AR=${CROSS_ROOT}/ar \ | ||||
|     CC=${CROSS_ROOT}/gcc \ | ||||
|   | ||||
| @@ -5,7 +5,7 @@ set(CMAKE_SYSTEM_PROCESSOR i686) | ||||
|  | ||||
| set(MANYLINUX2014 TRUE) | ||||
|  | ||||
| set(CMAKE_C_COMPILER /opt/rh/devtoolset-9/root/usr/bin/gcc) | ||||
| set(CMAKE_CXX_COMPILER /opt/rh/devtoolset-9/root/usr/bin/g++) | ||||
| set(CMAKE_C_COMPILER /opt/rh/devtoolset-10/root/usr/bin/gcc) | ||||
| set(CMAKE_CXX_COMPILER /opt/rh/devtoolset-10/root/usr/bin/g++) | ||||
| set(CMAKE_ASM_COMPILER ${CMAKE_C_COMPILER}) | ||||
| set(CMAKE_Fortran_COMPILER /opt/rh/devtoolset-9/root/usr/bin/gfortran) | ||||
| set(CMAKE_Fortran_COMPILER /opt/rh/devtoolset-10/root/usr/bin/gfortran) | ||||
|   | ||||
| @@ -1,26 +0,0 @@ | ||||
| #!/bin/bash | ||||
| set -euo pipefail | ||||
|  | ||||
| # More info: https://github.com/GoogleContainerTools/container-diff | ||||
|  | ||||
| if (( $# < 1 || $# > 2  )); then | ||||
|     echo "Need 1 or 2 arguments: <img1> <img2>" | ||||
|     exit 1 | ||||
| fi | ||||
|  | ||||
| if (( $# == 1 )); then | ||||
|     container-diff analyze $1 --type=history 2>&1 | tee -a analyze-history.txt | ||||
|     container-diff analyze $1 --type=file 2>&1 | tee -a analyze-file.txt | ||||
|     container-diff analyze $1 --type=size 2>&1 | tee -a analyze-size.txt | ||||
|     container-diff analyze $1 --type=apt 2>&1 | tee -a analyze-apt.txt | ||||
|     container-diff analyze $1 --type=pip 2>&1 | tee -a analyze-pip.txt | ||||
|  | ||||
| fi | ||||
|  | ||||
| if (( $# == 2 )); then | ||||
|     container-diff diff $1 $2 --type=history 2>&1 | tee -a diff-history.txt | ||||
|     container-diff diff $1 $2 --type=file 2>&1 | tee -a diff-file.txt | ||||
|     container-diff diff $1 $2 --type=size 2>&1 | tee -a diff-size.txt | ||||
|     container-diff diff $1 $2 --type=apt 2>&1 | tee -a diff-apt.txt | ||||
|     container-diff diff $1 $2 --type=pip 2>&1 | tee -a diff-pip.txt | ||||
| fi | ||||
							
								
								
									
										24
									
								
								tools/dockcross-builder.sh
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										24
									
								
								tools/dockcross-builder.sh
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,24 @@ | ||||
| #!/usr/bin/env bash | ||||
|  | ||||
| if (( $# >= 1 )); then | ||||
|     image=$1 | ||||
|     build_file=build-${image%:*} | ||||
|     shift 1 | ||||
|  | ||||
|     cmake_arg=$* | ||||
|     echo "cmake arg: $cmake_arg" | ||||
|  | ||||
|     echo "Pulling dockcross/$image" | ||||
|     docker pull dockcross/"$image" | ||||
|  | ||||
|     echo "Make script dockcross-$image" | ||||
|     docker run --rm dockcross/"$image" > ./dockcross-"$image" | ||||
|     chmod +x ./dockcross-"$image" | ||||
|  | ||||
|     echo "Build $build_file" | ||||
|     ./dockcross-"$image" cmake -B "$build_file" -S . -G Ninja "$cmake_arg" | ||||
|     ./dockcross-"$image" ninja -C "$build_file" | ||||
| else | ||||
|     echo "Usage: ${0##*/} <docker imag (ex: linux-x64/linux-x64-clang/linux-arm64/windows-shared-x64/windows-static-x64...)> <cmake arg.>" | ||||
|     exit 1 | ||||
| fi | ||||
							
								
								
									
										26
									
								
								tools/docker-container-diff.sh
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										26
									
								
								tools/docker-container-diff.sh
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,26 @@ | ||||
| #!/usr/bin/env bash | ||||
|  | ||||
| if (( $# < 1 || $# > 2  )); then | ||||
|     echo "Need 1 or 2 arguments: <img1> <img2>" | ||||
|     echo "For local image: daemon://<img>" | ||||
|     echo "For remote image: remote://<img>" | ||||
|     echo "More info: https://github.com/GoogleContainerTools/container-diff" | ||||
|     exit 1 | ||||
| fi | ||||
|  | ||||
| if (( $# == 1 )); then | ||||
|     container-diff analyze "$1" --type=history 2>&1 | tee -a analyze-history.txt | ||||
|     container-diff analyze "$1" --type=file 2>&1 | tee -a analyze-file.txt | ||||
|     container-diff analyze "$1" --type=size 2>&1 | tee -a analyze-size.txt | ||||
|     container-diff analyze "$1" --type=apt 2>&1 | tee -a analyze-apt.txt | ||||
|     container-diff analyze "$1" --type=pip 2>&1 | tee -a analyze-pip.txt | ||||
|  | ||||
| fi | ||||
|  | ||||
| if (( $# == 2 )); then | ||||
|     container-diff diff "$1" "$2" --type=history 2>&1 | tee -a diff-history.txt | ||||
|     container-diff diff "$1" "$2" --type=file 2>&1 | tee -a diff-file.txt | ||||
|     container-diff diff "$1" "$2" --type=size 2>&1 | tee -a diff-size.txt | ||||
|     container-diff diff "$1" "$2" --type=apt 2>&1 | tee -a diff-apt.txt | ||||
|     container-diff diff "$1" "$2" --type=pip 2>&1 | tee -a diff-pip.txt | ||||
| fi | ||||
		Reference in New Issue
	
	Block a user