Factorize target program transformations in the GDB_AC_TRANSFORM macro.
authorJose E. Marchesi <jose.marchesi@oracle.com>
Wed, 18 Feb 2015 12:52:53 +0000 (13:52 +0100)
committerJose E. Marchesi <jose.marchesi@oracle.com>
Wed, 18 Feb 2015 12:52:53 +0000 (13:52 +0100)
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.

gdb/ChangeLog
gdb/Makefile.in
gdb/acinclude.m4
gdb/configure
gdb/configure.ac
gdb/testsuite/ChangeLog
gdb/testsuite/aclocal.m4
gdb/testsuite/configure
gdb/testsuite/configure.ac
gdb/transform.m4 [new file with mode: 0644]

index 6a0a31634c84543a1fe6d16f2cd37a69f3841b3f..a21f6df645fd5737282def6b2326aa22e221a9d0 100644 (file)
@@ -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.
index c646ee58d72857249f1a8af7ccf6bbc98fa67c08..16e2f1c946b6e951569b391d8c11ba64ec725841 100644 (file)
@@ -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 \
index 6f71486232857020d82a4a0a667ecbd254cd570b..1f0b5741b8dc8416449142f15ebeb3244d4e271e 100644 (file)
@@ -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)
 
index 30a54d2980d11eec5898f017828dcdbb5b3f05e6..bb9697d481ea276f6f7265128808afbb68f56853 100755 (executable)
@@ -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"
 
index 39fcef2e27bac06921c9ec21e8c89d14a26372a8..90bf71cd73e7a9d8130240f37e483fa9a65eb166 100644 (file)
@@ -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,
index 1e36b45a32627414d6d510c76acdde7eef2ff5b7..2fae0808b057e6972939ac914db1256a101ddcc9 100644 (file)
@@ -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.
index 2934db2bd82f897f411303ddb2068c8cd47a4bcd..d40c3a9fc6a3271f737d29aad3940298a933ca02 100644 (file)
@@ -1,5 +1,6 @@
 sinclude(../../config/acx.m4)
 sinclude(../../config/override.m4)
+sinclude(../transform.m4)
 
 # AM_CONDITIONAL                                            -*- Autoconf -*-
 
index b593cd386a14268d37b776937bce08c461c9b888..859f3480e637be610658c29765132ade6d967d43 100755 (executable)
@@ -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"
 
index eed01919b2b1e6807c0d9096fd4331bad45c4376..9de9fcc1ac873bc522bd745c7fe01de752736f55 100644 (file)
@@ -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 (file)
index 0000000..d9079af
--- /dev/null
@@ -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)
+])