perl-5.8.8 を gcc-4.2系でコンパイルする際の注意

  • そのままコンパイルすると,次のようなエラーが出て停止する.
gmake: *** No rule to make target `<command-line>', needed by `miniperlmain.o'.  Stop.
    • makefile,x2p/makefile(Makefileではない)に以下のような解決不能な依存関係が残ってしまっている.これはmakedependが行われるときに削除されるべきもの.
av$(OBJ_EXT): <command-line>
# 1 "<stdin>"
# 1 "<built-in>"
# 1 "<command line>"
# 1 "<stdin>"
    • gcc-4.2系では以下になっていてcommand-lineのようにハイフンが入るようになった.
# 1 "<stdin>"
# 1 "<built-in>"
# 1 "<command-line>"
# 1 "<stdin>"
  • makedepend.SHにcommand-lineをもつ行も削除させるようsedの条件を一行追加する.
*** makedepend.SH.dist  Fri Jun  6 03:11:10 2003
--- makedepend.SH     Fri Feb 29 04:13:55 2008
***************
*** 167,172 ****
--- 167,173 ----
              -e '/^#.*<builtin>/d' \
              -e '/^#.*<built-in>/d' \
              -e '/^#.*<command line>/d' \
+             -e '/^#.*<command-line>/d' \
            -e '/^#.*"-"/d' \
            -e '/: file path prefix .* never used$/d' \
            -e 's#\.[0-9][0-9]*\.c#'"$file.c#" \