#contents


mingw 用の insight(gdb)のソースはgdb-6.6 まで公開されている。
これを gcc4 でビルドするといくつかエラーになる。
* 警告の無視 [#jb7c6db8]
gcc4 は警告をエラーとして扱う。

insight のビルドに限れば、警告を無視して欲しい。

そこで configure をしたあと、警告を無視するようにオプションをつける。


 $ mkdir build_insight
 $ cd build_insight
 $ ../insight-src/configure
 $ make CFLAGS="-Wno-unused-but-set-variable -Wno-sign-conversion -Wno-sign-compare" 2>&1 | tee make.log
* ソースの変更 [#tb7b46b7]
以下の2つのパッチから、2つのファイルを修正すると、ビルドに成功した。


#ref(config.log)


http://www.cygwin.com/ml/insight/2011-q3/msg00010/insight-mingw.patch

http://permalink.gmane.org/gmane.comp.debugging.insight/2770

- tclWinReg.c
 --- a/src/tcl/win/tclWinReg.c
 +++ b/src/tcl/win/tclWinReg.c
 @@ -747,7 +747,7 @@ GetValue(
 		    Tcl_NewStringObj(Tcl_DStringValue(&buf),
 			    Tcl_DStringLength(&buf)));
 	    if (regWinProcs->useWide) {
 -		while (*((Tcl_UniChar *)p)++ != 0) {}
 + 		while (*((Tcl_UniChar *)p++) != 0) {}
 	    } else {
 		while (*p++ != '\0') {}
 	    }

- tclWinDde.c

 --- a/src/tcl/win/tclWinDde.c
 +++ b/src/tcl/win/tclWinDde.c
 @@ -1175,7 +1175,8 @@ Tcl_DdeObjCmd(
 	}
 	case DDE_EVAL: {
 	    objc -= (async + 3);
 -	    ((Tcl_Obj **) objv) += (async + 3);
 +	    //((Tcl_Obj **) objv) += (async + 3);
 +        objv += (async + 3);


 Index: tcl/win/tclWinDde.c
 ===================================================================
 RCS file: /cvs/src/src/tcl/win/tclWinDde.c,v
 retrieving revision 1.5
 diff -u -r1.5 tclWinDde.c
 --- tcl/win/tclWinDde.c	21 Jan 2003 19:40:22 -0000	1.5
 +++ tcl/win/tclWinDde.c	11 Aug 2011 09:22:06 -0000
 @@ -1175,7 +1175,7 @@
 	}
 	case DDE_EVAL: {
 	    objc -= (async + 3);
 -	    ((Tcl_Obj **) objv) += (async + 3);
 +        objv += (async + 3);
 
             /*
 	     * See if the target interpreter is local.  If so, execute