I built from scratch in a just-cloned directory and hit this failure:
$ make V=1 -j1
lib/gperf -m 10 ./lib/iconv_open-aix.gperf > ./lib/iconv_open-aix.h-t
/bin/sh: lib/gperf: No such file or directory
make: *** [lib/iconv_open-aix.h] Error 127
[Exit 2]
That is because our kludgy new prefix-gnulib-mk script made this
silly change to lib/gnulib.mk:
- GPERF = gperf
+ GPERF = lib/gperf
One would notice that only when building from scratch or after
modifying one of the dependents of lib/iconv_open-aix.h.
Not likely.
Here's the probable fix:
>From f6a83d0a9e0e4d87f5e2db91d0efd717f132dbd2 Mon Sep 17 00:00:00 2001
From: Jim Meyering <[email protected]>
Date: Fri, 14 Sep 2012 18:19:39 +0200
Subject: [PATCH] build: don't prefix the RHS of "GPERF = ..." with "lib/"
* gl/build-aux/prefix-gnulib-mk (prefix_assignment): Exempt
the RHS of a "GPERF = ..." assignment from lib/ prefixing.
---
gl/build-aux/prefix-gnulib-mk | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/gl/build-aux/prefix-gnulib-mk b/gl/build-aux/prefix-gnulib-mk
index 38471a9..87debe6 100755
--- a/gl/build-aux/prefix-gnulib-mk
+++ b/gl/build-aux/prefix-gnulib-mk
@@ -108,6 +108,10 @@ sub prefix_assignment ($$)
# Elide any SUFFIXES assignment or concatenation.
$lhs_and_assign_op =~ s/^/# /;
}
+ elsif ($lhs_and_assign_op =~ /^GPERF = /)
+ {
+ # Do not change the RHS, which specifies the GPERF program.
+ }
# The words are (probably) paths to files in lib/: prefix them.
else
{
--
1.7.12.363.g53284de