Skip to content

Commit

Permalink
Update
Browse files Browse the repository at this point in the history
  • Loading branch information
_ committed Mar 21, 2024
1 parent 4441589 commit c230bc2
Show file tree
Hide file tree
Showing 114 changed files with 1,071 additions and 2,399 deletions.
224 changes: 100 additions & 124 deletions .github/workflows/llvm_clang.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,10 +18,16 @@ jobs:
strategy:
fail-fast: false
container:
image: docker://ghcr.io/shinchiro/archlinux:latest
image: cachyos/cachyos-v3:latest
steps:
- name: Setup git config
run: |
sudo pacman -Syu --noconfirm
sudo pacman -S --noconfirm --needed base-devel git gyp ninja cmake ragel yasm nasm asciidoc enca gperf unzip xz llvm clang lld libc++ libc++abi python-pip curl wget python-cairo mimalloc ccache
mkdir -p /home/opt/7zip
wget -qO - https://www.7-zip.org/a/7z2301-linux-x64.tar.xz | tar -xJf - -C /home/opt/7zip 7zzs
sudo ln -s /home/opt/7zip/7zzs /usr/bin/7z
pip3 install -U --break-system-packages setuptools rst2pdf mako jsonschema meson
git config --global user.name "github-actions"
git config --global user.email "41898282+github-actions[bot]@users.noreply.github.com"
git config --global pull.rebase true
Expand All @@ -33,103 +39,125 @@ jobs:
with:
ref: master

- name: Loading clang root
id: clang_root_cache
uses: actions/cache/restore@main
with:
path: clang_root
key: ${{ secrets.CACHE_VERSION }}-clang_root-${{ github.run_id }}
restore-keys: ${{ secrets.CACHE_VERSION }}-clang_root

- name: Loading x86_64 toolchain
id: x86_64_cache
uses: actions/cache/restore@main
with:
path: build_x86_64
key: ${{ secrets.CACHE_VERSION }}-clang-x86_64_toolchain-${{ github.run_id }}
restore-keys: ${{ secrets.CACHE_VERSION }}-clang-x86_64_toolchain

- name: Loading x86_64_v3 toolchain
id: x86_64_v3_cache
uses: actions/cache/restore@main
with:
path: build_x86_64_v3
key: ${{ secrets.CACHE_VERSION }}-clang-x86_64_v3_toolchain-${{ github.run_id }}
restore-keys: ${{ secrets.CACHE_VERSION }}-clang-x86_64_v3_toolchain

- name: Loading i686 toolchain
id: i686_cache
uses: actions/cache/restore@main
with:
path: build_i686
key: ${{ secrets.CACHE_VERSION }}-clang-i686_toolchain-${{ github.run_id }}
restore-keys: ${{ secrets.CACHE_VERSION }}-clang-i686_toolchain

- name: Loading aarch64 toolchain
id: aarch64_cache
if: false
uses: actions/cache/restore@main
with:
path: build_aarch64
key: ${{ secrets.CACHE_VERSION }}-clang-aarch64_toolchain-${{ github.run_id }}
restore-keys: ${{ secrets.CACHE_VERSION }}-clang-aarch64_toolchain

- name: Loading repository cache
id: repository_cache
if: false
uses: actions/cache/restore@main
with:
path: src_packages
key: ${{ secrets.CACHE_VERSION }}-repository-${{ github.run_id }}
restore-keys: ${{ secrets.CACHE_VERSION }}-repository

- name: Running custom command
if: ${{ github.event.inputs.command != '' }}
continue-on-error: true
run: ${{ github.event.inputs.command }}

- name: Building LLVM
if: ${{ steps.clang_root_cache.outputs.cache-matched-key == '' }}
- name: Building LLVM with ThinLTO and IR Profile Instrumentation
run: |
cmake -DTARGET_ARCH=x86_64-w64-mingw32 -DCOMPILER_TOOLCHAIN=clang -DCMAKE_INSTALL_PREFIX=$PWD/clang_root -DMINGW_INSTALL_PREFIX=$PWD/build_x86_64/x86_64-w64-mingw32 -DSINGLE_SOURCE_LOCATION=$PWD/src_packages -DRUSTUP_LOCATION=$PWD/clang_root/install_rustup -G Ninja -B build_x86_64 -S $PWD
cmake -DTARGET_ARCH=x86_64-w64-mingw32 -DLLVM_ENABLE_LTO=Thin -DLLVM_ENABLE_PGO=GEN -DGCC_ARCH=x86-64-v3 -DCOMPILER_TOOLCHAIN=clang -DCMAKE_INSTALL_PREFIX=$PWD/clang_root -DMINGW_INSTALL_PREFIX=$PWD/build_x86_64/x86_64-w64-mingw32 -DSINGLE_SOURCE_LOCATION=$PWD/src_packages -DRUSTUP_LOCATION=$PWD/clang_root/install_rustup -G Ninja -B build_x86_64 -S $PWD
ninja -C build_x86_64 llvm
ninja -C build_x86_64 rustup
ninja -C build_x86_64 cargo-clean
ninja -C build_x86_64 llvm-fullclean || true
- name: Building x86_64 toolchain
if: ${{ steps.x86_64_cache.outputs.cache-matched-key == '' }}
run: |
cmake -DTARGET_ARCH=x86_64-w64-mingw32 -DCOMPILER_TOOLCHAIN=clang -DCMAKE_INSTALL_PREFIX=$PWD/clang_root -DMINGW_INSTALL_PREFIX=$PWD/build_x86_64/x86_64-w64-mingw32 -DSINGLE_SOURCE_LOCATION=$PWD/src_packages -DRUSTUP_LOCATION=$PWD/clang_root/install_rustup -G Ninja -B build_x86_64 -S $PWD
cmake -DTARGET_ARCH=x86_64-w64-mingw32 -DLLVM_ENABLE_LTO=Thin -DLLVM_ENABLE_PGO=GEN -DGCC_ARCH=x86-64-v3 -DCOMPILER_TOOLCHAIN=clang -DCMAKE_INSTALL_PREFIX=$PWD/clang_root -DMINGW_INSTALL_PREFIX=$PWD/build_x86_64/x86_64-w64-mingw32 -DSINGLE_SOURCE_LOCATION=$PWD/src_packages -DRUSTUP_LOCATION=$PWD/clang_root/install_rustup -G Ninja -B build_x86_64 -S $PWD
ninja -C build_x86_64 llvm-clang
rm -rf build_x86_64/toolchain/{mingw-w64-headers,mingw-w64-crt,winpthreads,llvm-libcxx,llvm-compiler-rt-builtin}-prefix || true
- name: Building aarch64 toolchain
run: |
cmake -DTARGET_ARCH=aarch64-w64-mingw32 -DLLVM_ENABLE_LTO=Thin -DLLVM_ENABLE_PGO=GEN -DGCC_ARCH=armv8.2-a -DCOMPILER_TOOLCHAIN=clang -DCMAKE_INSTALL_PREFIX=$PWD/clang_root -DMINGW_INSTALL_PREFIX=$PWD/build_aarch64/aarch64-w64-mingw32 -DSINGLE_SOURCE_LOCATION=$PWD/src_packages -DRUSTUP_LOCATION=$PWD/clang_root/install_rustup -G Ninja -B build_aarch64 -S $PWD
ninja -C build_aarch64 llvm-clang
rm -rf build_aarch64/toolchain/{mingw-w64-headers,mingw-w64-crt,winpthreads,llvm-libcxx,llvm-compiler-rt-builtin}-prefix || true
- name: Building x86_64-v3 toolchain
if: ${{ steps.x86_64_v3_cache.outputs.cache-matched-key == '' }}
- name: PGO training with shaderc x86_64
run: |
cmake -DTARGET_ARCH=x86_64-w64-mingw32 -DCOMPILER_TOOLCHAIN=clang -DGCC_ARCH=x86-64-v3 -DCMAKE_INSTALL_PREFIX=$PWD/clang_root -DMINGW_INSTALL_PREFIX=$PWD/build_x86_64_v3/x86_64_v3-w64-mingw32 -DSINGLE_SOURCE_LOCATION=$PWD/src_packages -DRUSTUP_LOCATION=$PWD/clang_root/install_rustup -G Ninja -B build_x86_64_v3 -S $PWD
ninja -C build_x86_64_v3 llvm-clang
cmake -DTARGET_ARCH=x86_64-w64-mingw32 -DLLVM_ENABLE_LTO=Thin -DLLVM_ENABLE_PGO=GEN -DCLANG_PACKAGES_LTO=ON -DGCC_ARCH=x86-64-v3 -DCOMPILER_TOOLCHAIN=clang -DCMAKE_INSTALL_PREFIX=$PWD/clang_root -DMINGW_INSTALL_PREFIX=$PWD/build_x86_64/x86_64-w64-mingw32 -DSINGLE_SOURCE_LOCATION=$PWD/src_packages -DRUSTUP_LOCATION=$PWD/clang_root/install_rustup -G Ninja -B build_x86_64 -S $PWD
ninja -C build_x86_64 shaderc
ninja -C build_x86_64 shaderc-fullclean || true
rm -rf $PWD/build_x86_64/x86_64-w64-mingw32/thinlto || true
- name: Building i686 toolchain
if: ${{ steps.i686_cache.outputs.cache-matched-key == '' }}
- name: PGO training with shaderc aarch64
run: |
cmake -DTARGET_ARCH=i686-w64-mingw32 -DCOMPILER_TOOLCHAIN=clang -DCMAKE_INSTALL_PREFIX=$PWD/clang_root -DMINGW_INSTALL_PREFIX=$PWD/build_i686/i686-w64-mingw32 -DSINGLE_SOURCE_LOCATION=$PWD/src_packages -DRUSTUP_LOCATION=$PWD/clang_root/install_rustup -G Ninja -B build_i686 -S $PWD
ninja -C build_i686 llvm-clang
cmake -DTARGET_ARCH=aarch64-w64-mingw32 -DLLVM_ENABLE_LTO=Thin -DLLVM_ENABLE_PGO=GEN -DCLANG_PACKAGES_LTO=ON -DGCC_ARCH=armv8.2-a -DCOMPILER_TOOLCHAIN=clang -DCMAKE_INSTALL_PREFIX=$PWD/clang_root -DMINGW_INSTALL_PREFIX=$PWD/build_aarch64/aarch64-w64-mingw32 -DSINGLE_SOURCE_LOCATION=$PWD/src_packages -DRUSTUP_LOCATION=$PWD/clang_root/install_rustup -G Ninja -B build_aarch64 -S $PWD
ninja -C build_aarch64 shaderc
ninja -C build_aarch64 shaderc-fullclean || true
rm -rf $PWD/build_aarch64/aarch64-w64-mingw32/thinlto || true
- name: Building aarch64 toolchain
if: false
- name: Merging IR profraw to profdata
run: |
llvm-profdata merge $PWD/clang_root/profiles/*.profraw -o llvm-ir.profdata
rm -rf $PWD/clang_root/profiles/* || true
- name: Building LLVM with ThinLTO and CSIR Profile Instrumentation
run: |
cmake -DTARGET_ARCH=x86_64-w64-mingw32 -DLLVM_ENABLE_LTO=Thin -DLLVM_ENABLE_PGO=CSGEN -DLLVM_PROFDATA_FILE=llvm-ir.profdata -DGCC_ARCH=x86-64-v3 -DCOMPILER_TOOLCHAIN=clang -DCMAKE_INSTALL_PREFIX=$PWD/clang_root -DMINGW_INSTALL_PREFIX=$PWD/build_x86_64/x86_64-w64-mingw32 -DSINGLE_SOURCE_LOCATION=$PWD/src_packages -DRUSTUP_LOCATION=$PWD/clang_root/install_rustup -G Ninja -B build_x86_64 -S $PWD
ninja -C build_x86_64 llvm
ninja -C build_x86_64 llvm-fullclean || true
- name: Re-Building x86_64 toolchain
run: |
cmake -DTARGET_ARCH=x86_64-w64-mingw32 -DLLVM_ENABLE_LTO=Thin -DLLVM_ENABLE_PGO=CSGEN -DGCC_ARCH=x86-64-v3 -DCOMPILER_TOOLCHAIN=clang -DCMAKE_INSTALL_PREFIX=$PWD/clang_root -DMINGW_INSTALL_PREFIX=$PWD/build_x86_64/x86_64-w64-mingw32 -DSINGLE_SOURCE_LOCATION=$PWD/src_packages -DRUSTUP_LOCATION=$PWD/clang_root/install_rustup -G Ninja -B build_x86_64 -S $PWD
ninja -C build_x86_64 llvm-clang
rm -rf build_x86_64/toolchain/{mingw-w64-headers,mingw-w64-crt,winpthreads,llvm-libcxx,llvm-compiler-rt-builtin}-prefix || true
- name: Re-Building aarch64 toolchain
run: |
cmake -DTARGET_ARCH=aarch64-w64-mingw32 -DCOMPILER_TOOLCHAIN=clang -DCMAKE_INSTALL_PREFIX=$PWD/clang_root -DMINGW_INSTALL_PREFIX=$PWD/build_aarch64/aarch64-w64-mingw32 -DSINGLE_SOURCE_LOCATION=$PWD/src_packages -DRUSTUP_LOCATION=$PWD/clang_root/install_rustup -G Ninja -B build_aarch64 -S $PWD
cmake -DTARGET_ARCH=aarch64-w64-mingw32 -DLLVM_ENABLE_LTO=Thin -DLLVM_ENABLE_PGO=CSGEN -DGCC_ARCH=armv8.2-a -DCOMPILER_TOOLCHAIN=clang -DCMAKE_INSTALL_PREFIX=$PWD/clang_root -DMINGW_INSTALL_PREFIX=$PWD/build_aarch64/aarch64-w64-mingw32 -DSINGLE_SOURCE_LOCATION=$PWD/src_packages -DRUSTUP_LOCATION=$PWD/clang_root/install_rustup -G Ninja -B build_aarch64 -S $PWD
ninja -C build_aarch64 llvm-clang
rm -rf build_aarch64/toolchain/{mingw-w64-headers,mingw-w64-crt,winpthreads,llvm-libcxx,llvm-compiler-rt-builtin}-prefix || true
- name: CSPGO training with shaderc x86_64
run: |
cmake -DTARGET_ARCH=x86_64-w64-mingw32 -DLLVM_ENABLE_LTO=Thin -DLLVM_ENABLE_PGO=CSGEN -DCLANG_PACKAGES_LTO=ON -DGCC_ARCH=x86-64-v3 -DCOMPILER_TOOLCHAIN=clang -DCMAKE_INSTALL_PREFIX=$PWD/clang_root -DMINGW_INSTALL_PREFIX=$PWD/build_x86_64/x86_64-w64-mingw32 -DSINGLE_SOURCE_LOCATION=$PWD/src_packages -DRUSTUP_LOCATION=$PWD/clang_root/install_rustup -G Ninja -B build_x86_64 -S $PWD
ninja -C build_x86_64 shaderc
ninja -C build_x86_64 shaderc-fullclean || true
rm -rf $PWD/build_x86_64/x86_64-w64-mingw32/thinlto || true
- name: CSPGO training with shaderc aarch64
run: |
cmake -DTARGET_ARCH=aarch64-w64-mingw32 -DLLVM_ENABLE_LTO=Thin -DLLVM_ENABLE_PGO=CSGEN -DCLANG_PACKAGES_LTO=ON -DGCC_ARCH=armv8.2-a -DCOMPILER_TOOLCHAIN=clang -DCMAKE_INSTALL_PREFIX=$PWD/clang_root -DMINGW_INSTALL_PREFIX=$PWD/build_aarch64/aarch64-w64-mingw32 -DSINGLE_SOURCE_LOCATION=$PWD/src_packages -DRUSTUP_LOCATION=$PWD/clang_root/install_rustup -G Ninja -B build_aarch64 -S $PWD
ninja -C build_aarch64 shaderc
ninja -C build_aarch64 shaderc-fullclean || true
rm -rf $PWD/build_aarch64/aarch64-w64-mingw32/thinlto || true
- name: Merging CSIR profraw to profdata
run: |
llvm-profdata merge $PWD/clang_root/profiles/*.profraw llvm-ir.profdata -o llvm-csir.profdata
rm -rf $PWD/clang_root/profiles/* || true
echo "llvm-csir_path=$(echo $PWD/llvm-csir.profdata)" >> $GITHUB_ENV
- name: Building LLVM with ThinLTO and CSPGO
run: |
cmake -DTARGET_ARCH=x86_64-w64-mingw32 -DLLVM_ENABLE_LTO=Thin -DLLVM_ENABLE_PGO=USE -DLLVM_PROFDATA_FILE=llvm-csir.profdata -DGCC_ARCH=x86-64-v3 -DCOMPILER_TOOLCHAIN=clang -DCMAKE_INSTALL_PREFIX=$PWD/clang_root -DMINGW_INSTALL_PREFIX=$PWD/build_x86_64/x86_64-w64-mingw32 -DSINGLE_SOURCE_LOCATION=$PWD/src_packages -DRUSTUP_LOCATION=$PWD/clang_root/install_rustup -G Ninja -B build_x86_64 -S $PWD
ninja -C build_x86_64 llvm
ninja -C build_x86_64 llvm-fullclean || true
echo "llvm_path=$(echo $PWD/clang_root/bin/llvm)" >> $GITHUB_ENV
- name: Upload llvm
uses: ncipollo/release-action@v1
with:
prerelease: false
artifacts: ${{ env.llvm_path }}
replacesArtifacts: true
tag: llvm
name: llvm
allowUpdates: true
token: ${{ secrets.GITHUB_TOKEN }}

- name: Upload llvm profdata
uses: ncipollo/release-action@v1
with:
prerelease: false
artifacts: ${{ env.llvm-csir_path }}
replacesArtifacts: true
tag: llvm-profdata
name: llvm-profdata
allowUpdates: true
token: ${{ secrets.GITHUB_TOKEN }}

- name: Cleanup
run: |
rm -rf {build_i686,build_x86_64,build_x86_64_v3,build_aarch64}/{toolchain,packages} || true
rm -rf {build_x86_64,build_aarch64}/{toolchain,packages} || true
rm -rf $PWD/clang_root/llvm-thinlto || true
- name: Collecting logs
if: always()
run: |
mkdir -p build_x86_64_logs build_i686_logs build_aarch64_logs
mkdir -p build_x86_64_logs build_aarch64_logs
cp -fr $(find build_x86_64 -type f -iname "*-*.log") build_x86_64_logs || true
cp -fr $(find build_i686 -type f -iname "*-*.log") build_i686_logs || true
cp -fr $(find build_aarch64 -type f -iname "*-*.log") build_aarch64_logs || true
7z a -m0=lzma2 -mx=9 -ms=on logs.7z build*logs
Expand All @@ -146,55 +174,3 @@ jobs:
with:
path: clang_root
key: ${{ secrets.CACHE_VERSION }}-clang_root-${{ github.run_id }}

- name: Saving x86_64 toolchain
uses: actions/cache/save@main
with:
path: build_x86_64
key: ${{ secrets.CACHE_VERSION }}-clang-x86_64_toolchain-${{ github.run_id }}

- name: Saving x86_64_v3 toolchain
uses: actions/cache/save@main
with:
path: build_x86_64_v3
key: ${{ secrets.CACHE_VERSION }}-clang-x86_64_v3_toolchain-${{ github.run_id }}

- name: Saving i686 toolchain
uses: actions/cache/save@main
with:
path: build_i686
key: ${{ secrets.CACHE_VERSION }}-clang-i686_toolchain-${{ github.run_id }}

- name: Saving aarch64 toolchain
if: false
uses: actions/cache/save@main
with:
path: build_aarch64
key: ${{ secrets.CACHE_VERSION }}-clang-aarch64_toolchain-${{ github.run_id }}

- name: Saving repository cache
if: false
uses: actions/cache/save@main
with:
path: src_packages
key: ${{ secrets.CACHE_VERSION }}-repository-${{ github.run_id }}

call_workflow:
name: Run mpv_clang
runs-on: ubuntu-latest
needs: build_llvm
env:
GH_TOKEN: ${{ github.token }}
steps:
- name: Run mpv_clang.yml
run: |
curl -u shinchiro:$GH_TOKEN -X POST -H "Accept: application/vnd.github.v3+json" https://api.github.com/repos/shinchiro/mpv-winbuild-cmake/actions/workflows/mpv_clang.yml/dispatches -d @- <<EOF
{
"ref": "master",
"inputs": {
"sourceforge": "false",
"github_release": "false",
"mpv_tarball": "false"
}
}
EOF
35 changes: 32 additions & 3 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ endif()
if(TARGET_CPU STREQUAL "x86_64")
set(TARGET_CPU_FAMILY "x86_64")
set(TARGET_BITS 64)
set(GCC_ARCH "x86-64" CACHE STRING "Target architecture for x86_64")
set(GCC_ARCH "x86-64-v3" CACHE STRING "Target architecture for x86_64")
string(REGEX MATCH "-v3" x86_64_LEVEL ${GCC_ARCH})
elseif(TARGET_CPU STREQUAL "i686")
set(TARGET_CPU_FAMILY "x86")
Expand All @@ -39,6 +39,12 @@ elseif(TARGET_CPU STREQUAL "aarch64")
set(GCC_ARCH "armv8.2-a" CACHE STRING "Target architecture for aarch64")
endif()

if(GCC_ARCH MATCHES "86" OR GCC_ARCH MATCHES "arm")
set(M_TUNE "generic" CACHE STRING "mtune")
else()
set(M_TUNE ${GCC_ARCH} CACHE STRING "mtune")
endif()

processorcount(CPU_COUNT)
if(CPU_COUNT EQUAL 0)
set(CPU_COUNT 1)
Expand Down Expand Up @@ -66,22 +72,45 @@ set(MINGW_INSTALL_PREFIX ${CMAKE_INSTALL_PREFIX}/${TARGET_ARCH} CACHE STRING "Ta
set(SINGLE_SOURCE_LOCATION "" CACHE STRING "Repository or tarball stored path")
set(RUSTUP_LOCATION "${CMAKE_CURRENT_BINARY_DIR}/install_rustup" CACHE STRING "Rust toolchain path")
set(LLVM_ENABLE_LTO "OFF" CACHE STRING "OFF, ON, Thin and Full")
option(CLANG_PACKAGES_LTO "Build each package with ThinLTO." OFF)
set(LLVM_ENABLE_PGO "OFF" CACHE STRING "OFF, GEN, CSGEN, USE")
if(LLVM_ENABLE_PGO STREQUAL "GEN" OR LLVM_ENABLE_PGO STREQUAL "CSGEN")
set(LLVM_PROFILE_DATA_DIR "${CMAKE_INSTALL_PREFIX}/profiles/" CACHE PATH "")
endif()
if(LLVM_ENABLE_PGO STREQUAL "USE" OR LLVM_ENABLE_PGO STREQUAL "CSGEN")
set(LLVM_PROFDATA_FILE "" CACHE FILEPATH "")
if(NOT (EXISTS ${LLVM_PROFDATA_FILE}))
set(LLVM_ENABLE_PGO OFF)
endif()
endif()
option(CLANG_PACKAGES_LTO "Build each package with ThinLTO." ON)
set(CLANG_PACKAGES_PGO "OFF" CACHE STRING "OFF, GEN, USE")
if(CLANG_PACKAGES_PGO STREQUAL "GEN")
set(CLANG_PACKAGES_PROFILE_DATA_DIR "profiles/" CACHE STRING "")
elseif(CLANG_PACKAGES_PGO STREQUAL "USE")
set(CLANG_PACKAGES_PROFDATA_FILE "" CACHE FILEPATH "")
if(NOT (EXISTS ${CLANG_PACKAGES_PROFDATA_FILE}))
set(CLANG_PACKAGES_PGO OFF)
endif()
endif()
option(ENABLE_CCACHE "Enable ccache" OFF)
if(ENABLE_CCACHE)
option(LLVM_ENABLE_CCACHE "Build LLVM with ccache" ON)
find_program(CCACHE_EXISTS ccache NO_CACHE)
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/ccache_conf.in ${MINGW_INSTALL_PREFIX}/ccache/ccache.conf @ONLY)
if(NOT CCACHE_EXISTS)
set(ENABLE_CCACHE OFF)
set(LLVM_ENABLE_CCACHE OFF)
endif()
else()
set(LLVM_ENABLE_CCACHE OFF)
endif()
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/toolchain.cmake.in ${CMAKE_CURRENT_BINARY_DIR}/toolchain.cmake @ONLY)
set(TOOLCHAIN_FILE ${CMAKE_CURRENT_BINARY_DIR}/toolchain.cmake)
set(CLANG_FLAGS "" CACHE STRING "These flags will be added to the end of the clang args")
set(LLD_FLAGS "" CACHE STRING "These flags will be added to the end of the lld args")
set(GCC_FLAGS "" CACHE STRING "These flags will be added to the end of the gcc args")
set(BFD_FLAGS "" CACHE STRING "These flags will be added to the end of the bfd args")
set(COMPILER_TOOLCHAIN "gcc" CACHE STRING "gcc or clang")
set(COMPILER_TOOLCHAIN "clang" CACHE STRING "gcc or clang")
if(COMPILER_TOOLCHAIN STREQUAL "gcc")
if(TARGET_ARCH STREQUAL "aarch64-w64-mingw32")
message(FATAL_ERROR "The target architecture is unavailable for this toolchain.")
Expand Down
Loading

0 comments on commit c230bc2

Please sign in to comment.