From: Yasuhiro Fukuma Date: 2000-06-16T05:32:39+09:00 Subject: [ruby-dev:10055] libxpg4 of FreeBSD ----Next_Part(Fri_Jun_16_05:32:03_2000_41)-- Content-Type: Text/Plain; charset=iso-2022-jp Content-Transfer-Encoding: 7bit 福間@福岡 です。 FreeBSDで日本語localeを使う場合にリンクする必要があった libxpg4 ですが、 最近 libc 本体に統合されて不要になりました。 ただ、いまのところ互換性のためにダミーの libxpg4.{a,so*} (中身は空っぽ)が 残っているため、configureで AC_CHECK_LIB(xpg4, setlocale) # FreeBSD needs this これに引っかかって(libcに入っている setlocale() を発見してしまう)無駄に リンクしてしまいます。実害はほとんど無いのですが、この対策です。 # 本当は # AC_CHECK_FUNC(_EUC_init,, AC_CHECK_LIB(xpg4, _EUC_init)) # 程度でもいいんだけど、内部構造におもいっきり依存してしまうので。 # FreeBSD以外で -lxpg4 しないと駄目な環境って無いですよね? --- FUKUMA Yasuhiro (福間 康弘) as Yasu.F @ Kitakyushu.Fukuoka.Japan Web site: http://www.bsdclub.org/~yasuf/ PGP fingerprint = 17 25 8A F3 99 E5 7E 19 C0 EA 6E 03 8A C3 CE F0 “いちばん苦手な言語は、日本語です。” ----Next_Part(Fri_Jun_16_05:32:03_2000_41)-- Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="configure.in.diff" Fri Jun 16 05:18:45 2000 Yasuhiro Fukuma * configure.in: FreeBSD: do not link dummy libxpg4 which was merged into libc. Index: configure.in =================================================================== RCS file: /usr/local/cvs/repositories/netlab/ruby/configure.in,v retrieving revision 1.33 diff -u -r1.33 configure.in --- configure.in 2000/06/14 05:15:08 1.33 +++ configure.in 2000/06/15 20:18:45 @@ -168,14 +168,29 @@ ac_cv_header_sys_select_h=no ac_cv_header_sys_times_h=no;; os2_emx*) LIBS="-lm $LIBS" - ac_cv_lib_xpg4_setlocale=no ac_cv_lib_dir_opendir=no;; +freebsd*) LIBS="-lm $LIBS" + AC_CACHE_CHECK([whether -lxpg4 has to be linked], + rb_cv_lib_xpg4_needed, + [AC_TRY_CPP([ +#include +#if __FreeBSD_version < 400020 || \ + (__FreeBSD_version >= 500000 && __FreeBSD_version < 500005) +#error needs libxpg4 +#endif + ], + rb_cv_lib_xpg4_needed=no, + rb_cv_lib_xpg4_needed=yes, + rb_cv_lib_xpg4_needed=yes)]) + if test "$rb_cv_lib_xpg4_needed" = yes; then + AC_CHECK_LIB(xpg4, setlocale) + fi + ;; *) LIBS="-lm $LIBS";; esac AC_CHECK_LIB(crypt, crypt) AC_CHECK_LIB(dl, dlopen) # Dynamic linking for SunOS/Solaris and SYSV AC_CHECK_LIB(dld, shl_load) # Dynamic linking for HP-UX -AC_CHECK_LIB(xpg4, setlocale) # FreeBSD needs this dnl Checks for header files. AC_HEADER_DIRENT ----Next_Part(Fri_Jun_16_05:32:03_2000_41)----