From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 7735 invoked by alias); 10 Jan 2012 18:46:46 -0000 Received: (qmail 7718 invoked by uid 22791); 10 Jan 2012 18:46:45 -0000 X-SWARE-Spam-Status: No, hits=-1.3 required=5.0 tests=AWL,BAYES_80,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,RCVD_IN_DNSWL_LOW,TW_GD,T_RP_MATCHES_RCVD X-Spam-Check-By: sourceware.org Received: from mail-vx0-f169.google.com (HELO mail-vx0-f169.google.com) (209.85.220.169) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Tue, 10 Jan 2012 18:46:29 +0000 Received: by vcge1 with SMTP id e1so4335846vcg.0 for ; Tue, 10 Jan 2012 10:46:28 -0800 (PST) Received: by 10.221.13.2 with SMTP id pk2mr933644vcb.71.1326221186842; Tue, 10 Jan 2012 10:46:26 -0800 (PST) MIME-Version: 1.0 Received: by 10.221.13.2 with SMTP id pk2mr933568vcb.71.1326221184430; Tue, 10 Jan 2012 10:46:24 -0800 (PST) Received: by 10.220.229.1 with HTTP; Tue, 10 Jan 2012 10:46:24 -0800 (PST) In-Reply-To: <83hb03e9sx.fsf@gnu.org> References: <83hb03e9sx.fsf@gnu.org> Date: Tue, 10 Jan 2012 18:59:00 -0000 Message-ID: Subject: Re: Building GDB 7.3.92 with MinGW From: Doug Evans To: Eli Zaretskii Cc: gdb-patches@sourceware.org X-System-Of-Record: true Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable 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/msg00300.txt.bz2 On Tue, Jan 10, 2012 at 9:39 AM, Eli Zaretskii wrote: > I've successfully built the latest pretest of GDB 7.3.92 with MinGW on > MS-Windows. =A0But I did encounter a few minor issues; this is my report > about them. > > 1. Compilation warning: > > =A0 =A0 gcc -O2 -gdwarf-2 -g3 -D__USE_MINGW_ACCESS =A0 -I. -I. -I./common= -I./config -DLOCALEDIR=3D"\"/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 -I= gnulib =A0 =A0-I/d/usr/include -Id:/usr/Python26/include -Id:/usr/Python26/= include -Wall -Wdeclaration-after-statement -Wpointer-arith -Wformat-nonlit= eral -Wno-unused -Wunused-value -Wunused-function -Wno-switch -Wno-char-sub= scripts -Wno-format =A0-c -o utils.o -MT utils.o -MMD -MP -MF .deps/utils.T= po utils.c > =A0 =A0 In file included from gdb_curses.h:30, > =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0from utils.c:68: > =A0 =A0 d:/usr/include/curses.h:153:1: warning: "MOUSE_MOVED" redefined > =A0 =A0 In file included from d:/usr/include/windows.h:49, > =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0from d:/usr/include/winsock2.h= :22, > =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0from serial.h:24, > =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0from utils.c:48: > =A0 =A0 d:/usr/include/wincon.h:58:1: warning: this is the location of th= e previous definition > > =A0Any objections to the following patch? =A0(If approved, I will add a > =A0comment explaining the problem on Windows which requires this.) > > =A0 =A0 --- gdb/gdb_curses.h~0 =A0 =A0 2012-01-06 06:43:14.000000000 +0200 > =A0 =A0 +++ gdb/gdb_curses.h =A0 =A0 =A0 2012-01-10 13:21:10.626119900 +0= 200 > =A0 =A0 @@ -27,6 +27,9 @@ > =A0 =A0 =A0#elif defined (HAVE_CURSESX_H) > =A0 =A0 =A0#include > =A0 =A0 =A0#elif defined (HAVE_CURSES_H) > =A0 =A0 +#if defined(__MINGW32__) && defined(MOUSE_MOVED) > =A0 =A0 +#undef MOUSE_MOVED > =A0 =A0 +#endif > =A0 =A0 =A0#include > =A0 =A0 =A0#endif This is ok with me but remove the "&& defined(MOUSE_MOVED)". And one space after defined in "defined(__MINGW32__)". > > 2. "make install-strip" fails in readline/, in sim/, and in gdb/: > > =A0 =A0 make[2]: Entering directory `/d/usr/eli/utils/gdb-7.3.92/readline' > =A0 =A0 make[2]: *** No rule to make target `install-strip'. =A0Stop. > =A0 =A0 make[2]: Leaving directory `/d/usr/eli/utils/gdb-7.3.92/readline' > =A0 =A0 make[1]: *** [install-strip-readline] Error 2 > =A0 =A0 make[2]: Entering directory `/d/usr/eli/utils/gdb-7.3.92/sim' > =A0 =A0 make[2]: *** No rule to make target `install-strip'. > =A0 =A0 make[2]: Leaving directory `/d/usr/eli/utils/gdb-7.3.92/sim' > =A0 =A0 make[1]: *** [install-strip-sim] Error 2 > =A0 =A0 make[2]: Entering directory `/d/usr/eli/utils/gdb-7.3.92/gdb' > =A0 =A0 make[2]: *** No rule to make target `install-strip'. > =A0 =A0 make[2]: Leaving directory `/d/usr/eli/utils/gdb-7.3.92/gdb' > =A0 =A0 make[1]: *** [install-strip-gdb] Error 2 > =A0 =A0 make[1]: Target `install-strip-host' not remade because of errors. > =A0 =A0 make[1]: Nothing to be done for `install-strip-target'. > =A0 =A0 make[1]: Leaving directory `/d/usr/eli/utils/gdb-7.3.92' > =A0 =A0 make: *** [install-strip] Error 2 > > =A0 The reason is that these directories simply don't have the > =A0 "install-strip" target in their Makefile.in files. =A0I think that > =A0 target should be added, because that's AFAIK how GDB is supposed to > =A0 be installed on end-user systems. Sounds reasonable, but something to leave for 7.5? > 3. Manuals are (unexpectedly) regenerated as part of "make": > > =A0 =A0 make[4]: Entering directory `/d/usr/eli/utils/gdb-7.3.92/gdb' > =A0 =A0 make[5]: Entering directory `/d/usr/eli/utils/gdb-7.3.92/gdb/doc' > =A0 =A0 (test "cp -p" =3D "ln -s" && \ > =A0 =A0 =A0 =A0 =A0 =A0 =A0 ln -s ./all-cfg.texi gdb-cfg.texi) || \ > =A0 =A0 =A0 =A0 =A0 =A0 ln ./all-cfg.texi gdb-cfg.texi || \ > =A0 =A0 =A0 =A0 =A0 =A0 cp ./all-cfg.texi gdb-cfg.texi > =A0 =A0 echo "@set GDBVN `sed q ./../version.in`" > ./GDBvn.new > =A0 =A0 if [ -n "(GDB) " ]; then \ > =A0 =A0 =A0 =A0 =A0 =A0 =A0 echo "@set VERSION_PACKAGE (GDB) " >> ./GDBvn= .new; \ > =A0 =A0 =A0 =A0 =A0 =A0 fi > =A0 =A0 echo "@set BUGURL @uref{http://www.gnu.org/software/gdb/bugs/}" >= > ./GDBvn.new > =A0 =A0 if [ "@uref{http://www.gnu.org/software/gdb/bugs/}" =3D "@uref{ht= tp://www.gnu.org/software/gdb/bugs/}" ]; then \ > =A0 =A0 =A0 =A0 =A0 =A0 =A0 echo "@set BUGURL_DEFAULT" >> ./GDBvn.new; \ > =A0 =A0 =A0 =A0 =A0 =A0 fi > =A0 =A0 if test -z "-I ./../../readline/doc"; then \ > =A0 =A0 =A0 =A0 =A0 =A0 =A0 echo "@set SYSTEM_READLINE" >> ./GDBvn.new; \ > =A0 =A0 =A0 =A0 =A0 =A0 fi > =A0 =A0 mv GDBvn.new GDBvn.texi > =A0 =A0 makeinfo --split-size=3D5000000 --split-size=3D5000000 --split-si= ze=3D5000000 -DHAVE_MAKEINFO_CLICK -I ./../../readline/doc -I ./../mi -I . \ > =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 -o gdb.info ./gdb.texinfo > =A0 =A0 makeinfo --split-size=3D5000000 --split-size=3D5000000 --split-si= ze=3D5000000 -DHAVE_MAKEINFO_CLICK -I . -o gdbint.info ./gdbint.texinfo > =A0 =A0 makeinfo --split-size=3D5000000 --split-size=3D5000000 --split-si= ze=3D5000000 -DHAVE_MAKEINFO_CLICK -I . -o annotate.info ./annotate.texinfo > > =A0 The reason is that gdb-cfg.texi and GDBvn.texi are not in the > =A0 tarball, but they are build dependencies of the manuals: > > =A0 =A0 GDB_DOC_BUILD_INCLUDES =3D \ > =A0 =A0 =A0 =A0 =A0 =A0 gdb-cfg.texi \ > =A0 =A0 =A0 =A0 =A0 =A0 GDBvn.texi > =A0 =A0 GDB_DOC_FILES =3D \ > =A0 =A0 =A0 =A0 =A0 =A0 $(srcdir)/gdb.texinfo \ > =A0 =A0 =A0 =A0 =A0 =A0 $(GDB_DOC_SOURCE_INCLUDES) \ > =A0 =A0 =A0 =A0 =A0 =A0 $(GDB_DOC_BUILD_INCLUDES) > =A0 =A0 ... > =A0 =A0 # GDB MANUAL: info file > =A0 =A0 gdb.info: ${GDB_DOC_FILES} > =A0 =A0 =A0 =A0 =A0 =A0 $(MAKEINFO_CMD) $(READLINE_TEXI_INCFLAG) -I ${GDB= MI_DIR} -I $(srcdir) \ > =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 -o gdb.info $(srcdir)/gdb.texinfo > > =A0 I think these two files should be added to the distribution, since > =A0 end users should not be required to have Texinfo installed to build > =A0 GDB. Sounds reasonable to me, but it seems odd. Why hasn't this come up before? [Users are indeed not required to have texinfo.] > Finally, a question: Why are we installing libraries (libbfd, > libopcodes, libiberty) and the standards.info manual? =A0The libraries > are not part of GDB, we import them from elsewhere. =A0"make install" > will happily overwrite existing installation of these libraries that > could potentially be newer, coming from their respective upstream > distributions. =A0How about removing these from "make install"? I don't have an opinion on this. A counter argument could be that someone may already be expecting them to be installed. > 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. Minor preference for keeping it, I've gotten used to it being installed.