aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRoland McGrath <mcgrathr@google.com>2014-01-21 11:01:04 -0800
committerRoland McGrath <mcgrathr@google.com>2014-01-21 11:01:04 -0800
commit4869db5e97b2062a3adf81158577171990248ef3 (patch)
tree50469757b56011b3d3184a4e964cc2fd6388feb0
parent281e9aa624806dfde63d006d7706dd84d54788d1 (diff)
downloadgdb-4869db5e97b2062a3adf81158577171990248ef3.zip
gdb-4869db5e97b2062a3adf81158577171990248ef3.tar.gz
gdb-4869db5e97b2062a3adf81158577171990248ef3.tar.bz2
gdb: Support install-strip target
gdb/ * configure.ac: Call AM_PROG_INSTALL_STRIP. * configure: Regenerate. * aclocal.m4: Regenerate. * Makefile.in (install_sh, INSTALL_STRIP_PROGRAM, STRIP): New substituted variables. (install-strip): New target. (INSTALL_SCRIPT): New substituted variable. (FLAGS_TO_PASS): Add it. (install-only): Use $(INSTALL_SCRIPT) rather than $(INSTALL_PROGRAM) for gcore.
-rw-r--r--gdb/ChangeLog13
-rw-r--r--gdb/Makefile.in14
-rw-r--r--gdb/aclocal.m4102
-rwxr-xr-xgdb/configure115
-rw-r--r--gdb/configure.ac31
5 files changed, 259 insertions, 16 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 8093be3..66f040b 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,16 @@
+2014-01-21 Roland McGrath <mcgrathr@google.com>
+
+ * configure.ac: Call AM_PROG_INSTALL_STRIP.
+ * configure: Regenerate.
+ * aclocal.m4: Regenerate.
+ * Makefile.in (install_sh, INSTALL_STRIP_PROGRAM, STRIP):
+ New substituted variables.
+ (install-strip): New target.
+ (INSTALL_SCRIPT): New substituted variable.
+ (FLAGS_TO_PASS): Add it.
+ (install-only): Use $(INSTALL_SCRIPT) rather than
+ $(INSTALL_PROGRAM) for gcore.
+
2014-01-20 Tom Tromey <tromey@redhat.com>
* cli/cli-decode.h (struct cmd_list_element): Move all bitfields
diff --git a/gdb/Makefile.in b/gdb/Makefile.in
index 0fbaaa3..ed84e35 100644
--- a/gdb/Makefile.in
+++ b/gdb/Makefile.in
@@ -44,6 +44,8 @@ htmldir = @htmldir@
pdfdir = @pdfdir@
includedir = @includedir@
+install_sh = @install_sh@
+
# This can be referenced by `LIBINTL' as computed by
# ZW_GNU_GETTEXT_SISTER_DIR.
top_builddir = .
@@ -56,6 +58,8 @@ LN_S = @LN_S@
INSTALL = @INSTALL@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
INSTALL_DATA = @INSTALL_DATA@
DESTDIR =
@@ -66,6 +70,7 @@ RANLIB = @RANLIB@
DLLTOOL = @DLLTOOL@
WINDRES = @WINDRES@
MIG = @MIG@
+STRIP = @STRIP@
XGETTEXT = @XGETTEXT@
GMSGFMT = @GMSGFMT@
@@ -648,6 +653,7 @@ FLAGS_TO_PASS = \
"MAKEHTMLFLAGS=$(MAKEHTMLFLAGS)" \
"INSTALL=$(INSTALL)" \
"INSTALL_PROGRAM=$(INSTALL_PROGRAM)" \
+ "INSTALL_SCRIPT=$(INSTALL_SCRIPT)" \
"INSTALL_DATA=$(INSTALL_DATA)" \
"RUNTEST=$(RUNTEST)" \
"RUNTESTFLAGS=$(RUNTESTFLAGS)"
@@ -1107,11 +1113,17 @@ install-only: $(CONFIG_INSTALL)
true ; \
fi ; \
$(SHELL) $(srcdir)/../mkinstalldirs $(DESTDIR)$(bindir) ; \
- $(INSTALL_PROGRAM) gcore \
+ $(INSTALL_SCRIPT) gcore \
$(DESTDIR)$(bindir)/$$transformed_name; \
fi
@$(MAKE) DO=install "DODIRS=$(SUBDIRS)" $(FLAGS_TO_PASS) subdir_do
+install-strip:
+ $(MAKE) $(FLAGS_TO_PASS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ `test -z '$(STRIP)' || \
+ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install-only
+
install-python:
$(SHELL) $(srcdir)/../mkinstalldirs $(DESTDIR)$(GDB_DATADIR)/python/gdb
diff --git a/gdb/aclocal.m4 b/gdb/aclocal.m4
index 7b546b7..68a98d1 100644
--- a/gdb/aclocal.m4
+++ b/gdb/aclocal.m4
@@ -11,6 +11,59 @@
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
+# AM_AUX_DIR_EXPAND -*- Autoconf -*-
+
+# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets
+# $ac_aux_dir to `$srcdir/foo'. In other projects, it is set to
+# `$srcdir', `$srcdir/..', or `$srcdir/../..'.
+#
+# Of course, Automake must honor this variable whenever it calls a
+# tool from the auxiliary directory. The problem is that $srcdir (and
+# therefore $ac_aux_dir as well) can be either absolute or relative,
+# depending on how configure is run. This is pretty annoying, since
+# it makes $ac_aux_dir quite unusable in subdirectories: in the top
+# source directory, any form will work fine, but in subdirectories a
+# relative path needs to be adjusted first.
+#
+# $ac_aux_dir/missing
+# fails when called from a subdirectory if $ac_aux_dir is relative
+# $top_srcdir/$ac_aux_dir/missing
+# fails if $ac_aux_dir is absolute,
+# fails when called from a subdirectory in a VPATH build with
+# a relative $ac_aux_dir
+#
+# The reason of the latter failure is that $top_srcdir and $ac_aux_dir
+# are both prefixed by $srcdir. In an in-source build this is usually
+# harmless because $srcdir is `.', but things will broke when you
+# start a VPATH build or use an absolute $srcdir.
+#
+# So we could use something similar to $top_srcdir/$ac_aux_dir/missing,
+# iff we strip the leading $srcdir from $ac_aux_dir. That would be:
+# am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"`
+# and then we would define $MISSING as
+# MISSING="\${SHELL} $am_aux_dir/missing"
+# This will work as long as MISSING is not called from configure, because
+# unfortunately $(top_srcdir) has no meaning in configure.
+# However there are other variables, like CC, which are often used in
+# configure, and could therefore not use this "fixed" $ac_aux_dir.
+#
+# Another solution, used here, is to always expand $ac_aux_dir to an
+# absolute PATH. The drawback is that using absolute paths prevent a
+# configured tree to be moved without reconfiguration.
+
+AC_DEFUN([AM_AUX_DIR_EXPAND],
+[dnl Rely on autoconf to set up CDPATH properly.
+AC_PREREQ([2.50])dnl
+# expand $ac_aux_dir to an absolute path
+am_aux_dir=`cd $ac_aux_dir && pwd`
+])
+
# AM_CONDITIONAL -*- Autoconf -*-
# Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005, 2006, 2008
@@ -47,6 +100,27 @@ AC_CONFIG_COMMANDS_PRE(
Usually this means the macro was only invoked conditionally.]])
fi])])
+# Copyright (C) 2001, 2003, 2005, 2008 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# AM_PROG_INSTALL_SH
+# ------------------
+# Define $install_sh.
+AC_DEFUN([AM_PROG_INSTALL_SH],
+[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
+if test x"${install_sh}" != xset; then
+ case $am_aux_dir in
+ *\ * | *\ *)
+ install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;;
+ *)
+ install_sh="\${SHELL} $am_aux_dir/install-sh"
+ esac
+fi
+AC_SUBST(install_sh)])
+
# Add --enable-maintainer-mode option to configure. -*- Autoconf -*-
# From Jim Meyering
@@ -87,6 +161,34 @@ AC_MSG_CHECKING([whether to am_maintainer_other maintainer-specific portions of
AU_DEFUN([jm_MAINTAINER_MODE], [AM_MAINTAINER_MODE])
+# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# AM_PROG_INSTALL_STRIP
+# ---------------------
+# One issue with vendor `install' (even GNU) is that you can't
+# specify the program used to strip binaries. This is especially
+# annoying in cross-compiling environments, where the build's strip
+# is unlikely to handle the host's binaries.
+# Fortunately install-sh will honor a STRIPPROG variable, so we
+# always use install-sh in `make install-strip', and initialize
+# STRIPPROG with the value of the STRIP variable (set by the user).
+AC_DEFUN([AM_PROG_INSTALL_STRIP],
+[AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
+# Installed binaries are usually stripped using `strip' when the user
+# run `make install-strip'. However `strip' might not be the right
+# tool to use in cross-compilation environments, therefore Automake
+# will honor the `STRIP' environment variable to overrule this program.
+dnl Don't test for $cross_compiling = yes, because it might be `maybe'.
+if test "$cross_compiling" != no; then
+ AC_CHECK_TOOL([STRIP], [strip], :)
+fi
+INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
+AC_SUBST([INSTALL_STRIP_PROGRAM])])
+
# Copyright (C) 2006, 2008 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
diff --git a/gdb/configure b/gdb/configure
index 5300b5a..9349917 100755
--- a/gdb/configure
+++ b/gdb/configure
@@ -715,6 +715,9 @@ MAKE
CCDEPMODE
DEPDIR
am__leading_dot
+INSTALL_STRIP_PROGRAM
+STRIP
+install_sh
target_os
target_vendor
target_cpu
@@ -4382,6 +4385,118 @@ case "x$am_cv_prog_cc_stdc" in
*) CC="$CC $am_cv_prog_cc_stdc" ;;
esac
+# expand $ac_aux_dir to an absolute path
+am_aux_dir=`cd $ac_aux_dir && pwd`
+
+if test x"${install_sh}" != xset; then
+ case $am_aux_dir in
+ *\ * | *\ *)
+ install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;;
+ *)
+ install_sh="\${SHELL} $am_aux_dir/install-sh"
+ esac
+fi
+
+# Installed binaries are usually stripped using `strip' when the user
+# run `make install-strip'. However `strip' might not be the right
+# tool to use in cross-compilation environments, therefore Automake
+# will honor the `STRIP' environment variable to overrule this program.
+if test "$cross_compiling" != no; then
+ if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
+set dummy ${ac_tool_prefix}strip; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_STRIP+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$STRIP"; then
+ ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_STRIP="${ac_tool_prefix}strip"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+STRIP=$ac_cv_prog_STRIP
+if test -n "$STRIP"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5
+$as_echo "$STRIP" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_STRIP"; then
+ ac_ct_STRIP=$STRIP
+ # Extract the first word of "strip", so it can be a program name with args.
+set dummy strip; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ac_ct_STRIP"; then
+ ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_ac_ct_STRIP="strip"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
+if test -n "$ac_ct_STRIP"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5
+$as_echo "$ac_ct_STRIP" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+ if test "x$ac_ct_STRIP" = x; then
+ STRIP=":"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ STRIP=$ac_ct_STRIP
+ fi
+else
+ STRIP="$ac_cv_prog_STRIP"
+fi
+
+fi
+INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
+
ac_aux_dir=
for ac_dir in .. "$srcdir"/..; do
diff --git a/gdb/configure.ac b/gdb/configure.ac
index a0e1284..55f37d2 100644
--- a/gdb/configure.ac
+++ b/gdb/configure.ac
@@ -2,7 +2,7 @@ dnl Autoconf configure script for GDB, the GNU debugger.
dnl Copyright (C) 1995-2014 Free Software Foundation, Inc.
dnl
dnl This file is part of GDB.
-dnl
+dnl
dnl This program is free software; you can redistribute it and/or modify
dnl it under the terms of the GNU General Public License as published by
dnl the Free Software Foundation; either version 3 of the License, or
@@ -30,6 +30,7 @@ AC_PROG_CC
AC_USE_SYSTEM_EXTENSIONS
ACX_LARGEFILE
AM_PROG_CC_STDC
+AM_PROG_INSTALL_STRIP
AC_CONFIG_AUX_DIR(..)
AC_CANONICAL_SYSTEM
@@ -76,7 +77,7 @@ AC_SUBST(localedir)
if test x"$USE_NLS" = xyes; then
CONFIG_ALL="$CONFIG_ALL all-po"
- CONFIG_CLEAN="$CONFIG_CLEAN clean-po"
+ CONFIG_CLEAN="$CONFIG_CLEAN clean-po"
CONFIG_INSTALL="$CONFIG_INSTALL install-po"
CONFIG_UNINSTALL="$CONFIG_UNINSTALL uninstall-po"
fi
@@ -548,7 +549,7 @@ AS_HELP_STRING([--with-iconv-bin=PATH], [specify where to find the iconv program
# On alpha-osf, it appears that libtermcap and libcurses are not compatible.
# There is a very specific comment in /usr/include/curses.h explaining that
# termcap routines built into libcurses must not be used.
-#
+#
# The symptoms we observed so far is GDB unexpectedly changing
# the terminal settings when tgetent is called - this is particularly
# visible as the output is missing carriage returns, and so rapidly
@@ -625,7 +626,7 @@ case $host_os in
go32* | *djgpp*)
ac_cv_search_tgetent="none required"
;;
- *mingw32*)
+ *mingw32*)
ac_cv_search_tgetent="none required"
CONFIG_OBS="$CONFIG_OBS windows-termcap.o"
;;
@@ -1343,7 +1344,7 @@ AC_CACHE_VAL(gdb_cv_have_ptrace_getregs,
[gdb_cv_have_ptrace_getregs=no])])
AC_MSG_RESULT($gdb_cv_have_ptrace_getregs)
if test $gdb_cv_have_ptrace_getregs = yes; then
- AC_DEFINE(HAVE_PTRACE_GETREGS, 1,
+ AC_DEFINE(HAVE_PTRACE_GETREGS, 1,
[Define if sys/ptrace.h defines the PTRACE_GETREGS request.])
fi
@@ -1537,7 +1538,7 @@ fi
# Check if the compiler and runtime support scanning long doubles.
-AC_CACHE_CHECK([for long double support in scanf],
+AC_CACHE_CHECK([for long double support in scanf],
gdb_cv_scanf_has_long_double,
[AC_RUN_IFELSE([AC_LANG_PROGRAM(
[[#include <stdio.h>]],
@@ -1914,13 +1915,13 @@ fi
case ${host} in
*mingw32*)
AC_DEFINE(USE_WIN32API, 1,
- [Define if we should use the Windows API, instead of the
- POSIX API. On Windows, we use the Windows API when
- building for MinGW, but the POSIX API when building
+ [Define if we should use the Windows API, instead of the
+ POSIX API. On Windows, we use the Windows API when
+ building for MinGW, but the POSIX API when building
for Cygwin.])
WIN32LIBS="$WIN32LIBS -lws2_32"
;;
-esac
+esac
AC_SUBST(WIN32LIBS)
# Add ELF support to GDB, but only if BFD includes ELF support.
@@ -2032,7 +2033,7 @@ if test "${enable_gdbtk}" = "yes"; then
# If building tcl in the same src tree, private headers
# are not needed, but we need to be sure to use the right
# headers library
- TCL_INCLUDE="-I${TCL_SRC_DIR}/generic"
+ TCL_INCLUDE="-I${TCL_SRC_DIR}/generic"
TCL_LIBRARY="${TCL_BUILD_LIB_SPEC}"
TCL_DEPS="../tcl/${configdir}${TCL_LIB_FILE}"
fi
@@ -2045,7 +2046,7 @@ if test "${enable_gdbtk}" = "yes"; then
# Check for in-tree Tk
intree="no"
if test "${TK_SRC_DIR}" = "${topdir}/tk"; then
- intree="yes"
+ intree="yes"
fi
# Find Tk private headers
@@ -2102,8 +2103,8 @@ AC_SUBST(GDBTK_SRC_DIR)
AC_PATH_X
-# Unlike the sim directory, whether a simulator is linked is controlled by
-# presence of a gdb_sim definition in the target configure.tgt entry.
+# Unlike the sim directory, whether a simulator is linked is controlled by
+# presence of a gdb_sim definition in the target configure.tgt entry.
# This code just checks for a few cases where we'd like to ignore those
# definitions, even when they're present in the '.mt' file. These cases
# are when --disable-sim is specified, or if the simulator directory is
@@ -2253,7 +2254,7 @@ else
struct bt_ctf_event *event = NULL;
const struct bt_definition *scope;
- scope = bt_ctf_get_top_level_scope (event,
+ scope = bt_ctf_get_top_level_scope (event,
BT_STREAM_EVENT_HEADER);
bt_ctf_get_uint64 (bt_ctf_get_field (event, scope, "id"));
])