w3m再構築メモ

w3mgmailに対応させてzaurusで再構築させた時のメモ。

  • 環境:
    • dev_img-1.6_2
    • libssl-0.9.8h: 徒然な覚書のPrivate Pacageを導入
    • gc-7.1: 配布元からソースを落としてきて、./configure;makeまでしておく。ビルドされたライブラリは./gc-7.1/.libs以下に生成される。
    • libssl-0.9.8h: 配布元からソースを落としてきてファイルの展開までやる。ビルドの時にincludeファイルだけ使う。
    • w3m-0.5.2: 徒然な覚書のPrivate Pacageを導入。w3mのバイナリだけ再構築して差し替える。
  • 構築メモ
    • w3m: Sourceforgeからw3m-0.5.2を導入。gmailに対応させるため以下のファイル(file.c)を修正
--- file.c.orig 2009-01-07 16:15:56.000000000 +0900
+++ file.c      2009-01-06 12:30:30.000000000 +0900
@@ -4240,14 +4240,14 @@
     while (*q) {
        if (!strncasecmp(q, "url=", 4)) {
            q += 4;
-           if (*q == '\"')     /* " */
+           if (*q == '\"' || *q == '\'')       /* " */
                q++;
            r = q;
            while (*r && !IS_SPACE(*r) && *r != ';')
                r++;
            s_tmp = Strnew_charp_n(q, r - q);
 
-           if (s_tmp->ptr[s_tmp->length - 1] == '\"') {        /* " 
+           if (s_tmp->ptr[s_tmp->length - 1] == '\"' || s_tmp->ptr[s_tmp->length - 1] == '\'') {       /* " 
                                                                 */
                s_tmp->length--;
                s_tmp->ptr[s_tmp->length] = '\0';
    • libgcをstatic-linkするためにconfigureスクリプトを修正。修正内容はfedora corew3m-0.5.1のSRPMに入っていたw3m-0.5-static-libgc.patchを参考に以下のように修正。
--- configure.orig	2007-05-31 21:17:05.000000000 +0900
+++ configure	2009-01-07 16:27:51.000000000 +0900
@@ -7893,7 +7893,7 @@
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   ac_check_lib_save_LIBS=$LIBS
-LIBS="-lgc  $LIBS"
+LIBS="-Wl,-Bstatic -lgc -Wl,-Bdynamic  $LIBS"
 cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -7949,7 +7949,7 @@
 { echo "$as_me:$LINENO: result: $ac_cv_lib_gc_GC_init" >&5
 echo "${ECHO_T}$ac_cv_lib_gc_GC_init" >&6; }
 if test $ac_cv_lib_gc_GC_init = yes; then
-  LIBGC="-lgc"
+  LIBGC="-Wl,-Bstatic -lgc -Wl,-Bdynamic"
 fi
 
  if test x"$ac_cv_lib_gc_GC_init" = xno; then
@@ -7970,7 +7970,7 @@
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   ac_check_lib_save_LIBS=$LIBS
-LIBS="-lgc  $LIBS"
+LIBS="-Wl,-Bstatic -lgc -Wl,-Bdynamic  $LIBS"
 cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -8026,7 +8026,7 @@
 { echo "$as_me:$LINENO: result: $ac_cv_lib_gc_GC_init" >&5
 echo "${ECHO_T}$ac_cv_lib_gc_GC_init" >&6; }
 if test $ac_cv_lib_gc_GC_init = yes; then
-  gclibdir="$dir/lib"; LIBGC="-L$dir/lib -lgc"; break
+  gclibdir="$dir/lib"; LIBGC="-L$dir/lib -Wl,-Bstatic -lgc -Wl,-Bdynamic"; break  
 fi
 
       LDFLAGS="$ldflags"
    • そしてconfigure。うまくconfigureが通った時の起動オプションを以下にメモ
zaurus$ CFLAGS=" -I$HOME/hdd/devel/gc-7.1/include \  
 -I/$HOME/hdd/devel/openssl-0.9.8h/include/" \
 LDFLAGS=" -L/$HOME/hdd/devel/gc-7.1/.libs/ \
             -L/opt/QtPalmtop/lib \
             -L/$HOME/hdd/devel/openssl-0.9.8h/" \
 ./configure --with-gc=$HOME/hdd/devel/gc-7.1/.libs/ \
  --with-ssl=/$HOME/hdd/devel/openssl-0.9.8h/include/ \
  --prefix=/opt/QtPalmtop
    • それからmakeをするとw3mのバイナリが生成される。途中.poファイル関係のビルドでエラーになるが、w3mのバイナリまでは問題無く通っているので当初の目的は達成された。
    • これでw3mから"http://mail.google.com/"と"http://mail.google.com/mail/x/"(モバイル用)にアクセスして無事見られる事を確認

This is a memo in building w3m on zaurus environment.