zsh-workers
 help / color / mirror / code / Atom feed
* PATCH: function install
@ 2000-11-30 18:28 Peter Stephenson
  2000-12-02 23:37 ` Bart Schaefer
  2000-12-05 15:18 ` Module config Andrej Borsenkow
  0 siblings, 2 replies; 8+ messages in thread
From: Peter Stephenson @ 2000-11-30 18:28 UTC (permalink / raw)
  To: Zsh hackers list

It seems like the config.modules patch was uncontroversial.  This is the
part that sets the functions to install in the same file.  Thus if you
explicitly enable zftp for static loading, the functions will automatically
be installed.  You can edit the list of functions; all are there by
default.  This replaces the mechanism using the configure command line.

I haven't tested this with FUNCTIONS_SUBDIRS enabled, because it's too
painful to reconfigure.

This is the last change I think is really necessary before zsh 4.0
(translation: the last major change I had any chance of getting round to
any time soon).

Index: Makefile.in
===================================================================
RCS file: /cvsroot/zsh/zsh/Makefile.in,v
retrieving revision 1.4
diff -u -r1.4 Makefile.in
--- Makefile.in	2000/05/15 12:13:29	1.4
+++ Makefile.in	2000/11/30 15:39:49
@@ -77,14 +77,25 @@
 
 # install/uninstall just the shell functions
 install.fns:
-	test x$(sitefndir) != xno && $(sdir_top)/mkinstalldirs $(DESTDIR)$(sitefndir)
-	@cd Completion && $(MAKE) $(MAKEDEFS) $@
-	@cd Functions && $(MAKE) $(MAKEDEFS) $@
+	if test x$(fndir) != x && test x$(fndir) != xno; then \
+	  test x$(sitefndir) != xno && \
+	    $(sdir_top)/mkinstalldirs $(DESTDIR)$(sitefndir); \
+	  sdir_top="$(sdir_top)" fndir="$(fndir)" dir_top="$(dir_top)" \
+	  FUNCTIONS_SUBDIRS="$(FUNCTIONS_SUBDIRS)" \
+	  INSTALL_DATA="$(INSTALL_DATA)" \
+	  DESTDIR="$(DESTDIR)" VERSION="$(VERSION)" \
+	  $(SHELL) $(sdir_top)/Config/installfns.sh || exit 1; \
+	fi; \
+	exit 0
 
 uninstall.fns:
-	# never attempt to remove $(sitefndir)
-	@cd Completion && $(MAKE) $(MAKEDEFS) $@
-	@cd Functions && $(MAKE) $(MAKEDEFS) $@
+	if test x$(fndir) != x && test x$(fndir) != xno; then \
+	  fndir="$(fndir)" dir_top="$(dir_top)" \
+	  FUNCTIONS_SUBDIRS="$(FUNCTIONS_SUBDIRS)" \
+	  DESTDIR="$(DESTDIR)" VERSION="$(VERSION)" \
+	  $(SHELL) $(sdir_top)/Config/uninstallfns.sh || exit 1; \
+	fi; \
+	exit 0
 
 # install/uninstall just the info pages
 install.info uninstall.info:
Index: configure.in
===================================================================
RCS file: /cvsroot/zsh/zsh/configure.in,v
retrieving revision 1.34
diff -u -r1.34 configure.in
--- configure.in	2000/11/27 11:26:14	1.34
+++ configure.in	2000/11/30 15:39:50
@@ -1733,15 +1733,19 @@
 echo "# \`yes'.  If you set it by hand to \`no', the line will be retained"
 echo "# when the file is regenerated in future."
 echo "#"
+echo "# Note that the \`functions' entry extends to the end of the line."
+echo "# It should not be quoted; it is used verbatim to find files to install."
+echo "#"
 echo "# You will need to run \`config.status --recheck' if you add a new"
 echo "# module."
 echo "#"
 echo "# You should not change the values for the pseudo-module zsh/main,"
-echo "# which is the main shell."
+echo "# which is the main shell (apart from the functions entry)."
 for modfile in `cd ${srcdir}; echo */*.mdd */*/*.mdd`; do
   name=
   link=
   load=
+  functions=
   . ${srcdir}/$modfile
   if test x$name != x -a x"$link" != x; then
     case "$userlist" in
@@ -1758,26 +1762,32 @@
 	 *) load=" load=no"
 	    ;;
        esac
+       if test "x$functions" != x; then
+         # N.B. no additional quotes
+         f=" functions=$functions"
+       else
+         f=
+       fi
        case "$link" in
-	 static) echo "name=$name modfile=$modfile link=static auto=yes${load}"
+	 static) echo "name=$name modfile=$modfile link=static auto=yes${load}$f"
 	         ;;
 	 dynamic) if test $dynamic != no; then
 		    echo "name=$name modfile=$modfile link=dynamic\
- auto=yes${load}"
+ auto=yes${load}$f"
 		  else
 		    echo "name=$name modfile=$modfile link=no\
- auto=yes load=no"
+ auto=yes load=no$f"
 		  fi
 		  ;;
 	 either) if test $dynamic != no; then
 		   echo "name=$name modfile=$modfile link=dynamic\
- auto=yes${load}"
+ auto=yes${load}$f"
 		 else
 		   echo "name=$name modfile=$modfile link=static\
- auto=yes${load}"
+ auto=yes${load}$f"
 		 fi
 		 ;;
-	      *) echo "name=$name modfile=$modfile link=no auto=yes load=no"
+	      *) echo "name=$name modfile=$modfile link=no auto=yes load=no$f"
 		 ;;
        esac
        ;;
@@ -1803,7 +1813,7 @@
 no_create=yes
 
 AC_OUTPUT(Config/defs.mk Makefile Doc/Makefile Etc/Makefile Src/Makefile \
-Test/Makefile Completion/Makefile Functions/Makefile, \
+Test/Makefile, \
 [test -z "$CONFIG_HEADERS" || echo > stamp-h])
 
 dnl The standard config.status is missing some essential features.
Index: Config/funcinst.mk
===================================================================
RCS file: /cvsroot/zsh/zsh/Config/funcinst.mk,v
retrieving revision 1.1.1.5
diff -u -r1.1.1.5 funcinst.mk
--- Config/funcinst.mk	2000/01/14 19:14:47	1.1.1.5
+++ Config/funcinst.mk	2000/11/30 15:39:50
@@ -29,8 +29,7 @@
 
 install.fns:
 	if test x$(fndir) != x && test x$(fndir) != xno; then \
-	  sdir_top="$(sdir_top)" fndir="$(fndir)" sdir="$(sdir)" \
-	  FUNCTIONS_INSTALL="$(FUNCTIONS_INSTALL)" \
+	  sdir_top="$(sdir_top)" fndir="$(fndir)" dir_top="$(dir_top)" \
 	  FUNCTIONS_SUBDIRS="$(FUNCTIONS_SUBDIRS)" \
 	  INSTALL_DATA="$(INSTALL_DATA)" \
 	  DESTDIR="$(DESTDIR)" VERSION="$(VERSION)" \
@@ -40,8 +39,7 @@
 
 uninstall.fns:
 	if test x$(fndir) != x && test x$(fndir) != xno; then \
-	  fndir="$(fndir)" sdir="$(sdir)" \
-	  FUNCTIONS_INSTALL="$(FUNCTIONS_INSTALL)" \
+	  fndir="$(fndir)" dir_top="$(dir_top)" \
 	  FUNCTIONS_SUBDIRS="$(FUNCTIONS_SUBDIRS)" \
 	  DESTDIR="$(DESTDIR)" VERSION="$(VERSION)" \
 	  $(SHELL) $(sdir_top)/Config/uninstallfns.sh || exit 1; \
Index: Config/installfns.sh
===================================================================
RCS file: /cvsroot/zsh/zsh/Config/installfns.sh,v
retrieving revision 1.1.1.9
diff -u -r1.1.1.9 installfns.sh
--- Config/installfns.sh	2000/01/14 19:14:47	1.1.1.9
+++ Config/installfns.sh	2000/11/30 15:39:50
@@ -4,30 +4,23 @@
 
 $sdir_top/mkinstalldirs $fndir || exit 1;
 
-# If the source directory is somewhere else, we need to force
-# the shell to expand it in that directory, then strip it off.
-install=
-for file in $FUNCTIONS_INSTALL; do
-  if test -f "$sdir/$file"; then
-    install="$install $file"
-  else
-    install="$install `echo '' $sdir/$file | sed -e \"s% $sdir/% %g\"`"
-  fi
-done
+allfuncs="`grep ' functions=' ${dir_top}/config.modules |
+  sed -e '/^#/d' -e '/ link=no/d' -e 's/^.* functions=//'`"
 
-for file in $install; do
-  if test -f $sdir/$file; then
+allfuncs="`cd $sdir_top; echo ${allfuncs}`"
+
+# We now have a list of files, but we need to use `test -f' to check
+# (1) the glob got expanded (2) we are not looking at directories.
+for file in $allfuncs; do
+  if test -f $sdir_top/$file; then
     if test x$FUNCTIONS_SUBDIRS != x -a x$FUNCTIONS_SUBDIRS != xno; then
-      subfile="$file"
-      subdir="`echo $file | sed -e 's%/[^/]*$%%'`"
+      subdir="`echo $file | sed -e 's%/[^/]*$%%' \
+		-e s%^Functions/%% -e s%^Completion/%%`"
       instdir="$fndir/$subdir"
     else
-      subfile="`echo $file | sed -e 's%^.*/%%'`"
       instdir="$fndir"
     fi
-    $sdir_top/mkinstalldirs $instdir || exit 1
-    $INSTALL_DATA $sdir/$file $instdir || exit 1
+    test -d $instdir || $sdir_top/mkinstalldirs $instdir || exit 1
+    $INSTALL_DATA $sdir_top/$file $instdir || exit 1
   fi
 done
-
-exit 0
Index: Config/uninstallfns.sh
===================================================================
RCS file: /cvsroot/zsh/zsh/Config/uninstallfns.sh,v
retrieving revision 1.1.1.5
diff -u -r1.1.1.5 uninstallfns.sh
--- Config/uninstallfns.sh	2000/01/14 19:14:47	1.1.1.5
+++ Config/uninstallfns.sh	2000/11/30 15:39:50
@@ -1,39 +1,38 @@
 #!/bin/sh
 
-# If the source directory is somewhere else, we need to force
-# the shell to expand it in that directory, then strip it off.
-install=
-for file in $FUNCTIONS_INSTALL; do
-  if test -f "$sdir/$file"; then
-    install="$install $file"
-  else
-    install="$install `echo '' $sdir/$file | sed -e \"s% $sdir/% %g\"`"
-  fi
-done
-
 fndir=$DESTDIR$fndir
+
+allfuncs="`grep ' functions=' ${dir_top}/config.modules |
+  sed -e '/^#/d' -e '/ link=no/d' -e 's/^.* functions=//'`"
+
+allfuncs="`cd ${sdir_top}; echo ${allfuncs}`"
 
-for file in $install; do
-  case $fndir in
-    *$VERSION*)
-       # Version specific function directory, safe to remove completely.
-       # However, we don't remove the top-level version directory since
-       # it could have other things than functions in it.  We could
-       # do that instead in the top-level Makefile on a full uninstall,
-       # if we wanted.
-       rm -rf $fndir
-       ;;
-    *)
-       if test -f $sdir/$file; then
+case $fndir in
+  *$VERSION*)
+     # Version specific function directory, safe to remove completely.
+     # However, we don't remove the top-level version directory since
+     # it could have other things than functions in it.  We could
+     # do that instead in the top-level Makefile on a full uninstall,
+     # if we wanted.
+     rm -rf $fndir
+     ;;
+  *) # The following will only apply with a custom install directory
+     # with no version information.  This is rather undesirable.
+     # But let's try and do the best we can.
+     # We now have a list of files, but we need to use `test -f' to check
+     # (1) the glob got expanded (2) we are not looking at directories.
+     for file in $allfuncs; do
+       if test -f $sdir_top/$file; then
 	 if test x$FUNCTIONS_SUBDIRS != x -a x$FUNCTIONS_SUBDIRS != xno; then
+	   file=`echo $file | sed -e 's%%^Completion/%' -e 's%%^Functions%'`
 	   rm -f $fndir/$file;
 	 else
 	   bfile="`echo $file | sed -e 's%^.*/%%'`"
 	   rm -f "$fndir/$bfile"; \
 	 fi
        fi
-       ;;
-  esac
-done
+     done
+     ;;
+esac
 
 exit 0
Index: Src/signals.c
===================================================================
RCS file: /cvsroot/zsh/zsh/Src/signals.c,v
retrieving revision 1.13
diff -u -r1.13 signals.c
--- Src/signals.c	2000/11/11 19:50:29	1.13
+++ Src/signals.c	2000/11/30 15:39:50
@@ -1010,12 +1010,12 @@
 {
     int sig, ota = trapsallowed;
 
-    trapsallowed = 1;
+    trapsallowed = 0;
     while (trapqused) {
 	trapqused--;
 	sig = *trapqueue;
 	memcpy(trapqueue, trapqueue + 1, trapqused * sizeof(int));
-	dotrap(sig, -1);
+	dotrap(sig, 1);
     }
     trapsallowed = ota;
 }
Index: Src/zsh.mdd
===================================================================
RCS file: /cvsroot/zsh/zsh/Src/zsh.mdd,v
retrieving revision 1.4
diff -u -r1.4 zsh.mdd
--- Src/zsh.mdd	2000/11/26 20:01:03	1.4
+++ Src/zsh.mdd	2000/11/30 15:39:50
@@ -2,6 +2,7 @@
 link=static
 load=yes
 # load=static should replace use of alwayslink
+functions='Functions/Misc/* Functions/Prompts/*'
 
 nozshdep=1
 alwayslink=1
Index: Src/Modules/zftp.mdd
===================================================================
RCS file: /cvsroot/zsh/zsh/Src/Modules/zftp.mdd,v
retrieving revision 1.2
diff -u -r1.2 zftp.mdd
--- Src/Modules/zftp.mdd	2000/11/26 20:01:03	1.2
+++ Src/Modules/zftp.mdd	2000/11/30 15:39:50
@@ -1,6 +1,7 @@
 name=zsh/zftp
 link=dynamic
 load=no
+functions='Functions/Zftp/*'
 
 autobins="zftp"
 
Index: Src/Zle/complete.mdd
===================================================================
RCS file: /cvsroot/zsh/zsh/Src/Zle/complete.mdd,v
retrieving revision 1.3
diff -u -r1.3 complete.mdd
--- Src/Zle/complete.mdd	2000/11/26 20:01:03	1.3
+++ Src/Zle/complete.mdd	2000/11/30 15:39:50
@@ -1,6 +1,7 @@
 name=zsh/complete
 link=either
 load=yes
+functions='Completion/Core/* Completion/Base/* Completion/Builtins/* Completion/User/* Completion/Commands/* Completion/Debian/* Completion/Linux/* Completion/Bsd/* Completion/AIX/* Completion/X/*'
 
 moddeps="zsh/zle"
 
Index: Src/Zle/zle.mdd
===================================================================
RCS file: /cvsroot/zsh/zsh/Src/Zle/zle.mdd,v
retrieving revision 1.2
diff -u -r1.2 zle.mdd
--- Src/Zle/zle.mdd	2000/11/26 20:01:03	1.2
+++ Src/Zle/zle.mdd	2000/11/30 15:39:50
@@ -1,6 +1,7 @@
 name=zsh/zle
 link=either
 load=yes
+functions='Functions/Zle/*'
 
 autobins="bindkey vared zle"
 

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


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

* Re: PATCH: function install
  2000-11-30 18:28 PATCH: function install Peter Stephenson
@ 2000-12-02 23:37 ` Bart Schaefer
  2000-12-04 10:47   ` Peter Stephenson
  2000-12-05 15:18 ` Module config Andrej Borsenkow
  1 sibling, 1 reply; 8+ messages in thread
From: Bart Schaefer @ 2000-12-02 23:37 UTC (permalink / raw)
  To: Peter Stephenson, Zsh hackers list

On Nov 30,  6:28pm, Peter Stephenson wrote:
} Subject: PATCH: function install
}
} I haven't tested this with FUNCTIONS_SUBDIRS enabled, because it's too
} painful to reconfigure.

There seems to be a problem with this:

zagzig% echo $fpath
/usr/local/share/zsh/site-functions /usr/local/share/zsh/3.1.9-dev-7/functions/@FUNCTIONS_INSTALL@

-- 
Bart Schaefer                                 Brass Lantern Enterprises
http://www.well.com/user/barts              http://www.brasslantern.com

Zsh: http://www.zsh.org | PHPerl Project: http://phperl.sourceforge.net   


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

* Re: PATCH: function install
  2000-12-02 23:37 ` Bart Schaefer
@ 2000-12-04 10:47   ` Peter Stephenson
  2000-12-04 19:12     ` Peter Stephenson
  0 siblings, 1 reply; 8+ messages in thread
From: Peter Stephenson @ 2000-12-04 10:47 UTC (permalink / raw)
  To: Zsh hackers list

Bart wrote:
> zagzig% echo $fpath
> /usr/local/share/zsh/site-functions /usr/local/share/zsh/3.1.9-dev-7/function
> s/@FUNCTIONS_INSTALL@

Zowie!  I have seen the SUBDIRS!

I completely forgot about the path compiled into the shell --- I'll look
into this as soon as I get a moment.  It'll have to come from
config.modules instead of the variable, obviously.

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


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

* Re: PATCH: function install
  2000-12-04 10:47   ` Peter Stephenson
@ 2000-12-04 19:12     ` Peter Stephenson
  0 siblings, 0 replies; 8+ messages in thread
From: Peter Stephenson @ 2000-12-04 19:12 UTC (permalink / raw)
  To: Zsh hackers list

I nearly wrote:
> Yow!  I have seen the SUBDIRS!

This should fix it, with the change that Completion is now installed as a
subdirectory under ..../functions.  I've even tested it this time.
The first hunk is tangentially related paranoia; the second got missed out
the first time round.

Index: configure.in
===================================================================
RCS file: /cvsroot/zsh/zsh/configure.in,v
retrieving revision 1.35
diff -u -r1.35 configure.in
--- configure.in	2000/11/30 18:36:21	1.35
+++ configure.in	2000/12/04 19:07:26
@@ -1744,7 +1744,7 @@
                 grep "^name=$name " ${CONFIG_MODULES}.old
 		;;
     *) case "$link" in
-	  *\ *) eval 'link=`'$link'`'
+	  *\ *) eval "link=\`$link\`"
 	       ;;
        esac
        case "${load}" in
Index: Config/defs.mk.in
===================================================================
RCS file: /cvsroot/zsh/zsh/Config/defs.mk.in,v
retrieving revision 1.3
diff -u -r1.3 defs.mk.in
--- Config/defs.mk.in	2000/11/26 20:01:02	1.3
+++ Config/defs.mk.in	2000/12/04 19:07:26
@@ -74,7 +74,6 @@
 INSTALL_DATA    = @INSTALL_DATA@
 
 # variables used in determining what to install
-FUNCTIONS_INSTALL = @FUNCTIONS_INSTALL@
 FUNCTIONS_SUBDIRS = @FUNCTIONS_SUBDIRS@
 
 # flags passed to recursive makes in subdirectories
Index: Config/installfns.sh
===================================================================
RCS file: /cvsroot/zsh/zsh/Config/installfns.sh,v
retrieving revision 1.3
diff -u -r1.3 installfns.sh
--- Config/installfns.sh	2000/12/04 12:02:31	1.3
+++ Config/installfns.sh	2000/12/04 19:07:26
@@ -14,8 +14,7 @@
 for file in $allfuncs; do
   if test -f $sdir_top/$file; then
     if test x$FUNCTIONS_SUBDIRS != x -a x$FUNCTIONS_SUBDIRS != xno; then
-      subdir="`echo $file | sed -e 's%/[^/]*$%%' \
-		-e s%^Functions/%% -e s%^Completion/%%`"
+      subdir="`echo $file | sed -e 's%/[^/]*$%%' -e 's%^Functions/%%'`"
       instdir="$fndir/$subdir"
     else
       instdir="$fndir"
Index: Config/uninstallfns.sh
===================================================================
RCS file: /cvsroot/zsh/zsh/Config/uninstallfns.sh,v
retrieving revision 1.2
diff -u -r1.2 uninstallfns.sh
--- Config/uninstallfns.sh	2000/11/30 18:36:23	1.2
+++ Config/uninstallfns.sh	2000/12/04 19:07:26
@@ -24,7 +24,7 @@
      for file in $allfuncs; do
        if test -f $sdir_top/$file; then
 	 if test x$FUNCTIONS_SUBDIRS != x -a x$FUNCTIONS_SUBDIRS != xno; then
-	   file=`echo $file | sed -e 's%%^Completion/%' -e 's%%^Functions%'`
+	   file=`echo $file | sed -e 's%%^Functions/%'`
 	   rm -f $fndir/$file;
 	 else
 	   bfile="`echo $file | sed -e 's%^.*/%%'`"
Index: Src/zsh.mdd
===================================================================
RCS file: /cvsroot/zsh/zsh/Src/zsh.mdd,v
retrieving revision 1.5
diff -u -r1.5 zsh.mdd
--- Src/zsh.mdd	2000/11/30 18:36:23	1.5
+++ Src/zsh.mdd	2000/12/04 19:07:27
@@ -45,10 +45,13 @@
 	  echo '#define FPATH_DIR "'$(fndir)'"' >> zshpaths.h.tmp; \
 	  if test x$(FUNCTIONS_SUBDIRS) != x -a \
 	  x$(FUNCTIONS_SUBDIRS) != xno; then \
-	    fpath_tmp="`for f in $$FUNCTIONS_INSTALL; do \
-	      echo $$f | sed s%/.*%%; \
-	    done | sort | uniq`"; \
-	    fpath_tmp="`echo $$fpath_tmp | sed 's/ /\", \"/g'`"; \
+	    fpath_tmp="`grep ' functions=.' \
+	    $(dir_top)/config.modules | sed -e '/^#/d' -e '/ link=no/d' \
+	    -e 's/^.* functions=//'`"; \
+	    fpath_tmp=`for f in $$fpath_tmp; do \
+	      echo $$f | sed -e 's%^Functions/%%' -e 's%/[^/]*$$%%'; \
+	    done | sort | uniq`; \
+	    fpath_tmp=`echo $$fpath_tmp | sed 's/ /\", \"/g'`; \
 	    echo "#define FPATH_SUBDIRS { \"$$fpath_tmp\" }" \
 	    >>zshpaths.h.tmp; \
 	  fi; \

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


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

* Module config
  2000-11-30 18:28 PATCH: function install Peter Stephenson
  2000-12-02 23:37 ` Bart Schaefer
@ 2000-12-05 15:18 ` Andrej Borsenkow
  2000-12-05 16:35   ` Peter Stephenson
  1 sibling, 1 reply; 8+ messages in thread
From: Andrej Borsenkow @ 2000-12-05 15:18 UTC (permalink / raw)
  To: Zsh hackers list


> It seems like the config.modules patch was uncontroversial
> ...
> This is the last change I think is really necessary before zsh 4.0
> (translation: the last major change I had any chance of getting round to
> any time soon).
>

I'd still like to have configure parameter instead of/in addition to
config.modules as I suggested sometime ago. It is better suited for
scripting. Mau be, I'll get around to implement it. It may even coexist with
config.modules.

To remeber - something like:

--enable-modules='zsh/zle=link=static zsh/stat=load=auto'

i.e. just to enable setting the same parameters as in config.modules on
command line.

-andrej


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

* Re: Module config
  2000-12-05 15:18 ` Module config Andrej Borsenkow
@ 2000-12-05 16:35   ` Peter Stephenson
  2000-12-05 19:54     ` Andrej Borsenkow
  0 siblings, 1 reply; 8+ messages in thread
From: Peter Stephenson @ 2000-12-05 16:35 UTC (permalink / raw)
  To: Zsh hackers list

> To remeber - something like:
> 
> --enable-modules='zsh/zle=link=static zsh/stat=load=auto'
> 
> i.e. just to enable setting the same parameters as in config.modules on
> command line.

That should be possible just by changing configure.in.  In the loop over
.mdd files,

  case $enable_modules in
     $name=*|*' '$name=*) # use sed to get stuff out of $enable_modules
     ;;
  esac
  # normal processing on link, load etc.

auto=no should probably override the --enable-modules setting, since the
latter could come from config.status --recheck.

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


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

* Re: Module config
  2000-12-05 16:35   ` Peter Stephenson
@ 2000-12-05 19:54     ` Andrej Borsenkow
  2000-12-06 10:41       ` Peter Stephenson
  0 siblings, 1 reply; 8+ messages in thread
From: Andrej Borsenkow @ 2000-12-05 19:54 UTC (permalink / raw)
  To: Zsh hackers list


One more remaining part is documentation. It looks sensible to omit docs for
those modules that are not built. I've tried to do it and failed. There are
at least two problems:

- minor: zftpsys.yo is built as part of "main" documentation. It logically
should be built together with mod_zftp. Also, several builtins that are now
in modules are listed in main documentation (e.g. limit).

- major: list of modules to build is created dynamically when you run make;
it is impossible to build list of modules at configure time.

Hence the question: is there any reason we generate module list and
makefiles at compile time? Autoconf allows you to run any command(s) as part
of config.status - we can as easily call mkmakemod & Co. as part of (and
move current creation of config.modules into) config.status.

Should make the whole story more simple.

-andrej


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

* Re: Module config
  2000-12-05 19:54     ` Andrej Borsenkow
@ 2000-12-06 10:41       ` Peter Stephenson
  0 siblings, 0 replies; 8+ messages in thread
From: Peter Stephenson @ 2000-12-06 10:41 UTC (permalink / raw)
  To: Zsh hackers list

On Tue, 05 Dec 2000 22:54:22 +0300
Andrej Borsenkow <Andrej.Borsenkow@mow.siemens.ru> wrote:

 
> - major: list of modules to build is created dynamically when you run make;
> it is impossible to build list of modules at configure time.

That's not true any more:  all the module information comes from config.modules.
The remaining intermediate files are simply there to be included in C code.
It should be possible to rig up some code in the Makefile or an auxiliary
script to sort out which modules to provide documentation for along the same
lines as, say, the code in the top level Makefile which decides which functions
to install.

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


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

end of thread, other threads:[~2000-12-06 10:42 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2000-11-30 18:28 PATCH: function install Peter Stephenson
2000-12-02 23:37 ` Bart Schaefer
2000-12-04 10:47   ` Peter Stephenson
2000-12-04 19:12     ` Peter Stephenson
2000-12-05 15:18 ` Module config Andrej Borsenkow
2000-12-05 16:35   ` Peter Stephenson
2000-12-05 19:54     ` Andrej Borsenkow
2000-12-06 10:41       ` Peter Stephenson

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