現実逃避がてら、眺めてみました。
src/Makefile.in.in の、
LD=@ld@
が問題になっています。さて、configure.in の
#define ORDINARY_LD "\$(CC) \$(CFLAGS)"
configure___ ordinary_ld=ORDINARY_LD
#ifdef ORDINARY_LINK
#define LD "\$(ORDINARY_LD)"
#else /* no ORDINARY LINK */
#ifdef COFF_ENCAPSULATE
#define LD "\$(CC) -nostdlib"
#else /* not COFF_ENCAPSULATE */
#ifdef LINKER
#define LD LINKER
#else /* ! defined (LINKER) */
#define LD "ld"
#endif /* ! defined (LINKER) */
#endif /* ! defined (COFF_ENCAPSULATE) */
#endif /* not ORDINARY_LINK */
configure___ ld=LD
で、この @ld@ を置き換える文字列が作られるのですが、Solaris 2.x では、
configure 実行時には src/s/sol2.h での
#ifdef NOT_C_CODE
#define ORDINARY_LINK
:
#endif
が有効になって(なるんでしょう、きっと)、configure.in 中の
#define LD "\$(ORDINARY_LD)"
が使われてしまいます。したがって、
>>>> In <yosu7ldjn2yc.fsf(a)jpl.org>
>>>> Katsumi Yamaoka <yamaoka(a)jpl.org> wrote:
山岡さん> -#define LD "\$(ORDINARY_LD)"
これだと、src/Makefile で LD=$(ORDINARY_LD) になって、ORDINARY_LD なん
か知らん、というエラーになりますが、
山岡さん> +#define LD ORDINARY_LD
こうすると、その前の行にある
#define ORDINARY_LD "\$(CC) \$(CFLAGS)"
が効いて、LD= $(CC) $(CFLAGS) になりますね。
以上の僕の読みが正しければ、この修正で間違いじゃないと思います。
--
NAKAJI Hiroyuki (中治 弘行)