]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Changes for WinRT compatibility. Also, allow version resource compilation and embedd...
authormistachkin <mistachkin@noemail.net>
Sat, 6 Oct 2012 03:48:25 +0000 (03:48 +0000)
committermistachkin <mistachkin@noemail.net>
Sat, 6 Oct 2012 03:48:25 +0000 (03:48 +0000)
FossilOrigin-Name: 4b0facc13b1026419f9b89dab3453ba43071455c

Makefile.msc
manifest
manifest.uuid
src/os_win.c

index 1f8b5bfe826cc82f7eeceb4ebaf3a2cbe624dae6..4b83eee739ea40ae1d3f1c1f0b41ce4c9eabf06d 100644 (file)
@@ -30,6 +30,10 @@ XCOMPILE = 0
 #
 USE_NATIVE_LIBPATHS = 0
 
+# Set this 0 to skip the compiling and embedding of version resources.
+#
+USE_RC = 1
+
 # Set this non-0 to compile binaries suitable for the WinRT environment.
 # This setting does not apply to any binaries that require Tcl to operate
 # properly (i.e. the text fixture, etc).
@@ -168,8 +172,8 @@ RCC = $(RC) -DSQLITE_OS_WIN=1 -I$(TOP) -I$(TOP)\src
 !IF $(FOR_WINRT)!=0
 TCC = $(TCC) -DSQLITE_OS_WINRT=1
 RCC = $(RCC) -DSQLITE_OS_WINRT=1
-TCC = $(TCC) -DWINAPI_FAMILY=WINAPI_PARTITION_APP
-RCC = $(RCC) -DWINAPI_FAMILY=WINAPI_PARTITION_APP
+TCC = $(TCC) -DWINAPI_FAMILY=WINAPI_FAMILY_APP
+RCC = $(RCC) -DWINAPI_FAMILY=WINAPI_FAMILY_APP
 !ENDIF
 
 # Also, we need to dynamically link to the correct MSVC runtime
@@ -180,14 +184,18 @@ RCC = $(RCC) -DWINAPI_FAMILY=WINAPI_PARTITION_APP
 !IF $(FOR_WINRT)!=0 || $(USE_CRT_DLL)!=0
 !IF $(DEBUG)>0
 TCC = $(TCC) -MDd
+BCC = $(BCC) -MDd
 !ELSE
 TCC = $(TCC) -MD
+BCC = $(BCC) -MD
 !ENDIF
 !ELSE
 !IF $(DEBUG)>0
 TCC = $(TCC) -MTd
+BCC = $(BCC) -MTd
 !ELSE
 TCC = $(TCC) -MT
+BCC = $(BCC) -MT
 !ENDIF
 !ENDIF
 
@@ -472,6 +480,14 @@ LIBOBJ = $(LIBOBJS0)
 LIBOBJ = $(LIBOBJS1)
 !ENDIF
 
+# Determine if embedded resource compilation and usage are enabled.
+#
+!IF $(USE_RC)!=0
+LIBRESOBJS = sqlite3res.lo
+!ELSE
+LIBRESOBJS =
+!ENDIF
+
 # All of the source code files.
 #
 SRC = \
@@ -766,10 +782,10 @@ libsqlite3.lib:   $(LIBOBJ)
 libtclsqlite3.lib:     tclsqlite.lo libsqlite3.lib
        $(LTLIB) $(LTLIBOPTS) $(LTLIBPATHS) /OUT:$@ tclsqlite.lo libsqlite3.lib $(LIBTCL:tcl=tclstub) $(TLIBS)
 
-sqlite3.exe:   $(TOP)\src\shell.c libsqlite3.lib sqlite3res.lo sqlite3.h
+sqlite3.exe:   $(TOP)\src\shell.c libsqlite3.lib $(LIBRESOBJS) sqlite3.h
        $(LTLINK) $(READLINE_FLAGS) \
                $(TOP)\src\shell.c \
-               /link $(LTLINKOPTS) $(LTLIBPATHS) libsqlite3.lib sqlite3res.lo $(LIBREADLINE) $(LTLIBS) $(TLIBS)
+               /link $(LTLINKOPTS) $(LTLIBPATHS) libsqlite3.lib $(LIBRESOBJS) $(LIBREADLINE) $(LTLIBS) $(TLIBS)
 
 # This target creates a directory named "tsrc" and fills it with
 # copies of all of the C source code and header files needed to
@@ -819,14 +835,16 @@ opcodes.lo:       opcodes.c
 
 # Rule to build the Win32 resources object file.
 #
-sqlite3res.lo: $(TOP)\src\sqlite3.rc $(HDR)
+!IF $(USE_RC)!=0
+$(LIBRESOBJS): $(TOP)\src\sqlite3.rc $(HDR)
        echo #ifndef SQLITE_RESOURCE_VERSION > sqlite3rc.h
        for /F %%V in ('type "$(TOP)\VERSION"') do ( \
                echo #define SQLITE_RESOURCE_VERSION %%V \
                        | $(NAWK) "/.*/ { gsub(/[.]/,\",\");print }" >> sqlite3rc.h \
        )
        echo #endif >> sqlite3rc.h
-       $(LTRCOMPILE) -fo sqlite3res.lo $(TOP)\src\sqlite3.rc
+       $(LTRCOMPILE) -fo $(LIBRESOBJS) $(TOP)\src\sqlite3.rc
+!ENDIF
 
 # Rules to build individual *.lo files from files in the src directory.
 #
@@ -1043,8 +1061,8 @@ tclsqlite.lo:     $(TOP)\src\tclsqlite.c $(HDR)
 tclsqlite-shell.lo:    $(TOP)\src\tclsqlite.c $(HDR)
        $(LTCOMPILE) -DTCLSH=1 -DBUILD_sqlite -I$(TCLINCDIR) -c $(TOP)\src\tclsqlite.c
 
-tclsqlite3.exe:        tclsqlite-shell.lo libsqlite3.lib sqlite3res.lo
-       $(LD) $(LDFLAGS) $(LTLINKOPTS) $(LTLIBPATHS) /OUT:$@ libsqlite3.lib tclsqlite-shell.lo sqlite3res.lo $(LTLIBS) $(TLIBS)
+tclsqlite3.exe:        tclsqlite-shell.lo libsqlite3.lib $(LIBRESOBJS)
+       $(LD) $(LDFLAGS) $(LTLINKOPTS) $(LTLIBPATHS) /OUT:$@ libsqlite3.lib tclsqlite-shell.lo $(LIBRESOBJS) $(LTLIBS) $(TLIBS)
 
 # Rules to build opcodes.c and opcodes.h
 #
@@ -1157,11 +1175,11 @@ TESTFIXTURE_SRC = $(TESTSRC) $(TOP)\src\tclsqlite.c $(TESTFIXTURE_SRC0)
 TESTFIXTURE_SRC = $(TESTSRC) $(TOP)\src\tclsqlite.c $(TESTFIXTURE_SRC1)
 !ENDIF
 
-testfixture.exe:       $(TESTFIXTURE_SRC) sqlite3res.lo $(HDR)
+testfixture.exe:       $(TESTFIXTURE_SRC) $(LIBRESOBJS) $(HDR)
        $(LTLINK) -DSQLITE_NO_SYNC=1 $(TESTFIXTURE_FLAGS) \
                -DBUILD_sqlite -I$(TCLINCDIR) \
                $(TESTFIXTURE_SRC) \
-               /link $(LTLINKOPTS) $(LTLIBPATHS) sqlite3res.lo $(LTLIBS) $(TLIBS)
+               /link $(LTLINKOPTS) $(LTLIBPATHS) $(LIBRESOBJS) $(LTLIBS) $(TLIBS)
 
 fulltest:      testfixture.exe sqlite3.exe
        .\testfixture.exe $(TOP)\test\all.test
@@ -1182,9 +1200,9 @@ sqlite3_analyzer.c: sqlite3.c $(TOP)\src\test_stat.c $(TOP)\src\tclsqlite.c $(TO
        $(NAWK) -f $(TOP)\tool\tostr.awk $(TOP)\tool\spaceanal.tcl >> $@
        echo ; return zMainloop; } >> $@
 
-sqlite3_analyzer.exe:  sqlite3_analyzer.c sqlite3res.lo
+sqlite3_analyzer.exe:  sqlite3_analyzer.c $(LIBRESOBJS)
        $(LTLINK) -DBUILD_sqlite -DTCLSH=2 -I$(TCLINCDIR) sqlite3_analyzer.c \
-               /link $(LTLINKOPTS) $(LTLIBPATHS) sqlite3res.lo $(LTLIBS) $(TLIBS)
+               /link $(LTLINKOPTS) $(LTLIBPATHS) $(LIBRESOBJS) $(LTLIBS) $(TLIBS)
 
 clean:
        del /Q *.lo *.ilk *.lib *.obj *.pdb sqlite3.exe libsqlite3.lib
@@ -1217,5 +1235,5 @@ sqlite3.def: libsqlite3.lib
                | $(NAWK) "/ 1 _?sqlite3_/ { sub(/^.* _?/,\"\");print }" \
                | sort >> sqlite3.def
 
-sqlite3.dll: $(LIBOBJ) sqlite3res.lo sqlite3.def
-       $(LD) $(LDFLAGS) $(LTLINKOPTS) $(LTLIBPATHS) /DLL /DEF:sqlite3.def /OUT:$@ $(LIBOBJ) sqlite3res.lo $(LTLIBS) $(TLIBS)
+sqlite3.dll: $(LIBOBJ) $(LIBRESOBJS) sqlite3.def
+       $(LD) $(LDFLAGS) $(LTLINKOPTS) $(LTLIBPATHS) /DLL /DEF:sqlite3.def /OUT:$@ $(LIBOBJ) $(LIBRESOBJS) $(LTLIBS) $(TLIBS)
index 848365489378aba56f6dac1ca8adb9403f7d622d..24d29501c44be1a02914d2e00ed42cc9d2aebc82 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,9 +1,9 @@
-C Fix\sa\sproblem\sin\sshared-cache\smode\swhere\sa\sCOMMIT\sstatement\smight\scause\sa\sbusy-handler\sbelonging\sto\sa\sshared-cache\sconnection\sother\sthan\sthe\scurrent\swriter\sto\sbe\sinvoked.
-D 2012-10-05T19:43:02.225
+C Changes\sfor\sWinRT\scompatibility.\s\sAlso,\sallow\sversion\sresource\scompilation\sand\sembedding\sto\sbe\sdisabled\sat\scompile-time.
+D 2012-10-06T03:48:25.094
 F Makefile.arm-wince-mingw32ce-gcc d6df77f1f48d690bd73162294bbba7f59507c72f
 F Makefile.in 5f4f26109f9d80829122e0e09f9cda008fa065fb
 F Makefile.linux-gcc 91d710bdc4998cb015f39edf3cb314ec4f4d7e23
-F Makefile.msc 1102ce2c75965b9b5534efce380007ffcb08c52e
+F Makefile.msc a8495ef567c1872cd9e0679c96a02aafbf9c43b5
 F Makefile.vxworks b18ad88e9a8c6a001f5cf4a389116a4f1a7ab45f
 F README cd04a36fbc7ea56932a4052d7d0b7f09f27c33d6
 F VERSION edab4af5a4623f8198833ea481ce98ab53750a8d
@@ -161,7 +161,7 @@ F src/os.c e1acdc09ff3ac2412945cca9766e2dcf4675f31c
 F src/os.h 027491c77d2404c0a678bb3fb06286f331eb9b57
 F src/os_common.h 92815ed65f805560b66166e3583470ff94478f04
 F src/os_unix.c a5a45a2857c43b37bac145b521064a85a544cd7a
-F src/os_win.c 90c7a1fe2698867555ba4266f5bd436c85d0d1dc
+F src/os_win.c 44f39059279dfd40ead4f259001420105c20e710
 F src/pager.c a7ad8c38809edf0be545e8f52da5bcbb88885b38
 F src/pager.h bdbc379557eb2e233dfec10986b3086877e72db7
 F src/parse.y f29df90bd3adc64b33114ab1de9fb7768fcf2099
@@ -1019,7 +1019,7 @@ F tool/vdbe-compress.tcl f12c884766bd14277f4fcedcae07078011717381
 F tool/warnings-clang.sh f6aa929dc20ef1f856af04a730772f59283631d4
 F tool/warnings.sh fbc018d67fd7395f440c28f33ef0f94420226381
 F tool/win/sqlite.vsix 67d8a99aceb56384a81b3f30d6c71743146d2cc9
-P 698ec7769d4feea1782401479c61ce67d2113fd4
-R f57e31f66af3653aafd36cef29db2f9f
-U dan
-Z 7483039414b69be1ce1710f91dbcd117
+P e0c889d66ccf4af12cc77ac38c1e6477da63ac72
+R 7aa3a9ae530d62ad432ec99f0941dd9b
+U mistachkin
+Z dfd5a7d9cdc76e6d57eba7e1ef9d075b
index 88cc72dd6b75dbaeaf7948ff4f09083ae786ecf9..aebbf63d72c33f4ccee4887c72e2a4abab8a8e62 100644 (file)
@@ -1 +1 @@
-e0c889d66ccf4af12cc77ac38c1e6477da63ac72
\ No newline at end of file
+4b0facc13b1026419f9b89dab3453ba43071455c
\ No newline at end of file
index c4d87b92c5091e773dd3c2cfa83dc26c376bc7b6..352fe06b48157f008b07cb42d28ec8c54ef4cb33 100644 (file)
@@ -402,7 +402,11 @@ static struct win_syscall {
 #define osFormatMessageW ((DWORD(WINAPI*)(DWORD,LPCVOID,DWORD,DWORD,LPWSTR, \
         DWORD,va_list*))aSyscall[15].pCurrent)
 
+#if !defined(SQLITE_OMIT_LOAD_EXTENSION)
   { "FreeLibrary",             (SYSCALL)FreeLibrary,             0 },
+#else
+  { "FreeLibrary",             (SYSCALL)0,                       0 },
+#endif
 
 #define osFreeLibrary ((BOOL(WINAPI*)(HMODULE))aSyscall[16].pCurrent)
 
@@ -483,6 +487,7 @@ static struct win_syscall {
 
 #define osGetLastError ((DWORD(WINAPI*)(VOID))aSyscall[26].pCurrent)
 
+#if !defined(SQLITE_OMIT_LOAD_EXTENSION)
 #if SQLITE_OS_WINCE
   /* The GetProcAddressA() routine is only available on Windows CE. */
   { "GetProcAddressA",         (SYSCALL)GetProcAddressA,         0 },
@@ -491,6 +496,9 @@ static struct win_syscall {
   ** an ANSI string regardless of the _UNICODE setting */
   { "GetProcAddressA",         (SYSCALL)GetProcAddress,          0 },
 #endif
+#else
+  { "GetProcAddressA",         (SYSCALL)0,                       0 },
+#endif
 
 #define osGetProcAddressA ((FARPROC(WINAPI*)(HMODULE, \
         LPCSTR))aSyscall[27].pCurrent)
@@ -594,7 +602,7 @@ static struct win_syscall {
 #define osHeapValidate ((BOOL(WINAPI*)(HANDLE,DWORD, \
         LPCVOID))aSyscall[41].pCurrent)
 
-#if defined(SQLITE_WIN32_HAS_ANSI)
+#if defined(SQLITE_WIN32_HAS_ANSI) && !defined(SQLITE_OMIT_LOAD_EXTENSION)
   { "LoadLibraryA",            (SYSCALL)LoadLibraryA,            0 },
 #else
   { "LoadLibraryA",            (SYSCALL)0,                       0 },
@@ -602,7 +610,8 @@ static struct win_syscall {
 
 #define osLoadLibraryA ((HMODULE(WINAPI*)(LPCSTR))aSyscall[42].pCurrent)
 
-#if !SQLITE_OS_WINRT && defined(SQLITE_WIN32_HAS_WIDE)
+#if !SQLITE_OS_WINRT && defined(SQLITE_WIN32_HAS_WIDE) && \
+        !defined(SQLITE_OMIT_LOAD_EXTENSION)
   { "LoadLibraryW",            (SYSCALL)LoadLibraryW,            0 },
 #else
   { "LoadLibraryW",            (SYSCALL)0,                       0 },
@@ -791,7 +800,7 @@ static struct win_syscall {
 #define osCreateFile2 ((HANDLE(WINAPI*)(LPCWSTR,DWORD,DWORD,DWORD, \
         LPCREATEFILE2_EXTENDED_PARAMETERS))aSyscall[66].pCurrent)
 
-#if SQLITE_OS_WINRT
+#if SQLITE_OS_WINRT && !defined(SQLITE_OMIT_LOAD_EXTENSION)
   { "LoadPackagedLibrary",     (SYSCALL)LoadPackagedLibrary,     0 },
 #else
   { "LoadPackagedLibrary",     (SYSCALL)0,                       0 },