Hi all,

Three weeks ago SQLite ticket [f711d5a937] was reported
fixed:
    <http://www.sqlite.org/src/tktview?name=f711d5a937>
So, I downloaded latest sqlite3.dll  (3.8.4.1) from sqlite.org
and right-clicked on it: No version information appeared.

However, it's a small step to really fix it. Here is my
suggested patch. With this patch I succeeded to create
a sqlite3.dll (from curren trunk) with the right version
information in it (3.8.5), using MinGW 4.0 (but it should
work with any MinGW/MinGW-w64 version). The
implementation is mostly copied from Makefile.msc.

Note: the reason for the -static-libgcc option is explained here:
 
<http://sqlite.1065341.n5.nabble.com/Compiling-SQLite-with-latest-MinGW-undesired-link-to-MinGW-specific-dll-td73985.html>

Regards,
           Jan Nijtmans
=====================================================
--- Makefile.in
+++ Makefile.in
@@ -995,13 +995,22 @@

 REAL_LIBOBJ = $(LIBOBJ:%.lo=.libs/%.o)

 $(REAL_LIBOBJ): $(LIBOBJ)

+sqlite3rc.h:   $(TOP)/VERSION
+       echo #ifndef SQLITE_RESOURCE_VERSION > sqlite3rc.h
+       echo "#define SQLITE_RESOURCE_VERSION" `cat "$(TOP)\VERSION"` \
+           | $(NAWK) "/.*/ { gsub(/[.]/,\",\");print }" >> sqlite3rc.h
+       echo #endif >> sqlite3rc.h
+
+sqlite3rc.o:   $(TOP)/src/sqlite3.rc sqlite3rc.h
+       windres -I$(TOP)/src -I. $(TOP)/src/sqlite3.rc -o $@
+
 sqlite3.def: $(REAL_LIBOBJ)
        echo 'EXPORTS' >sqlite3.def
        nm $(REAL_LIBOBJ) | grep ' T ' | grep ' _sqlite3_' \
                | sed 's/^.* _//' >>sqlite3.def

-sqlite3.dll: $(REAL_LIBOBJ) sqlite3.def
-       $(TCC) -shared -o $@ sqlite3.def \
+sqlite3.dll: $(REAL_LIBOBJ) sqlite3rc.o sqlite3.def
+       $(TCC) -shared -static-libgcc -o $@ sqlite3rc.o sqlite3.def \
                -Wl,"--strip-all" $(REAL_LIBOBJ)

--- src/sqlite3.rc
+++ src/sqlite3.rc
@@ -38,12 +38,12 @@
 /*
  * Version
  */

 VS_VERSION_INFO VERSIONINFO
-  FILEVERSION SQLITE_RESOURCE_VERSION
-  PRODUCTVERSION SQLITE_RESOURCE_VERSION
+  FILEVERSION SQLITE_RESOURCE_VERSION,0
+  PRODUCTVERSION SQLITE_RESOURCE_VERSION,0
   FILEFLAGSMASK VS_FFI_FILEFLAGSMASK
 #if defined(_DEBUG)
   FILEFLAGS VS_FF_DEBUG
 #else
   FILEFLAGS VS_FF_NONE
_______________________________________________
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to