Buildspyは、makeをトレースして、必要なファイル、インクルードパス、マクロ設定といった情報を収集し、その情報からUnderstandのデータベース(プロジェクト)を作成するツールです。
Buildspyツールの使い方については、Understand 3.0の新機能紹介の際に一度紹介しています。
Understand 3.0 の新機能 – Buildspyツール
Understand 3.0(Build 630)リリース時には、Windows(Cygwin)環境に対応していませんでしたが、現在の日本語最新版であるUnderstand 3.0 (Build640)では、Windows(Cygwin)環境にも対応しています。
今回は、新たに対応したWindows(Cygwin)環境での実行方法を紹介します。
Buildspyは以下の環境で動作します。
- Understand 3.0 (build640)以降
- Windows(Cygwin)、Linux x86、x86-64(64bit)
- gcc、g++準拠コンパイラでmake可能なプログラム
Buildspyは、Understand 3.0 に含まれており、以下の場所にあります。
- Windows
{Understandのインストールディレクトリ}\bin\{pc-win32 または pc-win64}\buildspy - Linux
{Understandのインストールディレクトリ}/scitools/bin/{linux32 または linux64}/buildspy
Linux環境におけるBuildspyの利用方法については、前回記事「Understand 3.0 の新機能 – Buildspyツール」を参照ください。
Windows(Cygwin)環境におけるBuildspyの利用方法は、以下の通りです。
Windows(Cygwin)の環境設定
環境変数の設定
環境変数PATHにUnderstandとBuildspyへのパスを追加します。
C:\{Understandのインストールディレクトリ}\bin\{pc-win32またはpc-win64}
C:\{Understandのインストールディレクトリ}\bin\{pc-win32またはpc-win64}\buildspy
例:
変数名:PATH
変数値:C:\Program Files\SciTools\bin\pc-win64\buildspy;C:\Program Files\SciTools\bin\pc-win64
※ 変数名PATHがすでに存在する場合には、上記の値を追加します。
設定ファイル(Buildspy.ini)の設定
Windows(Cygwin)環境で利用する場合、設定ファイルの修正が必要です。
- 一度gccwrapperコマンド、もしくはg++wrapperコマンドを実行し、設定ファイル(Buildspy.ini)を生成します。
- Windows Vista/2008/7
C:\Users\{ユーザー名}\AppData\Roaming\SciTools\Buildspy.ini - Windows XP/2003
C:\Documents and Settings\{ユーザー名}\Application Data\SciTools\Buildspy.ini
- Windows Vista/2008/7
- Buildspy.ini内の「ccCompiler」および「cxxCompiler」の項をgccwrapperおよびg++wrapperコマンドが呼び出す各コンパイルコマンドのシンボリックリンクの実体に変更します。
Cygwinを起動し、以下の画像のようにgccコマンドのシンボリックリンクの参照先を確認します。
この場合、Buildspy.iniは以下のように修正します。
[General]
ccCompiler=gcc-3
cxxCompiler=g++3
Windows(Cygwin)環境でのBuildspyの実行
以下のmakefileを例に、Buildspyの実行方法について説明します。
CC = gcc
CFLAGS = -Wall -DDEBUG -I/user/lib/include
SRC = main.c hello.c
OBJ = $(SRC:%.c=%.o)
all: hello
hello: $(OBJ)
$(CC) $(OBJ) -o hello
.PHONY: clean
clean:
@rm -rf *.o
- makeの情報をトレースするため、makefileのコンパイラ指定の項目を修正します。gccの場合には、gccwrapper.exe、g++の場合には、g++wrapper.exeを指定します。
CC=gcc
↓
CC=gccwrapper.exe
※ makefileは、必要に応じてオリジナルのコピーを残すなどしてください。
- Buildspyを実行します。
$ buildspy.exe -db hello.udb -verbose -cmd make
実行結果は以下のようになります。
作成されたudbファイルをUnderstandで開き、メニューの[プロジェクト]-[すべてのファイルの解析]を実行、もしくはundコマンドにて解析を実行します。
Understand 3.0 (Build 640)から、Windows(Cygwin)環境においても、Buildspyツールを使用できるようになりました。これにより、Understandのプロジェクト作成時に手動でおこなっていたプロジェクト設定(ファイルの入力等)の手間を大幅に削減できます。