Commit 1038c169 authored by Anton Ertl's avatar Anton Ertl
Browse files

worked around HP/UX awk limitations by replacing awk script with gforth script

put some workarounds for specific boxes into testall and testdist
parent e99f7bd2
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -269,9 +269,9 @@ FORTH_SRC = $(KERN_SRC) $(GFORTH_FI_SRC) $(EC_SRC) $(LIBCC_DIST_SRC) \
	colorize.fs comp-i.fs complex.fs \
	depth-changes.fs dosekey.fs doskey.fs ds2texi.fs \
	envos.dos envos.os2 etags.fs fft.fs filedump.fs fi2c.fs \
	fsl-util.4th glosgen.fs gray.fs httpd.fs proxy.fs \
	fsl-util.4th glosgen.fs gray.fs httpd.fs install-tags.fs \
	make-app.fs doc/makedoc.fs locate.fs more.fs onebench.fs \
	other.fs prims2x.fs prims2x0.6.2.fs random.fs \
	other.fs prims2x.fs prims2x0.6.2.fs proxy.fs random.fs \
	regexp.fs sokoban.fs string.fs table.fs tags.fs \
	tt.fs \
	unbuffer.fs wordsets.fs xwords.fs \
@@ -880,7 +880,7 @@ tags: gforth.tags
		$(CP) gforth.tags $@

install.TAGS:	TAGS
		sed 's;^\$(srcdir)/;;' TAGS|awk 'BEGIN {RS="\014\n"; ORS=RS} {if (NR==1) print $0; else print "$(datadir)/gforth/$(VERSION)/"$$0;}' >install.TAGS
		sed 's;^\$(srcdir)/;;' TAGS|./gforth -e 's" '$(datadir)/gforth/$(VERSION)/'"' install-tags.fs -e bye >install.TAGS

gforth.TAGS:	@kernel_fi@ gforth$(EC)$(EXE) $(GFORTH_FI_SRC) prim.TAGS kernel.TAGS
		$(FORTHK) etags.fs except.fs startup.fs -e bye

install-tags.fs

0 → 100644
+47 −0
Original line number Diff line number Diff line
\ enhance TAGS file with install directory

\ Copyright (C) 2008 Free Software Foundation, Inc.

\ This file is part of Gforth.

\ Gforth is free software; you can redistribute it and/or
\ modify it under the terms of the GNU General Public License
\ as published by the Free Software Foundation, either version 3
\ of the License, or (at your option) any later version.

\ This program is distributed in the hope that it will be useful,
\ but WITHOUT ANY WARRANTY; without even the implied warranty of
\ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
\ GNU General Public License for more details.

\ You should have received a copy of the GNU General Public License
\ along with this program. If not, see http://www.gnu.org/licenses/.


\ usage: gforth -e 's" dir"' install-tags.fs -e bye <TAGS >install/TAGS

\ We used to do this with

\ awk 'BEGIN {RS="\014\n"; ORS=RS} {if (NR==1) print $0; else print "$(datadir)/gforth/$(VERSION)/"$$0;}'

\ but the awk of HP/UX B.11.23 was not up to the task

2constant dir
s\" \f\l" 2constant separator

: install-tags ( c-addr u -- )
    begin { c-addr u }
        c-addr u separator search while
            separator nip /string { c-addr2 u2 }
            c-addr c-addr2 over - type
            dir type
            c-addr2 u2 repeat
    type ;

infile-id slurp-fid install-tags


            
            
            
            
 No newline at end of file
+4 −3
Original line number Diff line number Diff line
@@ -6,8 +6,9 @@ if test $# = 0; then
  exit 1
fi
test "x$MACHINES" != x || 
MACHINES="a5 a7 b2 b3 c1 c4 c6 c7 c8 iyonix mips ppc64 t1000"
SSH_PROTOCOL=-oProtocol=1,2
MACHINES="a5 a7 akrall@titan.zserv.tuwien.ac.at b2 b3 b6 c4 c6 c7 c8 iyonix mips ppc64 t1000"
#left out (NFS problem?): c1
#SSH_PROTOCOL=-oProtocol=1,2
for i in $MACHINES
do
  if false; then
@@ -16,7 +17,7 @@ do
  else
    ( ssh $SSH_PROTOCOL -q -x $i "test -d xxxgforthtest||mkdir xxxgforthtest; cd xxxgforthtest; test -d $i||mkdir $i; rm -rf $i/*" >$i 2>&1; \
      scp $SSH_PROTOCOL -p -q $1 ../testdist $i:xxxgforthtest/$i >>$i 2>&1; \
      ssh $SSH_PROTOCOL -q -x $i "cd xxxgforthtest/$i; ./testdist `basename $1`" >>$i 2>&1; \
      ssh $SSH_PROTOCOL -q -x $i "cd xxxgforthtest/$i; nice ./testdist `basename $1`" >>$i 2>&1; \
      echo "$i done" "`tail -1 $i`" `grep "checking host system type..." $i|sed 's/checking host system type... //'|uniq` `grep "^gcc.*ok" $i`
      grep -A 2 "sieve bubble matrix  fib" $i; echo) &
  fi
+4 −3
Original line number Diff line number Diff line
@@ -3,6 +3,7 @@
#usage: testdist gforth-version.tar.gz
#gforth-version.tar.gz must be in the working directory
MACHINE=`hostname`
test $MACHINE = mail2 -o $MACHINE = t1000 && confopt='ac_cv_prog_GNU_LIBTOOL='
GFORTH=`basename $1 .tar.gz`
result=ok
for CC in `(shopt -s nullglob; for i in /usr/sfw/bin /opt/csw/gcc4/bin \`echo $PATH|sed 's/:/ /g'\`; do for j in $i/gcc-*; do basename $j; done; done )|sort -u`; do
@@ -15,18 +16,18 @@ for CC in `(shopt -s nullglob; for i in /usr/sfw/bin /opt/csw/gcc4/bin \`echo $P
    chmod -R +w $GFORTH
    rm -rf $GFORTH
    gunzip -cd ../$1 | tar xf -
    (if make --version|grep -q GNU
    (if make --version|grep GNU >/dev/null
     then
	echo building in build with $CC
	chmod -R a-w $GFORTH
	rm -rf build
	mkdir build
	cd build
	../$GFORTH/configure --prefix=$DIR/install CC=$CC
	../$GFORTH/configure --prefix=$DIR/install CC=$CC $confopt
     else
	echo building in $GFORTH with $CC
	cd $GFORTH
	./configure --prefix=$DIR/install CC=$CC
	./configure --prefix=$DIR/install CC=$CC $confopt
     fi &&
     make &&
#gforth locals-test.fs