diff --git a/Makefile.am b/Makefile.am index db7e060..cef26dd 100644 --- a/Makefile.am +++ b/Makefile.am @@ -122,7 +122,7 @@ winrelease: roswell/Makefile cp lisp/*.lisp lisp/*.ros lisp/*.el roswell/lisp cd documents;MSYSTEM=MINGW64 make roswell.chm cp documents/roswell.chm roswell/documents - 7z a Roswell-`if [ "$$MSYSTEM" = "MINGW64" ];then echo x86_64 ;else echo i686; fi`.zip roswell/ros.exe roswell/lisp/*.* roswell/documents/roswell.chm + 7z a Roswell-`if [ "$$MSYSTEM" = "MINGW64" ];then echo x86_64 ;elif [ "$$MSYSTEM" = "CLANGARM64" ];then echo aarch64; else echo i686; fi`.zip roswell/ros.exe roswell/lisp/*.* roswell/documents/roswell.chm debian: ros debian/debian.ros all test: @@ -171,7 +171,7 @@ $(PACK).tar.bz2: roswell/Makefile pack: $(PACK).tar.bz2 -WINPACK = roswell_$(VERSION)_$(shell if [ "$$MSYSTEM" = "MINGW64" ];then echo amd64 ;else echo i686; fi) +WINPACK = roswell_$(VERSION)_$(shell if [ "$$MSYSTEM" = "MINGW64" ];then echo amd64 ;elif [ "$$MSYSTEM" = "CLANGARM64" ];then echo aarch64; else echo i686; fi) pack.zip: $(PACK).tar.bz2 7z a $(WINPACK).zip roswell diff --git a/src/util_windows.c b/src/util_windows.c index 653cf1e..0934632 100644 --- a/src/util_windows.c +++ b/src/util_windows.c @@ -23,12 +23,18 @@ char* uname_m(void) { return q("x86-64"); if(carch && strcmp(carch,"i686")==0) return q("x86"); + if(carch && strcmp(carch,"aarch64")==0) + return q("arm64"); char* msystem=getenv("MSYSTEM"); if(msystem && strcmp(msystem,"MINGW64")==0) return q("x86-64"); if(msystem && strcmp(msystem,"MINGW32")==0) return q("x86"); -#if defined(_WIN64) + if(msystem && strcmp(msystem,"CLANGARM64")==0) + return q("arm64"); +#if defined(__aarch64__) + return q("arm64"); +#elif defined(_WIN64) return q("x86-64"); #elif defined(_WIN32) BOOL isWow64 = FALSE;