[no subject]

2015-08-01 Thread Assaf Gordon
Hello,

This tiny patch fixes a wrong regex in the gawk script 'build-aux/pmccabe2html'.
The commands replace '' with 'amp;', '' with 'gt;' and '' with 'lt;',
but I think the actual replacement doesn't work properly.

A contrived example:

$ echo '==' | gawk '{gsub(,\gt;,$0);print}'
gawk: cmd. line:1: warning: escape sequence `\' treated as plain `'
=gt;=

The '\' is treated as '', and thus has special meaning for gsub (the matched 
string).
The output therefor contains the matched '' instead of an actual ''.

With an extra backslash:

$ echo '==' | gawk '{gsub(,\\gt;,$0);print}'
=gt;=

Another example: the recently updated cyclomatic report for gnu libidn at:
  https://www.gnu.org/software/libidn/cyclo/
contains similarly incorrect HTML tags.
can be seen if one clicks on the down-arrow next to _g_utf8_normalize_wc
with lines such as:
===
 while ((max_len gt;= SBase  wc gt;= SBase  wc gt; 0)
===

regards,
 - assaf




pmccabe.patch
Description: Binary data


fixes for building gnulib non-recursively

2015-08-01 Thread Mike Miller
Hi, we are in the midst of converting the GNU Octave autotools build
system to a non-recursive one. The only remaining subdir is gnulib and
we'd like to build it non-recursively also. I see there is some
non-recursive support in gnulib, but it will need some small changes to
support Octave. Specifically, the directory name lib is hardcoded in a
few places, while Octave uses source_base=libgnu.

I'm attaching my work so far. I'm confident in 2 out of the 3 changes.
Any ideas on a better way to inject the value of $source_base into
autoconf snippets?

Thanks,

-- 
mike
From a017e33d890562e2bd456752345625c0bb8cc5f3 Mon Sep 17 00:00:00 2001
From: Mike Miller mtmil...@ieee.org
Date: Sat, 1 Aug 2015 12:25:48 -0400
Subject: [PATCH] non-recursive-gnulib-prefix-hack: fix when source-base !=
 lib

---
 build-aux/prefix-gnulib-mk | 3 ++-
 gnulib-tool| 4 
 m4/non-recursive-gnulib-prefix-hack.m4 | 2 +-
 3 files changed, 7 insertions(+), 2 deletions(-)

diff --git a/build-aux/prefix-gnulib-mk b/build-aux/prefix-gnulib-mk
index 8af2916..3bb2a59 100755
--- a/build-aux/prefix-gnulib-mk
+++ b/build-aux/prefix-gnulib-mk
@@ -120,7 +120,8 @@ sub prefix_assignment ($$)
 
   # Variables which name depend on the location: libbison_a_SOURCES =
   # lib_libbison_a_SOURCES.
-  $lhs_and_assign_op =~ s/($lib_name)/lib_$1/g;
+  my $dir = substr ($prefix, 0, -1);
+  $lhs_and_assign_op =~ s/($lib_name)/${dir}_$1/g;
 
   return $lhs_and_assign_op . $rhs;
 }
diff --git a/gnulib-tool b/gnulib-tool
index ec82f35..71e7d9f 100755
--- a/gnulib-tool
+++ b/gnulib-tool
@@ -3918,6 +3918,10 @@ func_emit_autoconf_snippet ()
 cat
   fi
 } \
+  | { if test $sourcebase != lib; then
+sed -e 's,\[lib\],'[$sourcebase],g
+  fi
+} \
   | { if $disable_gettext; then
 sed -e 's/AM_GNU_GETTEXT(\[external\])/dnl you must add AM_GNU_GETTEXT([external]) or similar to configure.ac./'
   else
diff --git a/m4/non-recursive-gnulib-prefix-hack.m4 b/m4/non-recursive-gnulib-prefix-hack.m4
index bf9ae7c..e827a52 100644
--- a/m4/non-recursive-gnulib-prefix-hack.m4
+++ b/m4/non-recursive-gnulib-prefix-hack.m4
@@ -10,7 +10,7 @@ dnl in the directory specified by LIB_DIR.
 AC_DEFUN([gl_NON_RECURSIVE_GNULIB_PREFIX_HACK],
 [
   # Tell AC_LIBSOURCES where to find source files like alloca.c.
-  AC_CONFIG_LIBOBJ_DIR([lib])
+  AC_CONFIG_LIBOBJ_DIR([$1])
 
   # This hack originated in bison.  It is required when using non-recursive
   # automake rules to build from gnulib-provided lib/ sources.  Hence, LIB_DIR
-- 
2.4.6