2010年2月14日日曜日

Clojure-CLR 1.1.0をVisual C# 2008 Express Edition SP1でビルドするのに用意したものをメモ

GitHubにClojure 1.1.0のCLR実装(ClojureCLR 1.1.0)が用意されているので、インストール手順を見ながらVisual C# 2008 Express Edition SP1で、ビルドしてみた。

準備
まずは、開発環境から、アセンブリとソースのディレクトリ構成まで整える。
開発環境
DL Visual C# 2008 Express Edition with SP1 もしくは、Visual Studio 2008 SP1
SP1について
http://www.microsoft.com/japan/msdn/vstudio/downloads/sp/vs2008/sp1/
必要なアセンブリ(インストールするもの)
DL Microsoft .NET Framework 3.5 SP1 (Full packege版)
DL NUnit 2.5.2
必要なアセンブリ(配置するもの)
DL Rhino Mocks 3.5 - For .Net 3.5 (with Castle assemblies)
ビルドに必要なソースファイル
DL Clojure-CLR 1.1.0
DL Microsoft Dynamic Language Runtime Change Set 38141あたり

フォルダ構成
dev\
- richhickey-clojure-clr-ee572b9\ (名前を変えてもOK)
- DLR_Main\
- RhinoMocks\

・devフォルダにDynamic Language Runtimeと、Clojure-CLRをフォルダごと配置
・devフォルダにRhinoMocksフォルダを作成して、ファイルをコピー

プロジェクトのビルド
・richhickey-clojure-clr-ee572b9\ClojureフォルダのClojureCLR.slnというソリューションファイルをVisual Studioもしくは、Visual C#で開く。
・Runtimeが構成できないというポップアップウインドウを無視する。
・そのまま、ビルドからソリューションのビルドを実行する。
・ビルドが終わると、richhickey-clojure-clr-ee572b9\Clojure\Clojure.Main\bin\Debugフォルダ内に、コンパイラ(Clojure.Compile.exe)とREPL(Clojure.Main.exe)ほか関連ファイルが用意される。

ClojureCLRを実行する
Clojure.Main.exeを実行すれば、java -cp clojure.jar clojure.mainと同じようにREPL(対話型評価環境)が起動する。
・CLR環境では、CLASSPATHのかわりに環境変数clojure.load.pathが用意されている。
設定したパス内の*.clj.dllと*.cljをさがす。
参考:Running ClojureCLR

そのほか
・Simple.Console.exeの使い方→Running ClojureCLR
・CLR,C#の呼び出し→CLR Interop, Completing CLR interop
・CLRに合わせたclojure.coreの変更→Translating core.clj
・未実装の機能やclojure.contribについて→ToDo
やはりJava呼び出ししているところの書き換えが必要なようです。
Wikiは、進行状況に合わせて変更されている。
ビルドテストは、
(require '(clojure [test-clojure :as main]))
(main/run)
Testing clojure.test-clojure.data-structuresで、2エラーありました。
・Clojure.Source.dllやClojure.Tests.dllはなんだ?

0 件のコメント :