GNU GLOBAL(gtags) by Bcc Compile
Table of Contents
注意
- 下記の内容は参考の為に残している。
- 2007年5月現在では、Jason Hood氏が提供しているWin32用バイナリを使用することをお奨めする。
- 2004年11月現在、Boland C++ でのコンパイルには非対応となっている。
- 2003年9月現在では、下記の内容に関わらず、cygwinでコンパイルしたものを使用することをお勧めする。
- このページには、Boland C++ Compilerでコンパイルして使用する方法を載せているが、このバイナリは動作不具合がある。
- よって現在私は、cygwinで、./configure;make;make install したものを使用している。こちらは上記のような不具合がない。
install(for win2000&Meadow)
○globalのバイナリ
btreeop.exe
gctags.exe
global.exe
gtags.exe
htags
htags.bat
に加え、
http://www.edv.agrar.tu-muenchen.de/‾syring/win32/UnxUtils.html
のツールにある、
sed.exe
sort.exe
をコピーする。(これがないとglobalは使えない)
を任意のディレクトリに置く。ここでは、
C:¥user¥global¥bin
とする。
また、Meadowから使うためには、上記のバイナリを置くディレクトリを、
windowsの環境変数に設定する必要がある。
!!!また、このとき、必ず、C:¥WINNT¥system32 よりも、前にPATHを設定する必要がある。!!!
(windows標準のsort.exeが動くとglobalは使えない!!)
○ソースファイル内の、
global-4.5¥gtags.elをMeadowのsite-lisp ディレクトリなどにコピー。
.emacsで、以下のように設定をする。
(autoload 'gtags-mode "gtags" "" t)
(setq gtags-mode-hook
'(lambda ()
(local-set-key "¥M-t" 'gtags-find-tag) ;Esc tで関数の定義元へ
(local-set-key "¥M-r" 'gtags-find-rtag) ;Esc rで関数の参照先へ
(local-set-key "¥M-s" 'gtags-find-symbol);Esc sで変数の定義元/参照先へ
(local-set-key "¥C-t" 'gtags-pop-stack) ;Ctrl-tで前のバッファに戻る
))
(add-hook 'c-mode-common-hook
'(lambda()
(gtags-mode 1) ;Cのソースを開いたら自動的にgtags-modeをon
))
使い方(for win2000&Meadow)
ソースディレクトリのトップで、
> gtags -v
で、インデックスを作成する。
GPATH
GRTAGS
GSYMS
GTAGS
が生成される。
任意のシンボル上で、
M-t(ESC-t)で関数の定義元へ
M-r(ESC-r)で関数の参照先へ
M-s(ESC-s)で変数の定義元/参照先へ
Ctrl-tで前のバッファに戻る
のように使う。
○このインデックスから、HTMLを生成するhtagsというものもある
> htags.bat -v -s
(htagsでは実行できない。必ず、htags.bat と実行する)
で、HTMLのリファレンスツリーを作成する!!
HTMLディレクトリが作成される。
が、htagsにバグがあるため、そのまま使おうとすると、(おそらく、windows用固有のもの
だろう)
"GTAGS is not the latest one. Please remake it."
というエラーが出てしまう。これを回避するためには、
globalのバイナリのディレクトリのhtagsの853行目を以下のようにコメントアウトする。
# &'error("GTAGS is not the latest one. Please remake it.");
コンパイル方法(win2000+BorlandC++)
新しいversionをコンパイルするときのために。作業履歴。
4.5を使うなら、上記のバイナリを使えばOK
global4.5 を win2000 + bolandC++ Compiler でコンパイルする。
cygwin環境ではgcc,makeなどが入っていれば楽にコンパイルできるが、
Meadowから、gtags.elで使おうとする場合にまともに使えないので、
BCCでコンパイルしたバイナリを使う方がよさそう。
基本的には、global4.5のドキュメントどおりやればよい。
コンパイル方法は、
○準備1:ActivePerlを適当なディレクトリにinstallする。
http://www.activestate.com/
※cygwinを入れている人は、cygwin付属のperlはuninstallした方がいいかも。
○準備2:Borland C++ Compiler 5.5 (free)をインストール
http://www.borland.co.jp/cppbuilder/freecompiler/
任意のディレクトリにinstall
ここでは、C:¥user¥borland¥bcc55 にinstallする。
C:¥user¥borland¥bcc55¥readme.txt通りやればよいが、
一応解説。
・ C:¥user¥borland¥bcc55¥bin をWindowsの環境変数PATHに登録
→PATHを有効にするために、再ログオンもしくは再起動
・ bcc32.cfgを作成。内容は下記2行。
-I"c:¥user¥Borland¥Bcc55¥include"
-L"c:¥user¥Borland¥Bcc55¥lib"
・ ilink32.cfgを作成。内容は下記2行。
-L"c:¥user¥Borland¥Bcc55¥lib"
○global-latest.tar.gzを任意のディレクトリで
> tar xvzf global-latest.tar.gz
で解凍。
○global-4.5¥w32ディレクトリの内容を、global-4.5 下に上書きする。
global-4.5¥makefile.inc を編集。
WILDOBJ= C:¥user¥Borland¥BCC55¥Lib¥wildargs.obj
installするディレクトリを指定する。このとき、指定したディレクトリは作成しておく必要がある。
BINDIR = C:¥user¥global¥bin
MANDIR = C:¥user¥global¥man¥man1
○make & make install
コマンドプロンプトから行う。
cygwin環境で、cygwinのmakeが動くとコンパイルできない。
global-4.5下で、
> make.bat
(警告がかなり出るが、エラーが出なければOK)
> make.bat install
で終了。
上で指定した、
BINDIR
MANDIR
にコピーされる。