zsh-workers
 help / color / mirror / code / Atom feed
* PATCH: static cygwin compilation
@ 2000-08-07 16:01 Peter Stephenson
  2000-08-07 16:22 ` Andrej Borsenkow
  2000-08-14  5:55 ` Andrej Borsenkow
  0 siblings, 2 replies; 4+ messages in thread
From: Peter Stephenson @ 2000-08-07 16:01 UTC (permalink / raw)
  To: Zsh hackers list

I can't get dynamic linking on cygwin to work, and the problem is somewhere
in the middle of dllwrap which is giving no help, so I won't be able to
debug this any time soon.

Static linking is now broken:  the following seems to fix it up.  However,
I won't be able to tell if this re-breaks dynamic compilation.  If I've
understood the meaning of MODULE correctly, it shouldn't.

Index: Src/mkmakemod.sh
===================================================================
RCS file: /cvsroot/zsh/zsh/Src/mkmakemod.sh,v
retrieving revision 1.2
diff -u -r1.2 mkmakemod.sh
--- Src/mkmakemod.sh	2000/08/02 18:01:51	1.2
+++ Src/mkmakemod.sh	2000/08/07 14:54:39
@@ -427,8 +427,13 @@
 	    echo "	    done; \\"
 	    if test "$CYGWIN" = yes; then
 		echo "	    echo '# ifndef IMPORTING_MODULE_${q_name} '; \\"
-		echo "	    echo '#  undef mod_import_variable'; \\"
-		echo "	    echo '#  define mod_import_variable __attribute__((__dllimport__))'; \\"
+		echo "      echo '#  ifdef MODULE'; \\"
+		echo "	    echo '#   undef mod_import_variable'; \\"
+		echo "	    echo '#   define mod_import_variable __attribute__((__dllimport__))'; \\"
+		echo "      echo '#  else /* MODULE */'; \\"
+		echo "      echo '#   undef mod_import_variable'; \\"
+		echo "      echo '#   define mod_import_variable'; \\"
+		echo "      echo '#  endif /* MODULE */'; \\"
 		echo "	    echo '# endif /* IMPORTING_MODULE_${q_name} */'; \\"
 	    fi
 	    echo "	    echo; \\"
Index: Src/zsh.h
===================================================================
RCS file: /cvsroot/zsh/zsh/Src/zsh.h,v
retrieving revision 1.18
diff -u -r1.18 zsh.h
--- Src/zsh.h	2000/08/02 18:01:51	1.18
+++ Src/zsh.h	2000/08/07 14:54:39
@@ -1681,7 +1681,7 @@
 /* Pseudo-keyword to mark exportedness */
 /***************************************/
 
-#ifdef __CYGWIN__
+#if defined(__CYGWIN__) && defined(MODULE)
 #define mod_export __attribute__((__dllexport__))
 #define mod_import_variable __attribute__((__dllimport__))
 #define mod_import_function

-- 
Peter Stephenson <pws@csr.com>
Cambridge Silicon Radio, Unit 300, Science Park, Milton Road,
Cambridge, CB4 0XL, UK                          Tel: +44 (0)1223 392070


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

* RE: PATCH: static cygwin compilation
  2000-08-07 16:01 PATCH: static cygwin compilation Peter Stephenson
@ 2000-08-07 16:22 ` Andrej Borsenkow
  2000-08-07 17:11   ` Andrej Borsenkow
  2000-08-14  5:55 ` Andrej Borsenkow
  1 sibling, 1 reply; 4+ messages in thread
From: Andrej Borsenkow @ 2000-08-07 16:22 UTC (permalink / raw)
  To: Zsh hackers list

>
> I can't get dynamic linking on cygwin to work, and the problem is somewhere
> in the middle of dllwrap which is giving no help, so I won't be able to
> debug this any time soon.
>

Do you have the latest binutils? There were problems with dllwrap before. And
if you got cygwin-1.1.4, it is broken; there is a trivial fix - see

http://sources.redhat.com/ml/cygwin/2000-08/msg00256.html

> Static linking is now broken:  the following seems to fix it up.  However,
> I won't be able to tell if this re-breaks dynamic compilation.  If I've
> understood the meaning of MODULE correctly, it shouldn't.
>

Sorry. It needs rewrite anyway. Unfortunately, I'm stuck with zpty under
Cygwin currently. '\n' misteriously disappears when reading from master side
and I cannot find why (more precisely - pty handler converts '\n' to '\r\n',
as per ONLCR. Reading from master gives me just '\r'. In 1.1.3 it got EOF at
the same place).

Probably, I give up for a while and better clean up build process.

-andrej


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

* RE: PATCH: static cygwin compilation
  2000-08-07 16:22 ` Andrej Borsenkow
@ 2000-08-07 17:11   ` Andrej Borsenkow
  0 siblings, 0 replies; 4+ messages in thread
From: Andrej Borsenkow @ 2000-08-07 17:11 UTC (permalink / raw)
  To: Zsh hackers list

>
> Sorry. It needs rewrite anyway. Unfortunately, I'm stuck with zpty under
> Cygwin currently. '\n' misteriously disappears when reading from master side
> and I cannot find why (more precisely - pty handler converts '\n' to '\r\n',
> as per ONLCR. Reading from master gives me just '\r'. In 1.1.3 it got EOF at
> the same place).
>

Damn! I was sure the fix was included in 1.1.4 - it was not. I recompiled from
CVS and it now sorta works. I have yet to run completion tests (the main
reason I wanted it to work) but simpleminded attemtps are O.K.

-andrej

Which means, the first Cygwin version where Zsh may run is 1.1.5 at least.


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

* RE: PATCH: static cygwin compilation
  2000-08-07 16:01 PATCH: static cygwin compilation Peter Stephenson
  2000-08-07 16:22 ` Andrej Borsenkow
@ 2000-08-14  5:55 ` Andrej Borsenkow
  1 sibling, 0 replies; 4+ messages in thread
From: Andrej Borsenkow @ 2000-08-14  5:55 UTC (permalink / raw)
  To: Peter Stephenson, Zsh hackers list

>
> Static linking is now broken:  the following seems to fix it up.  However,
> I won't be able to tell if this re-breaks dynamic compilation.  If I've
> understood the meaning of MODULE correctly, it shouldn't.
>


It does (sigh). Main zsh DLL must now be compiled with -DMODULE and it is not
(by default at least). So, if you get your environment right, just
add -DMODULE to CFLAGS in Src/Makefile and Src/Makemod after `make prep'.

-andrej



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

end of thread, other threads:[~2000-08-14  5:55 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2000-08-07 16:01 PATCH: static cygwin compilation Peter Stephenson
2000-08-07 16:22 ` Andrej Borsenkow
2000-08-07 17:11   ` Andrej Borsenkow
2000-08-14  5:55 ` 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).