Download

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

必要な構成

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

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

  • FreeBSD 6.2/5.5
  • Red Hat Linux 9
  • SUSE Linux 10.1/9.1

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

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

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

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

FreeBSD

以下のportsをインストールしておきます。

  • java/jdk15
  • devel/apache-ant

Red Hat Linux 9

一般的な開発環境に加え、次のRPMをインストールしておきます。

AntはApache Antからapache-ant-1.7.0-bin.tar.bz2をダウンロードしてインストールしておきます。

SUSE Linux 10.1

一般的な開発環境に加え、次のRPMをインストールしておきます。

  • java-1_5_0-sun-devel-1.5.0_07-1.1

AntはApache Antからapache-ant-1.7.0-bin.tar.bz2をダウンロードしてインストールしておきます。

SUSE Linux 9.1

一般的な開発環境に加え、次のRPMをインストールしておきます。

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

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

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

FreeBSD

以下のportsをインストールしておきます。

  • java/jdk15
  • devel/imake-4 または devel/imake-6
  • textproc/libxslt

Red Hat Linux 9

一般的な開発環境に加え、次のRPMをインストールしておきます。

SUSE Linux 10.1

一般的な開発環境に加え、次のRPMをインストールしておきます。

  • java-1_5_0-sun-devel-1.5.0_07-1.1
  • xorg-x11-devel-6.9.0-48
  • libxslt-1.1.15-13

SUSE Linux 9.1

一般的な開発環境に加え、次のRPMをインストールしておきます。

実行に必要なもの

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

  • J2SE Runtime Environment (JRE) 5.0

ビルドとインストール

コマンドラインからjavaを実行したとき、SunのJVMを実行するように環境変数PATHを設定しておきます。特にLinuxでは次のように表示されることを確認します。

% java -version
java version "1.5.0_15"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_15-b03)
Java HotSpot(TM) Client VM (build 1.5.0_15-b03, mixed mode, sharing)

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

Antでビルドする場合

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

% tar xf sanctuary-YYYYMMDD.tar.bz2 ★1
% cd sanctuary
% ant ★2
% su
# ant -Dprefix=path install ★3

imakeでビルドする場合

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

% tar xf sanctuary-YYYYMMDD.tar.bz2 ★1
% cd sanctuary
% xmkmf -a
% make
% su
# make DESTDIR=path install ★3

★1 プラットフォームによっては、tar(1)のオプションはyxfまたはjxfかもしれません。

★2 SUSE Linux 9.1でRPM(apache-ant-1.6.0-42)を使用してAntをインストールした場合、AntがJDK 5.0を使用するようにするため、次のようにしてantを実行してください。

% export JAVA_HOME=/usr/java/jdk1.5.0_15
% /usr/share/ant/bin/ant

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

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

使用方法

ヘッダファイルの生成

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

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

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

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

% sanctuary --code=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)になります。ただし、パッケージ名に含まれるアンダースコア(_)はスラッシュ(/)に展開されます。

バージョンの表示

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

% sanctuary --version

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