edit: $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/context.rb;C949767
File: context.rb
===================================================================
--- $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/context.rb;C949767  (server)    7/15/2009 2:07 PM
+++ Shelved Change: $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/context.rb;bm_and_gitpushes
@@ -410,9 +410,16 @@
             :dir        => '../../Runtime/Microsoft.Scripting'
             
   dlr_com :references   => ['Microsoft.Scripting.Core.dll', '!System.Xml.dll', '!System.dll', 'Microsoft.Scripting.ExtensionAttribute.dll'],
-          :switches     => ['target:library', 'unsafe', 'define:MICROSOFT_DYNAMIC'],
+          :switches     => ['target:library', 'unsafe', 'define:MICROSOFT_DYNAMIC;CLR2'],
           :output       => 'Microsoft.Dynamic.dll',
+          :csproj       => 'Microsoft.Dynamic.csproj',
           :dir          => '../../../../ndp/fx/src/Dynamic/System/Dynamic'
+
+  dlr_debug :references => ['Microsoft.Scripting.Core.dll', 'Microsoft.Scripting.dll','Microsoft.Scripting.ExtensionAttribute.dll'],
+            :switches   => ['target:library'],
+            :output     => 'Microsoft.Scripting.Debugging.dll',
+            :csproj     => 'Microsoft.Scripting.Debugging.csproj',
+            :dir        => '../../Debugging/Microsoft.Scripting.Debugging'
          
 #====================================================================
 # IRONRUBY
@@ -456,7 +463,7 @@
 #====================================================================
 # IRONPYTHON
 #====================================================================
-  ironpython :references => ['Microsoft.Dynamic.dll', 'Microsoft.Scripting.Core.dll', 'Microsoft.Scripting.dll', 'Microsoft.Scripting.ExtensionAttribute.dll', '!System.Data.dll', '!System.dll', '!System.Xml.dll'],
+  ironpython :references => ['Microsoft.Dynamic.dll', 'Microsoft.Scripting.Core.dll', 'Microsoft.Scripting.dll', 'Microsoft.Scripting.ExtensionAttribute.dll', '!System.Data.dll', '!System.dll', '!System.Xml.dll', 'Microsoft.Scripting.Debugging.dll'],
              :switches   => ['target:library'],
              :output     => 'IronPython.dll',
              :resources  => {Pathname.new('Resources.resx') => Pathname.new('IronPython.Resources.resources')},
@@ -487,3 +494,4 @@
                      :dir        => '../IronPython/IronPython.Modules',
                      :csproj     => 'IronPython.Modules.csproj'
 end
+
===================================================================
add: $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/Scripts/powershell
add: $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/Scripts/powershell/dev.ps1
File: dev.ps1
===================================================================
--- [no source file]
+++ Shelved Change: $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/Scripts/powershell/dev.ps1;bm_and_gitpushes
@@ -1,0 +1,4 @@
+?$mypath = $MyInvocation.MyCommand.Path.Substring(0, $MyInvocation.MyCommand.Path.IndexOf($MyInvocation.MyCommand.Name))
+$path = $mypath.Substring(0, $mypath.IndexOf("Merlin\Main"))
+Import-Module (Join-Path $mypath "merlin\merlin.psm1")
+merlin $path
\ No newline at end of file
===================================================================
add: $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/Scripts/powershell/merlin
add: $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/Scripts/powershell/new-rubysync.ps1
File: new-rubysync.ps1
===================================================================
--- [no source file]
+++ Shelved Change: $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/Scripts/powershell/new-rubysync.ps1;bm_and_gitpushes
@@ -1,0 +1,36 @@
+param(
+    [string]
+    [Parameter(Mandatory=$true)]
+    $dir,
+    [string]$name = "rubysync",
+    [string]$server = "vstfdevdiv",
+    [switch]$get
+    )
+
+if (-not (Test-Path $dir)) { 
+    New-Item -Path $dir -ItemType directory | Out-Null
+}
+
+$dir = Resolve-Path $dir
+
+Push-Location $dir
+tf workspace /new /noprompt "/template:rubysync;jdeville" "/s:$server" $name
+
+if ($LASTEXITCODE -ne 0) {
+  Write-Error "Creating the workspace failed"
+  exit-pushd
+  exit
+}
+Push-Location $env:TEMP
+git clone git@github.com:ironruby/ironruby.git
+Set-Location ironruby
+Copy-Item -Recurse .git $dir
+Set-Location ..
+Remove-Item -Recurse -Force ironruby
+Pop-Location
+git reset --hard
+if ($get) {
+  tf get /overwrite
+}
+Pop-Location
+
===================================================================
add: $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/Scripts/powershell/update-git.ps1
File: update-git.ps1
===================================================================
--- [no source file]
+++ Shelved Change: $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/Scripts/powershell/update-git.ps1;bm_and_gitpushes
@@ -1,0 +1,25 @@
+param(
+  [string]
+  $exp = "rubysync",
+  [string]
+  $logfile = "update-git.log"
+)
+
+$env:logfile = $logfile
+Push-Location #intentionally called without args, the following expression should set the new location
+Invoke-Expression $exp
+
+#TODO: Utilize or re-create commonps.ps1
+if ($env:MERLIN_ROOT -eq $null) {
+  Write-Error "`$exp is expected to set $env:MERLIN_ROOT and Set-Location to within the repository"
+  exit-pushd
+  exit
+}
+
+write-command "git pull"
+write-command "tf get /overwrite"
+write-command "rake git:commit"
+#write-command "git push"
+
+pop-location
+
===================================================================
add: $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/Scripts/powershell/merlin/merlin.psm1
File: merlin.psm1
===================================================================
--- [no source file]
+++ Shelved Change: $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/Scripts/powershell/merlin/merlin.psm1;bm_and_gitpushes
@@ -1,0 +1,93 @@
+function get-batchfile {
+  param([string]$file)
+  $cmd = "`"$file`" & set"
+  cmd /c $cmd | Foreach-Object {
+      $p, $v = $_.split('=')
+      Set-Item -path env:$p -value $v
+  }
+}
+
+function initialize-merlin {
+  param([string]$path = "C:\vsl\")
+
+  initialize-vsvars
+
+  set MERLIN_ROOT="$path\Merlin\Main"
+  set MERLIN_EXTERNAL="${env:MERLIN_ROOT}\..\External.LCA_RESTRICTED"
+  set RUBY18_BIN="${env:MERLIN_EXTERNAL}\Languages\Ruby\ruby-1.8.6p287\bin"
+  set RUBY18_EXE="${env:RUBY18_BIN}\ruby.exe"
+  set RUBY19_EXE="${env:MERLIN_EXTERNAL}\Languages\Ruby\1.9.1p0\bin\ruby.exe"
+  set GEM_PATH="${env:MERLIN_EXTERNAL}\Languages\Ruby\ruby-1.8.6p287\lib\ruby\gems\1.8"
+  $alias = $env:MERLIN_ROOT + '\Scripts\bat\Alias.ps1'
+  if (test-path $alias) { . $alias }
+  
+  . $scripts\append-path.ps1 "${env:RUBY18_BIN}"
+  . $scripts\append-path.ps1 "${env:MERLIN_ROOT}\External\Tools"
+  . $scripts\append-path.ps1 "${env:MERLIN_ROOT}\Scripts\Bat"
+  . $scripts\append-path.ps1 "${env:MERLIN_ROOT}\..\Snap\bin"
+  . $scripts\append-path.ps1 "${env:MERLIN_EXTERNAL}\Languages\IronRuby\mspec\mspec\bin"   
+  . $scripts\append-path.ps1 "${env:MERLIN_ROOT}\Languages\Ruby\Scripts"
+  . $scripts\append-path.ps1 "${env:MERLIN_ROOT}\Languages\Ruby\Scripts\Bin"
+
+  function global:dbin { cd "${env:MERLIN_ROOT}\Bin\Debug" }
+  function global:rbin { cd "${env:MERLIN_ROOT}\Bin\Release" }
+  if (Test-Path function:\rbt) { Remove-Item -Force function:\rbt }
+  function global:rbl { cd "${env:MERLIN_ROOT}\Languages\Ruby\IronRuby.Libraries"}
+  function global:rbt { cd "${env:MERLIN_ROOT}\Languages\Ruby\Tests"}
+  function global:rb { cd "${env:MERLIN_ROOT}\Languages\Ruby"}
+  function global:script { cd "${env:MERLIN_ROOT}\Scripts\Bat" }
+  function global:root { cd "${env:MERLIN_ROOT}" }
+  function global:ext { cd "${env:MERLIN_EXTERNAL}"}
+  function global:irb19 {cmd /C "${env:MERLIN_EXTERNAL}\Languages\Ruby\ruby-1.9.1p0\bin\irb.bat $args"}
+  function global:ruby19 {cmd /C "${env:MERLIN_EXTERNAL}\Languages\Ruby\ruby-1.9.1p0\bin\ruby.exe $args"}
+  function global:geninit {cmd /C "${env:MERLIN_ROOT}\Languages\Ruby\Libraries.LCA_RESTRICTED\GenerateInitializers.cmd"}
+  function global:d {devenv $args}
+  if (Test-Path function:ruby) {Remove-item -Force function:ruby}
+  if (Test-Path function:irb) {Remove-item -Force function:irb}
+  rb
+}
+
+function initialize-vsvars {
+  param([string]$version = "9.0")
+
+  if (test-path HKLM:SOFTWARE\Wow6432Node\Microsoft\VisualStudio\$version) {
+          $VsKey = get-itemproperty HKLM:SOFTWARE\Wow6432Node\Microsoft\VisualStudio\$version
+  }
+  else {
+          if (test-path HKLM:SOFTWARE\Microsoft\VisualStudio\$version) {
+                  $VsKey = get-itemproperty HKLM:SOFTWARE\Microsoft\VisualStudio\$version
+          }
+  }
+    $VsInstallPath = [System.IO.Path]::GetDirectoryName($VsKey.InstallDir)
+    $VsToolsDir = [System.IO.Path]::GetDirectoryName($VsInstallPath)
+    $VsToolsDir = [System.IO.Path]::Combine($VsToolsDir, "Tools")
+    $BatchFile = [System.IO.Path]::Combine($VsToolsDir, "vsvars32.bat")
+    Get-Batchfile $BatchFile
+    "Visual Studio $version Configured"
+  
+}
+
+function write-command {
+  param(
+        [string]$command,
+        [string]$message
+       )
+  $logfile = $env:logfile    
+  $command | out-file $logfile -Append
+  Invoke-Expression $command | out-file $logfile -Append
+  if ($LASTEXITCODE -ne 0) {
+    write-error "Command $command failed!"    
+    exit-pushd
+    exit 1
+  }
+}
+
+function exit-pushd {
+  while((Get-Command -stack).count -gt 0) {
+    Pop-Location  
+  }  
+}
+Export-ModuleMember initialize-merlin, initialize-vsvars, write-command,
+exit-pushd
+
+
===================================================================
