summaryrefslogtreecommitdiff
path: root/ext/pdo_sqlite/sqlite/mkdll.sh
diff options
context:
space:
mode:
Diffstat (limited to 'ext/pdo_sqlite/sqlite/mkdll.sh')
-rw-r--r--ext/pdo_sqlite/sqlite/mkdll.sh42
1 files changed, 42 insertions, 0 deletions
diff --git a/ext/pdo_sqlite/sqlite/mkdll.sh b/ext/pdo_sqlite/sqlite/mkdll.sh
new file mode 100644
index 0000000000..bad8619f3e
--- /dev/null
+++ b/ext/pdo_sqlite/sqlite/mkdll.sh
@@ -0,0 +1,42 @@
+#!/bin/sh
+#
+# This script is used to compile SQLite into a DLL.
+#
+# Two separate DLLs are generated. "sqlite3.dll" is the core
+# library. "tclsqlite3.dll" contains the TCL bindings and is the
+# library that is loaded into TCL in order to run SQLite.
+#
+make target_source
+cd tsrc
+PATH=$PATH:/opt/mingw/bin
+TCLDIR=/home/drh/tcltk/846/win/846win
+TCLSTUBLIB=$TCLDIR/libtcl84stub.a
+OPTS='-DUSE_TCL_STUBS=1 -DNDEBUG=1 -DTHREADSAFE=1'
+CC="i386-mingw32msvc-gcc -O2 $OPTS -I. -I$TCLDIR"
+rm shell.c
+for i in *.c; do
+ CMD="$CC -c $i"
+ echo $CMD
+ $CMD
+done
+echo 'EXPORTS' >tclsqlite3.def
+echo 'Tclsqlite3_Init' >>tclsqlite3.def
+echo 'Sqlite3_Init' >>tclsqlite3.def
+i386-mingw32msvc-dllwrap \
+ --def tclsqlite3.def -v --export-all \
+ --driver-name i386-mingw32msvc-gcc \
+ --dlltool-name i386-mingw32msvc-dlltool \
+ --as i386-mingw32msvc-as \
+ --target i386-mingw32 \
+ -dllname tclsqlite3.dll -lmsvcrt *.o $TCLSTUBLIB
+i386-mingw32msvc-strip tclsqlite3.dll
+rm tclsqlite.o
+i386-mingw32msvc-dllwrap \
+ --def sqlite3.def -v --export-all \
+ --driver-name i386-mingw32msvc-gcc \
+ --dlltool-name i386-mingw32msvc-dlltool \
+ --as i386-mingw32msvc-as \
+ --target i386-mingw32 \
+ -dllname sqlite3.dll -lmsvcrt *.o
+i386-mingw32msvc-strip sqlite3.dll
+cd ..