======================================================================
ビルドおよび実行手順
======================================================================

------------------------
ネイティブライブラリのビルド
------------------------

ネイティブライブラリはソースコードの配布物内にビルド済みのものが含まれていますので、この手順は省略することができます。

    ---------------------
    MacOS Xでのビルド手順
    ---------------------
      * ftglプロジェクト内の src/ftgl にある README.txt にしたがってFTGLをビルドします。

      * QTCoreVideoInputのビルド
          * ch.kuramo.javie.core内の src/main/native/macosx/QTCoreVideoInput にある
            QTCoreVideoInput.xcodeproj をXcodeで開き、アクティブなビルド構成を Release にしてビルドします。
          * libQTCoreVideoInput.jnilib というファイルが作成され ch.kuramo.javie.core内の os/macosx
            にコピーされるので、Eclipse上でch.kuramo.javie.coreプロジェクトをリフレッシュし、
            os/macosx に libQTCoreVideoInput.jnilib がコピーされていることを確認します。

      * QTCoreVideoInputと同様にQTMovieOutputもビルドします。


    ---------------------
    Windowsでのビルド手順
    ---------------------
      * ftglプロジェクト内の src/ftgl にある README.txt にしたがってFTGLをビルドします。

      * DirectShowInputのビルド
          * WindowsSDK6.1のDirectShow BaseClassesが必要です。
            ランタイムライブラリの設定を “マルチスレッド(/MT)” に変更してビルドする必要があります。
          * ch.kuramo.javie.core内の src/main/native/windows/DirectShowInput にある
            DirectShowInput.sln をVisual C++ 2008で開きます。プロジェクトのプロパティで、
            BaseClassesを参照している箇所があるので適宜設定を変更してください。
          * ソリューション構成を Release にしてビルドします。
          * DirectShowInput.dll というファイルが作成され ch.kuramo.javie.core内の os/win32/x86
            にコピーされるので、Eclipse上でch.kuramo.javie.coreプロジェクトをリフレッシュし、
            os/win32/x86 に DirectShowInput.dll がコピーされていることを確認します。

      * DirectShowInputと同様にDirectShowOutputもビルドします。


------------------------------------
プロジェクトをEclipseへインポートする
------------------------------------

Eclipse RCP 3.5 が必要です。次のURLからダウンロードできます。
一般的なJava開発に必要なEclipseとは異なりますのでご注意ください。
http://www.eclipse.org/downloads/packages/eclipse-rcpplug-developers/galileosr2

なお、Javieは今のところ32bit版のみの提供となっておりますので、
Eclipse RCP 3.5 も32bit版をお使い頂く必要があります。


ソースコードの配布物内に含まれている次のプロジェクトを、Eclipseのワークスペースにインポートします。

  * com.google.code.guice
  * ftgl
  * java3d.vecmath
  * javassist
  * jogl2
  * net.arnx.jsonic
  * net.java.dev.jna
  * org.scannotation
  * org.slf4j.slf4j-api
  * org.slf4j.slf4j-simple
  * rhino.js
  * ch.kuramo.javie.api
  * ch.kuramo.javie.app
  * ch.kuramo.javie.app.feature
  * ch.kuramo.javie.core
  * ch.kuramo.javie.effects

サンプルプラグインもビルドする場合は次のプロジェクトもインポートします。

  * ch.kuramo.javie.examples.effect


------------------------
Eclipse上から実行する
------------------------

  * Eclipse上でch.kuramo.javie.appプロジェクト内の plugin.xml を開きます。
  * Overviewタブを開き、Testingのところにある “Launch an Eclipse application” をクリックします。
    Javieが起動しますが、この時点ではまだ正常に動作しないので一旦終了します。(Windows版では起動すらしない場合があります)
  * Run ConfigurationsのArgumentsタブを開き、VM argumentsに
    -XX:+UseParallelGC -Dfile.encoding=UTF-8 -Declipse.consoleLog=true -Djava.ext.dirs="${workspace_loc}/ch.kuramo.javie.app/ext"
    を追加します。また、環境によっては -Xmx512m 等を追加して最大ヒープサイズを指定する必要があります。
  * (Windows版のみ)同じくVM argumentsに
    -Dsun.java2d.noddraw=true -Dsun.java2d.opengl=true -Dsun.java2d.opengl.fbobject=true
    を追加します。
  * サンプルプラグインも使用する場合、Run Configurationsダイアログ内のPlug-insタブを開き、
    サンプルプラグインのプロジェクトにチェックを入れる必要があります。
  * Run Configurationsダイアログ内のRunボタンを押して実行します。


------------------------
パッケージング手順
------------------------

  * ch.kuramo.javie.appプロジェクト内の app.product を開きます。
  * Overviewタブを開き、Exportingのところにある “Eclipse Product export wizard” をクリックします。
  * ダイアログ内の各項目を適宜入力しFinishボタンを押します。


MacOS XからWindows版をパッケージングする、またはその逆を行う場合は deltapack の導入が必要となります。
deltapack の導入については次の記事の前半部分をご覧ください。
http://www.vogella.de/articles/EclipsePDEBuild/article.html
