Windows下编译Emacs23!
moke:
因为原来的网站CVS访问方式作了修改,本方法也要相应改动,如下:
完全不需要Cygwin也可以工作,不过需要一个CVS客户端程序,如:TortoiseCVS或WinCVS等,将
CVS可执行程序加入到Path变量,然后:
D:>set CVS_RSH=ssh
D:>cvs -z3 -d:pserver:anonymous@cvs.sv.gnu.org:/cvsroot/emacs co emacs
就可以获取源代码了。后面步骤相同,不再多说,开始编译。
原文:
在Windows下编译Emacs
Windows下编译好的Emacs主要有两个版本,一个来自,另一个来自。
这两个版本都很好用,但是如果你想用最新的版本,你就需要自己编译一个Emacs,下面介绍一下我的编译过程(main branch和unicode branch都适用)。
如果你不愿意编译,或者编译过程出现问题,可以到下载我编译好的CVS Emacs。
直接下载CVS Emacs源代码
我是使用Cygwin中的cvs来下载Emacs源代码的,命令如下:
$export CVS_RSH=ssh
$cvs -z3 -d:ext:anoncvs@savannah.gnu.org:/cvsroot/emacs co emacs
这样签出的是main branch,如果想签出unicode branch,命令如下:
$export CVS_RSH=ssh
$cvs -z3 -d:ext:anoncvs@savannah.gnu.org:/cvsroot/emacs co -r emacs-unicode-2 emacs
通过代理服务器下载CVS Emacs源代码
我是一个学生,而教育网的国际流量要是付费的,Emacs源代码有好几十兆,可是不少钱:(
如果你和我有一样的问题,那么就用代理服务器来下载CVS Emacs吧。先到下载一个connect.c文件,
然后在Cygwin中编译这个文件,把编译出来的connect.exe放到/usr/local/bin:
$gcc connect.c -o connect
$mv connect.exe /usr/local/bin/
然后编辑
~/.ssh/config 文件(如果没有,自己建立一个),添加如下内容:
Host *
.gnu.org
ProxyCommand connect -H your.http.proxy:port %h %p
这样就可以通过HTTP代理下载CVS Emacs源代码了,然后就和直接下载源代码的过程一样了,照做吧。
安装MSYS和MinGW
到下载MSYS-1.0.10.exe、MinGW-3.1.0-1.exe、mingw32-make-3.80.0-3.exe,安装MSYS到C:\MSYS,安装MinGW到C:\MinGW,再
把mingw32-make也安装到C:\MinGW,再将C:\MinGW\bin\下的mingw32-make.exe复制为make.exe(原来的mingw32-make.exe还有用,不要动)。然后设置环境变量,
将
C:\MinGW\bin;C:\MinGW\include;C:\MinGW\lib;C:\MSYS\bin 加入到
$PATH 中,
注意 C:\MinGW\bin要在C:\MSYS\bin的前面。
安装图形支持库
目前Emacs可以支持jpeg、gif、tiff、xpm、png等图片格式,在Windows下编译需要安装图片支持库。所有支持库都可以在或
者找到。
- jpeg支持
下载jpeg-6b-3.exe,然后安装到C:\MinGW
- gif支持
下载libungif-4.1.0b1-bin.zip和libungif-4.1.0b1-src.zip,全部解压到C:\MinGW,然后将C:\MinGW\src\lib\gif_lib.h复制到C:\MinGW\include下
- tiff支持
下载tiff-win32-3.6.1-2.exe,安装到C:\MinGW
- xpm支持
下载xpm-nox-4.2.0-bin.exe和xpm-nox-4.2.0-src.exe,全部安装到C:\MinGW,然后将C:\MinGW\src\xpm-nox-4.2.0\lib\simx.h复制到C:\MinGW\include下,
并在C:\MinGW\include下建子目录X11,然后将C:\MinGW\src\xpm-nox-4.2.0\lib\xpm.h复制到C:\MinGW\include\X11下
- png支持
下载zlib-1.2.1-1.exe和libpng-1.2.8.exe,全部安装到C:\MinGW
优化选项
Emacs默认的makefile文件比较保守,我们可以修改nt目录下
gmake.defs 中的
WIN32_WINNT=0x0500 ,让编译的Emacs可以使用Windows 2000以后系统的一些新的特性。
编译过程
编译过程需要在cmd和MSYS中共同完成,先将cmd和MSYS的目录都切换到源代码的nt目录下,然后按下面步骤编译:
- 在cmd中执行
>configure.bat --with-gcc --no-debug --no-cygwin
- 在cmd中执行
>mingw32-make bootstrap
如果出现错误,就在MSYS中执行
$make bootstrap
- 在cmd中执行
>mingw32-make info
>mingw32-make install INSTALL_DIR=C:/Emacs (注意这里要用/而不是\)
复制图形库文件
将C:\MinGW\bin中的jpeg62.dll、libpng13.dll、libtiff3.dll、libungif.dll、libXpm-noX4.dll和zlib1.dll复制到C:/Emacs/bin下。好了,这样就完成了编译过程,
你可以在Emacs的开始画面中看到自己机器的名字,呵呵,很酷吧。
阅读(245) | 评论(0) | 转发(0) |