From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 26509 invoked from network); 14 Dec 1999 17:31:53 -0000 Received: from sunsite.auc.dk (130.225.51.30) by ns1.primenet.com.au with SMTP; 14 Dec 1999 17:31:53 -0000 Received: (qmail 15086 invoked by alias); 14 Dec 1999 17:31:41 -0000 Mailing-List: contact zsh-workers-help@sunsite.auc.dk; run by ezmlm Precedence: bulk X-No-Archive: yes X-Seq: 9047 Received: (qmail 15056 invoked from network); 14 Dec 1999 17:31:40 -0000 Message-ID: <38567EFA.924D538D@u.genie.co.uk> Date: Tue, 14 Dec 1999 17:31:38 +0000 From: Oliver Kiddle X-Mailer: Mozilla 4.7 [en] (Win95; I) X-Accept-Language: en MIME-Version: 1.0 To: Zsh workers Subject: AIX and .export files again Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit 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