mirror of
https://github.com/Lorenzooone/cc3dsfs.git
synced 2026-03-21 17:55:00 -05:00
Add riscv64 builder and pre-cache android builder
Some checks are pending
CD / ${{ matrix.platform.name }} ${{ matrix.config.name }} (map[flags:-DBUILD_SHARED_LIBS=FALSE name:Static], map[artifact_name:linux32 flags:32 name:Linux GCC 32 os:ubuntu-latest]) (push) Waiting to run
CD / ${{ matrix.platform.name }} ${{ matrix.config.name }} (map[flags:-DBUILD_SHARED_LIBS=FALSE name:Static], map[artifact_name:linux64 flags:64 name:Linux GCC x64 os:ubuntu-latest]) (push) Waiting to run
CD / ${{ matrix.platform.name }} ${{ matrix.config.name }} (map[flags:-DBUILD_SHARED_LIBS=FALSE name:Static], map[artifact_name:linuxarm32 flags:arm32 name:Linux GCC ARM 32 os:ubuntu-latest]) (push) Waiting to run
CD / ${{ matrix.platform.name }} ${{ matrix.config.name }} (map[flags:-DBUILD_SHARED_LIBS=FALSE name:Static], map[artifact_name:linuxarm64 flags:arm64 name:Linux GCC ARM 64 os:ubuntu-latest]) (push) Waiting to run
CD / ${{ matrix.platform.name }} ${{ matrix.config.name }} (map[flags:-DBUILD_SHARED_LIBS=FALSE name:Static], map[artifact_name:macos name:macOS Apple Silicon os:macos-14]) (push) Waiting to run
CD / ${{ matrix.platform.name }} ${{ matrix.config.name }} (map[flags:-DBUILD_SHARED_LIBS=FALSE name:Static], map[artifact_name:win32 flags:-A Win32 -DCMAKE_PARALLEL_MSVC=TRUE name:Windows VS2022 Win32 os:windows-2022]) (push) Waiting to run
CD / ${{ matrix.platform.name }} ${{ matrix.config.name }} (map[flags:-DBUILD_SHARED_LIBS=FALSE name:Static], map[artifact_name:win64 flags:-A x64 -DCMAKE_PARALLEL_MSVC=TRUE name:Windows VS2022 x64 os:windows-2022]) (push) Waiting to run
CD / ${{ matrix.platform.name }} ${{ matrix.config.name }} (map[flags:-DBUILD_SHARED_LIBS=FALSE name:Static], map[artifact_name:winarm64 flags:-A ARM64 -DCMAKE_PARALLEL_MSVC=TRUE name:Windows VS2022 ARM os:windows-2022]) (push) Waiting to run
CD / Create Pi Mono Setup (push) Blocked by required conditions
CD / Publishing (push) Blocked by required conditions
Some checks are pending
CD / ${{ matrix.platform.name }} ${{ matrix.config.name }} (map[flags:-DBUILD_SHARED_LIBS=FALSE name:Static], map[artifact_name:linux32 flags:32 name:Linux GCC 32 os:ubuntu-latest]) (push) Waiting to run
CD / ${{ matrix.platform.name }} ${{ matrix.config.name }} (map[flags:-DBUILD_SHARED_LIBS=FALSE name:Static], map[artifact_name:linux64 flags:64 name:Linux GCC x64 os:ubuntu-latest]) (push) Waiting to run
CD / ${{ matrix.platform.name }} ${{ matrix.config.name }} (map[flags:-DBUILD_SHARED_LIBS=FALSE name:Static], map[artifact_name:linuxarm32 flags:arm32 name:Linux GCC ARM 32 os:ubuntu-latest]) (push) Waiting to run
CD / ${{ matrix.platform.name }} ${{ matrix.config.name }} (map[flags:-DBUILD_SHARED_LIBS=FALSE name:Static], map[artifact_name:linuxarm64 flags:arm64 name:Linux GCC ARM 64 os:ubuntu-latest]) (push) Waiting to run
CD / ${{ matrix.platform.name }} ${{ matrix.config.name }} (map[flags:-DBUILD_SHARED_LIBS=FALSE name:Static], map[artifact_name:macos name:macOS Apple Silicon os:macos-14]) (push) Waiting to run
CD / ${{ matrix.platform.name }} ${{ matrix.config.name }} (map[flags:-DBUILD_SHARED_LIBS=FALSE name:Static], map[artifact_name:win32 flags:-A Win32 -DCMAKE_PARALLEL_MSVC=TRUE name:Windows VS2022 Win32 os:windows-2022]) (push) Waiting to run
CD / ${{ matrix.platform.name }} ${{ matrix.config.name }} (map[flags:-DBUILD_SHARED_LIBS=FALSE name:Static], map[artifact_name:win64 flags:-A x64 -DCMAKE_PARALLEL_MSVC=TRUE name:Windows VS2022 x64 os:windows-2022]) (push) Waiting to run
CD / ${{ matrix.platform.name }} ${{ matrix.config.name }} (map[flags:-DBUILD_SHARED_LIBS=FALSE name:Static], map[artifact_name:winarm64 flags:-A ARM64 -DCMAKE_PARALLEL_MSVC=TRUE name:Windows VS2022 ARM os:windows-2022]) (push) Waiting to run
CD / Create Pi Mono Setup (push) Blocked by required conditions
CD / Publishing (push) Blocked by required conditions
This commit is contained in:
parent
e59bdd54b9
commit
d7a00209fe
|
|
@ -76,7 +76,7 @@ cmake -B build -DCMAKE_BUILD_TYPE=Release -DRASPBERRY_PI_COMPILATION=TRUE ; cmak
|
|||
### Docker Compilation
|
||||
|
||||
Alternatively, one may use Docker to compile the Linux version for its different architectures by running: `docker run --rm -it -v ${PWD}:/home/builder/cc3dsfs lorenzooone/cc3dsfs:<builder>`
|
||||
The following builders are available: builder32, builder64, builderarm32, builderarm64 and builderandroid (in beta).
|
||||
The following builders are available: builder32, builder64, builderarm32, builderarm64, builderriscv64 and builderandroid (in beta).
|
||||
|
||||
## Controls
|
||||
|
||||
|
|
|
|||
|
|
@ -86,10 +86,22 @@ USER builder
|
|||
CMD /docker_build_starter docker-scripts/docker_build_arm64
|
||||
|
||||
################################################################################
|
||||
### Build Android ###
|
||||
### Build riscv 64 ###
|
||||
################################################################################
|
||||
FROM base_builder as builderriscv64
|
||||
COPY linux_install_packages.sh /
|
||||
RUN chmod +x /linux_install_packages.sh ; /linux_install_packages.sh riscv64
|
||||
WORKDIR /home/builder/building
|
||||
COPY docker_build_starter /
|
||||
RUN chmod +x /docker_build_starter
|
||||
USER builder
|
||||
CMD /docker_build_starter docker-scripts/docker_build_riscv64
|
||||
|
||||
################################################################################
|
||||
### Build Android without caching ###
|
||||
################################################################################
|
||||
# Different from all others
|
||||
FROM saschpe/android-ndk:31-jdk11.0.13_8-ndk23.0.7599858-cmake3.18.1 as builderandroid
|
||||
FROM saschpe/android-ndk:31-jdk11.0.13_8-ndk23.0.7599858-cmake3.18.1 as builderandroid_nocache
|
||||
ARG CMAKE_VERSION_SDKMANAGER_ANDROID
|
||||
RUN apt update && apt install -y lsb-release g++ build-essential wget git libssl-dev pkg-config zip unzip
|
||||
RUN curl -s "https://get.sdkman.io" | bash
|
||||
|
|
@ -118,3 +130,14 @@ COPY --from=cmake_builder_focal cmake.tar.gz /cmake.tar.gz
|
|||
RUN mkdir -p /cmake_folder && cd /cmake_folder && tar -xvf /cmake.tar.gz --strip-components=1 && cp -rf * /usr/local/
|
||||
USER builder
|
||||
CMD /docker_build_starter docker-scripts/docker_build_android
|
||||
|
||||
################################################################################
|
||||
### Build Android with caching ###
|
||||
################################################################################
|
||||
# Different from all others
|
||||
FROM builderandroid_nocache as builderandroid
|
||||
RUN git clone https://github.com/Lorenzooone/cc3dsfs.git
|
||||
RUN mv cc3dsfs ../cc3dsfs_to_cache
|
||||
RUN cd ../cc3dsfs_to_cache ; chmod -R +x . ; ./docker-scripts/docker_build_android
|
||||
RUN rm -rf ../cc3dsfs_to_cache
|
||||
CMD /docker_build_starter docker-scripts/docker_build_android
|
||||
|
|
|
|||
|
|
@ -7,5 +7,7 @@ docker image rm lorenzooone/cc3dsfs:builderarm32
|
|||
docker build --target builderarm32 . -t lorenzooone/cc3dsfs:builderarm32
|
||||
docker image rm lorenzooone/cc3dsfs:builderarm64
|
||||
docker build --target builderarm64 . -t lorenzooone/cc3dsfs:builderarm64
|
||||
docker image rm lorenzooone/cc3dsfs:builderriscv64
|
||||
docker build --target builderriscv64 . -t lorenzooone/cc3dsfs:builderriscv64
|
||||
docker image rm lorenzooone/cc3dsfs:builderandroid
|
||||
docker build --target builderandroid . -t lorenzooone/cc3dsfs:builderandroid
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
BASE_AMD_STR="deb [arch=amd64,i386] http://archive.ubuntu.com/ubuntu/ "
|
||||
BASE_SECURITY_AMD_STR="deb [arch=amd64,i386] http://security.ubuntu.com/ubuntu/ "
|
||||
BASE_ARM_STR="deb [arch=arm64,armhf] http://ports.ubuntu.com/ "
|
||||
BASE_ARM_STR="deb [arch=arm64,armhf,riscv64] http://ports.ubuntu.com/ "
|
||||
NO_SPECIAL_STR=" main multiverse universe"
|
||||
SECURITY_STR="-security main multiverse universe"
|
||||
BACKPORTS_STR="-backports main multiverse universe"
|
||||
|
|
@ -12,9 +12,9 @@ LOCATION_BASE="/etc/apt/sources.list.d"
|
|||
LOCATION_AMD="${LOCATION_BASE}/x86_compilers.list"
|
||||
LOCATION_ARM="${LOCATION_BASE}/arm_compilers.list"
|
||||
|
||||
LIST_ARCHITECTURES=("amd64" "i386" "arm64" "armhf")
|
||||
LIST_ARCHITECTURES=("amd64" "i386" "arm64" "armhf" "riscv64")
|
||||
LIST_PACKAGES_BASE=("libxinerama-dev" "libxi-dev" "libxss-dev" "libxxf86vm-dev" "libxkbfile-dev" "libxv-dev" "libx11-dev" "libxrandr-dev" "libxcursor-dev" "libudev-dev" "libflac-dev" "libvorbis-dev" "libgl1-mesa-dev" "libegl1-mesa-dev" "libdrm-dev" "libgbm-dev" "libfreetype-dev" "libharfbuzz-dev")
|
||||
LIST_PACKAGES_NORMAL=("g++-multilib-i686-linux-gnu" "g++-aarch64-linux-gnu" "g++-arm-linux-gnueabihf" "g++:amd64" "g++" "git" "xorg-dev")
|
||||
LIST_PACKAGES_NORMAL=("g++-riscv64-linux-gnu" "g++-multilib-i686-linux-gnu" "g++-aarch64-linux-gnu" "g++-arm-linux-gnueabihf" "g++:amd64" "g++" "git" "xorg-dev")
|
||||
LIST_PACKAGES_SPECIAL=("libgpiod-dev")
|
||||
|
||||
echo "${BASE_AMD_STR}$(lsb_release -sc)${NO_SPECIAL_STR}" > ${LOCATION_AMD}
|
||||
|
|
|
|||
|
|
@ -3,7 +3,9 @@
|
|||
SFML_EXTRACTED_TO_FOLDER=~
|
||||
LIBUSB_EXTRACTED_TO_FOLDER=~
|
||||
SFML_BRANCH_NAME=master
|
||||
SFML_AUTHOR=SFML
|
||||
LIBUSB_BRANCH_NAME=android-rebase-2022-07
|
||||
LIBUSB_AUTHOR=jagheterfredrik
|
||||
SFML_EXTRACTED_FOLDER=${SFML_EXTRACTED_TO_FOLDER}/SFML-${SFML_BRANCH_NAME}
|
||||
LIBUSB_EXTRACTED_FOLDER=${LIBUSB_EXTRACTED_TO_FOLDER}/libusb-${LIBUSB_BRANCH_NAME}
|
||||
BUILD_APK_COMMAND=docker-scripts/docker_build_android_apk
|
||||
|
|
@ -16,8 +18,8 @@ ANDROID_FOLDER=android
|
|||
|
||||
export LANG=C.UTF-8
|
||||
|
||||
(cd ${SFML_EXTRACTED_TO_FOLDER} ; rm -f ${SFML_BRANCH_NAME}.zip ; wget https://github.com/SFML/SFML/archive/refs/heads/${SFML_BRANCH_NAME}.zip ; unzip ${SFML_BRANCH_NAME}.zip)
|
||||
(cd ${LIBUSB_EXTRACTED_TO_FOLDER} ; rm -f ${LIBUSB_BRANCH_NAME}.zip ; wget https://github.com/jagheterfredrik/libusb/archive/refs/heads/${LIBUSB_BRANCH_NAME}.zip ; unzip ${LIBUSB_BRANCH_NAME}.zip)
|
||||
(cd ${SFML_EXTRACTED_TO_FOLDER} ; rm -f ${SFML_BRANCH_NAME}.zip ; rm -rf ${SFML_EXTRACTED_FOLDER} ; wget https://github.com/${SFML_AUTHOR}/SFML/archive/refs/heads/${SFML_BRANCH_NAME}.zip ; unzip ${SFML_BRANCH_NAME}.zip)
|
||||
(cd ${LIBUSB_EXTRACTED_TO_FOLDER} ; rm -f ${LIBUSB_BRANCH_NAME}.zip ; rm -rf ${LIBUSB_EXTRACTED_FOLDER} ; wget https://github.com/${LIBUSB_AUTHOR}/libusb/archive/refs/heads/${LIBUSB_BRANCH_NAME}.zip ; unzip ${LIBUSB_BRANCH_NAME}.zip)
|
||||
|
||||
${BUILD_LIBS_COMMAND} ${LIBUSB_EXTRACTED_FOLDER} ${SFML_EXTRACTED_FOLDER} ${STL_CHOSEN} ${RELEASE_TYPE}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,8 @@
|
|||
#!/bin/sh
|
||||
|
||||
|
||||
LIST_ARCHITECTURES='armeabi-v7a arm64-v8a x86 x86_64'
|
||||
|
||||
LIBUSB_FOLDER=$1
|
||||
SFML_FOLDER=$2
|
||||
STL_CHOSEN=$3
|
||||
|
|
@ -10,15 +13,15 @@ BUILD_SINGLE_ARCH_SFML_COMMAND=docker-scripts/docker_build_android_sfml_single_a
|
|||
|
||||
(cd ${LIBUSB_FOLDER}/android/jni ; ndk-build APP_PLATFORM=${ANDROID_SDK_VERSION} -j ; mkdir -p ${ANDROID_NDK_HOME}/sources/third_party/libusb/include ; cp -r ../libs/ ${ANDROID_NDK_HOME}/sources/third_party/libusb ; cp -r ../../libusb ${ANDROID_NDK_HOME}/sources/third_party/libusb/include)
|
||||
|
||||
${CONFIGURE_SINGLE_ARCH_SFML_COMMAND} ${SFML_FOLDER} armeabi-v7a ${STL_CHOSEN} ${RELEASE_TYPE} &
|
||||
${CONFIGURE_SINGLE_ARCH_SFML_COMMAND} ${SFML_FOLDER} arm64-v8a ${STL_CHOSEN} ${RELEASE_TYPE} &
|
||||
${CONFIGURE_SINGLE_ARCH_SFML_COMMAND} ${SFML_FOLDER} x86 ${STL_CHOSEN} ${RELEASE_TYPE} &
|
||||
${CONFIGURE_SINGLE_ARCH_SFML_COMMAND} ${SFML_FOLDER} x86_64 ${STL_CHOSEN} ${RELEASE_TYPE}
|
||||
for target_arch in ${LIST_ARCHITECTURES};
|
||||
do
|
||||
${CONFIGURE_SINGLE_ARCH_SFML_COMMAND} ${SFML_FOLDER} ${target_arch} ${STL_CHOSEN} ${RELEASE_TYPE} &
|
||||
done
|
||||
|
||||
wait $(jobs -p)
|
||||
echo "All libraries configured..."
|
||||
|
||||
${BUILD_SINGLE_ARCH_SFML_COMMAND} ${SFML_FOLDER} armeabi-v7a
|
||||
${BUILD_SINGLE_ARCH_SFML_COMMAND} ${SFML_FOLDER} arm64-v8a
|
||||
${BUILD_SINGLE_ARCH_SFML_COMMAND} ${SFML_FOLDER} x86
|
||||
${BUILD_SINGLE_ARCH_SFML_COMMAND} ${SFML_FOLDER} x86_64
|
||||
for target_arch in ${LIST_ARCHITECTURES};
|
||||
do
|
||||
${BUILD_SINGLE_ARCH_SFML_COMMAND} ${SFML_FOLDER} ${target_arch}
|
||||
done
|
||||
|
|
|
|||
3
docker-scripts/docker_build_riscv64
Normal file
3
docker-scripts/docker_build_riscv64
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
#!/bin/sh
|
||||
|
||||
docker-scripts/docker_build_base buildriscv64 "-DCMAKE_TOOLCHAIN_FILE=toolchains/linux_riscv64.cmake"
|
||||
17
toolchains/linux_riscv64.cmake
Normal file
17
toolchains/linux_riscv64.cmake
Normal file
|
|
@ -0,0 +1,17 @@
|
|||
# the name of the target operating system
|
||||
SET(CMAKE_SYSTEM_NAME Linux)
|
||||
set(CMAKE_SYSTEM_PROCESSOR riscv64)
|
||||
|
||||
# which C and C++ compiler to use
|
||||
set(CMAKE_C_COMPILER "/usr/bin/riscv64-linux-gnu-gcc")
|
||||
set(CMAKE_CXX_COMPILER "/usr/bin/riscv64-linux-gnu-g++")
|
||||
|
||||
# here is the target environment located
|
||||
SET(CMAKE_FIND_ROOT_PATH /usr/lib/riscv64-linux-gnu)
|
||||
|
||||
# adjust the default behaviour of the FIND_XXX() commands:
|
||||
# search headers and libraries in the target environment, search
|
||||
# programs in the host environment
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH)
|
||||
Loading…
Reference in New Issue
Block a user