2ヶ月くらい解決方法が見つけられなかったのでメモを残す。
参照:
https://groups.google.com/forum/#!topic/gnu.emacs.help/i6IsVfzaNJU
https://msdn.microsoft.com/en-us/library/windows/desktop/dd319121
http://proglab.blog.fc2.com/blog-entry-55.html
以下のエラーが出てコンパイルが失敗する。
.\temacs --batch --load loadup bootstrap
make[1]: *** [Makefile:737: bootstrap-emacs.exe] error 127
対応
Uniscribe Library(usp10) を gdi32 より前に置く必要がある。
*** configure.orig 2018-01-13 10:55:18.977321400 +0000
--- configure 2018-01-13 10:56:06.619805100 +0000
***************
*** 11193,11208 ****
ac_config_files="$ac_config_files nt/emacs.rc nt/emacsclient.rc"
if test "${opsys}" = "cygwin"; then
! W32_LIBS="$W32_LIBS -lkernel32 -luser32 -lgdi32 -lole32 -lcomdlg32"
! W32_LIBS="$W32_LIBS -lusp10 -lcomctl32 -lwinspool"
# Tell the linker that emacs.res is an object (which we compile from
# the rc file), not a linker script.
W32_RES_LINK="-Wl,emacs.res"
else
UPDATE_MANIFEST=update-game-score.exe.manifest
W32_OBJ="$W32_OBJ w32.o w32console.o w32heap.o w32inevt.o w32proc.o"
! W32_LIBS="$W32_LIBS -lwinmm -lgdi32 -lcomdlg32"
! W32_LIBS="$W32_LIBS -lmpr -lwinspool -lole32 -lcomctl32 -lusp10"
W32_RES_LINK="\$(EMACSRES)"
CLIENTRES="emacsclient.res"
CLIENTW="emacsclientw\$(EXEEXT)"
--- 11193,11208 ----
ac_config_files="$ac_config_files nt/emacs.rc nt/emacsclient.rc"
if test "${opsys}" = "cygwin"; then
! W32_LIBS="$W32_LIBS -lkernel32 -luser32 -lusp10 -lgdi32 -lole32 -lcomdlg32"
! W32_LIBS="$W32_LIBS -lcomctl32 -lwinspool"
# Tell the linker that emacs.res is an object (which we compile from
# the rc file), not a linker script.
W32_RES_LINK="-Wl,emacs.res"
else
UPDATE_MANIFEST=update-game-score.exe.manifest
W32_OBJ="$W32_OBJ w32.o w32console.o w32heap.o w32inevt.o w32proc.o"
! W32_LIBS="$W32_LIBS -lwinmm -lusp10 -lgdi32 -lcomdlg32"
! W32_LIBS="$W32_LIBS -lmpr -lwinspool -lole32 -lcomctl32"
W32_RES_LINK="\$(EMACSRES)"
CLIENTRES="emacsclient.res"
CLIENTW="emacsclientw\$(EXEEXT)"