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