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

zsh over GNU hurd-0.2 kernel



Hi, I compiled zsh-3.0.4 over GNU hurd-0.2 kernel.  It works well, but
configure can't find limit constant header
(/usr/include/resourcebits.h) and rlimits.awk doesn't generate proper
header.  Because GNU libc's definition of RLIMIT_[A-Z]* is done by
enumeration.  Below patch changes configure.in so you have to kick
autconf after applied the patch.
--
Kunihiro Ishiguro

diff -rc zsh-3.0.4/Src/rlimits.awk zsh-3.0.4.new/Src/rlimits.awk
*** zsh-3.0.4/Src/rlimits.awk	Tue Jun  3 14:11:24 1997
--- zsh-3.0.4.new/Src/rlimits.awk	Mon Jul 21 11:55:27 1997
***************
*** 7,18 ****
  # NB: On SunOS 4.1.3 - user-functions don't work properly, also \" problems
  # Without 0 + hacks some nawks compare numbers as strings
  #
! /^[\t ]*#[\t ]*define[\t _]*RLIMIT_[A-Z]*[\t ]*[0-9][0-9]*/ { 
      limindex = index($0, "RLIMIT_")
      limtail = substr($0, limindex, 80)
      split(limtail, tmp)
      limnam = substr(tmp[1], 8, 20)
      limnum = tmp[2]
      limrev[limnam] = limnum
      if (lim[limnum] == "") {
  	lim[limnum] = limnam
--- 7,26 ----
  # NB: On SunOS 4.1.3 - user-functions don't work properly, also \" problems
  # Without 0 + hacks some nawks compare numbers as strings
  #
! BEGIN {limidx = 0}
! 
! /^[\t ]*#[\t ]*define[\t _]*RLIMIT_[A-Z]*[\t ]*[0-9][0-9]*/ ||
! /^[\t ]*RLIMIT_[A-Z]*,[\t ]*/ {
      limindex = index($0, "RLIMIT_")
      limtail = substr($0, limindex, 80)
      split(limtail, tmp)
      limnam = substr(tmp[1], 8, 20)
      limnum = tmp[2]
+     # in this case I assume GNU libc resourcebits.h
+     if (limnum == "") {
+ 	limnum = limidx++
+ 	sub (",", "", limnam)
+     }
      limrev[limnam] = limnum
      if (lim[limnum] == "") {
  	lim[limnum] = limnam
***************
*** 21,26 ****
--- 29,35 ----
  	    if (limnam == "RSS")     { msg[limnum] = "resident" }
  	    if (limnam == "VMEM")    { msg[limnum] = "vmemorysize" }
  	    if (limnam == "NOFILE")  { msg[limnum] = "descriptors" }
+ 	    if (limnam == "OFILE")   { msg[limnum] = "descriptors" }
  	    if (limnam == "CORE")    { msg[limnum] = "coredumpsize" }
  	    if (limnam == "STACK")   { msg[limnum] = "stacksize" }
  	    if (limnam == "DATA")    { msg[limnum] = "datasize" }
***************
*** 37,42 ****
--- 46,55 ----
      limtail = substr($0, limindex, 80)
      split(limtail, tmp)
      nlimits = tmp[2]
+ }
+ # in case of GNU libc
+ /^[\t ]*RLIM_NLIMITS[\t ]*=[\t ]*RLIMIT_NLIMITS/ {
+     nlimits = limidx
  }
  
  END {
diff -rc zsh-3.0.4/configure.in zsh-3.0.4.new/configure.in
*** zsh-3.0.4/configure.in	Mon Jun 23 14:12:47 1997
--- zsh-3.0.4.new/configure.in	Mon Jul 21 11:55:22 1997
***************
*** 495,504 ****
                     /usr/include/asm/resource.h	     dnl
                     /usr/include/linux/resource.h     dnl
                     /usr/include/sys/resource.h       dnl
                     /dev/null;
  do
    test -f $RESOURCE_H && \
!   grep '#[ 	]*define[ 	][ 	]*RLIMIT_[A-Z]*[ 	]*[0-9][0-9]*' $RESOURCE_H > /dev/null && \
    break
  done
  zsh_cv_path_rlimit_h=$RESOURCE_H
--- 495,505 ----
                     /usr/include/asm/resource.h	     dnl
                     /usr/include/linux/resource.h     dnl
                     /usr/include/sys/resource.h       dnl
+                    /usr/include/resourcebits.h       dnl
                     /dev/null;
  do
    test -f $RESOURCE_H && \
!   grep '#[ 	]*define[ 	][ 	]*RLIMIT_[A-Z]*[ 	]*[0-9A-Z][0-9]*' $RESOURCE_H > /dev/null && \
    break
  done
  zsh_cv_path_rlimit_h=$RESOURCE_H



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