one more fcsh wrapper

(=>記事2009.10.24参照)
(=>記事2009.12.28参照)
phpで作成した、fcsh ラッパー。簡単なクライアント・サーバー方式で、emacsから使うことを意図したものです。チェックした動作環境は、w2k、Apche Ant、php(CLI) です。ソース一式(pipedFcsh.lzh)

フォルダ構成

解凍すると次のように展開されます。

pipedFcsh/
  PIPE_HOME/
    fcshDaemon.php、fcshPipe.php、my.php.ini
  sample-project/
    build.xml、Makefile、Sample.xml、Sample.mxml
  • PIPE_HOME : php ファイル。sample-project内の build.xml にパスを書けば、どこに置いても良い。
  • sample-project:air用のサンプルプロジェクト。次項で説明。
antを使って起動

sample-projectフォルダでcmdやbashで、antを使います*1

  $ ant daemon ... fcshDaemon.php をfcsh.exeのサーバとして別窓で起動します。
  $ ant build  ... fcshPipe.php を通して、コンパイルします。「ant」のみでもbuildになります。
  $ ant pack   ... air化します。依存関係でbuildがあるので、fcshを間接的に使います。

初回は、数十秒掛かると思いますが、2回目以降は1秒で戻ってきます。他にもfcshのコマンドinfo、clear、quitが使えます。

  $ant info   ... fcsh のターゲット情報
  $ant clear  ... fcsh のターゲット削除
  $ant quit   ... fcshDaemon の終了
直接の起動

sample-projectフォルダでcmd.exe(コマンドプロンプト)やbashで、次のようにphp(CLI)を使います。

$ php -c ../PIPE_HOME/my.php.ini ../PIPE_HOME/fcshDaemon.php
$ php -c ../PIPE_HOME/my.php.ini ../PIPE_HOME/fcshPipe.php mxmlc +configname=air Sample.mxml

sample-projectフォルダ中のbuild.xmlを参照して下さい。等価な命令が組まれているはずです。

環境
  • 動作環境
    • fcshDaemon.php、fcshPipe.phpPHP 5.2.5 (cli)、cmd.exe (windows2k)
  • サンプルプログラムビルド環境
  • 私的開発環境

ふと考えると、daemon(デーモン) は違う。デーモン は見えないからこそのデーモンじゃなかったけ? 本当は server(サーバ)が相応しい? でも、fcshSever って作った人がいるんだよな・・・それと、fcshClientやfcshWrapperも既存だし・・・。名前の微妙さは、私的利用では問題ないと言うことで。
ついでに、このソース一式の権利に関してですが、全部 Copyleft とします。とは言え、Copyleftって何なのか良く解っていないので、巷間数多存在する(かなりゆるい)BSDライセンス辺りとします。
どなたか、使ってみようという奇特な御仁がおられましたらご一報下さい・・・やんわりと、ぬるめに。

  • (追記:2009/10/14)

ソース一式中のmy.php.iniを更にダイエットすると次のようになる。こっちを使うことにする。

[PHP]
extension_dir = "C:\xampp\php\ext\"
extension=php_sockets.dll

タグ含めて3行。

  • (追記:2009/10/18)

ant,fcshのエラーメッセージの変更方法に従って、fcsh=>英語モード、ant=>emacsモード に設定しないと、fcshDaemon.php で文字解析が出来なくなる。文字解析に日本語を加えればいい話と言えばそれまでですが。