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 にコピーされる。