如果还不知道emacs是什么,可以上google查一下;如果觉得notepad已经足够,或是vs.net 2003已经完美,那么下面的内容不是为您准备的。
要取得emacs最新源代码,可以ftp://ftp.gnu.org/emacs 下载,但推荐的方法是通过CVS下载最新的源代码。使用如下命令:
export CVS_RSH="ssh" cvs -z3 -d:ext:anoncvs@savannah.gnu.org:/cvsroot/emacs co emacs
现在的源代码已经挺完整,对win32的支持也很好了,至少不需要去linux下编译lisp代码。但是在编译开始之前还是需要一点准备工作,比如需要解决在makefile文件中出现的cp,rm等命令。 makefile中使用cp,rm等linux命令来copy,remove文件/文件夹,我们可以安装微软的SFU工具箱或是cygwin系统来得到这些工具。有了这些工具之后,就可以开始编译了。除此之外,windows下编译makefile使用nmake工具,还需要设置编译的环境,这些应该是很简单的。vc提供了一个配置编译环境批处理文件vsvars32.bat,在common/tools下,如果实在找不到,就search吧。
现在可以开始了。首先需要编译的是lisp源代码,但是在这之前,我们设置一些选项,生成makefile。使用cmd运行vsvars32.bat,然后进入emacs/nt目录,运行:
configure.bat --no-debug --no-cygwin --prefix f:\gnu\emacs --cflags -I./inc
设置编译为release版本,安装目录为f:\gnu\emacs,附加的include目录为emacs/nt/inc,这里我们会放一些图形支持的头文件。 configure.bat /?显示帮助。
如果你想编译的emacs能够显示jpeg,tiff,gif,xpm等格式的文件,或是想有一个漂亮的工具栏,那么就需要编译支持图形库的emacs。把需要的图形库头文件放在nt/inc目录下或是其他地方,然后把其路径使用-I包含进来,并把他们的dll文件与编译后的emacs放在一起。所有的图形库可以去http://gnuwin32.sourceforge.net/ 下载,包括:jpeg(jconfig.h, jerror.h, jmorecfg.h, jpeglib.h), png(png.h, pngconfg.h), tiff(tiff.h, tiffconf.h, tiffio.h, tiffvers.h), gif(gif_lib.h), xpm(X11\simx.h, X11\xpm.h), zlib(zlib.h, zconf.h)。
设置好选项,我们开始源代码文件的编译。真正的编译从这里开始:
nmake bootstrap
若干时间之后,重新显示提示符。如果在提示符上方您看到error字样,那么很不幸,您的编译可能失败了。这时选择放弃,或是使用其他人的编译结果,都是可以理解的。 如果一切顺利,那么恭喜,您过了最容易失败的一关!接下来
nmake
就是这么简单。如果nmake还有事做,您就可以看一下README或是INSTALL,或是做一些别的事情。
OK,现在我就当您已经编译通过了,接下来是安装。
nmake install
这会安装到您在configure时设置的路径下,这里是f:\gnu\emacs。 现在还没有完。
默认的,emacs运行需要一个home环境变量;默认的,如果没有找到,则设为C:。但我最讨厌软件信息到处都是。打开注册表HKEY_LOCAL_MACHINE\SOFTWARE\GNU\Emacs,设置HOME为f:\gnu\emacs\home,所有的配置文件就都会放在这个目录下了。
另外提及一点,默认的makefile文件比较保守,只支持到win98的样子,我们可以修改nmake.defs中的WIN32_WINNT=0x0500,让他可以使用win2k以后的系统的一些新的特性。