Skip to content

Commit 43d9850

Browse files
authored
Merge pull request #63 from cmsc430/nasm-change
Abandon nasm in favor of clang as assembler
2 parents fcf2339 + b50eed0 commit 43d9850

20 files changed

Lines changed: 117 additions & 102 deletions

File tree

.github/workflows/macos.yml

Lines changed: 13 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,38 +1,26 @@
1-
name: Build and test macOS x86_64
2-
on:
3-
push:
4-
workflow_dispatch:
1+
name: macOS
2+
on: [push, workflow_dispatch]
53

64
concurrency:
7-
group: mac-ci-${{ github.ref }}
5+
group: macos-ci-${{ github.ref }}
86
cancel-in-progress: true
97

108
jobs:
119
build-and-test:
1210
strategy:
13-
fail-fast: false
11+
fail-fast: true
1412
matrix:
15-
os: [macos-13, macos-14]
13+
os: [macos-14, macos-15, macos-15-intel, macos-26]
1614
racket-variant: ['CS']
17-
racket-version: ['8.18']
18-
include:
19-
- os: macos-13
20-
arch: x64
21-
- os: macos-14
22-
arch: arm64
15+
racket-version: ['stable']
2316
runs-on: ${{ matrix.os }}
24-
name: Test on ${{ matrix.os }} (${{ matrix.arch }}) Racket ${{ matrix.racket-variant }} ${{ matrix.racket-version }}
17+
name: OS ${{ matrix.os }} / Racket ${{ matrix.racket-version }}
2518

2619
steps:
27-
20+
2821
- name: Checkout
2922
uses: actions/checkout@v4
3023

31-
- name: Install nasm
32-
run: |
33-
HOMEBREW_NO_AUTO_UPDATE=1 brew tap cmsc430/tap
34-
HOMEBREW_NO_AUTO_UPDATE=1 brew install nasm430
35-
3624
- name: Install Racket
3725
uses: Bogdanp/setup-racket@v1.14
3826
with:
@@ -53,11 +41,13 @@ jobs:
5341
run: |
5442
uname -a
5543
uname -m
56-
nasm --version
44+
clang --version
5745
gcc --version
5846
5947
- name: Install langs package
60-
run: raco pkg install --auto ../langs/
48+
run: |
49+
raco pkg install --auto ../langs/
6150
6251
- name: Run tests
63-
run: raco test -p langs
52+
run: |
53+
raco test -p langs
Original file line numberDiff line numberDiff line change
@@ -1,34 +1,55 @@
1-
on:
2-
- push
1+
name: Ubuntu
2+
on: [push, workflow_dispatch]
3+
4+
concurrency:
5+
group: ubuntu-ci-${{ github.ref }}
6+
cancel-in-progress: true
37

48
jobs:
59
build-and-test:
6-
runs-on: ${{ matrix.os }}
710
strategy:
11+
fail-fast: true
812
matrix:
913
os: [ubuntu-22.04, ubuntu-24.04]
1014
racket-variant: ['CS']
11-
racket-version: ['8.6', '8.8', '8.10', '8.14', '8.18']
12-
name: Test on Racket ${{ matrix.racket-variant }} ${{ matrix.racket-version }} on ${{ matrix.os }}
15+
racket-version: ['8.6', '8.10', '8.14', '8.18', 'stable', 'current']
16+
runs-on: ${{ matrix.os }}
17+
name: OS ${{ matrix.os }} / Racket ${{ matrix.racket-version }}
18+
1319
steps:
20+
1421
- name: Checkout
1522
uses: actions/checkout@main
16-
- name: Install nasm
17-
run: sudo apt-get install nasm
23+
1824
- name: Install Racket
1925
uses: Bogdanp/setup-racket@v1.14
2026
with:
2127
architecture: 'x64'
2228
distribution: 'full'
2329
variant: ${{ matrix.racket-variant }}
2430
version: ${{ matrix.racket-version }}
31+
32+
- name: Cache Racket packages
33+
uses: actions/cache@v4
34+
with:
35+
path: |
36+
~/.racket
37+
~/.cache/racket
38+
key: racket-${{ matrix.racket-variant }}-${{ matrix.racket-version }}-${{ matrix.os }}
39+
40+
- name: Install clang
41+
run: |
42+
sudo apt install -y clang libssl-dev
43+
2544
- name: Version info
2645
run: |
27-
nasm --version
46+
clang --version
2847
gcc --version
48+
2949
- name: Install langs package
3050
run: |
3151
raco pkg install --auto ../langs/
52+
3253
- name: Run tests
3354
run: |
3455
xvfb-run raco test -p langs

abscond/Makefile

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
ifeq ($(shell uname), Darwin)
2-
LANGS_CC ?= arch -x86_64 gcc
3-
LANGS_AS ?= nasm -g -f macho64 --gprefix _
2+
LANGS_CC ?= arch -x86_64 clang
3+
LANGS_AS ?= arch -x86_64 clang -c
44
else
5-
LANGS_CC ?= gcc
6-
LANGS_AS ?= nasm -g -f elf64
5+
LANGS_CC ?= clang
6+
LANGS_AS ?= clang -c
77
endif
88

99
objs = \

blackmail/Makefile

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
ifeq ($(shell uname), Darwin)
2-
LANGS_CC ?= arch -x86_64 gcc
3-
LANGS_AS ?= nasm -g -f macho64 --gprefix _
2+
LANGS_CC ?= arch -x86_64 clang
3+
LANGS_AS ?= arch -x86_64 clang -c
44
else
5-
LANGS_CC ?= gcc
6-
LANGS_AS ?= nasm -g -f elf64
5+
LANGS_CC ?= clang
6+
LANGS_AS ?= clang -c
77
endif
88

99
objs = \

con/Makefile

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
ifeq ($(shell uname), Darwin)
2-
LANGS_CC ?= arch -x86_64 gcc
3-
LANGS_AS ?= nasm -g -f macho64 --gprefix _
2+
LANGS_CC ?= arch -x86_64 clang
3+
LANGS_AS ?= arch -x86_64 clang -c
44
else
5-
LANGS_CC ?= gcc
6-
LANGS_AS ?= nasm -g -f elf64
5+
LANGS_CC ?= clang
6+
LANGS_AS ?= clang -c
77
endif
88

99
objs = \

dodger/Makefile

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
ifeq ($(shell uname), Darwin)
2-
LANGS_CC ?= arch -x86_64 gcc
3-
LANGS_AS ?= nasm -g -f macho64 --gprefix _
2+
LANGS_CC ?= arch -x86_64 clang
3+
LANGS_AS ?= arch -x86_64 clang -c
44
else
5-
LANGS_CC ?= gcc
6-
LANGS_AS ?= nasm -g -f elf64
5+
LANGS_CC ?= clang
6+
LANGS_AS ?= clang -c
77
endif
88

99
objs = \

dupe/Makefile

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
ifeq ($(shell uname), Darwin)
2-
LANGS_CC ?= arch -x86_64 gcc
3-
LANGS_AS ?= nasm -g -f macho64 --gprefix _
2+
LANGS_CC ?= arch -x86_64 clang
3+
LANGS_AS ?= arch -x86_64 clang -c
44
else
5-
LANGS_CC ?= gcc
6-
LANGS_AS ?= nasm -g -f elf64
5+
LANGS_CC ?= clang
6+
LANGS_AS ?= clang -c
77
endif
88

99
objs = \

evildoer/Makefile

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
ifeq ($(shell uname), Darwin)
2-
LANGS_CC ?= arch -x86_64 gcc
3-
LANGS_AS ?= nasm -g -f macho64 --gprefix _
2+
LANGS_CC ?= arch -x86_64 clang
3+
LANGS_AS ?= arch -x86_64 clang -c
44
else
5-
LANGS_CC ?= gcc
6-
LANGS_AS ?= nasm -g -f elf64
5+
LANGS_CC ?= clang
6+
LANGS_AS ?= clang -c
77
endif
88

99
objs = \

extort/Makefile

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,10 @@
11
ifeq ($(shell uname), Darwin)
2-
LANGS_CC ?= arch -x86_64 gcc
3-
LANGS_AS ?= nasm -g -f macho64 --gprefix _
2+
LANGS_CC ?= arch -x86_64 clang
3+
LANGS_AS ?= arch -x86_64 clang -c
44
else
5-
LANGS_CC ?= gcc
6-
LANGS_AS ?= nasm -g -f elf64
5+
LANGS_CC ?= clang
6+
LANGS_AS ?= clang -c
77
endif
8-
98
objs = \
109
main.o \
1110
print.o \

fraud/Makefile

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
ifeq ($(shell uname), Darwin)
2-
LANGS_CC ?= arch -x86_64 gcc
3-
LANGS_AS ?= nasm -g -f macho64 --gprefix _
2+
LANGS_CC ?= arch -x86_64 clang
3+
LANGS_AS ?= arch -x86_64 clang -c
44
else
5-
LANGS_CC ?= gcc
6-
LANGS_AS ?= nasm -g -f elf64
5+
LANGS_CC ?= clang
6+
LANGS_AS ?= clang -c
77
endif
88

99
objs = \

0 commit comments

Comments
 (0)