Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | Automatically compute the sqlite3.def and tclsqlite3.def files when building windows DLLs. This will (hopefully) keep the .def files in perfect synchronization with the DLLs. Ticket #1951. (CVS 3381) |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA1: |
1f6d79266a7f8d0e909e47d9858557e3 |
User & Date: | drh 2006-09-01 17:06:20 |
Context
2006-09-02
| ||
00:23 | Miscellaneous restructuring and cleanup based on suggestions from shess. (CVS 3382) check-in: e98b0cf2 user: adamd tags: trunk | |
2006-09-01
| ||
17:06 | Automatically compute the sqlite3.def and tclsqlite3.def files when building windows DLLs. This will (hopefully) keep the .def files in perfect synchronization with the DLLs. Ticket #1951. (CVS 3381) check-in: 1f6d7926 user: drh tags: trunk | |
15:49 | Remove use of the "clock" command in the test suite so that the tests will run in Tcl8.5. Ticket #1445. (CVS 3380) check-in: bedbac54 user: drh tags: trunk | |
Changes
Changes to Makefile.in.
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
...
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
|
# target_source: $(SRC) parse.c opcodes.c keywordhash.h $(VDBEHDR) rm -rf tsrc mkdir -p tsrc cp $(SRC) $(VDBEHDR) tsrc rm tsrc/sqlite.h.in tsrc/parse.y cp parse.c opcodes.c keywordhash.h tsrc cp $(TOP)/sqlite3.def tsrc # Rules to build the LEMON compiler generator # lemon$(BEXE): $(TOP)/tool/lemon.c $(TOP)/tool/lempar.c $(BCC) -o lemon $(TOP)/tool/lemon.c cp $(TOP)/tool/lempar.c . ................................................................................ rm -f $(PUBLISH) rm -f *.da *.bb *.bbg gmon.out rm -f testfixture$(TEXE) test.db rm -rf doc rm -f common.tcl rm -f sqlite3.dll sqlite3.lib # # Windows section; all this funky .dll stuff ;-) # dll: sqlite3.dll REAL_LIBOBJ = $(LIBOBJ:%.lo=.libs/%.o) sqlite3.dll: $(LIBOBJ) $(TOP)/sqlite3.def dllwrap --dllname sqlite3.dll --def $(TOP)/sqlite3.def $(REAL_LIBOBJ) strip sqlite3.dll #target for dll import libraries implib: sqlite3.lib #make Borland C++ and/or Microsoft VC import library for the dll # ignore any errors (usually due to missing programs) sqlite3.lib: sqlite3.dll -impdef -a sqlite3.def sqlite3.dll -implib sqlite3.lib sqlite3.def -lib /machine:i386 /def:$(TOP)/sqlite3.def distclean: clean rm -f config.log config.status libtool Makefile config.h |
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
|
278
279
280
281
282
283
284
285
286
287
288
289
290
291
...
663
664
665
666
667
668
669
670
671
|
#
target_source: $(SRC) parse.c opcodes.c keywordhash.h $(VDBEHDR)
rm -rf tsrc
mkdir -p tsrc
cp $(SRC) $(VDBEHDR) tsrc
rm tsrc/sqlite.h.in tsrc/parse.y
cp parse.c opcodes.c keywordhash.h tsrc
# Rules to build the LEMON compiler generator
#
lemon$(BEXE): $(TOP)/tool/lemon.c $(TOP)/tool/lempar.c
$(BCC) -o lemon $(TOP)/tool/lemon.c
cp $(TOP)/tool/lempar.c .
................................................................................
rm -f $(PUBLISH)
rm -f *.da *.bb *.bbg gmon.out
rm -f testfixture$(TEXE) test.db
rm -rf doc
rm -f common.tcl
rm -f sqlite3.dll sqlite3.lib
distclean: clean
rm -f config.log config.status libtool Makefile config.h
|
Changes to main.mk.
203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 |
#
target_source: $(SRC) $(VDBEHDR) opcodes.c keywordhash.h
rm -rf tsrc
mkdir tsrc
cp $(SRC) $(VDBEHDR) tsrc
rm tsrc/sqlite.h.in tsrc/parse.y
cp parse.c opcodes.c keywordhash.h tsrc
cp $(TOP)/sqlite3.def tsrc
# Rules to build the LEMON compiler generator
#
lemon: $(TOP)/tool/lemon.c $(TOP)/tool/lempar.c
$(BCC) -o lemon $(TOP)/tool/lemon.c
cp $(TOP)/tool/lempar.c .
|
< |
203 204 205 206 207 208 209 210 211 212 213 214 215 216 |
# target_source: $(SRC) $(VDBEHDR) opcodes.c keywordhash.h rm -rf tsrc mkdir tsrc cp $(SRC) $(VDBEHDR) tsrc rm tsrc/sqlite.h.in tsrc/parse.y cp parse.c opcodes.c keywordhash.h tsrc # Rules to build the LEMON compiler generator # lemon: $(TOP)/tool/lemon.c $(TOP)/tool/lempar.c $(BCC) -o lemon $(TOP)/tool/lemon.c cp $(TOP)/tool/lempar.c . |
Changes to mkdll.sh.
9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 |
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 -DBUILD_sqlite=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 'Tclsqlite_Init' >>tclsqlite3.def echo 'Sqlite3_Init' >>tclsqlite3.def echo 'Sqlite_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 .. |
> < < < < > > > > > > > > > |
9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 |
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 -DBUILD_sqlite=1' CC="i386-mingw32msvc-gcc -O2 $OPTS -I. -I$TCLDIR" NM="i386-mingw32msvc-nm" rm shell.c for i in *.c; do CMD="$CC -c $i" echo $CMD $CMD done echo 'EXPORTS' >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 $NM tclsqlite3.dll | grep ' T ' >temp1 grep '_Init$' temp1 >temp2 grep '_SafeInit$' temp1 >>temp2 grep ' T _sqlite3_' temp1 >>temp2 echo 'EXPORTS' >tclsqlite3.def sed 's/^.* T _//' temp2 | sort | uniq >>tclsqlite3.def 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 $NM sqlite3.dll | grep ' T ' >temp1 echo 'EXPORTS' >sqlite3.def grep ' _sqlite3_' temp1 | sed 's/^.* _//' >>sqlite3.def cd .. |