Zsh Mailing List Archive
Messages sorted by: Reverse Date, Date, Thread, Author

AIX and .export files again



When linking compctl.so, the compiler complained that complete.export
and zle.export couldn't be found. The problem was that they hadn't been
generated yet. I couldn't see any dependencies in the Makefiles which
state the order that different modules are compiled. To fix it, I've 
hacked mkmakemod.sh to add the .export files to the dso's dependencies.

The trouble with this solution is that I can't get it to make any
.export files in a different directory so I've had to limit it to any
in the same directory. This is sufficient to allow everything to
compile but there must be a better way. Surely, if a module lists
another in its moddeps, it should be built after it. At the moment, the
modules seem to get built in alphabetical order in each directory.

I also got a few unresolved symbols. The patch sorts these out aswell.

Unfortunately, though this will now compile on AIX, it won't work: I get
messages of the form 'failed to load module: rlimits'. pws-10 has this
problem aswell but I haven't had much time to investigate why.

Oliver

diff -ur zsh-3.1.6-pws-11/Src/Zle/compcore.c zsh-3.1.6-pws-11.new/Src/Zle/compcore.c
--- zsh-3.1.6-pws-11/Src/Zle/compcore.c	Wed Dec  8 19:37:58 1999
+++ zsh-3.1.6-pws-11.new/Src/Zle/compcore.c	Tue Dec 14 14:38:56 1999
@@ -145,7 +145,7 @@
 /**/
 mod_export int nmatches;
 /**/
-int smatches;
+mod_export int smatches;
 
 /* != 0 if only explanation strings should be printed */
 
diff -ur zsh-3.1.6-pws-11/Src/Zle/compresult.c zsh-3.1.6-pws-11.new/Src/Zle/compresult.c
--- zsh-3.1.6-pws-11/Src/Zle/compresult.c	Wed Dec  8 19:32:29 1999
+++ zsh-3.1.6-pws-11.new/Src/Zle/compresult.c	Tue Dec 14 14:39:45 1999
@@ -1491,7 +1491,7 @@
 }
 
 /**/
-int asklist(void)
+mod_export int asklist(void)
 {
     /* Set the cursor below the prompt. */
     trashzle();
diff -ur zsh-3.1.6-pws-11/Src/Zle/zle_thingy.c zsh-3.1.6-pws-11.new/Src/Zle/zle_thingy.c
--- zsh-3.1.6-pws-11/Src/Zle/zle_thingy.c	Fri Dec  3 19:10:12 1999
+++ zsh-3.1.6-pws-11.new/Src/Zle/zle_thingy.c	Tue Dec 14 14:29:15 1999
@@ -49,7 +49,7 @@
 /* Hashtable of thingies.  Enabled nodes are those that refer to widgets. */
 
 /**/
-HashTable thingytab;
+mod_export HashTable thingytab;
 
 /**********************************/
 /* hashtable management functions */
diff -ur zsh-3.1.6-pws-11/Src/Zle/zle_tricky.c zsh-3.1.6-pws-11.new/Src/Zle/zle_tricky.c
--- zsh-3.1.6-pws-11/Src/Zle/zle_tricky.c	Tue Dec  7 22:20:04 1999
+++ zsh-3.1.6-pws-11.new/Src/Zle/zle_tricky.c	Tue Dec 14 14:30:01 1999
@@ -334,7 +334,7 @@
 /* Parameter pointer for completing keys of an assoc array. */
 
 /**/
-Param keypm;
+mod_export Param keypm;
 
 /* 1 if we are completing in a quoted string (or inside `...`) */
 
diff -ur zsh-3.1.6-pws-11/Src/mkmakemod.sh zsh-3.1.6-pws-11.new/Src/mkmakemod.sh
--- zsh-3.1.6-pws-11/Src/mkmakemod.sh	Fri Dec  3 19:10:12 1999
+++ zsh-3.1.6-pws-11.new/Src/mkmakemod.sh	Tue Dec 14 15:34:44 1999
@@ -183,9 +183,12 @@
 	dobjects=`echo $objects '' | sed 's,\.o ,..o ,g'`
 	modhdeps=
 	imports=
+	depimports=
 	for dep in $moddeps; do
 	    eval "loc=\$loc_$dep"
 	    imports="$imports \$(IMPOPT)\$(dir_top)/$loc/$dep.export"
+	    test "$loc" = "$the_subdir" &&
+	        depimports="$depimports $dep.export"
 	    case $the_subdir in
 		$loc)
 		    mdh="${dep}.mdh"
@@ -228,7 +231,7 @@
 	echo "	echo '' \$(MODOBJS_${module}) $modobjs_sed>> \$(dir_src)/stamp-modobjs.tmp"
 	echo
 	if test -z "$alwayslink"; then
-	    echo "${module}.\$(DL_EXT): \$(MODDOBJS_${module}) ${module}.export"
+	    echo "${module}.\$(DL_EXT): \$(MODDOBJS_${module}) ${module}.export $depimports"
 	    echo '	rm -f $@'
 	    echo "	\$(DLLINK) \$(@E@XPIMP_$module) \$(@E@NTRYOPT) \$(MODDOBJS_${module}) \$(LIBS)"
 	    echo



Messages sorted by: Reverse Date, Date, Thread, Author