Tcl Source Code

View Ticket
Login
Ticket UUID: cb458261c3aa62ca83da3455dfbade1d089d3cb8
Title: Strip comme il faut
Type: Bug Version:
Submitter: stu Created on: 2020-10-18 09:05:36
Subsystem: 53. Configuration and Build Tools Assigned To: jan.nijtmans
Priority: 5 Medium Severity: Minor
Status: Closed Last Modified: 2020-11-18 16:27:26
Resolution: Fixed Closed By: jan.nijtmans
    Closed on: 2020-11-18 16:27:26
Description:
The install-strip target hasn't been right for a long time.
Library stripping was even removed in checkin [517d7010fc] due to problems.

The way to do it is to set the STRIPPROG env var,
similar to how the CPPROG env var is set for DIST_INSTALL_*.

This way, install-sh can simply be updated from
[https://git.savannah.gnu.org/cgit/automake.git/tree/lib/install-sh]
without having to fiddle with it, which is wrong anyway,
since passing strip options to any install probably won't work ... anywhere?

Latest version of install-sh is 2020-07-26.22.

I think this will still need to be tested to vis-a-vis [517d7010fc]
to see what effect it has on that problem.

The Makefile.in patch would look like this:

-INSTALL_PROGRAM="$(INSTALL_PROGRAM) ${INSTALL_STRIP_PROGRAM}" \
-INSTALL_LIBRARY="$(INSTALL_LIBRARY) ${INSTALL_STRIP_LIBRARY}"
+INSTALL_PROGRAM="STRIPPROG='strip ${INSTALL_STRIP_PROGRAM}' $(INSTALL_PROGRAM) -s" \
+INSTALL_LIBRARY="STRIPPROG='strip ${INSTALL_STRIP_LIBRARY}' $(INSTALL_LIBRARY) -s"
User Comments: jan.nijtmans added on 2020-11-18 16:25:41:

Fixed now in e3fe3bec53, but in a different way: install-sh is upgraded (as you suggested), but the Tcl-specific tweak is re-added (for compatibility with extensions with still might use it). However in the MacOS GNUMakefile, "strip-install" is no longer used. This fixes the problem on MacOS too.

I think that's the best we can do for now.


stu added on 2020-11-14 18:27:07:
How is this looking to you?

jan.nijtmans added on 2020-10-19 12:34:42:

Ok, thanks! With this additional changes it appears to work.

Committed to a bug-fix branch now. Let's see if Travis agrees.


stu added on 2020-10-19 12:13:29:
Also maybe this change as well, since -s is the default.

-INSTALL_STRIP_PROGRAM	= -s
+INSTALL_STRIP_PROGRAM	=

stu added on 2020-10-19 12:07:42:
Could you please try again but also change this?

-INSTALL_STRIP_LIBRARY	= -S -x
+INSTALL_STRIP_LIBRARY	= -x

jan.nijtmans added on 2020-10-19 07:48:38:

Thank you for your suggestion!

Well, I tried your patch with the MacOS build, and it didn't work. Whatever the problem, we cannot get rid of the '-S' option in 'install-sh' anyway, because the same 'install-sh' is used in TEA as well. External Makefile depend on it, we cannot force external packages doing an upgrade to change their Makefile.in too.

Better idea would be to submit the '-S' modification to the GNU 'automake' project. I'll see what I can do (unless you want to do it ....)

I upgraded 'install-sh' to the latest version now, but re-added the '-S' option.