Index: Makefile
===================================================================
RCS file: /cvsroot/pkgsrc/lang/perl5/Makefile,v
retrieving revision 1.200
diff -u -r1.200 Makefile
--- Makefile	23 Apr 2013 12:22:35 -0000	1.200
+++ Makefile	16 May 2013 17:20:41 -0000
@@ -43,8 +43,18 @@
 .include "../../mk/compiler.mk"
 
 HAS_CONFIGURE=		yes
+.if !empty(USE_CROSS_COMPILE:M[yY][eE][sS])
+CONFIGURE_ENV+=		PATH=${TOOLDIR}/i486--netbsdelf/bin:$PATH
+CONFIGURE_SCRIPT=	./configure
+CONFIGURE_ARGS+=	--target=i486--netbsdelf # XXX hard coded
+USE_TOOLS+=		gmake
+post-patch:
+	chmod u+x ${WRKSRC}/configure ${WRKSRC}/cnf/*.sh ${WRKSRC}/cnf/conf* \
+		${WRKSRC}/Makefile.config.SH ${WRKSRC}/miniperl_top
+.else
 CONFIGURE_SCRIPT=	./Configure
 CONFIGURE_ARGS+=	-sde
+.endif
 MAKE_ENV+=		LC_ALL="C"
 
 TEST_TARGET=		test
Index: distinfo
===================================================================
RCS file: /cvsroot/pkgsrc/lang/perl5/distinfo,v
retrieving revision 1.98
diff -u -r1.98 distinfo
--- distinfo	23 Apr 2013 12:22:35 -0000	1.98
+++ distinfo	16 May 2013 17:20:41 -0000
@@ -14,6 +14,7 @@
 SHA1 (patch-cn) = d1877383e213a414562b5bb4c1e8aa785926fab7
 SHA1 (patch-cp) = 0b22d334df24d128142855464bf6dd61d4d82975
 SHA1 (patch-cpan_Sys-Syslog_Syslog.xs) = 4413010d0b55a0ae636bca8ff3ace2ebc99e90ba
+SHA1 (patch-cross) = ef7b2484346ccb059670b4719605e9677f3e3969
 SHA1 (patch-dist_Locale-Maketext_lib_Locale_Maketext.pm) = d44647f32d356030c8c2cd6346559f613a7fe459
 SHA1 (patch-hints_cygwin.sh) = 1b21d927d6b7379754c4cd64a2b05d3632c35470
 SHA1 (patch-hints_netbsd.sh) = 8a0656a72e81461f461757712b7fc27ad8928028
--- /dev/null	2013-05-14 16:51:12.000000000 -0700
+++ patches/patch-cross	2013-05-14 16:38:07.000000000 -0700
@@ -0,0 +1,9465 @@
+$NetBSD$
+
+patches to cross-build perl
+
+diff --exclude CVS -r -u -N perl-5.16.3-extract/Makefile perl-5.16.3/Makefile
+--- Makefile	1969-12-31 16:00:00.000000000 -0800
++++ Makefile	2013-05-16 04:57:11.000000000 -0700
+@@ -0,0 +1,405 @@
++default: all
++
++include Makefile.config
++
++CONFIGPM_FROM_CONFIG_SH = lib/Config.pm lib/Config_heavy.pl
++CONFIGPM = $(CONFIGPM_FROM_CONFIG_SH) lib/Config_git.pl
++CONFIGPOD = lib/Config.pod
++XCONFIGPM = xlib/Config.pm xlib/Config_heavy.pl
++STATIC = static
++# Note: MakeMaker will look for xsubpp only in specific locations
++# This is one of them; but dist/ExtUtils-ParseXS isn't.
++XSUBPP = lib/ExtUtils/xsubpp
++# For autodoc.pl below
++MANIFEST_CH = $(shell sed -e 's/\s.*//' MANIFEST | grep '\.[ch]$$')
++
++POD1 = $(wildcard pod/*.pod)
++MAN1 = $(patsubst pod/%.pod,man/man1/%$(man1ext),$(POD1))
++
++obj += $(madlyobj) $(mallocobj) gv$o toke$o perly$o pad$o regcomp$o dump$o util$o mg$o reentr$o mro$o
++obj += hv$o av$o run$o pp_hot$o sv$o pp$o scope$o pp_ctl$o pp_sys$o
++obj += doop$o doio$o regexec$o utf8$o taint$o deb$o universal$o globals$o perlio$o perlapi$o numeric$o
++obj += mathoms$o locale$o pp_pack$o pp_sort$o keywords$o
++
++static_tgt = $(patsubst %,%/pm_to_blib,$(static_ext))
++dynamic_tgt = $(patsubst %,%/pm_to_blib,$(dynamic_ext))
++nonxs_tgt = $(patsubst %,%/pm_to_blib,$(nonxs_ext))
++disabled_dynamic_tgt = $(patsubst %,%/pm_to_blib,$(disabled_dynamic_ext))
++disabled_nonxs_tgt = $(patsubst %,%/pm_to_blib,$(disabled_nonxs_ext))
++# perl module names for static mods
++static_pmn = $(shell echo $(static_ext) | sed -e 's!\(cpan\|ext\|dist\)/!!g' -e 's/-/::/g')
++
++dynaloader_o = $(patsubst %,%$o,$(dynaloader))
++
++ext = $(nonxs_ext) $(dynamic_ext) $(static_ext)
++tgt = $(nonxs_tgt) $(dynamic_tgt) $(static_tgt)
++disabled_ext = $(disabled_nonxs_ext) $(disabled_dynamic_ext)
++
++ext_makefiles = $(patsubst %,%/Makefile,$(ext))
++disabled_ext_makefiles = $(pathsubst %,%/Makefile,$(disabled_ext))
++
++# ---[ perl-cross patches ]-----------------------------------------------------
++CROSSPATCHED = $(patsubst cnf/diffs/%.patch,%,$(shell find cnf/diffs -name '*.patch'))
++
++# note: it's ok to make this target manually, but generally the patches should be
++# applied automatically without calling it via direct dependencies on the files
++# in $(CROSSPATCHED)
++crosspatch: $(patsubst %,cnf/diffs/%.patched,$(CROSSPATCHED))
++
++$(CROSSPATCHED): %: | cnf/diffs/%.patched
++
++cnf/diffs/%.patched: cnf/diffs/%.patch
++	test -f cnf/diffs/$*.orig && cp cnf/diffs/$*.orig $* || cp $* cnf/diffs/$*.orig
++	patch -p0 $* cnf/diffs/$*.patch
++	touch $@
++
++# ---[ common ]-----------------------------------------------------------------
++
++# Do NOT delete any intermediate files
++# (mostly Makefile.PLs, but others can be annoying too)
++.SECONDARY:
++
++# Force early building of miniperl -- not really necessary, but makes
++# build process more logical (no reason to even try CC if HOSTCC fails)
++all: crosspatch miniperl$X dynaloader perl$x nonxs_ext utilities extensions translators pods
++
++config.h: config.sh config_h.SH
++	CONFIG_H=$@ CONFIG_SH=$< ./config_h.SH
++
++xconfig.h: xconfig.sh config_h.SH
++	CONFIG_H=$@ CONFIG_SH=$< ./config_h.SH
++
++config-pm: $(CONFIGPM)
++
++xconfig-pm: $(XCONFIGPM)
++
++$(XCONFIGPM): tconfig.sh configpm | xlib miniperl$X cnf/diffs/configpm.patched
++	./miniperl_top configpm --config-sh=tconfig.sh --config-pm=xlib/Config.pm --config-pod=xlib/Config.pod
++
++xlib:
++	mkdir -p $@
++
++# prevent the following rule from overwriting Makefile
++# by running Makefile.SH (part of original distribution)
++Makefile:
++	touch $@
++
++%: %.SH config.sh
++	./$*.SH
++
++# ---[ host/miniperl ]----------------------------------------------------------
++
++miniperl$X: miniperlmain$O $(obj:$o=$O) opmini$O perlmini$O
++	$(HOSTCC) $(HOSTLDFLAGS) -o $@ $(filter %$O,$^) $(HOSTLIBS)
++
++miniperlmain$O: miniperlmain.c patchlevel.h
++
++generate_uudmap$X: generate_uudmap.c
++	$(HOSTCC) $(HOSTCFLAGS) -o $@ $^
++
++ifneq ($O,$o)
++%$O: %.c xconfig.h
++	$(HOSTCC) $(HOSTCFLAGS) -c -o $@ $<
++endif
++
++globals$O: uudmap.h bitcount.h
++
++uudmap.h bitcount.h mg_data.h: generate_uudmap$X
++	./generate_uudmap uudmap.h bitcount.h mg_data.h
++
++opmini.c: op.c
++	cp -f $^ $@
++
++opmini$O: opmini.c
++	$(HOSTCC) $(HOSTCFLAGS) -DPERL_EXTERNAL_GLOB -c -o $@ $<
++
++perlmini.c: perl.c
++	cp -f $^ $@
++
++perlmini$O: perlmini.c
++	$(HOSTCC) $(HOSTCFLAGS) -DPERL_IS_MINIPERL -c -o $@ $<
++	
++lib/ExtUtils/Miniperl.pm: miniperlmain.c minimod.pl $(CONFIGPM) | miniperl$X
++	./miniperl_top minimod.pl > lib/ExtUtils/Miniperl.pm
++
++# 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
++# made.
++perly.c: perly.y
++	-@sh -c true
++
++perly.h: perly.y
++	-@sh -c true
++
++# this outputs perly.h, perly.act and perly.tab
++regen_perly:
++	perl regen_perly.pl
++
++# ---[ site/perl ]--------------------------------------------------------------
++
++perl$x: perlmain$o $(LIBPERL) $(static_tgt) static.list ext.libs
++	$(eval extlibs=$(shell cat ext.libs))
++	$(eval statars=$(shell cat static.list))
++	$(CC) $(LDFLAGS) -o $@ -Wl,-E $(filter %$o,$^) $(LIBPERL_LINK) $(statars) $(LIBS) $(extlibs)
++
++%$o: %.c config.h
++	$(CC) $(CFLAGS) -c -o $@ $<
++
++globals.o: uudmap.h
++
++perlmain.c: lib/ExtUtils/Miniperl.pm | miniperl$X
++	./miniperl_top -MExtUtils::Miniperl -e 'writemain(@ARGV)' $(dynaloader) $(static_pmn) > $@
++
++ext.libs: Makefile.config | $(static_tgt) miniperl$X
++	./miniperl_top extlibs $(static_ext) > $@
++
++static.list: Makefile.config | $(static_tgt) miniperl$X
++	./miniperl_top statars $(static_ext) > $@
++
++# ---[ site/library ]-----------------------------------------------------------
++
++libperl$a: op$o perl$o $(obj) $(dynaloader_o)
++	$(AR) cru $@ $(filter %$o,$^)
++	$(RANLIB) $@
++
++libperl$l: op$o perl$o $(obj) $(dynaloader_o) 
++	$(CC) $(LDDLFLAGS) -o $@ $(filter %$o,$^) $(LIBS)
++
++perl.o: git_version.h
++
++preplibrary: miniperl$X $(CONFIGPM) lib/re.pm
++
++configpod: $(CONFIGPOD)
++$(CONFIGPM_FROM_CONFIG_SH) $(CONFIGPOD): config.sh configpm Porting/Glossary lib/Config_git.pl | miniperl$X
++	./miniperl_top configpm
++
++# Both git_version.h and lib/Config_git.pl are built
++# by make_patchnum.pl.
++git_version.h lib/Config_git.pl: make_patchnum.pl | miniperl$X
++	./miniperl_top make_patchnum.pl
++
++lib/re.pm: ext/re/re.pm
++	cp -f ext/re/re.pm lib/re.pm
++
++# NOT used by this Makefile, replaced by miniperl_top
++# Avoid building.
++lib/buildcustomize.pl: write_buildcustomize.pl | miniperl$X
++	./miniperl$X -Ilib $< > $@
++
++# ---[ Modules ]----------------------------------------------------------------
++
++# The rules below replace make_ext script used in the original
++# perl build chain. Some host-specific functionality is lost.
++# Check miniperl_top to see how it works.
++$(nonxs_tgt) $(disabled_nonxs_tgt): %/pm_to_blib: %/Makefile
++	$(MAKE) -C $(dir $@) all PERL_CORE=1 LIBPERL=$(LIBPERL)
++
++DynaLoader$o: ext/DynaLoader/pm_to_blib
++	@if [ ! -f ext/DynaLoader/DynaLoader$o ]; then rm $<; echo "Stale pm_to_blib, please re-run make"; false; fi
++	cp ext/DynaLoader/DynaLoader$o $@
++
++ext/DynaLoader/pm_to_blib: %/pm_to_blib: %/Makefile
++	$(MAKE) -C $(dir $@) all PERL_CORE=1 LIBPERL=$(LIBPERL) LINKTYPE=static $(STATIC_LDFLAGS)
++
++ext/DynaLoader/Makefile: dist/lib/pm_to_blib
++
++$(static_tgt): %/pm_to_blib: %/Makefile $(nonxs_tgt)
++	$(MAKE) -C $(dir $@) all PERL_CORE=1 LIBPERL=$(LIBPERL) LINKTYPE=static $(STATIC_LDFLAGS)
++
++$(dynamic_tgt) $(disabled_dynamic_tgt): %/pm_to_blib: %/Makefile
++	$(MAKE) -C $(dir $@) all PERL_CORE=1 LIBPERL=$(LIBPERL) LINKTYPE=dynamic
++
++%/Makefile: %/Makefile.PL preplibrary cflags | $(XSUBPP) miniperl$X
++	$(eval top=$(shell echo $(dir $@) | sed -e 's![^/]\+!..!g'))
++	cd $(dir $@) && $(top)miniperl_top -I$(top)lib Makefile.PL \
++	 INSTALLDIRS=perl INSTALLMAN1DIR=none INSTALLMAN3DIR=none \
++	 PERL_CORE=1 LIBPERL_A=$(LIBPERL) PERL_CORE=1 PERL="$(top)miniperl_top"
++
++# Allow building modules by typing "make cpan/Module-Name"
++$(static_ext) $(dynamic_ext) $(nonxs_ext) $(disabled_dynamic_ext) $(disabled_nonxs_ext): %: %/pm_to_blib
++
++nonxs_ext: $(nonxs_tgt)
++dynamic_ext: $(dynamic_tgt)
++static_ext: $(static_tgt)
++extensions: cflags $(dynamic_tgt) $(static_tgt) $(nonxs_tgt)
++modules: extensions
++
++# Some things needed to make modules
++%/Makefile.PL: | miniperl$X cnf/diffs/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Liblist/Kid.pm.patched
++	./miniperl_top make_ext_Makefile.pl $@
++
++cflags: cflags.SH
++	sh $<
++
++makeppport: $(CONFIGPM) | miniperl$X
++	./miniper_top mkppport
++
++makefiles: $(ext:pm_to_blib=Makefile)
++
++dynaloader: $(dynaloader_o)
++
++cpan/Devel-PPPort/PPPort.pm: | miniperl$X
++	cd cpan/Devel-PPPort && ../../miniperl -I../../lib PPPort_pm.PL
++
++cpan/Devel-PPPort/ppport.h: cpan/Devel-PPPort/PPPort.pm | miniperl$X
++	cd cpan/Devel-PPPort && ../../miniperl -I../../lib ppport_h.PL
++
++UNICORE = lib/unicore
++UNICOPY = cpan/Unicode-Normalize/unicore
++
++cpan/Unicode-Normalize/Makefile: cpan/Unicode-Normalize/unicore/CombiningClass.pl
++
++# mktables does not touch the files unless they need to be rebuilt,
++# which confuses make.
++$(UNICORE)/%.pl: uni.data
++	touch $@
++$(UNICOPY)/%.pl: $(UNICORE)/%.pl | $(UNICOPY)
++	cp -a $< $@
++$(UNICOPY):
++	mkdir -p $@
++
++# The following rules ensure that modules listed in mkppport.lst get
++# their ppport.h installed
++mkppport_lst = $(shell cat mkppport.lst | grep '^[a-z]')
++
++$(patsubst %,%/pm_to_blib,$(mkppport_lst)): %/pm_to_blib: %/ppport.h
++# Having %/ppport.h here isn't a very good idea since the initial ppport.h matches
++# the pattern too
++$(patsubst %,%/ppport.h,$(mkppport_lst)): cpan/Devel-PPPort/ppport.h
++	cp -f $< $@
++
++lib/ExtUtils/xsubpp: dist/ExtUtils-ParseXS/lib/ExtUtils/xsubpp
++	cp -f $< $@
++
++# No ExtUtils dependencies here because that's where they come from
++cpan/ExtUtils-ParseXS/Makefile cpan/ExtUtils-Constant/Makefile: \
++		%/Makefile: %/Makefile.PL preplibrary cflags | miniperl$X miniperl_top
++	$(eval top=$(shell echo $(dir $@) | sed -e 's![^/]\+!..!g'))
++	cd $(dir $@) && $(top)miniperl_top Makefile.PL PERL_CORE=1 PERL=$(top)miniperl_top
++
++cpan/List-Util/pm_to_blib: dynaloader
++
++ext/Pod-Functions/pm_to_blib: cpan/Pod-Simple/pm_to_blib cpan/Pod-Escapes/pm_to_blib
++
++cpan/podlators/pm_to_blib: cnf/diffs/cpan/podlators/lib/Pod/Man.pm.patched
++
++uni.data: $(CONFIGPM) lib/unicore/mktables | miniperl$X
++	./miniperl_top lib/unicore/mktables -w -C lib/unicore -P pod -maketest -makelist -p
++
++unidatafiles $(unidatafiles) pod/perluniprops.pod: uni.data
++
++# ---[ modules cleanup & rebuilding ] ------------------------------------------
++
++modules-reset:
++	$(if $(nonxs_ext),            rm -f $(patsubst %,%/pm_to_blib,$(nonxs_ext)))
++	$(if $(static_ext),           rm -f $(patsubst %,%/pm_to_blib,$(static_ext)))
++	$(if $(dynamic_ext),          rm -f $(patsubst %,%/pm_to_blib,$(dynamic_ext)))
++	$(if $(disabled_nonxs_ext),   rm -f $(patsubst %,%/pm_to_blib,$(disabled_nonxs_ext)))
++	$(if $(disabled_dynamic_ext), rm -f $(patsubst %,%/pm_to_blib,$(disabled_dynamic_ext)))
++
++modules-makefiles: $(ext_makefiles)
++
++modules-clean: clean-modules
++
++# ---[ Misc ]-------------------------------------------------------------------
++
++utilities: miniperl$X $(CONFIGPM)
++	$(MAKE) -C utils all
++
++translators: miniperl$X $(CONFIGPM) dist/Cwd/pm_to_blib
++	$(MAKE) -C x2p all
++
++# ---[ modules lists ]----------------------------------------------------------
++modules.done: modules.list uni.data
++	echo -n > modules.done
++	-cat $< | (while read i; do $(MAKE) -C $$i && echo $$i >> modules.done; done)
++
++modules.pm.list: modules.done
++	-cat $< | (while read i; do find $$i -name '*.pm'; done) > $@
++
++modules.list: $(CONFIGPM) $(MODLISTS) cflags
++	./modconfig_all
++
++# ---[ pods ]-------------------------------------------------------------------
++perltoc_pod_prereqs = extra.pods pod/perl$(perlversion)delta.pod pod/perlapi.pod pod/perlintern.pod pod/perlmodlib.pod pod/perluniprops.pod
++
++pods: pod/perltoc.pod
++
++pod/perltoc.pod: $(perltoc_pod_prereqs) pod/buildtoc | miniperl$X
++	./miniperl_top -f pod/buildtoc -q
++
++pod/perlapi.pod: pod/perlintern.pod
++
++pod/perlintern.pod: autodoc.pl embed.fnc | miniperl$X 
++	./miniperl_top autodoc.pl
++
++pod/perlmodlib.pod: pod/perlmodlib.PL MANIFEST | miniperl$X
++	./miniperl_top pod/perlmodlib.PL -q
++
++pod/perl$(perlversion)delta.pod: pod/perldelta.pod
++	ln -sf perldelta.pod pod/perl$(perlversion)delta.pod
++
++extra.pods: | miniperl$X
++	-@test ! -f extra.pods || rm -f `cat extra.pods`
++	-@rm -f extra.pods
++	-@for x in `grep -l '^=[a-z]' README.* | grep -v README.vms` ; do \
++	    nx=`echo $$x | sed -e "s/README\.//"`; \
++	    ln -sf ../$$x "pod/perl"$$nx".pod" ; \
++	    echo "pod/perl"$$nx".pod" >> extra.pods ; \
++	done
++
++# ---[ test ]-------------------------------------------------------------------
++
++.PHONY: test
++test:
++	cd t/ && ln -sf ../perl . && LD_LIBRARY_PATH=$(PWD) ./perl harness
++
++# ---[ install ]----------------------------------------------------------------
++.PHONY: install install.perl install.pod
++
++META.yml: Porting/makemeta Porting/Maintainers.pl Porting/Maintainers.pm miniperl$X
++	./miniperl_top $<
++
++install: install.perl install.man
++
++install.perl: installperl | miniperl$X cnf/diffs/installperl.patched
++	./miniperl_top installperl --destdir=$(DESTDIR) $(INSTALLFLAGS) $(STRIPFLAGS)
++	-@test ! -s extras.lst || $(MAKE) extras.install
++
++install.man: installman pod/perltoc.pod | miniperl$X cnf/diffs/installman.patched
++	./miniperl_top installman --destdir=$(DESTDIR) $(INSTALLFLAGS)
++
++ifdef target_name
++install.miniperl: miniperl$X xlib/Config.pm xlib/Config_heavy.pl
++	install -D -m 0755 miniperl $(hostbin)/$(target_name)-miniperl$X
++	test -n "$(target_arch)" -a "$(target_arch)" != "$(target_name)" &&\
++		ln -s $(target_name)-miniperl$X $(hostbin)/$(target_arch)-miniperl$X || true
++	install -D -m 0644 xlib/Config.pm $(hostprefix)/$(target_arch)/lib/perl/Config.pm
++	install -D -m 0644 xlib/Config_heavy.pl $(hostprefix)/$(target_arch)/lib/perl/Config_heavy.pl
++endif
++
++# ---[ clean ]------------------------------------------------------------------
++.PHONY: clean clean-obj clean-generated-files clean-subdirs clean-modules
++clean: clean-obj clean-generated-files clean-subdirs clean-modules
++
++clean-obj:
++	-test -n "$o" && rm -f *$o
++	-test -n "$O" && rm -f *$O
++
++clean-subdirs:
++	@for i in utils x2p; do $(MAKE) -C $$i clean; done
++
++# assuming modules w/o Makefiles were never built and need no cleaning
++clean-modules:
++	@for i in $(ext) $(disabled_ext); do test -f $$i/Makefile && $(MAKE) $$i/Makefile && $(MAKE) -C $$i clean || true; done
++
++clean-generated-files:
++	-rm -f uudmap.h opmini.c generate_uudmap$X bitcount.h $(CONFIGPM)
++	-rm -f git_version.h lib/re.pm lib/Config_git.pl
++	-rm -f perlmini.c perlmain.c
++	-rm -f config.h xconfig.h
++	-rm -f $(UNICOPY)/*
++	-rm -f pod/perlmodlib.pod
++	-rm -f ext.libs static.list
++	-rm -f $(patsubst %,%/ppport.h,$(mkppport_lst))
++	-rm -f cpan/Devel-PPPort/ppport.h cpan/Devel-PPPort/PPPort.pm
+diff --exclude CVS -r -u -N perl-5.16.3-extract/Makefile.config.SH perl-5.16.3/Makefile.config.SH
+--- Makefile.config.SH	1969-12-31 16:00:00.000000000 -0800
++++ Makefile.config.SH	2013-05-16 07:51:23.000000000 -0700
+@@ -0,0 +1,172 @@
++#!/bin/sh
++
++if [ ! -f config.sh ]; then
++	echo "config.sh not found" >&2
++	exit -1
++fi
++
++disabledmods=''
++
++. ./config.sh
++echo -n > Makefile.config
++if [ "$usecrosscompile" = 'define' ]; then
++	unset cc
++	unset ccflags
++	unset ar
++	unset ranlib
++	unset libs
++	if [ ! -f 'xconfig.sh' ]; then
++		echo 'xconfig.sh not found' >&2
++		exit -1
++	fi
++	
++	. ./xconfig.sh
++	hostcc="$cc"
++	hostccflags="$ccflags"
++	hostccdefines="$ccdefines"
++	hostldflags="$ldflags"
++	hostar="$ar"
++	hostranlib="$ranlib"
++	hostlibs="$perllibs"
++	host_o="$_o"
++	host_exe="$_exe"
++	hostbin="$bin"
++	hostprefix="$prefix"
++	# it's "from host", not host-arch
++	target_name="$target_name"
++	target_arch="$target_arch"
++	sysroot="$sysroot"
++
++	. ./config.sh
++fi
++
++ifprefixed () {
++	val=`echo "$2" | sed -e "s/^$1//"`
++	if [ "$1$val" = "$2" ]; then
++		echo "\$(CROSS)$val"
++	else
++		echo "$2"
++	fi
++}
++
++perlversion="$PERL_REVISION$PERL_VERSION$PERL_SUBVERSION"
++if [ "$usedl" = 'undef' ]; then
++	dynaloader=''
++else
++	dynaloader="DynaLoader"
++fi
++
++cflags="-DPERL_CORE $ccflags $ccdefines $optimize"
++test "$useshrplib" = 'define' && cflags="$cflags $cccdlflags"
++
++if [ "$usecrosscompile" = "define" ]; then
++test -n "$toolsprefix" && cross="$toolsprefix" || cross="$target_name-"
++cat >> Makefile.config <<END
++CROSS = $cross
++CC = `ifprefixed "$cross" "$cc"`
++AR = `ifprefixed "$cross" "$ar"`
++RANLIB = `ifprefixed "$cross" "$ranlib"`
++CFLAGS = $cflags
++LDFLAGS = $ldflags
++LDDLFLAGS = $lddlflags
++LIBS = $perllibs
++
++HOSTCC = $hostcc
++HOSTCFLAGS = -DPERL_CORE -DUSE_CROSS_COMPILE $hostccflags $hostccdefines
++HOSTCFMINI = \$(HOSTCFLAGS) -DPERL_EXTERNAL_GLOB
++HOSTLDFLAGS = $hostldflags
++HOSTLIBS = $hostlibs
++hostbin = \$(DESTDIR)$hostbin
++hostarch = \$(DESTDIR)$hostarch
++hostprefix = \$(DESTDIR)$hostprefix
++target_name = $target_name
++target_arch = $target_arch
++sysroot = $sysroot
++
++# suffixes for static library, object and executable files
++# lowercase for target platform or native build, uppercase
++# for build platform.
++a = $_a
++o = $_o
++x =
++l = .so
++O = .host$host_o
++X = $host_exe
++so = $dlext
++
++extensions: xconfig-pm
++END
++else
++cat >> Makefile.config <<END
++CC = $cc
++AR = $ar
++RANLIB = $ranlib
++CFLAGS = $cflags
++LDFLAGS = $ldflags
++LDDLFLAGS = $lddlflags
++LIBS = $perllibs
++
++HOSTCC = \$(CC)
++HOSTCFLAGS = \$(CFLAGS)
++HOSTCFMINI = \$(HOSTCFLAGS) -DPERL_EXTERNAL_GLOB
++HOSTLDFLAGS = \$(LDFLAGS)
++HOSTLIBS = \$(LIBS)
++perlversion = $perlversion
++
++# suffixes for static library, object and executable files
++# lowercase for target platform or native build, uppercase
++# for build platform.
++a = $_a
++o = $_o
++x = $_exe
++l = .so
++O = $_o
++X = $_exe
++END
++fi
++
++cat >> Makefile.config <<END
++
++perlversion = $perlversion
++dynaloader = $dynaloader
++END
++
++if [ "$useshrplib" = 'define' ]; then
++cat >> Makefile.config <<END
++LIBPERL = libperl\$l
++LIBPERL_LINK = -Wl,-rpath,\$(archlib)/CORE \$(LIBPERL)
++END
++else
++cat >> Makefile.config <<END
++LIBPERL = libperl\$a
++LIBPERL_LINK = \$(LIBPERL)
++END
++fi
++
++cat >> Makefile.config <<END
++
++.SUFFIXES: .c \$o \$O
++
++LNS = $lns
++
++root = \$(DESTDIR)\$(sysroot)
++bindir = \$(root)$installbin
++scriptdir = \$(root)$installscript
++privlib = \$(root)$installprivlib
++archlib = \$(root)$installarchlib
++man1dir = \$(root)$installman1dir
++man3dir = \$(root)$installman3dir
++man1ext = $installman1ext
++man3ext = $installman3ext
++
++dynamic_ext = $dynamic_ext
++static_ext = $static_ext
++nonxs_ext = $nonxs_ext
++END
++
++if [ "$disabledmods" = 'define' ]; then
++	cat >> Makefile.config << END
++disabled_dynamic_ext=$disabled_dynamic_ext
++disabled_nonxs_ext=$disabled_nonxs_ext
++END
++fi
+--- cnf/config.guess	1969-12-31 16:00:00.000000000 -0800
++++ cnf/config.guess	2013-05-16 04:57:14.000000000 -0700
+@@ -0,0 +1,1526 @@
++#! /bin/sh
++# Attempt to guess a canonical system name.
++#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
++#   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
++#   Free Software Foundation, Inc.
++
++timestamp='2008-01-23'
++
++# This file 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 2 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, write to the Free Software
++# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
++# 02110-1301, USA.
++#
++# As a special exception to the GNU General Public License, if you
++# distribute this file as part of a program that contains a
++# configuration script generated by Autoconf, you may include it under
++# the same distribution terms that you use for the rest of that program.
++
++
++# Originally written by Per Bothner <per@bothner.com>.
++# Please send patches to <config-patches@gnu.org>.  Submit a context
++# diff and a properly formatted ChangeLog entry.
++#
++# This script attempts to guess a canonical system name similar to
++# config.sub.  If it succeeds, it prints the system name on stdout, and
++# exits with 0.  Otherwise, it exits with 1.
++#
++# The plan is that this can be called by configure scripts if you
++# don't specify an explicit build system type.
++
++me=`echo "$0" | sed -e 's,.*/,,'`
++
++usage="\
++Usage: $0 [OPTION]
++
++Output the configuration name of the system \`$me' is run on.
++
++Operation modes:
++  -h, --help         print this help, then exit
++  -t, --time-stamp   print date of last modification, then exit
++  -v, --version      print version number, then exit
++
++Report bugs and patches to <config-patches@gnu.org>."
++
++version="\
++GNU config.guess ($timestamp)
++
++Originally written by Per Bothner.
++Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
++2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
++
++This is free software; see the source for copying conditions.  There is NO
++warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
++
++help="
++Try \`$me --help' for more information."
++
++# Parse command line
++while test $# -gt 0 ; do
++  case $1 in
++    --time-stamp | --time* | -t )
++       echo "$timestamp" ; exit ;;
++    --version | -v )
++       echo "$version" ; exit ;;
++    --help | --h* | -h )
++       echo "$usage"; exit ;;
++    -- )     # Stop option processing
++       shift; break ;;
++    - )	# Use stdin as input.
++       break ;;
++    -* )
++       echo "$me: invalid option $1$help" >&2
++       exit 1 ;;
++    * )
++       break ;;
++  esac
++done
++
++if test $# != 0; then
++  echo "$me: too many arguments$help" >&2
++  exit 1
++fi
++
++trap 'exit 1' 1 2 15
++
++# CC_FOR_BUILD -- compiler used by this script. Note that the use of a
++# compiler to aid in system detection is discouraged as it requires
++# temporary files to be created and, as you can see below, it is a
++# headache to deal with in a portable fashion.
++
++# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still
++# use `HOST_CC' if defined, but it is deprecated.
++
++# Portable tmp directory creation inspired by the Autoconf team.
++
++set_cc_for_build='
++trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ;
++trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ;
++: ${TMPDIR=/tmp} ;
++ { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
++ { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } ||
++ { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } ||
++ { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ;
++dummy=$tmp/dummy ;
++tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ;
++case $CC_FOR_BUILD,$HOST_CC,$CC in
++ ,,)    echo "int x;" > $dummy.c ;
++	for c in cc gcc c89 c99 ; do
++	  if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then
++	     CC_FOR_BUILD="$c"; break ;
++	  fi ;
++	done ;
++	if test x"$CC_FOR_BUILD" = x ; then
++	  CC_FOR_BUILD=no_compiler_found ;
++	fi
++	;;
++ ,,*)   CC_FOR_BUILD=$CC ;;
++ ,*,*)  CC_FOR_BUILD=$HOST_CC ;;
++esac ; set_cc_for_build= ;'
++
++# This is needed to find uname on a Pyramid OSx when run in the BSD universe.
++# (ghazi@noc.rutgers.edu 1994-08-24)
++if (test -f /.attbin/uname) >/dev/null 2>&1 ; then
++	PATH=$PATH:/.attbin ; export PATH
++fi
++
++UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
++UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
++UNAME_SYSTEM=`(uname -s) 2>/dev/null`  || UNAME_SYSTEM=unknown
++UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
++
++# Note: order is significant - the case branches are not exclusive.
++
++case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
++    *:NetBSD:*:*)
++	# NetBSD (nbsd) targets should (where applicable) match one or
++	# more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*,
++	# *-*-netbsdecoff* and *-*-netbsd*.  For targets that recently
++	# switched to ELF, *-*-netbsd* would select the old
++	# object file format.  This provides both forward
++	# compatibility and a consistent mechanism for selecting the
++	# object file format.
++	#
++	# Note: NetBSD doesn't particularly care about the vendor
++	# portion of the name.  We always set it to "unknown".
++	sysctl="sysctl -n hw.machine_arch"
++	UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \
++	    /usr/sbin/$sysctl 2>/dev/null || echo unknown)`
++	case "${UNAME_MACHINE_ARCH}" in
++	    armeb) machine=armeb-unknown ;;
++	    arm*) machine=arm-unknown ;;
++	    sh3el) machine=shl-unknown ;;
++	    sh3eb) machine=sh-unknown ;;
++	    sh5el) machine=sh5le-unknown ;;
++	    *) machine=${UNAME_MACHINE_ARCH}-unknown ;;
++	esac
++	# The Operating System including object format, if it has switched
++	# to ELF recently, or will in the future.
++	case "${UNAME_MACHINE_ARCH}" in
++	    arm*|i386|m68k|ns32k|sh3*|sparc|vax)
++		eval $set_cc_for_build
++		if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
++			| grep __ELF__ >/dev/null
++		then
++		    # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
++		    # Return netbsd for either.  FIX?
++		    os=netbsd
++		else
++		    os=netbsdelf
++		fi
++		;;
++	    *)
++	        os=netbsd
++		;;
++	esac
++	# The OS release
++	# Debian GNU/NetBSD machines have a different userland, and
++	# thus, need a distinct triplet. However, they do not need
++	# kernel version information, so it can be replaced with a
++	# suitable tag, in the style of linux-gnu.
++	case "${UNAME_VERSION}" in
++	    Debian*)
++		release='-gnu'
++		;;
++	    *)
++		release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
++		;;
++	esac
++	# Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
++	# contains redundant information, the shorter form:
++	# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
++	echo "${machine}-${os}${release}"
++	exit ;;
++    *:OpenBSD:*:*)
++	UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`
++	echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE}
++	exit ;;
++    *:ekkoBSD:*:*)
++	echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE}
++	exit ;;
++    *:SolidBSD:*:*)
++	echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE}
++	exit ;;
++    macppc:MirBSD:*:*)
++	echo powerpc-unknown-mirbsd${UNAME_RELEASE}
++	exit ;;
++    *:MirBSD:*:*)
++	echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE}
++	exit ;;
++    alpha:OSF1:*:*)
++	case $UNAME_RELEASE in
++	*4.0)
++		UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
++		;;
++	*5.*)
++	        UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'`
++		;;
++	esac
++	# According to Compaq, /usr/sbin/psrinfo has been available on
++	# OSF/1 and Tru64 systems produced since 1995.  I hope that
++	# covers most systems running today.  This code pipes the CPU
++	# types through head -n 1, so we only detect the type of CPU 0.
++	ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^  The alpha \(.*\) processor.*$/\1/p' | head -n 1`
++	case "$ALPHA_CPU_TYPE" in
++	    "EV4 (21064)")
++		UNAME_MACHINE="alpha" ;;
++	    "EV4.5 (21064)")
++		UNAME_MACHINE="alpha" ;;
++	    "LCA4 (21066/21068)")
++		UNAME_MACHINE="alpha" ;;
++	    "EV5 (21164)")
++		UNAME_MACHINE="alphaev5" ;;
++	    "EV5.6 (21164A)")
++		UNAME_MACHINE="alphaev56" ;;
++	    "EV5.6 (21164PC)")
++		UNAME_MACHINE="alphapca56" ;;
++	    "EV5.7 (21164PC)")
++		UNAME_MACHINE="alphapca57" ;;
++	    "EV6 (21264)")
++		UNAME_MACHINE="alphaev6" ;;
++	    "EV6.7 (21264A)")
++		UNAME_MACHINE="alphaev67" ;;
++	    "EV6.8CB (21264C)")
++		UNAME_MACHINE="alphaev68" ;;
++	    "EV6.8AL (21264B)")
++		UNAME_MACHINE="alphaev68" ;;
++	    "EV6.8CX (21264D)")
++		UNAME_MACHINE="alphaev68" ;;
++	    "EV6.9A (21264/EV69A)")
++		UNAME_MACHINE="alphaev69" ;;
++	    "EV7 (21364)")
++		UNAME_MACHINE="alphaev7" ;;
++	    "EV7.9 (21364A)")
++		UNAME_MACHINE="alphaev79" ;;
++	esac
++	# A Pn.n version is a patched version.
++	# A Vn.n version is a released version.
++	# A Tn.n version is a released field test version.
++	# A Xn.n version is an unreleased experimental baselevel.
++	# 1.2 uses "1.2" for uname -r.
++	echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
++	exit ;;
++    Alpha\ *:Windows_NT*:*)
++	# How do we know it's Interix rather than the generic POSIX subsystem?
++	# Should we change UNAME_MACHINE based on the output of uname instead
++	# of the specific Alpha model?
++	echo alpha-pc-interix
++	exit ;;
++    21064:Windows_NT:50:3)
++	echo alpha-dec-winnt3.5
++	exit ;;
++    Amiga*:UNIX_System_V:4.0:*)
++	echo m68k-unknown-sysv4
++	exit ;;
++    *:[Aa]miga[Oo][Ss]:*:*)
++	echo ${UNAME_MACHINE}-unknown-amigaos
++	exit ;;
++    *:[Mm]orph[Oo][Ss]:*:*)
++	echo ${UNAME_MACHINE}-unknown-morphos
++	exit ;;
++    *:OS/390:*:*)
++	echo i370-ibm-openedition
++	exit ;;
++    *:z/VM:*:*)
++	echo s390-ibm-zvmoe
++	exit ;;
++    *:OS400:*:*)
++        echo powerpc-ibm-os400
++	exit ;;
++    arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
++	echo arm-acorn-riscix${UNAME_RELEASE}
++	exit ;;
++    arm:riscos:*:*|arm:RISCOS:*:*)
++	echo arm-unknown-riscos
++	exit ;;
++    SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
++	echo hppa1.1-hitachi-hiuxmpp
++	exit ;;
++    Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
++	# akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
++	if test "`(/bin/universe) 2>/dev/null`" = att ; then
++		echo pyramid-pyramid-sysv3
++	else
++		echo pyramid-pyramid-bsd
++	fi
++	exit ;;
++    NILE*:*:*:dcosx)
++	echo pyramid-pyramid-svr4
++	exit ;;
++    DRS?6000:unix:4.0:6*)
++	echo sparc-icl-nx6
++	exit ;;
++    DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*)
++	case `/usr/bin/uname -p` in
++	    sparc) echo sparc-icl-nx7; exit ;;
++	esac ;;
++    sun4H:SunOS:5.*:*)
++	echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
++	exit ;;
++    sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
++	echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
++	exit ;;
++    i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*)
++	echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
++	exit ;;
++    sun4*:SunOS:6*:*)
++	# According to config.sub, this is the proper way to canonicalize
++	# SunOS6.  Hard to guess exactly what SunOS6 will be like, but
++	# it's likely to be more like Solaris than SunOS4.
++	echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
++	exit ;;
++    sun4*:SunOS:*:*)
++	case "`/usr/bin/arch -k`" in
++	    Series*|S4*)
++		UNAME_RELEASE=`uname -v`
++		;;
++	esac
++	# Japanese Language versions have a version number like `4.1.3-JL'.
++	echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
++	exit ;;
++    sun3*:SunOS:*:*)
++	echo m68k-sun-sunos${UNAME_RELEASE}
++	exit ;;
++    sun*:*:4.2BSD:*)
++	UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
++	test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3
++	case "`/bin/arch`" in
++	    sun3)
++		echo m68k-sun-sunos${UNAME_RELEASE}
++		;;
++	    sun4)
++		echo sparc-sun-sunos${UNAME_RELEASE}
++		;;
++	esac
++	exit ;;
++    aushp:SunOS:*:*)
++	echo sparc-auspex-sunos${UNAME_RELEASE}
++	exit ;;
++    # The situation for MiNT is a little confusing.  The machine name
++    # can be virtually everything (everything which is not
++    # "atarist" or "atariste" at least should have a processor
++    # > m68000).  The system name ranges from "MiNT" over "FreeMiNT"
++    # to the lowercase version "mint" (or "freemint").  Finally
++    # the system name "TOS" denotes a system which is actually not
++    # MiNT.  But MiNT is downward compatible to TOS, so this should
++    # be no problem.
++    atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
++        echo m68k-atari-mint${UNAME_RELEASE}
++	exit ;;
++    atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
++	echo m68k-atari-mint${UNAME_RELEASE}
++        exit ;;
++    *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
++        echo m68k-atari-mint${UNAME_RELEASE}
++	exit ;;
++    milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
++        echo m68k-milan-mint${UNAME_RELEASE}
++        exit ;;
++    hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
++        echo m68k-hades-mint${UNAME_RELEASE}
++        exit ;;
++    *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
++        echo m68k-unknown-mint${UNAME_RELEASE}
++        exit ;;
++    m68k:machten:*:*)
++	echo m68k-apple-machten${UNAME_RELEASE}
++	exit ;;
++    powerpc:machten:*:*)
++	echo powerpc-apple-machten${UNAME_RELEASE}
++	exit ;;
++    RISC*:Mach:*:*)
++	echo mips-dec-mach_bsd4.3
++	exit ;;
++    RISC*:ULTRIX:*:*)
++	echo mips-dec-ultrix${UNAME_RELEASE}
++	exit ;;
++    VAX*:ULTRIX*:*:*)
++	echo vax-dec-ultrix${UNAME_RELEASE}
++	exit ;;
++    2020:CLIX:*:* | 2430:CLIX:*:*)
++	echo clipper-intergraph-clix${UNAME_RELEASE}
++	exit ;;
++    mips:*:*:UMIPS | mips:*:*:RISCos)
++	eval $set_cc_for_build
++	sed 's/^	//' << EOF >$dummy.c
++#ifdef __cplusplus
++#include <stdio.h>  /* for printf() prototype */
++	int main (int argc, char *argv[]) {
++#else
++	int main (argc, argv) int argc; char *argv[]; {
++#endif
++	#if defined (host_mips) && defined (MIPSEB)
++	#if defined (SYSTYPE_SYSV)
++	  printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0);
++	#endif
++	#if defined (SYSTYPE_SVR4)
++	  printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0);
++	#endif
++	#if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
++	  printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0);
++	#endif
++	#endif
++	  exit (-1);
++	}
++EOF
++	$CC_FOR_BUILD -o $dummy $dummy.c &&
++	  dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` &&
++	  SYSTEM_NAME=`$dummy $dummyarg` &&
++	    { echo "$SYSTEM_NAME"; exit; }
++	echo mips-mips-riscos${UNAME_RELEASE}
++	exit ;;
++    Motorola:PowerMAX_OS:*:*)
++	echo powerpc-motorola-powermax
++	exit ;;
++    Motorola:*:4.3:PL8-*)
++	echo powerpc-harris-powermax
++	exit ;;
++    Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*)
++	echo powerpc-harris-powermax
++	exit ;;
++    Night_Hawk:Power_UNIX:*:*)
++	echo powerpc-harris-powerunix
++	exit ;;
++    m88k:CX/UX:7*:*)
++	echo m88k-harris-cxux7
++	exit ;;
++    m88k:*:4*:R4*)
++	echo m88k-motorola-sysv4
++	exit ;;
++    m88k:*:3*:R3*)
++	echo m88k-motorola-sysv3
++	exit ;;
++    AViiON:dgux:*:*)
++        # DG/UX returns AViiON for all architectures
++        UNAME_PROCESSOR=`/usr/bin/uname -p`
++	if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]
++	then
++	    if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \
++	       [ ${TARGET_BINARY_INTERFACE}x = x ]
++	    then
++		echo m88k-dg-dgux${UNAME_RELEASE}
++	    else
++		echo m88k-dg-dguxbcs${UNAME_RELEASE}
++	    fi
++	else
++	    echo i586-dg-dgux${UNAME_RELEASE}
++	fi
++ 	exit ;;
++    M88*:DolphinOS:*:*)	# DolphinOS (SVR3)
++	echo m88k-dolphin-sysv3
++	exit ;;
++    M88*:*:R3*:*)
++	# Delta 88k system running SVR3
++	echo m88k-motorola-sysv3
++	exit ;;
++    XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
++	echo m88k-tektronix-sysv3
++	exit ;;
++    Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
++	echo m68k-tektronix-bsd
++	exit ;;
++    *:IRIX*:*:*)
++	echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
++	exit ;;
++    ????????:AIX?:[12].1:2)   # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
++	echo romp-ibm-aix     # uname -m gives an 8 hex-code CPU id
++	exit ;;               # Note that: echo "'`uname -s`'" gives 'AIX '
++    i*86:AIX:*:*)
++	echo i386-ibm-aix
++	exit ;;
++    ia64:AIX:*:*)
++	if [ -x /usr/bin/oslevel ] ; then
++		IBM_REV=`/usr/bin/oslevel`
++	else
++		IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
++	fi
++	echo ${UNAME_MACHINE}-ibm-aix${IBM_REV}
++	exit ;;
++    *:AIX:2:3)
++	if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
++		eval $set_cc_for_build
++		sed 's/^		//' << EOF >$dummy.c
++		#include <sys/systemcfg.h>
++
++		main()
++			{
++			if (!__power_pc())
++				exit(1);
++			puts("powerpc-ibm-aix3.2.5");
++			exit(0);
++			}
++EOF
++		if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy`
++		then
++			echo "$SYSTEM_NAME"
++		else
++			echo rs6000-ibm-aix3.2.5
++		fi
++	elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
++		echo rs6000-ibm-aix3.2.4
++	else
++		echo rs6000-ibm-aix3.2
++	fi
++	exit ;;
++    *:AIX:*:[456])
++	IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
++	if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
++		IBM_ARCH=rs6000
++	else
++		IBM_ARCH=powerpc
++	fi
++	if [ -x /usr/bin/oslevel ] ; then
++		IBM_REV=`/usr/bin/oslevel`
++	else
++		IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
++	fi
++	echo ${IBM_ARCH}-ibm-aix${IBM_REV}
++	exit ;;
++    *:AIX:*:*)
++	echo rs6000-ibm-aix
++	exit ;;
++    ibmrt:4.4BSD:*|romp-ibm:BSD:*)
++	echo romp-ibm-bsd4.4
++	exit ;;
++    ibmrt:*BSD:*|romp-ibm:BSD:*)            # covers RT/PC BSD and
++	echo romp-ibm-bsd${UNAME_RELEASE}   # 4.3 with uname added to
++	exit ;;                             # report: romp-ibm BSD 4.3
++    *:BOSX:*:*)
++	echo rs6000-bull-bosx
++	exit ;;
++    DPX/2?00:B.O.S.:*:*)
++	echo m68k-bull-sysv3
++	exit ;;
++    9000/[34]??:4.3bsd:1.*:*)
++	echo m68k-hp-bsd
++	exit ;;
++    hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
++	echo m68k-hp-bsd4.4
++	exit ;;
++    9000/[34678]??:HP-UX:*:*)
++	HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
++	case "${UNAME_MACHINE}" in
++	    9000/31? )            HP_ARCH=m68000 ;;
++	    9000/[34]?? )         HP_ARCH=m68k ;;
++	    9000/[678][0-9][0-9])
++		if [ -x /usr/bin/getconf ]; then
++		    sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
++                    sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
++                    case "${sc_cpu_version}" in
++                      523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
++                      528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
++                      532)                      # CPU_PA_RISC2_0
++                        case "${sc_kernel_bits}" in
++                          32) HP_ARCH="hppa2.0n" ;;
++                          64) HP_ARCH="hppa2.0w" ;;
++			  '') HP_ARCH="hppa2.0" ;;   # HP-UX 10.20
++                        esac ;;
++                    esac
++		fi
++		if [ "${HP_ARCH}" = "" ]; then
++		    eval $set_cc_for_build
++		    sed 's/^              //' << EOF >$dummy.c
++
++              #define _HPUX_SOURCE
++              #include <stdlib.h>
++              #include <unistd.h>
++
++              int main ()
++              {
++              #if defined(_SC_KERNEL_BITS)
++                  long bits = sysconf(_SC_KERNEL_BITS);
++              #endif
++                  long cpu  = sysconf (_SC_CPU_VERSION);
++
++                  switch (cpu)
++              	{
++              	case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
++              	case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
++              	case CPU_PA_RISC2_0:
++              #if defined(_SC_KERNEL_BITS)
++              	    switch (bits)
++              		{
++              		case 64: puts ("hppa2.0w"); break;
++              		case 32: puts ("hppa2.0n"); break;
++              		default: puts ("hppa2.0"); break;
++              		} break;
++              #else  /* !defined(_SC_KERNEL_BITS) */
++              	    puts ("hppa2.0"); break;
++              #endif
++              	default: puts ("hppa1.0"); break;
++              	}
++                  exit (0);
++              }
++EOF
++		    (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
++		    test -z "$HP_ARCH" && HP_ARCH=hppa
++		fi ;;
++	esac
++	if [ ${HP_ARCH} = "hppa2.0w" ]
++	then
++	    eval $set_cc_for_build
++
++	    # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating
++	    # 32-bit code.  hppa64-hp-hpux* has the same kernel and a compiler
++	    # generating 64-bit code.  GNU and HP use different nomenclature:
++	    #
++	    # $ CC_FOR_BUILD=cc ./config.guess
++	    # => hppa2.0w-hp-hpux11.23
++	    # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess
++	    # => hppa64-hp-hpux11.23
++
++	    if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) |
++		grep __LP64__ >/dev/null
++	    then
++		HP_ARCH="hppa2.0w"
++	    else
++		HP_ARCH="hppa64"
++	    fi
++	fi
++	echo ${HP_ARCH}-hp-hpux${HPUX_REV}
++	exit ;;
++    ia64:HP-UX:*:*)
++	HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
++	echo ia64-hp-hpux${HPUX_REV}
++	exit ;;
++    3050*:HI-UX:*:*)
++	eval $set_cc_for_build
++	sed 's/^	//' << EOF >$dummy.c
++	#include <unistd.h>
++	int
++	main ()
++	{
++	  long cpu = sysconf (_SC_CPU_VERSION);
++	  /* The order matters, because CPU_IS_HP_MC68K erroneously returns
++	     true for CPU_PA_RISC1_0.  CPU_IS_PA_RISC returns correct
++	     results, however.  */
++	  if (CPU_IS_PA_RISC (cpu))
++	    {
++	      switch (cpu)
++		{
++		  case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
++		  case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
++		  case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
++		  default: puts ("hppa-hitachi-hiuxwe2"); break;
++		}
++	    }
++	  else if (CPU_IS_HP_MC68K (cpu))
++	    puts ("m68k-hitachi-hiuxwe2");
++	  else puts ("unknown-hitachi-hiuxwe2");
++	  exit (0);
++	}
++EOF
++	$CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` &&
++		{ echo "$SYSTEM_NAME"; exit; }
++	echo unknown-hitachi-hiuxwe2
++	exit ;;
++    9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
++	echo hppa1.1-hp-bsd
++	exit ;;
++    9000/8??:4.3bsd:*:*)
++	echo hppa1.0-hp-bsd
++	exit ;;
++    *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)
++	echo hppa1.0-hp-mpeix
++	exit ;;
++    hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
++	echo hppa1.1-hp-osf
++	exit ;;
++    hp8??:OSF1:*:*)
++	echo hppa1.0-hp-osf
++	exit ;;
++    i*86:OSF1:*:*)
++	if [ -x /usr/sbin/sysversion ] ; then
++	    echo ${UNAME_MACHINE}-unknown-osf1mk
++	else
++	    echo ${UNAME_MACHINE}-unknown-osf1
++	fi
++	exit ;;
++    parisc*:Lites*:*:*)
++	echo hppa1.1-hp-lites
++	exit ;;
++    C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
++	echo c1-convex-bsd
++        exit ;;
++    C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
++	if getsysinfo -f scalar_acc
++	then echo c32-convex-bsd
++	else echo c2-convex-bsd
++	fi
++        exit ;;
++    C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
++	echo c34-convex-bsd
++        exit ;;
++    C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
++	echo c38-convex-bsd
++        exit ;;
++    C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
++	echo c4-convex-bsd
++        exit ;;
++    CRAY*Y-MP:*:*:*)
++	echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
++	exit ;;
++    CRAY*[A-Z]90:*:*:*)
++	echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
++	| sed -e 's/CRAY.*([A-Z]90)/\1/' \
++	      -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \
++	      -e 's/\.[^.]*$/.X/'
++	exit ;;
++    CRAY*TS:*:*:*)
++	echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
++	exit ;;
++    CRAY*T3E:*:*:*)
++	echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
++	exit ;;
++    CRAY*SV1:*:*:*)
++	echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
++	exit ;;
++    *:UNICOS/mp:*:*)
++	echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
++	exit ;;
++    F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
++	FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
++        FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
++        FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
++        echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
++        exit ;;
++    5000:UNIX_System_V:4.*:*)
++        FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
++        FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'`
++        echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
++	exit ;;
++    i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
++	echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
++	exit ;;
++    sparc*:BSD/OS:*:*)
++	echo sparc-unknown-bsdi${UNAME_RELEASE}
++	exit ;;
++    *:BSD/OS:*:*)
++	echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
++	exit ;;
++    *:FreeBSD:*:*)
++	case ${UNAME_MACHINE} in
++	    pc98)
++		echo i386-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
++	    amd64)
++		echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
++	    *)
++		echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
++	esac
++	exit ;;
++    i*:CYGWIN*:*)
++	echo ${UNAME_MACHINE}-pc-cygwin
++	exit ;;
++    *:MINGW*:*)
++	echo ${UNAME_MACHINE}-pc-mingw32
++	exit ;;
++    i*:windows32*:*)
++    	# uname -m includes "-pc" on this system.
++    	echo ${UNAME_MACHINE}-mingw32
++	exit ;;
++    i*:PW*:*)
++	echo ${UNAME_MACHINE}-pc-pw32
++	exit ;;
++    *:Interix*:[3456]*)
++    	case ${UNAME_MACHINE} in
++	    x86)
++		echo i586-pc-interix${UNAME_RELEASE}
++		exit ;;
++	    EM64T | authenticamd)
++		echo x86_64-unknown-interix${UNAME_RELEASE}
++		exit ;;
++	    IA64)
++		echo ia64-unknown-interix${UNAME_RELEASE}
++		exit ;;
++	esac ;;
++    [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
++	echo i${UNAME_MACHINE}-pc-mks
++	exit ;;
++    i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
++	# How do we know it's Interix rather than the generic POSIX subsystem?
++	# It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
++	# UNAME_MACHINE based on the output of uname instead of i386?
++	echo i586-pc-interix
++	exit ;;
++    i*:UWIN*:*)
++	echo ${UNAME_MACHINE}-pc-uwin
++	exit ;;
++    amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*)
++	echo x86_64-unknown-cygwin
++	exit ;;
++    p*:CYGWIN*:*)
++	echo powerpcle-unknown-cygwin
++	exit ;;
++    prep*:SunOS:5.*:*)
++	echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
++	exit ;;
++    *:GNU:*:*)
++	# the GNU system
++	echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
++	exit ;;
++    *:GNU/*:*:*)
++	# other systems with GNU libc and userland
++	echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu
++	exit ;;
++    i*86:Minix:*:*)
++	echo ${UNAME_MACHINE}-pc-minix
++	exit ;;
++    arm*:Linux:*:*)
++	eval $set_cc_for_build
++	if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \
++	    | grep -q __ARM_EABI__
++	then
++	    echo ${UNAME_MACHINE}-unknown-linux-gnu
++	else
++	    echo ${UNAME_MACHINE}-unknown-linux-gnueabi
++	fi
++	exit ;;
++    avr32*:Linux:*:*)
++	echo ${UNAME_MACHINE}-unknown-linux-gnu
++	exit ;;
++    cris:Linux:*:*)
++	echo cris-axis-linux-gnu
++	exit ;;
++    crisv32:Linux:*:*)
++	echo crisv32-axis-linux-gnu
++	exit ;;
++    frv:Linux:*:*)
++    	echo frv-unknown-linux-gnu
++	exit ;;
++    ia64:Linux:*:*)
++	echo ${UNAME_MACHINE}-unknown-linux-gnu
++	exit ;;
++    m32r*:Linux:*:*)
++	echo ${UNAME_MACHINE}-unknown-linux-gnu
++	exit ;;
++    m68*:Linux:*:*)
++	echo ${UNAME_MACHINE}-unknown-linux-gnu
++	exit ;;
++    mips:Linux:*:*)
++	eval $set_cc_for_build
++	sed 's/^	//' << EOF >$dummy.c
++	#undef CPU
++	#undef mips
++	#undef mipsel
++	#if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
++	CPU=mipsel
++	#else
++	#if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
++	CPU=mips
++	#else
++	CPU=
++	#endif
++	#endif
++EOF
++	eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
++	    /^CPU/{
++		s: ::g
++		p
++	    }'`"
++	test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
++	;;
++    mips64:Linux:*:*)
++	eval $set_cc_for_build
++	sed 's/^	//' << EOF >$dummy.c
++	#undef CPU
++	#undef mips64
++	#undef mips64el
++	#if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
++	CPU=mips64el
++	#else
++	#if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
++	CPU=mips64
++	#else
++	CPU=
++	#endif
++	#endif
++EOF
++	eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
++	    /^CPU/{
++		s: ::g
++		p
++	    }'`"
++	test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
++	;;
++    or32:Linux:*:*)
++	echo or32-unknown-linux-gnu
++	exit ;;
++    ppc:Linux:*:*)
++	echo powerpc-unknown-linux-gnu
++	exit ;;
++    ppc64:Linux:*:*)
++	echo powerpc64-unknown-linux-gnu
++	exit ;;
++    alpha:Linux:*:*)
++	case `sed -n '/^cpu model/s/^.*: (.*)/\1/p' < /proc/cpuinfo` in
++	  EV5)   UNAME_MACHINE=alphaev5 ;;
++	  EV56)  UNAME_MACHINE=alphaev56 ;;
++	  PCA56) UNAME_MACHINE=alphapca56 ;;
++	  PCA57) UNAME_MACHINE=alphapca56 ;;
++	  EV6)   UNAME_MACHINE=alphaev6 ;;
++	  EV67)  UNAME_MACHINE=alphaev67 ;;
++	  EV68*) UNAME_MACHINE=alphaev68 ;;
++        esac
++	objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null
++	if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
++	echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
++	exit ;;
++    parisc:Linux:*:* | hppa:Linux:*:*)
++	# Look for CPU level
++	case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
++	  PA7*) echo hppa1.1-unknown-linux-gnu ;;
++	  PA8*) echo hppa2.0-unknown-linux-gnu ;;
++	  *)    echo hppa-unknown-linux-gnu ;;
++	esac
++	exit ;;
++    parisc64:Linux:*:* | hppa64:Linux:*:*)
++	echo hppa64-unknown-linux-gnu
++	exit ;;
++    s390:Linux:*:* | s390x:Linux:*:*)
++	echo ${UNAME_MACHINE}-ibm-linux
++	exit ;;
++    sh64*:Linux:*:*)
++    	echo ${UNAME_MACHINE}-unknown-linux-gnu
++	exit ;;
++    sh*:Linux:*:*)
++	echo ${UNAME_MACHINE}-unknown-linux-gnu
++	exit ;;
++    sparc:Linux:*:* | sparc64:Linux:*:*)
++	echo ${UNAME_MACHINE}-unknown-linux-gnu
++	exit ;;
++    vax:Linux:*:*)
++	echo ${UNAME_MACHINE}-dec-linux-gnu
++	exit ;;
++    x86_64:Linux:*:*)
++	echo x86_64-unknown-linux-gnu
++	exit ;;
++    xtensa*:Linux:*:*)
++    	echo ${UNAME_MACHINE}-unknown-linux-gnu
++	exit ;;
++    i*86:Linux:*:*)
++	# The BFD linker knows what the default object file format is, so
++	# first see if it will tell us. cd to the root directory to prevent
++	# problems with other programs or directories called `ld' in the path.
++	# Set LC_ALL=C to ensure ld outputs messages in English.
++	ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \
++			 | sed -ne '/supported targets:/!d
++				    s/[ 	][ 	]*/ /g
++				    s/.*supported targets: *//
++				    s/ .*//
++				    p'`
++        case "$ld_supported_targets" in
++	  elf32-i386)
++		TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu"
++		;;
++	  a.out-i386-linux)
++		echo "${UNAME_MACHINE}-pc-linux-gnuaout"
++		exit ;;
++	  coff-i386)
++		echo "${UNAME_MACHINE}-pc-linux-gnucoff"
++		exit ;;
++	  "")
++		# Either a pre-BFD a.out linker (linux-gnuoldld) or
++		# one that does not give us useful --help.
++		echo "${UNAME_MACHINE}-pc-linux-gnuoldld"
++		exit ;;
++	esac
++	# Determine whether the default compiler is a.out or elf
++	eval $set_cc_for_build
++	sed 's/^	//' << EOF >$dummy.c
++	#include <features.h>
++	#ifdef __ELF__
++	# ifdef __GLIBC__
++	#  if __GLIBC__ >= 2
++	LIBC=gnu
++	#  else
++	LIBC=gnulibc1
++	#  endif
++	# else
++	LIBC=gnulibc1
++	# endif
++	#else
++	#if defined(__INTEL_COMPILER) || defined(__PGI) || defined(__SUNPRO_C) || defined(__SUNPRO_CC)
++	LIBC=gnu
++	#else
++	LIBC=gnuaout
++	#endif
++	#endif
++	#ifdef __dietlibc__
++	LIBC=dietlibc
++	#endif
++EOF
++	eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
++	    /^LIBC/{
++		s: ::g
++		p
++	    }'`"
++	test x"${LIBC}" != x && {
++		echo "${UNAME_MACHINE}-pc-linux-${LIBC}"
++		exit
++	}
++	test x"${TENTATIVE}" != x && { echo "${TENTATIVE}"; exit; }
++	;;
++    i*86:DYNIX/ptx:4*:*)
++	# ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
++	# earlier versions are messed up and put the nodename in both
++	# sysname and nodename.
++	echo i386-sequent-sysv4
++	exit ;;
++    i*86:UNIX_SV:4.2MP:2.*)
++        # Unixware is an offshoot of SVR4, but it has its own version
++        # number series starting with 2...
++        # I am not positive that other SVR4 systems won't match this,
++	# I just have to hope.  -- rms.
++        # Use sysv4.2uw... so that sysv4* matches it.
++	echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
++	exit ;;
++    i*86:OS/2:*:*)
++	# If we were able to find `uname', then EMX Unix compatibility
++	# is probably installed.
++	echo ${UNAME_MACHINE}-pc-os2-emx
++	exit ;;
++    i*86:XTS-300:*:STOP)
++	echo ${UNAME_MACHINE}-unknown-stop
++	exit ;;
++    i*86:atheos:*:*)
++	echo ${UNAME_MACHINE}-unknown-atheos
++	exit ;;
++    i*86:syllable:*:*)
++	echo ${UNAME_MACHINE}-pc-syllable
++	exit ;;
++    i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*)
++	echo i386-unknown-lynxos${UNAME_RELEASE}
++	exit ;;
++    i*86:*DOS:*:*)
++	echo ${UNAME_MACHINE}-pc-msdosdjgpp
++	exit ;;
++    i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*)
++	UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
++	if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
++		echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL}
++	else
++		echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
++	fi
++	exit ;;
++    i*86:*:5:[678]*)
++    	# UnixWare 7.x, OpenUNIX and OpenServer 6.
++	case `/bin/uname -X | grep "^Machine"` in
++	    *486*)	     UNAME_MACHINE=i486 ;;
++	    *Pentium)	     UNAME_MACHINE=i586 ;;
++	    *Pent*|*Celeron) UNAME_MACHINE=i686 ;;
++	esac
++	echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
++	exit ;;
++    i*86:*:3.2:*)
++	if test -f /usr/options/cb.name; then
++		UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
++		echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
++	elif /bin/uname -X 2>/dev/null >/dev/null ; then
++		UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')`
++		(/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486
++		(/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \
++			&& UNAME_MACHINE=i586
++		(/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \
++			&& UNAME_MACHINE=i686
++		(/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \
++			&& UNAME_MACHINE=i686
++		echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
++	else
++		echo ${UNAME_MACHINE}-pc-sysv32
++	fi
++	exit ;;
++    pc:*:*:*)
++	# Left here for compatibility:
++        # uname -m prints for DJGPP always 'pc', but it prints nothing about
++        # the processor, so we play safe by assuming i386.
++	echo i386-pc-msdosdjgpp
++        exit ;;
++    Intel:Mach:3*:*)
++	echo i386-pc-mach3
++	exit ;;
++    paragon:*:*:*)
++	echo i860-intel-osf1
++	exit ;;
++    i860:*:4.*:*) # i860-SVR4
++	if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
++	  echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
++	else # Add other i860-SVR4 vendors below as they are discovered.
++	  echo i860-unknown-sysv${UNAME_RELEASE}  # Unknown i860-SVR4
++	fi
++	exit ;;
++    mini*:CTIX:SYS*5:*)
++	# "miniframe"
++	echo m68010-convergent-sysv
++	exit ;;
++    mc68k:UNIX:SYSTEM5:3.51m)
++	echo m68k-convergent-sysv
++	exit ;;
++    M680?0:D-NIX:5.3:*)
++	echo m68k-diab-dnix
++	exit ;;
++    M68*:*:R3V[5678]*:*)
++	test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;;
++    3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0)
++	OS_REL=''
++	test -r /etc/.relid \
++	&& OS_REL=.`sed -n 's/[^ ]* [^ ]* ([0-9][0-9]).*/\1/p' < /etc/.relid`
++	/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
++	  && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
++	/bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
++	  && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
++    3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
++        /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
++          && { echo i486-ncr-sysv4; exit; } ;;
++    m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
++	echo m68k-unknown-lynxos${UNAME_RELEASE}
++	exit ;;
++    mc68030:UNIX_System_V:4.*:*)
++	echo m68k-atari-sysv4
++	exit ;;
++    TSUNAMI:LynxOS:2.*:*)
++	echo sparc-unknown-lynxos${UNAME_RELEASE}
++	exit ;;
++    rs6000:LynxOS:2.*:*)
++	echo rs6000-unknown-lynxos${UNAME_RELEASE}
++	exit ;;
++    PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*)
++	echo powerpc-unknown-lynxos${UNAME_RELEASE}
++	exit ;;
++    SM[BE]S:UNIX_SV:*:*)
++	echo mips-dde-sysv${UNAME_RELEASE}
++	exit ;;
++    RM*:ReliantUNIX-*:*:*)
++	echo mips-sni-sysv4
++	exit ;;
++    RM*:SINIX-*:*:*)
++	echo mips-sni-sysv4
++	exit ;;
++    *:SINIX-*:*:*)
++	if uname -p 2>/dev/null >/dev/null ; then
++		UNAME_MACHINE=`(uname -p) 2>/dev/null`
++		echo ${UNAME_MACHINE}-sni-sysv4
++	else
++		echo ns32k-sni-sysv
++	fi
++	exit ;;
++    PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
++                      # says <Richard.M.Bartel@ccMail.Census.GOV>
++        echo i586-unisys-sysv4
++        exit ;;
++    *:UNIX_System_V:4*:FTX*)
++	# From Gerald Hewes <hewes@openmarket.com>.
++	# How about differentiating between stratus architectures? -djm
++	echo hppa1.1-stratus-sysv4
++	exit ;;
++    *:*:*:FTX*)
++	# From seanf@swdc.stratus.com.
++	echo i860-stratus-sysv4
++	exit ;;
++    i*86:VOS:*:*)
++	# From Paul.Green@stratus.com.
++	echo ${UNAME_MACHINE}-stratus-vos
++	exit ;;
++    *:VOS:*:*)
++	# From Paul.Green@stratus.com.
++	echo hppa1.1-stratus-vos
++	exit ;;
++    mc68*:A/UX:*:*)
++	echo m68k-apple-aux${UNAME_RELEASE}
++	exit ;;
++    news*:NEWS-OS:6*:*)
++	echo mips-sony-newsos6
++	exit ;;
++    R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
++	if [ -d /usr/nec ]; then
++	        echo mips-nec-sysv${UNAME_RELEASE}
++	else
++	        echo mips-unknown-sysv${UNAME_RELEASE}
++	fi
++        exit ;;
++    BeBox:BeOS:*:*)	# BeOS running on hardware made by Be, PPC only.
++	echo powerpc-be-beos
++	exit ;;
++    BeMac:BeOS:*:*)	# BeOS running on Mac or Mac clone, PPC only.
++	echo powerpc-apple-beos
++	exit ;;
++    BePC:BeOS:*:*)	# BeOS running on Intel PC compatible.
++	echo i586-pc-beos
++	exit ;;
++    SX-4:SUPER-UX:*:*)
++	echo sx4-nec-superux${UNAME_RELEASE}
++	exit ;;
++    SX-5:SUPER-UX:*:*)
++	echo sx5-nec-superux${UNAME_RELEASE}
++	exit ;;
++    SX-6:SUPER-UX:*:*)
++	echo sx6-nec-superux${UNAME_RELEASE}
++	exit ;;
++    SX-7:SUPER-UX:*:*)
++	echo sx7-nec-superux${UNAME_RELEASE}
++	exit ;;
++    SX-8:SUPER-UX:*:*)
++	echo sx8-nec-superux${UNAME_RELEASE}
++	exit ;;
++    SX-8R:SUPER-UX:*:*)
++	echo sx8r-nec-superux${UNAME_RELEASE}
++	exit ;;
++    Power*:Rhapsody:*:*)
++	echo powerpc-apple-rhapsody${UNAME_RELEASE}
++	exit ;;
++    *:Rhapsody:*:*)
++	echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
++	exit ;;
++    *:Darwin:*:*)
++	UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
++	case $UNAME_PROCESSOR in
++	    unknown) UNAME_PROCESSOR=powerpc ;;
++	esac
++	echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
++	exit ;;
++    *:procnto*:*:* | *:QNX:[0123456789]*:*)
++	UNAME_PROCESSOR=`uname -p`
++	if test "$UNAME_PROCESSOR" = "x86"; then
++		UNAME_PROCESSOR=i386
++		UNAME_MACHINE=pc
++	fi
++	echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE}
++	exit ;;
++    *:QNX:*:4*)
++	echo i386-pc-qnx
++	exit ;;
++    NSE-?:NONSTOP_KERNEL:*:*)
++	echo nse-tandem-nsk${UNAME_RELEASE}
++	exit ;;
++    NSR-?:NONSTOP_KERNEL:*:*)
++	echo nsr-tandem-nsk${UNAME_RELEASE}
++	exit ;;
++    *:NonStop-UX:*:*)
++	echo mips-compaq-nonstopux
++	exit ;;
++    BS2000:POSIX*:*:*)
++	echo bs2000-siemens-sysv
++	exit ;;
++    DS/*:UNIX_System_V:*:*)
++	echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
++	exit ;;
++    *:Plan9:*:*)
++	# "uname -m" is not consistent, so use $cputype instead. 386
++	# is converted to i386 for consistency with other x86
++	# operating systems.
++	if test "$cputype" = "386"; then
++	    UNAME_MACHINE=i386
++	else
++	    UNAME_MACHINE="$cputype"
++	fi
++	echo ${UNAME_MACHINE}-unknown-plan9
++	exit ;;
++    *:TOPS-10:*:*)
++	echo pdp10-unknown-tops10
++	exit ;;
++    *:TENEX:*:*)
++	echo pdp10-unknown-tenex
++	exit ;;
++    KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
++	echo pdp10-dec-tops20
++	exit ;;
++    XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
++	echo pdp10-xkl-tops20
++	exit ;;
++    *:TOPS-20:*:*)
++	echo pdp10-unknown-tops20
++	exit ;;
++    *:ITS:*:*)
++	echo pdp10-unknown-its
++	exit ;;
++    SEI:*:*:SEIUX)
++        echo mips-sei-seiux${UNAME_RELEASE}
++	exit ;;
++    *:DragonFly:*:*)
++	echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
++	exit ;;
++    *:*VMS:*:*)
++    	UNAME_MACHINE=`(uname -p) 2>/dev/null`
++	case "${UNAME_MACHINE}" in
++	    A*) echo alpha-dec-vms ; exit ;;
++	    I*) echo ia64-dec-vms ; exit ;;
++	    V*) echo vax-dec-vms ; exit ;;
++	esac ;;
++    *:XENIX:*:SysV)
++	echo i386-pc-xenix
++	exit ;;
++    i*86:skyos:*:*)
++	echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//'
++	exit ;;
++    i*86:rdos:*:*)
++	echo ${UNAME_MACHINE}-pc-rdos
++	exit ;;
++esac
++
++#echo '(No uname command or uname output not recognized.)' 1>&2
++#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2
++
++eval $set_cc_for_build
++cat >$dummy.c <<EOF
++#ifdef _SEQUENT_
++# include <sys/types.h>
++# include <sys/utsname.h>
++#endif
++main ()
++{
++#if defined (sony)
++#if defined (MIPSEB)
++  /* BFD wants "bsd" instead of "newsos".  Perhaps BFD should be changed,
++     I don't know....  */
++  printf ("mips-sony-bsd\n"); exit (0);
++#else
++#include <sys/param.h>
++  printf ("m68k-sony-newsos%s\n",
++#ifdef NEWSOS4
++          "4"
++#else
++	  ""
++#endif
++         ); exit (0);
++#endif
++#endif
++
++#if defined (__arm) && defined (__acorn) && defined (__unix)
++  printf ("arm-acorn-riscix\n"); exit (0);
++#endif
++
++#if defined (hp300) && !defined (hpux)
++  printf ("m68k-hp-bsd\n"); exit (0);
++#endif
++
++#if defined (NeXT)
++#if !defined (__ARCHITECTURE__)
++#define __ARCHITECTURE__ "m68k"
++#endif
++  int version;
++  version=`(hostinfo | sed -n 's/.*NeXT Mach ([0-9]*).*/\1/p') 2>/dev/null`;
++  if (version < 4)
++    printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
++  else
++    printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
++  exit (0);
++#endif
++
++#if defined (MULTIMAX) || defined (n16)
++#if defined (UMAXV)
++  printf ("ns32k-encore-sysv\n"); exit (0);
++#else
++#if defined (CMU)
++  printf ("ns32k-encore-mach\n"); exit (0);
++#else
++  printf ("ns32k-encore-bsd\n"); exit (0);
++#endif
++#endif
++#endif
++
++#if defined (__386BSD__)
++  printf ("i386-pc-bsd\n"); exit (0);
++#endif
++
++#if defined (sequent)
++#if defined (i386)
++  printf ("i386-sequent-dynix\n"); exit (0);
++#endif
++#if defined (ns32000)
++  printf ("ns32k-sequent-dynix\n"); exit (0);
++#endif
++#endif
++
++#if defined (_SEQUENT_)
++    struct utsname un;
++
++    uname(&un);
++
++    if (strncmp(un.version, "V2", 2) == 0) {
++	printf ("i386-sequent-ptx2\n"); exit (0);
++    }
++    if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
++	printf ("i386-sequent-ptx1\n"); exit (0);
++    }
++    printf ("i386-sequent-ptx\n"); exit (0);
++
++#endif
++
++#if defined (vax)
++# if !defined (ultrix)
++#  include <sys/param.h>
++#  if defined (BSD)
++#   if BSD == 43
++      printf ("vax-dec-bsd4.3\n"); exit (0);
++#   else
++#    if BSD == 199006
++      printf ("vax-dec-bsd4.3reno\n"); exit (0);
++#    else
++      printf ("vax-dec-bsd\n"); exit (0);
++#    endif
++#   endif
++#  else
++    printf ("vax-dec-bsd\n"); exit (0);
++#  endif
++# else
++    printf ("vax-dec-ultrix\n"); exit (0);
++# endif
++#endif
++
++#if defined (alliant) && defined (i860)
++  printf ("i860-alliant-bsd\n"); exit (0);
++#endif
++
++  exit (1);
++}
++EOF
++
++$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` &&
++	{ echo "$SYSTEM_NAME"; exit; }
++
++# Apollos put the system type in the environment.
++
++test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; }
++
++# Convex versions that predate uname can use getsysinfo(1)
++
++if [ -x /usr/convex/getsysinfo ]
++then
++    case `getsysinfo -f cpu_type` in
++    c1*)
++	echo c1-convex-bsd
++	exit ;;
++    c2*)
++	if getsysinfo -f scalar_acc
++	then echo c32-convex-bsd
++	else echo c2-convex-bsd
++	fi
++	exit ;;
++    c34*)
++	echo c34-convex-bsd
++	exit ;;
++    c38*)
++	echo c38-convex-bsd
++	exit ;;
++    c4*)
++	echo c4-convex-bsd
++	exit ;;
++    esac
++fi
++
++cat >&2 <<EOF
++$0: unable to guess system type
++
++This script, last modified $timestamp, has failed to recognize
++the operating system you are using. It is advised that you
++download the most up to date version of the config scripts from
++
++  http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
++and
++  http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
++
++If the version you run ($0) is already up to date, please
++send the following data and any information you think might be
++pertinent to <config-patches@gnu.org> in order to provide the needed
++information to handle your system.
++
++config.guess timestamp = $timestamp
++
++uname -m = `(uname -m) 2>/dev/null || echo unknown`
++uname -r = `(uname -r) 2>/dev/null || echo unknown`
++uname -s = `(uname -s) 2>/dev/null || echo unknown`
++uname -v = `(uname -v) 2>/dev/null || echo unknown`
++
++/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null`
++/bin/uname -X     = `(/bin/uname -X) 2>/dev/null`
++
++hostinfo               = `(hostinfo) 2>/dev/null`
++/bin/universe          = `(/bin/universe) 2>/dev/null`
++/usr/bin/arch -k       = `(/usr/bin/arch -k) 2>/dev/null`
++/bin/arch              = `(/bin/arch) 2>/dev/null`
++/usr/bin/oslevel       = `(/usr/bin/oslevel) 2>/dev/null`
++/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
++
++UNAME_MACHINE = ${UNAME_MACHINE}
++UNAME_RELEASE = ${UNAME_RELEASE}
++UNAME_SYSTEM  = ${UNAME_SYSTEM}
++UNAME_VERSION = ${UNAME_VERSION}
++EOF
++
++exit 1
++
++# Local variables:
++# eval: (add-hook 'write-file-hooks 'time-stamp)
++# time-stamp-start: "timestamp='"
++# time-stamp-format: "%:y-%02m-%02d"
++# time-stamp-end: "'"
++# End:
+diff --exclude CVS -r -u -N perl-5.16.3-extract/cnf/config.sub perl-5.16.3/cnf/config.sub
+--- cnf/config.sub	1969-12-31 16:00:00.000000000 -0800
++++ cnf/config.sub	2013-05-16 04:57:14.000000000 -0700
+@@ -0,0 +1,1658 @@
++#! /bin/sh
++# Configuration validation subroutine script.
++#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
++#   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
++#   Free Software Foundation, Inc.
++
++timestamp='2008-01-16'
++
++# This file is (in principle) common to ALL GNU software.
++# The presence of a machine in this file suggests that SOME GNU software
++# can handle that machine.  It does not imply ALL GNU software can.
++#
++# This file 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 2 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, write to the Free Software
++# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
++# 02110-1301, USA.
++#
++# As a special exception to the GNU General Public License, if you
++# distribute this file as part of a program that contains a
++# configuration script generated by Autoconf, you may include it under
++# the same distribution terms that you use for the rest of that program.
++
++
++# Please send patches to <config-patches@gnu.org>.  Submit a context
++# diff and a properly formatted ChangeLog entry.
++#
++# Configuration subroutine to validate and canonicalize a configuration type.
++# Supply the specified configuration type as an argument.
++# If it is invalid, we print an error message on stderr and exit with code 1.
++# Otherwise, we print the canonical config type on stdout and succeed.
++
++# This file is supposed to be the same for all GNU packages
++# and recognize all the CPU types, system types and aliases
++# that are meaningful with *any* GNU software.
++# Each package is responsible for reporting which valid configurations
++# it does not support.  The user should be able to distinguish
++# a failure to support a valid configuration from a meaningless
++# configuration.
++
++# The goal of this file is to map all the various variations of a given
++# machine specification into a single specification in the form:
++#	CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
++# or in some cases, the newer four-part form:
++#	CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
++# It is wrong to echo any other type of specification.
++
++me=`echo "$0" | sed -e 's,.*/,,'`
++
++usage="\
++Usage: $0 [OPTION] CPU-MFR-OPSYS
++       $0 [OPTION] ALIAS
++
++Canonicalize a configuration name.
++
++Operation modes:
++  -h, --help         print this help, then exit
++  -t, --time-stamp   print date of last modification, then exit
++  -v, --version      print version number, then exit
++
++Report bugs and patches to <config-patches@gnu.org>."
++
++version="\
++GNU config.sub ($timestamp)
++
++Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
++2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
++
++This is free software; see the source for copying conditions.  There is NO
++warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
++
++help="
++Try \`$me --help' for more information."
++
++# Parse command line
++while test $# -gt 0 ; do
++  case $1 in
++    --time-stamp | --time* | -t )
++       echo "$timestamp" ; exit ;;
++    --version | -v )
++       echo "$version" ; exit ;;
++    --help | --h* | -h )
++       echo "$usage"; exit ;;
++    -- )     # Stop option processing
++       shift; break ;;
++    - )	# Use stdin as input.
++       break ;;
++    -* )
++       echo "$me: invalid option $1$help"
++       exit 1 ;;
++
++    *local*)
++       # First pass through any local machine types.
++       echo $1
++       exit ;;
++
++    * )
++       break ;;
++  esac
++done
++
++case $# in
++ 0) echo "$me: missing argument$help" >&2
++    exit 1;;
++ 1) ;;
++ *) echo "$me: too many arguments$help" >&2
++    exit 1;;
++esac
++
++# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
++# Here we must recognize all the valid KERNEL-OS combinations.
++maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
++case $maybe_os in
++  nto-qnx* | linux-gnu* | linux-dietlibc | linux-newlib* | linux-uclibc* | \
++  uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | \
++  storm-chaos* | os2-emx* | rtmk-nova* )
++    os=-$maybe_os
++    basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
++    ;;
++  *)
++    basic_machine=`echo $1 | sed 's/-[^-]*$//'`
++    if [ $basic_machine != $1 ]
++    then os=`echo $1 | sed 's/.*-/-/'`
++    else os=; fi
++    ;;
++esac
++
++### Let's recognize common machines as not being operating systems so
++### that things like config.sub decstation-3100 work.  We also
++### recognize some manufacturers as not being operating systems, so we
++### can provide default operating systems below.
++case $os in
++	-sun*os*)
++		# Prevent following clause from handling this invalid input.
++		;;
++	-dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
++	-att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
++	-unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
++	-convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
++	-c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
++	-harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
++	-apple | -axis | -knuth | -cray)
++		os=
++		basic_machine=$1
++		;;
++	-sim | -cisco | -oki | -wec | -winbond)
++		os=
++		basic_machine=$1
++		;;
++	-scout)
++		;;
++	-wrs)
++		os=-vxworks
++		basic_machine=$1
++		;;
++	-chorusos*)
++		os=-chorusos
++		basic_machine=$1
++		;;
++ 	-chorusrdb)
++ 		os=-chorusrdb
++		basic_machine=$1
++ 		;;
++	-hiux*)
++		os=-hiuxwe2
++		;;
++	-sco6)
++		os=-sco5v6
++		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
++		;;
++	-sco5)
++		os=-sco3.2v5
++		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
++		;;
++	-sco4)
++		os=-sco3.2v4
++		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
++		;;
++	-sco3.2.[4-9]*)
++		os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
++		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
++		;;
++	-sco3.2v[4-9]*)
++		# Don't forget version if it is 3.2v4 or newer.
++		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
++		;;
++	-sco5v6*)
++		# Don't forget version if it is 3.2v4 or newer.
++		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
++		;;
++	-sco*)
++		os=-sco3.2v2
++		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
++		;;
++	-udk*)
++		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
++		;;
++	-isc)
++		os=-isc2.2
++		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
++		;;
++	-clix*)
++		basic_machine=clipper-intergraph
++		;;
++	-isc*)
++		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
++		;;
++	-lynx*)
++		os=-lynxos
++		;;
++	-ptx*)
++		basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
++		;;
++	-windowsnt*)
++		os=`echo $os | sed -e 's/windowsnt/winnt/'`
++		;;
++	-psos*)
++		os=-psos
++		;;
++	-mint | -mint[0-9]*)
++		basic_machine=m68k-atari
++		os=-mint
++		;;
++esac
++
++# Decode aliases for certain CPU-COMPANY combinations.
++case $basic_machine in
++	# Recognize the basic CPU types without company name.
++	# Some are omitted here because they have special meanings below.
++	1750a | 580 \
++	| a29k \
++	| alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
++	| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
++	| am33_2.0 \
++	| arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \
++	| bfin \
++	| c4x | clipper \
++	| d10v | d30v | dlx | dsp16xx \
++	| fido | fr30 | frv \
++	| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
++	| i370 | i860 | i960 | ia64 \
++	| ip2k | iq2000 \
++	| m32c | m32r | m32rle | m68000 | m68k | m88k \
++	| maxq | mb | microblaze | mcore | mep \
++	| mips | mipsbe | mipseb | mipsel | mipsle \
++	| mips16 \
++	| mips64 | mips64el \
++	| mips64vr | mips64vrel \
++	| mips64orion | mips64orionel \
++	| mips64vr4100 | mips64vr4100el \
++	| mips64vr4300 | mips64vr4300el \
++	| mips64vr5000 | mips64vr5000el \
++	| mips64vr5900 | mips64vr5900el \
++	| mipsisa32 | mipsisa32el \
++	| mipsisa32r2 | mipsisa32r2el \
++	| mipsisa64 | mipsisa64el \
++	| mipsisa64r2 | mipsisa64r2el \
++	| mipsisa64sb1 | mipsisa64sb1el \
++	| mipsisa64sr71k | mipsisa64sr71kel \
++	| mipstx39 | mipstx39el \
++	| mn10200 | mn10300 \
++	| mt \
++	| msp430 \
++	| nios | nios2 \
++	| ns16k | ns32k \
++	| or32 \
++	| pdp10 | pdp11 | pj | pjl \
++	| powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \
++	| pyramid \
++	| score \
++	| sh | sh[1234] | sh[24]a | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
++	| sh64 | sh64le \
++	| sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
++	| sparcv8 | sparcv9 | sparcv9b | sparcv9v \
++	| spu | strongarm \
++	| tahoe | thumb | tic4x | tic80 | tron \
++	| v850 | v850e \
++	| we32k \
++	| x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \
++	| z8k)
++		basic_machine=$basic_machine-unknown
++		;;
++	m6811 | m68hc11 | m6812 | m68hc12)
++		# Motorola 68HC11/12.
++		basic_machine=$basic_machine-unknown
++		os=-none
++		;;
++	m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
++		;;
++	ms1)
++		basic_machine=mt-unknown
++		;;
++
++	# We use `pc' rather than `unknown'
++	# because (1) that's what they normally are, and
++	# (2) the word "unknown" tends to confuse beginning users.
++	i*86 | x86_64)
++	  basic_machine=$basic_machine-pc
++	  ;;
++	# Object if more than one company name word.
++	*-*-*)
++		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
++		exit 1
++		;;
++	# Recognize the basic CPU types with company name.
++	580-* \
++	| a29k-* \
++	| alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
++	| alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
++	| alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
++	| arm-*  | armbe-* | armle-* | armeb-* | armv*-* \
++	| avr-* | avr32-* \
++	| bfin-* | bs2000-* \
++	| c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \
++	| clipper-* | craynv-* | cydra-* \
++	| d10v-* | d30v-* | dlx-* \
++	| elxsi-* \
++	| f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
++	| h8300-* | h8500-* \
++	| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
++	| i*86-* | i860-* | i960-* | ia64-* \
++	| ip2k-* | iq2000-* \
++	| m32c-* | m32r-* | m32rle-* \
++	| m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
++	| m88110-* | m88k-* | maxq-* | mcore-* \
++	| mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
++	| mips16-* \
++	| mips64-* | mips64el-* \
++	| mips64vr-* | mips64vrel-* \
++	| mips64orion-* | mips64orionel-* \
++	| mips64vr4100-* | mips64vr4100el-* \
++	| mips64vr4300-* | mips64vr4300el-* \
++	| mips64vr5000-* | mips64vr5000el-* \
++	| mips64vr5900-* | mips64vr5900el-* \
++	| mipsisa32-* | mipsisa32el-* \
++	| mipsisa32r2-* | mipsisa32r2el-* \
++	| mipsisa64-* | mipsisa64el-* \
++	| mipsisa64r2-* | mipsisa64r2el-* \
++	| mipsisa64sb1-* | mipsisa64sb1el-* \
++	| mipsisa64sr71k-* | mipsisa64sr71kel-* \
++	| mipstx39-* | mipstx39el-* \
++	| mmix-* \
++	| mt-* \
++	| msp430-* \
++	| nios-* | nios2-* \
++	| none-* | np1-* | ns16k-* | ns32k-* \
++	| orion-* \
++	| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
++	| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \
++	| pyramid-* \
++	| romp-* | rs6000-* \
++	| sh-* | sh[1234]-* | sh[24]a-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
++	| shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
++	| sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
++	| sparclite-* \
++	| sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \
++	| tahoe-* | thumb-* \
++	| tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
++	| tron-* \
++	| v850-* | v850e-* | vax-* \
++	| we32k-* \
++	| x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \
++	| xstormy16-* | xtensa*-* \
++	| ymp-* \
++	| z8k-*)
++		;;
++	# Recognize the basic CPU types without company name, with glob match.
++	xtensa*)
++		basic_machine=$basic_machine-unknown
++		;;
++	# Recognize the various machine names and aliases which stand
++	# for a CPU type and a company and sometimes even an OS.
++	386bsd)
++		basic_machine=i386-unknown
++		os=-bsd
++		;;
++	3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
++		basic_machine=m68000-att
++		;;
++	3b*)
++		basic_machine=we32k-att
++		;;
++	a29khif)
++		basic_machine=a29k-amd
++		os=-udi
++		;;
++    	abacus)
++		basic_machine=abacus-unknown
++		;;
++	adobe68k)
++		basic_machine=m68010-adobe
++		os=-scout
++		;;
++	alliant | fx80)
++		basic_machine=fx80-alliant
++		;;
++	altos | altos3068)
++		basic_machine=m68k-altos
++		;;
++	am29k)
++		basic_machine=a29k-none
++		os=-bsd
++		;;
++	amd64)
++		basic_machine=x86_64-pc
++		;;
++	amd64-*)
++		basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`
++		;;
++	amdahl)
++		basic_machine=580-amdahl
++		os=-sysv
++		;;
++	amiga | amiga-*)
++		basic_machine=m68k-unknown
++		;;
++	amigaos | amigados)
++		basic_machine=m68k-unknown
++		os=-amigaos
++		;;
++	amigaunix | amix)
++		basic_machine=m68k-unknown
++		os=-sysv4
++		;;
++	apollo68)
++		basic_machine=m68k-apollo
++		os=-sysv
++		;;
++	apollo68bsd)
++		basic_machine=m68k-apollo
++		os=-bsd
++		;;
++	aux)
++		basic_machine=m68k-apple
++		os=-aux
++		;;
++	balance)
++		basic_machine=ns32k-sequent
++		os=-dynix
++		;;
++	blackfin)
++		basic_machine=bfin-unknown
++		os=-linux
++		;;
++	blackfin-*)
++		basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'`
++		os=-linux
++		;;
++	c90)
++		basic_machine=c90-cray
++		os=-unicos
++		;;
++	convex-c1)
++		basic_machine=c1-convex
++		os=-bsd
++		;;
++	convex-c2)
++		basic_machine=c2-convex
++		os=-bsd
++		;;
++	convex-c32)
++		basic_machine=c32-convex
++		os=-bsd
++		;;
++	convex-c34)
++		basic_machine=c34-convex
++		os=-bsd
++		;;
++	convex-c38)
++		basic_machine=c38-convex
++		os=-bsd
++		;;
++	cray | j90)
++		basic_machine=j90-cray
++		os=-unicos
++		;;
++	craynv)
++		basic_machine=craynv-cray
++		os=-unicosmp
++		;;
++	cr16)
++		basic_machine=cr16-unknown
++		os=-elf
++		;;
++	crds | unos)
++		basic_machine=m68k-crds
++		;;
++	crisv32 | crisv32-* | etraxfs*)
++		basic_machine=crisv32-axis
++		;;
++	cris | cris-* | etrax*)
++		basic_machine=cris-axis
++		;;
++	crx)
++		basic_machine=crx-unknown
++		os=-elf
++		;;
++	da30 | da30-*)
++		basic_machine=m68k-da30
++		;;
++	decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
++		basic_machine=mips-dec
++		;;
++	decsystem10* | dec10*)
++		basic_machine=pdp10-dec
++		os=-tops10
++		;;
++	decsystem20* | dec20*)
++		basic_machine=pdp10-dec
++		os=-tops20
++		;;
++	delta | 3300 | motorola-3300 | motorola-delta \
++	      | 3300-motorola | delta-motorola)
++		basic_machine=m68k-motorola
++		;;
++	delta88)
++		basic_machine=m88k-motorola
++		os=-sysv3
++		;;
++	djgpp)
++		basic_machine=i586-pc
++		os=-msdosdjgpp
++		;;
++	dpx20 | dpx20-*)
++		basic_machine=rs6000-bull
++		os=-bosx
++		;;
++	dpx2* | dpx2*-bull)
++		basic_machine=m68k-bull
++		os=-sysv3
++		;;
++	ebmon29k)
++		basic_machine=a29k-amd
++		os=-ebmon
++		;;
++	elxsi)
++		basic_machine=elxsi-elxsi
++		os=-bsd
++		;;
++	encore | umax | mmax)
++		basic_machine=ns32k-encore
++		;;
++	es1800 | OSE68k | ose68k | ose | OSE)
++		basic_machine=m68k-ericsson
++		os=-ose
++		;;
++	fx2800)
++		basic_machine=i860-alliant
++		;;
++	genix)
++		basic_machine=ns32k-ns
++		;;
++	gmicro)
++		basic_machine=tron-gmicro
++		os=-sysv
++		;;
++	go32)
++		basic_machine=i386-pc
++		os=-go32
++		;;
++	h3050r* | hiux*)
++		basic_machine=hppa1.1-hitachi
++		os=-hiuxwe2
++		;;
++	h8300hms)
++		basic_machine=h8300-hitachi
++		os=-hms
++		;;
++	h8300xray)
++		basic_machine=h8300-hitachi
++		os=-xray
++		;;
++	h8500hms)
++		basic_machine=h8500-hitachi
++		os=-hms
++		;;
++	harris)
++		basic_machine=m88k-harris
++		os=-sysv3
++		;;
++	hp300-*)
++		basic_machine=m68k-hp
++		;;
++	hp300bsd)
++		basic_machine=m68k-hp
++		os=-bsd
++		;;
++	hp300hpux)
++		basic_machine=m68k-hp
++		os=-hpux
++		;;
++	hp3k9[0-9][0-9] | hp9[0-9][0-9])
++		basic_machine=hppa1.0-hp
++		;;
++	hp9k2[0-9][0-9] | hp9k31[0-9])
++		basic_machine=m68000-hp
++		;;
++	hp9k3[2-9][0-9])
++		basic_machine=m68k-hp
++		;;
++	hp9k6[0-9][0-9] | hp6[0-9][0-9])
++		basic_machine=hppa1.0-hp
++		;;
++	hp9k7[0-79][0-9] | hp7[0-79][0-9])
++		basic_machine=hppa1.1-hp
++		;;
++	hp9k78[0-9] | hp78[0-9])
++		# FIXME: really hppa2.0-hp
++		basic_machine=hppa1.1-hp
++		;;
++	hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
++		# FIXME: really hppa2.0-hp
++		basic_machine=hppa1.1-hp
++		;;
++	hp9k8[0-9][13679] | hp8[0-9][13679])
++		basic_machine=hppa1.1-hp
++		;;
++	hp9k8[0-9][0-9] | hp8[0-9][0-9])
++		basic_machine=hppa1.0-hp
++		;;
++	hppa-next)
++		os=-nextstep3
++		;;
++	hppaosf)
++		basic_machine=hppa1.1-hp
++		os=-osf
++		;;
++	hppro)
++		basic_machine=hppa1.1-hp
++		os=-proelf
++		;;
++	i370-ibm* | ibm*)
++		basic_machine=i370-ibm
++		;;
++# I'm not sure what "Sysv32" means.  Should this be sysv3.2?
++	i*86v32)
++		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
++		os=-sysv32
++		;;
++	i*86v4*)
++		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
++		os=-sysv4
++		;;
++	i*86v)
++		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
++		os=-sysv
++		;;
++	i*86sol2)
++		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
++		os=-solaris2
++		;;
++	i386mach)
++		basic_machine=i386-mach
++		os=-mach
++		;;
++	i386-vsta | vsta)
++		basic_machine=i386-unknown
++		os=-vsta
++		;;
++	iris | iris4d)
++		basic_machine=mips-sgi
++		case $os in
++		    -irix*)
++			;;
++		    *)
++			os=-irix4
++			;;
++		esac
++		;;
++	isi68 | isi)
++		basic_machine=m68k-isi
++		os=-sysv
++		;;
++	m68knommu)
++		basic_machine=m68k-unknown
++		os=-linux
++		;;
++	m68knommu-*)
++		basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'`
++		os=-linux
++		;;
++	m88k-omron*)
++		basic_machine=m88k-omron
++		;;
++	magnum | m3230)
++		basic_machine=mips-mips
++		os=-sysv
++		;;
++	merlin)
++		basic_machine=ns32k-utek
++		os=-sysv
++		;;
++	mingw32)
++		basic_machine=i386-pc
++		os=-mingw32
++		;;
++	mingw32ce)
++		basic_machine=arm-unknown
++		os=-mingw32ce
++		;;
++	miniframe)
++		basic_machine=m68000-convergent
++		;;
++	*mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
++		basic_machine=m68k-atari
++		os=-mint
++		;;
++	mips3*-*)
++		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
++		;;
++	mips3*)
++		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
++		;;
++	monitor)
++		basic_machine=m68k-rom68k
++		os=-coff
++		;;
++	morphos)
++		basic_machine=powerpc-unknown
++		os=-morphos
++		;;
++	msdos)
++		basic_machine=i386-pc
++		os=-msdos
++		;;
++	ms1-*)
++		basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
++		;;
++	mvs)
++		basic_machine=i370-ibm
++		os=-mvs
++		;;
++	ncr3000)
++		basic_machine=i486-ncr
++		os=-sysv4
++		;;
++	netbsd386)
++		basic_machine=i386-unknown
++		os=-netbsd
++		;;
++	netwinder)
++		basic_machine=armv4l-rebel
++		os=-linux
++		;;
++	news | news700 | news800 | news900)
++		basic_machine=m68k-sony
++		os=-newsos
++		;;
++	news1000)
++		basic_machine=m68030-sony
++		os=-newsos
++		;;
++	news-3600 | risc-news)
++		basic_machine=mips-sony
++		os=-newsos
++		;;
++	necv70)
++		basic_machine=v70-nec
++		os=-sysv
++		;;
++	next | m*-next )
++		basic_machine=m68k-next
++		case $os in
++		    -nextstep* )
++			;;
++		    -ns2*)
++		      os=-nextstep2
++			;;
++		    *)
++		      os=-nextstep3
++			;;
++		esac
++		;;
++	nh3000)
++		basic_machine=m68k-harris
++		os=-cxux
++		;;
++	nh[45]000)
++		basic_machine=m88k-harris
++		os=-cxux
++		;;
++	nindy960)
++		basic_machine=i960-intel
++		os=-nindy
++		;;
++	mon960)
++		basic_machine=i960-intel
++		os=-mon960
++		;;
++	nonstopux)
++		basic_machine=mips-compaq
++		os=-nonstopux
++		;;
++	np1)
++		basic_machine=np1-gould
++		;;
++	nsr-tandem)
++		basic_machine=nsr-tandem
++		;;
++	op50n-* | op60c-*)
++		basic_machine=hppa1.1-oki
++		os=-proelf
++		;;
++	openrisc | openrisc-*)
++		basic_machine=or32-unknown
++		;;
++	os400)
++		basic_machine=powerpc-ibm
++		os=-os400
++		;;
++	OSE68000 | ose68000)
++		basic_machine=m68000-ericsson
++		os=-ose
++		;;
++	os68k)
++		basic_machine=m68k-none
++		os=-os68k
++		;;
++	pa-hitachi)
++		basic_machine=hppa1.1-hitachi
++		os=-hiuxwe2
++		;;
++	paragon)
++		basic_machine=i860-intel
++		os=-osf
++		;;
++	parisc)
++		basic_machine=hppa-unknown
++		os=-linux
++		;;
++	parisc-*)
++		basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'`
++		os=-linux
++		;;
++	pbd)
++		basic_machine=sparc-tti
++		;;
++	pbb)
++		basic_machine=m68k-tti
++		;;
++	pc532 | pc532-*)
++		basic_machine=ns32k-pc532
++		;;
++	pc98)
++		basic_machine=i386-pc
++		;;
++	pc98-*)
++		basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
++		;;
++	pentium | p5 | k5 | k6 | nexgen | viac3)
++		basic_machine=i586-pc
++		;;
++	pentiumpro | p6 | 6x86 | athlon | athlon_*)
++		basic_machine=i686-pc
++		;;
++	pentiumii | pentium2 | pentiumiii | pentium3)
++		basic_machine=i686-pc
++		;;
++	pentium4)
++		basic_machine=i786-pc
++		;;
++	pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
++		basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
++		;;
++	pentiumpro-* | p6-* | 6x86-* | athlon-*)
++		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
++		;;
++	pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
++		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
++		;;
++	pentium4-*)
++		basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
++		;;
++	pn)
++		basic_machine=pn-gould
++		;;
++	power)	basic_machine=power-ibm
++		;;
++	ppc)	basic_machine=powerpc-unknown
++		;;
++	ppc-*)	basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
++		;;
++	ppcle | powerpclittle | ppc-le | powerpc-little)
++		basic_machine=powerpcle-unknown
++		;;
++	ppcle-* | powerpclittle-*)
++		basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
++		;;
++	ppc64)	basic_machine=powerpc64-unknown
++		;;
++	ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
++		;;
++	ppc64le | powerpc64little | ppc64-le | powerpc64-little)
++		basic_machine=powerpc64le-unknown
++		;;
++	ppc64le-* | powerpc64little-*)
++		basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
++		;;
++	ps2)
++		basic_machine=i386-ibm
++		;;
++	pw32)
++		basic_machine=i586-unknown
++		os=-pw32
++		;;
++	rdos)
++		basic_machine=i386-pc
++		os=-rdos
++		;;
++	rom68k)
++		basic_machine=m68k-rom68k
++		os=-coff
++		;;
++	rm[46]00)
++		basic_machine=mips-siemens
++		;;
++	rtpc | rtpc-*)
++		basic_machine=romp-ibm
++		;;
++	s390 | s390-*)
++		basic_machine=s390-ibm
++		;;
++	s390x | s390x-*)
++		basic_machine=s390x-ibm
++		;;
++	sa29200)
++		basic_machine=a29k-amd
++		os=-udi
++		;;
++	sb1)
++		basic_machine=mipsisa64sb1-unknown
++		;;
++	sb1el)
++		basic_machine=mipsisa64sb1el-unknown
++		;;
++	sde)
++		basic_machine=mipsisa32-sde
++		os=-elf
++		;;
++	sei)
++		basic_machine=mips-sei
++		os=-seiux
++		;;
++	sequent)
++		basic_machine=i386-sequent
++		;;
++	sh)
++		basic_machine=sh-hitachi
++		os=-hms
++		;;
++	sh5el)
++		basic_machine=sh5le-unknown
++		;;
++	sh64)
++		basic_machine=sh64-unknown
++		;;
++	sparclite-wrs | simso-wrs)
++		basic_machine=sparclite-wrs
++		os=-vxworks
++		;;
++	sps7)
++		basic_machine=m68k-bull
++		os=-sysv2
++		;;
++	spur)
++		basic_machine=spur-unknown
++		;;
++	st2000)
++		basic_machine=m68k-tandem
++		;;
++	stratus)
++		basic_machine=i860-stratus
++		os=-sysv4
++		;;
++	sun2)
++		basic_machine=m68000-sun
++		;;
++	sun2os3)
++		basic_machine=m68000-sun
++		os=-sunos3
++		;;
++	sun2os4)
++		basic_machine=m68000-sun
++		os=-sunos4
++		;;
++	sun3os3)
++		basic_machine=m68k-sun
++		os=-sunos3
++		;;
++	sun3os4)
++		basic_machine=m68k-sun
++		os=-sunos4
++		;;
++	sun4os3)
++		basic_machine=sparc-sun
++		os=-sunos3
++		;;
++	sun4os4)
++		basic_machine=sparc-sun
++		os=-sunos4
++		;;
++	sun4sol2)
++		basic_machine=sparc-sun
++		os=-solaris2
++		;;
++	sun3 | sun3-*)
++		basic_machine=m68k-sun
++		;;
++	sun4)
++		basic_machine=sparc-sun
++		;;
++	sun386 | sun386i | roadrunner)
++		basic_machine=i386-sun
++		;;
++	sv1)
++		basic_machine=sv1-cray
++		os=-unicos
++		;;
++	symmetry)
++		basic_machine=i386-sequent
++		os=-dynix
++		;;
++	t3e)
++		basic_machine=alphaev5-cray
++		os=-unicos
++		;;
++	t90)
++		basic_machine=t90-cray
++		os=-unicos
++		;;
++	tic54x | c54x*)
++		basic_machine=tic54x-unknown
++		os=-coff
++		;;
++	tic55x | c55x*)
++		basic_machine=tic55x-unknown
++		os=-coff
++		;;
++	tic6x | c6x*)
++		basic_machine=tic6x-unknown
++		os=-coff
++		;;
++	tile*)
++		basic_machine=tile-unknown
++		os=-linux-gnu
++		;;
++	tx39)
++		basic_machine=mipstx39-unknown
++		;;
++	tx39el)
++		basic_machine=mipstx39el-unknown
++		;;
++	toad1)
++		basic_machine=pdp10-xkl
++		os=-tops20
++		;;
++	tower | tower-32)
++		basic_machine=m68k-ncr
++		;;
++	tpf)
++		basic_machine=s390x-ibm
++		os=-tpf
++		;;
++	udi29k)
++		basic_machine=a29k-amd
++		os=-udi
++		;;
++	ultra3)
++		basic_machine=a29k-nyu
++		os=-sym1
++		;;
++	v810 | necv810)
++		basic_machine=v810-nec
++		os=-none
++		;;
++	vaxv)
++		basic_machine=vax-dec
++		os=-sysv
++		;;
++	vms)
++		basic_machine=vax-dec
++		os=-vms
++		;;
++	vpp*|vx|vx-*)
++		basic_machine=f301-fujitsu
++		;;
++	vxworks960)
++		basic_machine=i960-wrs
++		os=-vxworks
++		;;
++	vxworks68)
++		basic_machine=m68k-wrs
++		os=-vxworks
++		;;
++	vxworks29k)
++		basic_machine=a29k-wrs
++		os=-vxworks
++		;;
++	w65*)
++		basic_machine=w65-wdc
++		os=-none
++		;;
++	w89k-*)
++		basic_machine=hppa1.1-winbond
++		os=-proelf
++		;;
++	xbox)
++		basic_machine=i686-pc
++		os=-mingw32
++		;;
++	xps | xps100)
++		basic_machine=xps100-honeywell
++		;;
++	ymp)
++		basic_machine=ymp-cray
++		os=-unicos
++		;;
++	z8k-*-coff)
++		basic_machine=z8k-unknown
++		os=-sim
++		;;
++	none)
++		basic_machine=none-none
++		os=-none
++		;;
++
++# Here we handle the default manufacturer of certain CPU types.  It is in
++# some cases the only manufacturer, in others, it is the most popular.
++	w89k)
++		basic_machine=hppa1.1-winbond
++		;;
++	op50n)
++		basic_machine=hppa1.1-oki
++		;;
++	op60c)
++		basic_machine=hppa1.1-oki
++		;;
++	romp)
++		basic_machine=romp-ibm
++		;;
++	mmix)
++		basic_machine=mmix-knuth
++		;;
++	rs6000)
++		basic_machine=rs6000-ibm
++		;;
++	vax)
++		basic_machine=vax-dec
++		;;
++	pdp10)
++		# there are many clones, so DEC is not a safe bet
++		basic_machine=pdp10-unknown
++		;;
++	pdp11)
++		basic_machine=pdp11-dec
++		;;
++	we32k)
++		basic_machine=we32k-att
++		;;
++	sh[1234] | sh[24]a | sh[34]eb | sh[1234]le | sh[23]ele)
++		basic_machine=sh-unknown
++		;;
++	sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
++		basic_machine=sparc-sun
++		;;
++	cydra)
++		basic_machine=cydra-cydrome
++		;;
++	orion)
++		basic_machine=orion-highlevel
++		;;
++	orion105)
++		basic_machine=clipper-highlevel
++		;;
++	mac | mpw | mac-mpw)
++		basic_machine=m68k-apple
++		;;
++	pmac | pmac-mpw)
++		basic_machine=powerpc-apple
++		;;
++	*-unknown)
++		# Make sure to match an already-canonicalized machine name.
++		;;
++	*)
++		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
++		exit 1
++		;;
++esac
++
++# Here we canonicalize certain aliases for manufacturers.
++case $basic_machine in
++	*-digital*)
++		basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
++		;;
++	*-commodore*)
++		basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
++		;;
++	*)
++		;;
++esac
++
++# Decode manufacturer-specific aliases for certain operating systems.
++
++if [ x"$os" != x"" ]
++then
++case $os in
++        # First match some system type aliases
++        # that might get confused with valid system types.
++	# -solaris* is a basic system type, with this one exception.
++	-solaris1 | -solaris1.*)
++		os=`echo $os | sed -e 's|solaris1|sunos4|'`
++		;;
++	-solaris)
++		os=-solaris2
++		;;
++	-svr4*)
++		os=-sysv4
++		;;
++	-unixware*)
++		os=-sysv4.2uw
++		;;
++	-gnu/linux*)
++		os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
++		;;
++	# First accept the basic system types.
++	# The portable systems comes first.
++	# Each alternative MUST END IN A *, to match a version number.
++	# -sysv* is not here because it comes later, after sysvr4.
++	-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
++	      | -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\
++	      | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \
++	      | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
++	      | -aos* \
++	      | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
++	      | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
++	      | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
++	      | -openbsd* | -solidbsd* \
++	      | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
++	      | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
++	      | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
++	      | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
++	      | -chorusos* | -chorusrdb* \
++	      | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
++	      | -mingw32* | -linux-gnu* | -linux-newlib* | -linux-uclibc* \
++	      | -uxpv* | -beos* | -mpeix* | -udk* \
++	      | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
++	      | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
++	      | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
++	      | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
++	      | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
++	      | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
++	      | -skyos* | -haiku* | -rdos* | -toppers* | -drops* )
++	# Remember, each alternative MUST END IN *, to match a version number.
++		;;
++	-qnx*)
++		case $basic_machine in
++		    x86-* | i*86-*)
++			;;
++		    *)
++			os=-nto$os
++			;;
++		esac
++		;;
++	-nto-qnx*)
++		;;
++	-nto*)
++		os=`echo $os | sed -e 's|nto|nto-qnx|'`
++		;;
++	-sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
++	      | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
++	      | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
++		;;
++	-mac*)
++		os=`echo $os | sed -e 's|mac|macos|'`
++		;;
++	-linux-dietlibc)
++		os=-linux-dietlibc
++		;;
++	-linux*)
++		os=`echo $os | sed -e 's|linux|linux-gnu|'`
++		;;
++	-sunos5*)
++		os=`echo $os | sed -e 's|sunos5|solaris2|'`
++		;;
++	-sunos6*)
++		os=`echo $os | sed -e 's|sunos6|solaris3|'`
++		;;
++	-opened*)
++		os=-openedition
++		;;
++        -os400*)
++		os=-os400
++		;;
++	-wince*)
++		os=-wince
++		;;
++	-osfrose*)
++		os=-osfrose
++		;;
++	-osf*)
++		os=-osf
++		;;
++	-utek*)
++		os=-bsd
++		;;
++	-dynix*)
++		os=-bsd
++		;;
++	-acis*)
++		os=-aos
++		;;
++	-atheos*)
++		os=-atheos
++		;;
++	-syllable*)
++		os=-syllable
++		;;
++	-386bsd)
++		os=-bsd
++		;;
++	-ctix* | -uts*)
++		os=-sysv
++		;;
++	-nova*)
++		os=-rtmk-nova
++		;;
++	-ns2 )
++		os=-nextstep2
++		;;
++	-nsk*)
++		os=-nsk
++		;;
++	# Preserve the version number of sinix5.
++	-sinix5.*)
++		os=`echo $os | sed -e 's|sinix|sysv|'`
++		;;
++	-sinix*)
++		os=-sysv4
++		;;
++        -tpf*)
++		os=-tpf
++		;;
++	-triton*)
++		os=-sysv3
++		;;
++	-oss*)
++		os=-sysv3
++		;;
++	-svr4)
++		os=-sysv4
++		;;
++	-svr3)
++		os=-sysv3
++		;;
++	-sysvr4)
++		os=-sysv4
++		;;
++	# This must come after -sysvr4.
++	-sysv*)
++		;;
++	-ose*)
++		os=-ose
++		;;
++	-es1800*)
++		os=-ose
++		;;
++	-xenix)
++		os=-xenix
++		;;
++	-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
++		os=-mint
++		;;
++	-aros*)
++		os=-aros
++		;;
++	-kaos*)
++		os=-kaos
++		;;
++	-zvmoe)
++		os=-zvmoe
++		;;
++	-none)
++		;;
++	*)
++		# Get rid of the `-' at the beginning of $os.
++		os=`echo $os | sed 's/[^-]*-//'`
++		echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
++		exit 1
++		;;
++esac
++else
++
++# Here we handle the default operating systems that come with various machines.
++# The value should be what the vendor currently ships out the door with their
++# machine or put another way, the most popular os provided with the machine.
++
++# Note that if you're going to try to match "-MANUFACTURER" here (say,
++# "-sun"), then you have to tell the case statement up towards the top
++# that MANUFACTURER isn't an operating system.  Otherwise, code above
++# will signal an error saying that MANUFACTURER isn't an operating
++# system, and we'll never get to this point.
++
++case $basic_machine in
++        score-*)
++		os=-elf
++		;;
++        spu-*)
++		os=-elf
++		;;
++	*-acorn)
++		os=-riscix1.2
++		;;
++	arm*-rebel)
++		os=-linux
++		;;
++	arm*-semi)
++		os=-aout
++		;;
++        c4x-* | tic4x-*)
++        	os=-coff
++		;;
++	# This must come before the *-dec entry.
++	pdp10-*)
++		os=-tops20
++		;;
++	pdp11-*)
++		os=-none
++		;;
++	*-dec | vax-*)
++		os=-ultrix4.2
++		;;
++	m68*-apollo)
++		os=-domain
++		;;
++	i386-sun)
++		os=-sunos4.0.2
++		;;
++	m68000-sun)
++		os=-sunos3
++		# This also exists in the configure program, but was not the
++		# default.
++		# os=-sunos4
++		;;
++	m68*-cisco)
++		os=-aout
++		;;
++        mep-*)
++		os=-elf
++		;;
++	mips*-cisco)
++		os=-elf
++		;;
++	mips*-*)
++		os=-elf
++		;;
++	or32-*)
++		os=-coff
++		;;
++	*-tti)	# must be before sparc entry or we get the wrong os.
++		os=-sysv3
++		;;
++	sparc-* | *-sun)
++		os=-sunos4.1.1
++		;;
++	*-be)
++		os=-beos
++		;;
++	*-haiku)
++		os=-haiku
++		;;
++	*-ibm)
++		os=-aix
++		;;
++    	*-knuth)
++		os=-mmixware
++		;;
++	*-wec)
++		os=-proelf
++		;;
++	*-winbond)
++		os=-proelf
++		;;
++	*-oki)
++		os=-proelf
++		;;
++	*-hp)
++		os=-hpux
++		;;
++	*-hitachi)
++		os=-hiux
++		;;
++	i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
++		os=-sysv
++		;;
++	*-cbm)
++		os=-amigaos
++		;;
++	*-dg)
++		os=-dgux
++		;;
++	*-dolphin)
++		os=-sysv3
++		;;
++	m68k-ccur)
++		os=-rtu
++		;;
++	m88k-omron*)
++		os=-luna
++		;;
++	*-next )
++		os=-nextstep
++		;;
++	*-sequent)
++		os=-ptx
++		;;
++	*-crds)
++		os=-unos
++		;;
++	*-ns)
++		os=-genix
++		;;
++	i370-*)
++		os=-mvs
++		;;
++	*-next)
++		os=-nextstep3
++		;;
++	*-gould)
++		os=-sysv
++		;;
++	*-highlevel)
++		os=-bsd
++		;;
++	*-encore)
++		os=-bsd
++		;;
++	*-sgi)
++		os=-irix
++		;;
++	*-siemens)
++		os=-sysv4
++		;;
++	*-masscomp)
++		os=-rtu
++		;;
++	f30[01]-fujitsu | f700-fujitsu)
++		os=-uxpv
++		;;
++	*-rom68k)
++		os=-coff
++		;;
++	*-*bug)
++		os=-coff
++		;;
++	*-apple)
++		os=-macos
++		;;
++	*-atari*)
++		os=-mint
++		;;
++	*)
++		os=-none
++		;;
++esac
++fi
++
++# Here we handle the case where we know the os, and the CPU type, but not the
++# manufacturer.  We pick the logical manufacturer.
++vendor=unknown
++case $basic_machine in
++	*-unknown)
++		case $os in
++			-riscix*)
++				vendor=acorn
++				;;
++			-sunos*)
++				vendor=sun
++				;;
++			-aix*)
++				vendor=ibm
++				;;
++			-beos*)
++				vendor=be
++				;;
++			-hpux*)
++				vendor=hp
++				;;
++			-mpeix*)
++				vendor=hp
++				;;
++			-hiux*)
++				vendor=hitachi
++				;;
++			-unos*)
++				vendor=crds
++				;;
++			-dgux*)
++				vendor=dg
++				;;
++			-luna*)
++				vendor=omron
++				;;
++			-genix*)
++				vendor=ns
++				;;
++			-mvs* | -opened*)
++				vendor=ibm
++				;;
++			-os400*)
++				vendor=ibm
++				;;
++			-ptx*)
++				vendor=sequent
++				;;
++			-tpf*)
++				vendor=ibm
++				;;
++			-vxsim* | -vxworks* | -windiss*)
++				vendor=wrs
++				;;
++			-aux*)
++				vendor=apple
++				;;
++			-hms*)
++				vendor=hitachi
++				;;
++			-mpw* | -macos*)
++				vendor=apple
++				;;
++			-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
++				vendor=atari
++				;;
++			-vos*)
++				vendor=stratus
++				;;
++		esac
++		basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
++		;;
++esac
++
++echo $basic_machine$os
++exit
++
++# Local variables:
++# eval: (add-hook 'write-file-hooks 'time-stamp)
++# time-stamp-start: "timestamp='"
++# time-stamp-format: "%:y-%02m-%02d"
++# time-stamp-end: "'"
++# End:
+diff --exclude CVS -r -u -N perl-5.16.3-extract/cnf/configure perl-5.16.3/cnf/configure
+--- cnf/configure	1969-12-31 16:00:00.000000000 -0800
++++ cnf/configure	2013-05-16 05:27:04.000000000 -0700
+@@ -0,0 +1,241 @@
++#!/bin/sh
++
++if [ -z "$base" ]; then export base=.; else export base; fi
++config='config.bad'
++cfglog_base="config.log"
++cfglog="$cfglog_base.$$"
++unset keeplog
++echo -n > "$cfglog"
++
++. $base/configure__f.sh
++. $base/configure_clev.sh
++. $base/configure_args.sh
++
++if [ "$mode" = 'help' ]; then
++	. $base/configure_help.sh
++	exit
++fi
++
++if [ -z "$keeplog" -a "$mode" != 'regen' ]; then
++	cat "$cfglog" > "$cfglog_base"
++else
++	cat "$cfglog" >> "$cfglog_base"
++fi
++rm -f "$cfglog"
++cfglog="$cfglog_base"
++
++
++# Possible modes are: (none), native, cross, buildmini, target
++# Default mode, (none), means -z $mode -a -z $target
++# $build is needed for (none), native, buildmini, and for cross to pass it to buildmini
++# $target is needed for cross and target
++
++if [ -z "$buildarch" -a "$mode" != "target" ]; then
++	mstart "Guessing build platform"
++	if [ "x$build" = "x" ]; then
++		buildarch=`$base/config.guess 2>>$cfglog`
++	else
++		buildarch=`$base/config.sub "$build" 2>>$cfglog`
++	fi
++	if [ -n "$buildarch" ]; then
++		result "$buildarch"
++	else
++		gccbuild=`gcc -v 2>&1 | grep Target | sed -e 's/Target: *//'`
++		buildarch=`$base/config.sub "$gccbuild" 2>>$cfglog`
++		if [ -n "$gccbuild" ]; then
++			result "$buildarch"
++		else
++			if [ -n "$build" ]; then
++				setvar 'buildarch' "$build"
++			else
++				setvar 'buildarch' 'unknown'
++			fi
++			result "$buildarch"
++			msg "WARNING: Couldn't guess build platform, using '$buildarch'"
++		fi
++	fi
++fi
++# past this point $build/$buildarch are non-empty unless we're in target mode
++
++if [ -z "$mode" ]; then
++	if [ -z "$target" -o "$target" = "$build" ]; then
++		msg "Assuming native build"
++		mode='native'
++	else
++		msg "Assuming cross-compilation for '$target'"
++		mode='cross'
++	fi
++fi
++# past this point $mode can't be empty
++
++if [ "$mode" = "buildmini" -o "$mode" = "native" ]; then
++	targetarch="$buildarch"
++	target="$build"
++fi
++
++if [ -n "$target" -a -z "$targetarch" ]; then
++	mstart "Guessing target architecture"	
++	targetarch=`$base/config.sub "$target" 2>>$cfglog`
++	if [ -n "$targetarch" ]; then
++		result "$targetarch"
++	else
++		gcctarget=`$target-gcc -v 2>&1 | grep Target | sed -e 's/Target: *//'`
++		targetarch=`$base/config.sub "$gcctarget" 2>>$cfglog`
++		if [ -n "$targetarch" ]; then
++			result "$targetarch"
++		else
++			result "($target)"
++			targetarch="$target"
++			msg "WARNING: Couldn't determine target architecture, using '$target'"
++		fi
++	fi
++elif [ -z "$target" ]; then
++	if [ "$mode" = 'cross' -o "$mode" = 'target' ]; then
++		die "--target must be specified for a cross build"
++	fi
++fi
++
++if [ "$mode" = "cross" ]; then
++	msg "Respawning configure for build and target platforms"
++	msg
++	run $0 $hco --keeplog --mode=buildmini --build="$build" --buildarch="$buildarch"\
++		--target-name="$target" --target-arch="$targetarch"\
++		|| die "configure --mode=buildmini failed"
++	msg
++       	run $0 "$@" --keeplog --mode=target --target="$target" --targetarch="$targetarch"\
++		|| die "configure --mode=target failed"
++	msg
++	msg "Ok, back to the top-level configure"
++elif [ "$mode" = "buildmini" ]; then
++	targetlabel=`archlabel "$build" "$targetarch"`
++	msg "Configuring build-time miniperl for $targetlabel"
++	if [ "x$build" != "x" ]; then pf1="$build-"; else pf1=""; fi
++	pf2="$build-"
++	config='xconfig.sh'
++	if [ -z "$target_name" ]; then
++		msg "Warning: buildmini without --target-name; miniperl installation will not be possible"
++	fi
++elif [ "$mode" = "target" ]; then
++	targetlabel=`archlabel "$target" "$targetarch"`
++	msg "Configuring primary perl executable for $targetlabel"
++	if [ "x$target" != "x" ]; then pf1="$target-"; else pf1="$targetarch-"; fi
++	pf2="$target-"
++	config='config.sh'
++elif [ "$mode" = "native" ]; then 
++	msg "Configuring for native build"
++	config='config.sh'
++fi
++
++if [ "$mode" = "target" ]; then
++	setvar 'usecrosscompile' 'define'
++fi
++
++if [ "$mode" = 'native' -o "$mode" = 'buildmini' -o "$mode" = "target" ]; then
++	. $base/configure_version.sh
++	. $base/configure_hint.sh
++	. $base/configure_vars.sh
++	. $base/configure_prog.sh
++	. $base/configure_hinu.sh
++	. $base/configure_cfby.sh
++	. $base/configure_hdrs.sh
++	. $base/configure_type.sh
++	. $base/configure_type_ext.sh
++	. $base/configure_type_sel.sh
++	. $base/configure_byte.sh
++	. $base/configure_sigs.sh
++	. $base/configure_libs.sh
++	. $base/configure_func.sh
++	. $base/configure_defs.sh
++	. $base/configure_fung.sh
++	. $base/configure_attr.sh
++	. $base/configure_link.sh
++	. $base/configure_dbug.sh
++	if [ "$usethreads" = 'define' ]; then
++		. $base/configure_thrd.sh
++		failpoint
++	fi
++	. $base/configure_misc.sh
++	if [ "$mode" != "buildmini" ]; then
++		. $base/configure_mods.sh
++		failpoint
++	fi
++	. $base/configure_genc.sh
++	failpoint
++	if [ "$mode" = 'target' ]; then
++		config="tconfig.sh"
++		. $base/configure_targ.sh
++		. $base/configure_genc.sh
++		failpoint
++	fi
++fi
++
++
++if [ "$mode" = 'native' ]; then
++	echo "Generating config.h"
++	./config_h.SH
++	echo "Generating Makefile.config"
++	./Makefile.config.SH
++
++	echo
++	echo "Configuration completed for native build"
++	echo
++	echo "            platform:  $archname"
++	echo "          c compiler:  $cc"
++	echo "                  ld:  $ld"
++	echo "                  ar:  $ar"
++	echo "              ranlib:  $ranlib"
++	echo
++	echo "              prefix:  $prefix"
++	echo " installation prefix:  $installprefix"
++	echo "         executables:  $bin"
++	echo "             scripts:  $bin"
++	echo "             privlib:  $privlib"
++	echo "             archlib:  $archlib"
++	echo " section 1 man pages:  $man1dir  (with '$man1ext' extension)"
++	echo " section 3 man pages:  $man3dir  (with '$man3ext' extension)"
++	echo
++elif [ "$mode" = 'cross' ]; then
++	echo "Generating config.h and xconfig.h"
++	CONFIG_SH=config.sh  CONFIG_H=config.h  ./config_h.SH
++	CONFIG_SH=xconfig.sh CONFIG_H=xconfig.h ./config_h.SH
++	echo "Generating Makefile.config"
++	./Makefile.config.SH
++	echo
++	echo "Configuration completed for cross build"
++	echo
++	. ./xconfig.sh
++	echo "      build platform:  $archname"
++	echo "          C compiler:  $cc"
++	echo "              linker:  $ld"
++	echo "                  ar:  $ar"
++	echo "              ranlib:  $ranlib"
++	echo "             objdump:  $objdump"
++	echo
++	. ./config.sh
++	echo "     target platform:  $archname"
++	echo "          C compiler:  $cc"
++	echo "                  ld:  $ld"
++	echo "                  ar:  $ar"
++	echo "              ranlib:  $ranlib"
++	echo "             objdump:  $objdump"
++	echo
++	echo "              prefix:  $prefix"
++	echo "             sysroot:  $sysroot"
++	echo " installation prefix:  $installprefix"
++	echo "         executables:  $bin"
++	echo "             scripts:  $bin"
++	echo "             privlib:  $privlib"
++	echo "             archlib:  $archlib"
++	echo " section 1 man pages:  $man1dir  (with '$man1ext' extension)"
++	echo " section 3 man pages:  $man3dir  (with '$man3ext' extension)"
++	echo
++elif [ "$mode" = "regen" ]; then
++	if [ -f config.sh ]; then
++		CONFIG_SH=config.sh  CONFIG_H=config.h  ./config_h.SH
++	fi
++	if [ -f xconfig.sh ]; then
++		CONFIG_SH=xconfig.sh CONFIG_H=xconfig.h ./config_h.SH
++	fi
++	echo "Generating Makefile.config"
++	./Makefile.config.SH
++fi
+diff --exclude CVS -r -u -N perl-5.16.3-extract/cnf/configure__f.sh perl-5.16.3/cnf/configure__f.sh
+--- cnf/configure__f.sh	1969-12-31 16:00:00.000000000 -0800
++++ cnf/configure__f.sh	2013-05-16 07:11:06.000000000 -0700
+@@ -0,0 +1,350 @@
++#!/bin/sh
++
++# General-purpose functions used by most of other modules
++
++# Note: one-letter variables are "local"
++
++die () {
++	echo "ERROR: $*" >> $cfglog
++	echo "ERROR: $*" >&2
++	exit 255
++}
++
++# note: setvar()s should preceede result() to produce a nice log
++result () {
++	echo "Result: $*" >> $cfglog
++	echo >> $cfglog
++	echo "$@" >&2
++}
++
++log () {
++	echo "$@" >> $cfglog
++}
++
++msg () {
++	printf "$@\n" >> $cfglog
++	printf "$@\n" >&2
++}
++
++run () {
++	echo "> $@" >> $cfglog
++	"$@"
++}
++
++# Let user see the whole bunch of errors instead of stopping on the first
++fail () {
++	echo "ERROR: $*" >& 2
++	fail=1
++}
++
++failpoint () {
++	if [ -n "$fail" ]; then
++		exit 255
++	fi
++}
++
++mstart () {
++	echo "$@" >> $cfglog
++	echo -n "$* ... " >& 2
++}
++
++# setenv name value
++# emulates (incorrect in sh) statement $$1="$2"
++setenv () {
++	eval $1="'$2'"
++}
++
++# setvar name value
++# emulates (incorrect in sh) statement $$1="$2"
++setvar () {
++	_x=`valueof "$1"`
++	if [ "$_x" != "$2" ]; then
++		eval $1="'$2'"
++		log "Set $1='$2'"
++	fi
++}
++
++# setvar for user-defined variables
++# additional care is taken here to allow setting
++# variables *not* listed in _gencfg
++# $uservars keeps the list of user-set variables
++# $x_(varname) is set to track putvar() calls for this variable
++uservars=''
++setvaru () {
++	if [ -n "$uservars" ]; then
++		uservars="$uservars $1"
++	else
++		uservars="$1"
++	fi
++	setenv "$1" "$2"
++	setenv "u_$1" "$2"
++	if [ -n "$3" ]; then
++		setenv "x_$1" "$3"
++	else
++		setenv "x_$1" 'user'
++	fi
++	log "Set user $1='$2'"
++}
++
++
++# putvar name value
++# writes given variable to config, and checks it as
++# "written" if necessary (i.e. for user variables)
++putvar () {
++	_x=`valueof "x_$1"`
++	test -n "$_x" && setenv "x_$1" 'written'
++	echo "$1='$2'" >> $config
++	setvar "$1" "$2"
++}
++
++setifndef () {
++	v=`valueof "$1"`
++	if [ -z "$v" ]; then
++		setvar "$1" "$2"
++	fi
++}
++
++# archlabel target targetarch -> label
++archlabel () {
++	if [ -n "$1" -a -n "$2" ]; then
++		echo "$1 ($2)"
++	elif [ -n "$2" ]; then
++		echo "$2"
++	elif [ -n "$1" ]; then
++		echo "$1"
++	else
++		echo "unknown"
++	fi
++}
++
++setvardefault () {
++	v=`valueof "$1"`
++	if [ -z "$v" ]; then
++		setvar "$1" "$2"
++	else
++		setvar "$1" "$v"
++	fi
++}
++
++# Was more meaningful in the past, but now just a stub.
++check () {
++	"$@"
++}
++
++not () { if "$@"; then false; else true; fi; }
++
++require () {
++	v=`valueof "$1"`
++	if [ -z "$v" ]; then
++		die "Required $1 is not set"
++	fi
++}
++
++symbolname () {
++	echo "$1" | sed -E -e 's/^\(struct\|enum\|union\|unsigned\) /s_/'\
++		-e 's/\*/ptr/g' -e 's/\.h$//' -e 's/[^A-Za-z0-9_]//' \
++		-e 's/^s_(.*)/\1_s/' -e 's/_//g' |\
++		tr 'A-Z' 'a-z'
++}
++
++try_start () {
++	echo -n > try.c
++}
++
++try_includes () {
++	for i in "$@"; do 
++		s=i_`symbolname "$i"`
++		v=`valueof "$s"`
++		if [ "$v" = 'define' ]; then
++			echo "#include <$i>" >> try.c
++		else 
++			echo "/* <$i> missing */" >> try.c
++		fi
++	done
++}
++
++try_add () {
++	echo "$@" >> try.c
++}
++
++try_cat () {
++	cat "$@" >> try.c
++}
++
++try_dump () {
++	cat try.c | sed -e 's/^/| /' >> $cfglog
++}
++
++try_dump_out () {
++	cat try.out | sed -e 's/^/| /' >> $cfglog
++}
++
++try_dump_h () {
++	cat try.h | sed -e 's/^/| /' >> $cfglog
++}
++
++try_preproc () {
++	require 'cpp'
++	#try_dump
++	run $cpp $ccflags try.c > try.out 2>> $cfglog
++}
++
++try_compile () {
++	require 'cc'
++	require '_o'
++	try_dump
++	run $cc $ccflags "$@" -c -o try$_o try.c >> $cfglog 2>&1
++}
++
++# an equivalent of try_compile with -Werror, but without
++# explicit use of -Werror (which may not be available for
++# a given compiler)
++try_compile_check_warnings () {
++	require 'cc'
++	require '_o'
++	try_dump
++	run $cc $ccflags -c -o try$_o try.c > try.out 2>&1
++	_r=$?
++	cat try.out >> $cfglog
++	if [ $_r != 0 ]; then
++		return 1;
++	fi
++	if grep -q -i 'warning' try.out; then
++		return 1;
++	fi
++	return 0
++}
++
++try_link_libs () {
++	require 'cc'
++	try_dump
++	run $cc $ccflags -o try$_e try.c $* >> $cfglog 2>&1
++}
++
++try_link () {
++	try_link_libs $libs
++}
++
++try_readelf () {
++	require 'readelf'
++	require '_o'
++	run $readelf $* try$_o
++}
++
++try_objdump () {
++	require 'objdump'
++	require '_o'
++	run $objdump $* try.o > try.out
++}
++
++isset () {
++	z=`valueof "$1"`
++	if test -n "$z"; then
++		log "Skipping check for $1, value already set ($z)"
++		true
++	else
++		false
++	fi
++}
++
++bytes () { if [ "$1" = 1 ]; then echo "byte"; else echo "bytes"; fi }
++
++valueof () { eval echo "\"\$$1\""; }
++
++# $1=$$2
++pullval () {
++	log "Setting $1 from $2"
++	eval "$1=\"\$$2\""
++}
++
++ifhint () {
++	h=`valueof "$1"`
++	x=`valueof "x_$1"`
++	test -z "$x" && x='preset'
++	if test -n "$h"; then
++		log "Value for $1: $h ($x)"
++		result "($x) $h"
++		return 0
++	else
++		return 1
++	fi
++}
++
++ifhintsilent () {
++	h=`valueof "$1"`
++	x=`valueof "x_$1"`
++	test -z "$x" && x='preset'
++	if test -n "$h"; then
++		log "Value for $1: $h ($x)"
++		return 0
++	else
++		return 1
++	fi
++}
++
++# just an alias for the above functions, to avoid awkward
++# lines like "if ifhint"
++hinted () {
++	ifhint "$@"
++}
++
++ifhintdefined () {
++	h=`valueof "$1"`
++	x=`valueof "x_$1"`
++	test -z "$x" && x='preset'
++	if test -n "$h"; then
++		if [ "$h" = 'define' ]; then
++			log "Value for $1: $2 (yes, define) ($x)"
++			result "($x) $2"
++			__=0
++		else
++			log "Value for $1: $2 (no, undef) ($x)"
++			result "($x) $3"
++			__=1
++		fi	
++		return 0
++	else
++		return 1
++	fi
++}
++
++# for use in if clauses
++nothinted () { ifhint "$@" && return 1 || return 0; }
++nohintdefined () { ifhintdefined "$@" && return 1 || return 0; }
++
++# resdef result-yes result-no symbol symbol2
++resdef () {
++	if [ $? = 0 ]; then
++		setvar "$3" "define"
++		test -n "$4" && setvar "$4" 'define'
++		result "$1"
++		return 0
++	else
++		setvar "$3" 'undef'
++		test -n "$4" && setvar "$4" 'undef'
++		result "$2"
++		return 1
++	fi	
++}
++
++modsymname () {
++	echo "$1" | sed -E -e 's!^\(ext\|cpan\|dist\|lib\)/!!' -e 's![:/-]!_!g' | tr A-Z a-z
++}
++
++# like source but avoid $PATH searches for simple file names
++sourcenopath () {
++	case "$1" in
++		/*) source "$1" ;;
++		*) source "./$1" ;;
++	esac
++}
++
++# appendsvar vardst value-to-append
++appendvar () {
++	v=`valueof "$1"`
++	if [ -n "$v" -a -n "$2" ]; then
++		setvar "$1" "$v $2"
++	elif [ -z "$v" -a -n "$2" ]; then
++		setvar "$1" "$2"
++	fi
++}
+diff --exclude CVS -r -u -N perl-5.16.3-extract/cnf/configure_args.sh perl-5.16.3/cnf/configure_args.sh
+--- cnf/configure_args.sh	1969-12-31 16:00:00.000000000 -0800
++++ cnf/configure_args.sh	2013-05-16 06:50:25.000000000 -0700
+@@ -0,0 +1,258 @@
++#!/bin/sh
++
++defineyesno () {
++	if [ "$2" = "yes" ]; then
++		setvaru "$1" "$3"
++	elif [ "$2" = "no" ]; then
++		setvaru "$1" "$4"
++	elif [ -z "$2" ]; then
++		setvaru "$1" "$3"
++	else
++		die "Bad value for $1, only 'yes' and 'no' are allowed"
++	fi
++}
++
++defyes () { defineyesno "$1" "$2" 'define' 'undef'; }
++defno  () { defineyesno "$1" "$2" 'undef' 'define'; }
++
++# setordefine key hasarg arg default
++setordefine () {
++	if [ -n "$2" ]; then
++		setvaru "$1" "$3"
++	else
++		setvaru "$1" "$4"
++	fi
++}
++
++# pushvar stem value
++pushnvar () {
++	eval n_$1=\$[n_$1+0]
++	eval n_=\${n_$1}
++	eval $1_$n_="'$2'"
++	eval n_$1=\$[n_$1+1]
++	unset -v n_
++}
++
++# pushvar stem key value
++pushnvarkvx () {
++	eval n_$1=\$[n_$1+0]
++	eval n_=\${n_$1}
++	eval $1_k_$n_="'$2'"
++	eval $1_v_$n_="'$3'"
++	eval $1_x_$n_="'$4'"
++	eval n_$1=\$[n_$1+1]
++	unset -v n_
++}
++
++config_arg0="$0"
++config_argc=$#
++config_args="$*"
++
++# Do *not* use shifts here! The args may be used later
++# to call configure --mode=target, and saving them
++# by other means is hard.
++i=1
++n=''	# next opt
++while [ $i -le $# -o -n "$n" ]; do
++	# in case we've got a short-opt cluster (-abc etc.)
++	if [ -z "$n" ]; then
++		eval a="\${$i}"; i=$((i+1))	# arg ("set" or 'D')
++	else
++		a="-$n"
++		n=''
++	fi
++	k=''					# key ("prefix")
++	v=''					# value ("/usr/local")
++	x=''
++
++	# check what kind of option is this
++	case "$a" in
++		# short opts
++		-[dehrsEKOSV]*)
++			n=`echo "$a" | sed -E -e 's/^-.//'`
++			a=`echo "$a" | sed -E -e 's/^-(.).*/\1/'`
++			;;
++		-[A-Za-z]*)
++			k=`echo "$a" | sed -E -e 's/^-.//'`
++			a=`echo "$a" | sed -E -e 's/^-(.).*/\1/'`
++			;;
++		--[A-Za-z]*)
++			a=`echo "$a" | sed -E -e 's/^--//'`
++			;;
++		*)
++			echo "Bad option $a"
++			continue;
++			;;
++	esac
++	# split --set-foo and similar constructs into --set foo
++	# and things like --prefix=/foo into --prefix and /foo
++	case "$a" in
++		set-*|use-*|include-*)
++			k=`echo "$a" | sed -E -e 's/^[^-]*-//'`
++			a=`echo "$a" | sed -E -e 's/-.*//'`
++			;;
++		dont-use-*|dont-include-*)	
++			k=`echo "$a" | sed -E -e 's/^dont-[^-]*-//'`
++			a=`echo "$a" | sed -E -e 's/^(dont-[^-]*)-.*/\1/'`
++			;;
++		*=*)
++			k=`echo "$a" | sed -E -e 's/^[^=]*=//'`
++			a=`echo "$a" | sed -E -e 's/=.*//'`
++			;;
++	esac
++	# check whether kv is required
++	# note that $x==1 means $k must be set; the value, $v, may be empty
++	case "$a" in
++		help|regen*|mode|host|target|build|keeplog|[dehrsEKOSV]) x='' ;;
++		all-static|no-*) x='' ;;
++		*) x=1 ;;
++	esac
++	# fetch argument if necessary (--set foo=bar)
++	# note that non-empty n means there must be no argument
++	if [ -n "$x" -a -z "$k" -a -z "$n" ]; then
++		eval k="\${$i}"; i=$((i+1))
++	fi
++	# split kv pair into k and v (k=foo v=bar)
++	case "$k" in
++		*=*)
++			v=`echo "$k" | sed -E -e 's/^[^=]*=//'`
++			k=`echo "$k" | sed -E -e 's/=.*//'`
++			x=1
++			;;
++		*)
++			x=''
++			;;
++	esac
++	#echo "a=$a k=$k v=$v"
++
++	# Account for the fact that in "--set foo" foo is key
++	# while in "--mode foo" foo is value
++	case "$a" in
++		set|use|has|no|include|dont-use|dont-include|D|U)	
++			k=`echo "$k" | sed -E -e 's/-/_/g'`
++			;;
++		*)
++			if [ -z "$v" -a -n "$k" ]; then
++				v="$k"
++				k=""
++			fi
++	esac
++	#if [ -z "$v" -a -n "$k" ]; then v="$k"; k=""; fi
++
++	# ($a, $k, $v) are all set here by this point
++	# having non-empty x here means the option actually had a parameter
++	# and can be used to separate -Dfoo and -Dfoo=''
++	#log "a=$a k=$k v=$v ($x)"
++
++	# process the options
++	case "$a" in
++		mode) setvar $a "$v" ;;
++		help) setvar "mode" "help" ;;
++		regen|regenerate) setvar "mode" "regen" ;;
++		keeplog) setvar "$a" 1 ;;
++		prefix|html[13]dir|libsdir)	setvar $a "$v" ;;
++		man[13]dir|otherlibsdir)	setvar $a "$v" ;;
++		siteprefix|sitehtml[13]dir)	setvar $a "$v" ;;
++		siteman[13]dir|vendorman[13]dir)setvar $a "$v" ;;
++		vendorprefix|vendorhtml[13]dir)	setvar $a "$v" ;;
++		target|targetarch)		setvar $a "$v" ;;
++		build|buildarch)		setvar $a "$v" ;;
++		cc|cpp|ar|ranlib|objdump)	setvar $a "$v" ;;
++		sysroot)			setvar $a "$v" ;;
++		ttp|tools-prefix|target-tools-prefix)
++			setvar 'toolsprefix' "$v"
++			;;
++		no-dynaloader|without-dynaloader)
++			setvaru 'usedl' 'undef' 'user'
++			;;
++		with-dynaloader)
++			setvaru 'usedl' 'define' 'user'
++			;;
++		hint|hints)
++			if [ -n "$userhints" ]; then
++				userhints="$userhints,$v"
++			else
++				userhints="$v"
++			fi
++			;;
++		libs)
++			if [ -n "$v" ]; then
++				v=`echo ",$v" | sed -E -e 's/,([^,]+)/-l\1 /g'`
++				setvar 'libs' "$v"
++			fi
++			;;
++		host-*)
++			what=`echo "$a" | sed -E -e 's/^host-//'`
++			hco="$hco --$what='$v'"
++			;;
++		target-*)
++			what=`echo "$a" | sed -E -e 's/-/_/g'`
++			setvaru "$what" "$v"
++			;;
++		disable-mod|disable-ext|disable-module|disable-modules)
++			for m in `echo "$v" | sed -E -e 's/,/ /g'`; do
++				s=`modsymname "$m"`
++				setvar "disable_$s" "1"
++			done
++			;;
++		static-mod|static-ext|static-modules|static)
++			for m in `echo "$v" | sed -E -e 's/,/ /g'`; do
++				s=`modsymname "$m"`
++				setvar "static_$s" "1"
++			done
++			;;
++		only-mod|only-ext|only-modules|only)
++			for m in `echo "$v" | sed -E -e 's/,/ /g'`; do
++				s=`modsymname "$m"`
++				setvar "only_$s" "1"
++				setvar "onlyext" "$s $onlyext"
++			done
++			;;
++		disable-disabled-mods) setvar 'disabledmods' 'undef' ;;
++		all-static) setvar 'allstatic' 1 ;;
++		use) setvaru "use$k" 'define' ;;
++		dont-use) setvaru "use$k" 'undef' ;;
++		set) setvaru "$k" "$v" ;;
++		has) defyes "d_$k" "$v" ;;
++		no) defno "d_$k" "$v" ;;
++		include) defyes "i_$k" "$v" ;;
++		dont-include) defno "i_$k" "$v" ;;
++		mode|host|target|build) ;;
++		# original Configure options
++		D)
++			setordefine "$k" "$x" "$v" 'define'
++			;;
++		U)
++			test -n "$v" && msg "WARNING: -Ukey=val, val ignored; use -Dkev=val instead"
++			setordefine "$k" "$x" "" 'undef' # "" is *not* a typo here!
++			;;
++		O) overwrite=1 ;;
++		f) pushnvar loadfile "$v" ;;
++		A)	# see configure_hint
++			pushnvarkvx appendlist "$k" "$v" "$x" ;;
++		S|V|K) die "-$a is not supported" ;;
++		d|r) msg "WARNING: -$a makes no sense for this version of configure and was ignored" ;;
++		e|E) msg "WARNING: -$a ignored; you'll have to proceed with 'make' anyway" ;;
++		*) die "Unknown argument $a" ;;
++	esac
++done
++unset -v i a k v x n
++
++# Process -f args (if any) after all options have been parsed
++if test -n "$n_loadfile"; then
++	i=0
++	while [ $i -lt $n_loadfile ]; do
++		f=`valueof "loadfile_$i"`
++		sourcenopath $f
++		i=$(( i + 1 ))
++	done
++fi
++unset -v i f
++
++# Handle -O
++if [ -n "$overwrite" -a -n "$uservars" ]; then
++	for k in $uservars; do
++		v=`valueof "u_$k"`
++		setenv $k "$v"
++	done
++fi
+diff --exclude CVS -r -u -N perl-5.16.3-extract/cnf/configure_attr.sh perl-5.16.3/cnf/configure_attr.sh
+--- cnf/configure_attr.sh	1969-12-31 16:00:00.000000000 -0800
++++ cnf/configure_attr.sh	2013-05-16 05:27:04.000000000 -0700
+@@ -0,0 +1,97 @@
++#!/bin/sh
++
++# Checking compiler's reaction to __attribute__s.
++# Which basically boils down to compiling predefined
++# fragments and watching for errors.
++
++# checkattr attr <<END
++#    test file goes here
++# END
++checkattr () {
++	mstart "Checking if compiler supports __attribute__($1)"
++	ifhintdefined "d_attribute_$1" "yes" "no" && return 0
++
++	try_start
++	try_cat
++	if not try_compile_check_warnings; then
++		result 'no'
++		return 1
++	fi
++
++	setvar "d_attribute_$1" "define"
++	result "yes"
++}
++
++# volatile check also here, it's quite similar to __attribute__ checks
++# check_if_compiles tag "message" << END
++#     test file goes here
++# END
++check_if_compiles () {
++	mstart "Checking $2"
++	ifhintdefined "d_$1" "yes" "no" && return 0
++
++	try_start
++	try_cat
++	if not try_compile_check_warnings; then
++		result 'no'
++		return 1
++	fi
++
++	setvar "d_$1" "define"
++	result "yes"
++}
++
++checkattr 'format' <<END
++#include <stdio.h>
++void my_special_printf(char* pat,...) __attribute__((__format__(__printf__,1,2)));
++END
++
++# TODO: check for empty format here
++
++checkattr 'malloc' <<END
++#include <stdio.h>
++char *go_get_some_memory( int how_many_bytes ) __attribute__((malloc));
++END
++
++checkattr 'nonnull' <<END
++#include <stdio.h>
++void do_something (char *some_pointer,...) __attribute__((nonnull(1)));
++END
++
++checkattr 'noreturn' <<END
++#include <stdio.h>
++void fall_over_dead( void ) __attribute__((noreturn));
++END
++
++checkattr 'pure' <<END
++#include <stdio.h>
++int square( int n ) __attribute__((pure));
++END
++
++checkattr 'unused' <<END
++#include <stdio.h>
++int do_something( int dummy __attribute__((unused)), int n );
++END
++
++checkattr 'warn_unused_result' <<END
++#include <stdio.h>
++int I_will_not_be_ignored(void) __attribute__((warn_unused_result));
++END
++
++check_if_compiles 'volatile' 'to see if your C compiler knows about "volatile"' <<END
++int main()
++{
++	typedef struct _goo_struct goo_struct;
++	goo_struct * volatile goo = ((goo_struct *)0);
++	struct _goo_struct {
++		long long_int;
++		int reg_int;
++		char char_var;
++	};
++	typedef unsigned short foo_t;
++	char *volatile foo;
++	volatile int bar;
++	volatile foo_t blech;
++	foo = foo;
++}
++END
+diff --exclude CVS -r -u -N perl-5.16.3-extract/cnf/configure_byte.sh perl-5.16.3/cnf/configure_byte.sh
+--- cnf/configure_byte.sh	1969-12-31 16:00:00.000000000 -0800
++++ cnf/configure_byte.sh	2013-05-16 07:11:06.000000000 -0700
+@@ -0,0 +1,35 @@
++#!/bin/sh
++
++byteorder () {
++	mstart "Guessing byte order"
++	ifhint 'byteorder' && return 0
++
++	try_start
++	try_includes "sys/types.h"
++	if [ "$uvsize" = 8 ]; then
++		try_add "$uvtype foo = 0x8877665544332211;"
++	elif [ "$uvsize" = 4 ]; then
++		try_add "$uvtype foo = 0x44332211;"
++	elif [ -n "$uvsize" ]; then
++		result "unknown"
++		msg "\tcan't check byte order with uvsize=$uvsize"
++		return 1
++	else
++		result "unknown"
++		msg "\tcan't check byte order without known uvsize"
++		return 1
++	fi
++
++	if try_compile; then
++		if try_objdump -j .data -s; then
++			byteorder=`grep '11' try.out | grep '44' | sed -E -e 's/  .*//' -e 's/[^1-8]//g' -e 's/([1-8])\1/\1/g'`
++			result "$byteorder"
++			return 0
++		fi
++	fi
++
++	result 'unknown'
++	return 1
++}
++
++check byteorder
+diff --exclude CVS -r -u -N perl-5.16.3-extract/cnf/configure_cfby.sh perl-5.16.3/cnf/configure_cfby.sh
+--- cnf/configure_cfby.sh	1969-12-31 16:00:00.000000000 -0800
++++ cnf/configure_cfby.sh	2013-05-16 05:27:04.000000000 -0700
+@@ -0,0 +1,97 @@
++#!/bin/sh
++
++# Figure out cf_by and related constants
++
++mstart "Checking how to get hostname"
++if nothinted phostname; then
++	_myhostname=`hostname`
++	if [ -n "$_myhostname" ]; then
++		setvar phostname hostname
++		result "hostname"
++	else
++		result unknown
++	fi
++fi
++
++mstart "Figuring out host name"
++if nothinted myhostname; then
++	if [ -z "$_myhostname" -a -n "$phostname" ]; then
++		_myhostname=`$phostname -s 2>/dev/null`
++		if [ -z "$_myhostname" ]; then
++			_myhostname=`$phostname 2>/dev/null`
++		fi
++	fi
++	if [ -n "$_myhostname" ]; then
++		setvar myhostname "$_myhostname"
++		result "$_myhostname"
++	else
++		result unknown
++	fi
++fi
++
++mstart "Figuring out domain name"
++if nothinted mydomainname; then
++	if [ -n "$phostname" ]; then
++		mydomainname=`$phostname -y 2>/dev/null`
++		if [ -z "$mydomainname" -o "$mydomainname" = "(none)" ]; then
++			mydomainname=`$phostname -d 2>/dev/null`
++		fi
++		if [ -n "$mydomainname" ]; then
++			setvar mydomainname ".$mydomainname"
++			result "$mydomainname"
++		else
++			result unknown
++		fi
++	else
++		result unknown
++	fi
++fi
++
++mstart "Figuring out FQDN"
++if nothinted myfqdn; then
++	if [ -n "$phostname" ]; then
++		myfqdn=`$phostname -f 2>/dev/null`
++		if [ -n "$myfqdn" -a "$myfqdn" != 'localhost' -a "$myfqdn" != 'localhost.localdomain' ]; then
++			result "$myfqdn"
++		else
++			myfqdn=''
++			result unknown
++		fi
++	else
++		result unknown
++	fi
++fi
++
++mstart "Configured by (name)"
++if nothinted cf_by; then
++	if [ -n "$USER" ]; then
++		setvar cf_by "$USER"
++		result "$USER"
++	else
++		result unknown
++	fi
++fi
++
++mstart "Configured by (email)"
++if nothinted cf_email; then
++	if [ -n "$cf_by" -a -n "$myfqdn" ]; then
++		setvar cf_email "$cf_by@$myfqdn"
++		result "$cf_email"
++	elif [ -n "$cf_by" -a -n "$myhostname" ]; then
++		if [ -n "$mydomainname" -a "$mydomainname" != '.localdomain' ]; then
++			setvar cf_email "$cf_by@$myhostname$mydomainname"
++		else
++			setvar cf_email "$cf_by@$myhostname"
++		fi
++		setvar perladmin "$cf_email"
++		result "$cf_email"
++	else
++		result uknown
++	fi
++fi
++
++mstart "Configured on"
++if nothinted cf_date; then
++	setvar cf_date "`LC_ALL=C date 2>/dev/null`"
++	result "$cf_date"
++fi
+diff --exclude CVS -r -u -N perl-5.16.3-extract/cnf/configure_clev.sh perl-5.16.3/cnf/configure_clev.sh
+--- cnf/configure_clev.sh	1969-12-31 16:00:00.000000000 -0800
++++ cnf/configure_clev.sh	2013-05-16 05:27:04.000000000 -0700
+@@ -0,0 +1,6 @@
++#!/bin/sh
++
++# Clean the environment
++cleanonly=1
++. $base/configure_genc.sh
++unset cleanonly
+diff --exclude CVS -r -u -N perl-5.16.3-extract/cnf/configure_dbug.sh perl-5.16.3/cnf/configure_dbug.sh
+--- cnf/configure_dbug.sh	1969-12-31 16:00:00.000000000 -0800
++++ cnf/configure_dbug.sh	2013-05-16 06:50:26.000000000 -0700
+@@ -0,0 +1,35 @@
++#!/bin/sh
++
++# Handle -DEBUGGING
++mstart "Checking whether to enable -g"
++case "$DEBUGGING" in
++	-g|both|define)
++   		case "$optimize" in
++			*-g*)
++				result "already enabled" ;;
++			*)
++				appendvar optimize "-g"
++				result "yes" ;;
++   		esac ;;
++	none|undef)
++		case "$optimize" in
++			*-g*) setvar optimize "`echo $optimize | sed -E -e 's/-g ?//'`" ;;
++   		esac
++		result "no" ;;
++	*)
++		result "no" ;;
++esac
++
++mstart "Checking whether to use -DDEBUGGING"
++case "$DEBUGGING" in
++	both|define)
++		case "$ccdefines" in 
++			*-DDEBUGGING*)
++				result "already there" ;;
++			*)
++				appendvar ccdefines '-DDEBUGGING'
++				result "yes" ;;
++		esac ;;
++	*)
++		result "no" ;;
++esac
+diff --exclude CVS -r -u -N perl-5.16.3-extract/cnf/configure_defs.sh perl-5.16.3/cnf/configure_defs.sh
+--- cnf/configure_defs.sh	1969-12-31 16:00:00.000000000 -0800
++++ cnf/configure_defs.sh	2013-05-16 06:50:26.000000000 -0700
+@@ -0,0 +1,62 @@
++#!/bin/sh
++
++# checkintdefined DEF "includes"
++checkintdefined () {
++	k=`echo "$1" | tr A-Z a-z | sed -E -e 's/^/d_/'`
++	mstart "Checking whether $1 is defined"
++	ifhint "$k" && return 0
++	try_start
++	try_includes $2
++	try_add "int i = $1;"
++	try_compile
++	resdef 'yes' 'no' $k
++}
++
++# checkdefined DEF var "Message" "includes"
++checkdefinedmsg () {
++	mstart "$3"
++	ifhint "$2" && return 0
++	try_start
++	try_includes $4
++	try_add "#ifndef $1"
++	try_add "#error here"
++	try_add "#endif"
++	try_add "int foo(void) { return 0; }"
++	try_compile
++	resdef 'yes' 'no' $2
++}
++
++checkdefined () {
++	checkdefinedmsg "$1" "d_$1" "Checking whether $1 is defined in $2" "$2"
++}
++
++checkintdefined DBL_DIG 'limits.h float.h'
++checkintdefined LDBL_DIG 'limits.h float.h'
++
++checkdefinedmsg __GLIBC__ d_gnulibc "Checking if we're using GNU libc" "stdio.h"
++
++# for fpclassify test later
++if [ "$d_fpclassify" != 'undef' -o "$d_fpclass" != 'undef' ]; then
++	checkdefined FP_SNAN "math.h"
++	checkdefined FP_QNAN "math.h"
++	if [ "$d_fpclassify" != 'undef' ]; then
++		checkdefined FP_INFINITE "math.h"
++		checkdefined FP_NORMAL "math.h"
++		checkdefined FP_SUBNORMAL "math.h"
++		checkdefined FP_ZERO "math.h"
++	fi
++	if [ "$d_fpclass" != 'undef' ]; then
++		checkdefined FP_NEG_INF 'math.h'
++		checkdefined FP_POS_INF 'math.h'
++		checkdefined FP_NEG_INF 'math.h'
++		checkdefined FP_NEG_NORM 'math.h'
++		checkdefined FP_POS_NORM 'math.h'
++		checkdefined FP_NEG_NORM 'math.h'
++		checkdefined FP_NEG_DENORM 'math.h'
++		checkdefined FP_POS_DENORM 'math.h'
++		checkdefined FP_NEG_DENORM 'math.h'
++		checkdefined FP_NEG_ZERO 'math.h'
++		checkdefined FP_POS_ZERO 'math.h'
++		checkdefined FP_NEG_ZERO 'math.h'
++	fi
++fi
+diff --exclude CVS -r -u -N perl-5.16.3-extract/cnf/configure_func.sh perl-5.16.3/cnf/configure_func.sh
+--- cnf/configure_func.sh	1969-12-31 16:00:00.000000000 -0800
++++ cnf/configure_func.sh	2013-05-16 05:27:04.000000000 -0700
+@@ -0,0 +1,314 @@
++#!/bin/sh
++
++# hasfunc name args includes
++# WARNING: some compilers do have built-in notions on how certain
++# function should be called, and will produce errors if those functions
++# are called in a "wrong" way. 
++# So far looks like the safest option is to provide type-compatible arguments,
++# i.e., "0" for ints, "NULL" for pointers etc.
++hasfunc () {
++	if [ -n "$4" ] ; then _s="$4"; else _s="d_$1"; fi
++
++	require 'cc'
++	mstart "Checking for $1"
++	ifhintdefined "$_s" 'present' 'missing' && return $__
++
++	try_start
++	try_includes $3
++	case "$2" in
++		*NULL*) case "$3" in
++			*stdlib.h*) ;;
++			*) try_includes "stdlib.h"
++		esac ;;
++	esac
++	try_add "int main(void) { $1($2); return 0; }"
++	try_link
++	resdef 'found' 'not found' "$_s"
++}
++
++# hasvar name includes [symbol]
++# We use try_link here instead of try_compile to be sure we have the
++# variable in question not only declared but also present in libraries we use.
++hasvar () {
++	if [ -n "$4" ] ; then _s="$4"; else _s="d_$1"; fi
++
++	require 'cc'
++	mstart "Checking for $1"
++	ifhintdefined "$_s" 'present' 'missing' && return $__
++
++	try_start
++	try_includes $2
++	try_add "void foo() { };"
++	try_add "int main() { foo($1); return 0; }"
++	try_link
++	resdef 'found' 'not found' "$_s"
++}
++
++isvoid () {
++	require 'cc'
++	mstart "Checking whether $1 is void"
++	ifhint "d_$1" && return
++
++	try_start
++	try_includes $3
++	try_add "int main() { return $1($2); }"
++	not try_compile
++	resdef 'yes' 'no' "d_void_$1"
++}
++
++check hasfunc _fwalk
++check hasfunc access "NULL,0" 'stdlib.h unistd.h'
++check hasfunc accessx
++check hasfunc aintl
++check hasfunc alarm "0" 'unistd.h'
++check hasfunc asctime64
++check hasfunc atolf
++check hasfunc atoll
++check hasfunc bcmp "NULL,NULL,0" 'stdlib.h string.h'
++check hasfunc bcopy "NULL,NULL,0" 'stdlib.h string.h'
++check hasfunc bzero "NULL,0" 'stdlib.h string.h'
++check hasfunc chown "NULL,0,0" 'stdlib.h unistd.h'
++check hasfunc chroot "NULL" 'unistd.h'
++check hasfunc chsize "0,0"
++check hasfunc class
++check hasfunc clearenv "" 'stdlib.h'
++check hasfunc closedir "NULL" 'stdlib.h'
++check hasfunc copysignl "0.0,0.0" 'math.h'
++check hasfunc crypt
++check hasfunc ctermid
++check hasfunc ctime64
++check hasfunc cuserid
++check hasfunc difftime "0,0"
++check hasfunc difftime64
++check hasfunc dirfd
++check hasfunc dlopen
++check hasfunc dlerror
++check hasfunc drand48
++check hasfunc dup2 "0,0"
++check hasfunc eaccess
++check hasfunc endgrent
++check hasfunc endhostent
++check hasfunc endnetent
++check hasfunc endprotoent
++check hasfunc endpwent
++check hasfunc endservent
++check hasfunc fchdir "0" 'unistd.h'
++check hasfunc fchmod "0,0" 'unistd.h'
++check hasfunc fchown "0,0,0" 'unistd.h'
++check hasfunc fcntl "0,0" 'unistd.h fcntl.h'
++check hasfunc fgetpos "NULL, 0" 'stdlib.h stdio.h'
++check hasfunc finite "0.0" 'math.h'
++check hasfunc finitel "0.0" 'math.h'
++check hasfunc flock "0,0" 'unistd.h sys/file.h'
++check hasfunc fork "" 'unistd.h'
++check hasfunc fp_class
++check hasfunc fpathconf "0,0" 'unistd.h'
++check hasfunc fpclass
++check hasfunc fpclassify
++check hasfunc fpclassl
++check hasfunc frexpl '0,NULL' 'stdlib.h math.h'
++check hasfunc fseeko 'NULL,0,0'
++check hasfunc fsetpos 'NULL,0'
++check hasfunc fstatfs
++check hasfunc fstatvfs
++check hasfunc fsync
++check hasfunc ftello
++check hasfunc futimes
++check hasfunc getaddrinfo
++check hasfunc getcwd 'NULL,0'
++check hasfunc getespwnam
++check hasfunc getfsstat
++check hasfunc getgrent
++check hasfunc getgroups
++check hasfunc gethostbyaddr
++check hasfunc gethostbyname
++check hasfunc gethostent
++check hasfunc gethostname
++check hasfunc getitimer
++check hasfunc getlogin
++check hasfunc getmnt
++check hasfunc getmntent
++check hasfunc getnameinfo
++check hasfunc getnetbyaddr
++check hasfunc getnetbyname
++check hasfunc getnetent
++check hasfunc getpagesize
++check hasfunc getpgid
++check hasfunc getpgrp "" 'unistd.h'
++check hasfunc getpgrp2
++check hasfunc getppid
++check hasfunc getpriority "0,0" 'sys/time.h sys/resource.h'
++check hasfunc getprotobyaddr
++check hasfunc getprotobyname
++check hasfunc getprotobynumber
++check hasfunc getprotoent
++check hasfunc getprpwnam
++check hasfunc getpwent
++check hasfunc getservbyaddr
++check hasfunc getservbyname
++check hasfunc getservbyport
++check hasfunc getservent
++check hasfunc getspnam
++check hasfunc gettimeofday 'NULL,NULL'
++check hasfunc gmtime64
++check hasfunc hasmntopt
++check hasfunc htonl "0" 'stdio.h sys/types.h netinet/in.h arpa/inet.h'
++check hasfunc ilogbl
++check hasfunc index "NULL,0" 'stdlib.h string.h strings.h'
++check hasfunc inet_aton
++check hasfunc inetntop
++check hasfunc inetpton
++check hasfunc isascii "'A'" 'stdio.h stdlib.h ctype.h'
++check hasfunc isblank "' '" 'stdio.h stdlib.h ctype.h'
++check hasfunc isfinite "0.0" 'math.h'
++check hasfunc isinf "0.0" 'math.h'
++check hasfunc isnan "0.0" 'math.h'
++check hasfunc isnanl "0.0" 'math.h'
++check hasfunc killpg
++check hasfunc lchown "NULL, 0, 0" 'stdlib.h unistd.h'
++check hasfunc link 'NULL,NULL' 'stdlib.h'
++check hasfunc localeconv
++check hasfunc localtime64
++check hasfunc lockf
++check hasfunc lstat
++check hasfunc madvise
++check hasfunc malloc_good_size
++check hasfunc malloc_size
++check hasfunc mblen
++check hasfunc mbstowcs
++check hasfunc mbtowc
++check hasfunc memchr "NULL, 0, 0" 'stdlib.h string.h'
++check hasfunc memcmp "NULL, NULL, 0" 'stdlib.h string.h'
++check hasfunc memcpy "NULL, NULL, 0" 'stdlib.h string.h'
++check hasfunc memmove "NULL, NULL, 0" 'stdlib.h string.h'
++check hasfunc memset "NULL, 0, 0" 'stdlib.h string.h'
++check hasfunc mkdir 'NULL, 0' 'stdlib.h'
++check hasfunc mkdtemp
++check hasfunc mkfifo
++check hasfunc mkstemp 'NULL' 'stdlib.h'
++check hasfunc mkstemps
++check hasfunc mktime 'NULL' 'stdlib.h'
++check hasfunc mktime64
++check hasfunc mmap
++check hasfunc modfl "0.0,NULL" 'stdlib.h math.h'
++check hasfunc mprotect
++check hasfunc msgctl
++check hasfunc msgget
++check hasfunc msgrcv
++check hasfunc msgsnd
++check hasfunc msync
++check hasfunc munmap
++check hasfunc nice '0'
++check hasfunc nl_langinfo
++check hasfunc open "NULL,0,0" 'stdlib.h sys/types.h sys/stat.h fcntl.h' d_open3
++check hasfunc pathconf
++check hasfunc pause
++check hasfunc pipe 'NULL'
++check hasfunc poll
++check hasfunc pthread_atfork
++check hasfunc pthread_attr_setscope
++check hasfunc pthread_yield
++check hasfunc prctl
++check hasfunc rand
++check hasfunc random
++check hasfunc readdir 'NULL'
++check hasfunc readlink
++check hasfunc readv
++check hasfunc recvmsg
++check hasfunc rename 'NULL,NULL'
++check hasfunc rewinddir
++check hasfunc rmdir 'NULL'
++check hasfunc scalbnl "0.0,0" 'math.h'
++check hasfunc sched_yield
++check hasfunc seekdir
++check hasfunc select '0,NULL,NULL,NULL,NULL'
++check hasfunc semctl
++check hasfunc semget
++check hasfunc semop
++check hasfunc sendmsg
++check hasfunc setegid
++check hasfunc seteuid
++check hasfunc setgrent
++check hasfunc setgroups
++check hasfunc sethostent
++check hasfunc setitimer
++check hasfunc setlinebuf
++check hasfunc setlocale "0,NULL" 'stdlib.h locale.h'
++check hasfunc setnetent
++check hasfunc setpgid
++check hasfunc setpgrp
++check hasfunc setpgrp2
++check hasfunc setpriority
++check hasfunc setproctitle
++check hasfunc setprotoent
++check hasfunc setpwent
++check hasfunc setregid
++check hasfunc setresgid
++check hasfunc setresuid
++check hasfunc setreuid
++check hasfunc setrgid
++check hasfunc setruid
++check hasfunc setservent
++check hasfunc setsid
++check hasfunc setvbuf 'NULL,NULL,0,0'
++check hasfunc sfreserve "" 'sfio.h'
++check hasfunc shmat
++check hasfunc shmctl
++check hasfunc shmdt
++check hasfunc shmget
++check hasfunc sigaction
++check hasfunc signbit '.0' 'math.h'
++check hasfunc sigprocmask
++check hasfunc sigsetjmp "NULL,0" 'stdlib.h setjmp.h'
++check hasfunc snprintf
++check hasfunc sockatmark
++check hasfunc socket "0,0,0" 'sys/types.h sys/socket.h'
++check hasfunc socketpair
++check hasfunc socks5_init
++check hasfunc sqrtl "0.0" 'math.h'
++check hasfunc statvfs
++check hasfunc strchr "NULL,0" 'stdlib.h string.h strings.h'
++check hasfunc strcoll "NULL,NULL" 'stdlib.h string.h'
++check hasfunc strerror "0" 'string.h stdlib.h'
++check hasfunc strftime "NULL,0,NULL,NULL" 'stdlib.h time.h'
++check hasfunc strlcat
++check hasfunc strlcpy
++check hasfunc strtod 'NULL,NULL'
++check hasfunc strtol 'NULL,NULL,0'
++check hasfunc strtold
++check hasfunc strtoll
++check hasfunc strtoq
++check hasfunc strtoul 'NULL,NULL,0'
++check hasfunc strtoull 'NULL,NULL,0'
++check hasfunc strtouq
++check hasfunc strxfrm
++check hasfunc symlink
++check hasfunc syscall
++check hasfunc sysconf '0'
++check hasfunc system 'NULL'
++check hasfunc tcgetpgrp
++check hasfunc tcsetpgrp
++check hasfunc telldir
++check hasfunc time 'NULL'
++check hasfunc timegm
++check hasfunc times 'NULL'
++check hasfunc truncate 'NULL,0'
++check hasfunc ualarm
++check hasfunc umask '0'
++check hasfunc uname
++check hasfunc unordered
++check hasfunc unsetenv
++check hasfunc usleep
++check hasfunc ustat
++##check hasfunc vfork
++check hasfunc vprintf 'NULL,0'
++check hasfunc vsnprintf
++check hasfunc wait4
++check hasfunc waitpid '0,NULL,0'
++check hasfunc wcstombs 'NULL,NULL,0'
++check hasfunc wctomb
++check hasfunc writev
++
++check isvoid closedir "NULL" 'sys/types.h dirent.h'
++check hasvar sys_errlist 'stdio.h'
++check hasvar tzname 'time.h'
+diff --exclude CVS -r -u -N perl-5.16.3-extract/cnf/configure_fung.sh perl-5.16.3/cnf/configure_fung.sh
+--- cnf/configure_fung.sh	1969-12-31 16:00:00.000000000 -0800
++++ cnf/configure_fung.sh	2013-05-16 06:50:26.000000000 -0700
+@@ -0,0 +1,118 @@
++#!/bin/sh
++
++# Some guessing after we have all d_funcs ready
++
++logvars () {
++	for i in $*; do
++		v=`valueof $i`
++		log -n "$i=$v "
++	done
++	log ""
++}
++
++alldefined () {
++	logvars $*
++	for i in $*; do
++		v=`valueof $i`
++		if [ "$v" != 'define' ]; then
++			return 1
++		fi
++	done
++	return 0
++}
++
++mstart "Checking whether you have the full shm*(2) library"
++if alldefined d_shmctl d_shmget d_shmat d_shmdt; then
++	setvar 'd_shm' 'define'
++	result 'yes'
++else
++	setvar "d_shm" 'undef'
++	result 'no'
++fi
++
++mstart "Checking whether you have the full sem*(2) library"
++if alldefined d_semctl d_semget d_semop i_syssem; then
++	setvar 'd_sem' 'define'
++	result 'yes'
++else
++	setvar 'd_sem' 'undef'
++	result 'no'
++fi
++
++mstart "Looking how to get error messages"
++# Configure has quite a long piece on strerror, which basically means just this:
++logvars d_strerror d_sys_errlist
++if [ "$d_strerror" = 'define' ]; then
++	setvar 'd_strerrm' 'strerror(e)'
++	result 'strerror()'
++elif [ "$d_sys_errlist" = 'define' ]; then
++	setvar 'd_strerrm' '((e)<0||(e)>=sys_nerr?"unknown":sys_errlist[e])'
++	result 'sys_errlist[]'
++else
++	setvar 'd_strerrm' 'unknown'
++	result 'nothing found'
++fi
++
++mstart "Looking for a random number function"
++logvars d_drand48 d_random d_rand
++if [ "$d_drand48" = 'define' ]; then
++	setvar 'randfunc' 'drand48'
++	result 'good, found drand48()'
++elif [ "$d_random" = 'define' ]; then
++	setvar 'randfunc' 'random'
++	result 'ok, found random()'
++elif [ "$d_rand" = 'define' ]; then
++	setvar 'randfunc' 'rand'
++	result 'yick, looks like I have to use rand()'
++else
++	setvar 'randfunc' ''
++	result 'none found'
++fi
++	
++# It's a bit more complicated in original Configure, but let's
++# assume that if there's clock_t defined that's what times() returns.
++if [ "$d_times" = 'define' ]; then
++	mstart "Looking what times() may return"
++	logvars d_clock_t
++	if nothinted clocktype; then
++		if [ "$d_clock_t" = 'define' ]; then
++			setvar clocktype 'clock_t'
++			result 'clock_t'
++		else
++			setvar clocktype 'long'
++			result "it's not clock_t, assuming long"
++		fi
++	fi
++fi
++
++if [ "$d_prctl" = 'define' ]; then
++	mstart "Checking whether prctl supports PR_SET_NAME"
++	try_start
++	try_includes 'sys/prctl.h'
++	try_add "int main (int argc, char *argv[]) {"
++	try_add "	return (prctl (PR_SET_NAME, \"Test\"));"
++	try_add "}"
++	try_compile
++	resdef 'yes' 'no' 'd_prctl_set_name'
++fi
++
++
++# checkfpclass func D1 D2 D3 ....
++checkfpclass () {
++	f="$1"; shift
++	v=`valueof "d_$f"`	
++	if [ "$v" = 'define' ]; then
++		mstart "Checking whether $f() constants are defined"
++		if alldefined `echo $* | sed -E -e 's/\</d_/g'`; then
++			result 'yes'
++		else
++			setvar "d_$f" 'undef'
++			result "no, disabling $f()"
++		fi
++	fi
++}
++
++checkfpclass fpclassify FP_SNAN FP_QNAN FP_INFINITE FP_NORMAL FP_SUBNORMAL FP_ZERO
++checkfpclass fpclass FP_SNAN FP_QNAN FP_NEG_INF FP_POS_INF FP_NEG_INF \
++	FP_NEG_NORM FP_POS_NORM FP_NEG_NORM FP_NEG_DENORM FP_POS_DENORM \
++	FP_NEG_DENORM FP_NEG_ZERO FP_POS_ZERO FP_NEG_ZERO
+diff --exclude CVS -r -u -N perl-5.16.3-extract/cnf/configure_genc.sh perl-5.16.3/cnf/configure_genc.sh
+--- cnf/configure_genc.sh	1969-12-31 16:00:00.000000000 -0800
++++ cnf/configure_genc.sh	2013-05-16 06:50:26.000000000 -0700
+@@ -0,0 +1,1212 @@
++#!/bin/sh
++
++# Missing variable in config.sh may result in syntactically incorrect
++# config.h (or even more nasty things, if it's in the right part of #define)
++# This file should write all possible variables to $config, either taking
++# their values from environment, or using some defaults, or dying when value
++# is not set.
++
++# Except for directory- and typesize-related things put in front, all variables
++# here are sorted alphabetically.
++
++# Keep this file in sync with Glossary
++
++if [ -z "$cleanonly" ]; then
++	# do a real write to $config
++
++	# default name value
++	default () {
++		v=`valueof "$1"`
++		if [ -z "$v" ]; then
++			putvar "$1" "$2"
++		else
++			putvar "$1" "$v"
++		fi
++	}
++
++	default_inst () {
++		if [ -n "$2" ]; then
++			z="$2"
++			s="$1"
++		else
++			z="$1"
++			s="$1"
++		fi
++		v=`valueof "$s"`
++		if [ -n "$v" -a "$v" != ' ' ]; then
++			default "install$z" "$installprefix$v"
++		else
++			default "install$z" ''
++		fi
++	}
++
++	# required name
++	required () {
++		v=`valueof "$1"`
++		if [ -n "$v" ]; then
++			putvar "$1" "$v"
++		else
++			fail "Required variable $1 not defined"
++		fi
++	}
++
++	const () {
++		putvar "$1" "$2"
++	}
++
++	test -n "$config" || die "Can't generate don't-know-what (no \$config set)"
++	msg "Generating $config"
++	echo -n "#!/bin/sh\n\n" > $config
++else 
++	# clean up the environment
++
++	default () { unset -v "$1"; }
++	default_inst () { unset -v "$1"; }
++	required () { unset -v "$1"; }
++	const () { unset -v "$1"; }
++fi
++
++required archname
++default package perl5
++default version "$PERL_REVISION.$PERL_VERSION.$PERL_SUBVERSION"
++
++default prefix "/usr"
++default sharedir "$prefix/share"
++default html1dir "$sharedir/doc/perl/html"
++default html3dir "$sharedir/doc/perl/html"
++default man1dir "$sharedir/man/man1"
++default man1ext "1"
++default man3dir "$sharedir/man/man3"
++default man3ext "3"
++default bin "$prefix/bin"
++default scriptdir "$prefix/bin"
++default otherlibdirs ' '
++default libsdirs ' '
++default privlib "$prefix/lib/$package"
++default archlib "$prefix/lib/$package/$version/$archname"
++default perlpath "$prefix/bin/perl"
++
++default sitebin	"$prefix/bin"
++default sitelib_stem "$prefix/lib/$package/site_perl"
++default sitelib "$sitelib_stem/$version"
++default siteprefix "$prefix"
++default sitescript "$prefix/bin"
++default sitearch "$sitelib_stem/$version/$archname"
++default sitearchexp "$sitearch"
++
++default sitebinexp "$sitebin"
++default sitelibexp "$sitelib"
++default siteprefixexp "$siteprefix"
++default sitescriptexp "$sitescript"
++
++default vendorman1dir "$man1dir"
++default vendorman3dir "$man3dir"
++default vendorhtml1dir "$html1dir"
++default vendorhtml3dir "$html3dir"
++default siteman1dir "$man1dir"
++default siteman3dir "$man3dir"
++default sitehtml1dir "$html1dir"
++default sitehtml3dir "$html3dir"
++
++default installprefix ''
++default_inst html1dir
++default_inst html3dir
++default_inst man1dir
++default_inst man1ext
++default_inst man3dir
++default_inst man3ext
++default_inst scriptdir
++default_inst otherlibdirs
++default_inst libsdirs
++default_inst archlib
++default_inst bin
++default_inst html1dir
++default_inst html3dir
++default_inst privlib
++default_inst scriptdir script
++default_inst sitearch
++default_inst sitebin
++default_inst sitehtml1dir 
++default_inst sitehtml3dir
++default_inst sitelib 
++default_inst siteman1dir
++default_inst siteman3dir
++default_inst sitescriptdir sitescript
++default_inst vendorarch
++default_inst vendorbin
++default_inst vendorhtml1dir
++default_inst vendorhtml3dir
++default_inst vendorlib
++default_inst vendorman1dir
++default_inst vendorman3dir
++default_inst vendorscriptdir vendorscript
++default installstyle lib/perl5
++default installusrbinperl define
++
++const prefixexp "$prefix"
++const installprefixexp "$installprefix"
++const html1direxp "$html1dir"
++const html3direxp "$html3dir"
++const vendorman1direxp "$vendorman1dir"
++const vendorman3direxp "$vendorman3dir"
++const vendorhtml1direxp "$vendorhtml1dir"
++const vendorhtml3direxp "$vendorhtml3dir"
++const siteman1direxp "$siteman1dir"
++const siteman3direxp "$siteman3dir"
++const sitehtml1direxp "$sitehtml1dir"
++const sitehtml3direxp "$sitehtml3dir"
++const scriptdirexp "$scriptdir"
++const man1direxp "$man1dir"
++const man3direxp "$man3dir"
++const archlibexp "$archlib"
++const privlibexp "$privlib"
++const binexp "$bin"
++
++default libpth "/lib /usr/lib /usr/local/lib"
++default glibpth "$libpth"
++default plibpth
++
++required PERL_API_REVISION
++required PERL_API_SUBVERSION
++required PERL_API_VERSION
++required PERL_CONFIG_SH
++required PERL_REVISION
++required PERL_SUBVERSION
++required PERL_VERSION
++required api_revision
++required api_subversion
++required api_version
++required api_versionstring
++required doublesize
++required i16size
++required i16type
++required i32size
++required i32type
++required i64size
++required i64type
++required i8size
++required i8type
++required intsize
++required ivsize
++required ivtype
++required longdblsize
++required longlongsize
++required longsize
++required nvsize
++required nvtype
++required u16size
++required u16type
++required u32size
++required u32type
++required u64size
++required u64type
++required u8size
++required u8type
++required uvsize
++required uvtype
++
++required cpp
++required fpossize
++required fpostype
++required gidsize
++required gidtype
++required lseeksize
++required lseektype
++required shortsize
++
++default Mcc Mcc
++default PERL_PATCHLEVEL
++default _a .a
++default _exe
++default _o .o
++default afs false
++default afsroot /afs
++default alignbytes 8
++default ansi2knr
++default aphostname /bin/hostname
++default ar ar
++default archname64
++default archobjs
++default asctime_r_proto  0
++default awk awk
++default baserev 5.0
++default bash
++default bison bison
++default byacc byacc
++default byteorder
++default c
++default castflags 0
++default cat cat
++default cc cc
++default cccdlflags '-fPIC'
++default ccdlflags '-Wl,-E'
++default ccflags '-fno-strict-aliasing -pipe'
++default ccflags_uselargefiles ''
++default ccdefines ''
++default ccname
++default ccsymbols
++default ccversion
++default charbits 8
++default charsize 1
++default cf_by unknown
++default cf_email nobody@nowhere.land
++default cf_time "`date`"
++default chgrp
++default chmod chmod
++default chown
++default clocktype
++default comm comm
++default compress
++default config_arg0 ''
++default config_argc 0
++default config_args ''                                                        
++default contains grep
++default cp cp
++default cpio
++default cpp_stuff 42
++default cppccsymbols
++default cppflags
++default cpplast -
++default cppminus -
++default cpprun "$cpp"
++default cppstdin "$cpp"
++default cppsymbols
++default crypt_r_proto 0
++default cryptlib
++default csh ''
++default ctermid_r_proto 0
++default ctime_r_proto 0
++default d_Gconvert 'sprintf((b),"%.*g",(n),(x))'
++default d_PRIEUldbl undef
++default d_PRIFUldbl undef
++default d_PRIGUldbl undef
++default d_PRIXU64 undef
++default d_PRId64 undef
++default d_PRIeldbl undef
++default d_PRIfldbl undef
++default d_PRIgldbl undef
++default d_PRIi64 undef
++default d_PRIo64 undef
++default d_PRIu64 undef
++default d_PRIx64 undef
++default d_SCNfldbl undef
++default d__fwalk undef
++default d_access undef
++default d_accessx undef
++default d_aintl undef
++default d_alarm undef
++default d_archlib define
++default d_asctime64 undef
++default d_asctime_r undef
++default d_atolf undef
++default d_atoll undef
++default d_attribute_deprecated undef
++default d_attribute_format undef
++default d_attribute_malloc undef
++default d_attribute_nonnull undef
++default d_attribute_noreturn undef
++default d_attribute_pure undef
++default d_attribute_unused undef
++default d_attribute_warn_unused_result undef
++default d_bcmp undef
++default d_bcopy undef
++default d_bsd undef
++default d_bsdgetpgrp undef
++default d_bsdsetpgrp undef
++default d_builtin_choose_expr define
++default d_builtin_expect undef
++default d_bzero undef
++default d_c99_variadic_macros define
++default d_casti32 undef
++default d_castneg define
++default d_charvspr undef
++default d_chown undef
++default d_chroot undef
++default d_chsize undef
++default d_class undef
++default d_clearenv undef
++default d_closedir undef
++default d_cmsghdr_s undef
++default d_const define
++default d_copysignl undef
++default d_cplusplus undef
++default d_crypt undef
++default d_crypt_r undef
++default d_csh undef
++default d_ctermid undef
++default d_ctermid_r undef
++default d_ctime64 undef
++default d_ctime_r undef
++default d_cuserid undef
++default d_dbl_dig undef
++default d_dbminitproto define
++default d_difftime undef
++default d_difftime64 undef
++default d_dir_dd_fd undef
++default d_dirfd undef
++default d_dirnamlen undef
++default d_dlerror undef
++default d_dlopen undef
++default d_dlsymun undef
++default d_dosuid undef
++default d_drand48_r undef
++default d_drand48proto define
++default d_dup2 undef
++default d_eaccess undef
++default d_endgrent undef
++default d_endgrent_r undef
++default d_endhent undef
++default d_endhostent_r undef
++default d_endnent undef
++default d_endnetent_r undef
++default d_endpent undef
++default d_endprotoent_r define
++default d_endpwent undef
++default d_endpwent_r undef
++default d_endsent undef
++default d_endservent_r undef
++default d_eofnblk define
++default d_eunice undef
++default d_faststdio undef
++default d_fchdir undef
++default d_fchmod undef
++default d_fchown undef
++default d_fcntl undef
++default d_fcntl_can_lock undef
++default d_fd_macros undef
++default d_fd_set undef
++default d_fds_bits undef
++default d_fgetpos undef
++default d_finite undef
++default d_finitel undef
++default d_flexfnam define
++default d_flock undef
++default d_flockproto define
++default d_fork undef
++default d_fp_class undef
++default d_fpathconf undef
++default d_fpclass undef
++default d_fpclassify undef
++default d_fpclassl undef
++default d_fpos64_t undef
++default d_frexpl undef
++default d_fs_data_s undef
++default d_fseeko undef
++default d_fsetpos undef
++default d_fstatfs undef
++default d_fstatvfs undef
++default d_fsync undef
++default d_ftello undef
++default d_ftime undef
++default d_futimes undef
++default d_gdbm_ndbm_h_uses_prototypes define
++default d_gdbm_ndbm_h_uses_prototypes undef
++default d_gdbmndbm_h_uses_prototypes define
++default d_gdbmndbm_h_uses_prototypes undef
++default d_getaddrinfo undef
++default d_getcwd undef
++default d_getespwnam undef
++default d_getfsstat undef
++default d_getgrent undef
++default d_getgrent_r undef
++default d_getgrgid_r undef
++default d_getgrnam_r undef
++default d_getgrps undef
++default d_gethbyaddr undef
++default d_gethbyname undef
++default d_gethent undef
++default d_gethname undef
++default d_gethostbyaddr_r undef
++default d_gethostbyname_r undef
++default d_gethostent_r undef
++default d_gethostprotos define
++default d_getitimer undef
++default d_getlogin undef
++default d_getlogin_r undef
++default d_getmnt undef
++default d_getmntent undef
++default d_getnameinfo undef
++default d_getnbyaddr undef
++default d_getnbyname undef
++default d_getnent undef
++default d_getnetbyaddr_r undef
++default d_getnetbyname_r undef
++default d_getnetent_r undef
++default d_getnetprotos define
++default d_getpagsz undef
++default d_getpbyname undef
++default d_getpbynumber undef
++default d_getpent undef
++default d_getpgid undef
++default d_getpgrp undef
++default d_getpgrp2 undef
++default d_getppid undef
++default d_getprior undef
++default d_getprotobyname_r define
++default d_getprotobynumber_r define
++default d_getprotoent_r define
++default d_getprotoprotos define
++default d_getprpwnam undef
++default d_getpwent undef
++default d_getpwent_r undef
++default d_getpwnam_r undef
++default d_getpwuid_r undef
++default d_getsbyname undef
++default d_getsbyport undef
++default d_getsent undef
++default d_getservbyname_r undef
++default d_getservbyport_r undef
++default d_getservent_r undef
++default d_getservprotos define
++default d_getspnam undef
++default d_getspnam_r undef
++default d_gettimeod undef
++default d_gmtime64 undef
++default d_gmtime_r undef
++default d_gnulibc define
++default d_grpasswd undef
++default d_hasmntopt undef
++default d_htonl undef
++default d_ilogbl undef
++default d_inc_version_list undef
++default d_index undef
++default d_inetaton undef
++default d_inetntop undef
++default d_inetpton undef
++default d_int64_t undef
++default d_ipv6_mreq undef
++default d_isascii undef
++default d_isblank undef
++default d_isfinite undef
++default d_isinf undef
++default d_isnan undef
++default d_isnanl undef
++default d_killpg undef
++default d_lchown undef
++default d_ldbl_dig undef
++default d_libm_lib_version undef
++default d_link undef
++default d_localtime64 undef
++default d_localtime_r undef
++default d_localtime_r_needs_tzset undef
++default d_locconv undef
++default d_lockf undef
++default d_longdbl undef
++default d_longlong undef
++default d_lseekproto define
++default d_lstat undef
++default d_madvise undef
++default d_malloc_good_size undef
++default d_malloc_size undef
++default d_mblen undef
++default d_mbstowcs undef
++default d_mbtowc undef
++default d_memchr undef
++default d_memcmp undef
++default d_memcpy undef
++default d_memmove undef
++default d_memset undef
++default d_mkdir undef
++default d_mkdtemp undef
++default d_mkfifo undef
++default d_mkstemp undef
++default d_mkstemps undef
++default d_mktime undef
++default d_mktime64 undef
++default d_mmap undef
++default d_modfl undef
++default d_modfl_pow32_bug undef
++default d_modflproto define
++default d_mprotect undef
++default d_msg undef
++default d_msg_ctrunc undef
++default d_msg_dontroute undef
++default d_msg_oob undef
++default d_msg_peek undef
++default d_msg_proxy undef
++default d_msgctl undef
++default d_msgget undef
++default d_msghdr_s undef
++default d_msgrcv undef
++default d_msgsnd undef
++default d_msync undef
++default d_munmap undef
++default d_mymalloc undef
++default d_ndbm_h_uses_prototypes
++default d_ndbm_h_uses_prototypes define
++default d_nice undef
++default d_nl_langinfo undef
++default d_nv_preserves_uv undef
++default d_nv_zero_is_allbits_zero define
++default d_off64_t undef
++default d_old_pthread_create_joinable undef
++default d_oldpthreads undef
++default d_oldsock undef
++default d_open3 undef
++default d_pathconf undef
++default d_pause undef
++default d_perl_otherlibdirs undef
++default d_phostname undef
++default d_pipe undef
++default d_poll undef
++default d_portable undef
++default d_prctl undef
++default d_prctl_set_name undef
++default d_printf_format_null define
++default d_procselfexe undef
++default d_pseudofork undef
++default d_pthread_atfork undef
++default d_pthread_attr_setscope undef
++default d_pthread_yield undef
++default d_pwage undef
++default d_pwchange undef
++default d_pwclass undef
++default d_pwcomment undef
++default d_pwexpire undef
++default d_pwgecos undef
++default d_pwpasswd undef
++default d_pwquota undef
++default d_qgcvt undef
++default d_quad undef
++default d_random_r undef
++default d_readdir undef
++default d_readdir64_r undef
++default d_readdir_r undef
++default d_readlink undef
++default d_readv undef
++default d_recvmsg undef
++default d_rename undef
++default d_rewinddir undef
++default d_rmdir undef
++default d_safebcpy undef
++default d_safemcpy undef
++default d_sanemcmp define
++default d_sbrkproto define
++default d_scalbnl undef
++default d_sched_yield undef
++default d_scm_rights undef
++default d_sin6_scope_id undef
++default d_sockaddr_sa_len undef
++default d_sockaddr_in6 undef
++default d_seekdir undef
++default d_select undef
++default d_sem undef
++default d_semctl undef
++default d_semctl_semid_ds undef
++default d_semctl_semun undef
++default d_semget undef
++default d_semop undef
++default d_sendmsg undef
++default d_setegid undef
++default d_seteuid undef
++default d_setgrent undef
++default d_setgrent_r undef
++default d_setgrps undef
++default d_sethent undef
++default d_sethostent_r undef
++default d_setitimer undef
++default d_setlinebuf undef
++default d_setlocale undef
++default d_setlocale_r undef
++default d_setnent undef
++default d_setnetent_r undef
++default d_setpent undef
++default d_setpgid undef
++default d_setpgrp undef
++default d_setpgrp2 undef
++default d_setprior undef
++default d_setproctitle undef
++default d_setprotoent_r define
++default d_setpwent undef
++default d_setpwent_r undef
++default d_setregid undef
++default d_setresgid undef
++default d_setresuid undef
++default d_setreuid undef
++default d_setrgid undef
++default d_setruid undef
++default d_setsent undef
++default d_setservent_r undef
++default d_setsid undef
++default d_setvbuf undef
++default d_sfio undef
++default d_shm undef
++default d_shmat undef
++default d_shmatprototype define
++default d_shmctl undef
++default d_shmdt undef
++default d_shmget undef
++default d_sigaction undef
++default d_signbit undef
++default d_sigprocmask undef
++default d_sigsetjmp undef
++default d_sitearch define
++default d_snprintf undef
++default d_sockatmark undef
++default d_sockatmarkproto define
++default d_socket undef
++default d_socklen_t undef
++default d_sockpair undef
++default d_socks5_init undef
++default d_sprintf_returns_strlen undef
++default d_sqrtl undef
++default d_srand48_r undef
++default d_srandom_r undef
++default d_sresgproto define
++default d_sresuproto define
++default d_statblks undef
++default d_statfs_f_flags undef
++default d_statfs_s undef
++default d_static_inline undef
++default perl_static_inline static
++default d_statvfs undef
++default d_stdio_cnt_lval undef
++default d_stdio_ptr_lval undef
++default d_stdio_ptr_lval_nochange_cnt undef
++default d_stdio_ptr_lval_sets_cnt undef
++default d_stdio_stream_array undef
++default d_stdiobase undef
++default d_stdstdio undef
++default d_strchr undef
++default d_strcoll undef
++default d_strctcpy define
++default d_strerrm 'strerror(e)'
++default d_strerror undef
++default d_strerror_r undef
++default d_strftime undef
++default d_strlcat undef
++default d_strlcpy undef
++default d_strtod undef
++default d_strtol undef
++default d_strtold undef
++default d_strtoll undef
++default d_strtoq undef
++default d_strtoul undef
++default d_strtoull undef
++default d_strtouq undef
++default d_strxfrm undef
++default d_suidsafe undef
++default d_symlink undef
++default d_syscall undef
++default d_syscallproto define
++default d_sysconf undef
++default d_sysernlst ''
++default d_syserrlst undef
++default d_system undef
++default d_tcgetpgrp undef
++default d_tcsetpgrp undef
++default d_telldir undef
++default d_telldirproto define
++default d_time undef
++default d_timegm undef
++default d_times undef
++default d_tm_tm_gmtoff undef
++default d_tm_tm_zone undef
++default d_tmpnam_r undef
++default d_truncate undef
++default d_ttyname_r undef
++default d_tz_name 
++default d_tzname undef
++default d_u32align undef
++default d_ualarm undef
++default d_umask undef
++default d_uname undef
++default d_union_semun undef
++default d_unordered undef
++default d_unsetenv undef
++default d_usleep undef
++default d_usleepproto define
++default d_ustat undef
++default d_vendorarch undef
++default d_vendorbin undef
++default d_vendorlib undef
++default d_vendorscript undef
++default d_vfork undef
++default d_void_closedir undef
++default d_voidsig undef
++default d_voidtty
++default d_volatile undef
++default d_vprintf undef
++default d_vsnprintf undef
++default d_wait4 undef
++default d_waitpid undef
++default d_wcstombs undef
++default d_wctomb undef
++default d_writev undef
++default d_xenix undef
++default date date
++default db_hashtype 'unsigned int'
++default db_prefixtype 'size_t'
++default db_version_major
++default db_version_minor
++default db_version_patch
++default defvoidused 15
++default direntrytype 'struct dirent'
++default dlext 'so'
++default dlsrc 'dl_dlopen.xs'
++default drand01 'drand48()'
++default drand48_r_proto 0
++default dtrace
++default dynamic_ext
++default eagain EAGAIN
++default ebcdic undef
++default echo echo
++default egrep egrep
++default emacs
++default endgrent_r_proto 0
++default endhostent_r_proto 0
++default endnetent_r_proto 0
++default endprotoent_r_proto 0
++default endpwent_r_proto 0
++default endservent_r_proto 0
++default eunicefix ':'
++default exe_ext
++default expr
++default expr expr
++default extensions "$dynamic_ext$nonxs_ext"
++default extras
++default fflushNULL define
++default fflushall undef
++default find
++default firstmakefile Makefile
++default flex
++default freetype void
++default from :
++default full_ar ar
++default full_csh csh
++default full_sed sed
++default gccansipedantic
++default gccosandvers
++default gccversion
++default getgrent_r_proto 0
++default getgrgid_r_proto 0
++default getgrnam_r_proto 0
++default gethostbyaddr_r_proto 0
++default gethostbyname_r_proto 0
++default gethostent_r_proto 0
++default getlogin_r_proto 0
++default getnetbyaddr_r_proto 0
++default getnetbyname_r_proto 0
++default getnetent_r_proto 0
++default getprotobyname_r_proto 0
++default getprotobynumber_r_proto 0
++default getprotoent_r_proto 0
++default getpwent_r_proto 0
++default getpwnam_r_proto 0
++default getpwuid_r_proto 0
++default getservbyname_r_proto 0
++default getservbyport_r_proto 0
++default getservent_r_proto 0
++default getspnam_r_proto 0
++default gidformat '"lu"'
++default gidsign 1
++default gmake gmake
++default gmtime_r_proto 0
++default gnulibc_version
++default grep grep
++default groupcat 'cat /etc/group'
++default groupstype gid_t
++default gzip gzip
++default h_fcntl false
++default h_sysfile true
++default hint 'default'
++default hostcat 'cat /etc/hosts'
++default i_arpainet undef
++default i_assert undef
++default i_bsdioctl undef
++default i_crypt undef
++default i_db undef
++default i_dbm undef
++default i_dirent undef
++default i_dld undef
++default i_dlfcn undef
++default i_fcntl undef
++default i_float define
++default i_fp undef
++default i_fp_class undef
++default i_gdbm undef
++default i_gdbm_ndbm undef
++default i_gdbmndbm undef
++default i_grp undef
++default i_ieeefp undef
++default i_inttypes undef
++default i_langinfo undef
++default i_libutil undef
++default i_limits define
++default i_locale undef
++default i_machcthr undef
++default i_malloc undef
++default i_mallocmalloc undef
++default i_math undef
++default i_memory undef
++default i_mntent undef
++default i_ndbm undef
++default i_netdb undef
++default i_neterrno undef
++default i_netinettcp undef
++default i_niin undef
++default i_poll undef
++default i_prot undef
++default i_pthread undef
++default i_pwd undef
++default i_rpcsvcdbm undef
++default i_sfio undef
++default i_sgtty undef
++default i_shadow undef
++default i_socks undef
++default i_stdarg undef
++default i_stdbool undef
++default i_stddef undef
++default i_stdlib undef
++default i_string undef
++default i_sunmath undef
++default i_sysaccess undef
++default i_sysdir undef
++default i_sysfile undef
++default i_sysfilio undef
++default i_sysin undef
++default i_sysioctl undef
++default i_syslog undef
++default i_sysmman undef
++default i_sysmode undef
++default i_sysmount undef
++default i_sysndir undef
++default i_sysparam undef
++default i_syspoll undef
++default i_sysresrc undef
++default i_syssecrt undef
++default i_sysselct undef
++default i_syssockio undef
++default i_sysstat undef
++default i_sysstatfs undef
++default i_sysstatvfs undef
++default i_systime undef
++default i_systimek undef
++default i_systimes undef
++default i_systypes undef
++default i_sysuio undef
++default i_sysun undef
++default i_sysutsname undef
++default i_sysvfs undef
++default i_syswait undef
++default i_termio undef
++default i_termios undef
++default i_time undef
++default i_unistd undef
++default i_ustat undef
++default i_utime undef
++default i_values undef
++default i_varargs undef
++default i_varhdr undef
++default i_vfork undef
++default ignore_versioned_solibs
++default inc_version_list
++default inc_version_list_init
++default incpath
++default inews
++default initialinstalllocation
++default issymlink "test -h"
++default ivdformat '"ld"'
++default known_extensions
++default ksh
++default ld ld
++default ld_can_script undef
++default lddlflags '-shared '
++default ldflags
++default ldflags_uselargefiles
++default ldlibpthname 'LD_LIBRARY_PATH'
++default less less
++default lib_ext .a
++default libc
++default libperl libperl.a
++default libs
++default libsfiles
++default libsfound
++default libspath
++default libswanted
++default libswanted_uselargefiles
++default line
++default lint
++default lkflags
++default ln 'ln'
++default lns "$ln -s"
++default localtime_r_proto 0
++default locincpth
++default loclibpth
++default lp
++default lpr
++default ls ls
++default mad undef
++default madlyh
++default madlyobj
++default madlysrc
++default mail
++default mailx
++default make make
++default make_set_make '#'
++default mallocobj
++default mallocsrc
++default malloctype 'void*'
++default mips_type
++default mistrustnm
++default mkdir mkdir
++default mmaptype 'void *'
++default modetype mode_t
++default more more
++default multiarch undef
++default mv
++default myarchname
++default mydomain
++default myhostname
++default myuname ${target}
++default n 'XS/Typemap'
++default n -n
++default need_va_copy define
++default netdb_hlen_type 'socklen_t'
++default netdb_host_type 'const void *'
++default netdb_name_type int
++default netdb_net_type 'uint32_t'
++default nm nm
++default nm_opt
++default nm_so_opt
++default nonxs_ext
++default nroff nroff
++default nvEUformat '"E"'
++default nvFUformat '"F"'
++default nvGUformat '"G"'
++default nv_overflows_integers_at '256.0*256.0*256.0*256.0*256.0*256.0*2.0*2.0*2.0*2.0*2.0'
++default nv_preserves_uv_bits 0
++default nveformat '"e"'
++default nvfformat '"f"'
++default nvgformat '"g"'
++default o_nonblock O_NONBLOCK
++default obj_ext .o
++default objdump objdump
++default old_pthread_create_joinable PTHREAD_CREATE_JOINABLE
++default optimize
++default orderlib
++default osname linux
++default osvers current
++default pager less
++default passcat 'cat /etc/passwd'
++default patchlevel
++default path_sep ':'
++default perl
++default perl5
++default perl_patchlevel
++default perladmin 'nobody@nowhere.land'
++default perllibs "$libs"
++default pg pg
++default phostname hostname
++default pidtype pid_t
++default pmake
++default pr
++default procselfexe '"/proc/self/exe"'
++default prototype define
++default ptrsize
++default quadkind
++default quadtype
++default randbits 48
++default randfunc
++default random_r_proto 0
++default randseedtype long
++default ranlib ranlib
++default rd_nodata -1
++default readdir64_r_proto 0
++default readdir_r_proto 0
++default rm rm
++default rm_try
++default rmail
++default run
++default runnm false
++default sGMTIME_max '2147483647'
++default sGMTIME_min '-2147483648'
++default sLOCALTIME_max '2147483647'
++default sLOCALTIME_min '-2147483648'
++default sPRIEUldbl '"LE"'
++default sPRIFUldbl '"LF"'
++default sPRIGUldbl '"LG"'
++default sPRIXU64 '"LX"'
++default sPRId64 '"Ld"'
++default sPRIeldbl '"Le"'
++default sPRIfldbl '"Lf"'
++default sPRIgldbl '"Lg"'
++default sPRIi64 '"Li"'
++default sPRIo64 '"Lo"'
++default sPRIu64 '"Lu"'
++default sPRIx64 '"Lx"'
++default sSCNfldbl '"Lf"'
++default sched_yield 'sched_yield()'
++default sed sed
++default seedfunc srand48
++default selectminbits '32'
++default selecttype 'fd_set *'
++default sendmail
++default setgrent_r_proto 0
++default sethostent_r_proto 0
++default setlocale_r_proto 0
++default setnetent_r_proto 0
++default setprotoent_r_proto 0
++default setpwent_r_proto 0
++default setservent_r_proto 0
++default sh /bin/sh
++default shar
++default sharpbang '#!'
++default shmattype 'void *'
++default shrpenv
++default shsharp true
++default sig_count
++default sig_name
++default sig_name_init
++default sig_num
++default sig_num_init
++default sig_size
++default signal_t void
++default sizesize
++default sizetype
++default sleep
++default smail
++default so so
++default sockethdr
++default socketlib
++default socksizetype socklen_t
++default sort sort
++default spackage Perl5
++default spitshell cat
++default srand48_r_proto 0
++default srandom_r_proto 0
++default src `cd .. >/dev/null ; pwd`
++default ssizetype
++default st_ino_sign 1
++default st_ino_size 4
++default startperl "$sharpbang$perlpath"
++default startsh '#!/bin/sh'
++default static_ext
++default stdchar char
++default stdio_base
++default stdio_bufsiz
++default stdio_bufsize
++default stdio_cnt
++default stdio_filbuf
++default stdio_ptr
++default stdio_stream_array
++default strerror_r_proto 0
++default strings
++default submit
++default subversion
++default sysman
++default tail
++default tar
++default tbl
++default tee
++default test test
++default timeincl
++default timetype
++default tmpnam_r_proto 0
++default to :
++default toolsprefix
++default touch touch
++default tr tr
++default trnl '\n'
++default troff
++default ttyname_r_proto 0
++default uidformat '"lu"'
++default uidsign
++default uidsize
++default uidtype
++default uname uname
++default uniq uniq
++default uquadtype
++default use5005threads undef
++default use64bitall undef
++default use64bitint undef
++default usecrosscompile undef
++default usedevel undef
++default usedl define
++default usedtrace undef
++default usefaststdio undef
++default useithreads undef
++default usekernprocpathname undef
++default uselargefiles define
++default uselongdouble undef
++default usemallocwrap define
++default usemorebits undef
++default usemultiplicity undef
++default usemymalloc n
++default usenm false
++default usensgetexecutablepath undef
++default useopcode false
++default useperlio define
++default useposix true
++default usereentrant undef
++default userelocatableinc undef
++default usesfio false
++default useshrplib false
++default usesitecustomize undef
++default usesocks undef
++default usethreads undef
++default usevendorprefix undef
++default usevfork false
++default usrinc
++default uuname
++default uvXUformat '"lX"'
++default uvoformat '"lo"'
++default uvuformat '"lu"'
++default uvxformat '"lx"'
++default vaproto 'define'
++default vendorarch
++default vendorarchexp
++default vendorbin
++default vendorbinexp
++default vendorlib
++default vendorlib_stem
++default vendorlibexp
++default vendorprefix
++default vendorprefixexp
++default vendorscript
++default vendorscriptexp
++default version_patchlevel_string "version $PERL_VERSION subversion $PERL_SUBVERSION"
++default versiononly undef
++default vi
++default voidflags 15
++default xlibpth
++default yacc yacc
++default yaccflags
++default zcat
++default zip zip
++
++# "use MakeMaker direct CC Library Test"
++# see cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker/Liblist/Kid.pm
++# and resp. patch for reasons
++default usemmcclt 'define'
++
++if [ "$mode" = "buildmini" ]; then
++	default target_name
++	default target_arch
++	default sysroot
++fi
++
++if [ "$disabledmods" = 'define' ]; then
++	default disabledmods 'define'
++	default disabled_dynamic_ext ''
++	default disabled_nonxs_ext ''
++fi
++
++if [ -z "$cleanonly" ]; then
++	for k in $uservars; do
++		k=`echo "$k" | sed -E -e 's/[^A-Za-z0-9_-]//g' -e 's/-/_/g'`
++		x=`valueof "x_$k"`
++		if [ "$x" != "written" ]; then
++			v=`valueof "$k"`
++			log "Writing $x $k=$v to $config"
++			putvar "$k" "$v"
++		fi
++	done
++
++	failpoint
++fi
++
++unset -f default
++unset -f default_inst
++unset -f required
++unset -f const
+diff --exclude CVS -r -u -N perl-5.16.3-extract/cnf/configure_hdrs.sh perl-5.16.3/cnf/configure_hdrs.sh
+--- cnf/configure_hdrs.sh	1969-12-31 16:00:00.000000000 -0800
++++ cnf/configure_hdrs.sh	2013-05-16 06:22:38.000000000 -0700
+@@ -0,0 +1,123 @@
++#!/bin/sh
++
++# We can't really check if header is there (gcc reports no errors for (some?) missing
++# headers). And, in fact, we need not to. All we want to know is whether it's
++# safe to include this header, i.e., won't it break compilation.
++
++hashdr () {
++	_hdrname=`symbolname "$1"`
++	
++	mstart "Checking whether to include <$1>"
++	ifhintdefined "i_${_hdrname}" 'yes' 'no' && return $__
++	try_start
++	try_add "#include <$1>"
++	try_compile
++	resdef 'yes' 'no' "i_${_hdrname}"
++}
++
++check hashdr 'stdio.h'
++test "$i_stdio" = 'define' ||\
++	die "Can't include <stdio.h>, check compiler configuration"
++
++check hashdr 'arpa/inet.h'
++check hashdr 'assert.h'
++check hashdr 'crypt.h'
++check hashdr 'ctype.h'
++check hashdr 'dbm.h'
++check hashdr 'dirent.h'
++check hashdr 'dlfcn.h'
++check hashdr 'fcntl.h'
++check hashdr 'float.h'
++check hashdr 'gdbm-ndbm.h'
++check hashdr 'gdbm.h'
++check hashdr 'gdbm/ndbm.h'
++check hashdr 'grp.h'
++check hashdr 'inttypes.h'
++check hashdr 'langinfo.h'
++check hashdr 'limits.h'
++check hashdr 'locale.h'
++check hashdr 'mach/cthreads.h'
++check hashdr 'malloc.h'
++check hashdr 'math.h'
++check hashdr 'memory.h'
++check hashdr 'mntent.h'
++check hashdr 'ndbm.h'
++check hashdr 'net/errno.h'
++check hashdr 'netdb.h'
++check hashdr 'netinet/in.h'
++check hashdr 'netinet/tcp.h'
++check hashdr 'poll.h'
++check hashdr 'pwd.h'
++check hashdr 'rpcsvc/dbm.h'
++check hashdr 'setjmp.h'
++check hashdr 'sfio.h'
++check hashdr 'sgtty.h'
++check hashdr 'shadow.h'
++check hashdr 'signal.h'
++check hashdr 'stdarg.h'
++check hashdr 'stdbool.h'
++check hashdr 'stddef.h'
++check hashdr 'stdint.h'
++check hashdr 'stdlib.h'
++check hashdr 'string.h'
++check hashdr 'strings.h'
++check hashdr 'sys/access.h'
++check hashdr 'sys/dir.h'
++check hashdr 'sys/file.h'
++check hashdr 'sys/filio.h'
++check hashdr 'sys/ioctl.h'
++check hashdr 'sys/mman.h'
++check hashdr 'sys/mode.h'
++check hashdr 'sys/mount.h'
++check hashdr 'sys/ndir.h'
++check hashdr 'sys/param.h'
++check hashdr 'sys/poll.h'
++check hashdr 'sys/prctl.h'
++check hashdr 'sys/resource.h'
++check hashdr 'sys/security.h'
++check hashdr 'sys/select.h'
++check hashdr 'sys/sem.h'
++check hashdr 'sys/socket.h'
++check hashdr 'sys/sockio.h'
++check hashdr 'sys/stat.h'
++check hashdr 'sys/statfs.h'
++check hashdr 'sys/statvfs.h'
++check hashdr 'sys/time.h'
++check hashdr 'sys/times.h'
++check hashdr 'sys/types.h'
++check hashdr 'sys/uio.h'
++check hashdr 'sys/un.h'
++check hashdr 'sys/utsname.h'
++check hashdr 'sys/vfs.h'
++check hashdr 'sys/wait.h'
++check hashdr 'syslog.h'
++check hashdr 'termio.h'
++check hashdr 'termios.h'
++check hashdr 'time.h'
++check hashdr 'unistd.h'
++check hashdr 'ustat.h'
++check hashdr 'utime.h'
++check hashdr 'values.h'
++check hashdr 'varargs.h'
++check hashdr 'vfork.h'
++
++if [ "$usethreads" = 'define' ]; then
++	check hashdr 'pthread.h'
++fi
++
++# simplified approach, compared to what Configure has.
++# assume header is usable as long as it's there
++mstart "Looking which header to use for varargs"
++if [ "$i_stdarg" = 'define' ]; then
++	setvar 'i_varargs' 'undef'
++	setvar 'i_varhdr' 'stdarg.h'
++	result '<stdarg.h>'	
++elif [ "$i_varargs" = 'define' ]; then
++	setvar 'i_stdarg' 'undef'
++	setvar 'i_varhdr' 'varargs.h'
++	result '<varargs.h>'
++else
++	result 'nothing found'
++fi
++
++setvar i_systimek undef
+diff --exclude CVS -r -u -N perl-5.16.3-extract/cnf/configure_help.sh perl-5.16.3/cnf/configure_help.sh
+--- cnf/configure_help.sh	1969-12-31 16:00:00.000000000 -0800
++++ cnf/configure_help.sh	2013-05-16 05:27:05.000000000 -0700
+@@ -0,0 +1,146 @@
++#!/bin/sh
++
++cat <<EOF
++Usage:
++	configure [options]
++
++configure adheres to common GNU autoconf style, but also accepts most
++of the original Configure options. Both short (-D) and long (--define)
++options are supported. Valid ways to supply arguments for the options:
++-f config.sh, -fconfig.sh -D key=val, -Dkey=val, --set-key=val, --set key=val.
++Whenever necessary, dashes in "key" are converted to underscores so it's ok
++to use --set-d-something instead of --set-d_something.
++
++The options themselves are either self-explainatory or too obscure to be
++documented here. In latter case check which config.sh variable you're
++interested in and refer to Porting/Glossary for description.
++
++	--help			show this message
++	--mode=<mode>		(don't use this)
++		--mode=cross	Force cross-compilation mode
++	--regenerate		Re-generate config.h, xconfig.h
++				and Makefile.config
++				from config.sh and xconfig.sh
++
++	--prefix=/usr		Installation prefix
++	--html1dir=<dir>	For HTML documentation
++	--html3dir=<dir>
++	--man1dir=<dir>		For manual pages
++	--man3dir=<dir>
++
++	--build=<machine>	Default prefix for \$HOSTCC etc.
++	--target=<machine>	Same, for primary \$CC
++	--target-tools-prefix=<p>	same, but doesn't affect targetarch etc.
++	--hints=<h1>,<h2>,...	Use specified hints (cnf/hints/<h1> etc.)
++				Does not affect hint selection for modules
++	
++	--with-libs=<libs>	Comma-separated list of libraries to use
++				(only basenames, use "dl" to have -ldl
++				 passed to linker)
++
++	--with-cc=		C compiler
++	--with-cpp=		C preprocessor
++	--with-ranlib=		ranlib; set to 'true' or 'echo' if
++				 you don't need it
++	--with-objdump=		objdump; only needed for some tests
++		
++	--host-cc=		Same, for host/build system
++	--host-cpp=		(only useful when cross-compiling)
++	--host-ranlib=
++	--host-objdump=			
++	--host-libs=
++
++	--sysroot=		path to (copy of) target system root
++
++Options from the original Configure which are not supported or make
++no sense for this version of configure:
++
++	-e		go on without questioning past the production
++			 of config.sh (ignored)
++	-E		stop at the end of questions, after having
++			 produced config.sh (ignored)
++	-r		reuse C symbols value if possible, skips costly
++			 nm extraction (ignored, other method is used)
++	-s		silent mode (ignored)
++	-K		(not supported)
++	-S		perform variable substitutions on all .SH files
++			 (ignored)
++	-V 		show version number (not supported)
++
++The following options are used to manipulate the values configure will
++write to config.sh. Check Porting/Glossary for the list of possible
++symbols.
++
++	-d		(ignored) use defaults for all answers.
++	-f file.sh	load configuration from specified file
++	-h		(ignored)
++	-D symbol[=value]	define symbol to have some value:
++		-D symbol         symbol gets the value 'define'
++		-D symbol=value   symbol gets the value 'value'
++	    common used examples (see INSTALL for more info):
++		-Duse64bitint            use 64bit integers
++		-Duse64bitall            use 64bit integers and pointers
++		-Dusethreads             use thread support (also --use-threads)
++		-Dinc_version_list=none  do not include older perl trees in @INC
++		-DEBUGGING=none          DEBUGGING options
++		-Dcc=gcc                 same as --with-cc=gcc
++		-Dprefix=/opt/perl5      same as --prefix=/opt/perl5
++	-O		let -D and -U override definitions
++			 from loaded configuration file.
++	-U symbol	undefine symbol:
++		-U symbol    symbol gets the value 'undef'
++		-U symbol=   symbol gets completely empty
++		e.g.:  -Uversiononly
++
++	-A [a:]symbol=value	manipulate symbol after the platform specific
++				hints have been applied:
++		-A append:symbol=value   append value to symbol
++		-A symbol=value          like append:, but with a separating space
++		-A define:symbol=value   define symbol to have value
++		-A clear:symbol          define symbol to be ''
++		-A define:symbol         define symbol to be 'define'
++		-A eval:symbol=value     define symbol to be eval of value
++		-A prepend:symbol=value  prepend value to symbol
++		-A undef:symbol          define symbol to be 'undef'
++		-A undef:symbol=         define symbol to be ''
++		e.g.:   -A prepend:libswanted='cl pthread '
++			-A ccflags=-DSOME_MACRO
++
++
++	--enable-<something>		Set use<something> to 'define'
++	--has-<function>		Set d_<function> to 'define'
++	--include-<header>[=yes|no]	Set i_<header> to 'define' or 'undef'
++					e.g. for <sys/time.h>:
++						--include-sys-time-h=no
++	--set symbol=value		Set symbol to value
++
++When configuring a cross-build, -D/--set and other similar options affect
++target perl configuration (config.sh) only. Use the following options if
++you need to tweak xconfig.sh:
++
++	--host-<option>[=value]		Pass --<option>[=value] to miniperl
++					configure on the host system (xconfig.sh)
++			e.g. --host-define-foo, --host-set-foo=bar
++
++	--target-<option>[=value]	(same for tconfig.sh; do not use)
++
++Generally configure tries to build all modules it can find in the source tree.
++Use the following options to alter modules list:
++
++	--static-mod=mod1,mod2,...	Build specified modules statically
++	--disable-mod=mod1,mod2,...	Do not build specified modules
++					modX should be something like
++					cpan/Archive-Extract
++					static only applies to XS modules
++	--only-mod=mod1,mod2,...	Build listed modules only
++
++	--disable-disabled-mods		Do not generate make rules for	
++					disabled modules. Without this option,
++					any module found by counfigure can be built
++					manually with "make cpan/Module-Name".
++	--all-static			Build all found XS modules as static
++					unless specified otherwise
++
++config.log contains verbose description of what was tested, and how.
++Check it if configure output looks suspicious.
++EOF
+diff --exclude CVS -r -u -N perl-5.16.3-extract/cnf/configure_hint.sh perl-5.16.3/cnf/configure_hint.sh
+--- cnf/configure_hint.sh	1969-12-31 16:00:00.000000000 -0800
++++ cnf/configure_hint.sh	2013-05-16 06:50:26.000000000 -0700
+@@ -0,0 +1,98 @@
++#!/bin/sh
++
++# We want to see
++#	var=value
++# in hint files, but this will break things (say, overwrite variables
++# set by user). So we use sed to make those lines look like
++#	hint "var" "value"
++# The first, not the last occurence of a variable is effective.
++# That's why more specific hint files are tried first.
++
++usehints () {
++	hintfunc="$1"
++	hintfile="$base/hints/$2"
++	if [ -f "$hintfile" ]; then
++		msg "	using $hintfile"
++		sed -E -e "/^([A-Za-z0-9_]+)=/s//$hintfunc \1 /" "$hintfile" > config.hint.tmp
++		. ./config.hint.tmp
++		rm -f config.hint.tmp
++	else
++		log "	no hints for $2"
++	fi
++}
++
++hint () {
++	eval _value="\"\$$1\""
++	if [ -z "$_value" ]; then
++		setvaru "$1" "$2" 'hinted'
++	fi
++}
++
++hintover () {
++	eval _value="\"\$$1\""
++	eval _source="\"\$x_$1\""
++	if [ -z "$_value" -o "$_source" = 'hinted' ]; then
++		setvaru "$1" "$2" 'hinted'
++	fi
++}
++
++trypphints () {
++	hh="$1"; shift
++	hp="$1"; shift
++	for ha in $@; do
++		test -n "$hp" && usehints "$hh" "$hp-$ha"
++		usehints "$hh" "$ha"
++	done
++}
++
++msg "Checking which hints to use"
++if [ -n "$userhints" ]; then
++	for h in `echo "$userhints" | sed -E -e 's/,/ /g'`; do
++		usehints 'hint' "$h"
++	done
++fi
++	
++# For i686-pc-linux-gnu, try such hints:
++#	i686-pc-linux-gnu	(complete target arch)
++#	a/i686-pc		(architecture/machine name)
++#	a/i686
++#	s/linux-gnu		(operating system name)
++#	s/linux
++if [ -n "$targetarch" ]; then
++	h_arch=`echo "$targetarch" | cut -d - -f 1`
++	h_mach=`echo "$targetarch" | cut -d - -f 2`
++	h_base=`echo "$targetarch" | cut -d - -f 3`
++	h_type=`echo "$targetarch" | cut -d - -f 3-`
++	log "	got arch='$h_arch' mach='$h_mach' base='$h_base' type='$h_type'"
++
++	case "$mode" in
++		buildmini) h_pref='host' ;;
++		target) h_pref='target' ;;
++		*) h_pref=''
++	esac
++
++	trypphints 'hint' "$h_pref"\
++		"$targetarch" "$h_arch-$h_mach" "$h_arch" \
++		"$h_type" "$h_base" "default"
++
++	# Once we get all this $h_*, let's set archname
++	setvardefault archname "$h_arch-$h_base"
++elif [ -n "$target" ]; then
++	log "	got target=$target"
++	setvardefault archname "$target"
++
++	case "$mode" in
++		buildmini) h_pref='host' ;;
++		target) h_pref='target' ;;
++		*) h_pref=''
++	esac
++
++	trypphints 'hint' "$h_pref" "$target" "default"
++
++	setvardefault archname "$target"
++else 
++	die "No \$target defined (?!)"
++fi
++
++# Add separator to log file
++log
+diff --exclude CVS -r -u -N perl-5.16.3-extract/cnf/configure_hinu.sh perl-5.16.3/cnf/configure_hinu.sh
+--- cnf/configure_hinu.sh	1969-12-31 16:00:00.000000000 -0800
++++ cnf/configure_hinu.sh	2013-05-16 06:22:38.000000000 -0700
+@@ -0,0 +1,48 @@
++#!/bin/sh
++
++# Second part of configure_hint.sh
++# By this point, $cctype may be known, and thus it may be a good
++# idea to check for compiler-specific hints
++
++if [ -n "$targetarch" -a -n "$cctype" ]; then
++	msg "Checking which hints to use for cc type $cctype"
++	trypphints 'hintover' "$h_pref"\
++		"$targetarch-$cctype" "$h_arch-$h_mach-$cctype" "$h_arch-$cctype" \
++		"$h_type-$cctype" "$h_base-$cctype" "default-$cctype"
++
++elif [ -n "$target" -a -n "$cctype" ]; then
++	msg "Checking which hints to use for cc type $cctype"
++	trypphints 'hintover' "$h_pref"\
++		"$targetarch-$cctype""default-$cctype"
++fi
++# Add separator to log file
++log
++
++# Process -A arguments, if any
++if test -n "$n_appendlist"; then
++	i=0
++	while [ $i -lt $n_appendlist ]; do
++		k=`valueof "appendlist_k_$i"`
++		v=`valueof "appendlist_v_$i"`
++		x=`valueof "appendlist_x_$i"`
++		if [ -z "$k" -a -n "$v" ]; then
++			k="$v"
++			v=""
++		fi
++		case "$k" in
++			*:*) a=${k%:*}; k=${k#*:} ;;
++			*) a='append-sp' ;;
++		esac
++		case "$a" in
++			append-sp) setvaru $k "`valueof $k` $v" 'user' ;;
++			append) setvaru $k "`valueof $k`$v" 'user' ;;
++			prepend) setvaru $k "$v`valueof $k`" 'user' ;;
++			define) setordefine "$k" "$x" "$v" 'define' ;;
++			undef) setordefine "$k" "$x" "" 'undef' ;;
++			clear) setvaru $k '' 'user' ;;
++			eval) setvaru $k `eval "$v"` 'user' ;;
++			*) die "Bad -A action $a" ;;
++		esac
++		i=$(( i + 1 ))
++	done
++fi
+diff --exclude CVS -r -u -N perl-5.16.3-extract/cnf/configure_libs.sh perl-5.16.3/cnf/configure_libs.sh
+--- cnf/configure_libs.sh	1969-12-31 16:00:00.000000000 -0800
++++ cnf/configure_libs.sh	2013-05-16 06:22:38.000000000 -0700
+@@ -0,0 +1,63 @@
++#!/bin/sh
++
++mstart "Deciding whether to use DynaLoader"
++if [ "$usedl" = 'undef' -a -z "$allstatic" ]; then
++	setvar 'usedl' 'undef'
++	result "no"
++	msg "DynaLoader is disabled, making all modules static"
++	setvar 'allstatic' 1
++else
++	setvar 'usedl' 'define'
++	result 'yes'
++fi
++
++mstart "Checking which libraries are available"
++if not hinted 'libs'; then
++	require 'cc'
++	try_start
++	try_add "int main(void) { return 0; }"
++	try_dump
++
++	_libs=""
++	shift
++	for l in $libswanted; do
++		if try_link_libs -l$l; then
++			_libs="$_libs -l$l"
++		fi
++	done
++
++	setvar 'libs' "$_libs"
++	result "$_libs"
++fi
++
++# We need to know whether we're trying to build threads support to make decision about -lpthreads
++if [ "$usethreads" = 'define' -o "$useithreads" = 'define' -o "$use5005threads" = 'define' ]; then
++	test "$usethreads" = 'define' || setvar 'usethreads' 'define'
++else
++	test "$usethreads" = 'define' || setvar 'usethreads' 'undef'
++fi
++
++mstart "Checking which libs to use for perl"
++if not hinted 'perllibs'; then
++	# $libs lists available libs; $perllibs lists libs that the perl executable
++	# should be linked with.
++	# The whole idea is wrong, wrong, wrong, but it's tied to MakeMaker.
++	# Unlike Configure, we're picking libs presumably needed for perl
++	# (Configure uses all except for those it know are not needed)
++	# This allows adding anything to $libswanted without introducing unnecessary perl
++	# dependencies. When perl itself needs something unusual, $perllibs value should be hinted.
++	_libs=''
++	for i in $libs; do
++		case "$i" in 
++			-lm|-lcrypt)
++				appendvar '_libs' "$i" ;;
++			-ldl)
++				test "$usedl" != 'undef' && appendvar '_libs' "$i" ;;
++			-lpthreads)
++				test "$usethreads" != 'undef' && appendvar '_libs' "$i" ;;
++			# For a static build, -lgdbm and friends are assumed to be in ext.libs
++		esac
++	done
++	setvar perllibs "$_libs"
++	result "$_libs"
++fi
+diff --exclude CVS -r -u -N perl-5.16.3-extract/cnf/configure_link.sh perl-5.16.3/cnf/configure_link.sh
+--- cnf/configure_link.sh	1969-12-31 16:00:00.000000000 -0800
++++ cnf/configure_link.sh	2013-05-16 05:27:05.000000000 -0700
+@@ -0,0 +1,64 @@
++#!/bin/sh
++
++# Names of some variables in original configure are shortened
++# (e.g. i_niin for <netinet/in.h>), and it breaks strict pattern
++# used here. To resolve this, we'll "link" new names to old shorter
++# (pull possibly set value from one to another).
++
++# It's possible to make has* functions set several variables at once,
++# but this complicates hint/cache reporting and processing.
++
++# linkvar old new
++linkvar () {
++	eval _v1="\"\$$1\""
++	eval _v2="\"\$$2\""
++	if [ -z "$_v1" ]; then
++		setvar "$1" "$_v2"
++	fi
++}
++
++linkvar longdblsize longdoublesize
++
++linkvar i_sysresrc i_sysresource
++linkvar i_sysselct i_sysselect
++linkvar i_niin i_netinetin
++
++linkvar d_endhent d_endhostent
++linkvar d_endnent d_endnetent
++linkvar d_endpent d_endprotoent
++linkvar d_endsent d_endservent
++linkvar d_getgrps d_getgroups
++linkvar d_gethbyaddr d_gethostbyaddr
++linkvar d_gethbyname d_gethostbyname
++linkvar d_gethent d_gethostent
++linkvar d_gethname d_gethostname
++linkvar d_getnbyaddr d_getnetbyaddr
++linkvar d_getnbyname d_getnetbyname
++linkvar d_getnent d_getnetent
++linkvar d_getpagsz d_getpagesize
++linkvar d_getpbyaddr d_getprotobyaddr
++linkvar d_getpbyname d_getprotobyname
++linkvar d_getpbynumber d_getprotobynumber
++linkvar d_getpent d_getprotoent
++linkvar d_getprior d_getpriority
++linkvar d_getsbyaddr d_getservbyaddr
++linkvar d_getsbyname d_getservbyname
++linkvar d_getsbyport d_getservbyport
++linkvar d_getsent d_getservent
++linkvar d_gettimeod d_gettimeofday
++linkvar d_inetaton d_inet_aton
++linkvar d_locconv d_localeconv
++linkvar d_setgrps d_setgroups
++linkvar d_sethent d_sethostent
++linkvar d_setnent d_setnetent
++linkvar d_setpent d_setprotoent
++linkvar d_setprior d_setpriority
++linkvar d_setsent d_setservent
++linkvar d_sockpair d_socketpair
++linkvar d_syserrlst d_sys_errlist
++
++linkvar ptrsize voidptrsize
++linkvar d_longdbl d_longdouble
++
++# allow -DEBUGGING
++linkvar DEBUGGING EBUGGING
+diff --exclude CVS -r -u -N perl-5.16.3-extract/cnf/configure_misc.sh perl-5.16.3/cnf/configure_misc.sh
+--- cnf/configure_misc.sh	1969-12-31 16:00:00.000000000 -0800
++++ cnf/configure_misc.sh	2013-05-16 05:27:05.000000000 -0700
+@@ -0,0 +1,89 @@
++#!/bin/sh
++
++# Some final tweaks that do not fit in any other file
++
++# Use $ldflags as default value for $lddlflags, together with whatever
++# hints provided, but avoid re-setting anyting specified in the command line
++if [ -n "$ldflags" -a "$x_lddlflags" != "user" ]; then
++	msg "Checking which flags from \$ldflags to move to \$lddlflags"
++	for f in $ldflags; do 
++		case "$f" in
++			-L*|-R*|-Wl,-R*)
++				msg "\tadded $f"
++				appendvar 'lddlflags' "$f"
++				;;
++		esac
++	done
++fi
++
++mstart "Checking whether ld supports scripts"
++if not hinted 'ld_can_script'; then
++	cat > try.c <<EOM
++void foo() {}
++void bar() {}
++EOM
++	cat > try.h <<EOM
++LIBTEST_42 {
++ global:
++  foo;
++ local: *;
++ };
++EOM
++	log "try.c"
++	try_dump
++	log "try.h"
++	try_dump_h
++	rm -f a.out 2>/dev/null
++	# Default values are set in _genc, but here we need one much earlier
++	if [ ! -z "$lddlflags" ]; then
++		_lddlflags="$lddlflags"
++	else
++		_lddlflags=' -shared'
++	fi
++	if run $cc $cccdlflags $ccdlflags $ccflags $ldflags $_lddlflags -o a.out try.c \
++		-Wl,--version-script=try.h >/dev/null 2>&1 \
++		&&  test -s a.out 
++	then
++		setvar ld_can_script 'define'
++		result "yes"
++	else
++		setvar ld_can_script 'undef'
++		result "no"
++	fi
++fi
++
++mstart "Checking whether it's ok to enable large file support"
++if not hinted 'uselargefiles'; then
++	# Adding -D_FILE_OFFSET_BITS is mostly harmless, except
++	# when dealing with uClibc that was compiled w/o largefile
++	# support
++	case "$ccflags" in
++		*-D_FILE_OFFSET_BITS=*)
++			result "already there"
++			;;
++		*)
++			try_start
++			try_includes "stdio.h"
++			try_compile -D_FILE_OFFSET_BITS=64
++			resdef "yes, enabling it" "no, it's disabled" 'uselargefiles' 
++	esac
++fi
++if [ "$uselargefiles" = 'define' ]; then
++	appendvar 'ccdefines' " -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64"
++	log
++fi
++
++if [ "$usethreads" = 'define' ]; then
++	mstart 'Looking whether to use interpreter threads'
++	if [ "$useithreads" = 'define' ]; then
++		setvar 'useithreads' 'define'
++		result 'yes, using ithreads'	
++	elif [ "$use5005threads" = 'define' ]; then
++		setvar 'useithreads' 'undef'
++		result 'no, using 5.005 threads'
++	else 
++		setvar 'useithreads' 'define'
++		result 'yes, using ithreads'	
++	fi
++	log
++fi
+diff --exclude CVS -r -u -N perl-5.16.3-extract/cnf/configure_mods.sh perl-5.16.3/cnf/configure_mods.sh
+--- cnf/configure_mods.sh	1969-12-31 16:00:00.000000000 -0800
++++ cnf/configure_mods.sh	2013-05-16 06:50:26.000000000 -0700
+@@ -0,0 +1,126 @@
++#!/bin/sh
++
++# Since 5.10.1 the module dirs are flat, so there's no need
++# for recursive search etc.
++extdir () {
++	for i in $1/*; do
++		L=`basename "$i" | sed -E -e 's!.*-!!'`
++		if [ "$L" = "DynaLoader" ]; then
++			# do nothing, it's DynaLoader
++			true
++		# just checking $i/$L.xs is NOT enough, since some extensions
++		# like cpan/List-Util have .xs files with different names
++		elif ls "$i" | grep -qE '.(xs|c)$'; then
++			extadd "xs" "$i"
++		elif [ -f "$i/Makefile.PL" -o -f "$i/Makefile" -o -d "$i/lib" -o -f "$i/$L.pm" ]; then
++			extadd "noxs" "$i"
++		fi
++	done
++}
++
++extadd () {
++	s=`modsymname "$2"`
++	if [ "$s" = "dynaloader" ]; then
++		msg "\tskipping $2"
++		return
++	fi
++	test "$1" = 'xs' && appendvar 'known_extensions' "$2"
++	o=`valueof "only_$s"`
++	if [ -n "$onlyext" -a -z "$o" ]; then
++		msg "\tskipping $2"
++		extadddisabled "$1" "$2"
++		return
++	fi
++	d=`valueof "disable_$s"`
++	if [ -n "$d" -a "$d" != "0" ]; then
++		msg "\tdisabled $2"
++		extadddisabled "$1" "$2"
++		return
++	fi
++	t=`valueof "static_$s"`
++	if [ "$1" = "xs" -a -n "$t" -a "$t" != "0" ]; then
++		msg "\tstatic $2"
++		static_ext="$static_ext$2 "
++	elif [ "$1" = "xs" -a -n "$allstatic" ]; then
++		msg "\tstatic $2"
++		static_ext="$static_ext$2 "
++	elif [ "$1" = "xs" ]; then
++		msg "\tdynamic $2"
++		dynamic_ext="$dynamic_ext$2 "
++	else 
++		msg "\tnon-xs $2"
++		nonxs_ext="$nonxs_ext$2 "
++	fi
++}
++
++extadddisabled () {
++	s=`modsymname "$2"`
++	if [ "$1" = "xs" ]; then
++		disabled_dynamic_ext="$disabled_dynamic_ext$2 "
++	else
++		disabled_nonxs_ext="$disabled_nonxs_ext$2 "
++	fi
++}
++
++extonlyif () {
++	n="$1"; shift
++	s=`modsymname "$n"`
++	if [ "$@" ]; then
++		return
++	else
++		log "pre-disabling $s"
++		msg "\tpre-disabling $s"
++		eval "disable_$s=1"
++	fi
++
++}
++
++msg "Looking which extensions should be disabled"
++
++test -n "$useposix" || setvar 'useposix' 'define'
++test -n "$useopcode" || setvar 'useopcode' 'define'
++
++extonlyif DB_File "$i_db" = 'define'
++extonlyif GDBM_File "$i_gdbm" = 'define'
++extonlyif NDBM_File "$i_ndbm" = 'define'
++extonlyif ODBM_File "$i_odbm" = 'define'
++extonlyif I18N/Langinfo "$i_langinfo" = 'define' -a "$d_nl_langinfo" = 'define'
++extonlyif IPC/SysV "$i_msg" = 'define' -o "$i_shm" = 'define' -o "$d_sem" = 'define'
++extonlyif Opcode "$useopcode" = 'define'
++extonlyif POSIX "$useposix" = 'true'
++extonlyif Socket "$d_socket" = 'define'
++extonlyif Sys/Syslog "$d_socket" = 'define'
++extonlyif Thread "$usethreads" = 'define'
++extonlyif cpan/List-Util "$usedl" != 'undef'
++extonlyif XS/APItest "$usedl" = 'define'
++extonlyif XS/Typemap "$usedl" = 'define'
++extonlyif VMS-DCLsym "$osname" = "vms"		# XXX: is it correct?
++extonlyif VMS-Stdio "$osname" = "vms"
++
++for d in ext cpan dist; do
++	msg "Looking for extensions recursively under $d/"
++	extdir $d
++done
++
++msg
++msg "Static modules: $static_ext"
++msg "Non-XS modules: $nonxs_ext"
++msg "Dynamic modules: $dynamic_ext"
++
++if [ -z "$disabledmods" ]; then
++	# see configure_args on how to undef it
++	# see configure_genc for its only effect within configure
++	disabledmods='define'
++fi
++
++# Some of the tests use $Config{'extensions'} to decide whether to do their thing or not.
++# The original Configure has neither directory nor module names in $extensions.
++# Instead, it uses weird old mid-road format, "File/Glob" for what should have been
++# either File::Glob or ext/File-Glob.
++# Since config.sh is used to generate Makefile, not having directory names there doesn't
++# sound like a good idea at all. Fortunately, most things that look up $extensions
++# do it via $Config. So the solution is to filter config.sh variables later in ../configpm
++# to achieve the desired format in $Config while still keeping directory names in config.sh.
++if nothinted 'extensions'; then
++	setvar extensions "$static_ext $dynamic_ext $nonxs_ext"
++fi
+diff --exclude CVS -r -u -N perl-5.16.3-extract/cnf/configure_prog.sh perl-5.16.3/cnf/configure_prog.sh
+--- cnf/configure_prog.sh	1969-12-31 16:00:00.000000000 -0800
++++ cnf/configure_prog.sh	2013-05-16 06:50:26.000000000 -0700
+@@ -0,0 +1,143 @@
++#!/bin/sh
++
++# Find out which progs to use (mostly by trying prefixes based on $target)
++
++# whichprog msg symbol fail prog1 prog2 ...
++whichprog () {
++	_what="$1"; shift
++	_symbol="$1"; shift
++	_fail="$1"; shift
++	_force=`valueof "$_symbol"`
++	_src=`valueof "x_$_symbol"`
++	mstart "Checking for $_what"
++
++	if [ -n "$_force" ]; then
++		if which "$_force" 2>/dev/null; then
++			setvar "$_symbol" "$_force"
++			result "$_force ($_src)"
++			return 0
++		else
++			result "'$_force' not found ($_src)"
++			if [ -n "$_fail" -a "$_fail" != "0" ]; then
++				fail "no $_what found"
++			fi
++			return 1
++		fi
++	fi
++	
++	for p in "$@"; do
++		if [ -n "$p" ]; then
++			if which "$p" 2>/dev/null; then
++				setvar "$_symbol" "$p"
++				result "$p"
++				return 0
++			fi
++		fi
++	done	
++
++	result "none found"
++	if [ -n "$_fail" -a "$_fail" != "0" ]; then
++		fail "no $_what found"
++	fi
++
++	return 1
++}
++
++if [ -n "$toolsprefix" ]; then
++	ttp="$toolsprefix"
++	check whichprog "C compiler" cc 1      ${ttp}gcc ${ttp}cc
++	check whichprog "linker"     ld 1      ${ttp}gcc
++	check whichprog "ar"         ar 1      ${ttp}ar
++	check whichprog "ranlib"     ranlib 0  ${ttp}ranlib
++	check whichprog "readelf"    readelf 1 ${ttp}readelf
++	check whichprog "objdump"    objdump 1 ${ttp}objdump
++else 
++	check whichprog "C compiler" cc 1      ${pf1}gcc ${pf1}cc ${pf2}gcc
++	check whichprog "linker"     ld 1      ${pf1}gcc ${pf1}cc ${pf2}gcc ${pf1}ld ${pf2}ld
++	check whichprog "ar"         ar 1      ${pf1}ar ${pf2}ar
++	check whichprog "ranlib"     ranlib 0  ${pf1}ranlib ${pf2}ranlib
++	check whichprog "readelf"    readelf 1 ${pf1}readelf ${pf2}readelf readelf
++	check whichprog "objdump"    objdump 1 ${pf1}objdump ${pf2}objdump
++fi
++
++setvar 'cpp' "$cc -E"
++
++failpoint
++
++# some more info on the compiler
++mstart "Checking for GNU cc in disguise and/or its version number"
++if not hinted 'gccversion'; then
++	try_start
++	try_cat <<END
++#if defined(__GNUC__) && !defined(__INTEL_COMPILER)
++#ifdef __VERSION__
++VERSION __VERSION__
++#endif
++#endif
++END
++	try_dump
++	if not run $cc $ccflags -E try.c > try.out 2>>$cfglog; then
++		result "definitely not gcc"
++	else
++		# a bit paranoid here, in case some non-gnu compiler will decide to
++		# output something unexpected
++		_r=`grep -v '^#' try.out | grep . | head -1 | grep '^VERSION' | sed -E -e 's/VERSION //' -e 's/"//g'`
++		if [ -n "$_r" ]; then
++			setvar 'gccversion' "$_r"
++			setvar 'cctype' 'gcc'
++			result "gcc ver. $_r"
++		else
++			result "probably not gcc"
++		fi
++	fi
++fi
++
++if [ -z "$cctype" ]; then
++	mstart "Trying to guess what kind of compiler \$cc is"
++	if not hinted 'cctype'; then
++		if $cc -V >try.out 2>&1; then
++			_cl=`head -1 try.out`
++		elif $cc --version >try.out 2>&1; then
++			_cl=`head -1 try.out`
++		else
++			_cl=''
++		fi
++
++		if [ -n "$_cl" ]; then
++			case "$_cl" in
++				*\(GCC\)*)
++					setvar 'cctype' 'gcc'
++					result 'GNU cc (probably defunct)'
++					;;
++				*"Intel(R) C++ Compiler"*|*"Intel(R) C Compiler"*)
++					setvar 'cctype' 'icc'
++					setvar ccversion `$cc --version | sed -n -e -E 's/^icp\?c \((ICC) \)\?//p'`
++					result 'Intel cc'
++					;;
++				*" Sun "*"C"*)
++					setvar 'cctype' 'sun'
++					result 'Sun cc'
++					;;
++				*)
++					result 'unknown'
++					;;
++			esac
++		else 
++			_cc=`echo "$cc" | sed -E -e 's!.*/!!' -e "s/^$target-//" | sed -E -e 's/-[0-9][0-9.a-z]*$//'`
++			if [ -n "$_cc" -a "$_cc" != 'cc' ]; then
++				setvar 'cctype' "$_cc"
++				result "$_cc"
++			else
++				result 'unknown'
++			fi
++		fi
++	fi
++fi
++
++if [ "$mode" = 'target' -o "$mode" = 'native' ]; then
++	if [ -n "$sysroot" ]; then
++		msg "Adding --sysroot to {cc,ld}flags"
++		setvar 'ccflags' "--sysroot='$sysroot' $ccflags"
++		setvar 'ldflags' "--sysroot='$sysroot' $ldflags"
++	fi
++fi
+diff --exclude CVS -r -u -N perl-5.16.3-extract/cnf/configure_sigs.sh perl-5.16.3/cnf/configure_sigs.sh
+--- cnf/configure_sigs.sh	1969-12-31 16:00:00.000000000 -0800
++++ cnf/configure_sigs.sh	2013-05-16 06:50:26.000000000 -0700
+@@ -0,0 +1,70 @@
++#!/bin/sh
++
++# Check which signals we have defined.
++# This may seem a little barbaric, but the whole procedure
++# doesn't require running any compiled executables.
++
++msg "Checking available signal names"
++
++signals='ZERO'
++siginit='"ZERO"'
++signums='0'
++signumi='0'
++sigsize=1
++
++for sig in HUP INT QUIT ILL TRAP ABRT BUS FPE KILL USR1\
++	SEGV USR2 PIPE ALRM TERM STKFLT CHLD CONT STOP TSTP TTIN TTOU URG\
++	XCPU XFSZ VTALRM PROF WINCH IO PWR SYS NUM32 NUM33 NUM34 NUM35 NUM36\
++	NUM37 NUM38 NUM39 NUM40 NUM41 NUM42 NUM43 NUM44 NUM45 NUM46 NUM47\
++	NUM48 NUM49 NUM50 NUM51 NUM52 NUM53 NUM54 NUM55 NUM56 NUM57 NUM58\
++	NUM59 NUM60 NUM61 NUM62 NUM63 RTMAX IOT CLD POLL UNUSED ; do
++	try_start
++	try_includes 'signal.h'
++
++	# OH SHI--
++	try_add "#if SIG$sig == 0"
++	try_add "number 0"
++	for num in `seq 1 100`; do
++		try_add "#elif SIG$sig == $num"
++		try_add "number $num"
++	done
++	try_add "#endif"
++
++	if try_preproc; then
++		num=`grep 'number ' try.out | sed -E -e 's/[^0-9]//g'`
++		if [ -n "$num" -a "$num" != 0 ]; then
++			msg "\tgot SIG$sig = $num" >&2
++			signals="$signals SIG$sig"
++			siginit="$siginit, \"$sig\""
++			signums="$signums $num"
++			signumi="$signumi, $num"
++			sigsize=$((sigsize+1))
++		fi
++	fi
++done
++[ -z "$siginit" ] || siginit="$siginit, 0"
++[ -z "$signumi" ] || signumi="$signumi, 0"
++
++# try to get NSIG value
++mstart "Checking NSIG value"
++try_start
++try_includes 'signal.h'
++try_add 'configure check sig_count=NSIG'
++try_dump
++if try_preproc; then
++	num=`grep 'configure check sig_count' try.out | sed -E -e 's/.*=//' -e 's/[^0-9]//g'`
++	if [ -n "$num" ]; then
++		setvar sig_count "$num"
++		result "$num"
++	else
++		result unknown
++	fi
++else
++	result unknown
++fi
++
++setvar "sig_name" "$signals"
++setvar "sig_name_init" "$siginit"
++setvar "sig_num" "$signums"
++setvar "sig_num_init" "$signumi"
++setvar "sig_size" "$sigsize"
+diff --exclude CVS -r -u -N perl-5.16.3-extract/cnf/configure_targ.sh perl-5.16.3/cnf/configure_targ.sh
+--- cnf/configure_targ.sh	1969-12-31 16:00:00.000000000 -0800
++++ cnf/configure_targ.sh	2013-05-16 05:27:05.000000000 -0700
+@@ -0,0 +1,69 @@
++#!/bin/sh
++
++# This is called before _gencfg is invoked for the second time
++# to generate tconfig.sh
++# It should forcibly set cc & Co. to some non-cross values.
++# Note: this is *not* tested, and probably can't be.
++
++setvardefault () {
++	if [ -n "$2" ]; then
++		setvar "$1" "$2"
++	else
++		setvar "$1" "$3"
++	fi
++}
++
++default_tnat () {
++	v=`valueof "target_$1"`
++	w=`valueof "$1"`
++	if [ -n "$v" -a "$v" != ' ' ]; then
++		setvar "install$1" "$v"
++	else
++		setvar "install$1" "$installprefix$w"
++	fi
++
++}
++
++setvardefault 'cc' "$target_cc" 'cc'
++setvardefault 'cpp' "$target_cpp" "$cc -E"
++setvardefault 'ld' "$target_ld" 'ld'
++setvardefault 'ar' "$target_ar" 'ar'
++setvardefault 'objdump' "$target_objdump" 'objdump'
++setvardefault 'ranlib' "$target_ranlib" 'ranlib'
++
++setvar 'cpprun' "$cpp"
++setvar 'cppstdin' "$cpp"
++
++setvardefault installprefix "$target_installprefix" ''
++
++default_tnat html1dir
++default_tnat html3dir
++default_tnat man1dir
++default_tnat man1ext
++default_tnat man3dir
++default_tnat man3ext
++default_tnat scriptdir
++default_tnat otherlibdirs
++default_tnat libsdirs
++default_tnat archlib
++default_tnat bin
++default_tnat html1dir
++default_tnat html3dir
++default_tnat privlib
++default_tnat script
++default_tnat sitearch
++default_tnat sitebin
++default_tnat sitehtml1dir 
++default_tnat sitehtml3dir
++default_tnat sitelib 
++default_tnat siteman1dir
++default_tnat siteman3dir
++default_tnat sitescript
++default_tnat vendorarch
++default_tnat vendorbin
++default_tnat vendorhtml1dir
++default_tnat vendorhtml3dir
++default_tnat vendorlib
++default_tnat vendorman1dir
++default_tnat vendorman3dir
++default_tnat vendorscript
+diff --exclude CVS -r -u -N perl-5.16.3-extract/cnf/configure_thrd.sh perl-5.16.3/cnf/configure_thrd.sh
+--- cnf/configure_thrd.sh	1969-12-31 16:00:00.000000000 -0800
++++ cnf/configure_thrd.sh	2013-05-16 06:50:26.000000000 -0700
+@@ -0,0 +1,214 @@
++#!/bin/sh
++
++# Thread support
++# Called only if $usethreads is set (which is not by default)
++
++# Both presence *and* prototype for the function are checked here,
++# with prototype encoded the same way relevant constants from config.h use:
++# 	[A-Za-z]_[A-Za-z]+
++# Each letter mean one type; first, return type, then arguments
++#	I_BBW	int foo(char*, char*, size_t)
++#	V_HI	void bar(FILE*, int)
++# Here's what each letter mean:
++
++type_I='int'
++type_B='char*'
++type_C='const char*'
++type_V='void'
++type_H='FILE*'
++type_W='size_t'
++type_Z='double'
++type_E='int*'
++type_U='unsigned long'
++type_L='long int'
++type_i='int*'
++type_l='long*'
++type_t='int32_t*'
++type_s='socklen_t'
++type_u='uint32_t'
++
++# There are also four special letters: 
++free_type_letters='T S D R'
++# Types for these are specified for each test separately (usually that's
++# a pointer to some struct)
++
++# hasfuncr func_r includes 'P_ROTO1 P_ROTO2 ...' 'T=type_T' 'S=type_S' ...
++hasfuncr () {
++	w="$1"
++	D="d_$w"
++	i="pthread.h $2"
++	P="$3"
++	shift 3
++
++	require 'cc'
++	mstart "Checking for $w"
++
++	__=13
++	ifhintdefined "$D" 'present' 'missing' && test $__ != 0 && return $__
++
++	if [ $__ = '13' ]; then
++		try_start
++		try_add "int main(void) { $w(); return 0; }"
++		try_link
++		resdef 'found' 'not found' "$D" || return $__
++	fi
++
++	msg "Checking which prototype $w has"
++	hasfuncr_assign_types "$@"
++	# The following "real" prototype checks may return false positives
++	# if none of included headers declares prototype for $w. Because of
++	# this, we must make sure there was at least one negative result.
++	cz=''
++	for p in $P; do
++		if hasfuncr_proto "$w" "$i" "$p" "$@"; then
++			setvar "${w}_proto" "$p"
++			cz="${cz}y"
++		elif [ -z "$cz" -o "$cz" = 'y' ]; then
++			cz="${cz}n"
++		fi
++		if [ "$cz" = "yn" -o "$cz" = "ny" ]; then
++			return 0;
++		elif [ "$cz" = 'yy' ]; then
++			msg "\tdouble positive, $w has no declared prototype"
++			break;
++		fi
++	done
++	if [ "$cz" = "y" ]; then
++		# There was only one prototype to test, so we take one more
++		# to see if it will return negative result. V_Z is not among
++		# prototypes these functions can have, so it should always
++		# return negative.
++		if hasfuncr_proto "$w" "$i" "V_Z" "$@"; then
++			msg "\tdouble positive, $w has no declared prototype"
++		else
++			return 0
++		fi
++	fi
++	setvar "$D" 'undef'
++	msg "\tassuming $w is unusable"
++	return 1
++}
++
++# hasfuncr_assign_types 'T=type_T' 'S=type_S' ...
++hasfuncr_assign_types () {
++	for cl in $free_type_letters; do 
++		eval "type_$cl='undef'"
++	done
++	for cv in "$@"; do
++		echo "$cv" | grep -q '=' || die "Bad free type specified \"$cv\" (missing =)"
++		cl=`echo "$cv" | sed -E -e 's/=.*//'`
++		ct=`echo "$cv" | sed -E -e 's/.=//'`
++		test -n "$cl" -a -n "$ct" || die "Bad free type specified \"$cv\" (empty l- or rhs)"
++		eval "type_$cl='$ct'"
++		log "Setting type_$cl = '$ct'"
++	done
++}
++
++# hasfuncr_proto func_r 'include.h' P_ROTO 
++hasfuncr_proto () {
++	mstart "\tis it $3"
++	try_start
++	try_includes $2
++	Q=`hasfuncr_proto_str "$1" "$3"`	
++	try_add "$Q"
++
++	if try_compile; then
++		result "yes"
++		return 0
++	else
++		result "no"
++		return 1
++	fi
++}
++
++# hasfuncr_proto func_r P_ROTO -> "type_P func_r(type_R, type_O, type_T, type_O);"
++hasfuncr_proto_str () {
++	cf="$1"
++	cP="$2"
++
++	cr=`echo "$cP" | sed -E -e 's/_.*//'`
++	cR=`valueof "type_$cr"`
++	test -n "$cR" || die "BAD type letter $cr in $cP"
++
++	ca=`echo "$cP" | sed -E -e 's/^._//' -e 's/(.)/\1 /g'`
++	for cp in $ca; do
++		cT=`valueof "type_$cp"`
++		test -n "$cT" || msg -n "(BAD type letter $cp) "
++		test "$cT" = "undef" && msg -n "(UNDEF free type letter $cp) "
++		if [ -z "$cA" ]; then
++			cA="$cT"
++		else
++			cA="$cA, $cT"
++		fi
++	done
++
++	echo "$cR $cf($cA);"
++}
++
++check hasfuncr asctime_r 'time.h' 'B_SB B_SBI I_SB I_SBI' 'S=const struct tm*'
++check hasfuncr crypt_r 'sys/types.h stdio.h crypt.h' 'B_CCS B_CCD' 'S=struct crypt_data*' 'D=CRYPTD*'
++check hasfuncr ctermid_r 'sys/types.h stdio.h' 'B_B'
++check hasfuncr endpwent_r 'sys/types.h stdio.h pwd.h' 'I_H V_H'
++check hasfuncr getgrent_r 'sys/types.h stdio.h grp.h' 'I_SBWR I_SBIR S_SBW S_SBI I_SBI I_SBIH' \
++	'S=struct group*' 'R=struct group**'
++check hasfuncr endgrent_r 'sys/types.h stdio.h grp.h' 'I_H V_H'
++check hasfuncr getgrgid_r 'sys/types.h stdio.h grp.h' 'I_TSBWR I_TSBIR I_TSBI S_TSBI' \
++	'T=gid_t' 'S=struct group*' 'R=struct group**'
++check hasfuncr getgrnam_r 'sys/types.h stdio.h grp.h' 'I_CSBWR I_CSBIR S_CBI I_CSBI S_CSBI' \
++	'S=struct group*' 'R=struct group**'
++check hasfuncr drand48_r 'sys/types.h stdio.h stdlib.h' 'I_ST' 'S=struct drand48_data*' 'T=double*'
++check hasfuncr endhostent_r 'sys/types.h stdio.h netdb.h' 'I_D V_D' 'D=struct hostent_data*'
++check hasfuncr endnetent_r 'sys/types.h stdio.h netdb.h' 'I_D V_D' 'D=struct netent_data*'
++check hasfuncr endprotoent_r 'sys/types.h stdio.h netdb.h' 'I_D V_D' 'D=struct protoent_data*'
++check hasfuncr endservent_r 'sys/types.h stdio.h netdb.h' 'I_D V_D' 'D=struct servent_data*'
++check hasfuncr gethostbyaddr_r 'netdb.h' \
++	'I_CWISBWRE S_CWISBWIE S_CWISBIE S_TWISBIE S_CIISBIE S_CSBIE S_TSBIE I_CWISD I_CIISD I_CII I_TsISBWRE' \
++	'T=const void*' 'S=struct hostent*' 'D=struct hostent_data*' 'R=struct hostent**'
++check hasfuncr gethostbyname_r 'netdb.h' 'I_CSBWRE S_CSBIE I_CSD' \
++	'S=struct hostent*' 'R=struct hostent**' 'D=struct hostent_data*'
++check hasfuncr gethostent_r 'netdb.h' 'I_SBWRE I_SBIE S_SBIE S_SBI I_SBI I_SD'\
++	'S=struct hostent*' 'R=struct hostent**' 'D=struct hostent_data*'
++check hasfuncr getlogin_r 'unistd.h' 'I_BW I_BI B_BW B_BI'
++check hasfuncr getnetbyaddr_r 'netdb.h' \
++	'I_UISBWRE I_LISBI S_TISBI S_LISBI I_TISD I_LISD I_IISD I_uISBWRE'\
++	'T=in_addr_t' 'S=struct netent*' 'D=struct netent_data*' 'R=struct netent**'
++check hasfuncr getnetbyname_r 'netdb.h' 'I_CSBWRE I_CSBI S_CSBI I_CSD' \
++	'S=struct netent*' 'R=struct netent**' 'D=struct netent_data*'
++check hasfuncr getnetent_r 'netdb.h' 'I_SBWRE I_SBIE S_SBIE S_SBI I_SBI I_SD' \
++	'S=struct netent*' 'R=struct netent**' 'D=struct netent_data*'
++check hasfuncr getprotobyname_r 'netdb.h' 'I_CSBWR S_CSBI I_CSD' \
++	'S=struct protoent*' 'R=struct protoent**' 'D=struct protoent_data*'
++check hasfuncr getprotobynumber_r 'netdb.h' 'I_ISBWR S_ISBI I_ISD' \
++	'S=struct protoent*' 'R=struct protoent**' 'D=struct protoent_data*'
++check hasfuncr getprotoent_r 'netdb.h' 'I_SBWR I_SBI S_SBI I_SD' \
++	'S=struct protoent*' 'R=struct protoent**' 'D=struct protoent_data*'
++check hasfuncr getpwent_r 'pwd.h' 'I_SBWR I_SBIR S_SBW S_SBI I_SBI I_SBIH' \
++	'S=struct passwd*' 'R=struct passwd**'
++check hasfuncr getpwnam_r 'pwd.h' 'I_CSBWR I_CSBIR S_CSBI I_CSBI' \
++	'S=struct passwd*' 'R=struct passwd**'
++check hasfuncr getpwuid_r 'sys/types.h pwd.h' 'I_TSBWR I_TSBIR I_TSBI S_TSBI' \
++	 'T=uid_t' 'S=struct passwd*' 'R=struct passwd**'
++check hasfuncr getservbyname_r 'netdb.h' 'I_CCSBWR S_CCSBI I_CCSD' \
++	'S=struct servent*' 'R=struct servent**' 'D=struct servent_data*'
++check hasfuncr getservbyport_r 'netdb.h' 'I_ICSBWR S_ICSBI I_ICSD' \
++	'S=struct servent*' 'R=struct servent**' 'D=struct servent_data*'
++check hasfuncr getservent_r 'netdb.h' 'I_SBWR I_SBI S_SBI I_SD' \
++	'S=struct servent*' 'R=struct servent**' 'D=struct servent_data*'
++check hasfuncr getspnam_r 'shadow.h' 'I_CSBWR S_CSBI' 'S=struct spwd*' 'R=struct spwd**'
++check hasfuncr gmtime_r 'time.h' 'S_TS I_TS' 'S=struct tm*' 'T=const time_t*'
++check hasfuncr localtime_r 'time.h' 'S_TS I_TS' 'S=struct tm*' 'T=const time_t*'
++check hasfuncr random_r 'stdlib.h' 'I_iS I_lS I_St' 'S=struct random_data*'
++check hasfuncr readdir64_r 'stdio.h dirent.h' 'I_TSR I_TS' 'T=DIR*' 'S=struct dirent64*' 'R=struct dirent64**'
++check hasfuncr readdir_r 'stdio.h dirent.h' 'I_TSR I_TS' 'T=DIR*' 'S=struct dirent*' 'R=struct dirent**'
++check hasfuncr setgrent_r 'grp.h' 'I_SBWR I_SBIR S_SBW S_SBI I_SBI I_SBIH' 'S=struct group*' 'R=struct group**'
++check hasfuncr sethostent_r 'netdb.h' 'I_ID V_ID' 'D=struct hostent_data*'
++check hasfuncr setlocale_r 'locale.h' 'I_ICBI'
++check hasfuncr setnetent_r 'netdb.h' 'I_ID V_ID' 'D=struct netent_data*'
++check hasfuncr setprotoent_r 'netdb.h' 'I_ID V_ID' 'D=struct protoent_data*'
++check hasfuncr setpwent_r 'pwd.h' 'I_H V_H'
++check hasfuncr setservent_r 'netdb.h' 'I_ID V_ID' 'D=struct servent_data*'
++check hasfuncr srand48_r 'stdlib.h' 'I_LS' 'S=struct drand48_data*'
++check hasfuncr srandom_r 'stdlib.h' 'I_TS' 'T=unsigned int' 'S=struct random_data*'
++check hasfuncr strerror_r 'string.h' 'I_IBW I_IBI B_IBW'
++check hasfuncr tmpnam_r 'stdio.h' 'B_B'
++check hasfuncr ttyname_r 'stdio.h unistd.h' 'I_IBW I_IBI B_IBI'
+diff --exclude CVS -r -u -N perl-5.16.3-extract/cnf/configure_type.sh perl-5.16.3/cnf/configure_type.sh
+--- cnf/configure_type.sh	1969-12-31 16:00:00.000000000 -0800
++++ cnf/configure_type.sh	2013-05-16 07:04:27.000000000 -0700
+@@ -0,0 +1,100 @@
++#!/bin/sh
++
++# Check availability of some types, and possibly their size
++
++# hastype name 'includes'
++hastype () {
++	_typename=`symbolname "$1"`
++	
++	mstart "Checking type $1"
++	ifhintdefined "d_${_typename}" 'found' 'missing' && return 0
++
++	try_start
++	try_includes $2
++	try_add "$1 foo;"
++	if not try_compile; then
++		result 'missing'
++		return 1
++	fi
++
++	setvar "d_${_typename}" "define"
++	result "found"
++}
++
++# XXX: this probably won't work on non-ELF hosts.
++# TODO: add test for readelf usability, and switch
++# to objdump if possible
++
++# typesize name 'includes'
++typesize () {
++	_typename=`symbolname "$1"`
++
++	mstart "Checking size of $1"
++	ifhintsilent "d_${_typename}" && ifhint "${_typename}size" && return 0
++	
++	# Test d_type and typesize separately; this allows hinting typesize
++	# even for types that may be unavailable
++	try_start
++	try_includes $2
++	try_add "$1 foo;"
++	if not try_compile; then
++		result 'missing'
++		return 1
++	fi
++	setvar "d_${_typename}" "define"
++
++	# Avoid running fragile typesize test unless really necessary
++	ifhint "${_typename}size" && return 0
++
++	if not try_readelf -s > try.out 2>>$cfglog; then
++		result 'unknown'
++		fail "Can't determine sizeof($_typename), use -D{$_typename}size="
++		return 1
++	fi
++
++	result=`grep foo try.out | sed -E -e 's/.*: [0-9]+ +//' -e 's/ .*//'`
++	if [ -z "$result" -o "$result" -le 0 ]; then
++		result "unknown"
++		fail "Can't determine sizeof($_typename)"
++		return 1
++	fi
++
++	setvar "${_typename}size" "$result"
++	_bytes=`bytes "$result"`
++	result "$result $_bytes"
++}
++
++check typesize 'char'
++check typesize 'short'
++check typesize 'int'
++check typesize 'long'
++check typesize 'double'
++check typesize 'long double'
++check typesize 'long long'
++check typesize 'void*'
++check typesize int64_t 'stdint.h'
++check typesize int32_t 'stdint.h'
++check typesize int16_t 'stdint.h'
++check typesize int8_t 'stdint.h'
++
++check typesize 'off_t' sys/types.h
++check typesize 'size_t' sys/types.h
++check typesize 'ssize_t' sys/types.h
++check typesize 'uid_t' sys/types.h
++check typesize 'gid_t' sys/types.h
++check typesize 'fpos_t' stdio.h sys/types.h
++failpoint
++
++check hastype 'time_t' time.h
++check hastype 'clock_t' 'sys/times.h'
++check hastype 'fd_set' 'sys/types.h' 
++check hastype 'fpos64_t' 'stdio.h'
++check hastype 'off64_t' 'sys/types.h'
++check hastype 'struct cmsghdr' 'netinet/in.h'
++check hastype 'struct fs_data' 'sys/vfs.h'
++check hastype 'struct msghdr' 'sys/types.h sys/socket.h sys/uio.h'
++check hastype 'struct statfs' 'sys/types.h sys/param.h sys/mount.h sys/vfs.h sys/statfs.h'
++check hastype 'union semun' 'sys/types.h sys/ipc.h sys/sem.h'
++check hastype 'socklen_t' 'sys/types.h sys/socket.h'
++
++check hastype 'bool' 'stdio.h stdbool.h'
+diff --exclude CVS -r -u -N perl-5.16.3-extract/cnf/configure_type_ext.sh perl-5.16.3/cnf/configure_type_ext.sh
+--- cnf/configure_type_ext.sh	1969-12-31 16:00:00.000000000 -0800
++++ cnf/configure_type_ext.sh	2013-05-16 05:27:05.000000000 -0700
+@@ -0,0 +1,42 @@
++#!/bin/sh
++
++# hasfield name struct field 'includes'
++hasfield () {
++	mstart "Checking whether $2 has $3"
++	ifhintdefined "$1" 'yes' 'no' && return 0
++	
++	try_start
++	try_includes $4
++	try_add 'void foo();'
++	try_add 'void bar()'
++        try_add "{"
++	try_add "	$2 value;"
++	try_add "	foo(value.$3);"
++	try_add "}"
++	if try_compile; then
++		setvar "$1" "define"
++		result "yes"
++		return 0
++	else
++		setvar "$1" "undef"
++		result 'no'
++		return 1
++	fi
++}
++
++check hasfield d_statfs_f_flags 'struct statfs' f_flags sys/vfs.h
++check hasfield d_tm_tm_zone 'struct tm' tm_zone time.h
++check hasfield d_tm_tm_gmtoff 'struct tm' tm_gmtoff time.h
++check hasfield d_pwquota 'struct passwd' pw_quota pwd.h
++check hasfield d_pwage 'struct passwd' pw_age pwd.h
++check hasfield d_pwchange 'struct passwd' pw_change pwd.h
++check hasfield d_pwclass 'struct passwd' pw_class pwd.h
++check hasfield d_pwexpire 'struct passwd' pw_expire pwd.h
++check hasfield d_pwcomment 'struct passwd' pw_comment pwd.h
++check hasfield d_pwgecos 'struct passwd' pw_gecos pwd.h
++check hasfield d_pwpasswd 'struct passwd' pw_passwd pwd.h
++check hasfield d_statblks 'struct stat' st_blocks 'sys/types.h sys/stat.h'
++check hasfield d_dirnamlen 'struct dirent' d_namelen 'sys/types.h'
++check hasfield d_grpasswd 'struct group' gr_passwd grp.h
++check hasfield d_sockaddr_sa_len 'struct sockaddr' sa_len 'sys/types.h sys/socket.h'
++check hasfield d_sin6_scope_id 'struct sockaddr_in6' sin6_scope_id 'sys/types.h sys/socket.h netinet/in.h'
+diff --exclude CVS -r -u -N perl-5.16.3-extract/cnf/configure_type_sel.sh perl-5.16.3/cnf/configure_type_sel.sh
+--- cnf/configure_type_sel.sh	1969-12-31 16:00:00.000000000 -0800
++++ cnf/configure_type_sel.sh	2013-05-16 05:27:05.000000000 -0700
+@@ -0,0 +1,128 @@
++#!/bin/sh
++
++# After we known what types we have, we've got to chose which
++# of them to use.
++
++# typeselect symb required-size it1 ut1 it2 ut2 ...
++# Note: types are always selected in pairs, signed-unsigned,
++# and it's assumed that sizeof(it[j]) == sizeof(ut[j])
++typeselect () {
++	_rqsize="$1"; shift
++	_symboli="$1"; shift
++	_symbolu="$1"; shift
++
++	mstart "Looking which type to use for $_symboli"
++	for _itype in "$@"; do
++		_utype=`unsignedof "$_itype"`
++		_isymb=`symbolname "$_itype"`
++		_usymb=`symbolname "$_utype"`
++		eval _mark="\$d_${_isymb}"
++		eval _size="\$${_isymb}size"
++		log "	checking $_utype/$_itype ($_size)"
++		if [ "$_mark" = 'define' -a "$_size" = "$_rqsize" ]; then
++			setvar ${_symboli}size $_size
++			setvar ${_symboli}type $_itype
++			setvar ${_symbolu}size $_size
++			setvar ${_symbolu}type $_utype
++			result "$_itype / $_utype"
++			return 0
++		fi
++	done
++	result "nothing suitable found"
++	return 1
++}
++
++# unsigned of type -> unsigned-type
++unsignedof () {
++	case "$1" in
++		int*_t) echo "u$1" ;;
++		*) echo "unsigned $1" ;;
++	esac
++}
++
++typeselect 1  i8  u8  int8_t 'char'
++typeselect 2 i16 u16 int16_t 'short'
++typeselect 4 i32 u32 int32_t 'int'
++typeselect 8 i64 u64 int64_t 'long' 'long long'
++typeselect 8 quad uquad int64_t 'long long' 'long' 'int'
++
++log "Looking whether quad is defined ($quadtype)"
++setvar d_quad 'define'
++case "$quadtype" in 
++	int64_t)	setvar quadkind QUAD_IS_INT64_T ;;
++	long*long)	setvar quadkind QUAD_IS_LONG_LONG ;;
++	long)		setvar quadkind QUAD_IS_LONG ;;
++	int)		setvar quadkind QUAD_IS_INT ;;
++	*)		setvar d_quad 'undef' ;;
++esac
++
++msg "Choosing C types to be used for perl internal types"
++case "$use64bitint:$d_quad:$quadtype" in
++define:define:?*)
++	setvar ivtype "$quadtype"
++	setvar uvtype "$uquadtype"
++	setvar ivsize 8
++	setvar uvsize 8
++	;;
++*)	setvar ivtype "long"
++	setvar uvtype "unsigned long"
++	setvar ivsize $longsize
++	setvar uvsize $longsize
++	;;
++esac
++
++case "$uselongdouble:$d_longdouble" in
++define:define)
++	setvar nvtype "long double"
++	setvar nvsize $longdblsize
++	;;
++*)	setvar nvtype double
++	setvar nvsize $doublesize
++	;;
++esac
++
++msg "	IV will be "$ivtype", $ivsize bytes"
++msg "	UV will be "$uvtype", $uvsize bytes"
++msg "	NV will be "$nvtype", $nvsize bytes"
++
++# typeorfallback base primary-type
++# typeorfallback base primary-type fallback-type
++typeorfallback () {
++	isset "${1}type" && isset "${1}size" && return 0		
++
++	mstart "Looking which type to use as ${1}type"
++	_dst="$1"; shift
++	for t in "$@"; do
++		_sym=`symbolname "$t"`
++		_def=`valueof "d_$_sym"`
++		_size=`valueof "${_sym}size"`
++		log "\tsym=$_sym def=$_def size=$_size"
++		if [ "$_def" = 'define' ]; then
++			setvar "${_dst}type" "$t"
++			setvar "${_dst}size" "$_size"	
++			result "$t"
++			return 0
++		fi
++	done
++
++	result "none found"
++	fail "No $_dst type found"
++	return 1
++}
++
++typeorfallback 'fpos' 'fpos_t' 'uint64_t' 'unsigned long'
++typeorfallback 'gid' 'gid_t' 'int'
++typeorfallback 'lseek' 'off_t' 'uint64_t' 'unsigned long'
++typeorfallback 'size' 'size_t' 'uint64_t' 'unsigned long'
++typeorfallback 'ssize' 'ssize_t' 'int64_t' 'long'
++typeorfallback 'time' 'time_t' 'uint32_t' 'unsigned int'
++typeorfallback 'uid' 'uid_t' 'int'
++setvar uidsign '1'
++
++# Configure checks for "bool" type but uses i_stdbool for the result
++if [ "$i_stdbool" = 'define' -a "$d_bool" != "define" ]; then
++	msg "Disabling <stdbool.h> because bool type wasn't usable"
++	setvar i_stdbool undef
++fi
++
++failpoint
+diff --exclude CVS -r -u -N perl-5.16.3-extract/cnf/configure_vars.sh perl-5.16.3/cnf/configure_vars.sh
+--- cnf/configure_vars.sh	1969-12-31 16:00:00.000000000 -0800
++++ cnf/configure_vars.sh	2013-05-16 05:27:05.000000000 -0700
+@@ -0,0 +1,26 @@
++#!/bin/sh
++
++if [ "$mode" = "buildmini" ]; then
++	V="HOST"
++else
++	V=''
++fi
++
++# setfromvar what SHELLVAR
++setfromvar () {
++	v=`valueof "$1"`
++	w=`valueof "$V$2"`
++	if [ -z "$v" -a -n "$w" ]; then
++		log "Using $V$2 for $1"
++		setvar "$1" "$w"
++	fi
++}
++
++setfromvar cc CC
++setfromvar ccflags CFLAGS
++setfromvar cppflags CPPFLAGS
++setfromvar ld LD
++setfromvar ldflags LDFLAGS
++setfromvar ar AR
++setfromvar ranlib RANLIB
++setfromvar objdump OBJDUMP
+diff --exclude CVS -r -u -N perl-5.16.3-extract/cnf/configure_version.sh perl-5.16.3/cnf/configure_version.sh
+--- cnf/configure_version.sh	1969-12-31 16:00:00.000000000 -0800
++++ cnf/configure_version.sh	2013-05-16 08:33:24.000000000 -0700
+@@ -0,0 +1,50 @@
++#!/bin/sh
++
++# setverpart name NAME
++setverpart () {
++	_v=`grep '#define' patchlevel.h | grep "$2" | head -1 | sed -E -e "s/#define $2"'[[:space:]]+//' -e 's/[[:space:]].*//'`
++	msg "	$1=$_v"
++	setvar $1 "$_v"
++}
++
++msg "Getting the current patchlevel..."
++setifndef package 'perl5'
++if [ -r patchlevel.h ]; then
++	setverpart revision PERL_REVISION
++	setverpart patchlevel PERL_VERSION
++	setverpart subversion PERL_SUBVERSION
++	setverpart api_revision PERL_API_REVISION
++	setverpart api_version PERL_API_VERSION
++	setverpart api_subversion PERL_API_SUBVERSION
++
++	v=`egrep ',"(MAINT|SMOKE)[0-9][0-9]*"' patchlevel.h|tail -1|sed 's/[^0-9]//g'`
++	msg "	patchlevel=$v"
++	setvar perl_patchlevel "$v"
++else
++	msg "	You do not have patchlevel.h.  Eek."
++	revision=0
++	patchlevel=0
++	subversion=0
++	api_revision=0
++	api_version=0
++	api_subversion=0
++	perl_patchlevel=0
++fi
++# Define a handy string here to avoid duplication in myconfig.SH and configpm.
++version_patchlevel_string="version $patchlevel subversion $subversion"
++if [ "$perl_patchlevel" != '' -a "$perl_patchlevel" != '0' ]; then
++	perl_patchlevel=`echo $perl_patchlevel | sed 's/.* //'`
++	version_patchlevel_string="$version_patchlevel_string patch $perl_patchlevel"
++fi
++
++msg "	You have $package $version_patchlevel_string"
++
++setvar PERL_CONFIG_SH true
++setvar PERL_REVISION $revision
++setvar PERL_VERSION $patchlevel
++setvar PERL_SUBVERSION $subversion
++setvar PERL_PATCHLEVEL $perl_patchlevel
++setvar PERL_API_REVISION $api_revision
++setvar PERL_API_VERSION $api_version
++setvar PERL_API_SUBVERSION $api_subversion
++setvar api_versionstring "$api_revision.$api_version.$api_subversion"
+diff --exclude CVS -r -u -N perl-5.16.3-extract/cnf/cpan/Digest/MD5.pm perl-5.16.3/cnf/cpan/Digest/MD5.pm
+--- cnf/cpan/Digest/MD5.pm	1969-12-31 16:00:00.000000000 -0800
++++ cnf/cpan/Digest/MD5.pm	2013-05-16 04:57:14.000000000 -0700
+@@ -0,0 +1,10 @@
++#! /usr/bin/false
++
++package Digest::MD5;
++use Digest::Perl::MD5 qw(md5 md5_hex md5_base64);
++use Exporter;
++use vars qw($VERSION @ISA @EXPORTER @EXPORT_OK);
++
++@EXPORT_OK = qw(md5 md5_hex md5_base64);
++@ISA = 'Exporter';
++$VERSION = '1.6';
+diff --exclude CVS -r -u -N perl-5.16.3-extract/cnf/cpan/Digest/Perl/MD5.pm perl-5.16.3/cnf/cpan/Digest/Perl/MD5.pm
+--- cnf/cpan/Digest/Perl/MD5.pm	1969-12-31 16:00:00.000000000 -0800
++++ cnf/cpan/Digest/Perl/MD5.pm	2013-05-16 04:57:14.000000000 -0700
+@@ -0,0 +1,473 @@
++#! /usr/bin/false
++#
++# $Id: MD5.pm,v 1.1.1.1 2013/05/16 11:57:14 agc Exp $
++#
++
++package Digest::Perl::MD5;
++use strict;
++use integer;
++use Exporter;
++use vars qw($VERSION @ISA @EXPORTER @EXPORT_OK);
++
++@EXPORT_OK = qw(md5 md5_hex md5_base64);
++
++@ISA = 'Exporter';
++$VERSION = '1.6';
++
++# I-Vektor
++sub A() { 0x67_45_23_01 }
++sub B() { 0xef_cd_ab_89 }
++sub C() { 0x98_ba_dc_fe }
++sub D() { 0x10_32_54_76 }
++
++# for internal use
++sub MAX() { 0xFFFFFFFF }
++
++# padd a message to a multiple of 64
++sub padding {
++    my $l = length (my $msg = shift() . chr(128));    
++    $msg .= "\0" x (($l%64<=56?56:120)-$l%64);
++    $l = ($l-1)*8;
++    $msg .= pack 'VV', $l & MAX , ($l >> 16 >> 16);
++}
++
++
++sub rotate_left($$) {
++	#$_[0] << $_[1] | $_[0] >> (32 - $_[1]);
++	#my $right = $_[0] >> (32 - $_[1]);
++	#my $rmask = (1 << $_[1]) - 1;
++	($_[0] << $_[1]) | (( $_[0] >> (32 - $_[1])  )  & ((1 << $_[1]) - 1));
++	#$_[0] << $_[1] | (($_[0]>> (32 - $_[1])) & (1 << (32 - $_[1])) - 1);
++}
++
++sub gen_code {
++  # Discard upper 32 bits on 64 bit archs.
++  my $MSK = ((1 << 16) << 16) ? ' & ' . MAX : '';
++#	FF => "X0=rotate_left(((X1&X2)|(~X1&X3))+X0+X4+X6$MSK,X5)+X1$MSK;",
++#	GG => "X0=rotate_left(((X1&X3)|(X2&(~X3)))+X0+X4+X6$MSK,X5)+X1$MSK;",
++  my %f = (
++	FF => "X0=rotate_left((X3^(X1&(X2^X3)))+X0+X4+X6$MSK,X5)+X1$MSK;",
++	GG => "X0=rotate_left((X2^(X3&(X1^X2)))+X0+X4+X6$MSK,X5)+X1$MSK;",
++	HH => "X0=rotate_left((X1^X2^X3)+X0+X4+X6$MSK,X5)+X1$MSK;",
++	II => "X0=rotate_left((X2^(X1|(~X3)))+X0+X4+X6$MSK,X5)+X1$MSK;",
++  );
++  #unless ( (1 << 16) << 16) { %f = %{$CODES{'32bit'}} }
++  #else { %f = %{$CODES{'64bit'}} }
++
++  my %s = (  # shift lengths
++	S11 => 7, S12 => 12, S13 => 17, S14 => 22, S21 => 5, S22 => 9, S23 => 14,
++	S24 => 20, S31 => 4, S32 => 11, S33 => 16, S34 => 23, S41 => 6, S42 => 10,
++	S43 => 15, S44 => 21
++  );
++
++  my $insert = "";
++  while(<DATA>) {
++	chomp;
++	next unless /^[FGHI]/;
++	my ($func,@x) = split /,/;
++	my $c = $f{$func};
++	$c =~ s/X(\d)/$x[$1]/g;
++	$c =~ s/(S\d{2})/$s{$1}/;
++        $c =~ s/^(.*)=rotate_left\((.*),(.*)\)\+(.*)$//;
++
++	#my $rotate = "(($2 << $3) || (($2 >> (32 - $3)) & (1 << $2) - 1)))"; 
++	$c = "\$r = $2;
++        $1 = ((\$r << $3) | ((\$r >> (32 - $3))  & ((1 << $3) - 1))) + $4";
++	$insert .= "\t$c\n";
++  }
++  close DATA;
++  
++  my $dump = '
++  sub round {
++	my ($a,$b,$c,$d) = @_[0 .. 3];
++	my $r;
++
++	' . $insert . '
++	$_[0]+$a' . $MSK . ', $_[1]+$b ' . $MSK . 
++        ', $_[2]+$c' . $MSK . ', $_[3]+$d' . $MSK . ';
++  }';
++  eval $dump;
++  #print "$dump\n";
++  #exit 0;
++}
++
++gen_code();
++
++#########################################
++# Private output converter functions:
++sub _encode_hex { unpack 'H*', $_[0] }
++sub _encode_base64 {
++	my $res;
++	while ($_[0] =~ /(.{1,45})/gs) {
++		$res .= substr pack('u', $1), 1;
++		chop $res;
++	}
++	$res =~ tr|` -_|AA-Za-z0-9+/|;#`
++	chop $res; chop $res;
++	$res
++}
++
++#########################################
++# OOP interface:
++sub new {
++	my $proto = shift;
++	my $class = ref $proto || $proto;
++	my $self = {};
++	bless $self, $class;
++	$self->reset();
++	$self
++}
++
++sub reset {
++	my $self = shift;
++	delete $self->{_data};
++	$self->{_state} = [A,B,C,D];
++	$self->{_length} = 0;
++	$self
++}
++
++sub add {
++	my $self = shift;
++	$self->{_data} .= join '', @_ if @_;
++	my ($i,$c);
++	for $i (0 .. (length $self->{_data})/64-1) {
++		my @X = unpack 'V16', substr $self->{_data}, $i*64, 64;
++		@{$self->{_state}} = round(@{$self->{_state}},@X);
++		++$c;
++	}
++	if ($c) {
++		substr $self->{_data}, 0, $c*64, '';
++		$self->{_length} += $c*64;
++	}
++	$self
++}
++
++sub finalize {
++	my $self = shift;
++	$self->{_data} .= chr(128);
++    my $l = $self->{_length} + length $self->{_data};
++    $self->{_data} .= "\0" x (($l%64<=56?56:120)-$l%64);
++    $l = ($l-1)*8;
++    $self->{_data} .= pack 'VV', $l & MAX , ($l >> 16 >> 16);
++	$self->add();
++	$self
++}
++
++sub addfile {
++  	my ($self,$fh) = @_;
++	if (!ref($fh) && ref(\$fh) ne "GLOB") {
++	    require Symbol;
++	    $fh = Symbol::qualify($fh, scalar caller);
++	}
++	# $self->{_data} .= do{local$/;<$fh>};
++	my $read = 0;
++	my $buffer = '';
++	$self->add($buffer) while $read = read $fh, $buffer, 8192;
++	die __PACKAGE__, " read failed: $!" unless defined $read;
++	$self
++}
++
++sub add_bits {
++}
++
++sub digest {
++	my $self = shift;
++	$self->finalize();
++	my $res = pack 'V4', @{$self->{_state}};
++	$self->reset();
++	$res
++}
++
++sub hexdigest {
++	_encode_hex($_[0]->digest)
++}
++
++sub b64digest {
++	_encode_base64($_[0]->digest)
++}
++
++sub clone {
++	my $self = shift;
++	my $clone = { 
++		_state => [@{$self->{_state}}],
++		_length => $self->{_length},
++		_data => $self->{_data}
++	};
++	bless $clone, ref $self || $self;
++}
++
++#########################################
++# Procedural interface:
++sub md5 {
++	my $message = padding(join'',@_);
++	my ($a,$b,$c,$d) = (A,B,C,D);
++	my $i;
++	for $i (0 .. (length $message)/64-1) {
++		my @X = unpack 'V16', substr $message,$i*64,64;	
++		($a,$b,$c,$d) = round($a,$b,$c,$d,@X);
++	}
++	pack 'V4',$a,$b,$c,$d;
++}
++sub md5_hex { _encode_hex &md5 } 
++sub md5_base64 { _encode_base64 &md5 }
++
++
++1;
++
++=head1 NAME
++
++Digest::MD5::Perl - Perl implementation of Ron Rivests MD5 Algorithm
++
++=head1 DISCLAIMER
++
++This is B<not> an interface (like C<Digest::MD5>) but a Perl implementation of MD5.
++It is written in perl only and because of this it is slow but it works without C-Code.
++You should use C<Digest::MD5> instead of this module if it is available.
++This module is only usefull for
++
++=over 4
++
++=item
++
++computers where you cannot install C<Digest::MD5> (e.g. lack of a C-Compiler)
++
++=item
++
++encrypting only small amounts of data (less than one million bytes). I use it to
++hash passwords.
++
++=item
++
++educational purposes
++
++=back
++
++=head1 SYNOPSIS
++
++ # Functional style
++ use Digest::MD5  qw(md5 md5_hex md5_base64);
++
++ $hash = md5 $data;
++ $hash = md5_hex $data;
++ $hash = md5_base64 $data;
++    
++
++ # OO style
++ use Digest::MD5;
++
++ $ctx = Digest::MD5->new;
++
++ $ctx->add($data);
++ $ctx->addfile(*FILE);
++
++ $digest = $ctx->digest;
++ $digest = $ctx->hexdigest;
++ $digest = $ctx->b64digest;
++
++=head1 DESCRIPTION
++
++This modules has the same interface as the much faster C<Digest::MD5>. So you can
++easily exchange them, e.g.
++
++	BEGIN {
++	  eval {
++	    require Digest::MD5;
++	    import Digest::MD5 'md5_hex'
++	  };
++	  if ($@) { # ups, no Digest::MD5
++	    require Digest::Perl::MD5;
++	    import Digest::Perl::MD5 'md5_hex'
++	  }		
++	}
++
++If the C<Digest::MD5> module is available it is used and if not you take
++C<Digest::Perl::MD5>.
++
++You can also install the Perl part of Digest::MD5 together with Digest::Perl::MD5
++and use Digest::MD5 as normal, it falls back to Digest::Perl::MD5 if it
++cannot load its object files.
++
++For a detailed Documentation see the C<Digest::MD5> module.
++
++=head1 EXAMPLES
++
++The simplest way to use this library is to import the md5_hex()
++function (or one of its cousins):
++
++    use Digest::Perl::MD5 'md5_hex';
++    print 'Digest is ', md5_hex('foobarbaz'), "\n";
++
++The above example would print out the message
++
++    Digest is 6df23dc03f9b54cc38a0fc1483df6e21
++
++provided that the implementation is working correctly.  The same
++checksum can also be calculated in OO style:
++
++    use Digest::MD5;
++    
++    $md5 = Digest::MD5->new;
++    $md5->add('foo', 'bar');
++    $md5->add('baz');
++    $digest = $md5->hexdigest;
++    
++    print "Digest is $digest\n";
++
++The digest methods are destructive. That means you can only call them
++once and the $md5 objects is reset after use. You can make a copy with clone:
++
++	$md5->clone->hexdigest
++
++=head1 LIMITATIONS
++
++This implementation of the MD5 algorithm has some limitations:
++
++=over 4
++
++=item
++
++It's slow, very slow. I've done my very best but Digest::MD5 is still about 100 times faster.
++You can only encrypt Data up to one million bytes in an acceptable time. But it's very usefull
++for encrypting small amounts of data like passwords.
++
++=item
++
++You can only encrypt up to 2^32 bits = 512 MB on 32bit archs. But You should
++use C<Digest::MD5> for those amounts of data anyway.
++
++=back
++
++=head1 SEE ALSO
++
++L<Digest::MD5>
++
++L<md5(1)>
++
++RFC 1321
++
++tools/md5: a small BSD compatible md5 tool written in pure perl.
++
++=head1 COPYRIGHT
++
++This library is free software; you can redistribute it and/or
++modify it under the same terms as Perl itself.
++
++ Copyright 2000 Christian Lackas, Imperia Software Solutions
++ Copyright 1998-1999 Gisle Aas.
++ Copyright 1995-1996 Neil Winton.
++ Copyright 1991-1992 RSA Data Security, Inc.
++
++The MD5 algorithm is defined in RFC 1321. The basic C code
++implementing the algorithm is derived from that in the RFC and is
++covered by the following copyright:
++
++=over 4
++
++=item
++
++Copyright (C) 1991-1992, RSA Data Security, Inc. Created 1991. All
++rights reserved.
++
++License to copy and use this software is granted provided that it
++is identified as the "RSA Data Security, Inc. MD5 Message-Digest
++Algorithm" in all material mentioning or referencing this software
++or this function.
++
++License is also granted to make and use derivative works provided
++that such works are identified as "derived from the RSA Data
++Security, Inc. MD5 Message-Digest Algorithm" in all material
++mentioning or referencing the derived work.
++
++RSA Data Security, Inc. makes no representations concerning either
++the merchantability of this software or the suitability of this
++software for any particular purpose. It is provided "as is"
++without express or implied warranty of any kind.
++
++These notices must be retained in any copies of any part of this
++documentation and/or software.
++
++=back
++
++This copyright does not prohibit distribution of any version of Perl
++containing this extension under the terms of the GNU or Artistic
++licenses.
++
++=head1 AUTHORS
++
++The original MD5 interface was written by Neil Winton
++(<N.Winton (at) axion.bt.co.uk>).
++
++C<Digest::MD5> was made by Gisle Aas <gisle (at) aas.no> (I took his Interface
++and part of the documentation).
++
++Thanks to Guido Flohr for his 'use integer'-hint.
++
++This release was made by Christian Lackas <delta (at) lackas.net>.
++
++=cut
++
++__DATA__
++FF,$a,$b,$c,$d,$_[4],7,0xd76aa478,/* 1 */
++FF,$d,$a,$b,$c,$_[5],12,0xe8c7b756,/* 2 */
++FF,$c,$d,$a,$b,$_[6],17,0x242070db,/* 3 */
++FF,$b,$c,$d,$a,$_[7],22,0xc1bdceee,/* 4 */
++FF,$a,$b,$c,$d,$_[8],7,0xf57c0faf,/* 5 */
++FF,$d,$a,$b,$c,$_[9],12,0x4787c62a,/* 6 */
++FF,$c,$d,$a,$b,$_[10],17,0xa8304613,/* 7 */
++FF,$b,$c,$d,$a,$_[11],22,0xfd469501,/* 8 */
++FF,$a,$b,$c,$d,$_[12],7,0x698098d8,/* 9 */
++FF,$d,$a,$b,$c,$_[13],12,0x8b44f7af,/* 10 */
++FF,$c,$d,$a,$b,$_[14],17,0xffff5bb1,/* 11 */
++FF,$b,$c,$d,$a,$_[15],22,0x895cd7be,/* 12 */
++FF,$a,$b,$c,$d,$_[16],7,0x6b901122,/* 13 */
++FF,$d,$a,$b,$c,$_[17],12,0xfd987193,/* 14 */
++FF,$c,$d,$a,$b,$_[18],17,0xa679438e,/* 15 */
++FF,$b,$c,$d,$a,$_[19],22,0x49b40821,/* 16 */ 
++GG,$a,$b,$c,$d,$_[5],5,0xf61e2562,/* 17 */
++GG,$d,$a,$b,$c,$_[10],9,0xc040b340,/* 18 */
++GG,$c,$d,$a,$b,$_[15],14,0x265e5a51,/* 19 */
++GG,$b,$c,$d,$a,$_[4],20,0xe9b6c7aa,/* 20 */
++GG,$a,$b,$c,$d,$_[9],5,0xd62f105d,/* 21 */
++GG,$d,$a,$b,$c,$_[14],9,0x2441453,/* 22 */
++GG,$c,$d,$a,$b,$_[19],14,0xd8a1e681,/* 23 */
++GG,$b,$c,$d,$a,$_[8],20,0xe7d3fbc8,/* 24 */
++GG,$a,$b,$c,$d,$_[13],5,0x21e1cde6,/* 25 */
++GG,$d,$a,$b,$c,$_[18],9,0xc33707d6,/* 26 */
++GG,$c,$d,$a,$b,$_[7],14,0xf4d50d87,/* 27 */
++GG,$b,$c,$d,$a,$_[12],20,0x455a14ed,/* 28 */
++GG,$a,$b,$c,$d,$_[17],5,0xa9e3e905,/* 29 */
++GG,$d,$a,$b,$c,$_[6],9,0xfcefa3f8,/* 30 */
++GG,$c,$d,$a,$b,$_[11],14,0x676f02d9,/* 31 */
++GG,$b,$c,$d,$a,$_[16],20,0x8d2a4c8a,/* 32 */
++HH,$a,$b,$c,$d,$_[9],4,0xfffa3942,/* 33 */
++HH,$d,$a,$b,$c,$_[12],11,0x8771f681,/* 34 */
++HH,$c,$d,$a,$b,$_[15],16,0x6d9d6122,/* 35 */
++HH,$b,$c,$d,$a,$_[18],23,0xfde5380c,/* 36 */
++HH,$a,$b,$c,$d,$_[5],4,0xa4beea44,/* 37 */
++HH,$d,$a,$b,$c,$_[8],11,0x4bdecfa9,/* 38 */
++HH,$c,$d,$a,$b,$_[11],16,0xf6bb4b60,/* 39 */
++HH,$b,$c,$d,$a,$_[14],23,0xbebfbc70,/* 40 */
++HH,$a,$b,$c,$d,$_[17],4,0x289b7ec6,/* 41 */
++HH,$d,$a,$b,$c,$_[4],11,0xeaa127fa,/* 42 */
++HH,$c,$d,$a,$b,$_[7],16,0xd4ef3085,/* 43 */
++HH,$b,$c,$d,$a,$_[10],23,0x4881d05,/* 44 */
++HH,$a,$b,$c,$d,$_[13],4,0xd9d4d039,/* 45 */
++HH,$d,$a,$b,$c,$_[16],11,0xe6db99e5,/* 46 */
++HH,$c,$d,$a,$b,$_[19],16,0x1fa27cf8,/* 47 */
++HH,$b,$c,$d,$a,$_[6],23,0xc4ac5665,/* 48 */
++II,$a,$b,$c,$d,$_[4],6,0xf4292244,/* 49 */
++II,$d,$a,$b,$c,$_[11],10,0x432aff97,/* 50 */
++II,$c,$d,$a,$b,$_[18],15,0xab9423a7,/* 51 */
++II,$b,$c,$d,$a,$_[9],21,0xfc93a039,/* 52 */
++II,$a,$b,$c,$d,$_[16],6,0x655b59c3,/* 53 */
++II,$d,$a,$b,$c,$_[7],10,0x8f0ccc92,/* 54 */
++II,$c,$d,$a,$b,$_[14],15,0xffeff47d,/* 55 */
++II,$b,$c,$d,$a,$_[5],21,0x85845dd1,/* 56 */
++II,$a,$b,$c,$d,$_[12],6,0x6fa87e4f,/* 57 */
++II,$d,$a,$b,$c,$_[19],10,0xfe2ce6e0,/* 58 */
++II,$c,$d,$a,$b,$_[10],15,0xa3014314,/* 59 */
++II,$b,$c,$d,$a,$_[17],21,0x4e0811a1,/* 60 */
++II,$a,$b,$c,$d,$_[8],6,0xf7537e82,/* 61 */
++II,$d,$a,$b,$c,$_[15],10,0xbd3af235,/* 62 */
++II,$c,$d,$a,$b,$_[6],15,0x2ad7d2bb,/* 63 */
++II,$b,$c,$d,$a,$_[13],21,0xeb86d391,/* 64 */
+diff --exclude CVS -r -u -N perl-5.16.3-extract/cnf/diffs/configpm.patch perl-5.16.3/cnf/diffs/configpm.patch
+--- cnf/diffs/configpm.patch	1969-12-31 16:00:00.000000000 -0800
++++ cnf/diffs/configpm.patch	2013-05-16 04:57:14.000000000 -0700
+@@ -0,0 +1,57 @@
++--- configpm.orig	2013-03-04 17:16:21.000000000 +0200
+++++ configpm	2013-04-04 12:25:09.699708320 +0300
++@@ -57,9 +57,9 @@
++ # wonderfully easy to instrument, and no longer exists.
++ $Common{$_} = $_ foreach qw(dlext so);
++ 
++-# names of things which may need to have slashes changed to double-colons
+++# modules lists -- config.sh uses different format for these
++ my %Extensions = map {($_,$_)}
++-                 qw(dynamic_ext static_ext extensions known_extensions);
+++	 qw(dynamic_ext static_ext extensions known_extensions nonxs_ext);
++ 
++ # The plan is that this information is used by ExtUtils::MakeMaker to generate
++ # Makefile dependencies, rather than hardcoding a list, which has become out
++@@ -97,6 +97,9 @@
++     'glossary' => 1,  # --no-glossary  - no glossary file inclusion,
++                       #                  for compactness
++     'chdir'    => '', # --chdir=dir    - change directory before writing files
+++    'config-sh' => 'config.sh',
+++    'config-pm' => 'lib/Config.pm',
+++    'config-pod' => 'lib/Config.pod'
++ );
++ 
++ sub opts {
++@@ -129,19 +132,9 @@
++ my ($Config_SH, $Config_PM, $Config_heavy, $Config_POD);
++ my $Glossary = 'Porting/Glossary';
++ 
++-if ($Opts{cross}) {
++-  # creating cross-platform config file
++-  mkdir "xlib";
++-  mkdir "xlib/$Opts{cross}";
++-  $Config_PM = "xlib/$Opts{cross}/Config.pm";
++-  $Config_POD = "xlib/$Opts{cross}/Config.pod";
++-  $Config_SH = "Cross/config-$Opts{cross}.sh";
++-}
++-else {
++-  $Config_PM = "lib/Config.pm";
++-  $Config_POD = "lib/Config.pod";
++-  $Config_SH = "config.sh";
++-}
+++$Config_PM = $Opts{'config-pm'};
+++$Config_POD = $Opts{'config-pod'};
+++$Config_SH = $Opts{'config-sh'};
++ ($Config_heavy = $Config_PM) =~ s/\.pm$/_heavy.pl/;
++ die "Can't automatically determine name for Config_heavy.pl from '$Config_PM'"
++   if $Config_heavy eq $Config_PM;
++@@ -334,7 +327,8 @@
++     $in_v = $val !~ /$quote\n/;
++     next if $in_v;
++ 
++-    s,/,::,g if $Extensions{$name};
+++    $val =~ s{[a-zA-Z]+/}{}g if $Extensions{$name};
+++    $val =~ s{-}{/}g if $Extensions{$name};
++ 
++     $val =~ s/$quote\n?\z//;
++ 
+diff --exclude CVS -r -u -N perl-5.16.3-extract/cnf/diffs/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Liblist/Kid.pm.patch perl-5.16.3/cnf/diffs/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Liblist/Kid.pm.patch
+--- cnf/diffs/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Liblist/Kid.pm.patch	1969-12-31 16:00:00.000000000 -0800
++++ cnf/diffs/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Liblist/Kid.pm.patch	2013-05-16 04:57:14.000000000 -0700
+@@ -0,0 +1,68 @@
++--- Kid.pm.orig	2012-07-04 14:55:02.915805376 +0300
+++++ Kid.pm	2012-07-04 14:55:15.322471717 +0300
++@@ -19,9 +19,10 @@
++ use File::Spec;
++ 
++ sub ext {
++-    if    ( $^O eq 'VMS' )     { return &_vms_ext; }
++-    elsif ( $^O eq 'MSWin32' ) { return &_win32_ext; }
++-    else                       { return &_unix_os2_ext; }
+++  if   ($Config{usemmcclt}){ return &_cc_ext;       }
+++  elsif($^O eq 'VMS')      { return &_vms_ext;      }
+++  elsif($^O eq 'MSWin32')  { return &_win32_ext;    }
+++  else                     { return &_unix_os2_ext; }
++ }
++ 
++ sub _unix_os2_ext {
++@@ -622,4 +623,51 @@
++     wantarray ? ( $lib, '', $ldlib, '', ( $give_libs ? \@flibs : () ) ) : $lib;
++ }
++ 
+++# A direct test for -l validity.
+++# Because guessing real file names for -llib options when dealing
+++# with a cross compiler is generally a BAD IDEA^tm.
+++sub _cc_ext {
+++    my($self,$potential_libs, $verbose, $give_libs) = @_;
+++    $verbose ||= 0;
+++
+++    if ($^O =~ 'os2' and $Config{perllibs}) { 
+++	# Dynamic libraries are not transitive, so we may need including
+++	# the libraries linked against perl.dll again.
+++
+++	$potential_libs .= " " if $potential_libs;
+++	$potential_libs .= $Config{perllibs};
+++    }
+++    return ("", "", "", "", ($give_libs ? [] : ())) unless $potential_libs;
+++    warn "Potential libraries are '$potential_libs':\n" if $verbose;
+++
+++    my($cc)   = $Config{cc};
+++    my($ccflags)   = $Config{ccflags};
+++    my($libs) = defined $Config{perllibs} ? $Config{perllibs} : $Config{libs};
+++
+++    my $try = 'try_mm.c';
+++    my $tryx = 'try_mm.x';
+++    open(TRY, '>', $try) || die "Can't create MakeMaker test file $try: $!\n";
+++    print TRY "int main(void) { return 0; }\n";
+++    close(TRY);
+++
+++    my $testlibs = '';
+++    my @testlibs = ();
+++    foreach my $thislib (split ' ', $potential_libs) {
+++        $testlibs = join(' ', @testlibs);
+++	if($thislib =~ /^-L/) {
+++		push(@testlibs, $thislib);
+++		next
+++	};
+++	my $cmd = "$cc $ccflags -o $tryx $try $testlibs $thislib";
+++	my $ret = system($cmd);
+++	warn "Note (probably harmless): " . "No library found for $thislib\n" if $ret;
+++	next if $ret;
+++	push @testlibs, $thislib;
+++    }
+++    unlink($try);
+++    unlink($tryx);
+++
+++    return (join(' ', @testlibs), '', join(' ', @testlibs), '');
+++}
+++
++ 1;
+diff --exclude CVS -r -u -N perl-5.16.3-extract/cnf/diffs/cpan/podlators/lib/Pod/Man.pm.patch perl-5.16.3/cnf/diffs/cpan/podlators/lib/Pod/Man.pm.patch
+--- cnf/diffs/cpan/podlators/lib/Pod/Man.pm.patch	1969-12-31 16:00:00.000000000 -0800
++++ cnf/diffs/cpan/podlators/lib/Pod/Man.pm.patch	2013-05-16 04:57:14.000000000 -0700
+@@ -0,0 +1,29 @@
++--- Man.pm.orig	2012-07-04 14:39:42.979163032 +0300
+++++ Man.pm	2012-07-04 14:36:42.532501138 +0300
++@@ -31,7 +31,6 @@
++ use vars qw(@ISA %ESCAPES $PREAMBLE $VERSION);
++ 
++ use Carp qw(croak);
++-use Encode qw(encode);
++ use Pod::Simple ();
++ 
++ @ISA = qw(Pod::Simple);
++@@ -725,7 +724,7 @@
++ sub output {
++     my ($self, @text) = @_;
++     if ($$self{ENCODE}) {
++-        print { $$self{output_fh} } encode ('UTF-8', join ('', @text));
+++        print { $$self{output_fh} } Encode::encode ('UTF-8', join ('', @text));
++     } else {
++         print { $$self{output_fh} } @text;
++     }
++@@ -759,6 +758,9 @@
++             }
++         }
++     }
+++    if ($$self{ENCODE}) {
+++        require Encode;
+++    }
++ 
++     # Determine information for the preamble and then output it.
++     my ($name, $section);
+diff --exclude CVS -r -u -N perl-5.16.3-extract/cnf/diffs/ext/POSIX/Makefile.PL.patch perl-5.16.3/cnf/diffs/ext/POSIX/Makefile.PL.patch
+--- cnf/diffs/ext/POSIX/Makefile.PL.patch	1969-12-31 16:00:00.000000000 -0800
++++ cnf/diffs/ext/POSIX/Makefile.PL.patch	2013-05-16 04:57:14.000000000 -0700
+@@ -0,0 +1,12 @@
++--- Makefile.PL.orig	2012-07-04 14:58:40.702466285 +0300
+++++ Makefile.PL	2012-07-04 14:58:21.489133459 +0300
++@@ -1,4 +1,9 @@
++ # Expect this line to be read by t/posix.t, don't change it
+++
+++# Explicitly avoid including '.' in @INC; autoloader gets confused since it
+++# can find POSIX.pm, but can't find autosplit.ix.
+++BEGIN { pop @INC;}
+++#
++ use ExtUtils::MakeMaker;
++ use ExtUtils::Constant 0.23 'WriteConstants';
++ use Config;
+diff --exclude CVS -r -u -N perl-5.16.3-extract/cnf/diffs/installman.patch perl-5.16.3/cnf/diffs/installman.patch
+--- cnf/diffs/installman.patch	1969-12-31 16:00:00.000000000 -0800
++++ cnf/diffs/installman.patch	2013-05-16 04:57:14.000000000 -0700
+@@ -0,0 +1,10 @@
++--- installman.orig	2012-07-04 15:27:49.802420040 +0300
+++++ installman	2012-07-04 15:27:54.475753247 +0300
++@@ -1,7 +1,5 @@
++ #!./perl -w
++ BEGIN {
++-    @INC = qw(lib);
++-
++     # This needs to be at BEGIN time, before any use of Config
++     require './install_lib.pl';
++ }
+diff --exclude CVS -r -u -N perl-5.16.3-extract/cnf/diffs/installperl.patch perl-5.16.3/cnf/diffs/installperl.patch
+--- cnf/diffs/installperl.patch	1969-12-31 16:00:00.000000000 -0800
++++ cnf/diffs/installperl.patch	2013-05-16 04:57:14.000000000 -0700
+@@ -0,0 +1,20 @@
++--- installperl.orig	2012-07-05 16:13:54.707081412 +0300
+++++ installperl	2012-07-05 23:18:25.347179588 +0300
++@@ -3,8 +3,6 @@
++ BEGIN {
++     require 5.004;
++     chdir '..' if !-d 'lib' and -d '../lib';
++-    @INC = 'lib';
++-    $ENV{PERL5LIB} = 'lib';
++ 
++     # This needs to be at BEGIN time, before any use of Config
++     require './install_lib.pl';
++@@ -150,7 +148,7 @@
++ }
++ 
++ # Exclude nonxs extensions that are not architecture dependent
++-my @nonxs = grep(!/^Errno$/, split(' ', $Config{'nonxs_ext'}));
+++my @nonxs = map { s{.*/}{}; s{-}{/}g; $_ } grep(!/^Errno$/, split(' ', $Config{'nonxs_ext'}));
++ 
++ my @ext_dirs = qw(cpan dist ext);
++ foreach my $ext_dir (@ext_dirs) {
+diff --exclude CVS -r -u -N perl-5.16.3-extract/cnf/hints/default perl-5.16.3/cnf/hints/default
+--- cnf/hints/default	1969-12-31 16:00:00.000000000 -0800
++++ cnf/hints/default	2013-05-16 04:57:14.000000000 -0700
+@@ -0,0 +1,10 @@
++_o=.o
++_a=.a
++so=so
++useposix=true
++# modules
++disable_win32=1
++disable_win32api_file=1
++disable_win32core=1
++# libraries to test
++libswanted='m crypt pthread sfio socket inet nsl nm ndbm gdbm dbm db malloc dl dld ld sun sec util c cposix posix ucb BSD gdbm_compat'
+diff --exclude CVS -r -u -N perl-5.16.3-extract/cnf/hints/default-gcc perl-5.16.3/cnf/hints/default-gcc
+--- cnf/hints/default-gcc	1969-12-31 16:00:00.000000000 -0800
++++ cnf/hints/default-gcc	2013-05-16 04:57:14.000000000 -0700
+@@ -0,0 +1 @@
++ccflags="-W"
+diff --exclude CVS -r -u -N perl-5.16.3-extract/cnf/hints/default-icc perl-5.16.3/cnf/hints/default-icc
+--- cnf/hints/default-icc	1969-12-31 16:00:00.000000000 -0800
++++ cnf/hints/default-icc	2013-05-16 04:57:14.000000000 -0700
+@@ -0,0 +1 @@
++ccflags='-Wbrief -diag-disable 191,187,592'
+diff --exclude CVS -r -u -N perl-5.16.3-extract/cnf/hints/linux perl-5.16.3/cnf/hints/linux
+--- cnf/hints/linux	1969-12-31 16:00:00.000000000 -0800
++++ cnf/hints/linux	2013-05-16 04:57:14.000000000 -0700
+@@ -0,0 +1,9 @@
++d_nanosleep=define
++d_clock_gettime=define
++d_clock_getres=define
++d_clock_nanosleep=define
++d_clock=define
++
++# From the original linux.sh
++d_lstat=define
++usemallocwrap=define
+diff --exclude CVS -r -u -N perl-5.16.3-extract/cnf/hints/linux-gnu perl-5.16.3/cnf/hints/linux-gnu
+--- cnf/hints/linux-gnu	1969-12-31 16:00:00.000000000 -0800
++++ cnf/hints/linux-gnu	2013-05-16 04:57:14.000000000 -0700
+@@ -0,0 +1,12 @@
++d_voidsig=define
++
++# *not* checked!
++# that's how original Configure set them, so this may not be the safest guess
++d_semctl_semid_ds=define
++d_semctl_semun=undef
++
++# probably ok to assume this for glibc (=linux-gnu)
++d_snprintf=define
++d_vsnprintf=define
++
++ccdefines='-D_POSIX_C_SOURCE -D_XOPEN_SOURCE -D_GNU_SOURCE'
+diff --exclude CVS -r -u -N perl-5.16.3-extract/cnf/hints/mingw32 perl-5.16.3/cnf/hints/mingw32
+--- cnf/hints/mingw32	1969-12-31 16:00:00.000000000 -0800
++++ cnf/hints/mingw32	2013-05-16 04:57:14.000000000 -0700
+@@ -0,0 +1,32 @@
++charsize=1
++doublesize=8
++fpossize=16
++gidsize=4
++i16size=2
++i32size=4
++i64size=8
++i8size=1
++intsize=4
++longdoublesize=12
++longlongsize=8
++longsize=4
++lseeksize=8
++ptrsize=4
++shortsize=2
++u16size=2
++u32size=4
++u64size=8
++u8size=1
++uidsize=4
++voidptrsize=4
++int64tsize=8
++int32tsize=4
++int16tsize=2
++int8tsize=1
++offtsize=4
++sizetsize=4
++ssizetsize=4
++fpostsize=8
++cccdlflags=
++ccdefines="-DSIGHUP=0 -DSIGQUIT=0"
++d_attribute_malloc=undef
+diff --exclude CVS -r -u -N perl-5.16.3-extract/cnf/hints/netbsdelf perl-5.16.3/cnf/hints/netbsdelf
+--- cnf/hints/netbsdelf	1969-12-31 16:00:00.000000000 -0800
++++ cnf/hints/netbsdelf	2013-05-16 07:41:15.000000000 -0700
+@@ -0,0 +1,8 @@
++d_nanosleep=define
++d_clock_gettime=define
++d_clock_getres=define
++d_clock_nanosleep=define
++d_clock=define
++
++d_lstat=define
++usemallocwrap=define
+diff --exclude CVS -r -u -N perl-5.16.3-extract/configure perl-5.16.3/configure
+--- configure	1969-12-31 16:00:00.000000000 -0800
++++ configure	2013-05-16 05:27:04.000000000 -0700
+@@ -0,0 +1,4 @@
++#!/bin/sh
++
++export base='cnf'
++$base/configure "$@"
+diff --exclude CVS -r -u -N perl-5.16.3-extract/extlibs perl-5.16.3/extlibs
+--- extlibs	1969-12-31 16:00:00.000000000 -0800
++++ extlibs	2013-05-16 04:57:11.000000000 -0700
+@@ -0,0 +1,14 @@
++#!./miniperl
++
++foreach(@ARGV) {
++	s!^(dist|ext|cpan)/!lib/auto/!;
++	s!-!/!g;
++	$_ .= "/extralibs.ld";
++	next unless -f $_;
++	open(EL, '<', $_) || next;
++	push(@libs, <EL>);	
++	close(EL);
++}
++$libs = join ' ', @libs;
++$libs =~ s/\s+/ /g;
++print "$libs\n";
+diff --exclude CVS -r -u -N perl-5.16.3-extract/make_ext_Makefile.pl perl-5.16.3/make_ext_Makefile.pl
+--- make_ext_Makefile.pl	1969-12-31 16:00:00.000000000 -0800
++++ make_ext_Makefile.pl	2013-05-16 04:57:11.000000000 -0700
+@@ -0,0 +1,114 @@
++#!./miniperl
++
++# This script creates a minimal Makefile.PL for modules
++# that lack it. Typical call order:
++#	$(MINIPERL) make_ext_Makefile cpan/Archive-Extract/Makefile.PL
++# This was a part of make_ext.pl. Check that file for the correct way
++# of writing Makefiles.
++
++# I have a strong impression that there's something really really wrong
++# with the very problem this script tries to solve.
++# OTOH, given the context, any hacks are ok as long as they yield correct
++# results for the set of Makefile.PL-less standard modules.
++$spec = shift;
++$spec =~ s'/Makefile\.PL$'';	# cpan/Archive-Extract
++$fromname = get_fromname($spec);
++
++$dirname = $spec;
++$dirname =~ s!^[^/]+/!!;
++$dirname =~ s!-!::!g;
++$mname = $dirname;
++
++if($mname eq 'podlators') {
++	warn "Creating specific $spec/Makefile.PL for podlators\n";
++	$fromname = 'VERSION';
++	$key = 'DISTNAME';
++	$value = 'podlators';
++	$mname = 'Pod';
++} else {
++	warn "Creating $spec/Makefile.PL for $mname\n";
++	$key = 'ABSTRACT_FROM';
++	($value = $fromname) =~ s/\.pm\z/.pod/;
++	$value = $fromname unless -e $value;
++}
++
++open my $fh, '>', "$spec/Makefile.PL"
++	or die "Can't open $spec/Makefile.PL for writing: $!";
++printf $fh <<'EOM', $0, $mname, $fromname, $key, $value;
++#-*- buffer-read-only: t -*-
++
++# This Makefile.PL was written by %s.
++# It will be deleted automatically by make realclean
++
++use strict;
++use ExtUtils::MakeMaker;
++
++# This is what the .PL extracts to. Not the ultimate file that is installed.
++# (ie Win32 runs pl2bat after this)
++
++# Doing this here avoids all sort of quoting issues that would come from
++# attempting to write out perl source with literals to generate the arrays and
++# hash.
++my @temps = 'Makefile.PL';
++foreach (glob('scripts/pod*.PL')) {
++    # The various pod*.PL extractors change directory. Doing that with relative
++    # paths in @INC breaks. It seems the lesser of two evils to copy (to avoid)
++    # the chdir doing anything, than to attempt to convert lib paths to
++    # absolute, and potentially run into problems with quoting special
++    # characters in the path to our build dir (such as spaces)
++    require File::Copy;
++
++    my $temp = $_;
++    $temp =~ s!scripts/!!;
++    File::Copy::copy($_, $temp) or die "Can't copy $temp to $_: $!";
++    push @temps, $temp;
++}
++
++my $script_ext = $^O eq 'VMS' ? '.com' : '';
++my %%pod_scripts;
++foreach (glob('pod*.PL')) {
++    my $script = $_;
++    s/.PL$/$script_ext/i;
++    $pod_scripts{$script} = $_;
++}
++my @exe_files = values %%pod_scripts;
++
++WriteMakefile(
++    NAME          => '%s',
++    VERSION_FROM  => '%s',
++    %-13s => '%s',
++    realclean     => { FILES => "@temps" },
++    (%%pod_scripts ? (
++        PL_FILES  => \%%pod_scripts,
++        EXE_FILES => \@exe_files,
++        clean     => { FILES => "@exe_files" },
++    ) : ()),
++);
++
++# ex: set ro:
++EOM
++close $fh or die "Can't close Makefile.PL: $!";
++
++
++# Find an actual module file name, relative to its directory
++#	"cpan/Archive-Extract" -> "lib/Archive/Extract.pm"
++# (implying existance of cpan/Archive-Extract/lib/Archive/Extract.pm)
++sub get_fromname
++{
++	my $spec = shift;
++	my($base1, $base2, $leaf1, $leaf2);
++
++	($base1 = $spec) =~ s!^(cpan|ext|dist|ext)/!!;
++	($base2 = $base1) =~ s!-!/!g;
++	($leaf1 = $spec) =~ s!.*/!!;
++	($leaf2 = $spec) =~ s!.*-!!;
++
++	return $leaf1 if $leaf1 eq 'podlators';
++
++	foreach("$leaf1.pm", "$leaf2.pm", "lib/$base1/$leaf1.pm", "lib/$base2.pm") {
++		#warn "\tTrying $spec/$_\n";
++		return $_ if -f "$spec/$_";
++	}
++
++	die "$spec: can't find module source\n";
++}
+diff --exclude CVS -r -u -N perl-5.16.3-extract/miniperl_top perl-5.16.3/miniperl_top
+--- miniperl_top	1969-12-31 16:00:00.000000000 -0800
++++ miniperl_top	2013-05-16 05:27:04.000000000 -0700
+@@ -0,0 +1,32 @@
++#!/bin/sh
++
++# This script can be used to run Makefile.PL 
++# Note that is relies on $0 to tell where lib/ is; typically
++#   you should call it as ../../miniperl_top
++# This script replaces lib/buildcustomize.pl functionality
++# Check write_buildcustomize.pl for the list of modules to include here
++
++top=`dirname "$0"`
++if [ -f $top/lib/buildcustomize.pl ]; then
++	# buildcustomize.pl silently overrides all -I options below
++	echo "Remove $top/lib/buildcustomize.pl before running miniperl_top" >&2
++	exit 1
++fi
++exec $top/miniperl\
++	-I$top/cnf/cpan\
++	-I$top/lib\
++	-I$top/cpan/AutoLoader/lib\
++	-I$top/dist/Cwd -I$top/dist/Cwd/lib\
++	-I$top/dist/ExtUtils-Command/lib\
++	-I$top/dist/ExtUtils-Install/lib\
++	-I$top/cpan/ExtUtils-MakeMaker/lib\
++	-I$top/dist/ExtUtils-Manifest/lib\
++	-I$top/cpan/File-Path/lib\
++	-I$top/ext/re\
++	-I$top/cpan/ExtUtils-Constant/lib\
++	-I$top/dist/ExtUtils-ParseXS/lib\
++	-I$top/dist/constant/lib\
++	-I$top/cpan/Getopt-Long/lib\
++	-I$top/cpan/Text-Tabs/lib\
++	-I$top/dist/Carp/lib\
++	"$@"
+diff --exclude CVS -r -u -N perl-5.16.3-extract/statars perl-5.16.3/statars
+--- statars	1969-12-31 16:00:00.000000000 -0800
++++ statars	2013-05-16 04:57:11.000000000 -0700
+@@ -0,0 +1,19 @@
++#!./miniperl
++
++$lib = 'lib/auto/';
++foreach(@ARGV) {
++	$m = $_;
++	s!^(dist|ext|cpan)/!!;
++	s!-!/!g;
++	@f = split m!/!;
++	$f = pop @f;
++	undef $A;
++	foreach $a ($lib.join('/', @f, $f, "$f.a"), $lib."$f/$f.a") {
++		next unless -f $a;
++		$A = $a; last;
++	}
++	die "Can't find .a file for $m\n" unless -f $A;
++	push @a, $A;
++}
++print join ' ', @a;
++print "\n";
+diff --exclude CVS -r -u -N perl-5.16.3-extract/utils/Makefile perl-5.16.3/utils/Makefile
+--- utils/Makefile	2013-03-11 07:02:48.000000000 -0700
++++ utils/Makefile	2013-05-16 04:57:14.000000000 -0700
+@@ -1,87 +1,26 @@
+-# Generated from utils/Makefile.SH.  The generated file is
+-# shipped with the source kit for systems such as win32
+-# which don't do .SH extraction.
+-
+-PERL = ../miniperl
+-REALPERL = ../perl
+-RUN =   # Used mainly cross-compilation setups.
+-
+-
+-# Files to be built with variable substitution after miniperl is
+-# available.  Dependencies handled manually below (for now).
+-
+-pl = c2ph.PL config_data.PL corelist.PL cpan.PL h2ph.PL h2xs.PL instmodsh.PL json_pp.PL perlbug.PL perldoc.PL perlivp.PL pl2pm.PL prove.PL ptar.PL ptardiff.PL ptargrep.PL cpanp-run-perl.PL cpanp.PL cpan2dist.PL shasum.PL splain.PL libnetcfg.PL piconv.PL enc2xs.PL xsubpp.PL pod2html.PL zipdetails.PL
+-plextract = c2ph config_data corelist cpan h2ph h2xs instmodsh json_pp perlbug perldoc perlivp pl2pm prove ptar ptardiff ptargrep cpanp-run-perl cpanp cpan2dist shasum splain libnetcfg piconv enc2xs xsubpp pod2html zipdetails
+-plextractexe = ./c2ph ./config_data ./corelist ./cpan ./h2ph ./h2xs ./json_pp ./instmodsh ./perlbug ./perldoc ./perlivp ./pl2pm ./prove ./ptar ./ptardiff ./ptargrep ./cpanp-run-perl ./cpanp ./cpan2dist ./shasum ./splain ./libnetcfg ./piconv ./enc2xs ./xsubpp ./pod2html ./zipdetails
++TOP = ..
++include $(TOP)/Makefile.config
++PERL = $(TOP)/miniperl_top
++
++plextract = c2ph config_data corelist cpan h2ph h2xs instmodsh json_pp perlbug perldoc\
++	perlivp pl2pm prove ptar ptardiff ptargrep cpanp-run-perl cpanp cpan2dist shasum\
++	splain libnetcfg piconv enc2xs xsubpp pod2html zipdetails
+ 
+ all: $(plextract) 
+ 
+-$(plextract):
+-	$(RUN) $(PERL) -I../lib $@.PL
+-
+-c2ph:		c2ph.PL ../config.sh
+-
+-cpan:		cpan.PL ../config.sh
+-
+-config_data:	config_data.PL ../config.sh
+-
+-corelist:	corelist.PL ../config.sh
+-
+-h2ph:		h2ph.PL ../config.sh
+-
+-h2xs:		h2xs.PL ../config.sh
+-
+-instmodsh:	instmodsh.PL ../config.sh
+-
+-json_pp:	json_pp.PL ../config.sh
+-
+-perlbug:	perlbug.PL ../config.sh ../patchlevel.h
+-
+-perldoc:	perldoc.PL ../config.sh
+-
+-perlivp:	perlivp.PL ../config.sh
++%: %.PL ../config.sh
++	$(PERL) $<
+ 
+-prove:		prove.PL ../config.sh
++perlbug: ../patchlevel.h
+ 
+-ptar:		ptar.PL ../config.sh
+-
+-ptardiff:	ptardiff.PL ../config.sh
+-
+-ptargrep:	ptargrep.PL ../config.sh
+-
+-cpanp-run-perl:	cpanp-run-perl.PL ../config.sh
+-
+-cpanp:	cpanp.PL ../config.sh
+-
+-cpan2dist:	cpan2dist.PL ../config.sh
+-
+-pl2pm:		pl2pm.PL ../config.sh
+-
+-shasum:		shasum.PL ../config.sh
+-
+-splain:		splain.PL ../config.sh ../lib/diagnostics.pm
+-
+-libnetcfg:	libnetcfg.PL ../config.sh
+-
+-piconv:		piconv.PL ../config.sh
+-
+-enc2xs:		enc2xs.PL ../config.sh
+-
+-xsubpp:		xsubpp.PL ../config.sh
++splain:	../lib/diagnostics.pm
+ 
+ zipdetails:	zipdetails.PL ../config.sh
+ 
+ pod2html:	pod2html.PL ../config.sh ../ext/Pod-Html/bin/pod2html
+ 
+ clean:
++	rm -f $(plextract)
+ 
+-realclean:
+-	rm -rf $(plextract) pstruct $(plextractexe)
+-	rm -f ../t/_h2ph_pre.ph
+-
+-clobber:	realclean
+-
+-distclean:	clobber
+-
+-veryclean:	distclean
+-	-rm -f *~ *.org
++#install:
++#	for i in $(plextract); do install -m 0755 -D $$i $(scriptdir)/$$i; done
+diff --exclude CVS -r -u -N perl-5.16.3-extract/x2p/Makefile perl-5.16.3/x2p/Makefile
+--- x2p/Makefile	1969-12-31 16:00:00.000000000 -0800
++++ x2p/Makefile	2013-05-16 04:57:14.000000000 -0700
+@@ -0,0 +1,21 @@
++TOP = ..
++include $(TOP)/Makefile.config
++PERL = $(TOP)/miniperl -I$(TOP)/lib
++
++all: a2p$x find2perl s2p
++
++.c$o:
++	$(CC) $(CFLAGS) -DPERL_FOR_X2P -c -o $@ $<
++
++a2p$x: a2p$o hash$o str$o util$o walk$o
++	$(CC) -o $@ $(filter %$o,$^) $(LDFLAGS)
++
++%: %.PL
++	$(PERL) $<
++
++clean:
++	rm -f *$o find2perl s2p
++
++#install:
++#	install -D -m 0755 a2p$x $(bindir)/a2p$x
++#	install -D -m 0755 s2p $(scriptdir)/s2p