自己编译 emacs 不知道需要哪些编译选项

感谢 我的意思是 我不知道应该开启哪些 虽然看了说明 不知道哪些是需要的

./configure --with-native-compilation=no   # native-comp 有需要可开启 
--with-tree-sitter 
--with-cairo 
--with-imagemagick # 可选依赖,参考 10L
CFLAGS="-O2 -pipe -march=native" 
--without-pop 
--with-pgtk # 如果是 wayland 开启,否则删除本行
1 个赞

native-comp 开不开有啥区别吗

日常使用没区别

据说开了性能更好

性能提升比较玄学,参考另一个帖子:[投票] 你开启 native-compilation 特性了吗? - #3,来自 aqua0210

现在不需要 imagemagick, 建议安装依赖 libwebp 和 librsvg

参考下 archlinux (or AUR) 的脚本看下它们开了什么选项就行了。

确实,去掉 imagemagic 重新编译了个版本,也能正常显示图片并进行编辑,网上搜到一篇提到这个问题的文章,原来从 27.1 开始就已经不需要依赖它了

我现在是参考那个帖子的一个模式,编译emacs的时候内置的包aot一下,自己装的包不编译。

不过用package.el安装的包好像还是会自动bytecompile。今天重新编译了一次emacs结果有些插件总是莫名其妙导致emacs直接crash,折腾了一天最后给elpa删了重新下载一遍所有的包好像才好 :joy:

记得package-recompile-all

1 个赞

答案一般是:不需要任何选项,configure 默认会挑选能满足大部分人使用需求的配置。

4 个赞

–with-tree-sitter 和 --with-cairo 为默认选项,而且 PGTK 下是 no-op.

3 个赞

还要看很多头部文件,-dev 包要装上。

有个问题,emacs现在发行的版本是28.2,但是git上面的tag已经打到了30,所以29的角色是什么?emacs发行的上下游流程是什么样的?

Emacs 29.1 版本即将要发布了。估计就在4月份。最近估计要先发布 pretest 版本,提供大家测试。

想提前用 Emacs 29 的自己去编译 emacs-29 分支。

https://git.savannah.gnu.org/cgit/emacs.git/log/?h=emacs-29

我有点困惑

官网 GNU Emacs download - GNU Project 上的安装说明 linux 部分只说了用包管理安装27版的办法;没有讲最新版

29版 emacs.git - Emacs source repository

的说明里也只写了 macos 的 https://git.savannah.gnu.org/cgit/emacs.git/tree/nextstep/INSTALL?h=emacs-29

理论上不是应该 linux 优先么(emacs的第一平台),按说应试把 linux 的手动编译写全再写其他的? 为何不是这样呢

nexstep文件夹下都是 macOS 的,nt 文件夹下都是 Windows的,Linux 的安装说明在根目录。 https://git.savannah.gnu.org/cgit/emacs.git/tree/INSTALL

2 个赞

感谢解惑 :grinning:

新笨问题(盲猜下载的不对?): 按说明

wget https://git.savannah.gnu.org/cgit/emacs.git/snapshot/emacs-29.0.90.tar.gz
tar -xf emacs-29.0.90.tar.gz
cd emacs-29.0.90

后 ./configure 提示找不到(目录下名字类似的只有一个configure.ac)