Re: Makefile.am issue (and patch)

2008-07-04 Thread Jim Meyering
Brian Silverman [EMAIL PROTECTED] wrote:
 I'm having a small issue with make install of coreutils.  I've
 included below a patch that solves my problem.

 I am using coreutils-6.12, and building it under cygwin, and I'm
 cross-compiling it to a PPC-440.

 Here's my build steps:
./configure  --host=powerpc-440-linux-gnu --prefix=`pwd`/__images
make
make install

 configure and make work fine.  But make install fails with:
./ginstall: ./ginstall: cannot execute binary file

 To fix this, I'm using the patch below.  Note that the change in my
 patch applies to code from a very recent checkin:

 http://git.savannah.gnu.org/gitweb/?p=coreutils.git;a=commitdiff;h=9d595099372e2eabbecce2f303058743e93f0748

 Perhaps my issue is only related to cross-compiling?  Or is there a
 better fix I should use?

Thank you for the report and patch.
The bug is indeed specific to cross-compiling environments.
There is some benefit in using the just-built binary when possible,
so I've fixed it to permit that.

Would you please confirm that this works for you, too?

From 9a4e22d03600c836673033089e396e141c7d1f08 Mon Sep 17 00:00:00 2001
From: Jim Meyering [EMAIL PROTECTED]
Date: Fri, 4 Jul 2008 09:41:57 +0200
Subject: [PATCH] install with just-built ./ginstall only when not 
cross-compiling

* src/Makefile.am (install-exec-am): ...otherwise, use the default
value, $(INSTALL_PROGRAM).  Reported by Brian Silverman.
---
 THANKS  |1 +
 src/Makefile.am |   11 ---
 2 files changed, 9 insertions(+), 3 deletions(-)

diff --git a/THANKS b/THANKS
index 40b33ba..bff0917 100644
--- a/THANKS
+++ b/THANKS
@@ -79,6 +79,7 @@ Bob Proulx  [EMAIL PROTECTED]
 Branden Robinson[EMAIL PROTECTED]
 Brendan O'Dea   [EMAIL PROTECTED]
 Brian Kimball   [EMAIL PROTECTED]
+Brian Silverman [EMAIL PROTECTED]
 Brian Youmans   [EMAIL PROTECTED]
 Bruce Korb  [EMAIL PROTECTED]
 Bruce Robertson [EMAIL PROTECTED]
diff --git a/src/Makefile.am b/src/Makefile.am
index 342fc09..65b20a2 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -437,11 +437,15 @@ sc_tight_scope: $(all_programs)
  { echo 'the above variables should have static scope' 12;   \
exit 1; } || :

-.PHONY: cu-install-binPROGRAMS
+# Use the just-built ./ginstall, when not cross-compiling.
+# Override automake's install-one-at-a-time rule, when possible.
 install-exec-am:
-   @case '$(program_transform_name):$(EXEEXT)' in  \
+   @(./ginstall --version)  /dev/null 21\
+  install=./ginstall \
+ || install='$(INSTALL_PROGRAM)';  \
+   case '$(program_transform_name):$(EXEEXT)' in   \
  's,x,x,:') cu=cu-;; *) cu= ;; esac;   \
-   $(MAKE) $(AM_MAKEFLAGS) binPROGRAMS_INSTALL=./ginstall  \
+   $(MAKE) $(AM_MAKEFLAGS) binPROGRAMS_INSTALL=$$install \
  $${cu}install-binPROGRAMS
@$(NORMAL_INSTALL)
$(MAKE) $(AM_MAKEFLAGS) install-exec-hook
@@ -458,6 +462,7 @@ install-exec-am:
 filtered_PROGS = \
   `echo $(bin_PROGRAMS) | sed 's/ *\ginstall\ */ /;s/ *\[ */ /'`
 d_bindir = $(DESTDIR)$(bindir)
+.PHONY: cu-install-binPROGRAMS
 cu-install-binPROGRAMS: $(bin_PROGRAMS)
$(NORMAL_INSTALL)
test -z $(bindir) || $(MKDIR_P) $(d_bindir)
--
1.5.6.1.206.g8dcaf96


___
Bug-coreutils mailing list
Bug-coreutils@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-coreutils


Makefile.am issue (and patch)

2008-07-03 Thread Brian Silverman


I'm having a small issue with make install of coreutils.  I've included 
below a patch that solves my problem.


I am using coreutils-6.12, and building it under cygwin, and I'm 
cross-compiling it to a PPC-440.


Here's my build steps:
   ./configure  --host=powerpc-440-linux-gnu --prefix=`pwd`/__images
   make
   make install

configure and make work fine.  But make install fails with:
   ./ginstall: ./ginstall: cannot execute binary file

To fix this, I'm using the patch below.  Note that the change in my 
patch applies to code from a very recent checkin:
   
http://git.savannah.gnu.org/gitweb/?p=coreutils.git;a=commitdiff;h=9d595099372e2eabbecce2f303058743e93f0748


Perhaps my issue is only related to cross-compiling?  Or is there a 
better fix I should use?


Here's my patch:

diff -urN coreutils-6.12/src/Makefile.am coreutils-6.12.new/src/Makefile.am
--- coreutils-6.12/src/Makefile.am2008-05-31 14:15:33.0 -0400
+++ coreutils-6.12.new/src/Makefile.am2008-07-03 12:46:25.260074200 
-0400

@@ -434,7 +434,7 @@
install-exec-am:
@case '$(program_transform_name):$(EXEEXT)' in\
  's,x,x,:') cu=cu-;; *) cu= ;; esac;\
-$(MAKE) $(AM_MAKEFLAGS) binPROGRAMS_INSTALL=./ginstall\
+$(MAKE) $(AM_MAKEFLAGS) \
  $${cu}install-binPROGRAMS
@$(NORMAL_INSTALL)
$(MAKE) $(AM_MAKEFLAGS) install-exec-hook

--
Brian Silverman
Concept X, LLC



___
Bug-coreutils mailing list
Bug-coreutils@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-coreutils