aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJose E. Marchesi <jose.marchesi@oracle.com>2015-02-18 13:52:53 +0100
committerJose E. Marchesi <jose.marchesi@oracle.com>2015-02-18 13:52:53 +0100
commitf6a88844c36e2c03806563c9703b92af6ba0b345 (patch)
treebfff03b882790a05676ff142b96f96c2fe77d565
parente3ee8ed41b6a4365897d776cc181a1bd813010c6 (diff)
downloadgdb-f6a88844c36e2c03806563c9703b92af6ba0b345.zip
gdb-f6a88844c36e2c03806563c9703b92af6ba0b345.tar.gz
gdb-f6a88844c36e2c03806563c9703b92af6ba0b345.tar.bz2
Factorize target program transformations in the GDB_AC_TRANSFORM macro.
This patch introduces a new M4 macro GDB_AC_TRANSFORM to avoid repeating the common idiom which is the transformation of target program names, i.e. from gdb to sparc64-linux-gnu-gdb. It also makes gdb/configure.ac and gdb/testsuite/configure.ac to use the new macro. gdb/ChangeLog: 2015-02-18 Jose E. Marchesi <jose.marchesi@oracle.com> * configure: Regenerated. * configure.ac: Use GDB_AC_TRANSFORM. * Makefile.in (aclocal_m4_deps): Added transform.m4. * acinclude.m4: sinclude transform.m4. * transform.m4: New file. (GDB_AC_TRANSFORM): New macro. gdb/testsuite/ChangeLog: 2015-02-18 Jose E. Marchesi <jose.marchesi@oracle.com> * configure: Regenerated. * configure.ac: Use GDB_AC_TRANSFORM. * aclocal.m4: sinclude ../transform.m4.
-rw-r--r--gdb/ChangeLog9
-rw-r--r--gdb/Makefile.in1
-rw-r--r--gdb/acinclude.m43
-rwxr-xr-xgdb/configure24
-rw-r--r--gdb/configure.ac14
-rw-r--r--gdb/testsuite/ChangeLog6
-rw-r--r--gdb/testsuite/aclocal.m41
-rwxr-xr-xgdb/testsuite/configure45
-rw-r--r--gdb/testsuite/configure.ac25
-rw-r--r--gdb/transform.m423
10 files changed, 91 insertions, 60 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 6a0a316..a21f6df 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,12 @@
+2015-02-18 Jose E. Marchesi <jose.marchesi@oracle.com>
+
+ * configure: Regenerated.
+ * configure.ac: Use GDB_AC_TRANSFORM.
+ * Makefile.in (aclocal_m4_deps): Added transform.m4.
+ * acinclude.m4: sinclude transform.m4.
+ * transform.m4: New file.
+ (GDB_AC_TRANSFORM): New macro.
+
2015-02-17 Jose E. Marchesi <jose.marchesi@oracle.com>
* NEWS: Announce the support for DTrace SDT probes.
diff --git a/gdb/Makefile.in b/gdb/Makefile.in
index c646ee5..16e2f1c 100644
--- a/gdb/Makefile.in
+++ b/gdb/Makefile.in
@@ -1528,6 +1528,7 @@ aclocal_m4_deps = \
configure.ac \
acx_configure_dir.m4 \
libmcheck.m4 \
+ transform.m4 \
../bfd/bfd.m4 \
../config/acinclude.m4 \
../config/plugins.m4 \
diff --git a/gdb/acinclude.m4 b/gdb/acinclude.m4
index 6f71486..1f0b574 100644
--- a/gdb/acinclude.m4
+++ b/gdb/acinclude.m4
@@ -9,6 +9,9 @@ sinclude(acx_configure_dir.m4)
# This gets GDB_AC_LIBMCHECK.
sinclude(libmcheck.m4)
+# This gets GDB_AC_TRANSFORM.
+sinclude(transform.m4)
+
dnl gdb/configure.in uses BFD_NEED_DECLARATION, so get its definition.
sinclude(../bfd/bfd.m4)
diff --git a/gdb/configure b/gdb/configure
index 30a54d2..bb9697d 100755
--- a/gdb/configure
+++ b/gdb/configure
@@ -15141,17 +15141,21 @@ ac_config_links="$ac_config_links $ac_config_links_1"
$as_echo "#define GDB_DEFAULT_HOST_CHARSET \"UTF-8\"" >>confdefs.h
-# Undo the $ec_script escaping suitable for Makefile.
-transform=`echo "$program_transform_name" | sed -e 's/\\$\\$/\\$/g'`
-GDB_TRANSFORM_NAME=`echo gdb | sed -e "$transform"`
-if test "x$GDB_TRANSFORM_NAME" = x; then
- GDB_TRANSFORM_NAME=gdb
-fi
-GCORE_TRANSFORM_NAME=`echo gcore | sed -e "$transform"`
-if test "x$GCORE_TRANSFORM_NAME" = x; then
- GCORE_TRANSFORM_NAME=gcore
-fi
+ gdb_ac_transform=`echo "$program_transform_name" | sed -e 's/\\$\\$/\\$/g'`
+ GDB_TRANSFORM_NAME=`echo gdb | sed -e "$gdb_ac_transform"`
+ if test "x$GDB_TRANSFORM_NAME" = x; then
+ GDB_TRANSFORM_NAME=gdb
+ fi
+
+
+
+ gdb_ac_transform=`echo "$program_transform_name" | sed -e 's/\\$\\$/\\$/g'`
+ GCORE_TRANSFORM_NAME=`echo gcore | sed -e "$gdb_ac_transform"`
+ if test "x$GCORE_TRANSFORM_NAME" = x; then
+ GCORE_TRANSFORM_NAME=gcore
+ fi
+
ac_config_files="$ac_config_files gcore"
diff --git a/gdb/configure.ac b/gdb/configure.ac
index 39fcef2..90bf71c 100644
--- a/gdb/configure.ac
+++ b/gdb/configure.ac
@@ -2444,18 +2444,8 @@ 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.])
-# Undo the $ec_script escaping suitable for Makefile.
-transform=`echo "$program_transform_name" | sed -e 's/[\\$][\\$]/\\$/g'`
-GDB_TRANSFORM_NAME=`echo gdb | sed -e "$transform"`
-if test "x$GDB_TRANSFORM_NAME" = x; then
- GDB_TRANSFORM_NAME=gdb
-fi
-AC_SUBST(GDB_TRANSFORM_NAME)
-GCORE_TRANSFORM_NAME=`echo gcore | sed -e "$transform"`
-if test "x$GCORE_TRANSFORM_NAME" = x; then
- GCORE_TRANSFORM_NAME=gcore
-fi
-AC_SUBST(GCORE_TRANSFORM_NAME)
+GDB_AC_TRANSFORM([gdb], [GDB_TRANSFORM_NAME])
+GDB_AC_TRANSFORM([gcore], [GCORE_TRANSFORM_NAME])
AC_CONFIG_FILES([gcore], [chmod +x gcore])
AC_OUTPUT(Makefile gdb-gdb.gdb doc/Makefile data-directory/Makefile,
diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog
index 1e36b45..2fae080 100644
--- a/gdb/testsuite/ChangeLog
+++ b/gdb/testsuite/ChangeLog
@@ -1,3 +1,9 @@
+2015-02-18 Jose E. Marchesi <jose.marchesi@oracle.com>
+
+ * configure: Regenerated.
+ * configure.ac: Use GDB_AC_TRANSFORM.
+ * aclocal.m4: sinclude ../transform.m4.
+
2015-02-17 Jose E. Marchesi <jose.marchesi@oracle.com>
* lib/dtrace.exp: New file.
diff --git a/gdb/testsuite/aclocal.m4 b/gdb/testsuite/aclocal.m4
index 2934db2..d40c3a9 100644
--- a/gdb/testsuite/aclocal.m4
+++ b/gdb/testsuite/aclocal.m4
@@ -1,5 +1,6 @@
sinclude(../../config/acx.m4)
sinclude(../../config/override.m4)
+sinclude(../transform.m4)
# AM_CONDITIONAL -*- Autoconf -*-
diff --git a/gdb/testsuite/configure b/gdb/testsuite/configure
index b593cd3..859f348 100755
--- a/gdb/testsuite/configure
+++ b/gdb/testsuite/configure
@@ -3479,26 +3479,37 @@ test "$program_suffix" != NONE &&
ac_script='s/[\\$]/&&/g;s/;s,x,x,$//'
program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"`
-transform=`echo "$program_transform_name" | sed -e 's/\\$\\$/\\$/g'`
-STRIP_TRANSFORM_NAME=`echo strip | sed -e "$transform"`
-if test "x$STRIP_TRANSFORM_NAME" = x; then
- STRIP_TRANSFORM_NAME=strip
-fi
-READELF_TRANSFORM_NAME=`echo readelf | sed -e "$transform"`
-if test "x$READELF_TRANSFORM_NAME" = x; then
- READELF_TRANSFORM_NAME=readelf
-fi
+ gdb_ac_transform=`echo "$program_transform_name" | sed -e 's/\\$\\$/\\$/g'`
+ STRIP_TRANSFORM_NAME=`echo strip | sed -e "$gdb_ac_transform"`
+ if test "x$STRIP_TRANSFORM_NAME" = x; then
+ STRIP_TRANSFORM_NAME=strip
+ fi
-GAS_TRANSFORM_NAME=`echo as | sed -e "$transform"`
-if test "x$GAS_TRANSFORM_NAME" = x; then
- GAS_TRANSFORM_NAME=as
-fi
-NM_TRANSFORM_NAME=`echo nm | sed -e "$transform"`
-if test "x$NM_TRANSFORM_NAME" = x; then
- NM_TRANSFORM_NAME=nm
-fi
+
+ gdb_ac_transform=`echo "$program_transform_name" | sed -e 's/\\$\\$/\\$/g'`
+ READELF_TRANSFORM_NAME=`echo readelf | sed -e "$gdb_ac_transform"`
+ if test "x$READELF_TRANSFORM_NAME" = x; then
+ READELF_TRANSFORM_NAME=readelf
+ fi
+
+
+
+ gdb_ac_transform=`echo "$program_transform_name" | sed -e 's/\\$\\$/\\$/g'`
+ GAS_TRANSFORM_NAME=`echo as | sed -e "$gdb_ac_transform"`
+ if test "x$GAS_TRANSFORM_NAME" = x; then
+ GAS_TRANSFORM_NAME=as
+ fi
+
+
+
+ gdb_ac_transform=`echo "$program_transform_name" | sed -e 's/\\$\\$/\\$/g'`
+ NM_TRANSFORM_NAME=`echo nm | sed -e "$gdb_ac_transform"`
+ if test "x$NM_TRANSFORM_NAME" = x; then
+ NM_TRANSFORM_NAME=nm
+ fi
+
ac_config_files="$ac_config_files lib/pdtrace"
diff --git a/gdb/testsuite/configure.ac b/gdb/testsuite/configure.ac
index eed0191..9de9fcc 100644
--- a/gdb/testsuite/configure.ac
+++ b/gdb/testsuite/configure.ac
@@ -99,27 +99,10 @@ AC_SUBST(EXTRA_RULES)
# Transform the name of some programs and generate the lib/pdtrace
# test tool.
AC_ARG_PROGRAM
-transform=`echo "$program_transform_name" | sed -e 's/[\\$][\\$]/\\$/g'`
-STRIP_TRANSFORM_NAME=`echo strip | sed -e "$transform"`
-if test "x$STRIP_TRANSFORM_NAME" = x; then
- STRIP_TRANSFORM_NAME=strip
-fi
-AC_SUBST(STRIP_TRANSFORM_NAME)
-READELF_TRANSFORM_NAME=`echo readelf | sed -e "$transform"`
-if test "x$READELF_TRANSFORM_NAME" = x; then
- READELF_TRANSFORM_NAME=readelf
-fi
-AC_SUBST(READELF_TRANSFORM_NAME)
-GAS_TRANSFORM_NAME=`echo as | sed -e "$transform"`
-if test "x$GAS_TRANSFORM_NAME" = x; then
- GAS_TRANSFORM_NAME=as
-fi
-AC_SUBST(GAS_TRANSFORM_NAME)
-NM_TRANSFORM_NAME=`echo nm | sed -e "$transform"`
-if test "x$NM_TRANSFORM_NAME" = x; then
- NM_TRANSFORM_NAME=nm
-fi
-AC_SUBST(NM_TRANSFORM_NAME)
+GDB_AC_TRANSFORM(strip, STRIP_TRANSFORM_NAME)
+GDB_AC_TRANSFORM(readelf, READELF_TRANSFORM_NAME)
+GDB_AC_TRANSFORM(as, GAS_TRANSFORM_NAME)
+GDB_AC_TRANSFORM(nm, NM_TRANSFORM_NAME)
AC_CONFIG_FILES([lib/pdtrace], [chmod +x lib/pdtrace])
AC_OUTPUT([Makefile \
diff --git a/gdb/transform.m4 b/gdb/transform.m4
new file mode 100644
index 0000000..d9079af
--- /dev/null
+++ b/gdb/transform.m4
@@ -0,0 +1,23 @@
+# Copyright (C) 2015 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.
+
+# GDB_AC_TRANSFORM([PROGRAM], [VAR])
+#
+# Transform a tool name to get the installed name of PROGRAM and store
+# it in the output variable VAR.
+#
+# This macro uses the SED command stored in $program_transform_name,
+# but it undoes the Makefile-like escaping of $s performed by
+# AC_ARG_PROGRAM.
+
+AC_DEFUN([GDB_AC_TRANSFORM], [
+ gdb_ac_transform=`echo "$program_transform_name" | sed -e 's/[\\$][\\$]/\\$/g'`
+ $2=`echo $1 | sed -e "$gdb_ac_transform"`
+ if test "x$$2" = x; then
+ $2=$1
+ fi
+ AC_SUBST($2)
+])