diff --git a/ddc-tools.cabal b/ddc-tools.cabal
--- a/ddc-tools.cabal
+++ b/ddc-tools.cabal
@@ -1,5 +1,5 @@
 Name:           ddc-tools
-Version:        0.4.2.1
+Version:        0.4.2.2
 License:        MIT
 License-file:   LICENSE
 Author:         The Disciplined Disciple Compiler Strike Force
@@ -47,11 +47,11 @@
         ddc-core        == 0.4.2.*,
         ddc-core-simpl  == 0.4.2.*,
         ddc-core-salt   == 0.4.2.*,
-        ddc-core-llvm   == 0.4.2.*,
+        ddc-core-llvm   >= 0.4.2.2 && < 0.4.3,
         ddc-core-tetra  == 0.4.2.*,
         ddc-code        == 0.4.2.*,
-        ddc-build       == 0.4.2.*,
-        ddc-driver      == 0.4.2.*
+        ddc-build       >= 0.4.2.2 && < 0.4.3,
+        ddc-driver      >= 0.4.2.2 && < 0.4.3
 
     Main-is:
         Main.hs
diff --git a/src/ddci-core/DDCI/Core/Command/Set.hs b/src/ddci-core/DDCI/Core/Command/Set.hs
--- a/src/ddci-core/DDCI/Core/Command/Set.hs
+++ b/src/ddci-core/DDCI/Core/Command/Set.hs
@@ -7,8 +7,6 @@
 import DDCI.Core.State
 import DDCI.Core.Mode
 import DDCI.Core.Output
-import DDC.Build.Builder
-import DDC.Build.Language
 import DDC.Core.Fragment
 import DDC.Core.Simplifier.Parser
 import DDC.Core.Transform.Reannotate
@@ -16,6 +14,7 @@
 import Control.Monad
 import Data.Char
 import Data.List
+import qualified DDC.Build.Builder              as Build
 import qualified DDC.Core.Check                 as Check
 import qualified DDCI.Core.Rewrite              as R
 import qualified Data.Map                       as Map
@@ -38,7 +37,8 @@
          $ vcat  [ text "Modes:      " <> text (show $ Set.toList $ stateModes state)
                  , text "Language:   " <> text langName
                  , text "Simplifier: " <> ppr  simpl
-                 , text "Builder:    " <> text (show $ liftM builderName $ stateBuilder state) ]
+                 , text "Builder:    " 
+                       <> text (show $ liftM Build.builderName $ stateBuilder state) ]
          <$> vcat (text "With:       " : map ppr (Map.keys modules))
          <$> vcat (text "With Salt:  " : map ppr (Map.keys (stateWithSalt state)))
 
@@ -111,14 +111,25 @@
 
  | "builder" : name : []     <- words cmd
  = do   config  <- getDefaultBuilderConfig
-        case find (\b -> builderName b == name) (builders config) of
+        mHost   <- Build.determineDefaultBuilderHost
+
+        case mHost of
          Nothing
-          -> do  putStrLn "unknown builder"
+          -> do  putStrLn "cannot determine build environment"
                  return state
 
-         Just builder
-          -> do  chatStrLn state "ok"
-                 return state { stateBuilder = Just builder }
+         Just host
+          -> case find (\b -> Build.builderName b == name) 
+                       (Build.builders config host) of
+
+                 Nothing
+                  -> do  putStrLn "unknown builder"
+                         return state
+
+                 Just builder
+                  -> do  chatStrLn state "ok"
+                         return state { stateBuilder = Just builder }
+
 
  | "outputdir" : dir : []    <- words cmd
  = return $ state { stateOutputDir  = Just dir }
diff --git a/src/ddci-tetra/DDCI/Tetra/Command/Set.hs b/src/ddci-tetra/DDCI/Tetra/Command/Set.hs
--- a/src/ddci-tetra/DDCI/Tetra/Command/Set.hs
+++ b/src/ddci-tetra/DDCI/Tetra/Command/Set.hs
@@ -4,10 +4,10 @@
 where
 import DDCI.Tetra.State
 import DDCI.Tetra.Mode
-import DDC.Build.Builder
 import DDC.Base.Pretty
 import Data.Char
 import Data.List
+import qualified DDC.Build.Builder      as Build
 import qualified Data.Set               as Set
 
 
@@ -22,15 +22,26 @@
 
 cmdSet state cmd
  | "builder" : name : []        <- words cmd
- = do   config <- getDefaultBuilderConfig
-        case find (\b -> builderName b == name) (builders config) of
-         Nothing
-          -> do putStrLn "unknown builder"
+ = do   config  <- getDefaultBuilderConfig
+        mHost   <- Build.determineDefaultBuilderHost 
+
+        case mHost of
+         Nothing        
+          -> do putStrLn "cannot determine build environment"
                 return state
 
-         Just builder
-          -> do putStrLn "ok"
-                return state { stateBuilder = Just builder }
+         Just host
+          -> case find (\b -> Build.builderName b == name) 
+                       (Build.builders config host) of
+
+              Nothing
+               -> do putStrLn "unknown builder"
+                     return state
+
+              Just builder
+               -> do putStrLn "ok"
+                     return state { stateBuilder = Just builder }
+
 
  | otherwise
  = case parseModeChanges cmd of
