Windows 版、cygwin でも mingw でもなく、msvc 版のビルドを試みる。
あと 59 個コンパイルを通す。
dependency
bohem gc と openssl の meson 依存を追加した。
bohem gc が 6 から 8 に上がるので、 そのままで動くか確認は必要。
ncurses (termcap/terminfo) への依存を削除する。 fxtui を導入したので削除する準備はできている。
unix headers
unistd.h
わりといっぱい使っている。
setjmp.h
大域脱出。 とりあえず削除。 必要に応じて後で、c++ の throw/try として復活させればよさそう。
static JMP_BUF AbortLoading;
static void KeyAbort(SIGNAL_ARG) {
LONGJMP(AbortLoading, 1);
SIGNAL_RETURN;
}
strncasecmp
https://github.com/osmcode/libosmium/issues/59
#ifdef _MSC_VER
#define strncasecmp _strnicmp
#define strcasecmp _stricmp
#endif
とりあえずコンパイルを通したが…
ぜんぜん動く状態でないのでちゃんと書き換えが必要。
- socket
- local cgi, setenv
- file copy, move, symblink, mkdir, chmod, stat
- fork, pipe
- sleep
とはいえ、8割くらい libuv の守備範囲に入っていそう。
#ifdef _MSC_VER
が印になっているので、
これを lubuv 実装で置き換えていく。
動いた
gzip を zlib 組込みで解凍できるようにした。