Download

最新版はsanctuary-2.0.3.tar.bz2です。リリースノートと過去のリリースはRelease Notesから取得してください。

必要な構成

ビルドできたプラットフォーム

以下のプラットフォームでビルドを確認しました(i386アーキテクチャのみ)。

  • FreeBSD 6.3
  • Ubuntu 9.04
  • openSUSE 10.3

imake、AntのどちらかでSanctuaryをビルドできます。

ビルドに必要なもの(Ant編)

ビルドは次のものに依存しています。

各プラットフォームではそれぞれ次のように準備するのが簡単です。

FreeBSD 6.3
以下のportsをインストールしておきます。
  • java/jdk16
  • devel/apache-ant
Ubuntu 9.04
一般的な開発環境に加え、次のパッケージをインストールしておきます。
  • sun-java6-jdk
  • ant
  • ant-optional
openSUSE 10.3
一般的な開発環境に加え、次のRPMをインストールしておきます。
  • java-1_6_0-sun-devel-1.6.0.u7-1.1
  • ant-1.7.0-30
  • ant-nodeps-1.7.0-37
  • ant-trax-1.7.0-37

ビルドに必要なもの(imake編)

ビルドは次のものに依存しています。

各プラットフォームではそれぞれ次のように準備するのが簡単です。

FreeBSD 6.3
以下のportsをインストールしておきます。
  • java/jdk16
  • devel/imake
  • textproc/libxslt
Ubuntu 9.04
一般的な開発環境に加え、次のパッケージをインストールしておきます。
  • sun-java6-jdk
  • xutils-dev
  • xsltproc
openSUSE 10.3
一般的な開発環境に加え、次のRPMをインストールしておきます。
  • java-1_6_0-sun-devel-1.6.0.u7-1.1
  • xorg-x11-devel-7.2-103.4
  • libxslt-1.1.20-41

実行に必要なもの

実行するには次のものをインストールしておく必要があります。

  • Java SE Runtime Environment (JRE) 6

ビルドとインストール

コマンドラインからjavaを実行したとき、SunのJVMを実行するように環境を設定しておきます★1

この後はビルドツールによって手順が異なります。

Antでビルドする場合

次の手順でビルド、インストールします。

% tar jxf sanctuary-VERSION.tar.bz2
% cd sanctuary-VERSION
% ant
% su
# ant -Dprefix=path install ★2

imakeでビルドする場合

次の手順でビルド、インストールします。

% tar jxf sanctuary-VERSION.tar.bz2
% cd sanctuary-VERSION
% xmkmf -a
% make
% su
# make DESTDIR=path install ★2

★1 FreeBSDではjavavm(1)を参照の上、環境変数JAVA_HOME(またはJAVA_VENDORJAVA_VERSION)を適切に設定してください。Linuxではディストリビューションによって異なりますが、少なくても環境変数PATHを適切に設定することで実行するJVMを切り替えることができます。その後、次のように表示されることを確認してください。

% java -version
java version "1.6.0_13"
Java(TM) SE Runtime Environment (build 1.6.0_13-b06)
Java HotSpot(TM) Client VM (build 1.6.0_13-b06, mixed mode)

★2 pathには絶対パス(/usr/local/home/fooなど)を指定します。インストールされるファイルは次の通りです。

path/bin/sanctuary
path/lib/sanctuary/sanctuary.jar

使用方法

ヘッダファイルの生成

次のようにXMLファイルを指定してコマンドを実行するとヘッダファイルを生成します。

% sanctuary --code XMLファイル...

コマンドを実行したディレクトリを起点として、生成するヘッダファイルのパスはパッケージ名/クラス名.hになります。ただし、パッケージ名に含まれるアンダースコア(_)はスラッシュ(/)に展開されます。

デフォルトでC++からインクルードできるヘッダファイルを生成します。C++をサポートしないようにする場合は、次のようにオプション--without-c++を指定します。

% sanctuary --code --without-c++ XMLファイル...

HTMLファイルの生成

次のようにXMLファイルを指定してコマンドを実行するとHTMLファイルを生成します。

% sanctuary --html XMLファイル...

コマンドを実行したディレクトリにパッケージ名_クラス名.htmlを生成します。さらに、インデックスとなるページとしてindex.htmlを生成します。

TeXファイルの生成

次のようにXMLファイルを指定してコマンドを実行するとTeXのソースファイルを生成します。

% sanctuary --tex XMLファイル...

コマンドを実行したディレクトリにパッケージ名_クラス名.texを生成します。さらに、sanctuary.texsanctuary.styを生成します。

dviファイルを生成するには、同じディレクトリにsanctuary.texsanctuary.styを読み込むTeXファイルを用意する必要があります。配布物に含まれているsample.texを用いてdviファイルを生成するには、次のようにコマンドを実行します。

% cp どこか/sanctuary/sample.tex .
% platex sample.tex

sample.texTutorialで紹介したサンプルから生成したPDFファイルのサンプルを用意しておきました。

スタブの生成

次のようにXMLファイルを指定してコマンドを実行するとスタブとなるソースコードを生成します。

% sanctuary --stub XMLファイル...

コマンドを実行したディレクトリを起点として、生成するスタブのソースファイルのパスはstub/パッケージ名/クラス名.c(と.h)になります。ただし、パッケージ名に含まれるアンダースコア(_)はスラッシュ(/)に展開されます。

出力ディレクトリの変更

例えばHTMLファイルを生成する場合、次のようにしてファイルを生成するディレクトリを変更できます。

% sanctuary --html --output-dir=ディレクトリのパス XMLファイル...

ディレクトリが存在しない場合は生成します。相対パスの場合はカレントディレクトリが基点になります。

入力ファイルの指定

XMLファイルのパスのリストを記述したファイルをオプションに指定し、そのファイルに含まれるXMLファイルを入力とすることができます。例えば、次のような内容のファイルがあるとします。

foo/Bar.xml
foo/Baz.xml

このファイルを次のように指定することで、foo_Barfoo_BazのHTMLファイルを生成することができます。

% sanctuary --html --input-file=ファイルのパス

--input-fileオプションは通常の引数による入力ファイルの指定と併用することができます。

バージョンの表示

次のようにコマンドを実行するとバージョンを表示します。

% sanctuary --version

バージョンはメジャー.マイナー.リビジョンの形式で、DTDに互換性がなくなるとメジャー番号が増加して、マイナー番号とリビジョン番号は0に戻ります。DTDが後方互換性を保ったまま変更された場合はマイナー番号が増加して、リビジョン番号は0に戻ります。