Skip to content

Commit

Permalink
Add github msys2 workflow
Browse files Browse the repository at this point in the history
  • Loading branch information
michaelforney committed Apr 17, 2024
1 parent 4f902b5 commit 300197b
Show file tree
Hide file tree
Showing 3 changed files with 48 additions and 1 deletion.
21 changes: 21 additions & 0 deletions .github/workflows/windows.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
on: push
jobs:
build:
runs-on: windows-latest
steps:
#- uses: msys2/setup-msys2@v2
# with:
# msystem: msys
# install: gcc make diffutils
- uses: actions/checkout@v4
- run: |
$vswhere = "${env:ProgramFiles(x86)}\Microsoft Visual Studio\Installer\vswhere.exe"
$vctools = $vswhere -latest -requires Microsoft.VisualStudio.Component.VC.Tools.x86.x64 -property installationPath
Get-ChildItem -Recurse $vctools
#mount
#./configure --host=x86_64-windows-msvc CC=cl
#gcc line.c
#./a.exe | od -t ax1
#od -t ax1 b
#od -t ax1 c
#od -t ax1 test/basic.c
6 changes: 5 additions & 1 deletion configure
Original file line number Diff line number Diff line change
Expand Up @@ -122,10 +122,14 @@ case "$target" in
endfiles='"-l", "c", "-l", ":crtn.o"'
defines='"-D", "__builtin_stdarg_start(ap, last)=__builtin_va_start(ap, last)"'
;;
*-*msys*)
*-msys*)
startfiles='"-l", ":crt0.o"'
endfiles='"-l", "c", "-l", "msys-2.0", "-l", "kernel32"'
;;
*-windows-msvc*)
startfiles='"-l", ":crt0.o"'
endfiles='"-l", "c"'
;;
*)
fail "unknown target '$target', please create config.h manually"
esac
Expand Down
22 changes: 22 additions & 0 deletions line.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
#include <string.h>
#include <stdio.h>
int main(void) {
extern int getmode(int);
char line[256];
fprintf(stderr, "mode 0=%d\n", getmode(0));
fprintf(stderr, "mode 1=%d\n", getmode(1));
fprintf(stderr, "mode 2=%d\n", getmode(2));
puts("hello");
FILE *f = fopen("b", "w");
fprintf(stderr, "mode b=%d\n", getmode(fileno(f)));
fputs("hello\n", f);
fclose(f);
f = fopen("c", "wt");
fprintf(stderr, "mode c=%d\n", getmode(fileno(f)));
fputs("hello\n", f);
fclose(f);
f = fopen("test/basic.c", "r");
fgets(line, sizeof line, f);
fprintf(stderr, "c=%d %d\n", line[strlen(line) - 2], line[strlen(line) - 1]);
fclose(f);
}

0 comments on commit 300197b

Please sign in to comment.