-
Notifications
You must be signed in to change notification settings - Fork 21
Description
I've been playing a bit with building Pd and externals for the Windows/arm64 platform (Using MSYS2's preliminary arm64 support).
AFAICT things run smoothly (barring that the aarch64 VM is emulated somewhat slowly on an x86_64 host), except for pd-lib-builder misdetecting the target system as Linux.
I figure this is due to the unexpected value of the target.triplet:
$ make PDDIR="${PDDIR}" vars | grep -E "(target.triplet|system) ="
variable system = Linux
variable target.triplet = aarch64 w64 windows gnu
$ cc -dumpmachine
aarch64-w64-windows-gnu
$ cc --version
clang version 19.1.6
Target: aarch64-w64-windows-gnu
Thread model: posix
InstalledDir: C:/msys64/clangarm64/bin
$
the problem is obviously that cc -dumpmachine
- does not mention
mingwas perpd-lib-builder/Makefile.pdlibbuilder
Lines 433 to 434 in 7752526
ifneq ($(filter mingw% cygwin%, $(target.triplet)),) system = Windows - but does mention
gnuas perpd-lib-builder/Makefile.pdlibbuilder
Lines 425 to 426 in 7752526
ifneq ($(filter linux gnu% kfreebsd, $(target.triplet)),) system = Linux
The compiler is running natively on Windows (MSYS2/MinGW64), and I have no idea why it doesn't mention mingw.
Also, the dumpmachine information obviously uses 4 sections, so it is strictly speaking not a triplet. but i think this is specific to clang; e.g. on my Linux host clang -dumpmachine returns x86_64-pc-linux-gnu.