星期三, 2月 08, 2006

reopen - ViewML, libwww and flnx

上一次的build (http://checko.blogspot.com/2006/01/viewml-open-source-web-browser-for.html) 已經寫不下去。所以由 :http://my.clubhi.com/bbs/661523/messages/21263.html 來看,用一些比較舊的版本(flnx-0.16.tar.gz
viewml-0.22.tar.gz)來試試(或許可以避掉 " unrecognizeable insn" 的compiler 問題。

先紀錄一下上次做到的階段:
  • libwww - cross configure 要修改的部份已經了解(再確認long double的意思就可以)
  • flnx - make fuild 時碰到 "unrecognizeable insn" error : 無解(改source或upgrade to 2.96 )
  • viewml - config 部份似乎ok - 缺libwww config 讀取部份.
從ftp site 各package 的 timetag來看。
libwww 應該是最穩定的--- 只有一版 2000/08/22
其他viewml 和 flnx 的最後三版,似乎對應著開發時間-- 是不是要一對一的使用?


所以,還是從最stable的libwww開始build --

上一篇提到的 long double 選項是yes還是no : 拿 pc 作reference :
double : 8
long double : 12
===> for long double 的選項是yes.
用arm-elf-gcc run出來的
double : 8
long double : 8
所以選項應該要是no
難怪configure 的test program是:exit (sizeof(long double) < ( sizeof(double) )
修 改好configure script ..開始configure :
$ CC=arm-elf-gcc CXX=arm-elf-g++ NM=arm-elf-nm AR=arm-elf-ar ./configure --host=i686-pc-linux-gnu --prefix=/home/charles/sigma/libwww --disable-shared 2>&1 | tee output
OK.
接著
make 
成功!沒有任何error. 再
make install
完成!
重點就在指定CC,CXX,NM,AR等tool和修改configure 這個script讓她可以產生cross-compile Makefile.
以下附上configure script的patch,copy 後rename為到w3c-libwww-5.2.8 的目錄下,用
$ patch configure configure.arm.patch
就可以.
--- configure 1999-04-14 05:17:07.000000000 +0800
+++ configureLibwww 2006-02-09 10:04:43.000000000 +0800
@@ -1,5 +1,6 @@
#! /bin/sh

+# modified by charles - for cross compile in arm
# From configure.in Id: configure.in,v 1.77 1999/04/13 00:33:22 frystyk Exp


@@ -6000,7 +6001,8 @@
echo $ac_n "(cached) $ac_c" 1>&6
else
if test "$cross_compiling" = yes; then
- { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; }
+# { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; } -- charleschangethis
+ ac_cv_sizeof_char=1
else
cat > conftest.$ac_ext <<EOF
#line 6007 "configure"
@@ -6039,7 +6041,8 @@
echo $ac_n "(cached) $ac_c" 1>&6
else
if test "$cross_compiling" = yes; then
- { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; }
+# { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; } charleschangethis
+ ac_cv_sizeof_char_p=4
else
cat > conftest.$ac_ext <<EOF
#line 6046 "configure"
@@ -6078,7 +6081,8 @@
echo $ac_n "(cached) $ac_c" 1>&6
else
if test "$cross_compiling" = yes; then
- { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; }
+# { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; } charleschangethis
+ ac_cv_sizeof_int=4
else
cat > conftest.$ac_ext <<EOF
#line 6085 "configure"
@@ -6117,7 +6121,8 @@
echo $ac_n "(cached) $ac_c" 1>&6
else
if test "$cross_compiling" = yes; then
- { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; }
+# { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; } charleschangethis
+ ac_cv_sizeof_long=4
else
cat > conftest.$ac_ext <<EOF
#line 6124 "configure"
@@ -6156,7 +6161,8 @@
echo $ac_n "(cached) $ac_c" 1>&6
else
if test "$cross_compiling" = yes; then
- { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; }
+# { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; } charleschangethis
+ ac_cv_c_long_time_t=yes
else
cat > conftest.$ac_ext <<EOF
#line 6163 "configure"
@@ -6194,7 +6200,8 @@
echo $ac_n "(cached) $ac_c" 1>&6
else
if test "$cross_compiling" = yes; then
- { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; }
+# { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; } charleschangethis
+ ac_cv_c_long_size_t=yes
else
cat > conftest.$ac_ext <<EOF
#line 6201 "configure"
@@ -6353,7 +6360,8 @@
rm -f conftest*
if test $ac_cv_c_bigendian = unknown; then
if test "$cross_compiling" = yes; then
- { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; }
+# { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; } charleschangethis
+ ac_cv_c_bigendian=no
else
cat > conftest.$ac_ext <<EOF
#line 6360 "configure"
@@ -6419,7 +6427,8 @@

else
if test "$cross_compiling" = yes; then
- { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; }
+# { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; } charleschangethis
+ ac_cv_c_char_unsigned=no
else
cat > conftest.$ac_ext <<EOF
#line 6426 "configure"
@@ -6464,7 +6473,8 @@
ac_cv_c_long_double=yes
else
if test "$cross_compiling" = yes; then
- { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; }
+# { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; } charleschangethis
+ ac_cv_c_long_double=no
else
cat > conftest.$ac_ext <<EOF
#line 6471 "configure"
..

沒有留言:

網誌存檔