OLD | NEW |
| (Empty) |
1 #!/bin/sh | |
2 # | |
3 # This script is used to compile SQLite into a DLL. | |
4 # | |
5 # Two separate DLLs are generated. "sqlite3.dll" is the core | |
6 # library. "tclsqlite3.dll" contains the TCL bindings and is the | |
7 # library that is loaded into TCL in order to run SQLite. | |
8 # | |
9 make sqlite3.c | |
10 PATH=$PATH:/opt/mingw/bin | |
11 TCLDIR=/home/drh/tcltk/846/win/846win | |
12 TCLSTUBLIB=$TCLDIR/libtcl84stub.a | |
13 OPTS='-DUSE_TCL_STUBS=1 -DBUILD_sqlite=1 -DSQLITE_OS_WIN=1' | |
14 OPTS="$OPTS -DSQLITE_THREADSAFE=1" | |
15 OPTS="$OPTS -DSQLITE_ENABLE_FTS3=1" | |
16 OPTS="$OPTS -DSQLITE_ENABLE_RTREE=1" | |
17 OPTS="$OPTS -DSQLITE_ENABLE_COLUMN_METADATA=1" | |
18 CC="i386-mingw32msvc-gcc -Os $OPTS -Itsrc -I$TCLDIR" | |
19 NM="i386-mingw32msvc-nm" | |
20 CMD="$CC -c sqlite3.c" | |
21 echo $CMD | |
22 $CMD | |
23 CMD="$CC -c tclsqlite3.c" | |
24 echo $CMD | |
25 $CMD | |
26 echo 'EXPORTS' >tclsqlite3.def | |
27 $NM tclsqlite3.o | grep ' T ' >temp1 | |
28 grep '_Init$' temp1 >temp2 | |
29 grep '_SafeInit$' temp1 >>temp2 | |
30 grep ' T _sqlite3_' temp1 >>temp2 | |
31 echo 'EXPORTS' >tclsqlite3.def | |
32 sed 's/^.* T _//' temp2 | sort | uniq >>tclsqlite3.def | |
33 i386-mingw32msvc-dllwrap \ | |
34 --def tclsqlite3.def -v --export-all \ | |
35 --driver-name i386-mingw32msvc-gcc \ | |
36 --dlltool-name i386-mingw32msvc-dlltool \ | |
37 --as i386-mingw32msvc-as \ | |
38 --target i386-mingw32 \ | |
39 -dllname tclsqlite3.dll -lmsvcrt tclsqlite3.o $TCLSTUBLIB | |
40 $NM sqlite3.o | grep ' T ' >temp1 | |
41 echo 'EXPORTS' >sqlite3.def | |
42 grep ' _sqlite3_' temp1 | sed 's/^.* _//' >>sqlite3.def | |
43 i386-mingw32msvc-dllwrap \ | |
44 --def sqlite3.def -v --export-all \ | |
45 --driver-name i386-mingw32msvc-gcc \ | |
46 --dlltool-name i386-mingw32msvc-dlltool \ | |
47 --as i386-mingw32msvc-as \ | |
48 --target i386-mingw32 \ | |
49 -dllname sqlite3.dll -lmsvcrt sqlite3.o | |
OLD | NEW |