可以參考 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的執行檔。