#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