public inbox for gdb-patches@sourceware.org
 help / color / mirror / Atom feed
* [patch] Create general staging area for data-directory files.
@ 2010-10-05  0:18 Doug Evans
  2010-10-06 23:24 ` [patch] regression: Fix in-tree build [Re: [patch] Create general staging area for data-directory files.] Jan Kratochvil
  0 siblings, 1 reply; 5+ messages in thread
From: Doug Evans @ 2010-10-05  0:18 UTC (permalink / raw)
  To: gdb-patches

Hi.

Currently we create a staging area for the syscall files.
[grep for xml-syscall-copy in gdb/Makefile.in.
I'm not sure if it's used though, testsuite/gdb.base/catch-syscall.exp
sets data-directory to the source tree.  Though it could be used
by manually setting data-directory of course.]

We now have python files that also live in data-directory,
and rather than have multiple staging areas it makes sense
to consolidate them into one.

This patch does that.

This patch is a prerequisite to adding python modules for gdb
in that we'll want testcases for them, and thus we'll want a way
to point gdb at those files from the build tree.
[And while we could point data-directory at the source tree too,
we can't point data-directory at both syscalls and python at
the same time.]

I've modified the xml syscall "make install" rule to take the files
from the staging area.  If we're going to have a staging area
(and I think we should), then we should install from it.
Since "install" depends on "all", this isn't really a problem.

Another change is that one now has to remember to type "make"
before "make check" after modifying these data files.
I think this is a small price to pay, and s.o.p. for other source
files anyway.

This patch also provides an uninstall rule for xml syscalls
which is currently missing.

I can imagine quibbling over the name choice of the subdirectory:
data-directory.
I chose it because:
- it matches the gdb parameter of the same name
- it (currently) tab completes in 3 characters
- it's not so long of a name that it messes up `ls' output
  [darwin-nat-info.c is close by in `ls' output and is longer]

I will check this in in two days if there are no objections.


2010-10-04  Doug Evans  <dje@google.com>

	Create subdir data-directory.
	* Makefile.in (XML_SYSCALL_DIR, XML_SYSCALL_FILES): Moved to
	data-directory/Makefile.in.
	(SUBDIRS): Add data-directory.
	(all): Remove xml-syscall-copy dependency.
	(xml-syscall-copy): Moved to data-directory/Makefile.in as
	stamp-syscalls.
	(xml-syscall-install): Moved to data-directory/Makefile.in as
	install-syscalls.
	(install-only): Remove xml-syscall-install dependency.
	(all-data-directory): New rule.
	(data-directory/Makefile): New rule.
	* configure.ac (AC_OUTPUT): Add data-directory/Makefile.
	* configure: Regenerate.
	* data-directory/Makefile.in: New file.
	* python/lib/gdb/__init__.py: New file.

	testsuite/
	* gdb.base/catch-syscall.exp (do_syscall_tests): Update location
	of syscall staging area.

Index: Makefile.in
===================================================================
RCS file: /cvs/src/src/gdb/Makefile.in,v
retrieving revision 1.1134
diff -u -p -r1.1134 Makefile.in
--- Makefile.in	13 Sep 2010 17:59:59 -0000	1.1134
+++ Makefile.in	4 Oct 2010 23:34:03 -0000
@@ -870,16 +870,9 @@ COMMON_OBS = $(DEPFILES) $(CONFIG_OBS) $
 	inferior.o osdata.o gdb_usleep.o record.o gcore.o \
 	jit.o progspace.o
 
-# Definitions for the syscall's XML files and dir
-XML_SYSCALLS_DIR = syscalls/
-XML_SYSCALLS_FILES = gdb-syscalls.dtd \
-		     ppc-linux.xml ppc64-linux.xml \
-		     i386-linux.xml amd64-linux.xml \
-		     sparc-linux.xml sparc64-linux.xml
-
 TSOBS = inflow.o
 
-SUBDIRS = @subdirs@
+SUBDIRS = @subdirs@ data-directory
 CLEANDIRS = $(SUBDIRS) gnulib
 
 # For now, shortcut the "configure GDB for fewer languages" stuff.
@@ -910,41 +903,11 @@ generated_files = config.h observer.h ob
 	$(COMPILE) $<
 	$(POSTCOMPILE)
 
-all: gdb$(EXEEXT) $(CONFIG_ALL) xml-syscall-copy
+all: gdb$(EXEEXT) $(CONFIG_ALL)
 	@$(MAKE) $(FLAGS_TO_PASS) DO=all "DODIRS=`echo $(SUBDIRS) | sed 's/testsuite//'`" subdir_do
 .PHONY: all-tui
 all-tui: $(TUI)$(EXEEXT)
 
-# This is needed for running GDB from the build directory
-.PHONY: xml-syscall-copy
-xml-syscall-copy:
-	if [ "`cd $(srcdir) && pwd`" != "`pwd`" ] ; then \
-	  mkdir -p ./$(XML_SYSCALLS_DIR) ; \
-	  list='$(XML_SYSCALLS_FILES)' ; \
- 	  for file in $$list ; do \
-	    f=$(srcdir)/$(XML_SYSCALLS_DIR)/$$file ; \
-	    if test -f $$f ; then \
-	      $(INSTALL_DATA) $$f \
-	    	  ./$(XML_SYSCALLS_DIR) ; \
-	    fi ; \
-	  done ; \
-	fi ;
-
-# This target is responsible for properly installing the syscalls'
-# XML files in the system.
-.PHONY: xml-syscall-install
-xml-syscall-install:
-	$(SHELL) $(srcdir)/../mkinstalldirs \
-		$(DESTDIR)$(GDB_DATADIR)/$(XML_SYSCALLS_DIR) ; \
-	list='$(XML_SYSCALLS_FILES)' ; \
-	for file in $$list ; do \
-	  f=$(srcdir)/$(XML_SYSCALLS_DIR)/$$file ; \
-	  if test -f $$f ; then \
-	    $(INSTALL_DATA) $$f \
-	    	$(DESTDIR)$(GDB_DATADIR)/$(XML_SYSCALLS_DIR) ; \
-	  fi ; \
-	done ;
-
 installcheck:
 
 # The check target can not use subdir_do, because subdir_do does not
@@ -1003,9 +966,7 @@ gdb.z:gdb.1
 # install-only is intended to address that need.
 install: all install-only 
 
-# The "install-only" target also installs the syscalls' XML files in
-# the system.
-install-only: $(CONFIG_INSTALL) xml-syscall-install
+install-only: $(CONFIG_INSTALL)
 	transformed_name=`t='$(program_transform_name)'; \
 			  echo gdb | sed -e "$$t"` ; \
 		if test "x$$transformed_name" = x; then \
@@ -1178,6 +1139,11 @@ all-lib: gnulib/Makefile
 	@$(MAKE) $(FLAGS_TO_PASS) DO=all DODIRS=gnulib subdir_do
 .PHONY: all-lib
 
+# Convenience rule to handle recursion.
+.PHONY: all-data-directory
+all-data-directory: data-directory/Makefile
+	@$(MAKE) $(FLAGS_TO_PASS) DO=all DODIRS=data-directory subdir_do
+
 # Create a library of the gdb object files and build GDB by linking
 # against that.
 #
@@ -1294,6 +1260,13 @@ gnulib/Makefile: gnulib/Makefile.in gnul
 	  CONFIG_LINKS= \
 	  $(SHELL) config.status
 
+data-directory/Makefile: data-directory/Makefile.in config.status @frags@
+	CONFIG_FILES="data-directory/Makefile" \
+	  CONFIG_COMMANDS="depfiles" \
+	  CONFIG_HEADERS= \
+	  CONFIG_LINKS= \
+	  $(SHELL) config.status
+
 config.h: stamp-h ; @true
 stamp-h: $(srcdir)/config.in config.status
 	CONFIG_HEADERS=config.h:config.in \
Index: configure
===================================================================
RCS file: /cvs/src/src/gdb/configure,v
retrieving revision 1.317
diff -u -p -r1.317 configure
--- configure	22 Sep 2010 16:14:57 -0000	1.317
+++ configure	4 Oct 2010 23:34:03 -0000
@@ -15891,7 +15891,7 @@ ac_config_links="$ac_config_links $ac_co
 $as_echo "#define GDB_DEFAULT_HOST_CHARSET \"UTF-8\"" >>confdefs.h
 
 
-ac_config_files="$ac_config_files Makefile .gdbinit:gdbinit.in gnulib/Makefile"
+ac_config_files="$ac_config_files Makefile .gdbinit:gdbinit.in gnulib/Makefile data-directory/Makefile"
 
 ac_config_commands="$ac_config_commands default"
 
@@ -16658,6 +16658,7 @@ do
     "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
     ".gdbinit") CONFIG_FILES="$CONFIG_FILES .gdbinit:gdbinit.in" ;;
     "gnulib/Makefile") CONFIG_FILES="$CONFIG_FILES gnulib/Makefile" ;;
+    "data-directory/Makefile") CONFIG_FILES="$CONFIG_FILES data-directory/Makefile" ;;
     "default") CONFIG_COMMANDS="$CONFIG_COMMANDS default" ;;
 
   *) as_fn_error "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
Index: configure.ac
===================================================================
RCS file: /cvs/src/src/gdb/configure.ac,v
retrieving revision 1.131
diff -u -p -r1.131 configure.ac
--- configure.ac	22 Sep 2010 16:15:01 -0000	1.131
+++ configure.ac	4 Oct 2010 23:34:03 -0000
@@ -2140,7 +2140,7 @@ dnl  At the moment, we just assume it's 
 AC_DEFINE(GDB_DEFAULT_HOST_CHARSET, "UTF-8",
           [Define to be a string naming the default host character set.])
 
-AC_OUTPUT(Makefile .gdbinit:gdbinit.in gnulib/Makefile,
+AC_OUTPUT(Makefile .gdbinit:gdbinit.in gnulib/Makefile data-directory/Makefile,
 [
 case x$CONFIG_HEADERS in
 xconfig.h:config.in)
Index: testsuite/gdb.base/catch-syscall.exp
===================================================================
RCS file: /cvs/src/src/gdb/testsuite/gdb.base/catch-syscall.exp,v
retrieving revision 1.8
diff -u -p -r1.8 catch-syscall.exp
--- testsuite/gdb.base/catch-syscall.exp	1 Jun 2010 21:29:21 -0000	1.8
+++ testsuite/gdb.base/catch-syscall.exp	4 Oct 2010 23:34:03 -0000
@@ -278,7 +278,7 @@ proc do_syscall_tests {} {
     global gdb_prompt srcdir
 
     # First, we need to set GDB datadir.
-    gdb_test_no_output "set data-directory $srcdir/.."
+    gdb_test_no_output "set data-directory [pwd]/../data-directory"
 
     # Verify that the 'catch syscall' help is available
     set thistest "help catch syscall"
--- /dev/null	2010-09-23 16:28:04.543730915 -0700
+++ python/lib/gdb/__init__.py	2010-10-04 16:42:40.000000000 -0700
@@ -0,0 +1,16 @@
+# Copyright (C) 2010 Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+
--- /dev/null	2010-09-23 16:28:04.543730915 -0700
+++ data-directory/Makefile.in	2010-10-04 16:56:01.000000000 -0700
@@ -0,0 +1,185 @@
+# Copyright (C) 2010 Free Software Foundation, Inc.
+
+# Makefile for building a staged copy of the data-directory.
+# This file is part of GDB.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+srcdir = @srcdir@
+SYSCALLS_SRCDIR = $(srcdir)/../syscalls
+PYTHON_SRCDIR = $(srcdir)/../python/lib
+VPATH = $(srcdir):$(SYSCALLS_SRCDIR):$(PYTHON_SRCDIR)
+
+top_srcdir = @top_srcdir@
+top_builddir = @top_builddir@
+
+prefix = @prefix@
+exec_prefix = @exec_prefix@
+
+datarootdir = @datarootdir@
+datadir = @datadir@
+
+SHELL = @SHELL@
+
+LN_S = @LN_S@
+
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_DIR = $(SHELL) $(srcdir)/../../mkinstalldirs
+
+GDB_DATADIR = @GDB_DATADIR@
+
+SYSCALLS_DIR = syscalls
+SYSCALLS_INSTALL_DIR = $(DESTDIR)/$(GDB_DATADIR)/$(SYSCALLS_DIR)
+SYSCALLS_FILES = \
+	gdb-syscalls.dtd \
+	ppc-linux.xml ppc64-linux.xml \
+	i386-linux.xml amd64-linux.xml \
+	sparc-linux.xml sparc64-linux.xml
+
+PYTHON_DIR = python
+PYTHON_INSTALL_DIR = $(DESTDIR)/$(GDB_DATADIR)/$(PYTHON_DIR)
+PYTHON_FILES = \
+	gdb/__init__.py
+
+# Host-dependent makefile fragment comes in here.
+@host_makefile_frag@
+# End of host-dependent makefile fragment
+
+.PHONY: all
+all: stamp-syscalls stamp-python
+
+# For portability's sake, we need to handle systems that don't have
+# symbolic links.
+stamp-syscalls: Makefile $(SYSCALLS_FILES)
+	rm -rf ./$(SYSCALLS_DIR)
+	mkdir ./$(SYSCALLS_DIR)
+	files='$(SYSCALLS_FILES)' ; \
+	for file in $$files ; do \
+	  f=$(SYSCALLS_SRCDIR)/$$file ; \
+	  if test -f $$f ; then \
+	    $(INSTALL_DATA) $$f ./$(SYSCALLS_DIR) ; \
+	  fi ; \
+	done
+	touch $@
+
+.PHONY: clean-syscalls
+clean-syscalls:
+	rm -rf $(SYSCALLS_DIR)
+
+# This target is responsible for properly installing the syscalls'
+# XML files in the system.
+.PHONY: install-syscalls
+install-syscalls:
+	$(INSTALL_DIR) $(SYSCALLS_INSTALL_DIR)
+	files='$(SYSCALLS_FILES)' ; \
+	for file in $$files; do \
+	  f=$(SYSCALLS_SRCDIR)/$$file ; \
+	  if test -f $$f ; then \
+	    $(INSTALL_DATA) $$f $(SYSCALLS_INSTALL_DIR) ; \
+	  fi ; \
+	done
+
+.PHONY: uninstall-syscalls
+uninstall-syscalls:
+	files='$(SYSCALLS_FILES)' ; \
+	for file in $$files ; do \
+	  slashdir=`echo "/$$file" | sed 's,/[^/]*$$,,'` ; \
+	  rm -f $(SYSCALLS_INSTALL_DIR)/$$file ; \
+	  while test "x$$file" != "x$$slashdir" ; do \
+	    rmdir 2>/dev/null "$(SYSCALLS_INSTALL_DIR)$$slashdir" ; \
+	    file="$$slashdir" ; \
+	    slashdir=`echo "$$file" | sed 's,/[^/]*$$,,'` ; \
+	  done \
+	done
+
+stamp-python: Makefile $(PYTHON_FILES)
+	rm -rf ./$(PYTHON_DIR)
+	files='$(PYTHON_FILES)' ; \
+	for file in $$files ; do \
+	  dir=`echo "$$file" | sed 's,/[^/]*$$,,'` ; \
+	  $(INSTALL_DIR) ./$(PYTHON_DIR)/$$dir ; \
+	  $(INSTALL_DATA) $(PYTHON_SRCDIR)/$$file ./$(PYTHON_DIR)/$$dir ; \
+	done
+	touch $@
+
+.PHONY: clean-python
+clean-python:
+	rm -rf $(PYTHON_DIR)
+
+.PHONY: install-python
+install-python:
+	files='$(PYTHON_FILES)' ; \
+	for file in $$files ; do \
+	  dir=`echo "$$file" | sed 's,/[^/]*$$,,'` ; \
+	  $(INSTALL_DIR) $(PYTHON_INSTALL_DIR)/$$dir ; \
+	  $(INSTALL_DATA) ./$(PYTHON_DIR)/$$file $(PYTHON_INSTALL_DIR)/$$dir ; \
+	done
+
+.PHONY: uninstall-python
+uninstall-python:
+	files='$(PYTHON_FILES)' ; \
+	for file in $$files ; do \
+	  slashdir=`echo "/$$file" | sed 's,/[^/]*$$,,'` ; \
+	  rm -f $(PYTHON_INSTALL_DIR)/$$file ; \
+	  while test "x$$file" != "x$$slashdir" ; do \
+	    rmdir 2>/dev/null "$(PYTHON_INSTALL_DIR)$$slashdir" ; \
+	    file="$$slashdir" ; \
+	    slashdir=`echo "$$file" | sed 's,/[^/]*$$,,'` ; \
+	  done \
+	done
+
+# Traditionally "install" depends on "all".  But it may be useful
+# not to; for example, if the user has made some trivial change to a
+# source file and doesn't care about rebuilding or just wants to save the
+# time it takes for make to check that all is up to date.
+# install-only is intended to address that need.
+.PHONY: install
+install: all
+	$(MAKE) install-only
+
+.PHONY: install-only
+install-only: install-syscalls install-python
+
+.PHONY: uninstall
+uninstall: uninstall-syscalls uninstall-python
+
+.PHONY: clean
+clean: clean-syscalls clean-python
+	rm -f stamp-*
+
+.PHONY: maintainer-clean realclean distclean
+maintainer-clean realclean distclean: clean
+	rm -f Makefile
+
+.PHONY: check installcheck info dvi pdf html
+.PHONY: install-info install-pdf install-html clean-info
+check installcheck:
+info dvi pdf html:
+install-info install-pdf install-html:
+clean-info:
+
+# GNU Make has an annoying habit of putting *all* the Makefile variables
+# into the environment, unless you include this target as a circumvention.
+# Rumor is that this will be fixed (and this target can be removed)
+# in GNU Make 4.0.
+.NOEXPORT:
+
+# GNU Make 3.63 has a different problem: it keeps tacking command line
+# overrides onto the definition of $(MAKE).  This variable setting
+# will remove them.
+MAKEOVERRIDES=
+
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @frags@
+	cd $(top_builddir) && $(MAKE) data-directory/Makefile

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [patch] regression: Fix in-tree build  [Re: [patch] Create general staging area for data-directory files.]
  2010-10-05  0:18 [patch] Create general staging area for data-directory files Doug Evans
@ 2010-10-06 23:24 ` Jan Kratochvil
  2010-10-06 23:34   ` Pedro Alves
  0 siblings, 1 reply; 5+ messages in thread
From: Jan Kratochvil @ 2010-10-06 23:24 UTC (permalink / raw)
  To: Doug Evans; +Cc: gdb-patches

On Tue, 05 Oct 2010 02:18:19 +0200, Doug Evans wrote:
> --- /dev/null	2010-09-23 16:28:04.543730915 -0700
> +++ data-directory/Makefile.in	2010-10-04 16:56:01.000000000 -0700
> +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @frags@
> +	cd $(top_builddir) && $(MAKE) data-directory/Makefile

->
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status  ./config/i386/linux64.mh

cd /home/...; ./configure; make
[...]
make[4]: Entering directory `/home/.../gdb/data-directory'
make[4]: *** No rule to make target `config/i386/linux64.mh', needed by `Makefile'.  Stop.

I will be away for a day, please check it in if it looks OK.


Thanks,
Jan


gdb/
2010-10-07  Jan Kratochvil  <jan.kratochvil@redhat.com>

	* Makefile.in (top_srcdir): New substituted variable.
	* configure.ac: New variable host_makefile_frag_1.  Use $(top_srcdir)
	prefix for @frags@.
	* configure: Regenerate.

--- ./gdb/Makefile.in	2010-10-06 18:46:12.000000000 +0200
+++ ./gdb/Makefile.in	2010-10-07 00:55:59.000000000 +0200
@@ -97,6 +97,7 @@ POSTCOMPILE = @true
 
 # Directory containing source files.
 srcdir = @srcdir@
+top_srcdir = @top_srcdir@
 VPATH = @srcdir@
 
 YACC=@YACC@
--- ./gdb/configure.ac	2010-10-06 18:02:43.000000000 +0200
+++ ./gdb/configure.ac	2010-10-07 00:57:59.000000000 +0200
@@ -2046,11 +2046,13 @@ AC_SUBST(target_subdir)
 
 frags=
 if test "${gdb_native}" = "yes"; then
-  host_makefile_frag=${srcdir}/config/${gdb_host_cpu}/${gdb_host}.mh
+  host_makefile_frag_1=config/${gdb_host_cpu}/${gdb_host}.mh
+  host_makefile_frag=${srcdir}/${host_makefile_frag_1}
   if test ! -f ${host_makefile_frag}; then
     AC_MSG_ERROR("*** Gdb does not support native target ${host}")
   fi
-  frags="$frags $host_makefile_frag"
+  # @frags@ may be used in a different subdirectory - use $(top_srcdir).
+  frags="$frags \$(top_srcdir)/$host_makefile_frag_1"
 else
   host_makefile_frag=/dev/null
 fi

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [patch] regression: Fix in-tree build  [Re: [patch] Create general staging area for data-directory files.]
  2010-10-06 23:24 ` [patch] regression: Fix in-tree build [Re: [patch] Create general staging area for data-directory files.] Jan Kratochvil
@ 2010-10-06 23:34   ` Pedro Alves
  2010-10-07  0:05     ` Doug Evans
  0 siblings, 1 reply; 5+ messages in thread
From: Pedro Alves @ 2010-10-06 23:34 UTC (permalink / raw)
  To: gdb-patches; +Cc: Jan Kratochvil, Doug Evans

On Thursday 07 October 2010 00:24:15, Jan Kratochvil wrote:
> On Tue, 05 Oct 2010 02:18:19 +0200, Doug Evans wrote:
> > --- /dev/null	2010-09-23 16:28:04.543730915 -0700
> > +++ data-directory/Makefile.in	2010-10-04 16:56:01.000000000 -0700
> > +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @frags@
> > +	cd $(top_builddir) && $(MAKE) data-directory/Makefile
> 

Does this need to depend on @frags@ in the first place?

> ->
> Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status  ./config/i386/linux64.mh
> 
> cd /home/...; ./configure; make
> [...]
> make[4]: Entering directory `/home/.../gdb/data-directory'
> make[4]: *** No rule to make target `config/i386/linux64.mh', needed by `Makefile'.  Stop.
> 
> I will be away for a day, please check it in if it looks OK.
> 
> 
> Thanks,
> Jan
> 
> 
> gdb/
> 2010-10-07  Jan Kratochvil  <jan.kratochvil@redhat.com>
> 
> 	* Makefile.in (top_srcdir): New substituted variable.
> 	* configure.ac: New variable host_makefile_frag_1.  Use $(top_srcdir)
> 	prefix for @frags@.
> 	* configure: Regenerate.
> 
> --- ./gdb/Makefile.in	2010-10-06 18:46:12.000000000 +0200
> +++ ./gdb/Makefile.in	2010-10-07 00:55:59.000000000 +0200
> @@ -97,6 +97,7 @@ POSTCOMPILE = @true
>  
>  # Directory containing source files.
>  srcdir = @srcdir@
> +top_srcdir = @top_srcdir@
>  VPATH = @srcdir@
>  
>  YACC=@YACC@
> --- ./gdb/configure.ac	2010-10-06 18:02:43.000000000 +0200
> +++ ./gdb/configure.ac	2010-10-07 00:57:59.000000000 +0200
> @@ -2046,11 +2046,13 @@ AC_SUBST(target_subdir)
>  
>  frags=
>  if test "${gdb_native}" = "yes"; then
> -  host_makefile_frag=${srcdir}/config/${gdb_host_cpu}/${gdb_host}.mh
> +  host_makefile_frag_1=config/${gdb_host_cpu}/${gdb_host}.mh
> +  host_makefile_frag=${srcdir}/${host_makefile_frag_1}
>    if test ! -f ${host_makefile_frag}; then
>      AC_MSG_ERROR("*** Gdb does not support native target ${host}")
>    fi
> -  frags="$frags $host_makefile_frag"
> +  # @frags@ may be used in a different subdirectory - use $(top_srcdir).
> +  frags="$frags \$(top_srcdir)/$host_makefile_frag_1"
>  else
>    host_makefile_frag=/dev/null
>  fi
> 


-- 
Pedro Alves

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [patch] regression: Fix in-tree build [Re: [patch] Create general staging area for data-directory files.]
  2010-10-06 23:34   ` Pedro Alves
@ 2010-10-07  0:05     ` Doug Evans
  2010-10-07  0:21       ` Doug Evans
  0 siblings, 1 reply; 5+ messages in thread
From: Doug Evans @ 2010-10-07  0:05 UTC (permalink / raw)
  To: Pedro Alves; +Cc: gdb-patches, Jan Kratochvil

On Wed, Oct 6, 2010 at 4:33 PM, Pedro Alves <pedro@codesourcery.com> wrote:
> On Thursday 07 October 2010 00:24:15, Jan Kratochvil wrote:
>> On Tue, 05 Oct 2010 02:18:19 +0200, Doug Evans wrote:
>> > --- /dev/null       2010-09-23 16:28:04.543730915 -0700
>> > +++ data-directory/Makefile.in      2010-10-04 16:56:01.000000000 -0700
>> > +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @frags@
>> > +   cd $(top_builddir) && $(MAKE) data-directory/Makefile
>>
>
> Does this need to depend on @frags@ in the first place?

Yeah, I think that's the right solution.

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [patch] regression: Fix in-tree build [Re: [patch] Create general staging area for data-directory files.]
  2010-10-07  0:05     ` Doug Evans
@ 2010-10-07  0:21       ` Doug Evans
  0 siblings, 0 replies; 5+ messages in thread
From: Doug Evans @ 2010-10-07  0:21 UTC (permalink / raw)
  To: Pedro Alves, Jan Kratochvil; +Cc: gdb-patches

[-- Attachment #1: Type: text/plain, Size: 824 bytes --]

On Wed, Oct 6, 2010 at 5:01 PM, Doug Evans <dje@google.com> wrote:
> On Wed, Oct 6, 2010 at 4:33 PM, Pedro Alves <pedro@codesourcery.com> wrote:
>> On Thursday 07 October 2010 00:24:15, Jan Kratochvil wrote:
>>> On Tue, 05 Oct 2010 02:18:19 +0200, Doug Evans wrote:
>>> > --- /dev/null       2010-09-23 16:28:04.543730915 -0700
>>> > +++ data-directory/Makefile.in      2010-10-04 16:56:01.000000000 -0700
>>> > +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @frags@
>>> > +   cd $(top_builddir) && $(MAKE) data-directory/Makefile
>>>
>>
>> Does this need to depend on @frags@ in the first place?
>
> Yeah, I think that's the right solution.
>

I have checked this in.

2010-10-06  Doug Evans  <dje@google.com>

        * data-directory/Makefile.in: Remove @host_makefile_frag@, @frags@.

[-- Attachment #2: gdb-101006-data-dir-frags-1.patch.txt --]
[-- Type: text/plain, Size: 967 bytes --]

2010-10-06  Doug Evans  <dje@google.com>

	* data-directory/Makefile.in: Remove @host_makefile_frag@, @frags@.

Index: data-directory/Makefile.in
===================================================================
RCS file: /cvs/src/src/gdb/data-directory/Makefile.in,v
retrieving revision 1.1
diff -u -p -r1.1 Makefile.in
--- data-directory/Makefile.in	6 Oct 2010 16:02:44 -0000	1.1
+++ data-directory/Makefile.in	7 Oct 2010 00:16:41 -0000
@@ -53,10 +53,6 @@ PYTHON_INSTALL_DIR = $(DESTDIR)/$(GDB_DA
 PYTHON_FILES = \
 	gdb/__init__.py
 
-# Host-dependent makefile fragment comes in here.
-@host_makefile_frag@
-# End of host-dependent makefile fragment
-
 .PHONY: all
 all: stamp-syscalls stamp-python
 
@@ -182,5 +178,5 @@ clean-info:
 # will remove them.
 MAKEOVERRIDES=
 
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @frags@
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	cd $(top_builddir) && $(MAKE) data-directory/Makefile

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2010-10-07  0:21 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2010-10-05  0:18 [patch] Create general staging area for data-directory files Doug Evans
2010-10-06 23:24 ` [patch] regression: Fix in-tree build [Re: [patch] Create general staging area for data-directory files.] Jan Kratochvil
2010-10-06 23:34   ` Pedro Alves
2010-10-07  0:05     ` Doug Evans
2010-10-07  0:21       ` Doug Evans

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).