-
-
Notifications
You must be signed in to change notification settings - Fork 816
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
windows port #48
Comments
…- all tests are passing on OS X 10.7 with boost 1.47 - todo: test on linux - refs #48
Hmm, node-sqlite3 doesn't really use pthreads; the only part it uses are the mutexes. I haven't looked to closely at uv_async, but we can potentially remove those as well. I'd rather not have boost as a build dependency since this will likely incur lots of tickets about build failures from npm due to missing boost. |
My branch using boost is simply a test to see if it was easy to replace them with something cross-platform - it appears trivially easy to do if needed, but great if it is not needed and pthreads calls can be removed completely. |
short of using boost mutexes this commit gives a sense of how this could be done with #ifdefs: nodejs/node-v0.x-archive@97cada0 |
Current status: Compiles fine (using Windows API mutexes), but linking fails in one spot: node doesn't expose the Buffer interface on windows to C++ modules yet. See nodejs/node-v0.x-archive#2036 |
I am happy to notice that nodejs/node-v0.x-archive#2036 is a closed issue. |
The windows branch of this repository has a version of node-sqlite3 that works. Build instructions for Windows are in the wiki. This will get released into npm eventually, once it's properly tested. |
I wonder whether someone would ever start providing pre-compiled win32 port of node-sqlite3 (something like a I know the current trend is distributed npm-building of everything from the source, but… anyone on Windows is prepared to play with small and elegant |
There will be a precompiled binary at some point, but there's no clear blessed path to do so yet via npm. |
I have just read package.json and seen that node-sqlite3 does not actually depend on any other npm-registered package (except That means, @kkaefer, that you could cease any waiting for a clear blessed path to install node-sqlite3 with npm, but rather start providing some pre-compiled Windows binary in a simple archive (that won't need any You may have already seen how some other module devs already do that for some time and they seem successful. For example, since at least November 2011 node-firebird-libfbclient provides a pre-compiled (and zip-packed) Windows build:
Users unpack it, and the module just works. |
I have to update the above information. The current most blessed path of distributing pre-compiled modules with npm is applying node-bindings. The npm-delivered package contains pre-compiled binaries for all of the available platforms; node-bindings module picks the necessary binary at runtime. (See node-ffi for example.) |
Anyone looking for Windows port (to be built by themselves) should probably grab the code from #61. (I write «probably» here because I haven't tried it yet.) |
#61 has been merged into master now. |
Ticket to track potential future support for Windows.
Tasks:
Compatibility with libuv/node v6.x (new event emitters) - support node 0.6.x #47
Remove the phtread mutex usage (or provide option on windows to use boost threads for windows compatibility)
Build system fixes, mostly waiting on upstream as per http://blog.nodejs.org/2011/11/05/node-v0-6-0/: "For example, we are not yet providing users with a blessed path for building addon modules in MS Visual Studio. Work will continue in later releases."
The text was updated successfully, but these errors were encountered: