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.
This commit is contained in:
Doug Evans 2010-10-06 16:02:45 +00:00
parent aa27d0b360
commit aa2e2d8d77
8 changed files with 243 additions and 45 deletions

View File

@ -1,3 +1,22 @@
2010-10-06 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.
2010-10-06 Joel Brobecker <brobecker@adacore.com>
Fix ARI warnings in advance_wild_match.

View File

@ -870,16 +870,9 @@ COMMON_OBS = $(DEPFILES) $(CONFIG_OBS) $(YYOBJ) \
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 observer.inc ada-lex.c \
$(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 gnulib/Makefile.in config.status @frags@
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 \

3
gdb/configure vendored
View File

@ -15891,7 +15891,7 @@ ac_config_links="$ac_config_links $ac_config_links_1"
$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;;

View File

@ -2140,7 +2140,7 @@ dnl At the moment, we just assume it's UTF-8.
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)

View File

@ -0,0 +1,186 @@
# 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)
rm -f stamp-syscalls
# 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)
rm -f stamp-python
.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
.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

View File

@ -0,0 +1,14 @@
# 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/>.

View File

@ -1,3 +1,8 @@
2010-10-06 Doug Evans <dje@google.com>
* gdb.base/catch-syscall.exp (do_syscall_tests): Update location
of syscall staging area.
2010-10-06 Ken Werner <ken.werner@de.ibm.com>
* gdb.base/gnu_vector.c: Add variable c4.

View File

@ -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"