mirror of
https://github.com/bensuperpc/dockcross.git
synced 2025-06-20 01:44:27 +02:00
Compare commits
5 Commits
fix_entryp
...
add_script
Author | SHA1 | Date | |
---|---|---|---|
5d948be506 | |||
4a80999f63 | |||
e8c98ab58e | |||
438d2dcaaa | |||
cb4653ac7a |
2
.github/workflows/expired.yml
vendored
2
.github/workflows/expired.yml
vendored
@ -6,7 +6,7 @@ jobs:
|
|||||||
stale:
|
stale:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/stale@v4
|
- uses: actions/stale@v3
|
||||||
with:
|
with:
|
||||||
repo-token: ${{ secrets.GITHUB_TOKEN }}
|
repo-token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
exempt-issue-milestones: 'future,alpha,beta,release'
|
exempt-issue-milestones: 'future,alpha,beta,release'
|
||||||
|
2
.github/workflows/main.yml
vendored
2
.github/workflows/main.yml
vendored
@ -42,7 +42,7 @@ jobs:
|
|||||||
image:
|
image:
|
||||||
name: ${{ matrix.arch_name }}
|
name: ${{ matrix.arch_name }}
|
||||||
needs: base
|
needs: base
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-20.04
|
||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
|
28
.github/workflows/shellcheck.yml
vendored
28
.github/workflows/shellcheck.yml
vendored
@ -1,28 +0,0 @@
|
|||||||
name: Shellcheck CI
|
|
||||||
|
|
||||||
on:
|
|
||||||
push:
|
|
||||||
branches:
|
|
||||||
- '*'
|
|
||||||
paths-ignore:
|
|
||||||
- '**/README.md'
|
|
||||||
pull_request:
|
|
||||||
branches:
|
|
||||||
- '*'
|
|
||||||
paths-ignore:
|
|
||||||
- '**/README.md'
|
|
||||||
workflow_dispatch:
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
shellcheck:
|
|
||||||
name: Shellcheck
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v2
|
|
||||||
- name: Run ShellCheck
|
|
||||||
uses: ludeeus/action-shellcheck@master
|
|
||||||
with:
|
|
||||||
severity: error
|
|
||||||
format: gcc
|
|
||||||
env:
|
|
||||||
SHELLCHECK_OPTS: -s bash
|
|
11
Makefile
11
Makefile
@ -50,12 +50,6 @@ endif
|
|||||||
# Tag images with date and Git short hash in addition to revision
|
# Tag images with date and Git short hash in addition to revision
|
||||||
TAG := $(shell date '+%Y%m%d')-$(shell git rev-parse --short HEAD)
|
TAG := $(shell date '+%Y%m%d')-$(shell git rev-parse --short HEAD)
|
||||||
|
|
||||||
# shellcheck executable
|
|
||||||
SHELLCHECK := shellcheck
|
|
||||||
|
|
||||||
# Defines the level of verification (error, warning, info...)
|
|
||||||
SHELLCHECK_SEVERITY_LEVEL := error
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# images: This target builds all IMAGES (because it is the first one, it is built by default)
|
# images: This target builds all IMAGES (because it is the first one, it is built by default)
|
||||||
#
|
#
|
||||||
@ -281,11 +275,6 @@ purge: clean
|
|||||||
# Remove all images with organization (ex dockcross/*)
|
# Remove all images with organization (ex dockcross/*)
|
||||||
$(DOCKER) images --filter=reference='$(ORG)/*' --format='{{.Repository}}:{{.Tag}}' | xargs -r $(DOCKER) rmi -f
|
$(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 "{}"
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# testing implicit rule
|
# testing implicit rule
|
||||||
#
|
#
|
||||||
|
@ -13,4 +13,4 @@ RUN \
|
|||||||
rm -rf /buildscripts
|
rm -rf /buildscripts
|
||||||
|
|
||||||
# Runtime scripts
|
# Runtime scripts
|
||||||
COPY imagefiles/entrypoint.sh imagefiles/dockcross.sh /dockcross/
|
COPY imagefiles/entrypoint.sh imagefiles/dockcross /dockcross/
|
||||||
|
@ -6,11 +6,11 @@ DEFAULT_DOCKCROSS_IMAGE=dockcross/base # DO NOT MOVE THIS LINE (see entrypoint.
|
|||||||
# Helpers
|
# Helpers
|
||||||
#
|
#
|
||||||
err() {
|
err() {
|
||||||
echo -e >&2 "ERROR: $*\n"
|
echo -e >&2 ERROR: $@\\n
|
||||||
}
|
}
|
||||||
|
|
||||||
die() {
|
die() {
|
||||||
err "$*"
|
err $@
|
||||||
exit 1
|
exit 1
|
||||||
}
|
}
|
||||||
|
|
@ -7,13 +7,13 @@ if [[ $# == 0 ]]; then
|
|||||||
# Presumably the image has been run directly, so help the user get
|
# Presumably the image has been run directly, so help the user get
|
||||||
# started by outputting the dockcross script
|
# started by outputting the dockcross script
|
||||||
if [[ -n $DEFAULT_DOCKCROSS_IMAGE ]]; then
|
if [[ -n $DEFAULT_DOCKCROSS_IMAGE ]]; then
|
||||||
head -n 2 /dockcross/dockcross.sh
|
head -n 2 /dockcross/dockcross
|
||||||
echo "DEFAULT_DOCKCROSS_IMAGE=$DEFAULT_DOCKCROSS_IMAGE"
|
echo "DEFAULT_DOCKCROSS_IMAGE=$DEFAULT_DOCKCROSS_IMAGE"
|
||||||
tail -n +4 /dockcross/dockcross.sh |
|
tail -n +4 /dockcross/dockcross |
|
||||||
sed -e "s@dockcross\/linux\-armv7@${DEFAULT_DOCKCROSS_IMAGE}@g" |
|
sed -e "s@dockcross\/linux\-armv7@${DEFAULT_DOCKCROSS_IMAGE}@g" |
|
||||||
sed -e "s@dockcross\-linux\-armv7@${DEFAULT_DOCKCROSS_IMAGE//[\/:]/-}@g"
|
sed -e "s@dockcross\-linux\-armv7@${DEFAULT_DOCKCROSS_IMAGE//[\/:]/-}@g"
|
||||||
else
|
else
|
||||||
cat /dockcross/dockcross.sh
|
cat /dockcross/dockcross
|
||||||
fi
|
fi
|
||||||
exit 0
|
exit 0
|
||||||
fi
|
fi
|
||||||
|
@ -6,7 +6,7 @@ MAINTAINER Matt McCormick "matt.mccormick@kitware.com"
|
|||||||
# crosstool-ng master 2021-07-07
|
# crosstool-ng master 2021-07-07
|
||||||
ENV CT_VERSION 62e9db247be34f8a4fa3bc116e60a1b15db62a97
|
ENV CT_VERSION 62e9db247be34f8a4fa3bc116e60a1b15db62a97
|
||||||
|
|
||||||
ARG QEMU_VERSION=6.0.0
|
ENV QEMU_VERSION 6.0.0
|
||||||
|
|
||||||
#include "common.crosstool"
|
#include "common.crosstool"
|
||||||
|
|
||||||
|
@ -6,7 +6,7 @@ MAINTAINER Matt McCormick "matt.mccormick@kitware.com"
|
|||||||
# crosstool-ng master 2021-07-07
|
# crosstool-ng master 2021-07-07
|
||||||
ENV CT_VERSION 62e9db247be34f8a4fa3bc116e60a1b15db62a97
|
ENV CT_VERSION 62e9db247be34f8a4fa3bc116e60a1b15db62a97
|
||||||
|
|
||||||
ARG QEMU_VERSION=6.0.0
|
ENV QEMU_VERSION 6.0.0
|
||||||
|
|
||||||
#include "common.crosstool"
|
#include "common.crosstool"
|
||||||
|
|
||||||
|
@ -6,7 +6,7 @@ MAINTAINER Matt McCormick "matt.mccormick@kitware.com"
|
|||||||
# crosstool-ng master 2021-07-07
|
# crosstool-ng master 2021-07-07
|
||||||
ENV CT_VERSION 62e9db247be34f8a4fa3bc116e60a1b15db62a97
|
ENV CT_VERSION 62e9db247be34f8a4fa3bc116e60a1b15db62a97
|
||||||
|
|
||||||
ARG QEMU_VERSION=6.0.0
|
ENV QEMU_VERSION 6.0.0
|
||||||
|
|
||||||
#include "common.crosstool"
|
#include "common.crosstool"
|
||||||
|
|
||||||
|
@ -6,7 +6,7 @@ MAINTAINER Matt McCormick "matt.mccormick@kitware.com"
|
|||||||
# crosstool-ng master 2021-07-07
|
# crosstool-ng master 2021-07-07
|
||||||
ENV CT_VERSION 62e9db247be34f8a4fa3bc116e60a1b15db62a97
|
ENV CT_VERSION 62e9db247be34f8a4fa3bc116e60a1b15db62a97
|
||||||
|
|
||||||
ARG QEMU_VERSION=6.0.0
|
ENV QEMU_VERSION 6.0.0
|
||||||
|
|
||||||
#include "common.crosstool"
|
#include "common.crosstool"
|
||||||
|
|
||||||
|
@ -1,24 +1,17 @@
|
|||||||
FROM dockcross/base:latest
|
FROM dockcross/base:latest
|
||||||
MAINTAINER Matt McCormick "matt.mccormick@kitware.com"
|
MAINTAINER Matt McCormick "matt.mccormick@kitware.com"
|
||||||
|
# flang
|
||||||
ARG CLANG_VERSION=13
|
|
||||||
ENV CLANG_VERSION=${CLANG_VERSION}
|
|
||||||
|
|
||||||
RUN echo "deb http://apt.llvm.org/bullseye/ llvm-toolchain-bullseye main" >> /etc/apt/sources.list \
|
RUN echo "deb http://apt.llvm.org/bullseye/ llvm-toolchain-bullseye main" >> /etc/apt/sources.list \
|
||||||
&& echo "deb http://apt.llvm.org/bullseye/ llvm-toolchain-bullseye-${CLANG_VERSION} main" >> /etc/apt/sources.list \
|
|
||||||
&& echo "deb-src http://apt.llvm.org/bullseye/ llvm-toolchain-bullseye main" >> /etc/apt/sources.list \
|
&& echo "deb-src http://apt.llvm.org/bullseye/ llvm-toolchain-bullseye main" >> /etc/apt/sources.list \
|
||||||
&& echo "deb-src http://apt.llvm.org/bullseye/ llvm-toolchain-bullseye-${CLANG_VERSION} main" >> /etc/apt/sources.list \
|
|
||||||
&& wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | apt-key add - \
|
&& wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | apt-key add - \
|
||||||
&& apt-get update \
|
&& apt-get update \
|
||||||
&& apt-get purge --autoremove -y gcc g++ software-properties-common \
|
&& apt-get purge --autoremove -y gcc g++ software-properties-common \
|
||||||
&& apt-get -y install clang-${CLANG_VERSION} libc++-${CLANG_VERSION}-dev libc++abi-${CLANG_VERSION}-dev clang-format-${CLANG_VERSION} clang-tidy-${CLANG_VERSION} lldb-${CLANG_VERSION} \
|
&& apt-get -y install clang libc++-dev libc++abi-dev clang-format clang-tidy lldb \
|
||||||
&& apt-get clean --yes \
|
&& apt-get clean --yes \
|
||||||
&& rm -rf /var/lib/apt/lists/* \
|
&& rm -rf /var/lib/apt/lists/* \
|
||||||
&& update-alternatives --install /usr/bin/cc cc /usr/bin/clang-${CLANG_VERSION} 90 \
|
&& update-alternatives --install /usr/bin/cc cc /usr/bin/clang 90 \
|
||||||
&& update-alternatives --install /usr/bin/c++ c++ /usr/bin/clang++-${CLANG_VERSION} 90 \
|
&& update-alternatives --install /usr/bin/c++ c++ /usr/bin/clang++ 90 \
|
||||||
&& update-alternatives --install /usr/bin/cpp cpp /usr/bin/clang++-${CLANG_VERSION} 90 \
|
&& update-alternatives --install /usr/bin/cpp cpp /usr/bin/clang++ 90 \
|
||||||
&& update-alternatives --install /usr/bin/clang clang /usr/bin/clang-${CLANG_VERSION} 90 \
|
|
||||||
&& update-alternatives --install /usr/bin/clang++ clang++ /usr/bin/clang++-${CLANG_VERSION} 90 \
|
|
||||||
&& cc --version \
|
&& cc --version \
|
||||||
&& c++ --version \
|
&& c++ --version \
|
||||||
&& cpp --version
|
&& cpp --version
|
||||||
|
6
tools/builder/cmake.sh
Executable file
6
tools/builder/cmake.sh
Executable file
@ -0,0 +1,6 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
set -euo pipefail
|
||||||
|
|
||||||
|
source $(dirname "$0")/functions/cmake_fn.sh
|
||||||
|
|
||||||
|
cmake_build $@
|
11
tools/builder/cmake_all.sh
Executable file
11
tools/builder/cmake_all.sh
Executable file
@ -0,0 +1,11 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
set -euo pipefail
|
||||||
|
|
||||||
|
curl https://raw.githubusercontent.com/dockcross/dockcross/master/Makefile -o dockcross-Makefile
|
||||||
|
make -f dockcross-Makefile display_images
|
||||||
|
|
||||||
|
source $(dirname "$0")/functions/cmake_fn.sh
|
||||||
|
|
||||||
|
for image in $(make -f dockcross-Makefile display_images); do
|
||||||
|
cmake_build $image $@
|
||||||
|
done
|
19
tools/builder/functions/cmake_fn.sh
Executable file
19
tools/builder/functions/cmake_fn.sh
Executable file
@ -0,0 +1,19 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
set -euo pipefail
|
||||||
|
|
||||||
|
cmake_build () {
|
||||||
|
local image=$1
|
||||||
|
local build_file=build-${image%:*}
|
||||||
|
shift 1
|
||||||
|
local 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 -H. -GNinja $cmake_arg
|
||||||
|
./dockcross-$image ninja -C$build_file
|
||||||
|
}
|
15
tools/builder/functions/makefile_fn.sh
Executable file
15
tools/builder/functions/makefile_fn.sh
Executable file
@ -0,0 +1,15 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
set -euo pipefail
|
||||||
|
|
||||||
|
makefile_build () {
|
||||||
|
local image=$1
|
||||||
|
shift 1
|
||||||
|
|
||||||
|
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..."
|
||||||
|
./dockcross-$image bash -c 'make CXX=$CXX CC=$CC AR=$AR AS=$AS CPP=$CPP FC=$FC'
|
||||||
|
}
|
6
tools/builder/makefile.sh
Executable file
6
tools/builder/makefile.sh
Executable file
@ -0,0 +1,6 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
set -euo pipefail
|
||||||
|
|
||||||
|
source $(dirname "$0")/functions/makefile_fn.sh
|
||||||
|
|
||||||
|
makefile_build $@
|
11
tools/builder/makefile_all.sh
Executable file
11
tools/builder/makefile_all.sh
Executable file
@ -0,0 +1,11 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
set -euo pipefail
|
||||||
|
|
||||||
|
curl https://raw.githubusercontent.com/dockcross/dockcross/master/Makefile -o dockcross-Makefile
|
||||||
|
make -f dockcross-Makefile display_images
|
||||||
|
|
||||||
|
source $(dirname "$0")/functions/makefile_fn.sh
|
||||||
|
|
||||||
|
for image in $(make -f dockcross-Makefile display_images); do
|
||||||
|
makefile_build $image $@
|
||||||
|
done
|
Reference in New Issue
Block a user