* 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-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
* 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