| Ticket UUID: | cb458261c3aa62ca83da3455dfbade1d089d3cb8 | ||
| Title: | Strip comme il faut | ||
| Type: | Bug | Created on: | 2020-10-18 09:05:36 |
| Submitter: | stu | Assigned to: | jan.nijtmans |
| Subsystem: | 53. Configuration and Build Tools | Severity: | Minor |
| Priority: | 5 Medium | Last modified: | 2020-11-18 16:27:26 |
| Status: | Closed | Closed by: | jan.nijtmans |
| Resolution: | Fixed | Closed on: | 2020-11-18 16:27:26 |
| Version: | |||
| 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-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. 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 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 = 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-11-14 18:27:07:
How is this looking to you? 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. | ||||
