cvs commit: ponie/perl/Porting Glossary

[email protected] (Nicholas Clark) 28 Apr 2004 11:44:12 -0000
Newsgroups perl.ponie.changes
Message-ID <[email protected]>
cvsuser     04/04/28 04:44:12

  Modified:    .        Configure.pl
               perl     Configure Makefile.SH
               perl/Porting Glossary
  Log:
  Split perl's idea of the C compiler and the linker (used for executables)
  Inherit the linker that parrot uses.
  This lets us use the C++ compiler to link ponie, whilst still compiling the
  perl source code with a C compiler, which seems to be the easiest solution to
  the recent ICU fun.
  
  Revision  Changes    Path
  1.18      +18 -1     ponie/Configure.pl
  
  Index: Configure.pl
  ===================================================================
  RCS file: /cvs/public/ponie/Configure.pl,v
  retrieving revision 1.17
  retrieving revision 1.18
  diff -u -w -r1.17 -r1.18
  --- Configure.pl	24 Apr 2004 14:07:22 -0000	1.17
  +++ Configure.pl	28 Apr 2004 11:44:11 -0000	1.18
  @@ -9,6 +9,7 @@
   print "Working in $FindBin::Bin\n";
   my @config_args;
   my $configs = $Config{config_argc};
  +my $old_link;
   
   use Cwd;
   my $dir = cwd;
  @@ -18,6 +19,11 @@
     next if($config_value =~/thread/i);
     next if($config_value eq '-Dmksymlinks');
     next if($config_value =~/\-de/);
  +  # No, we need to override the linker
  +  if ($config_value =~/\-Dlink=/) {
  +    $old_link = $config_value;
  +    next;
  +  }
     push @config_args, $config_value;
   }
   
  @@ -36,7 +42,6 @@
   delete($ENV{'PERL5LIB'});
   
   unless(-e 'parrot/parrot') {
  -    do_perl_configure() unless(-e 'perl/config.h');
       chdir('parrot')  || die "You need to checkout parrot inside ponie";
       chdir('classes') || die;
       system('rm -f perl5lv.pmc') && die "Error";
  @@ -50,6 +55,18 @@
   	   "--ccflags= :add{ -I$dir/perl}",
   	   "--icudatadir=$FindBin::Bin/parrot/blib/lib/icu/2.6.1")
         && die "error";
  +    chdir($dir) || die;
  +    push @INC, "parrot/lib";
  +    require Parrot::Config;
  +    if (defined $Parrot::Config::PConfig{link}) {
  +      # Need whatever linker parrot uses, as we're also going to have to link
  +      # with ICU
  +      push @config_args, "-Dlink=$Parrot::Config::PConfig{link}";
  +    } elsif ($old_link) {
  +      push @config_args, $old_link;
  +    }
  +    do_perl_configure() unless(-e 'perl/config.h');
  +    chdir('parrot')  || die "You need to checkout parrot inside ponie";
       system('make')  && die "error";
       chdir($dir) || die;
   }
  
  
  
  1.2       +92 -83    ponie/perl/Configure
  
  Index: Configure
  ===================================================================
  RCS file: /cvs/public/ponie/perl/Configure,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -w -r1.1 -r1.2
  --- Configure	9 Sep 2003 11:58:48 -0000	1.1
  +++ Configure	28 Apr 2004 11:44:11 -0000	1.2
  @@ -20,7 +20,7 @@
   
   # $Id: Head.U,v 3.0.1.9 1997/02/28 15:02:09 ram Exp $
   #
  -# Generated on Mon Aug 25 19:47:58 EEST 2003 [metaconfig 3.0 PL70]
  +# Generated on Thu Feb 26 10:02:07 MET 2004 [metaconfig 3.0 PL70]
   # (with additional metaconfig patches by [email protected])
   
   cat >c1$$ <<EOF
  @@ -904,6 +904,7 @@
   shortsize=''
   issymlink=''
   libc=''
  +link=''
   ldlibpthname=''
   libperl=''
   shrpenv=''
  @@ -1173,8 +1174,6 @@
   versiononly=''
   defvoidused=''
   voidflags=''
  -pm_apiversion=''
  -xs_apiversion=''
   yacc=''
   yaccflags=''
   CONFIG=''
  @@ -1209,6 +1208,17 @@
   fi
   
   i_whoami=''
  +ccname=''
  +ccversion=''
  +perllibs=''
  +: set useposix=false in your hint file to disable the POSIX extension.
  +useposix=true
  +: set useopcode=false in your hint file to disable the Opcode extension.
  +useopcode=true
  +: Trailing extension.  Override this in a hint file, if needed.
  +: Extra object files, if any, needed on this platform.
  +archobjs=''
  +archname=''
   : Possible local include directories to search.
   : Set locincpth to "" in a hint file to defeat local include searches.
   locincpth="/usr/local/include /opt/local/include /usr/gnu/include"
  @@ -1217,12 +1227,6 @@
   : no include file wanted by default
   inclwanted=''
   
  -siteman1dir=''
  -siteman3dir=''
  -sitescript=''
  -: Trailing extension.  Override this in a hint file, if needed.
  -: Extra object files, if any, needed on this platform.
  -archobjs=''
   groupstype=''
   libnames=''
   : change the next line if compiling for Xenix/286 on Xenix/386
  @@ -1246,25 +1250,20 @@
   libswanted=''
   : some systems want to use only the non-versioned libso:s
   ignore_versioned_solibs=''
  -: full support for void wanted by default
  -defvoidused=15
  -
  -ccname=''
  -ccversion=''
  -perllibs=''
  -: set useposix=false in your hint file to disable the POSIX extension.
  -useposix=true
  -: set useopcode=false in your hint file to disable the Opcode extension.
  -useopcode=true
  +siteman1dir=''
  +siteman3dir=''
  +sitescript=''
   archname64=''
   ccflags_uselargefiles=''
   ldflags_uselargefiles=''
   libswanted_uselargefiles=''
   : set usemultiplicity on the Configure command line to enable multiplicity.
   : set usesocks on the Configure command line to enable socks.
  -archname=''
   : set usethreads on the Configure command line to enable threads.
   usereentrant='undef'
  +: full support for void wanted by default
  +defvoidused=15
  +
   : List of libraries we want.
   : If anyone needs extra -lxxx, put those in a hint file.
   libswanted="sfio socket bind inet nsl nm ndbm gdbm dbm db malloc dl dld ld sun"
  @@ -3112,6 +3111,8 @@
   		freebsd) osname=freebsd 
   			osvers="$3" ;;
   		genix) osname=genix ;;
  +		gnu)	osname=gnu
  +			osvers="$3" ;;
   		hp*) osname=hpux 
   			osvers=`echo "$3" | $sed 's,.*\.\([0-9]*\.[0-9]*\),\1,'`
   			;;
  @@ -3458,6 +3459,8 @@
   
   : who configured the system
   cf_time=`LC_ALL=C; LANGUAGE=C; export LC_ALL; export LANGUAGE; $date 2>&1`
  +case "$cf_by" in
  +"")
   cf_by=`(logname) 2>/dev/null`
   case "$cf_by" in
   "")
  @@ -3465,6 +3468,7 @@
   	case "$cf_by" in
   	"") cf_by=unknown ;;
   	esac ;;
  +	esac ;;
   esac
   
   : set up the script used to warn in case of inconsistency
  @@ -3673,22 +3677,22 @@
   eval $setvar
   
   
  -case "$usethreads" in
  -"$define"|true|[yY]*)
   : Look for a hint-file generated 'call-back-unit'.  If the
   : user has specified that a threading perl is to be built,
   : we may need to set or change some other defaults.
   	if $test -f usethreads.cbu; then
  -		echo "Your platform has some specific hints for threaded builds, using them..."
  +    echo "Your platform has some specific hints regarding threaded builds, using them..."
   		. ./usethreads.cbu
   	else
  +    case "$usethreads" in
  +	"$define"|true|[yY]*)
   		$cat <<EOM
  -(Your platform doesn't have any specific hints for threaded builds.
  +(Your platform does not have any specific hints for threaded builds.
    Assuming POSIX threads, then.)
   EOM
  -	fi
   	;;
   esac
  +fi
   
   cat <<EOM
   
  @@ -4408,6 +4412,17 @@
   esac
   $rm -f testcpp.c testcpp.out
   
  +#####
  +case "$link" in
  +'') dflt=$cc;;
  +*) dflt="$link";;
  +esac
  +$echo
  +rp="Use which command to link an exectuable program?"
  +. ./myread
  +link="$ans"
  +
  +
   : Set private lib path
   case "$plibpth" in
   '') if ./mips; then
  @@ -4546,21 +4561,21 @@
   true|[yY]*) uselongdouble="$define" ;;
   esac
   
  -case "$uselongdouble" in
  -$define)
   : Look for a hint-file generated 'call-back-unit'.  If the
   : user has specified that long doubles should be used,
   : we may need to set or change some other defaults.
   	if $test -f uselongdouble.cbu; then
  -		echo "Your platform has some specific hints for long doubles, using them..."
  +    echo "Your platform has some specific hints regarding long doubles, using them..."
   		. ./uselongdouble.cbu
   	else
  +    case "$uselongdouble" in
  +	$define)
   		$cat <<EOM
  -(Your platform doesn't have any specific hints for long doubles.)
  +(Your platform does not have any specific hints for long doubles.)
   EOM
  -	fi
   	;;
   esac
  +fi
   
   : Looking for optional libraries
   echo " "
  @@ -5447,15 +5462,15 @@
   	;;
   esac
   
  -case "$use64bitint" in
  -"$define"|true|[yY]*)
   : Look for a hint-file generated 'call-back-unit'.  If the
   : user has specified that a 64-bit perl is to be built,
   : we may need to set or change some other defaults.
   	if $test -f use64bitint.cbu; then
  -		echo "Your platform has some specific hints for 64-bit integers, using them..."
  +	echo "Your platform has some specific hints regarding 64-bit integers, using them..."
   		. ./use64bitint.cbu
   	fi
  +case "$use64bitint" in
  +"$define"|true|[yY]*)
   	case "$longsize" in
   	4) case "$archname64" in
   	   '') archname64=64int ;;
  @@ -5465,15 +5480,15 @@
   	;;
   esac
   
  -case "$use64bitall" in
  -"$define"|true|[yY]*)
   : Look for a hint-file generated 'call-back-unit'.  If the
   : user has specified that a maximally 64-bit perl is to be built,
   : we may need to set or change some other defaults.
   	if $test -f use64bitall.cbu; then
  -		echo "Your platform has some specific hints for 64-bit builds, using them..."
  +	echo "Your platform has some specific hints regarding 64-bit builds, using them..."
   		. ./use64bitall.cbu
   	fi
  +case "$use64bitall" in
  +"$define"|true|[yY]*)
   	case "$longsize" in
   	4) case "$archname64" in
   	   ''|64int) archname64=64all ;;
  @@ -5571,7 +5586,9 @@
   		longdblsize="$ans"
   	fi
   	if $test "X$doublesize" = "X$longdblsize"; then
  -		echo "(That isn't any different from an ordinary double.)"
  +		echo "That isn't any different from an ordinary double."
  +		echo "I'll keep your setting anyway, but you may see some"
  +		echo "harmless compilation warnings."
   	fi	
   	;;
   esac
  @@ -6871,7 +6888,7 @@
   rp='List of earlier versions to include in @INC?'
   . ./myread
   case "$ans" in
  -[Nn]one|''|' ') inc_version_list=' ' ;;
  +[Nn]one|''|' '|$undef) inc_version_list=' ' ;;
   *) inc_version_list="$ans" ;;
   esac
   case "$inc_version_list" in
  @@ -7354,9 +7371,9 @@
   : is a C symbol defined?
   csym='tlook=$1;
   case "$3" in
  --v) tf=libc.tmp; tc=""; tdc="";;
  --a) tf=libc.tmp; tc="[0]"; tdc="[]";;
  -*) tlook="^$1\$"; tf=libc.list; tc=""; tdc="()";;
  +-v) tf=libc.tmp; tdc="";;
  +-a) tf=libc.tmp; tdc="[]";;
  +*) tlook="^$1\$"; tf=libc.list; tdc="()";;
   esac;
   tx=yes;
   case "$reuseval-$4" in
  @@ -7370,16 +7387,15 @@
   		if $contains $tlook $tf >/dev/null 2>&1; then
   			tval=true;
   		elif $test "$mistrustnm" = compile -o "$mistrustnm" = run; then
  -			echo "int main() { extern void *$1$tdc; if (&$1$tc) return(0); else return(1); }" > try.c;
  +			echo "void *(*(p()))$tdc { extern void *$1$tdc; return &$1; } int main() { if(p()) return(0); else return(1); }"> try.c;
   			$cc -o try $optimize $ccflags $ldflags try.c >/dev/null 2>&1 $libs && tval=true;
  -			$test "$mistrustnm" = run -a -x try && { $run ./try >/dev/null 2>&1 || tval=false; };
  -			$rm -f try try.c core;
  +			$test "$mistrustnm" = run -a -x try && { $run ./try$_exe >/dev/null 2>&1 || tval=false; };
  +			$rm -f try$_exe try.c core core.* try.core;
   		fi;
   	else
  -		echo "#include <stdio.h>" > try.c;
  -		echo "int main() { extern void *$1$tdc; if(&$1$tc) return(0); else return(1); }" > try.c;
  +		echo "void *(*(p()))$tdc { extern void *$1$tdc; return &$1; } int main() { if(p()) return(0); else return(1); }"> try.c;
   		$cc -o try $optimize $ccflags $ldflags try.c $libs >/dev/null 2>&1 && tval=true;
  -		$rm -f try try.c;
  +		$rm -f try$_exe try.c;
   	fi;
   	;;
   *)
  @@ -7622,10 +7638,8 @@
   EOM
       case "$ccdlflags" in
       '') case "$osname" in
  -		hpux)	dflt='-Wl,-E' ;;
  -		linux)	dflt='-rdynamic' ;;
  -		next)	dflt='none' ;;
  -		sunos)	dflt='none' ;;
  +	    linux|hpux)	dflt='-Wl,-E' ;;
  +	    next|sunos)	dflt='none' ;;
   		*)	dflt='none' ;;
   	    esac ;;
       ' ')  dflt='none' ;;
  @@ -8851,14 +8865,16 @@
   esac
   set uselargefiles
   eval $setvar
  -case "$uselargefiles" in
  -"$define")
   : Look for a hint-file generated 'call-back-unit'.  If the
   : user has specified that a large files perl is to be built,
   : we may need to set or change some other defaults.
   	if $test -f uselargefiles.cbu; then
  -		echo "Your platform has some specific hints for large file builds, using them..."
  +	echo "Your platform has some specific hints regarding large file builds, using them..."
   		. ./uselargefiles.cbu
  +fi
  +case "$uselargefiles" in
  +"$define")
  +	if $test -f uselargefiles.cbu; then
   		echo " "
   		echo "Rechecking to see how big your file offsets are..." >&4
   		$cat >try.c <<EOCP
  @@ -16952,10 +16968,10 @@
       buf[1] = 0;
       buf[2] = 0;
       buf[3] = 1;
  +    buf[4] = 0;
       buf[5] = 0;
       buf[6] = 0;
  -    buf[7] = 0;
  -    buf[8] = 1;
  +    buf[7] = 1;
   
       for (i = 0; i < 4; i++) {
   	up = (U32*)(buf + i);
  @@ -18640,12 +18656,6 @@
   set pid_t pidtype int stdio.h sys/types.h
   eval $typedef_ask
   
  -: Find earliest binary compatible site_perl subdirectory perl can use.
  -xs_apiversion=$version # The current site_perl version.
  -: Find earliest pure perl site_perl subdirectory perl can use.
  -: The versioned directories started at 5.005.
  -pm_apiversion='5.005'
  -
   : see if ar generates random libraries by itself
   echo " "
   echo "Checking how to generate random libraries on your machine..." >&4
  @@ -21123,6 +21133,7 @@
   libswanted='$libswanted'
   libswanted_uselargefiles='$libswanted_uselargefiles'
   line='$line'
  +link='$link'
   lint='$lint'
   lkflags='$lkflags'
   ln='$ln'
  @@ -21206,7 +21217,6 @@
   phostname='$phostname'
   pidtype='$pidtype'
   plibpth='$plibpth'
  -pm_apiversion='$pm_apiversion'
   pmake='$pmake'
   pr='$pr'
   prefix='$prefix'
  @@ -21408,7 +21418,6 @@
   vi='$vi'
   voidflags='$voidflags'
   xlibpth='$xlibpth'
  -xs_apiversion='$xs_apiversion'
   yacc='$yacc'
   yaccflags='$yaccflags'
   zcat='$zcat'
  
  
  
  1.2       +50 -90    ponie/perl/Makefile.SH
  
  Index: Makefile.SH
  ===================================================================
  RCS file: /cvs/public/ponie/perl/Makefile.SH,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -w -r1.1 -r1.2
  --- Makefile.SH	9 Sep 2003 11:58:50 -0000	1.1
  +++ Makefile.SH	28 Apr 2004 11:44:12 -0000	1.2
  @@ -9,6 +9,17 @@
   	. $TOP/config.sh
   	;;
   esac
  +
  +# H.Merijn Brand [17 Feb 2004]
  +# This comment is just to ensure that Configure will find variables that
  +# are removed/replaced in patches on blead, but are still needed in the
  +# 5.8.x, 5.6.x and 5.005.x maintainance tracks.
  +# metaconfig -m will scan all .SH files on this level (not deeper), and
  +# not in x2p and other subfolders. This file is as good as any .SH
  +# patch   references
  +# #22227 $baserev
  +# #22302 $yacc $byacc
  +
   : This forces SH files to create target in same directory as SH file.
   : This is so that make depend always knows where to find SH derivatives.
   case "$0" in
  @@ -154,14 +165,9 @@
       nonxs_list="$nonxs_list ext/$f/pm_to_blib"
   done
   
  -# Handle the usage of different yaccs in posix-bc (During Configure we
  -# us yacc for perly.y and byacc for a2p.y.  The makefiles must use the
  -# same configuration for run_byacc!):
  -case "$osname" in
  -    posix-bc)
  -	byacc=$yacc
  -	;;
  -esac
  +# Crazy as it may sound, $(CC) is only used within the Makefile for linking
  +# All compiling is done with $(CCCMD), which expands to a `` expression to
  +# run the ./cflags shell script. Maybe $(CC) should be renamed $(LINK)
   
   echo "Extracting Makefile (with variable substitutions)"
   $spitshell >Makefile <<!GROK!THIS!
  @@ -170,11 +176,8 @@
   # be lost the next time you run Configure.
   #  Makefile is used to generate $firstmakefile.  The only difference
   #  is that $firstmakefile has the dependencies filled in at the end.
  -#
  -#
  -# I now supply perly.c with the kits, so don't remake perly.c without byacc
  -BYACC = $byacc
  -CC = $cc
  +
  +CC = $link
   LD = $ld
   
   LDFLAGS = $ldflags
  @@ -761,15 +764,17 @@
   	done
   	-@rm -f pod/perlvms.pod
   	-@test -f vms/perlvms.pod && cd pod && $(LNS) ../vms/perlvms.pod perlvms.pod && cd .. && echo "pod/perlvms.pod" >> extra.pods
  +	-@rm -f pod/perldelta.pod
  +	-@test -f pod/perl591delta.pod && cd pod && $(LNS) perl591delta.pod perldelta.pod && cd .. && echo "pod/perldelta.pod" >> extra.pods
   
   extras.make: perl$(EXE_EXT)
  -	-@test -s extras.lst && PATH=`pwd`:${PATH} PERL5LIB=`pwd`/lib $(LDLIBPTH) ./perl -Ilib -MCPAN -e '@ARGV&&make(@ARGV)' `cat extras.lst`
  +	-@test -s extras.lst && PATH="`pwd`:${PATH}" PERL5LIB="`pwd`/lib" $(LDLIBPTH) ./perl -Ilib -MCPAN -e '@ARGV&&make(@ARGV)' `cat extras.lst`
   
   extras.test: perl$(EXE_EXT)
  -	-@test -s extras.lst && PATH=`pwd`:${PATH} PERL5LIB=`pwd`/lib $(LDLIBPTH) ./perl -Ilib -MCPAN -e '@ARGV&&test(@ARGV)' `cat extras.lst`
  +	-@test -s extras.lst && PATH="`pwd`:${PATH}" PERL5LIB="`pwd`/lib" $(LDLIBPTH) ./perl -Ilib -MCPAN -e '@ARGV&&test(@ARGV)' `cat extras.lst`
   
   extras.install: perl$(EXE_EXT)
  -	-@test -s extras.lst && PATH=`pwd`:${PATH} PERL5LIB=`pwd`/lib $(LDLIBPTH) ./perl -Ilib -MCPAN -e '@ARGV&&install(@ARGV)' `cat extras.lst`
  +	-@test -s extras.lst && PATH="`pwd`:${PATH}" PERL5LIB="`pwd`/lib" $(LDLIBPTH) ./perl -Ilib -MCPAN -e '@ARGV&&install(@ARGV)' `cat extras.lst`
   
   .PHONY: install install-strip install-all install-verbose install-silent \
   	no-install install.perl install.man install.html
  @@ -778,21 +783,24 @@
   	$(LDLIBPTH) ./miniperl -Ilib Porting/makemeta
   
   install-strip:
  -	$(MAKE) STRIPFLAGS=-s install
  +	$(MAKE) STRIPFLAGS=-s install DESTDIR="$(DESTDIR)"
   
   install install-all:
  -	$(MAKE) install.perl install.man STRIPFLAGS=$(STRIPFLAGS)
  +	$(MAKE) install.perl install.man STRIPFLAGS=$(STRIPFLAGS) DESTDIR="$(DESTDIR)"
   
   install-verbose:
  -	$(MAKE) install.perl install.man STRIPFLAGS=$(STRIPFLAGS) INSTALLFLAGS=-V
  +	$(MAKE) install.perl install.man STRIPFLAGS=$(STRIPFLAGS) INSTALLFLAGS=-V DESTDIR="$(DESTDIR)"
   
   install-silent:
  -	$(MAKE) install.perl install.man STRIPFLAGS=$(STRIPFLAGS) INSTALLFLAGS=-S
  +	$(MAKE) install.perl install.man STRIPFLAGS=$(STRIPFLAGS) INSTALLFLAGS=-S DESTDIR="$(DESTDIR)"
   
   no-install:
  -	$(MAKE) install.perl install.man STRIPFLAGS=$(STRIPFLAGS) INSTALLFLAGS=-n
  +	$(MAKE) install.perl install.man STRIPFLAGS=$(STRIPFLAGS) INSTALLFLAGS=-n DESTDIR="$(DESTDIR)"
   
  -install.perl:	all installperl
  +# Set this to an empty string to avoid an attempt of rebuild before install
  +INSTALL_DEPENDENCE = all
  +
  +install.perl:	$(INSTALL_DEPENDENCE) installperl
   	if [ -n "$(COMPILE)" ]; \
   	then \
   		cd utils; $(MAKE) compile; \
  @@ -821,28 +829,18 @@
   
   
   # I now supply perly.c with the kits, so the following section is
  -# used only if you force byacc to run by saying
  -# 	make run_byacc
  -# Since we patch up the byacc output, the perly.fixer script needs
  -# to run with precisely the same version of byacc as I use.  You
  -# normally shouldn't remake perly.[ch].
  -
  -.PHONY: check_byacc run_byacc
  -
  -check_byacc:
  -	@$(BYACC) -V 2>&1 | grep 'version 1\.8\.2'
  -
  -run_byacc:	FORCE check_byacc
  -	$(BYACC) -d perly.y
  -	-chmod 664 perly.c perly.h
  -	sh $(shellflags) ./perly.fixer y.tab.c perly.c
  -	sed -e 's/fprintf *( *stderr *,/PerlIO_printf(Perl_debug_log,/g' \
  -	    -e 's/y\.tab/perly/g' perly.c >perly.tmp && mv perly.tmp perly.c
  -	sed -e '/^extern YYSTYPE yy/D' y.tab.h >yh.tmp && mv yh.tmp y.tab.h
  -	cmp -s y.tab.h perly.h && rm -f y.tab.h || mv y.tab.h perly.h
  -	perl -i.old perlyline.pl perly.c
  -	chmod 664 vms/perly_c.vms vms/perly_h.vms
  -	perl vms/vms_yfix.pl perly.c perly.h vms/perly_c.vms vms/perly_h.vms
  +# used only if you force bison to run by saying
  +# 	make regen_perly
  +# You normally shouldn't remake perly.[ch].
  +
  +.PHONY: regen_perly
  +
  +run_byacc:
  +	@echo "run_byacc is obsolete; try 'make regen_perly' instead"
  +
  +# this outputs perly.act and perly.tab
  +regen_perly:
  +	perl regen_perly.pl
   
   # We don't want to regenerate perly.c and perly.h, but they might
   # appear out-of-date after a patch is applied or a new distribution is
  @@ -853,11 +851,6 @@
   perly.h: perly.y
   	-@sh -c true
   
  -PERLYVMS = vms/perly_c.vms vms/perly_h.vms
  -
  -$(PERLYVMS):	perly.c perly.h vms/vms_yfix.pl
  -	perl vms/vms_yfix.pl perly.c perly.h vms/perly_c.vms vms/perly_h.vms
  -
   # No compat3.sym here since and including the 5.004_50.
   # No interp.sym since 5.005_03.
   SYM  = global.sym globvar.sym perlio.sym pp.sym
  @@ -899,7 +892,7 @@
   regen_pods:	FORCE
   	-cd pod; $(LDLIBPTH) $(MAKE) regen_pods
   
  -regen_all: $(PERLYVMS) regen regen_pods
  +regen_all: regen regen_pods
   
   .PHONY:	manisort manicheck
   
  @@ -1055,7 +1048,7 @@
   	utest ucheck test.utf8 check.utf8 test.torture torturetest \
   	test.third check.third utest.third ucheck.third test_notty.third \
   	test.deparse test_notty.deparse test_harness test_harness_notty \
  -	test.bytecompile minitest coretest
  +	test.bytecompile minitest coretest test.taintwarn
   
   # Cannot delegate rebuilding of t/perl to make
   # to allow interlaced test and minitest
  @@ -1155,6 +1148,11 @@
   test_notty.deparse:	test_prep
   	PERL=./perl TEST_ARGS=-deparse $(MAKE) _test_notty
   
  +# Targets to run the test suite with -t
  +
  +test.taintwarn:	test_prep
  +	PERL=./perl TEST_ARGS=-taintwarn $(MAKE) _test
  +
   # Can't depend on lib/Config.pm because that might be where miniperl
   # is crashing.
   minitest: miniperl$(EXE_EXT) lib/re.pm
  @@ -1165,7 +1163,7 @@
   	@echo "to build lib/Config.pm or lib/lib.pm."
   	@echo " "
   	- cd t && (rm -f perl$(EXE_EXT); $(LNS) ../miniperl$(EXE_EXT) perl$(EXE_EXT)) \
  -		&& $(LDLIBPTH) ./perl TEST base/*.t comp/*.t cmd/*.t run/*.t io/*.t op/*.t uni/*.t </dev/tty
  +		&& $(LDLIBPTH) ./perl TEST -minitest base/*.t comp/*.t cmd/*.t run/*.t io/*.t op/*.t uni/*.t </dev/tty
   
   # Test via harness
   
  @@ -1269,44 +1267,6 @@
       echo "This is an EBCDIC system, checking if any parser files need regenerating." >&2
   case "$osname" in
   os390|posix-bc)
  -    rm -f y.tab.c y.tab.h
  -    # yacc must be a reentrant ("pure") Bison in BS2000 Posix!
  -    yacc -d perly.y >/dev/null 2>&1
  -    if cmp -s y.tab.c perly.c; then
  -        rm -f y.tab.c
  -    else
  -        echo "perly.y -> perly.c" >&2
  -        mv -f y.tab.c perly.c
  -        chmod u+w perly.c
  -        sed -e '/^#include "perl\.h"/a\
  -\
  -#define yydebug    PL_yydebug\
  -#define yynerrs    PL_yynerrs\
  -#define yyerrflag  PL_yyerrflag\
  -#define yychar     PL_yychar\
  -#define yyval      PL_yyval\
  -#define yylval     PL_yylval'				\
  -            -e '/YYSTYPE *yyval;/D'			\
  -            -e '/YYSTYPE *yylval;/D'			\
  -            -e '/int  yychar,/,/yynerrs;/D'		\
  -            -e 's/int yydebug = 0;/yydebug = 0;/'	\
  -            -e 's/[^_]realloc(/PerlMem_realloc(/g'	\
  -            -e 's/fprintf *( *stderr *,/PerlIO_printf(Perl_debug_log,/g' \
  -            -e 's/y\.tab/perly/g' perly.c >perly.tmp && mv perly.tmp perly.c
  -        xxx="$xxx perly.c"
  -    fi
  -    case "$osname:$usethreads" in
  -    os390:define)
  -	sed -e 's@^extern int yychar, yyerrflag;@/* extern int yychar, yyerrflag; */@' perly.c > perly.tmp && mv perly.tmp perly.c
  -	;;
  -    esac
  -    if cmp -s y.tab.h perly.h; then
  -        rm -f y.tab.h
  -    else
  -        echo "perly.y -> perly.h" >&2
  -        mv -f y.tab.h perly.h
  -        xxx="$xxx perly.h"
  -    fi
       if cd x2p
       then
           rm -f y.tab.c y.tab.h
  
  
  
  1.2       +5 -32     ponie/perl/Porting/Glossary
  
  Index: Glossary
  ===================================================================
  RCS file: /cvs/public/ponie/perl/Porting/Glossary,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -w -r1.1 -r1.2
  --- Glossary	9 Sep 2003 11:59:50 -0000	1.1
  +++ Glossary	28 Apr 2004 11:44:12 -0000	1.2
  @@ -3350,6 +3350,11 @@
   	This variable is defined but not used by Configure.
   	The value is a plain '' and is not useful.
   
  +link (XXX):
  +	This variable holds the name of a command used to link object files
  +	into an executable. On Unix systems this is usually the C compiler
  +	($cc)
  +
   lint (Loc.U):
   	This variable is defined but not used by Configure.
   	The value is a plain '' and is not useful.
  @@ -3801,21 +3806,6 @@
   	Its value is prepend to libpth. This variable takes care of special
   	machines, like the mips.  Usually, it should be empty.
   
  -pm_apiversion (xs_apiversion.U):
  -	This variable contains the version of the oldest perl
  -	compatible with the present perl.  (That is, pure perl modules
  -	written for $pm_apiversion will still work for the current
  -	version).  perl.c:incpush() and lib/lib.pm will automatically
  -	search in $sitelib for older directories across major versions
  -	back to pm_apiversion.  This is only useful if you have a perl
  -	library directory tree structured like the default one.  The
  -	versioned site_perl library was introduced in 5.005, so that's
  -	the default setting for this variable.  It's hard to imagine
  -	it changing before Perl6.  It is included here for symmetry
  -	with xs_apiveprsion -- the searching algorithms will
  -	(presumably) be similar.
  -	See the INSTALL file for how this works.
  -
   pmake (Loc.U):
   	This variable is defined but not used by Configure.
   	The value is a plain '' and is not useful.
  @@ -4877,23 +4867,6 @@
   	This variable holds extra path (space-separated) used to find
   	libraries on this platform, for example CPU-specific libraries
   	(on multi-CPU platforms) may be listed here.
  -
  -xs_apiversion (xs_apiversion.U):
  -	This variable contains the version of the oldest perl binary
  -	compatible with the present perl.  perl.c:incpush() and
  -	lib/lib.pm will automatically search in $sitearch for older
  -	directories across major versions back to xs_apiversion.
  -	This is only useful if you have a perl library directory tree
  -	structured like the default one.
  -	See INSTALL for how this works.
  -	The versioned site_perl directory was introduced in 5.005,
  -	so that is the lowest possible value.
  -	Since this can depend on compile time options
  -	it is set by Configure.  Other non-default sources
  -	of potential incompatibility, such as multiplicity, threads,
  -	debugging, 64bits, sfio, etc., are not checked for currently,
  -	though in principle we could go snooping around in old
  -	Config.pm files.
   
   yacc (yacc.U):
   	This variable holds the name of the compiler compiler we