mirror of
https://github.com/bensuperpc/dockcross.git
synced 2024-12-23 00:54:26 +01:00
Merge pull request #506 from bensuperpc/add_clang_image
Add linux-x64-clang
This commit is contained in:
commit
4463ac02fc
2
.github/workflows/main.yml
vendored
2
.github/workflows/main.yml
vendored
@ -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
|
||||||
|
4
Makefile
4
Makefile
@ -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
|
||||||
|
@ -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
|
||||||
|
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 "$@"
|
Loading…
Reference in New Issue
Block a user