いけむランド

はてダからやってきました

cygport でビルドしたバイナリから .exe がなくなってしまう

configure.ac/Makefile.am の書き方が悪いのかどうかわからないが、インストールしたら実行形式バイナリファイルから .exe がなくなって、拡張子なしで (ダミーのルートディレクトリに) インストールされてしまうことがある。

.exe がなくなってしまうと、__prepstrip の処理で strip されなくなってしまい、パッケージにした場合に実行形式バイナリファイル内にシンボルが残って、サイズが大きくなってしまう。

この問題が発生した場合はインストールプログラムとして、デフォルトの /bin/install ではなく ${S}/install-sh を使うようにすると解消することができる。

src_install()
{
  cd ${B}
  cyginstall INSTALL="${S}/install-sh -c"
}