diff --git a/ShellB3/shallbethree.sh b/ShellB3/shallbethree.sh
index b5d6d5d16ddc910317378cc215887664722807e2..c6ad8a2a588ca0d6fc9c4a26f54301ebe170fcc6 100755
--- a/ShellB3/shallbethree.sh
+++ b/ShellB3/shallbethree.sh
@@ -415,6 +415,12 @@ assert(){
   fi
 }
 
+addDistExclusion(){
+  for x in "$@" ; do
+    echo "$x" >> build/.exclusions
+  done
+}
+
 is64Bit(){
   if [ -n "${CPUTYPE}" ] ; then
     contains 64 ${CPUTYPE}
@@ -6314,6 +6320,8 @@ mk_lld(){
 
   cleanup
 
+  addDistExclusion bin/lld* bin/*.lld
+
   return 0
 
 }
@@ -6418,6 +6426,9 @@ mk_clang(){
     && BUILD_CLANG=YES mk__clang \
     && mk_llvm_rt \
     && echo clang${LLVMVER} >>trim
+  addDistExclusion bin/clang* bin/opt bin/bugpoint bin/dsymutil bin/c-index-test bin/san* bin/verify-uselistorder \
+    bin/obj2yaml bin/yaml2obj bin/diagtool lib*/libclang* lib/LLVM* lib/libLTO.*
+  #libclang is huge, and is used by shiboken in pyside2, but only at runtime?
 }
 
 mk_flangdriver() {
@@ -6542,6 +6553,9 @@ mk_flang() {
     && echo llvm${FLANGLLVMREF} >>trim \
     && echo flangdriver${FLANGDRIVERREF} >>trim \
     && echo flang${FLANGREF} >>trim
+  addDistExclusion bin/flang* bin/clang* bin/opt bin/bugpoint bin/dsymutil bin/c-index-test bin/san* bin/verify-uselistorder \
+    bin/obj2yaml bin/yaml2obj bin/diagtool lib*/libclang* lib/LLVM* lib/libLTO.*
+  #libclang is huge, and is used by shiboken in pyside2, but only at runtime?
 }
 
 mk_llvmopenmp() {
@@ -6611,6 +6625,8 @@ mk_llvm() {
 
   cleanup
 
+  addDistExclusion bin/llvm*
+
   return 0
 }
 
@@ -9108,7 +9124,7 @@ _make_compiler_archive() {
     tar cf - --exclude='ShellB3/build*' \
         --exclude='*.svn*' --exclude='ShellB3/src*' --exclude='ShellB3/sb3bin*' \
         --exclude='ShellB3/shallbethree.sh' \
-        --exclude=".DS_Store" ShellB3 | ${COMPR} > "${COMPRNAME}" 
+        --exclude=".DS_Store" $( test -f ShellB3/build/.exclusions && echo "-X ShellB3/build/.exclusions" ) ShellB3 | ${COMPR} > "${COMPRNAME}" 
     RESUL=$?
     set +x
     popd