Hello Memcached community!

Just wanna share that I've ported the latest memcached (1.6.2 
<https://github.com/memcached/memcached/releases/tag/1.6.2>) to Windows. 
Based on my search if I'm not mistaken, the last native Windows build (not 
via Cygwin/WSL) is already outdated (1.4.5).

*Unsupported/Disabled options/features (may support in the future):*

   1. *sasl* (Upstream support since v1.4.3)
   2. *extstore* (Upstream support since v1.5.4)
   3. *tls* (Upstream support since v1.5.13)
   4. *-u/user* (Can use Windows *runas* command or Windows explorer's *Run 
   as different user* context menu)
   5. *-s/unix-socket* (Windows does not currently support Unix domain 
   socket)
   6. *-k/lock-memory* (Windows does not currently support locking of all 
   paged memory)
   7. *-r/coredumps* (mingw-w64 <http://mingw-w64.org/doku.php> currently 
   doesn't support postmortem but gdb debugging without coredump is possible)
   8. *seccomp* (Linux-specific)


*Testing:*

   1. memcached's *testapp* is also ported to easily verify that the port 
   is working as expected (all *57* tests are *OK*)
   2. *make test* will only execute *testapp.exe* and *sizes.exe* but not 
   the Perl-based test suite (at least currently)
   3. mc-crusher <https://github.com/memcached/mc-crusher> test is also 
   performed (although not really for hours/days).
   4. Maximum connection limit concurrency testing is also performed using 
   libMemcached <https://libmemcached.org/>'s *memcslap*.
   5. *NOTE:* Since Perl-based test suite is not executed, test is lacking 
   on some areas. *Use at your own risk!*


Since the ideal target is to be merged upstream although not really a 
priority and just depends on the maintainer, the codes are carefully 
written (and of course tested!) not to cause major merge conflicts with the 
base code. You can confirm this with the diffs. Building with changes for 
non-Windows target is just like building the original codes as changes are 
all protected with preprocessor macros (e.g. *DISABLE_UNIX_SOCKET*) and 
build env. Main logic is same as the official except for the necessary 
Windows-specific changes mostly implemented in separate files (see mingw 
folder). 
https://github.com/jefyt/memcached-windows#implementation-notes-for-devs 
contains the summary of changes.

Just refer to https://github.com/jefyt/memcached-windows (*mingw* branch) 
for more details (e.g. building, binaries, notes).

If you know anyone asking for Windows binaries or just interested to 
try/test/take a look, you can refer to this port.

Thanks!

Regards,
Jefty

-- 

--- 
You received this message because you are subscribed to the Google Groups 
"memcached" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to memcached+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/memcached/bc36a3a7-5b89-42d8-b434-28b2fa8393c0%40googlegroups.com.

Reply via email to