This may be useful for someone else as it took me many hours to
work out the bare essentials on how to compile sqlite on an ARM
device without threads (and no configure or tcl available).

---------------------------------------------------------------
#!/bin/sh
set -x

wget http://www.sqlite.org/sqlite-amalgamation-3_6_18.zip
wget "http://www.sqlite.org/src/raw/src/shell.c?name=29394"; -O shell.c

unzip sqlite-amalgamation-3_6_18.zip

#CFLAGS="-march=i686 -mtune=generic -O2 -pipe"
#CFLAGS="-march=x86-64 -mtune=generic -O2 -pipe -Wall -fPIC"
#CFLAGS="-march=armv4t -msoft-float -O2 -pipe -Wall"
CFLAGS="-march=armv5te -O2 -pipe -Wall"

gcc $CFLAGS \
 -DSQLITE_OS_UNIX=1 -DNDEBUG -DSQLITE_THREADSAFE=0 \
 -DSQLITE_THREAD_OVERRIDE_LOCK=-1 -DSQLITE_OMIT_LOAD_EXTENSION=1 \
 -DSQLITE_ENABLE_FTS3=1 -DSQLITE_ENABLE_COLUMN_METADATA=1 \
 -DSQLITE_TEMP_STORE=1 -c sqlite3.c -o sqlite3.o

gcc $CFLAGS \
 -shared sqlite3.o -Wl,-soname -Wl,libsqlite3.so.0 -o libsqlite3.so.0.8.6

ln -s libsqlite3.so.0.8.6 libsqlite3.so.0
ln -s libsqlite3.so.0.8.6 libsqlite3.so
ar cru libsqlite3.a sqlite3.o
ranlib libsqlite3.a

gcc $CFLAGS \
 -DSQLITE_OS_UNIX=1 -DNDEBUG -DSQLITE_THREADSAFE=0 \
 -DSQLITE_THREAD_OVERRIDE_LOCK=-1 -DSQLITE_OMIT_LOAD_EXTENSION=1 \
 -DSQLITE_ENABLE_FTS3=1 -DSQLITE_ENABLE_COLUMN_METADATA=1 -DHAVE_READLINE=1 \
 -I/usr/include/readline -o sqlite3 shell.c libsqlite3.so -lreadline

sudo mv libsqlite3.a libsqlite3.so libsqlite3.so.0 libsqlite3.so.0.8.6 /usr/lib
sudo mv sqlite3 /usr/bin


--markc
_______________________________________________
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to