Improve Makefile, bug fix and clean images

This commit is contained in:
Bensuperpc 2021-05-16 00:44:56 +02:00
parent 03e4389bf8
commit afeb0243ee
7 changed files with 76 additions and 24 deletions

View File

@ -19,7 +19,10 @@ jobs:
name: base
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v2
uses: actions/checkout@v2.2.0
with:
submodules: 'recursive'
fetch-depth: 0
- name: build
run: make base
- name: test
@ -47,7 +50,7 @@ jobs:
strategy:
fail-fast: false
max-parallel: 8
# manylinux2014-aarch64
# manylinux2014-aarch64 cc65 pvsneslib
matrix:
arch_name: [android-arm, android-arm64, android-x86, android-x86_64, web-wasm, linux-armv8, linux-armv8-musl, linux-armv8-rpi3, linux-armv8-rpi4, linux-armv5, linux-armv5-musl, linux-armv6-rpi1, linux-armv7-rpi2, linux-armv6-musl, linux-armv6-rpi-old, linux-armv7, linux-armv7a, linux-armv7l-musl, linux-mips, linux-mips64, linux-mips64el-n64, linux-mipsel, linux-m68k, linux-ppc32, linux-ppc64, linux-s390x, linux-x64, linux-x64-clang, linux-x86, linux-riscv64, manylinux2014-x64, manylinux2014-x86, windows-static-x64, windows-static-x64-posix, windows-static-x86, windows-shared-x64, windows-shared-x64-posix, windows-shared-x86]
steps:
@ -69,6 +72,7 @@ jobs:
docker image push bensuperpc/${{ matrix.arch_name }}
- name: clean
run: docker image rm -f bensuperpc/${{ matrix.arch_name }}
image_full:
name: ${{ matrix.arch_name }}
if: always()
@ -78,7 +82,7 @@ jobs:
fail-fast: false
max-parallel: 2
matrix:
arch_name: [linux-armv8-rpi4.full, linux-armv8-rpi3.full, linux-armv7-rpi2.full, linux-armv7.full, linux-armv7a.full, linux-armv6-rpi1.full]
arch_name: [linux-armv8-rpi4.full, linux-armv8-rpi3.full, linux-armv7-rpi2.full, linux-armv7.full, linux-armv7a.full, linux-armv6-rpi1.full, linux-armv8.full]
steps:
- uses: actions/checkout@v2
- uses: actions/download-artifact@v2
@ -89,6 +93,7 @@ jobs:
run: docker load -i ./cache/base.tar
# - name: load from hub docker
# run: docker image pull bensuperpc/${{ matrix.arch_name }}:latest
# continue-on-error: true
- name: build
run: make ${{ matrix.arch_name }}
# - name: test

View File

@ -19,12 +19,12 @@ STANDARD_IMAGES = avr linux-s390x android-arm android-arm64 android-x86 android-
# Generated Dockerfiles.
GEN_IMAGES = avr linux-s390x android-arm android-arm64 linux-x86 linux-x64 linux-x64-clang linux-mips linux-mips64 linux-mipsel manylinux2014-x64 manylinux2014-x86 manylinux2014-aarch64 linux-m68k web-wasm linux-armv8 linux-armv8-musl linux-armv8-rpi3 linux-armv8-rpi4 linux-ppc32 linux-ppc64 windows-static-x86 windows-static-x64 windows-static-x64-posix windows-shared-x86 windows-shared-x64 windows-shared-x64-posix linux-mips64el-n64 linux-armv7 linux-armv7a linux-armv7l-musl linux-armv6-rpi1 linux-armv6-musl linux-armv6-rpi-old linux-armv7-rpi2 linux-armv5 linux-armv5-musl linux-riscv64
EXT_GEN_IMAGES = linux-armv8-rpi4.full linux-armv8-rpi3.full linux-armv7-rpi2.full linux-armv7.full linux-armv7a.full linux-armv6-rpi1.full
EXT_GEN_IMAGES = linux-armv8-rpi4.full linux-armv8-rpi3.full linux-armv7-rpi2.full linux-armv7.full linux-armv7a.full linux-armv6-rpi1.full linux-armv8.full
GEN_IMAGE_DOCKERFILES = $(addsuffix /Dockerfile,$(EXT_GEN_IMAGES)) $(addsuffix /Dockerfile,$(GEN_IMAGES))
# These images are expected to have explicit rules for *both* build and testing
NON_STANDARD_IMAGES = web-wasm manylinux2014-x64 manylinux2014-x86 manylinux2014-aarch64
NON_STANDARD_IMAGES = web-wasm manylinux2014-x64 manylinux2014-x86 manylinux2014-aarch64 pvsneslib cc65
DOCKER_COMPOSITE_SOURCES = common.docker common.debian common.manylinux common.crosstool common.windows common-manylinux.crosstool common.dockcross common.lib common.label-and-env
@ -77,6 +77,28 @@ $(GEN_IMAGE_DOCKERFILES) Dockerfile: %Dockerfile: %Dockerfile.in $(DOCKER_COMPOS
-e '/common.label-and-env/ r common.label-and-env' \
$< > $@
#
# cc65
#
cc65: cc65/Dockerfile
$(DOCKER) build -t $(ORG)/cc65:latest \
cc65
cc65.test: cc65
$(DOCKER) build -t $(ORG)/cc65:latest \
cc65
#
# pvsneslib
#
pvsneslib: pvsneslib/Dockerfile
$(DOCKER) build -t $(ORG)/pvsneslib:latest \
pvsneslib
pvsneslib.test: pvsneslib
$(DOCKER) build -t $(ORG)/pvsneslib:latest \
pvsneslib
#
# web-wasm
#
@ -101,7 +123,7 @@ web-wasm: web-wasm/Dockerfile
web-wasm.test: web-wasm
cp -r test web-wasm/
$(DOCKER) run $(RM) bensuperpc/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
@ -126,7 +148,7 @@ manylinux2014-aarch64: manylinux2014-aarch64/Dockerfile
rm -rf $@/imagefiles
manylinux2014-aarch64.test: manylinux2014-aarch64
$(DOCKER) run $(RM) bensuperpc/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
#
@ -150,7 +172,7 @@ manylinux2014-x64: manylinux2014-x64/Dockerfile
rm -rf $@/imagefiles
manylinux2014-x64.test: manylinux2014-x64
$(DOCKER) run $(RM) bensuperpc/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
#
@ -174,7 +196,7 @@ manylinux2014-x86: manylinux2014-x86/Dockerfile
rm -rf $@/imagefiles
manylinux2014-x86.test: manylinux2014-x86
$(DOCKER) run $(RM) bensuperpc/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
#
@ -193,7 +215,7 @@ base: Dockerfile imagefiles/
.
base.test: base
$(DOCKER) run $(RM) bensuperpc/base > $(BIN)/dockcross-base && chmod +x $(BIN)/dockcross-base
$(DOCKER) run $(RM) $(ORG)/base > $(BIN)/dockcross-base && chmod +x $(BIN)/dockcross-base
#
# display

View File

@ -0,0 +1,12 @@
ARG DOCKER_IMAGE=bensuperpc/linux-armv8:latest
FROM $DOCKER_IMAGE
MAINTAINER Bensuperpc "bensuperpc@gmail.com"
# This is for 64-bit ARM Linux machine
ENV OPENSSL_ARCH linux-aarch64
ENV OPENSSL_TARGET armv8-a
#include "common.lib"
#include "common.label-and-env"

View File

@ -0,0 +1,20 @@
set(CMAKE_SYSTEM_NAME Linux)
set(CMAKE_SYSTEM_VERSION 1)
set(CMAKE_SYSTEM_PROCESSOR aarch64)
set(cross_triple "aarch64-unknown-linux-gnu")
set(cross_root /usr/xcc/${cross_triple})
set(CMAKE_C_COMPILER $ENV{CC})
set(CMAKE_CXX_COMPILER $ENV{CXX})
set(CMAKE_Fortran_COMPILER $ENV{FC})
set(CMAKE_CXX_FLAGS "-I ${cross_root}/include/")
set(CMAKE_FIND_ROOT_PATH ${cross_root} ${cross_root}/${cross_triple})
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY BOTH)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH)
set(CMAKE_SYSROOT ${cross_root}/${cross_triple}/sysroot)
set(CMAKE_CROSSCOMPILING_EMULATOR /usr/bin/qemu-aarch64)

View File

@ -38,9 +38,4 @@ ENV PATH ${PATH}:${CROSS_ROOT}/bin
ENV CROSS_COMPILE ${CROSS_TRIPLE}-
ENV ARCH arm64
ENV OPENSSL_ARCH linux-aarch64
ENV OPENSSL_TARGET armv8-a
#include "common.lib"
#include "common.label-and-env"

View File

@ -36,6 +36,4 @@ ENV PATH ${PATH}:${CROSS_ROOT}/bin
ENV CROSS_COMPILE ${CROSS_TRIPLE}-
ENV ARCH mips
#include "common.lib"
#include "common.label-and-env"

View File

@ -114,7 +114,7 @@ CT_CONFIG_SHELL="${bash}"
#
# Logging
#
CT_LOG_ERROR=y
# CT_LOG_ERROR is not set
# CT_LOG_WARN is not set
# CT_LOG_INFO is not set
CT_LOG_EXTRA=y
@ -151,8 +151,7 @@ CT_ARCH_MIPS=y
# CT_ARCH_XTENSA is not set
CT_ARCH="mips"
CT_ARCH_CHOICE_KSYM="MIPS"
CT_ARCH_TUNE=""
CT_ARCH_CPU="mips64vr4300"
CT_ARCH_TUNE="vr4300"
CT_ARCH_MIPS_SHOW=y
#
@ -412,7 +411,7 @@ CT_ALL_BINUTILS_CHOICES="BINUTILS"
CT_LIBC_UCLIBC=y
CT_LIBC="uClibc"
CT_LIBC_CHOICE_KSYM="UCLIBC"
CT_THREADS="none"
CT_THREADS="nptl"
CT_LIBC_UCLIBC_SHOW=y
#
@ -490,9 +489,9 @@ CT_LIBC_SUPPORT_THREADS_NONE=y
#
# Common C library options
#
# CT_THREADS_NATIVE is not set
CT_THREADS_NATIVE=y
# CT_THREADS_LT is not set
CT_THREADS_NONE=y
# CT_THREADS_NONE is not set
CT_CREATE_LDSO_CONF=y
CT_LDSO_CONF_EXTRA_DIRS_ARRAY=""
CT_LIBC_XLDD=y
@ -582,6 +581,7 @@ CT_CC_GCC_USE_GRAPHITE=y
#
CT_CC_GCC_ENABLE_TARGET_OPTSPACE=y
# CT_CC_GCC_LIBMUDFLAP is not set
# CT_CC_GCC_LIBGOMP is not set
# CT_CC_GCC_LIBSSP is not set
CT_CC_GCC_LIBQUADMATH=y
@ -699,7 +699,7 @@ CT_GDB_GDBSERVER=y
# CT_GDB_NATIVE_STATIC is not set
# CT_GDB_NATIVE_STATIC_LIBSTDCXX is not set
CT_GDB_HAS_PKGVERSION_BUGURL=y
# CT_GDB_HAS_PYTHON is not set
CT_GDB_HAS_PYTHON=y
CT_GDB_INSTALL_GDBINIT=y
CT_GDB_HAS_IPA_LIB=y
# CT_DEBUG_LTRACE is not set