1. download http://www.w3.org/Library/Distribution/w3c-libwww-5.4.0.tgz。

2. tar zxvf /mnt/hgfs/sigma/src/microwindows/w3c-libwww-5.4.0.tgz。

3. build libwww
    a.
CC=arm-elf-gcc CXX=arm-elf-g++ AR=arm-elf-ar RANLIB=arm-elf-ranlib LD=arm-elf-ld \
./configure --target=arm-elf-linux --host=x86-pc-linux --disable-shared --enable-static
    b. 發生錯誤
checking size of char *... configure: error: can not run test program while cross compiling

4. 上面的錯誤是因為 autoconfig 沒有辦法知道 target platform 的 char size,所以發出 error(autoconfig 利用 run test program 來偵測 machine 的 var size)。解決的方法就是手動囉,因為只有 build 的人才會知道 target system 的 char size。
    a. modify configure
       line 5727
       -- { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; }
       ++ ac_cv_sizeof_char_p=4
       line 5844
       -- { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; }
       ++ ac_cv_c_long_time_t=yes
       line 5882
       -- { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; }
       ++ ac_cv_c_long_size_t=yes
       line 6041
       -- { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; }
       ++ ac_cv_c_bigendian=no
       line 6107
       -- { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; }
       ++ ac_cv_c_char_unsigned=no
       line 6152
       -- { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; }
       ++ ac_cv_c_long_double=no

5. build libwww again
    a.
CC=arm-elf-gcc CXX=arm-elf-g++ AR=arm-elf-ar RANLIB=arm-elf-ranlib LD=arm-elf-ld \
./configure --target=arm-elf-linux --host=x86-pc-linux --disable-shared --enable-static
    b. make

6. OK


台南小新 發表在 痞客邦 PIXNET 留言(0) 人氣()