作者: zjujoe 转载请注明出处
Email : [email protected]
BLOG : http://blog.csdn.net/zjujoe
Lxr 对指定的源代码文件建立索引数据库,利用 perl 脚本 CGI 动态生成包含源码的 web 页面,可以用任一浏览器查阅。在此 web 页中,所有的变量、常量、函数都以超连接的形式给出,十分方便查阅。
1) 安装 apache2: sudo apt-get install apache2
2) 安装 lxr, sudo apt-get install lxr
3) 安装 glimpse, 下载最新版本:
tar -xvzf glimpse-latest.tar.gz
cd glimpse- 4.18.5
./configure
make
sudo make install
4) 编辑: /usr/share/lxr/http/lxr.conf
baseurl: http://localhost/lxr/http/
其中 localhost 改为您的电脑的 IP 地址。
/lxr/http/ 对应后面在 apache 配置文件中的设置路径。
修改 glimpse 路径:
glimpsebin: /usr/local/bin/glimpse
5) /usr/share/lxr/http/ 下添加文件 .htaccess, 内容为:
<Files ~ (search|source|ident|diff|find)$>
SetHandler cgi-script
</Files>
6) /usr/share/lxr/source 下建立两个文件:
/usr/share/lxr/source/versions,
/usr/share/lxr/source/defversion
很明显, versions 表示所有内核版本的集合, 而 defversion 表示缺省使用的版本。 我们目前使用 2.6.21 , 所以这两个文件里都写上 2.6.21
7) 将内核源代码拷贝到 /usr/share/lxr/source/2.6.21/linux 下。
8) /usr/share/lxr/source/2.6.21 下运行: ( 生成 freetext 交叉索引数据库 )
glimpseindex -H /usr/share/lxr/source/2.6.21/ /usr/share/lxr/source/2.6.21/linux
9) /usr/share/lxr/source/2.6.21 下运行:(生成关键字交叉索引数据库)
genxref /usr/share/lxr/source/2.6.21/linux
10) /usr/share/lxr/source/2.6.21 下运行:
chmod a+x *
chmod a+x .*
11) 编辑, /etc/apache2/sites-available/default , 添加:
Alias /lxr /usr/share/lxr
<Directory /usr/share/lxr>
Options All
AllowOverride All
</Directory>
12) 重启 apache2:
service apache2 restart
13) 现在可以浏览代码了:
http://192.168.0.137/lxr/http/blurb.html
Lxr 支持多个内核版本, 您只需要在 /usr/share/source 下添加相应的目录, 并将该版本添加到 /usr/share/lxr/source/versions, 然后按照以上目录生成数据库文件即可。
另外, http://lxr.linux.no/linux+v2.6.27/ 有现成做好的交叉索引。