zsh-workers
 help / color / mirror / code / Atom feed
* PATCH: zsh-3.1.2-zefram3: libzsh install
@ 1998-01-14 18:06 Andrej Borsenkow
  1998-01-14 18:39 ` Patch archive at http://www.peak.org/zsh/Patches/ Timothy J Luoma
  1998-01-15  4:00 ` PATCH: zsh-3.1.2-zefram3: libzsh install Geoff Wing
  0 siblings, 2 replies; 4+ messages in thread
From: Andrej Borsenkow @ 1998-01-14 18:06 UTC (permalink / raw)
  To: Zsh workers mailing list, zsh

Here is a patch for several problems with dynamic ZSH

  - libzsh.so was changed to libzsh.$(VERSION).so; zsh is linked
    with it explicitly

  - problem with staic libraries (looks, like no one else has it :)
    Our system lacks shared libcurses, so linking failed because
    zsh itself doesn't contains references to -lcurses. Now it just
    links with $(LIBZSH) $(LIBS) and is quite happy.
    (I discussed it with Zoltan awhile ago, but it looks like the most
    easy solution)

  - libzsh is now (un)installed. 

  - if I give relative pathname to configure, installation fails. The 
    reason is, configure figures out correct relative path for every
    directory level, but top level Makefile simply overrides it with
    it's own. I changed Makefile.in, Src/Makefile.in, Src/Makemod.in.in,
    but probably other Makefiles should be ajusted just for 
    consistency

  - I changed uninstall.bin to restore zsh.old to zsh - otherweise, I 
    don't see any need to make backup copy (we always have zsh-$(VERSION)   
    around)

I tried changes with both static and dynamic zsh, and they seem to work.

Aside: I tried to build ZSH on a system without RTLD_GLOBAL, and it was
screwd up. It did run, but it lost the whole environment, and had massive
problems with line refresh. I have no idea, if it is because of buggy OS
or ZSH has some problems in this case. Anybody tried this?

-------------------------------------------------------------------------
Andrej Borsenkow 		Fax:   +7 (095) 252 01 05
SNI ITS Moscow			Tel:   +7 (095) 252 13 88

NERV:  borsenkow.msk		E-Mail: borsenkow.msk@sni.de
-------------------------------------------------------------------------
--- zsh-3.1.2-zefram3/configure.in.org	Mon Jan 12 19:19:18 1998
+++ zsh-3.1.2-zefram3/configure.in	Wed Jan 14 18:16:50 1998
@@ -961,7 +961,7 @@
   RTLD_GLOBAL_OK=$zsh_cv_sys_dynamic_rtld_global
   zsh_SYS_DYNAMIC_EXECSYMS
   if test "$zsh_cv_sys_dynamic_execsyms" != yes; then
-    L=L LIBS="$LIBS -L. -lzsh"
+    L=L
   fi
   zsh_SYS_DYNAMIC_STRIP_EXE
   zsh_SYS_DYNAMIC_STRIP_LIB
--- zsh-3.1.2-zefram3/Makefile.in.org	Mon Jan 12 19:18:56 1998
+++ zsh-3.1.2-zefram3/Makefile.in	Wed Jan 14 18:54:31 1998
@@ -82,8 +82,7 @@
 DLCFLAGS='$(DLCFLAGS)' DLLDFLAGS='$(DLLDFLAGS)' \
 LIBLDFLAGS='$(LIBLDFLAGS)' EXELDFLAGS='$(EXELDFLAGS)' \
 LIBS='$(LIBS)' DL_EXT='$(DL_EXT)' DLLD='$(DLLD)' \
-AWK='$(AWK)' YODL='$(YODL)' INSTALL='$(INSTALL)' \
-INSTALL_PROGRAM='$(INSTALL_PROGRAM)' INSTALL_DATA='$(INSTALL_DATA)'
+AWK='$(AWK)' YODL='$(YODL)'
 
 .SUFFIXES:
 
@@ -110,11 +109,15 @@
 	@cd Src && $(MAKE) $(MAKEDEFS) $@
 
 # install/uninstall everything
-install: install.bin install.modules install.man install.info
-uninstall: uninstall.bin uninstall.modules uninstall.man uninstall.info
+install: install.bin install.lib install.modules install.man install.info
+uninstall: uninstall.bin uninstall.lib uninstall.modules uninstall.man uninstall.info
 
 # install/uninstall just the binary
 install.bin uninstall.bin:
+	@cd Src && $(MAKE) $(MAKEDEFS) $@
+
+# install/uninstall just the library
+install.lib uninstall.lib:
 	@cd Src && $(MAKE) $(MAKEDEFS) $@
 
 # install/uninstall just the modules
--- zsh-3.1.2-zefram3/Src/Makefile.in.org	Mon Jan 12 19:18:59 1998
+++ zsh-3.1.2-zefram3/Src/Makefile.in	Wed Jan 14 20:57:50 1998
@@ -102,17 +102,16 @@
 NSTMP = stamp-modobjs
 NLIST = `cat stamp-modobjs`
 
-LIBZSH = libzsh.so.$(VERSION)
+LIBZSH = libzsh.$(VERSION).so
 NIBZSH =
 
 zsh: $(@L@IBZSH) $(@L@STMP) $(MAIN_OBJS)
 	rm -f $@
-	$(LINK) $(MAIN_OBJS) $(@L@LIST) $(LIBS)
+	$(LINK) $(MAIN_OBJS) $(@L@LIST) $(@L@IBZSH) $(LIBS)
 
 $(LIBZSH): $(LIBOBJS) $(NSTMP)
 	rm -f $@
 	$(DLLINK) $(LIBOBJS) $(NLIST)
-	ln -sf $(LIBZSH) libzsh.so
 
 stamp-modobjs: modobjs
 	@if cmp -s stamp-modobjs.tmp stamp-modobjs; then \
@@ -178,8 +177,8 @@
 
 # ========== DEPENDENCIES FOR INSTALLING ==========
 
-install: install.bin install.modules
-uninstall: uninstall.bin uninstall.modules
+install: install.bin install.modules install.lib
+uninstall: uninstall.bin uninstall.modules install.lib
 
 install.bin: install.bin-here
 uninstall.bin: uninstall.bin-here
@@ -196,6 +195,23 @@
 uninstall.bin-here:
 	-if [ -f $(bindir)/zsh ]; then rm -f $(bindir)/zsh; fi
 	-if [ -f $(bindir)/zsh-$(VERSION) ]; then rm -f $(bindir)/zsh-$(VERSION); fi
+	-if [ -f $(bindir)/zsh.old ]; then mv $(bindir)/zsh $(bindir)/zsh; fi
+
+# install ZSH shared library if was built
+install.lib: install.lib.@L@
+
+install.lib.L: $(LIBZSH)
+	$(INSTALL_PROGRAM) $(LIBZSH) $(libdir)/$(LIBZSH)
+
+install.lib.N:
+
+# uninstall ZSH shared library if was built
+uninstall.lib: uninstall.lib.@L@
+
+uninstall.lib.L: $(LIBZSH)
+	-if [ -f $(libdir)/$(LIBZSH) ]; then rm -f $(libdir)/$(LIBZSH); fi
+
+uninstall.lib.N:
 
 # ========== DEPENDENCIES FOR CLEANUP ==========
 
--- zsh-3.1.2-zefram3/Src/Makemod.in.in.org	Tue Jan 13 12:33:58 1998
+++ zsh-3.1.2-zefram3/Src/Makemod.in.in	Wed Jan 14 20:11:57 1998
@@ -81,8 +81,7 @@
 DLCFLAGS='$(DLCFLAGS)' DLLDFLAGS='$(DLLDFLAGS)' \
 LIBLDFLAGS='$(LIBLDFLAGS)' EXELDFLAGS='$(EXELDFLAGS)' \
 LIBS='$(LIBS)' DL_EXT='$(DL_EXT)' DLLD='$(DLLD)' \
-AWK='$(AWK)' YODL='$(YODL)' INSTALL='$(INSTALL)' \
-INSTALL_PROGRAM='$(INSTALL_PROGRAM)' INSTALL_DATA='$(INSTALL_DATA)'
+AWK='$(AWK)' YODL='$(YODL)'
 
 # ========== COMPILATION RULES ==========
 




^ permalink raw reply	[flat|nested] 4+ messages in thread

* Patch archive at http://www.peak.org/zsh/Patches/
  1998-01-14 18:06 PATCH: zsh-3.1.2-zefram3: libzsh install Andrej Borsenkow
@ 1998-01-14 18:39 ` Timothy J Luoma
  1998-01-15  4:00 ` PATCH: zsh-3.1.2-zefram3: libzsh install Geoff Wing
  1 sibling, 0 replies; 4+ messages in thread
From: Timothy J Luoma @ 1998-01-14 18:39 UTC (permalink / raw)
  To: Zsh workers mailing list


The patch archive is working again.

Minor problem with my procmail script.

TjL



^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: PATCH: zsh-3.1.2-zefram3: libzsh install
  1998-01-14 18:06 PATCH: zsh-3.1.2-zefram3: libzsh install Andrej Borsenkow
  1998-01-14 18:39 ` Patch archive at http://www.peak.org/zsh/Patches/ Timothy J Luoma
@ 1998-01-15  4:00 ` Geoff Wing
  1998-01-15  6:35   ` Andrej Borsenkow
  1 sibling, 1 reply; 4+ messages in thread
From: Geoff Wing @ 1998-01-15  4:00 UTC (permalink / raw)
  To: zsh-workers

Andrej Borsenkow <borsenkow.msk@sni.de> typed:
:Here is a patch for several problems with dynamic ZSH
:  - libzsh.so was changed to libzsh.$(VERSION).so; zsh is linked
:    with it explicitly
:-LIBZSH = libzsh.so.$(VERSION)
:+LIBZSH = libzsh.$(VERSION).so

Ah, but some systems need the former version.  This obviously needs to be
configurable.
-- 
Geoff Wing [gcw@pobox.com]                         Phone    : +61-3-9818 2977
 Technical Manager: PrimeNet Computer Consultants  Facsimile: +61-3-9818 5155
 Work URL: http://www.primenet.com.au/             Mobile   : 0412 162 441
 Ego  URL: http://pobox.com/~gcw/


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: PATCH: zsh-3.1.2-zefram3: libzsh install
  1998-01-15  4:00 ` PATCH: zsh-3.1.2-zefram3: libzsh install Geoff Wing
@ 1998-01-15  6:35   ` Andrej Borsenkow
  0 siblings, 0 replies; 4+ messages in thread
From: Andrej Borsenkow @ 1998-01-15  6:35 UTC (permalink / raw)
  To: Geoff Wing; +Cc: zsh-workers

On 15 Jan 1998, Geoff Wing wrote:

> Andrej Borsenkow <borsenkow.msk@sni.de> typed:
> :Here is a patch for several problems with dynamic ZSH
> :  - libzsh.so was changed to libzsh.$(VERSION).so; zsh is linked
> :    with it explicitly
> :-LIBZSH = libzsh.so.$(VERSION)
> :+LIBZSH = libzsh.$(VERSION).so
> 
> Ah, but some systems need the former version.  This obviously needs to be
> configurable.

Which ones? What difference is between -lzsh and -lzsh.3.1.2?

O.K., I make another pass. Is anybody aware of system which supports
shared libraries and *doesn't* support LD_RUN_PATH or equivalent? Then
libzsh.so can be simply installed in version-dependent directory
($(libdir)/zsh/$(VERSION)) and zsh compiled with LD_RUN_PATH set. This is
the way Perl does it.

-------------------------------------------------------------------------
Andrej Borsenkow 		Fax:   +7 (095) 252 01 05
SNI ITS Moscow			Tel:   +7 (095) 252 13 88

NERV:  borsenkow.msk		E-Mail: borsenkow.msk@sni.de
-------------------------------------------------------------------------



^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~1998-01-15  6:48 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
1998-01-14 18:06 PATCH: zsh-3.1.2-zefram3: libzsh install Andrej Borsenkow
1998-01-14 18:39 ` Patch archive at http://www.peak.org/zsh/Patches/ Timothy J Luoma
1998-01-15  4:00 ` PATCH: zsh-3.1.2-zefram3: libzsh install Geoff Wing
1998-01-15  6:35   ` Andrej Borsenkow

Code repositories for project(s) associated with this public inbox

	https://git.vuxu.org/mirror/zsh/

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).