Building SILK from CVS

This is an annotated script showing how to check SILK out of CVS. The example is for NT, but UNIX should be similar.

  1. Set your CVSROOT to stout. Mine looks like:
    D:\>echo %CVSROOT%
    echo %CVSROOT%
    :ext:kanderso@stout.bbn.com:/nfs/amp/master
    
  2. Check SILK out into a directory called silk.
    D:\>cvs checkout -d silk systems/silk
    cvs checkout -d silk systems/silk
    cvs server: Updating silk
    U silk/index.html
    cvs server: Updating silk/applet
    ...
    U silk/applet/Components.scm
    U silk/src/slib/wttree.scm
    U silk/src/slib/yasos.scm
    
  3. Enter the silk directory
    D:\>cd silk
    cd silk
    
  4. Build silk using bootstrap.bat or bootstrap.bash. The first argument is the directory where Java is, d:\tool\jdk1.2.2 here. The boostrap compiles enough of SILK to get it running. SILK then builds its own jar file. Ignore any deprecation warnings.
    D:\silk>build\bootstrap.bat d:\tool\jdk1.2.2
    build\bootstrap.bat d:\tool\jdk1.2.2
    
    D:\silk>rem Build scheme.jar 
    
    D:\silk>set JAVA_HOME=d:\tool\jdk1.2.2 
    
    D:\silk>mkdir classlib 
    
    D:\silk>mkdir jar 
    
    D:\silk>javac -classpath classlib -sourcepath src -d classlib src/silk/EmbeddedScheme.java src/silk/Generic.java src/silk/ProcedureMethod.java 
    
    D:\silk>java -classpath d:\tool\jdk1.2.2\lib\tools.jar;classlib -Dscheme.root=. silk.Scheme src/generic/load.scm build/update.scm build/really-update.scm 
    SILK version 3.0, 8/24/1999
    
    Loading primitives  in 391 ms.
    importing silk.Generic in 221 ms.
    importing java.lang.System in 120 ms.
    ...
    importing java.lang.Double in 70 ms.
    Recompiling package silk
    Compiling .\src\silk\SchemeVector.java
    Compiling .\src\silk\ExitException.java
    SILK version 3.0, 8/24/1999
    
    Loading primitives  in 2854 ms.
    importing silk.Generic in 120 ms.
    importing java.lang.System in 40 ms.
    ...
    importing java.util.Hashtable$Entry in 10 ms.
    Compiling .\src\silk\Coerce.java
    Recompiling package jlib
    Compiling .\src\jlib\ThreadClosure.java
    Compiling .\src\jlib\Java.java
    Compiling .\src\jlib\ExceptionHandler.java
    Compiling .\src\jlib\EventPanel.java
    ...
    Recompiling package elf
    Compiling .\src\elf\Listen.java
    Compiling .\src\elf\GCMonitor.java
    Rebuilding jar
    
    D:\silk>
    

    Rebuilding SILK

    After a CVS update you can rebuild jar/scheme.jar using the boootstrap approach described above. Or, you can rebuild it from inside SILK:

    > (update-scheme)
    Recompiling package silk
    Compiling d:\silk\src\silk\InputPort.java
    Recompiling package jlib
    Recompiling package elf
    Rebuilding jar
    #t
    >