index 185b968..f4d1fd3 100644
--- lib/critcl/Config.orig
+++ lib/critcl/Config
@@ -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
