1
0
mirror of https://github.com/janet-lang/janet synced 2025-10-28 14:17:42 +00:00

Compare commits

...

6 Commits

Author SHA1 Message Date
Calvin Rose
315a832278 Include atomics unconditionally. 2024-10-10 20:31:13 -05:00
Calvin Rose
ae4c266c3c Test amalg. 2024-10-10 19:42:21 -05:00
Calvin Rose
7dc2c9bc88 Try older windows for mingw 2024-10-10 18:49:04 -05:00
Calvin Rose
f1210a6b81 Revert removing CC=gcc 2024-10-10 08:42:29 -05:00
Calvin Rose
1331161086 Check if we don't need to use gcc directly. 2024-10-10 08:34:49 -05:00
Calvin Rose
7025d251a6 Try more mingw variants. 2024-10-10 08:23:15 -05:00
2 changed files with 28 additions and 19 deletions

View File

@@ -14,11 +14,11 @@ jobs:
matrix:
os: [ ubuntu-latest, macos-latest, macos-13 ]
steps:
- name: Checkout the repository
- name: Checkout
uses: actions/checkout@master
- name: Compile the project
- name: Build
run: make clean && make
- name: Test the project
- name: Test
run: make test
test-windows:
@@ -32,40 +32,46 @@ jobs:
uses: actions/checkout@master
- name: Setup MSVC
uses: ilammy/msvc-dev-cmd@v1
- name: Build the project
- name: Build
shell: cmd
run: build_win
- name: Test the project
- name: Test
shell: cmd
run: build_win test
test-mingw:
name: Build on Windows with Mingw (no test yet)
runs-on: windows-latest
name: Build on Windows with Mingw
runs-on: windows-2019
defaults:
run:
shell: msys2 {0}
strategy:
matrix:
msystem: [ UCRT64, MINGW64, MINGW32, CLANG64 ]
steps:
- name: Checkout the repository
- name: Checkout
uses: actions/checkout@master
- name: Setup Mingw
uses: msys2/setup-msys2@v2
with:
msystem: UCRT64
msystem: ${{ matrix.msystem }}
update: true
install: >-
base-devel
git
gcc
- name: Build the project
- name: Build
shell: cmd
run: make -j4 CC=gcc JANET_NO_AMALG=1
run: make -j4 CC=gcc
- name: Test
shell: cmd
run: make test -j4 CC=gcc
test-mingw-linux:
name: Build and test with Mingw on Linux + Wine
runs-on: ubuntu-latest
steps:
- name: Checkout the repository
- name: Checkout
uses: actions/checkout@master
- name: Setup Mingw and wine
run: |
@@ -73,24 +79,24 @@ jobs:
sudo apt-get update
sudo apt-get install libstdc++6:i386 libgcc-s1:i386
sudo apt-get install gcc-mingw-w64-x86-64-win32 wine wine32 wine64
- name: Compile the project
- name: Build
run: make clean && make CC=x86_64-w64-mingw32-gcc LD=x86_64-w64-mingw32-gcc UNAME=MINGW RUN=wine
- name: Test the project
- name: Test
run: make test UNAME=MINGW RUN=wine VERBOSE=1
test-arm-linux:
name: Build and test ARM32 cross compilation
runs-on: ubuntu-latest
steps:
- name: Checkout the repository
- name: Checkout
uses: actions/checkout@master
- name: Setup qemu and cross compiler
run: |
sudo apt-get update
sudo apt-get install gcc-arm-linux-gnueabi qemu-user
- name: Compile the project
- name: Build
run: make RUN="qemu-arm -L /usr/arm-linux-gnueabi/" CC=arm-linux-gnueabi-gcc LD=arm-linux-gnueabi-gcc
- name: Test the project
- name: Test
run: make RUN="qemu-arm -L /usr/arm-linux-gnueabi/" SUBRUN="qemu-arm -L /usr/arm-linux-gnueabi/" test VERBOSE=1
test-s390x-linux:

View File

@@ -31,11 +31,14 @@
#ifndef JANET_SINGLE_THREADED
#ifndef JANET_WINDOWS
#include <pthread.h>
#else
#include <windows.h>
#endif
#endif
/* Even if single threaded, include this for atomics! */
#ifdef JANET_WINDOWS
#include <windows.h>
#endif
#ifdef JANET_USE_STDATOMIC
#include <stdatomic.h>
/* We don't need stdatomic on most compilers since we use compiler builtins for atomic operations.