zsh-workers
 help / color / mirror / code / Atom feed
* zsh-3.1.0-test3 release
@ 1996-11-17  4:27 Zoltan Hidvegi
  1996-11-17  7:29 ` Geoff Wing
                   ` (2 more replies)
  0 siblings, 3 replies; 7+ messages in thread
From: Zoltan Hidvegi @ 1996-11-17  4:27 UTC (permalink / raw)
  To: Zsh hacking and development

I just made a new test release:

    41654 Nov 17 05:21 zsh-3.1.0-test3.diff.gz

md5sum:

487397c43fbf68cbeee7a42226c53e1e  zsh-3.1.0-test3.diff.gz

This is a patch against the clean zsh-3.0.1 sources.  I only tested it under
Linux and it may not even compile for you so it is really meant for
developers.  It can be found under

ftp://ftp.cs.elte.hu/pub/zsh/testing/zsh-3.1.0-test3.diff.gz

It may now support dynamic loading on SVR4 systems.  Try it.  If it does not
work, send a patch to fix it.

Zoltan


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

* Re: zsh-3.1.0-test3 release
  1996-11-17  4:27 zsh-3.1.0-test3 release Zoltan Hidvegi
@ 1996-11-17  7:29 ` Geoff Wing
  1996-11-17  7:40   ` Geoff Wing
  1996-11-17 16:44   ` Zoltan Hidvegi
  1996-11-18 11:41 ` Andrej Borsenkow
  1996-11-19 10:24 ` Bart Schaefer
  2 siblings, 2 replies; 7+ messages in thread
From: Geoff Wing @ 1996-11-17  7:29 UTC (permalink / raw)
  To: Zoltan Hidvegi; +Cc: zsh-workers

Zoltan Hidvegi wrote:
:I just made a new test release:
:    41654 Nov 17 05:21 zsh-3.1.0-test3.diff.gz

Yeah, well, it fails miserably under NetBSD make.  Looks like it'll work with
GNU make, but I didn't build it all the way.  Anyway, I'll see if I can get
it working and send a patch.

Src% make
./ansi2knr  > .c._bar_.c
./ansi2knr: not found
*** Error code 127

Stop.
---------------
And what it's doing:

#*** Input graph:
#
# *** MAIN TARGET ***
# No unmade children
# last modified 18:26:34 Nov 17, 1996: made
.c._bar_        : 
        ./ansi2knr  > .c._bar_.c
        gcc -c -I.. -I. -I.  -DHAVE_CONFIG_H -Wall -Wno-implicit -Wmissing-prototypes -g  -fpic -IModules -o .c._bar_.o .c._bar_.c
        ld -g  -o .c._bar_ .c._bar_.o
        rm -f .c._bar_.[oc]

-- 
Geoff Wing [gwing@primenet.com.au]   Technical Manager
  Phone    : +61-3-9818 2977	     PrimeNet - Internet Consultancy
  Facsimile: +61-3-9819 3788	     Web : <URL:http://www.primenet.com.au/>
  Mobile   : 0412 162 441


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

* Re: zsh-3.1.0-test3 release
  1996-11-17  7:29 ` Geoff Wing
@ 1996-11-17  7:40   ` Geoff Wing
  1996-11-17 16:44   ` Zoltan Hidvegi
  1 sibling, 0 replies; 7+ messages in thread
From: Geoff Wing @ 1996-11-17  7:40 UTC (permalink / raw)
  To: Geoff Wing; +Cc: hzoli, zsh-workers

Hmm, make isn't building `all' as the default for me - so force it.
Anyway, the next message will be a patch to fix the dynamic stuff.

*** Makefile.in.org     Sun Nov 17 18:05:06 1996
--- Makefile.in Sun Nov 17 18:35:56 1996
***************
*** 83,89 ****
  all: config.h Makefile $(SUBDIRS)
  
  $(SUBDIRS): FORCE
!       cd $@ && $(MAKE) $(MAKEDEFS)
  
  FORCE:
  
--- 83,89 ----
  all: config.h Makefile $(SUBDIRS)
  
  $(SUBDIRS): FORCE
!       cd $@ && $(MAKE) $(MAKEDEFS) all
  
  FORCE:

-- 
Geoff Wing [gwing@primenet.com.au]   Technical Manager
  Phone    : +61-3-9818 2977	     PrimeNet - Internet Consultancy
  Facsimile: +61-3-9819 3788	     Web : <URL:http://www.primenet.com.au/>
  Mobile   : 0412 162 441


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

* Re: zsh-3.1.0-test3 release
  1996-11-17  7:29 ` Geoff Wing
  1996-11-17  7:40   ` Geoff Wing
@ 1996-11-17 16:44   ` Zoltan Hidvegi
  1 sibling, 0 replies; 7+ messages in thread
From: Zoltan Hidvegi @ 1996-11-17 16:44 UTC (permalink / raw)
  To: Geoff Wing; +Cc: zsh-workers

Geoff Wing wrote:
> Src% make
> ./ansi2knr  > .c._bar_.c
> ./ansi2knr: not found
> *** Error code 127

It seems then that these ._foo_, ._bar_ and ._foobarbaz_ extensions should
be added to the .SUFFIXES list.  That should fix this problem.

Zoltan


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

* Re: zsh-3.1.0-test3 release
  1996-11-17  4:27 zsh-3.1.0-test3 release Zoltan Hidvegi
  1996-11-17  7:29 ` Geoff Wing
@ 1996-11-18 11:41 ` Andrej Borsenkow
  1996-11-20  1:32   ` Zoltan Hidvegi
  1996-11-19 10:24 ` Bart Schaefer
  2 siblings, 1 reply; 7+ messages in thread
From: Andrej Borsenkow @ 1996-11-18 11:41 UTC (permalink / raw)
  To: Zoltan Hidvegi; +Cc: Zsh hacking and development

On Sun, 17 Nov 1996, Zoltan Hidvegi wrote:

> 
> It may now support dynamic loading on SVR4 systems.  Try it.  If it does not
> work, send a patch to fix it.
> 

Yes, it works. There is a small problem in linking libzsh.so - I have to
think it over. In short:
  zsh is linked with -ltermcap. But now termcap functions are used  in
  libzsh.so and not in zsh. If termcap is static (and we have only static
  version), it is not used when linking, and I get run-time error when 
  accessing termcap functions.

Probably, we need to split LIBS between those neede for zsh itself (does
it need any at all?) and libzsh.so. As the whole code is now in libzsh.so,
probably it is enough:

zsh: $(PROTO) $(ANSI@U@KNR) $(@L@IBZSH) $(@L@OBJS)                              
     $(LINK) $(@L@OBJS) -lzsh

$(LIBZSH): $(LIBOBJS)                                                           
        $(DLLD) $(LDFLAGS) $(DLLDFLAGS) -o $(LIBZSH) $(LIBOBJS) $(LIBS)         
        ln -sf $(LIBZSH) libzsh.so                                              

where libs doesn't include -lzsh?                                              

BTW it would be nice to be able to compile static as well as dynamic
version of zsh from te same Makefile.

Thanks!

-------------------------------------------------------------------------
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] 7+ messages in thread

* Re: zsh-3.1.0-test3 release
  1996-11-17  4:27 zsh-3.1.0-test3 release Zoltan Hidvegi
  1996-11-17  7:29 ` Geoff Wing
  1996-11-18 11:41 ` Andrej Borsenkow
@ 1996-11-19 10:24 ` Bart Schaefer
  2 siblings, 0 replies; 7+ messages in thread
From: Bart Schaefer @ 1996-11-19 10:24 UTC (permalink / raw)
  To: Zoltan Hidvegi, Zsh hacking and development

On Nov 17,  5:27am, Zoltan Hidvegi wrote:
} Subject: zsh-3.1.0-test3 release
}
} I just made a new test release:
} 
}     41654 Nov 17 05:21 zsh-3.1.0-test3.diff.gz

The change in zle_tricky.c to handle leading tildes in spell-word is
badly broken.  You can't just declare char **x; and then assign to *x.

*** Src/zle_tricky.c.0	Sun Nov 17 15:04:25 1996
--- Src/zle_tricky.c	Tue Nov 19 02:17:37 1996
***************
*** 674,680 ****
  	    inwhat = IN_CMD;
  
  	if (lst == COMP_SPELL) {
! 	    char **x, *q;
  
  	    for (q = s; *q; q++)
  		if (INULL(*q))
--- 674,680 ----
  	    inwhat = IN_CMD;
  
  	if (lst == COMP_SPELL) {
! 	    char *x, *q;
  
  	    for (q = s; *q; q++)
  		if (INULL(*q))
***************
*** 682,694 ****
  	    cs = wb;
  	    foredel(we - wb);
  	    HEAPALLOC {
! 		untokenize(*x = dupstring(s));
  		if (*s == Tilde || *s == Equals || *s == String)
! 		    **x = *s;
! 		spckword(x, 0, lincmd, 0);
  	    } LASTALLOC;
! 	    untokenize(*x);
! 	    inststr(*x);
  	} else if (COMP_ISEXPAND(lst)) {
  	    /* Do expansion. */
  	    char *ol = (olst == COMP_EXPAND_COMPLETE) ?
--- 682,694 ----
  	    cs = wb;
  	    foredel(we - wb);
  	    HEAPALLOC {
! 		untokenize(x = dupstring(s));
  		if (*s == Tilde || *s == Equals || *s == String)
! 		    *x = *s;
! 		spckword(&x, 0, lincmd, 0);
  	    } LASTALLOC;
! 	    untokenize(x);
! 	    inststr(x);
  	} else if (COMP_ISEXPAND(lst)) {
  	    /* Do expansion. */
  	    char *ol = (olst == COMP_EXPAND_COMPLETE) ?

-- 
Bart Schaefer                             Brass Lantern Enterprises
http://www.well.com/user/barts            http://www.nbn.com/people/lantern


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

* Re: zsh-3.1.0-test3 release
  1996-11-18 11:41 ` Andrej Borsenkow
@ 1996-11-20  1:32   ` Zoltan Hidvegi
  0 siblings, 0 replies; 7+ messages in thread
From: Zoltan Hidvegi @ 1996-11-20  1:32 UTC (permalink / raw)
  To: borsenkow.msk; +Cc: Zsh hacking and development

Andrej Borsenkow wrote:
> > It may now support dynamic loading on SVR4 systems.  Try it.  If it does not
> > work, send a patch to fix it.
> > 
> 
> Yes, it works. There is a small problem in linking libzsh.so - I have to
> think it over. In short:
>   zsh is linked with -ltermcap. But now termcap functions are used  in
>   libzsh.so and not in zsh. If termcap is static (and we have only static
>   version), it is not used when linking, and I get run-time error when 
>   accessing termcap functions.
> 
> Probably, we need to split LIBS between those neede for zsh itself (does
> it need any at all?) and libzsh.so. As the whole code is now in libzsh.so,
> probably it is enough:
> 
> zsh: $(PROTO) $(ANSI@U@KNR) $(@L@IBZSH) $(@L@OBJS)                              
>      $(LINK) $(@L@OBJS) -lzsh
> 
> $(LIBZSH): $(LIBOBJS)                                                           
>         $(DLLD) $(LDFLAGS) $(DLLDFLAGS) -o $(LIBZSH) $(LIBOBJS) $(LIBS)         
>         ln -sf $(LIBZSH) libzsh.so                                              
> 
> where libs doesn't include -lzsh?                                              

I'm afraid it's a bit more difficult problem.  Of course executable part
which is main.c only does not need any library other than libzsh.  So if
-ltermcap is not dynamic it must be linked to libzsh.  But is it really
possible?  Dynamic libs usually need -fpic (btw. zsh is quite big, maybe
this should be -fPIC instead) and if termcap is not dynamic it was probably
compiled without -fpic.  On some architectures every code is position
independent so -fpic is not necessary.  With some binary formats libraries
do not have to be position independent. 

If one can use a termcap lib linked to the dynamic libzsh one can also make
a dummy dynamic library linked with termcap which can then be used instead
of the missing libtermcap.so dynamic lib.  Alternatively everyone who can
compile zsh can also compile GNU termcap or ncurses dynamically (with that
I'm just saying that it is a very silly thing from an OS vendor not
providing dynamic termcap, it just encourage its users not to use its
product).

On elf systems a shared library may seem to work even without -fpic since
the dynamic loader can relocate the code but such a library will not be
shared since the relocation will change the text section.

> BTW it would be nice to be able to compile static as well as dynamic
> version of zsh from te same Makefile.

Do you mean without recompiling everything?  There are some conditional
compilation in the source which means that everything has to be recompiled.

You can always build multiple versions using separate build directories
(the build directory is always the directory from where you issued
configure).  This way you can buld static and dynamic versions or
multi-architecture versions without duplicating the code.  I use that
feature regularily building optimized zsh for everyday use and an other
version for debugging without optimization and with all sorts of internal
debugging enabled.

Zoltan


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

end of thread, other threads:[~1996-11-20  2:05 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
1996-11-17  4:27 zsh-3.1.0-test3 release Zoltan Hidvegi
1996-11-17  7:29 ` Geoff Wing
1996-11-17  7:40   ` Geoff Wing
1996-11-17 16:44   ` Zoltan Hidvegi
1996-11-18 11:41 ` Andrej Borsenkow
1996-11-20  1:32   ` Zoltan Hidvegi
1996-11-19 10:24 ` Bart Schaefer

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).