最終更新日: 2016-06-26 日 01:23
ホーム | 文書トップ | 目次

NTEmacsビルド(過去の記録)

Table of Contents

ビルド方法 (24.3)

ビルドした日

2013.6.30

IMEパッチ

gnupack概要 又は ダウンロードファイル一覧 から入手する。現時点での最新は emacs-24.3-ime-2013-05-03.patch.tar.gz であった。

ビルド環境

  • Cygwin をインストールする
  • MinGW + MSYS、GnuWin32 Packages をインストールする

ビルドを実行するシェル

Cygwinシェル(bash)を使用し、コマンド自体は MinGW 及び MSYS のものを使用する。

具体的には、.bashrc で

通常このようにしているとしたら、

PATH=/usr/local/bin:/bin:.:$PATH

ビルド時はこのように変更する。(MinGW と MSYS のbinに優先的にパスを通す)

PATH=/cygdrive/c/usr/MinGW/bin:/cygdrive/c/usr/MinGW/msys/1.0/bin:.:$PATH

IMEパッチの適用

emacs-24.3.tar.gz を展開し、パッチを当てる

ディレクトリ emacs-24.3 以下で実行する。

rockers:~/source/emacs-24.3$ patch -b -p1 < emacs-24.3-ime-2013-03-16.patch 
patching file lib-src/hexl.c
patching file lib-src/make-docfile.c
patching file lib-src/makefile.w32-in
patching file lib-src/ntlib.c
patching file lib-src/ntlib.h
patching file lisp/cedet/cedet-cscope.el
patching file lisp/image.el
patching file lisp/international/w32-ime.el
patching file lisp/loadup.el
patching file lisp/site/site-init.el
patching file lisp/site/site-start.el
patching file lisp/startup.el
(中略)
patching file src/w32.c
patching file src/w32.h
patching file src/w32common.h
patching file src/w32fns.c
patching file src/w32font.c
patching file src/w32font.h
patching file src/w32heap.c
patching file src/w32heap.h
patching file src/w32inevt.h
patching file src/w32proc.c
patching file src/w32term.c
patching file src/w32term.h
patching file src/w32xfns.c
patching file src/window.c
patching file src/xdisp.c
rockers:~/source/emacs-24.3$

configure.batの実行/make/make install

nt 以下で下記のように実行する。

$ cd nt
$ ./configure.bat --with-gcc --enable-w32-ime --cflags -O3 --cflags -fno-tree-vectorize --cflags -mthreads --cflags -DIME_UNICODE --cflags -DRECONVERSION --cflags -DIMR_DOCUMENTFEED --cflags -DDOCUMENTFEED
$ mingw32-make bootstrap
$ mingw32-make install INSTALL_DIR=C:/usr/emacs

ビルドオプションについては NTEmacs ビルドオプション検討 を参照のこと。

なお、configure.bat を実行した時に出力されるメッセージで、PNG,JPEG,GIF,TIFF,XPM等の対応がOKか確認すること。 NGの場合は、MinGW及びGnuWin32のインストールを確認する。 NTEmacs_configure.html 参照。

Checking for libxml2....
...libxml/HTMLparser.h not found, building without libxml2 support

前回のビルドでは気づかなかったが、emacs24からlibxml2をサポートしており、上記メッセージが表示されていた。 libxml2のセットをインストールして再度実行した

Checking for libgnutls...
...gnutls.h not found, building without TLS support.

上記 TLS supportに関しては、省略した。

前までは、–no-cygwin を付けていたが、

cc1.exe: error: unrecognized command line option '-mno-cygwin'

と言われるので、省略した。

これまで RECONVERSION,IMR_DOCUMENTFEED,DOCUMENTFEED の定義はしていなかったが、今回 makeを行うと、これらの関連定義部分でビルドエラーになる。 マクロ切り分けの意味無し。

また、これはconfigure.batをcygwinから実行した際の挙動なのかもしれないが、config.h の USE_W32_IMEとかのdefine部分の最後に ^M が入ってしまい、 マクロを正しく参照できていないと思われるビルドエラーが発生した。 これは手動で除去した。

w32fns.c: In function 'w32_wnd_proc':
w32fns.c:4156:28: error: 'IMR_DOCUMENTFEED' undeclared (first use in this function)
w32fns.c:4156:28: note: each undeclared identifier is reported only once for each function it appears in
w32fns.c: In function 'Fime_get_property':
w32fns.c:7690:30: error: 'IME_PROP_COMPLETE_ON_UNSELECT' undeclared (first use in this function)
w32fns.c:7698:28: error: 'SCS_CAP_SETRECONVERTSTRING' undeclared (first use in this function)
w32fns.c:7698:5: error: initializer element is not constant
w32fns.c:7698:5: error: (near initialization for 'setcompstr_map[2].index')
mingw32-make[3]: *** [oo-spd/i386/w32fns.o] Error 1
mingw32-make[3]: Leaving directory `D:/home/wurly/source/emacs-24.3/src'
mingw32-make[2]: *** [bootstrap-temacs-SH] Error 2
mingw32-make[2]: Leaving directory `D:/home/wurly/source/emacs-24.3/src'
mingw32-make[1]: *** [bootstrap-temacs] Error 2
mingw32-make[1]: Leaving directory `D:/home/wurly/source/emacs-24.3/src'
mingw32-make: *** [bootstrap-gmake] Error 2

make installが終わった後、binの下に、GnuWin32 のdllを全てコピーする。 (C:/usr/MinGW/bin/以下の、glut32.dll iconv.dll jpeg62.dll libiconv-2.dll libimage.dll libpng12.dll libpng13.dll libpng3.dll librle3.dll libtiff3.dll libungif4.dll libxml2.dll xpm4.dll zlib1.dll)

ビルド方法 (24.2)

ビルドした日

2012.9.14

IMEパッチ

gnupackダウンロードページ から入手する。現時点での最新は emacs-24.2-ime-2012-09-02.patch.tar.gz であった。

ビルド環境

  • Cygwin をインストールする
  • MinGW + MSYS、GnuWin32 Packages をインストールする

ビルドを実行するシェル

Cygwinシェル(bash)を使用し、コマンド自体は MinGW 及び MSYS のものを使用する。

具体的には、.bashrc で

通常このようにしているとしたら、

PATH=/usr/local/bin:/bin:.:$PATH

ビルド時はこのように変更する。(MinGW と MSYS のbinに優先的にパスを通す)

PATH=/cygdrive/c/usr/MinGW/bin:/cygdrive/c/usr/MinGW/msys/1.0/bin:.:$PATH

IMEパッチの適用

emacs-24.2.tar.gz を展開し、パッチを当てる

ディレクトリ emacs-24.2 以下で実行する。

$ patch -b -p1 < emacs-24.2-ime-2012-09-02.patch
patching file lib-src/makefile.w32-in
patching file lisp/international/w32-ime.el
patching file lisp/loadup.el
patching file lisp/startup.el
patching file nt/configure.bat
patching file src/alloc.c
patching file src/buffer.c
patching file src/frame.c
patching file src/frame.h
patching file src/image.c
patching file src/keyboard.c
patching file src/w32.c
patching file src/w32fns.c
patching file src/w32font.c
patching file src/w32menu.c
patching file src/w32proc.c
patching file src/w32term.c
patching file src/w32term.h
patching file src/window.c

configure.batの実行/make/make install

nt 以下で下記のように実行する。

ビルドオプションについては NTEmacs ビルドオプション検討 を参照のこと。

なお、configure.bat を実行した時に出力されるメッセージで、PNG,JPEG,GIF,TIFF,XPM対応がOKか確認すること。 NGの場合は、MinGW及びGnuWin32のインストールを確認する。 NTEmacs_configure.html 参照。

Checking for libgnutls...
...gnutls.h not found, building without TLS support.

上記 TLS supportに関しては、省略した。

$ cd nt
$ ./configure.bat --with-gcc --enable-w32-ime --cflags -O3 --cflags -fno-tree-vectorize --cflags -mthreads --cflags -DIME_UNICODE
$ mingw32-make bootstrap
$ mingw32-make install INSTALL_DIR=C:/usr/emacs

前までは、–no-cygwin を付けていたが、

cc1.exe: error: unrecognized command line option '-mno-cygwin'

と言われるので、省略した。

make installが終わった後、binの下に、GnuWin32 のdllを全てコピーする。 (C:/usr/MinGW/bin/以下の、glut32.dll jpeg62.dll libimage.dll libpng12.dll libpng13.dll libpng3.dll librle3.dll libtiff3.dll libungif4.dll xpm4.dll zlib1.dll)

ビルド方法 (23.4)

ビルドした日

2012.2.6 / 2012.3.24

IMEパッチ

gnupackダウンロードページ から入手する。現時点での最新は emacs-23.4-ime-2012-02-05.patch.tar.gz → emacs-23.4-ime-2012-03-24.patch.tar.gz であった。

なお、上記パッチの内容をちょっとだけ解析した。 NTEmacsIMEpatch234.html 参照。

ビルド環境

  • Cygwin をインストールする
  • MSYS + MinGW、GnuWin32 Packages をインストールする
    • MSYSのインストール方法はこちら
    • MinGW、GnuWin32 Packages のインストール方法はこちら

ビルドを実行するシェル

Cygwinシェル(bash)を使用し、コマンド自体は MinGW 及び MSYS のものを使用する。

具体的には、.bashrc で

通常このようにしているとしたら、

PATH=/usr/local/bin:/bin:.:$PATH

ビルド時はこのように変更する。(MinGW と msys のbinに優先的にパスを通す)

PATH=/cygdrive/c/usr/MinGW/bin:/cygdrive/c/msys/bin

IMEパッチの適用

emacs-23.4.tar.gz を展開し、パッチを当てる

ディレクトリ emacs-23.4 以下で実行する。(シェルは現在使用しているバージョンのEmacsから起動した)

$ patch -b -p1 < emacs-23.4-ime-2012-02-05.patch
patching file lib-src/makefile.w32-in
patching file lisp/international/w32-ime.el
patching file lisp/loadup.el
patching file lisp/startup.el
patching file nt/configure.bat
patching file src/buffer.c
patching file src/frame.c
patching file src/frame.h
patching file src/keyboard.c
patching file src/w32.c
patching file src/w32fns.c
patching file src/w32font.c
patching file src/w32menu.c
patching file src/w32proc.c
patching file src/w32term.c
patching file src/w32term.h
patching file src/window.c

configure.batの実行/make/make install

nt 以下で下記のように実行する。

ビルドオプションについては NTEmacs ビルドオプション検討 を参照のこと。

なお、configure.bat を実行した時に出力されるメッセージで、PNG,JPEG,GIF,TIFF,XPM対応がOKか確認すること。 NGの場合は、MinGW及びGnuWin32のインストールを確認する。 NTEmacs_configure.html 参照。

$ cd nt
$ ./configure.bat --with-gcc --no-cygwin --enable-w32-ime --cflags -O3 --cflags -fno-tree-vectorize --cflags -mthreads --cflags -DIME_UNICODE
$ mingw32-make bootstrap
$ mingw32-make install INSTALL_DIR=C:/usr/emacs

make installが終わった後、binの下に、GnuWin32 のdllを全てコピーする。 (C:/usr/MinGW/bin/以下の、glut32.dll jpeg62.dll libimage.dll libpng12.dll libpng13.dll libpng3.dll librle3.dll libtiff3.dll libungif4.dll xpm4.dll zlib1.dll)

ビルド方法 (23.3)

IMEパッチ

なお、23.2のパッチの内容をちょっとだけ解析した。 NTEmacsIMEpatch.html 参照。

ビルド環境

  • Cygwin をインストールする
  • MSYS + MinGW、GnuWin32 Packages をインストールする
    • MSYSのインストール方法はこちら
    • MinGW、GnuWin32 Packages のインストール方法はこちら

ビルドを実行するシェル

Cygwinシェル(bash)を使用し、コマンド自体は MinGW 及び MSYS のものを使用する。

具体的には、.bashrc で

通常このようにしているとしたら、

PATH=/usr/local/bin:/bin:.:$PATH

ビルド時はこのように変更する。(MinGW と msys のbinに優先的にパスを通す)

PATH=/cygdrive/c/usr/MinGW/msys/1.0/bin:/cygdrive/c/usr/MinGW/bin:/usr/local/bin:/bin:.:$PATH

IMEパッチの適用

emacs-23.3.tar.gz を展開し、パッチを当てる

ディレクトリ emacs-23.3 以下で実行する

$ patch -b -p1 < emacs-23.3-ime-2011-03-13.patch
patching file lib-src/makefile.w32-in
patching file lisp/international/w32-ime.el
patching file lisp/loadup.el
patching file lisp/startup.el
patching file nt/configure.bat
patching file src/frame.c
patching file src/frame.h
patching file src/keyboard.c
patching file src/w32.c
patching file src/w32fns.c
patching file src/w32font.c
patching file src/w32term.c
patching file src/w32term.h
patching file src/window.c

configure.batの実行/make/make install

nt 以下で下記のように実行する。

$ cd nt
$ ./configure.bat --with-gcc --no-cygwin --enable-w32-ime --cflags -O3 --cflags -fno-tree-vectorize --cflags -mthreads --cflags -DIME_UNICODE
$ mingw32-make bootstrap
$ mingw32-make install INSTALL_DIR=C:/usr/emacs

make installが終わった後、binの下に、GnuWin32 のdllを全てコピーする。 (C:/usr/MinGW/bin/以下の、glut32.dll jpeg62.dll libimage.dll libpng12.dll libpng13.dll libpng3.dll librle3.dll libtiff3.dll libungif4.dll xpm4.dll zlib1.dll)

ビルド方法 (23.2)

IMEパッチ

なお、パッチの内容をちょっとだけ解析した。 NTEmacsIMEpatch.html 参照。

ビルド環境

  • Cygwin をインストールする
  • MSYS + MinGW、GnuWin32 Packages をインストールする
    • MSYSのインストール方法はこちら
    • MinGW、GnuWin32 Packages のインストール方法はこちら

ビルドを実行するシェル

Cygwinシェル(bash)を使用し、コマンド自体は MinGW 及び MSYS のものを使用する。

具体的には、.bashrc で

通常このようにしているとしたら、

PATH=/usr/local/bin:/bin:.:$PATH

ビルド時はこのように変更する。(Cygwinの/usr/local/bin や/bin にはパスを通さず、MinGW と msys にパスを通す)

PATH=/cygdrive/c/usr/MinGW/bin:/cygdrive/c/msys/bin

IMEパッチの適用

emacs-23.2.zip を展開し、パッチを当てる

ディレクトリ emacs-23.2 以下で実行する

$ patch -b -p1 < Emacs-23.1.92-IME+a.patch
patching file lib-src/makefile.w32-in
patching file lisp/international/w32-ime.el
patching file lisp/loadup.el
patching file nt/configure.bat
patching file src/keyboard.c
patching file src/w32.c
patching file src/w32fns.c
Hunk #10 succeeded at 6401 (offset 4 lines).
Hunk #11 succeeded at 8190 (offset 4 lines).
Hunk #12 succeeded at 8238 (offset 4 lines).
Hunk #13 succeeded at 8297 (offset 4 lines).
Hunk #14 succeeded at 8309 (offset 4 lines).
Hunk #15 succeeded at 8329 (offset 4 lines).
patching file src/w32term.c
patching file src/w32term.h
patching file src/window.c

configure.batの実行/make/make install

nt 以下で下記のように実行する。

$ cd nt
$ ./configure.bat --enable-w32-ime --cflags -D_UNICODE
$ mingw32-make bootstrap
$ make install INSTALL_DIR=C:/usr/emacs

make installが終わった後、binの下に、GnuWin32\bin の下のdllを全てコピーする。

ビルド方法 (23.1)

ソースの入手

ビルド環境

  • Cygwin をインストールする
  • MSYS + MinGW、GnuWin32 Packages をインストールする
    • MSYSのインストール方法はこちら
    • MinGW、GnuWin32 Packages のインストール方法はこちら

MSYSでビルドする場合の注意

そのままだと、batファイルが実行できないので、

$ configure.bat --enable-w32-ime --cflags -DIME_CONTROL --cflags -DRECONVERSION --cflags -D_UNICODE
./configure.bat: line 1: @echo: command not found
./configure.bat: line 2: rem: command not found
./configure.bat: line 3: rem: command not found
./configure.bat: line 4: syntax error near unexpected token `('
./configure.bat: line 4: `rem   Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005,'

cmd.exe を実行してから行う。

$ cmd.exe
Microsoft Windows XP [Version 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.

IMEパッチの適用

emacs-23.1.zip を展開し、パッチを当てる

$ patch -p3 < Emacs-23.1-IME.patch

なお、ここでも、cmd.exe を実行しておかないと、configure.bat へのパッチ適用に失敗する。 失敗時のメッセージは、下記の通り。

Hunk #1 FAILED at 1.
1 out of 1 hunk FAILED -- saving rejects to file nt/configure.bat.rej

configure.batの実行/make/make install

nt 以下で下記のように実行する。

$ cd nt
$ configure.bat --enable-w32-ime --cflags -DIME_CONTROL --cflags -DRECONVERSION --cflags -D_UNICODE
$ make bootstrap
$ make install INSTALL_DIR=C:/usr/emacs

make installが終わった後、binの下に、GnuWin32\bin の下のdllを全てコピーする。

ホーム | 文書トップ | 目次
Created by Emacs 25.2.1 (Org mode 8.2.10)