From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 29211 invoked by alias); 10 Jan 2012 17:40:51 -0000 Received: (qmail 29032 invoked by uid 22791); 10 Jan 2012 17:40:46 -0000 X-SWARE-Spam-Status: No, hits=-1.2 required=5.0 tests=AWL,BAYES_00,SPF_SOFTFAIL,TW_GD X-Spam-Check-By: sourceware.org Received: from mtaout20.012.net.il (HELO mtaout20.012.net.il) (80.179.55.166) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Tue, 10 Jan 2012 17:40:31 +0000 Received: from conversion-daemon.a-mtaout20.012.net.il by a-mtaout20.012.net.il (HyperSendmail v2007.08) id <0LXL00M00FOJ5B00@a-mtaout20.012.net.il> for gdb-patches@sourceware.org; Tue, 10 Jan 2012 19:39:40 +0200 (IST) Received: from HOME-C4E4A596F7 ([77.124.148.90]) by a-mtaout20.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0LXL00FILFQ3LRZ0@a-mtaout20.012.net.il> for gdb-patches@sourceware.org; Tue, 10 Jan 2012 19:39:40 +0200 (IST) Date: Tue, 10 Jan 2012 18:46:00 -0000 From: Eli Zaretskii Subject: Building GDB 7.3.92 with MinGW To: gdb-patches@sourceware.org Reply-to: Eli Zaretskii Message-id: <83hb03e9sx.fsf@gnu.org> X-IsSubscribed: yes Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org X-SW-Source: 2012-01/txt/msg00299.txt.bz2 I've successfully built the latest pretest of GDB 7.3.92 with MinGW on MS-Windows. But I did encounter a few minor issues; this is my report about them. 1. Compilation warning: gcc -O2 -gdwarf-2 -g3 -D__USE_MINGW_ACCESS -I. -I. -I./common -I./config -DLOCALEDIR="\"/d/usr/share/locale\"" -DHAVE_CONFIG_H -I./../include/opcode -I./../opcodes/.. -I./../readline/.. -I../bfd -I./../bfd -I./../include -I../libdecnumber -I./../libdecnumber -I./../intl -I./gnulib -Ignulib -I/d/usr/include -Id:/usr/Python26/include -Id:/usr/Python26/include -Wall -Wdeclaration-after-statement -Wpointer-arith -Wformat-nonliteral -Wno-unused -Wunused-value -Wunused-function -Wno-switch -Wno-char-subscripts -Wno-format -c -o utils.o -MT utils.o -MMD -MP -MF .deps/utils.Tpo utils.c In file included from gdb_curses.h:30, from utils.c:68: d:/usr/include/curses.h:153:1: warning: "MOUSE_MOVED" redefined In file included from d:/usr/include/windows.h:49, from d:/usr/include/winsock2.h:22, from serial.h:24, from utils.c:48: d:/usr/include/wincon.h:58:1: warning: this is the location of the previous definition Any objections to the following patch? (If approved, I will add a comment explaining the problem on Windows which requires this.) --- gdb/gdb_curses.h~0 2012-01-06 06:43:14.000000000 +0200 +++ gdb/gdb_curses.h 2012-01-10 13:21:10.626119900 +0200 @@ -27,6 +27,9 @@ #elif defined (HAVE_CURSESX_H) #include #elif defined (HAVE_CURSES_H) +#if defined(__MINGW32__) && defined(MOUSE_MOVED) +#undef MOUSE_MOVED +#endif #include #endif 2. "make install-strip" fails in readline/, in sim/, and in gdb/: make[2]: Entering directory `/d/usr/eli/utils/gdb-7.3.92/readline' make[2]: *** No rule to make target `install-strip'. Stop. make[2]: Leaving directory `/d/usr/eli/utils/gdb-7.3.92/readline' make[1]: *** [install-strip-readline] Error 2 make[2]: Entering directory `/d/usr/eli/utils/gdb-7.3.92/sim' make[2]: *** No rule to make target `install-strip'. make[2]: Leaving directory `/d/usr/eli/utils/gdb-7.3.92/sim' make[1]: *** [install-strip-sim] Error 2 make[2]: Entering directory `/d/usr/eli/utils/gdb-7.3.92/gdb' make[2]: *** No rule to make target `install-strip'. make[2]: Leaving directory `/d/usr/eli/utils/gdb-7.3.92/gdb' make[1]: *** [install-strip-gdb] Error 2 make[1]: Target `install-strip-host' not remade because of errors. make[1]: Nothing to be done for `install-strip-target'. make[1]: Leaving directory `/d/usr/eli/utils/gdb-7.3.92' make: *** [install-strip] Error 2 The reason is that these directories simply don't have the "install-strip" target in their Makefile.in files. I think that target should be added, because that's AFAIK how GDB is supposed to be installed on end-user systems. 3. Manuals are (unexpectedly) regenerated as part of "make": make[4]: Entering directory `/d/usr/eli/utils/gdb-7.3.92/gdb' make[5]: Entering directory `/d/usr/eli/utils/gdb-7.3.92/gdb/doc' (test "cp -p" = "ln -s" && \ ln -s ./all-cfg.texi gdb-cfg.texi) || \ ln ./all-cfg.texi gdb-cfg.texi || \ cp ./all-cfg.texi gdb-cfg.texi echo "@set GDBVN `sed q ./../version.in`" > ./GDBvn.new if [ -n "(GDB) " ]; then \ echo "@set VERSION_PACKAGE (GDB) " >> ./GDBvn.new; \ fi echo "@set BUGURL @uref{http://www.gnu.org/software/gdb/bugs/}" >> ./GDBvn.new if [ "@uref{http://www.gnu.org/software/gdb/bugs/}" = "@uref{http://www.gnu.org/software/gdb/bugs/}" ]; then \ echo "@set BUGURL_DEFAULT" >> ./GDBvn.new; \ fi if test -z "-I ./../../readline/doc"; then \ echo "@set SYSTEM_READLINE" >> ./GDBvn.new; \ fi mv GDBvn.new GDBvn.texi makeinfo --split-size=5000000 --split-size=5000000 --split-size=5000000 -DHAVE_MAKEINFO_CLICK -I ./../../readline/doc -I ./../mi -I . \ -o gdb.info ./gdb.texinfo makeinfo --split-size=5000000 --split-size=5000000 --split-size=5000000 -DHAVE_MAKEINFO_CLICK -I . -o gdbint.info ./gdbint.texinfo makeinfo --split-size=5000000 --split-size=5000000 --split-size=5000000 -DHAVE_MAKEINFO_CLICK -I . -o annotate.info ./annotate.texinfo The reason is that gdb-cfg.texi and GDBvn.texi are not in the tarball, but they are build dependencies of the manuals: GDB_DOC_BUILD_INCLUDES = \ gdb-cfg.texi \ GDBvn.texi GDB_DOC_FILES = \ $(srcdir)/gdb.texinfo \ $(GDB_DOC_SOURCE_INCLUDES) \ $(GDB_DOC_BUILD_INCLUDES) ... # GDB MANUAL: info file gdb.info: ${GDB_DOC_FILES} $(MAKEINFO_CMD) $(READLINE_TEXI_INCFLAG) -I ${GDBMI_DIR} -I $(srcdir) \ -o gdb.info $(srcdir)/gdb.texinfo I think these two files should be added to the distribution, since end users should not be required to have Texinfo installed to build GDB. Finally, a question: Why are we installing libraries (libbfd, libopcodes, libiberty) and the standards.info manual? The libraries are not part of GDB, we import them from elsewhere. "make install" will happily overwrite existing installation of these libraries that could potentially be newer, coming from their respective upstream distributions. How about removing these from "make install"? As for standards.info, if we decide to keep distributing it (which I don't think we should), we should at least make a point of having the latest version in our tarballs; the one in 7.3.92 isn't. TIA