From mboxrd@z Thu Jan 1 00:00:00 1970 From: Christopher Faylor To: gdb@sources.redhat.com Subject: Re: fwd: fixing some FIXMEs Date: Mon, 08 Jan 2001 17:59:00 -0000 Message-id: <20010108205948.A11359@redhat.com> References: <20010108210432.A32378@disaster.jaj.com> X-SW-Source: 2001-01/msg00017.html On Mon, Jan 08, 2001 at 09:04:32PM -0500, Phil Edwards wrote: > >I ran into these two FIXMEs in the top-level configury. The one which >tests the host is moved into the per-host section, and the one which sets >up GDB_TK is moved into the per-target section. > >Opinions? Comments? This would need to be committed in both the src and >gcc repositories, I believe, but since the patch deals with GDB/Insight, >it was suggested that it be hashed over here first. The changes make sense to me, except for the "Moved from configure" comment. That will just be puzzling to someone who stumbles across it, I think. cgf > >Index: configure >=================================================================== >RCS file: /cvs/gcc/gcc/configure,v >retrieving revision 1.33 >diff -u -3 -r1.33 configure >--- configure 2001/01/02 15:44:40 1.33 >+++ configure 2001/01/09 00:21:16 >@@ -1069,21 +1069,6 @@ > export CFLAGS > export CXXFLAGS > >-# FIXME: This should be in configure.in, not configure >-case "$host" in >- *go32*) >- enable_gdbtk=no ;; >- *msdosdjgpp*) >- enable_gdbtk=no ;; >-esac >- >-# FIXME: This should be in configure.in, not configure >-# Determine whether gdb needs tk/tcl or not. >-if [ "$enable_gdbtk" != "no" ]; then >- GDB_TK="all-tcl all-tk all-itcl all-tix all-libgui" >-else >- GDB_TK="" >-fi > > for subdir in . ${subdirs} ; do > >Index: configure.in >=================================================================== >RCS file: /cvs/gcc/gcc/configure.in,v >retrieving revision 1.84 >diff -u -3 -r1.84 configure.in >--- configure.in 2001/01/02 15:36:25 1.84 >+++ configure.in 2001/01/09 00:21:16 >@@ -277,6 +277,14 @@ > fi > fi > >+# Moved from configure. >+case "$host" in >+ *go32*) >+ enable_gdbtk=no ;; >+ *msdosdjgpp*) >+ enable_gdbtk=no ;; >+esac >+ > # We default to --with-shared on platforms where -fpic is meaningless. > # Well, we don't yet, but we will. > if false && [ "${host}" = "${target}" ] && [ x${enable_shared} = x ]; then >@@ -974,6 +982,14 @@ > use_gnu_as=no > noconfigdirs="$noconfigdirs gas" > fi >+ >+# Determine whether gdb needs tk/tcl or not. Moved from configure. >+if [ "$enable_gdbtk" != "no" ]; then >+ GDB_TK="all-tcl all-tk all-itcl all-tix all-libgui" >+else >+ GDB_TK="" >+fi >+ > > # Figure out what language subdirectories are present. > # Look if the user specified --enable-languages="..."; if not, use > -- cgf@cygnus.com Red Hat, Inc. http://sources.redhat.com/ http://www.redhat.com/ >From pedwards@disaster.jaj.com Mon Jan 08 20:31:00 2001 From: Phil Edwards To: gdb@sources.redhat.com Subject: _status: no such variable Date: Mon, 08 Jan 2001 20:31:00 -0000 Message-id: <20010108234026.A450@disaster.jaj.com> X-SW-Source: 2001-01/msg00018.html Content-length: 1104 Firing up current CVS's insight hangs the source window, with the console window containing: can't read "_status": no such variable while executing "$_status configure -text $saved_msg" (object "::.srcwin0.srcwin" method "::SrcWin::set_status" body line 10) invoked from within "set_status $message" (object "::.srcwin0.srcwin" method "::SrcWin::set_execution_status" body line 69) invoked from within "set_execution_status $line $addr" (object "::.srcwin0.srcwin" method "::SrcWin::location" body line 12) invoked from within "$src location BROWSE_TAG [list $linespec]" (procedure "::SrcWin::point_to_main" body line 9) invoked from within "SrcWin::point_to_main" (procedure "gdbtk_tcl_preloop" line 13) invoked from within "gdbtk_tcl_preloop" (gdb) -- pedwards at disaster dot jaj dot com | pme at sources dot redhat dot com devphil at several other less interesting addresses in various dot domains The gods do not protect fools. Fools are protected by more capable fools. >From pedwards@disaster.jaj.com Mon Jan 08 20:32:00 2001 From: Phil Edwards To: gdb@sources.redhat.com Subject: Re: fwd: fixing some FIXMEs Date: Mon, 08 Jan 2001 20:32:00 -0000 Message-id: <20010108234221.A467@disaster.jaj.com> X-SW-Source: 2001-01/msg00019.html Content-length: 581 [I'm not subscribed to gdb; please cc me on replies.] > The changes make sense to me, except for the "Moved from configure" > comment. That will just be puzzling to someone who stumbles across it, > I think. Yeah, that's a placeholder for some more meaningful comment. "These hosts can't build this software" is all I know to put there, though. -- pedwards at disaster dot jaj dot com | pme at sources dot redhat dot com devphil at several other less interesting addresses in various dot domains The gods do not protect fools. Fools are protected by more capable fools. >From pedwards@disaster.jaj.com Mon Jan 08 21:09:00 2001 From: Phil Edwards To: gdb@sources.redhat.com Subject: shared libraries in tcl/tk parts of insight Date: Mon, 08 Jan 2001 21:09:00 -0000 Message-id: <20010109001927.A600@disaster.jaj.com> X-SW-Source: 2001-01/msg00020.html Content-length: 7307 Okay, last bug report for a few days, I promise. :-) I take it that --enable-shared isn't a common configuration for Insight? (I tried naming specific tools and libraries in the --enable-shared= argument, but that doesn't work like I thought it did.) While trying to build a unified gcc+gdb+binutils tree on i686-pc-linux-gnu: rm -f libitcl3.0.so gcc -shared -o libitcl3.0.so itcl_bicmds.o itcl_class.o itcl_cmds.o itcl_ensemble.o itcl_linkage.o itcl_methods.o itcl_migrate.o itcl_objects.o itcl_obsolete.o itcl_parse.o itcl_util.o ranlib libitcl3.0.so ranlib: libitcl3.0.so: File format not recognized gmake[2]: *** [libitcl3.0.so] Error 1 gmake[2]: Leaving directory `/home/pme/build/build-2001-01-08/itcl/itcl/unix' gmake[1]: *** [all] Error 1 gmake[1]: Leaving directory `/home/pme/build/build-2001-01-08/itcl' gmake: *** [all-itcl] Error 2 This occurs when --enable-shared was passed to the top-level configure. The libraries are being built correctly, but the various Makefile's blindly call ranlib on them after the build, and then they will try to do so again during installation. This happens in a number of tcl/tix/tk/itcl places. Sometimes the Makefiles have rules to correctly call ranlib or not during the build, but do it again anyhow during the installation. There are correct "RANLIB = :" definitions created, but they are overridden by the top-level make. This patch gets me through things corectly. It isn't suitable for application (it makes assumptions about filename endings), but at least points out where the problems occur. Also, there are issues with calling the newly-built tclsh during install. With --enable-shared LD_LIBRARY_PATH must be used (or libtool!). Also, TCL_BIN_DIR wasn't being replaced by configure, and would remain @TCL_BIN_DIR@ in the Makefile. I touch'ed, I autoconf'ed, I grep'ed; it just would not be looked at by config.status. Using any name other than TCL_BIN_DIR worked fine. I don't know why. Phil [not subscribed to this list] Index: itcl/itcl/unix/Makefile.in =================================================================== RCS file: /cvs/src/src/itcl/itcl/unix/Makefile.in,v retrieving revision 1.1.1.1 diff -u -3 -r1.1.1.1 Makefile.in --- Makefile.in 2000/02/07 00:19:46 1.1.1.1 +++ Makefile.in 2001/01/09 04:39:32 @@ -193,7 +193,7 @@ @ITCL_LIB_FILE@: $(OBJS) rm -f $(ITCL_LIB_FILE) @MAKE_LIB@ - $(RANLIB) $(ITCL_LIB_FILE) + case $(ITCL_LIB_FILE) in *.a) $(RANLIB) $(ITCL_LIB_FILE) ;; esac itclsh: tclAppInit.o $(ITCL_LIB_FILE) @TCL_LIB_FULL_PATH@ $(CC) @LD_FLAGS@ tclAppInit.o @ITCL_BUILD_LIB_SPEC@ \ @@ -213,7 +213,7 @@ @$(MKINSTALLDIRS) $(LIB_INSTALL_DIR) $(BIN_INSTALL_DIR) @echo "Installing $(ITCL_LIB_FILE)" @$(INSTALL_DATA) $(ITCL_LIB_FILE) $(LIB_INSTALL_DIR)/$(ITCL_LIB_FILE) - @(cd $(LIB_INSTALL_DIR); $(RANLIB) $(ITCL_LIB_FILE)) + @case $(ITCL_LIB_FILE) in *.a) (cd $(LIB_INSTALL_DIR); $(RANLIB) $(ITCL_LIB_FILE));; esac chmod 555 $(LIB_INSTALL_DIR)/$(ITCL_LIB_FILE) @echo "Installing itclsh" $(INSTALL_PROGRAM) itclsh $(BIN_INSTALL_DIR)/itclsh$(VERSION) Index: itcl/itk/unix/Makefile.in =================================================================== RCS file: /cvs/src/src/itcl/itk/unix/Makefile.in,v retrieving revision 1.1.1.1 diff -u -3 -r1.1.1.1 Makefile.in --- Makefile.in 2000/02/07 00:19:46 1.1.1.1 +++ Makefile.in 2001/01/09 04:39:32 @@ -226,7 +226,7 @@ @ITK_LIB_FILE@: ${OBJS} rm -f $(ITK_LIB_FILE) @MAKE_LIB@ - $(RANLIB) $(ITK_LIB_FILE) + case $(ITK_LIB_FILE) in *.a) $(RANLIB) $(ITK_LIB_FILE) ;; esac itkwish: tkAppInit.o $(ITK_LIB_FILE) @TCL_LIB_FULL_PATH@ @TK_LIB_FULL_PATH@ \ @ITCL_LIB_FULL_PATH@ @@ -253,7 +253,7 @@ @$(MKINSTALLDIRS) $(LIB_INSTALL_DIR) $(BIN_INSTALL_DIR) @echo "Installing $(ITK_LIB_FILE)" @$(INSTALL_DATA) $(ITK_LIB_FILE) $(LIB_INSTALL_DIR) - @(cd $(LIB_INSTALL_DIR); $(RANLIB) $(ITK_LIB_FILE)) + @case $(ITK_LIB_FILE) in *.a) (cd $(LIB_INSTALL_DIR); $(RANLIB) $(ITK_LIB_FILE));; esac @chmod 555 $(LIB_INSTALL_DIR)/$(ITK_LIB_FILE) @echo "Installing itkwish" $(INSTALL_PROGRAM) itkwish $(BIN_INSTALL_DIR)/itkwish$(VERSION) Index: tcl/unix/Makefile.in =================================================================== RCS file: /cvs/src/src/tcl/unix/Makefile.in,v retrieving revision 1.1.1.1 diff -u -3 -r1.1.1.1 Makefile.in --- Makefile.in 1999/11/09 01:28:44 1.1.1.1 +++ Makefile.in 2001/01/09 04:39:38 @@ -449,7 +449,7 @@ done; @echo "Installing $(TCL_LIB_FILE)" @$(INSTALL_DATA) $(TCL_LIB_FILE) $(LIB_INSTALL_DIR)/$(TCL_LIB_FILE) - @(cd $(LIB_INSTALL_DIR); $(RANLIB) $(TCL_LIB_FILE)) + @case $(TCL_LIB_FILE) in *.a) (cd $(LIB_INSTALL_DIR); $(RANLIB) $(TCL_LIB_FILE));; esac @chmod 555 $(LIB_INSTALL_DIR)/$(TCL_LIB_FILE) @echo "Installing tclsh" @$(INSTALL_PROGRAM) tclsh $(BIN_INSTALL_DIR)/tclsh Index: tix/unix/tk8.0/Makefile.in =================================================================== RCS file: /cvs/src/src/tix/unix/tk8.0/Makefile.in,v retrieving revision 1.1.1.1 diff -u -3 -r1.1.1.1 Makefile.in --- Makefile.in 2000/02/07 00:19:29 1.1.1.1 +++ Makefile.in 2001/01/09 04:39:39 @@ -67,7 +67,7 @@ # TCL_SRC_DIR = @TCL_SRC_DIR@ TCL_GENERIC_DIR = $(TCL_SRC_DIR)/generic -TCL_BIN_DIR = @TCL_BIN_DIR@ +TCL_BIN_DIR = @TCLBINDIR_VARIABLE@ # Location of the Tk 8.0 source directory. # @@ -84,6 +84,7 @@ RUN_TCLSH = TCL_LIBRARY=$(TCL_SRC_DIR)/library \ TK_LIBRARY=$(TK_SRC_DIR)/library \ + LD_LIBRARY_PATH=$(TCL_BIN_DIR):${LD_LIBRARY_PATH} \ $(TCL_BIN_DIR)/tclsh Index: tix/unix/tk8.0/configure.in =================================================================== RCS file: /cvs/src/src/tix/unix/tk8.0/configure.in,v retrieving revision 1.1.1.1 diff -u -3 -r1.1.1.1 configure.in --- configure.in 2000/02/07 00:19:29 1.1.1.1 +++ configure.in 2001/01/09 04:39:40 @@ -144,7 +144,7 @@ # CYGNUS LOCAL: This used to get TCL_BIN_DIR from TCL_SRC_DIR, which # only works when srcdir == objdir -TCL_BIN_DIR=../../../tcl/unix +TCLBINDIR_VARIABLE=../../../tcl/unix #-------------------------------------------------------------------- # See if there was a command-line option for where Tk is; if @@ -221,7 +221,7 @@ # Makefile. #-------------------------------------------------------------------- -file=$TCL_BIN_DIR/tclConfig.sh +file=$TCLBINDIR_VARIABLE/tclConfig.sh . $file CC=$TCL_CC SHLIB_CFLAGS=$TCL_SHLIB_CFLAGS @@ -387,7 +387,7 @@ AC_SUBST(TCL_LIBS) AC_SUBST(TCL_VERSION) AC_SUBST(TCL_SRC_DIR) -AC_SUBST(TCL_BIN_DIR) +AC_SUBST(TCLBINDIR_VARIABLE) AC_SUBST(TCL_LIB_FULL_PATH) AC_SUBST(TK_BUILD_LIB_SPEC) AC_SUBST(TK_LIBS) Index: tk/unix/Makefile.in =================================================================== RCS file: /cvs/src/src/tk/unix/Makefile.in,v retrieving revision 1.1.1.1 diff -u -3 -r1.1.1.1 Makefile.in --- Makefile.in 2000/02/07 00:19:30 1.1.1.1 +++ Makefile.in 2001/01/09 04:39:41 @@ -386,7 +386,7 @@ done; @echo "Installing $(TK_LIB_FILE)" @$(INSTALL_DATA) $(TK_LIB_FILE) $(LIB_INSTALL_DIR)/$(TK_LIB_FILE) - @(cd $(LIB_INSTALL_DIR); $(RANLIB) $(TK_LIB_FILE)) + @case $(TK_LIB_FILE) in *.a) (cd $(LIB_INSTALL_DIR); $(RANLIB) $(TK_LIB_FILE));; esac @chmod 555 $(LIB_INSTALL_DIR)/$(TK_LIB_FILE) @echo "Installing wish" @$(INSTALL_PROGRAM) wish $(BIN_INSTALL_DIR)/wish