2007年7月25日 星期三

comiple sqlite3 for arm uclinux

比較新版點的Sqlite3的autoconfig檔本身就己經支援了cross compiler的偵測,基本上只要在configure裡下一點參數就可以。

可以參考 http://www.sqlite.org/cvstrac/wiki?p=HowToCompile 裡 Crosscompile linux x86 -> linux arm的說明。

不過help裡的說是以Sqlite 3.3.7,我測試結果到3.3.17好像都還ok,到了3.4.0因為使用了isnan,所以linking時需要加上math library。

先在sqlite下建立一個building用的目錄
這是我使用的configure command。

AR=arm-uclinux-elf-ar \
RANLIB=arm-uclinux-elf-ranlib \
OBJDUMP=arm-uclinux-elf-objdump \
AS=arm-uclinux-elf-as \
CC=arm-uclinux-elf-gcc \
LD=arm-uclinux-elf-ld \
NM=arm-uclinux-elf-nm \
STRIP=arm-uclinux-elf-strip \
CFLAGS="-lm -elf2flt -DSQLITE_DISABLE_LFS" \
../configure --disable-tcl --host=arm-uclinux-elf

因為我的corss commpiler不支援big file,所以我另外再加上disable big file support的參數。
我使用FLAT的,所以再加上-elf2flt產生flat的執行檔。


沒有留言: