delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2004/10/28/13:10:51

Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sourceware.org/ml/#faqs>
Sender: cygwin-owner AT cygwin DOT com
Mail-Followup-To: cygwin AT cygwin DOT com
Delivered-To: mailing list cygwin AT cygwin DOT com
Message-ID: <418127ED.2060202@cwilson.fastmail.fm>
Date: Thu, 28 Oct 2004 13:10:05 -0400
From: Charles Wilson <cygwin AT cwilson DOT fastmail DOT fm>
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7) Gecko/20040616 MultiZilla/1.6.4.0b
MIME-Version: 1.0
To: libtool-patches AT gnu DOT org
Cc: cygwin AT cygwin DOT com
Subject: 10-csw-cygwin-install-strip.patch

--------------070208030903040407070305
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit

On cygwin, 'make install-strip' in a libtoolized, automake-driven 
project ends up stripping the import library, instead of the DLL.  This 
is bad: not only is the DLL unstripped, but stripping an import library 
can sometimes break it, and make the installed lib unlinkable.

e.g. this command:

/bin/sh ../libtool --mode=install /usr/bin/install -c -s 'libgg.la'
'/usr/lib/libgg.la'

does the wrong thing.

The following patch was submitted on the cygwin list by Peter Ekberg. 
It fixes this problem, and incurs no regressions in the testsuite when I 
used it.

--
Chuck

--------------070208030903040407070305
Content-Type: text/plain;
 name="10-csw-cygwin-install-strip.changelog"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline;
 filename="10-csw-cygwin-install-strip.changelog"

2004-10-28  Peter Ekberg  <spam.protected>


	* config/ltmain.m4sh (func_mode_install): on cygwin,
	ensure that import libraries do not get stripped.
	* m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER): on cygwin,
	use postinstall_cmds to strip DLL (not import lib)
	when stripping is requested.

--------------070208030903040407070305
Content-Type: text/plain;
 name="10-csw-cygwin-install-strip.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline;
 filename="10-csw-cygwin-install-strip.patch"

Index: config/ltmain.m4sh
===================================================================
RCS file: /cvsroot/libtool/libtool/config/ltmain.m4sh,v
retrieving revision 1.1.2.12
diff -u -r1.1.2.12 ltmain.m4sh
--- config/ltmain.m4sh	20 Oct 2004 08:41:34 -0000	1.1.2.12
+++ config/ltmain.m4sh	28 Oct 2004 17:03:37 -0000
@@ -1827,7 +1827,16 @@
 	  # Install the shared library and build the symlinks.
 	  $show "$install_prog $dir/$srcname $destdir/$realname"
 	  $run eval "$install_prog $dir/$srcname $destdir/$realname" || exit $?
-	  if test -n "$stripme" && test -n "$striplib"; then
+	  tstripme="$stripme"
+	  case $host in
+	  *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*)
+	    case $realname in
+	    *.dll.a)
+	      tstripme=""
+	      ;;
+	    esac
+	  esac
+	  if test -n "$tstripme" && test -n "$striplib"; then
 	    $show "$striplib $destdir/$realname"
 	    $run eval "$striplib $destdir/$realname" || exit $?
 	  fi
Index: m4/libtool.m4
===================================================================
RCS file: /cvsroot/libtool/libtool/m4/libtool.m4,v
retrieving revision 1.125.2.5
diff -u -r1.125.2.5 libtool.m4
--- m4/libtool.m4	20 Oct 2004 08:41:34 -0000	1.125.2.5
+++ m4/libtool.m4	28 Oct 2004 17:03:42 -0000
@@ -1719,7 +1719,10 @@
       dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;$ECHO \$dlname'\''`~
       dldir=$destdir/`dirname \$dlpath`~
       test -d \$dldir || mkdir -p \$dldir~
-      $install_prog $dir/$dlname \$dldir/$dlname'
+      $install_prog $dir/$dlname \$dldir/$dlname~
+      if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
+        $run eval '\''$striplib \$dldir/$dlname'\'' || exit $?;
+      fi'
     postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; $ECHO \$dlname'\''`~
       dlpath=$dir/\$dldll~
        $RM \$dlpath'


--------------070208030903040407070305
Content-Type: text/plain; charset=us-ascii

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/
--------------070208030903040407070305--

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019