<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array">
    <added>
      <filename>bin/crate</filename>
    </added>
  </added>
  <modified type="array">
    <modified>
      <diff>@@ -1,5 +1,9 @@
+ *  Top level project should have everything that is in ext/Setup so that the
+    user can pick what they want to install, this replaces the patch that goes
+    for ruby Rakefile in that lib 
+
  *  pack all ruby source code that is installed and put it into the rubylibs
-   table
+    table
 
  * generate a bootstrap piece of C code to overload the ruby main and launch
    into the basic code, running through the bootstrap table and evalling each
@@ -10,9 +14,6 @@
  * crate has a very small C-extension that deals with amalgalite, does low
    level calls to the appropriate table and does the boot loader.
 
- * as part of the build need to kill all the $: and such variables with there
-   initial values, $&quot; should be empty and so should $:
-
  * kill all other command line parsing
  * force all commandline options to be pushed to the script, push a '--' infront
    of the commands ?
@@ -21,10 +22,5 @@
 
  * rename output executable to 'something from Crate' file
 
- * Crate::boot() -- opens up an sqlitedatabase using the low level amalgalite
-                     methods or sqlite directly.  Selects from a configured 
-                     table 'default &quot;crate&quot;'  Interates over all the rows
-                     evals each of the 'contents' 
-
   id, filename, contents
 </diff>
      <filename>NOTES</filename>
    </modified>
    <modified>
      <diff>@@ -3,5 +3,41 @@
 #
 $: &lt;&lt; &quot;/Users/jeremy/Projects/crate/lib&quot;
 require 'crate'
-Crate::Project.new( &quot;myruby&quot; ) 
+Crate::Project.new( &quot;myruby&quot; ) do |crate|
+  # remove the ones you do not want, or leave them commented out with a #
+  crate.extensions = %w[
+      #Win32API
+      bigdecimal
+      #curses
+      #dbm
+      #digest
+      #digest/md5
+      #digest/rmd160
+      #digest/sha1
+      #digest/sha2
+      #dl
+      enumerator
+      etc
+      fcntl
+      #gdbm
+      #iconv
+      io/wait
+      #nkf
+      #pty
+      openssl
+      #racc/cparse
+      #readline
+      #sdbm
+      socket
+      stringio
+      strscan
+      syck
+      #syslog
+      #tcltklib
+      thread
+      #tk
+      #win32ole
+      zlib
+  ]
+end
 </diff>
      <filename>data/Rakefile</filename>
    </modified>
    <modified>
      <diff>@@ -25,6 +25,9 @@ module Crate
     # default 'fakeroot'
     attr_accessor :install_dir
 
+    # The list of extensions to compile
+    attr_reader :extensions
+
     def initialize( name ) 
       raise &quot;Crate Project already initialized&quot; if ::Crate.project
       @name         = name
@@ -49,6 +52,10 @@ module Crate
       @install_dir = File.join( project_root, id )
     end
 
+    def extensions=( list )
+      @extensions = list.select { |l| l.index(&quot;#&quot;).nil? }
+    end
+
     #
     # Create a logger for the project
     #</diff>
      <filename>lib/crate/project.rb</filename>
    </modified>
  </modified>
  <removed type="array">
    <removed>
      <filename>bin/mustard</filename>
    </removed>
  </removed>
  <parents type="array">
    <parent>
      <id>b6470c0f9999a1e736281df87e0b5e8a761409b7</id>
    </parent>
  </parents>
  <author>
    <name>Jeremy Hinegardner</name>
    <email>jeremy@hinegardner.org</email>
  </author>
  <url>http://github.com/copiousfreetime/crate/commit/2593e409678ac1e6224570f0fdd3a8250451b6f3</url>
  <id>2593e409678ac1e6224570f0fdd3a8250451b6f3</id>
  <committed-date>2008-08-17T20:47:54-07:00</committed-date>
  <authored-date>2008-08-17T20:47:54-07:00</authored-date>
  <message>savepoint</message>
  <tree>b406ab634671c6b93fd5a9c5e74b490f1e3fde4b</tree>
  <committer>
    <name>Jeremy Hinegardner</name>
    <email>jeremy@hinegardner.org</email>
  </committer>
</commit>
