index 185b968..f4d1fd3 100644 --- lib/critcl/Config.in.orig +++ lib/critcl/Config.in @@ -145,6 +145,7 @@ if {[string match macosx-* $platform]} { set ppc64 [expr {[exec gcc -v -arch ppc64 > /dev/null 2>@stdout] eq ""}] set i386 [expr {[exec gcc -v -arch i386 > /dev/null 2>@stdout] eq ""}] set x86_64 [expr {[exec gcc -v -arch x86_64 > /dev/null 2>@stdout] eq ""}] + set arm64 [expr {[exec gcc -v -arch arm64 > /dev/null 2>@stdout] eq ""}] } } @@ -165,7 +166,21 @@ macosx-powerpc link gcc -bundle -arch ppc \ macosx-powerpc link_preload -undefined dynamic_lookup -mmacosx-version-min=10.3 macosx-powerpc strip -# default on OSX intel is universal containing x86 32 and 64 bit +# default on macOS 11+ is universal containing arm 64 bit and x86 64 bit +macosx-universal2 when $arm64 && $x86_64 +macosx-universal2 compile clang -c -arch arm64 -arch x86_64 \ + -isysroot $SDKROOT \ + -mmacosx-version-min=$osxmin +macosx-universal2 link clang -bundle -arch arm64 -arch x86_64 \ + -isysroot $SDKROOT \ + -mmacosx-version-min=$osxmin +macosx-universal2 link_preload -undefined dynamic_lookup +macosx-universal2 strip +macosx-universal2 platform macosx-universal2 $osxmin \ + macosx-arm64 \ + macosx-x86_64 + +# default on older OSX intel is universal containing x86 32 and 64 bit macosx-ix86 when $i386 && $x86_64 macosx-ix86 compile gcc -c -arch i386 -arch x86_64 \ -isysroot $SDKROOT \ @@ -256,6 +271,22 @@ macosx-x86_64 link_preload -undefined dynamic_lookup macosx-x86_64 strip macosx-x86_64 platform macosx-x86_64 +# OSX arm 64 bit +macosx-arm64 when $arm64 +macosx-arm64 compile clang -c -arch arm64 +macosx-arm64 link clang -bundle -arch arm64 +macosx-arm64 link_preload -undefined dynamic_lookup +macosx-arm64 strip +macosx-arm64 platform macosx-arm64 + +macosx-aarch64 when $arm64 +macosx-aarch64 copy macosx-arm64 +macosx-aarch64 platform macosx-aarch64 + +macosx-arm when $arm64 +macosx-arm copy macosx-arm64 +macosx-arm platform macosx-arm + # Linux - 32 bit or 64 bit build - select using "-target" if you don't # want the platform default (32 on 32, 64 on 64). This requires # some work to detect the cpu class in use and then set a platform