目次
NVDA 日本語版における scons
配布ファイルの作成
コマンドプロンプトはあらかじめ chcp 437 しておくと eSpeak ビルドのエラーを回避できる。
スナップショットを作る前に make clean 的なことをする -c をやっておくのが安全:
scons -c
espeak 関連のファイルだけ消しておくには:
scons --clean source/synthDrivers
インタプリタから実行する:
scons source python source\nvda.pyw
実行ファイルを作って実行する:
scons dist dist\nvda_noUIAccess.exe
- 2012.1 までは dist\nvda.exe が実行ファイルだった。
スナップショットを出す:
scons launcher publisher=nvdajp version=jpdev1205xx
- 2012.1 までは launcher ではなく installer portable だった。
- 事前に bazaar_findbakfile で削除しておかないと、不要なファイルがパッケージに混入する。
- bzr で衝突が起きたときに作られる ~1~ などのバックアップファイルを取り除いておく。
リリースを出す:
scons launcher publisher=nvdajp version=2011.1.1j-rc1 release=1
output ディレクトリの中に exe ファイルができる。
readme によると下記のオプションがある:
- version: The version of this build.
- release: Whether this is a release version.
- publisher: The publisher of this build.
- certFile: The certificate file with which to sign executables. The certificate must be in pfx format and contain the private key.
- certPassword: The password for the private key in the signing certificate. If omitted, no password will be assumed.
- certTimestampServer: The URL of the timestamping server to use to timestamp authenticode signatures. If omitted, signatures will not be timestamped.
- outputDir: The directory where the final built archives and such will be placed.
- targetArchitectures: The target architectures that NVDA should support. Possible values are all, x86 and x86_64. This should generally be left as the default.
最近追加されたターゲット:
- scons devDocs : output/devDocs ディレクトリに開発者ドキュメントを生成する(後述)
- scons symbolsArchive : output ディレクトリにデバッグシンボルを生成する
- scons launcher : 2012.2 から導入される portable と installer の統合版
- scons pot : 翻訳テンプレート作成
日本語のキーコマンド説明
since 2011-07-04
以下は 2011.1 までの話です。
NVDA-dev MLでの議論。現在キーコマンドリファレンスのHTMLはユーザガイドのt2tファイルから keyCommands.t2t を介して自動生成するようになっている。 しかし日本語のユーザガイドの t2t ファイルには「キーコマンド生成用のマークアップ」が入っていなかった。 そこで日本語のみ「ブラックリスト」として生成を止めている。
ブラックリストから外すには:
sconstruct ファイルの
keyCommandsLangBlacklist=set(['ja'])
という行を以下に変更:
keyCommandsLangBlacklist=set()
そして scons source するか scons user_docs\ja\keyCommands.html すればよい。
デバッグ
since 2011-09-30
nvdajp_debug に移動。
開発者向けドキュメント
since 2011-10-06
ドキュメントをビルドする。Doxygen が必要:
scons devDocs
どこに作られるか?
- output/devDocs/developerGuide.html
- output/devDocs/nvdaHelper/files.html など
2011-12-20 本家の最近のバージョンは scons devDocs するために epydoc が必要
- epydoc-3.0.1.win32.exe で動作を確認した。
インストーラーの音声がJTalkにならない
2011-12-15
2011.3j-beta2 で「インストーラーのデフォルトの音声エンジンがJTalkにならない」という現象が発生。
scons -c して scons installer しなおしたら解決しそうだ。。
espeak データのコンパイル
since 2011-12-21
scons すると espeak データのコンパイルの am_list あたりで "bad phoneme" というエラーがでる。
chcp 437 して scons したら解決した。
chcp 932 で戻る。
tr_languages.cpp のコンパイルエラー問題は nvdajp_devinstaller に書きました。
nvdaControllerClient
since 2012-08-22
nvdaControllerClient の DLL はソースに含まれているが、標準ではビルドされないらしい。
scons nvdaHelper/client
すれば
nvdaHelper\build\x86\client nvdaHelper\build\x86_64\client
にビルドされたファイルが置かれる。