Skip to content

Commit 3248914

Browse files
committed
Add linux arm64 support
1 parent 266921f commit 3248914

4 files changed

Lines changed: 34 additions & 61 deletions

File tree

.github/workflows/build.yml

Lines changed: 19 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ on:
66
'.github/workflows/dist.yml'
77

88
jobs:
9-
win64:
9+
win-x64:
1010
runs-on: windows-latest
1111
steps:
1212
- uses: actions/checkout@v6
@@ -19,9 +19,9 @@ jobs:
1919
uses: actions/upload-artifact@v6
2020
with:
2121
path: ./build/src/Release/axslcc.exe
22-
name: axslcc-win64
23-
linux:
24-
runs-on: debian-11 # self-hosted on org simdsoft, @halx99 personal machine
22+
name: axslcc-win-x64
23+
linux-x64:
24+
runs-on: ubuntu-22.04
2525
steps:
2626
- uses: actions/checkout@v6
2727
- name: build
@@ -33,7 +33,21 @@ jobs:
3333
uses: actions/upload-artifact@v6
3434
with:
3535
path: ./build/src/axslcc
36-
name: axslcc-linux
36+
name: axslcc-linux-x64
37+
linux-arm64:
38+
runs-on: ubuntu-22.04-arm
39+
steps:
40+
- uses: actions/checkout@v6
41+
- name: build
42+
shell: pwsh
43+
run: |
44+
cmake -B build -DCMAKE_BUILD_TYPE=Release
45+
cmake --build build --config Release --target axslcc
46+
- name: Upload
47+
uses: actions/upload-artifact@v6
48+
with:
49+
path: ./build/src/axslcc
50+
name: axslcc-linux-arm64
3751
osx-arm64:
3852
runs-on: macos-latest
3953
steps:

.github/workflows/dist.yml

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -57,23 +57,27 @@ jobs:
5757
- name: Create packages
5858
if: ${{ steps.check_ver.outputs.release_ver != '' }}
5959
run: |
60-
curl -L https://github.com/simdsoft/1kiss/releases/download/devtools/d3dcompiler_47.dll -o ./axslcc-win64/d3dcompiler_47.dll
61-
ls -l ./axslcc-win64
60+
curl -L https://github.com/simdsoft/1kiss/releases/download/devtools/d3dcompiler_47.dll -o ./axslcc-win-x64/d3dcompiler_47.dll
61+
ls -l ./axslcc-win-x64
6262
mkdir -p pkg_dir
6363
prefix=axslcc-${{ steps.check_ver.outputs.release_ver }}
64-
ls -l axslcc-linux
64+
ls -l axslcc-linux-x64
65+
ls -l axslcc-linux-arm64
6566
ls -l axslcc-osx-x64
6667
ls -l axslcc-osx-arm64
67-
sudo chmod u+x ./axslcc-linux/axslcc
68+
sudo chmod u+x ./axslcc-linux-x64/axslcc
69+
sudo chmod u+x ./axslcc-linux-arm64/axslcc
6870
sudo chmod u+x ./axslcc-osx-x64/axslcc
6971
sudo chmod u+x ./axslcc-osx-arm64/axslcc
70-
ls -l axslcc-linux
72+
ls -l axslcc-linux-x64
73+
ls -l axslcc-linux-arm64
7174
ls -l axslcc-osx-x64
7275
ls -l axslcc-osx-arm64
73-
tar -czvf ./pkg_dir/$prefix-linux.tar.gz -C ./axslcc-linux axslcc
76+
tar -czvf ./pkg_dir/$prefix-linux-x64.tar.gz -C ./axslcc-linux-x64 axslcc
77+
tar -czvf ./pkg_dir/$prefix-linux-arm64.tar.gz -C ./axslcc-linux-arm64 axslcc
7478
tar -czvf ./pkg_dir/$prefix-osx-x64.tar.gz -C ./axslcc-osx-x64 axslcc
7579
tar -czvf ./pkg_dir/$prefix-osx-arm64.tar.gz -C ./axslcc-osx-arm64 axslcc
76-
sh -c "cd ./axslcc-win64; zip ../pkg_dir/$prefix-win64.zip axslcc.exe d3dcompiler_47.dll"
80+
sh -c "cd ./axslcc-win-x64; zip ../pkg_dir/$prefix-win-x64.zip axslcc.exe d3dcompiler_47.dll"
7781
- name: Publish to github release page
7882
if: ${{ steps.check_ver.outputs.release_ver != '' }}
7983
uses: softprops/action-gh-release@v2

3rdparty/sx/CMakeLists.txt

Lines changed: 0 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -99,55 +99,6 @@ if (EMSCRIPTEN)
9999
list(REMOVE_ITEM SOURCE_FILES include/sx/fiber.h)
100100
endif()
101101

102-
####################################################################################################
103-
# Assembly files for fcontext
104-
if (APPLE)
105-
# Apple comboned, include based on arch
106-
set(CPU_ARCH "combined")
107-
set(ASM_EXT "all_macho_gas.S")
108-
elseif (ANDROID)
109-
# Android (Arm/x86_64/Arm64)
110-
if (${CMAKE_SYSTEM_PROCESSOR} MATCHES "arm")
111-
set(CPU_ARCH "arm")
112-
set(ASM_EXT "aapcs_elf_gas.S")
113-
elseif (${CMAKE_SYSTEM_PROCESSOR} MATCHES "aarch64")
114-
set(CPU_ARCH "arm64")
115-
set(ASM_EXT "aapcs_elf_gas.S")
116-
elseif (${CMAKE_SYSTEM_PROCESSOR} MATCHES "i686")
117-
set(CPU_ARCH "i386")
118-
set(ASM_EXT "sysv_elf_gas.S")
119-
elseif (${CMAKE_SYSTEM_PROCESSOR} MATCHES "x86_64")
120-
set(CPU_ARCH "x86_64")
121-
set(ASM_EXT "sysv_elf_gas.S")
122-
endif()
123-
elseif (UNIX)
124-
# Unix systems (x86/x64)
125-
if (CMAKE_SIZEOF_VOID_P EQUAL 8)
126-
set(CPU_ARCH "x86_64")
127-
else()
128-
set(CPU_ARCH "i386")
129-
endif()
130-
set(ASM_EXT "sysv_elf_gas.S")
131-
elseif (WIN32)
132-
# Windows (x86/64)
133-
if (CMAKE_SIZEOF_VOID_P EQUAL 8)
134-
set(CPU_ARCH "x86_64")
135-
else()
136-
set(CPU_ARCH "i386")
137-
endif()
138-
set(ASM_EXT "ms_pe_masm.asm")
139-
endif()
140-
141-
set(ASM_SOURCES "asm/make_${CPU_ARCH}_${ASM_EXT}"
142-
"asm/jump_${CPU_ARCH}_${ASM_EXT}"
143-
"asm/ontop_${CPU_ARCH}_${ASM_EXT}")
144-
set_source_files_properties(${ASM_SOURCES} PROPERTIES COMPILE_DEFINITIONS BOOST_CONTEXT_EXPORT=)
145-
146-
if (EMSCRIPTEN)
147-
unset(ASM_SOURCES)
148-
endif()
149-
####################################################################################################
150-
151102
add_definitions(-D__STDC_LIMIT_MACROS)
152103
add_definitions(-D__STDC_FORMAT_MACROS)
153104
add_definitions(-D__STDC_CONSTANT_MACROS)

README.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,10 @@ It uses [glslang](https://github.com/KhronosGroup/glslang) for parsing GLSL and
99

1010
## ChangeLog
1111

12+
### 3.5.0
13+
14+
- Add support for running on linux-arm64
15+
1216
### 3.4.0
1317

1418
- Add support for compiling to multi shader targets with option `--cross-args`

0 commit comments

Comments
 (0)