Skip to content

Latest commit

 

History

History
80 lines (55 loc) · 2.66 KB

2009_02_16_compile_vim_with_cscope.md

File metadata and controls

80 lines (55 loc) · 2.66 KB

[OpenBSD] compile vim cscope-support

很早的一篇文章,发现没有贴到 blog 上,呵呵,贴一下,并作一些补充。

===================================================

今天在自己的 OpenBSD 上编译 vim7,如下:

cd /usr/ports/editors/vim/ 
env FLAVOR="no_x11" make install 

本来一切OK的,但讨厌的是,no_x11 版本的 vim 居然没有 cscope feature ... 这可不行,还得靠 cscope 读代码咧。小小研究了一翻,下面是自己使用的 ugly 的方法。

env FLAVOR="no_x11" make fetch 
env FLAVOR="no_x11" make checksum 
env FLAVOR="no_x11" make depends 
env FLAVOR="no_x11" make extract 
env FLAVOR="no_x11" make patch 
env FLAVOR="no_x11" make configure 

// ok, 这里先停下来,用 vi 修改 vim source 中的 feature.h 
// 强行定义 #define FEAT_CSCOPE,然后继续我们的安装 

env FLAVOR="no_x11" make build 
env FLAVOR="no_x11" make fake 
env FLAVOR="no_x11" make package 
env FLAVOR="no_x11" make install 

嘿嘿,如此这般周折,总算把带 cscope feature 的 vim 装起来了。上面步骤中 fetch -> install 的流程,其实 是 BSD ports tree 的整个安装步骤,我其实就是打断这个流程,自己做了写配置。fetch, patch, .... 等的具体含义,参见 man ports。

# vim --version | grep cscope 
+cryptv +cscope +cursorshape -dnd ... // 开起来没什么问题 

我这里使用的方法,其实是非常暴力的,主要是自己对 BSD 还不熟悉。本来 vim 安装的时候只需要

./configure --enable-cscope 

就好了的,但 ports 包装了所有的东西,自己还没弄清楚。

装好 vim,再去将 cscope 装上,vim + cscope 是很好的 code reading tool。(vim 必须编译了 cscope feature 才能和 cscope 工具共同使用)

参见 http://cscope.sourceforge.net/cscope_vim_tutorial.html

===================================================

其实不需要如上这么麻烦,直接修改 /usr/ports/editors/vim/ 上的 Makefile:

FLAVORS=    huge gtk2 athena motif no_x11 perl python ruby
FLAVOR?=    gtk2

CONFIGURE_STYLE=gnu
CONFIGURE_ENV=  CPPFLAGS="-I${DEPBASE}/include" LDFLAGS="-L${DEPBASE}/lib"
CONFIGURE_ARGS+=--with-tlib="curses" --enable-multibyte --enable-cscope

然后编译即可。不过对于 configure 能有哪些参数,只能自己看 source code 里面的 configure 啦。

===================================================

如果此时已经安装了 vim,需要重新编译 cscope-support,则

pkg_delete vim
rm /usr/ports/packages/i386/vim-*
...

然后把上面 configure => install 的流程跑一遍即可。