ncuesesのconfigureのoptionはこれです。
--with-libtool --with-shared --with-normal --without-debug --disable-relink --disable-rpath --with-ticlib --without-termlib --enable-ext-mouse --enable-sp-funcs --enable-reentrant --with-abi-version=10 --with-wrap-prefix=ncwrap_ --enable-sigwinch --enable-colorfgbg --enable-tcap-names --disable-termcap --disable-mixed-case --enable-symlinks --with-pkg-config --enable-pc-files --with-manpage-format=normal --with-manpage-aliases --with-default-terminfo-dir=/usr/share/terminfo --enable-echo --mandir=/usr/share/man --includedir=/usr/include/ncurses --build=x86_64-pc-cygwin
今回は、VARIABLE macroではなく、function call type でやってみました。
(ncursesの人がグローバル変数アクセスを関数化しよう?としてたようですが)
よくテストされていないあやしげな差分
cygwin64-ncurses-5.9.patchできたdllは以下のようになってます。
./lib/.libs/cygformt-5.dll
./lib/.libs/cygmenut-5.dll
./lib/.libs/cygncurses++t-5.dll
./lib/.libs/cygncursest-5.dll
./lib/.libs/cygpanelt-5.dll
gdb-7.5.50.20130304.tar.bz2で出来たncursesのdllをリンクした結果、動くgdbが出来ました。
bash-4.2$ ./gdb
GNU gdb (GDB) 7.5.50.20130304
bash-4.2$ ldd gdb.exe
cygwin1.dll => /usr/bin/cygwin1.dll (0x180040000)
cygexpat-1.dll => /usr/bin/cygexpat-1.dll (0x5d5bf0000)
cygncursest-5.dll => /usr/bin/cygncursest-5.dll (0x482200000)
cygz.dll => /usr/bin/cygz.dll (0x597fd0000)
ちなみに、vim-7.3.tar.bz2はこうなりました。一応、起動しました。
bash-4.2$ ldd ./vim
cygwin1.dll => /usr/bin/cygwin1.dll (0x180040000)
cygintl-8.dll => /usr/bin/cygintl-8.dll (0x5ee2d0000)
cygncursest-5.dll => /usr/bin/cygncursest-5.dll (0x482200000)
windowsで
2Gの壁を破るには、関数化するのが先々、トラブルの元にならないような感じがします。
ncursesとは関係ないけど、opensslのtestが途中で止まります。
test BN_sqr
print "test BN_sqr\n"
-86E3FFFFFF * -86E3FFFFFF - 47137B0FFEF238000001
2097474FFFFFF * 2097474FFFFFF - 4262B39343D74ED1716000001
-9F9F9FFFF000000 * -9F9F9FFFF000000 - 6387AC48100C0C0001000000000000
-3FFF00005D0000FFFF * -3FFF00005D0000FFFF - FFF80012E7F46801F4902B9FF46FFFE0001
FFFFFFFFFFFF4F4FFFFF * FFFFFFFFFFFF4F4FFFFF - FFFFFFFFFFFE9E9FFFFE000079F2790161600001
Square test failed!
[0回]
PR