#from README 2. Install SKF Since skf depends on only basic file I/O and provides configure scripts, install should be easy except some switches related to locale features. Here are some supported configure options. Since 1.96, skf needs perl on compile. skf は基本的な入出力機能のみを利用しており、configure スクリプト を提供しているため、インストールは難しくはないはずである。問題があ る場合には、以下のサポートされている (特にロカール関係の) スイッ チを変更してほしい。また、1.96 以降の skf はコンパイル時に perl が必要である。
--enable/disable-getenv Enable/Disable getting user setting from environment variables using gettext framework. See man page. Default is enabled, and will be off on platform without gettext. ユーザ設定を環境変数から読む機能を有効化/無効化する。 man ページ参照のこと。標準値は有効であるが、必要な関数が提供 されていない場合は自動的に無効になる。 --enable/disable-oldnec Enable/Disable old NEC PC Kanji-shift sequence (i.e. ESC-K, H). Default is enabled. --enable/disable-debug Enable/Disable compiling debugging codes into skf. Default is disabled. To gather information for debug, use -% option (see man page). デバッグ機能を有効化/無効化する。 標準値は無効である。デバッグ情報を集めるには、このスイッチを 有効にしてコンパイルし、-% オプションを用いる (man ページ参照) --enable/disable-dynamic Enable/Disable compiling code tables into skf. Note that disabling this feature results in fairly large binary. Default is enabled. デーブルの動的読み出しを有効化/無効化する。機能的には何れでも 変化はないが、バイナリサイズと実行時のメモリ消費は動的指定の ほうが抑えられる。標準値は有効である。 --enable/disable-nls Enable/Disable locale specific messages. Default is enabled, but automatically disabled on OS's without gettextized NLS support. Note that skf only contains English and Japanese messages. ロカールによるメッセージ機能を有効化/無効化する。標準値は有効 であるが、gettext による NLS サポートがない環境では自動的に無 効になる (はず)。なお、skf の配布パッケージには、英語と日本語 のメッセージのみ含まれている。 Standard autoconf options, like --prefix and --exec-prefix are also supported. As shown above, skf implements locale features using GNU gettext framework, and the framework is used only to get localized
skf does not support X11's catget features. --prefix や --exec-prefix などの標準的な autoconf のオプションもサポ ートされている。 上記の通り、skf は GNU gettext フレームワークによる多言語対応を実装 しているが、エラー等のメッセージ出力のみに影響する。X11 の catget 機 能はサポートしていない。
2.1 Linux, M*cOS X and Un*x-like systems If you are using a kind of modern unices system, just type ./configure and then make. You'll get working binary. For dynamic loading, "make install" will take care table install. You might need the gettext development package installed to compile for nls feature. Compilation on M*cOS X system (10.12 for 2.10) is tested and supported, but needs gettext package from macport. OS version under 10.4 is not supported. If you are using an other kind of Un*x style system and find compile failures, just report! Or try to adjust locale features (--disable-nls), external table features (--disable-dynamic) and CFLAGS in Makefile for your system. 比較的最近の Un*x 環境では、./configure と make を順に打つことでバイ ナリが作成される。特にテーブルを動的読み出しにした場合は、テーブルの インストールが必要なので、支障ない限り make install を使ってインスト ールすること。ロカール機能を使うには、gettext の開発用環境がインスト ールされている必要がある。 M*cOS X については、2.10 では High Sierra 環境でテストされている。 上手くコンパイルできない場合は、Makefile の CFLAG を調整すること。
2.1.1. Create RPM package Use "make srpm" creates a RPM source package in rpm/SRPMS and prepare files to make rpms. Note that ${HOME}/.rpmmacro will be overwritten. You are warned 8-) After that, make rpm creates RPM package in rpm/RPMS/${arch}. "make srpm"、"make rpm" で RPM パッケージが作成される。但し、 ${HOME}/.rpmmacro を勝手に上書きするので注意 8-) Debian 上でしかテストしていないため、それ以外にも動きが怪しい可能性 在り。 RPM パッケージは rpm/RPMS/${arch} に作成される。
2.1.2. Create DEB package Debian package creation is well tested and supported. You can build package using dpkg-buildpackage with debhelper (Yep. You need debhelper to make deb. See debhelper's manual). Debian パッケージは良くテストされているはず。リリース時点で最新の Debian stable と Ubuntu 環境でテストされている。Debian パッケージ生成 には debhelper が必要である。
2.2 Wind*ws Compilation under Msys environment is tested and supposed to work. There are some evironment related issues. And Note that install directory is different from other environments. Msys 環境は、比較的よくテストされている。但し、環境固有の制限(例えば ロカールが設定できないなど)があること、インストール先が他の環境と異な るので注意。 For cygwin environment, cygwin-version binaries compilation is partially tested. You will need latest cygwin environment and both gettext and gettext-dev packages for nls feature which will be automatically enabled by configure. Please refer descriptions in Makefile. skf-1.94 and later doesn't support SFU 3.5. Proceeds with cautions :-) cygwin 環境はコンパイルまではテストされている。gettext/gettext-dev パッケー ジをインストールしておくこと。 Linux environment on Windows 10 is not tested. Windows 10 のLinux環境はテストされていない。
If you want some detailed or esoteric/cosmetic setting changes, see config.h. Common settings can be handled in Makefile. 基本的に、機能面でのスイッチは config.h に、環境のスイッチは Makefile に集めてある (autoconf 絡みを除いて) ので、何かあった場合は怪しそうな 処を確認願う。
3. Install SKF plugins (will be enabled in 1.94 or later) Prerequisite: SWIG, Development package of the target LWL. For perl extension, use "make perlext" in skf-root directory. Binary is generated in skf root directory. Requires gcc, and other GNU related stuff besides the script language itself. For ruby, s/perl/ruby/. Extension directory used in installing is system default arch. directory. Created extension will be skf.so(SKF.so in cygwin environment). Note that name of function in perl extension is set to skfc::convert in some cygwin-related environment. Pyhon and ruby binary version should be automatically detected, but if you have installed multiple versions, you might need explicit version control. For python 3, you'll need both --enable-python3 and --enable-py3feature for configure option. 事前に SWIG のインストールが必要。また、対象 LWL の開発用環境が必要。 例えば perl では、"make clean; make perlext; make perlext_install" で プラグインのコンパイルとインストールが行われる。プラグインの関数名は 環境によって変化するので、確認すること。Ruby と python の版は一応自動 判定するが、複数の版をインストールしている場合は、特に Python では --enable-python3 および --enable-py3feature の両方を指定すること。