[svn:parrot] r45826 - in trunk: . config/auto config/auto/crypto config/auto/gdbm config/gen config/gen/crypto config/gen/makefiles lib/Parrot/Configure/Options lib/Parrot/Configure/Step ports/debian ports/ubuntu src/dynpmc t/dynpmc t/library t/steps/auto tools/dev

darbelo at svn.parrot.org darbelo at svn.parrot.org
Tue Apr 20 18:39:14 UTC 2010


Author: darbelo
Date: Tue Apr 20 18:39:13 2010
New Revision: 45826
URL: https://trac.parrot.org/parrot/changeset/45826

Log:
Remove the deprecated gdbmhash and digest dynpmcs, closes TT #1467 and TT #1469.

Deleted:
   trunk/config/auto/crypto/
   trunk/config/auto/crypto.pm
   trunk/config/auto/gdbm/
   trunk/config/auto/gdbm.pm
   trunk/config/gen/crypto/
   trunk/config/gen/crypto.pm
   trunk/src/dynpmc/gdbmhash.pmc
   trunk/t/dynpmc/gdbmhash.t
   trunk/t/library/md5.t
   trunk/t/steps/auto/crypto-01.t
   trunk/t/steps/auto/gdbm-01.t
Modified:
   trunk/Configure.pl
   trunk/DEPRECATED.pod
   trunk/MANIFEST
   trunk/README_cygwin.pod
   trunk/README_win32.pod
   trunk/config/gen/makefiles/dynpmc.in
   trunk/config/gen/makefiles/root.in
   trunk/lib/Parrot/Configure/Options/Conf.pm
   trunk/lib/Parrot/Configure/Step/List.pm
   trunk/ports/debian/control.in
   trunk/ports/ubuntu/control.in
   trunk/tools/dev/mk_inno.pl

Modified: trunk/Configure.pl
==============================================================================
--- trunk/Configure.pl	Tue Apr 20 18:09:53 2010	(r45825)
+++ trunk/Configure.pl	Tue Apr 20 18:39:13 2010	(r45826)
@@ -632,10 +632,8 @@
     auto::env
     auto::gmp
     auto::readline
-    auto::gdbm
     auto::pcre
     auto::opengl
-    auto::crypto
     auto::gettext
     auto::snprintf
     # auto::perldoc
@@ -644,7 +642,6 @@
     auto::icu
     gen::config_h
     gen::core_pmcs
-    gen::crypto
     gen::opengl
     gen::makefiles
     gen::platform

Modified: trunk/DEPRECATED.pod
==============================================================================
--- trunk/DEPRECATED.pod	Tue Apr 20 18:09:53 2010	(r45825)
+++ trunk/DEPRECATED.pod	Tue Apr 20 18:39:13 2010	(r45826)
@@ -66,22 +66,6 @@
 
 L<https://trac.parrot.org/parrot/ticket/103>
 
-=item Digest dynpmcs [eligible in 2.4]
-
-The digest dynpmcs are, since the posting of this notice, available on
-http://gitorious.org/digest-dynpmcs and will no longer be distributed
-with parrot after 2.3.
-
-L<https://trac.parrot.org/parrot/ticket/1467>
-
-=item gdbmhash dynpmc [eligible in 2.4]
-
-The gdbmhash dynpmc is, since the posting of this notice, available on
-http://gitorious.org/dbm-dynpmcs and will no longer be distributed
-with parrot after 2.3.
-
-L<https://trac.parrot.org/parrot/ticket/1469>
-
 =item NCI without signature ("raw" pointers) [eligible in 2.4]
 
 No equivalent functionality is promised. You shouldn't be using this. Here be

Modified: trunk/MANIFEST
==============================================================================
--- trunk/MANIFEST	Tue Apr 20 18:09:53 2010	(r45825)
+++ trunk/MANIFEST	Tue Apr 20 18:39:13 2010	(r45826)
@@ -1,7 +1,7 @@
 # ex: set ro:
 # $Id$
 #
-# generated by tools/dev/mk_manifest_and_skip.pl Sat Apr 17 19:51:21 2010 UT
+# generated by tools/dev/mk_manifest_and_skip.pl Tue Apr 20 18:35:24 2010 UT
 #
 # See below for documentation on the format of this file.
 #
@@ -235,8 +235,6 @@
 config/auto/cpu/sun4/auto.pm                                []
 config/auto/cpu/sun4/test_atomic_c.in                       []
 config/auto/cpu/x86_64/auto.pm                              []
-config/auto/crypto.pm                                       []
-config/auto/crypto/crypto_c.in                              []
 config/auto/ctags.pm                                        []
 config/auto/env.pm                                          []
 config/auto/env/test_setenv_c.in                            []
@@ -250,8 +248,6 @@
 config/auto/gc/test_c.in                                    []
 config/auto/gcc.pm                                          []
 config/auto/gcc/test_c.in                                   []
-config/auto/gdbm.pm                                         []
-config/auto/gdbm/gdbm_c.in                                  []
 config/auto/gettext.pm                                      []
 config/auto/gettext/gettext_c.in                            []
 config/auto/glibc.pm                                        []
@@ -313,9 +309,6 @@
 config/gen/config_pm/config_pir.in                          []
 config/gen/config_pm/myconfig.in                            []
 config/gen/core_pmcs.pm                                     []
-config/gen/crypto.pm                                        []
-config/gen/crypto/digest_pmc.in                             []
-config/gen/crypto/digest_t.in                               []
 config/gen/makefiles.pm                                     []
 config/gen/makefiles/docs.in                                []
 config/gen/makefiles/dynpmc.in                              []
@@ -1324,7 +1317,6 @@
 src/dynpmc/ext.pir                                          []
 src/dynpmc/foo.pmc                                          []
 src/dynpmc/foo2.pmc                                         []
-src/dynpmc/gdbmhash.pmc                                     []
 src/dynpmc/main.pasm                                        []
 src/dynpmc/pccmethod_test.pmc                               []
 src/dynpmc/rational.pmc                                     []
@@ -1702,7 +1694,6 @@
 t/dynpmc/dynlexpad.t                                        [test]
 t/dynpmc/foo.t                                              [test]
 t/dynpmc/foo2.t                                             [test]
-t/dynpmc/gdbmhash.t                                         [test]
 t/dynpmc/pccmethod_test.t                                   [test]
 t/dynpmc/rational.t                                         [test]
 t/dynpmc/rotest.t                                           [test]
@@ -1729,7 +1720,6 @@
 t/library/getopt_obj.t                                      [test]
 t/library/hllmacros.t                                       [test]
 t/library/iter.t                                            [test]
-t/library/md5.t                                             [test]
 t/library/mime_base64.t                                     [test]
 t/library/osutils.t                                         [test]
 t/library/p6object.t                                        [test]
@@ -1998,14 +1988,12 @@
 t/steps/auto/byteorder-01.t                                 [test]
 t/steps/auto/cgoto-01.t                                     [test]
 t/steps/auto/cpu-01.t                                       [test]
-t/steps/auto/crypto-01.t                                    [test]
 t/steps/auto/ctags-01.t                                     [test]
 t/steps/auto/env-01.t                                       [test]
 t/steps/auto/format-01.t                                    [test]
 t/steps/auto/frames-01.t                                    [test]
 t/steps/auto/gc-01.t                                        [test]
 t/steps/auto/gcc-01.t                                       [test]
-t/steps/auto/gdbm-01.t                                      [test]
 t/steps/auto/gettext-01.t                                   [test]
 t/steps/auto/glibc-01.t                                     [test]
 t/steps/auto/gmp-01.t                                       [test]

Modified: trunk/README_cygwin.pod
==============================================================================
--- trunk/README_cygwin.pod	Tue Apr 20 18:09:53 2010	(r45825)
+++ trunk/README_cygwin.pod	Tue Apr 20 18:39:13 2010	(r45826)
@@ -25,22 +25,22 @@
 
 Runtime requirements:
 
-  libreadline6 ncurses libintl8 libgmp3 libgdbm4
+  libreadline6 ncurses libintl8 libgmp3
 
 Optional requirements:
 
-  libicu38 libpq5 openssl
+  libicu38 libpq5
 
   for opengl: w32api opengl or libglut3 xorg-x11-base xorg-x11-bin-dlls
 
 Build requirements:
 
   gcc make perl parrot readline libncurses-devel libgmp-devel
-  libgdbm-devel pcre-devel
+  pcre-devel
 
 Optional build requirements:
 
-  libicu-devel openssl-devel
+  libicu-devel
 
   for Cygwin/X opengl: freeglut libglut-devel xorg-x11-devel
 

Modified: trunk/README_win32.pod
==============================================================================
--- trunk/README_win32.pod	Tue Apr 20 18:09:53 2010	(r45825)
+++ trunk/README_win32.pod	Tue Apr 20 18:39:13 2010	(r45826)
@@ -85,15 +85,9 @@
 
 The availability of these libraries is checked by Configure.pl.
 
-B<libcrypto> - a part of libssl / OpenSSL
-L<http://gnuwin32.sourceforge.net/>
-
 B<gettext> - library and tools for native language support
 L<http://gnuwin32.sourceforge.net/>
 
-B<gdbm> - GNU database manager
-L<http://gnuwin32.sourceforge.net/>
-
 B<GMP> - GNU multiple precision arithmetic library
 L<http://developer.berlios.de/projects/win32gmp/>
 

Deleted: trunk/config/auto/crypto.pm
==============================================================================
--- trunk/config/auto/crypto.pm	Tue Apr 20 18:39:13 2010	(r45825)
+++ /dev/null	00:00:00 1970	(deleted)
@@ -1,93 +0,0 @@
-# Copyright (C) 2008, Parrot Foundation.
-# $Id$
-
-=head1 NAME
-
-config/auto/crypto.pm - Test for crypto library (libssl)
-
-=head1 DESCRIPTION
-
-This library is linked to a dynamic PMC.
-
-See L<http://www.openssl.org>
-
-=cut
-
-package auto::crypto;
-
-use strict;
-use warnings;
-
-use base qw(Parrot::Configure::Step);
-
-use Parrot::Configure::Utils ':auto';
-
-
-sub _init {
-    my $self = shift;
-    my %data;
-    $data{description} = q{Does your platform support crypto};
-    $data{result}      = q{};
-    return \%data;
-}
-
-sub runstep {
-    my ( $self, $conf ) = @_;
-
-    my ( $verbose, $without ) = $conf->options->get(
-        qw|
-            verbose
-            without-crypto
-        |
-    );
-
-    if ($without) {
-        $conf->data->set( has_crypto => 0 );
-        $self->set_result('no');
-        return 1;
-    }
-
-    my $osname = $conf->data->get('osname');
-
-    my $extra_libs = $self->_select_lib( {
-        conf            => $conf,
-        osname          => $osname,
-        cc              => $conf->data->get('cc'),
-        win32_nongcc    => 'libcrypto.lib',
-        default         => '-lcrypto',
-    } );
-
-    $conf->cc_gen('config/auto/crypto/crypto_c.in');
-    eval { $conf->cc_build( q{}, $extra_libs); };
-    my $has_crypto = 0;
-    if ( !$@ ) {
-        my $test = $conf->cc_run();
-        $has_crypto = $self->_evaluate_cc_run($conf, $test, $has_crypto, $verbose);
-    }
-    $conf->data->set( has_crypto => $has_crypto );    # for dynpmc.in & digest.t
-    $self->set_result($has_crypto ? 'yes' : 'no');
-
-    return 1;
-}
-
-sub _evaluate_cc_run {
-    my $self = shift;
-    my ($conf, $test, $has_crypto, $verbose) = @_;
-    if ( $test =~ m/^OpenSSL (\d\.\d\.\d\w?)/ ) {
-        my $version = $1;
-        $has_crypto = 1;
-        $conf->data->set( openssl_version => $version );
-        print " (yes) " if $verbose;
-        $self->set_result("yes, $version");
-    }
-    return $has_crypto;
-}
-
-1;
-
-# Local Variables:
-#   mode: cperl
-#   cperl-indent-level: 4
-#   fill-column: 100
-# End:
-# vim: expandtab shiftwidth=4:

Deleted: trunk/config/auto/gdbm.pm
==============================================================================
--- trunk/config/auto/gdbm.pm	Tue Apr 20 18:39:13 2010	(r45825)
+++ /dev/null	00:00:00 1970	(deleted)
@@ -1,96 +0,0 @@
-# Copyright (C) 2001-2005, Parrot Foundation.
-# $Id$
-
-=head1 NAME
-
-config/auto/gdbm.pm - Test for GNU dbm (gdbm) library
-
-=head1 DESCRIPTION
-
-Determines whether the platform supports gdbm. This is needed for the dynamic
-GDBMHash PMC.
-
-From L<http://www.gnu.org/software/gdbm/>:  "GNU dbm is a set of database
-routines that use extensible hashing. It works similar to the standard Unix
-dbm routines."
-
-=cut
-
-package auto::gdbm;
-
-use strict;
-use warnings;
-
-use base qw(Parrot::Configure::Step);
-
-use Parrot::Configure::Utils ':auto';
-
-
-sub _init {
-    my $self = shift;
-    my %data;
-    $data{description} = q{Does your platform support gdbm};
-    $data{result}      = q{};
-    return \%data;
-}
-
-sub runstep {
-    my ( $self, $conf ) = @_;
-
-    my ( $verbose, $without ) = $conf->options->get(
-        qw|
-            verbose
-            without-gdbm
-        |
-    );
-
-    if ($without) {
-        $conf->data->set( has_gdbm => 0 );
-        $self->set_result('no');
-        return 1;
-    }
-
-    my $osname = $conf->data->get('osname');
-
-    my $extra_libs = $self->_select_lib( {
-        conf            => $conf,
-        osname          => $osname,
-        cc              => $conf->data->get('cc'),
-        win32_gcc       => '-llibgdbm',
-        win32_nongcc    => 'gdbm.lib',
-        default         => '-lgdbm',
-    } );
-
-    $conf->cc_gen('config/auto/gdbm/gdbm_c.in');
-    eval { $conf->cc_build( q{}, $extra_libs ); };
-    my $has_gdbm = 0;
-    if ( !$@ ) {
-        my $test = $conf->cc_run();
-        unlink "gdbm_test_db";
-        $has_gdbm = $self->_evaluate_cc_run($test, $has_gdbm, $verbose);
-    }
-    $conf->data->set( has_gdbm => $has_gdbm );    # for gdbmhash.t and dynpmc.in
-    $self->set_result($has_gdbm ? 'yes' : 'no');
-
-    return 1;
-}
-
-sub _evaluate_cc_run {
-    my $self = shift;
-    my ($test, $has_gdbm, $verbose) = @_;
-    if ( $test eq "gdbm is working.\n" ) {
-        $has_gdbm = 1;
-        print " (yes) " if $verbose;
-        $self->set_result('yes');
-    }
-    return $has_gdbm;
-}
-
-1;
-
-# Local Variables:
-#   mode: cperl
-#   cperl-indent-level: 4
-#   fill-column: 100
-# End:
-# vim: expandtab shiftwidth=4:

Deleted: trunk/config/gen/crypto.pm
==============================================================================
--- trunk/config/gen/crypto.pm	Tue Apr 20 18:39:13 2010	(r45825)
+++ /dev/null	00:00:00 1970	(deleted)
@@ -1,107 +0,0 @@
-# Copyright (C) 2008-2010, Parrot Foundation.
-# $Id$
-
-=head1 NAME
-
-config/gen/crypto.pm - Digest PMC Files
-
-=head1 DESCRIPTION
-
-Generates Digest PMC files.
-
-=cut
-
-package gen::crypto;
-
-use strict;
-use warnings;
-
-
-use base qw(Parrot::Configure::Step);
-
-use Parrot::Configure::Utils ':gen';
-
-sub _init {
-    my $self = shift;
-    my %data;
-    $data{description} = q{Generate Digest PMC files};
-    $data{result}      = q{};
-    $data{digest}      = {
-        MD4         => {
-            md_result => 'd9130a8164549fe818874806e1c7014b',
-        },
-        MD5         => {
-            md_result => 'f96b697d7cb7938d525a2f31aaf161d0',
-        },
-        RIPEMD160   => {
-            md_result => '5d0689ef49d2fae572b881b123a85ffa21595f36',
-            md_inc => 'ripemd',
-        },
-        SHA         => {
-            md_result => 'c1b0f222d150ebb9aa36a40cafdc8bcbed830b14',,
-        },
-        SHA1        => {
-            md_result => 'c12252ceda8be8994d5fa0290a47231c1d16aae3',
-            md_inc => 'sha',
-            md_ctx => 'SHA_CTX',
-            md_digest => 'SHA_DIGEST',
-        },
-        SHA256      => {
-            md_result => 'f7846f55cf23e14eebeab5b4e1550cad5b509e3348fbc4efa3a1413d393cb650',
-            md_inc => 'sha',
-            version_needed => '0.9.8a',
-        },
-        SHA512      => {
-            md_result => '107dbf389d9e9f71a3a95f6c055b9251bc5268c2be16d6c13492ea45b0199f3309e16455ab1e96118e8a905d5597b72038ddb372a89826046de66687bb420e7c',
-            md_inc => 'sha',
-            version_needed => '0.9.8a',
-        },
-    };
-    $data{digest_pmc_template} = 'config/gen/crypto/digest_pmc.in';
-    $data{digest_t_template} = 'config/gen/crypto/digest_t.in';
-    return \%data;
-}
-
-sub runstep {
-    my ( $self, $conf ) = @_;
-
-    if ( ! $conf->data->get('has_crypto') ) {
-        $self->set_result('skipped');
-        return 1;
-    }
-
-    my $openssl_version  = $conf->data->get('openssl_version');
-
-    while (my ($md, $val) = each %{ $self->{digest} } ) {
-        my $file = lc $md;
-        $conf->data->set( TEMP_md_name => $md );
-        $conf->data->set( TEMP_md_file => $file );
-        $conf->data->set( TEMP_md_inc => $val->{md_inc} || $file );
-        $conf->data->set( TEMP_md_ctx => $val->{md_ctx} || $md . '_CTX' );
-        $conf->data->set( TEMP_md_digest => $val->{md_digest} || $md . '_DIGEST' );
-        $conf->data->set( TEMP_md_guard => (
-                ( exists $val->{version_needed} )
-                    and
-                ( $openssl_version lt $val->{version_needed} )
-            )
-            ? '#if 0'
-            : '#ifndef OPENSSL_NO_' . $md
-        );
-        $conf->data->set( TEMP_md_skip => $val->{version_needed} || '0.9' );
-        $conf->data->set( TEMP_md_result => $val->{md_result} );
-        $conf->genfile( $self->{digest_pmc_template} => "src/dynpmc/${file}.pmc" );
-        $conf->genfile( $self->{digest_t_template} => "t/dynpmc/${file}.t" );
-    }
-    $conf->cc_clean();
-
-    return 1;
-}
-
-1;
-
-# Local Variables:
-#   mode: cperl
-#   cperl-indent-level: 4
-#   fill-column: 100
-# End:
-# vim: expandtab shiftwidth=4:

Modified: trunk/config/gen/makefiles/dynpmc.in
==============================================================================
--- trunk/config/gen/makefiles/dynpmc.in	Tue Apr 20 18:09:53 2010	(r45825)
+++ trunk/config/gen/makefiles/dynpmc.in	Tue Apr 20 18:39:13 2010	(r45826)
@@ -32,29 +32,9 @@
   foo_group$(LOAD_EXT) \
   pccmethod_test$(LOAD_EXT) \
   rotest$(LOAD_EXT) \
-#IF(has_gdbm):  gdbmhash$(LOAD_EXT) \
   rational$(LOAD_EXT) \
-#IF(has_crypto):  digest_group$(LOAD_EXT) \
   subproxy$(LOAD_EXT)
 
-PMCS_DIGEST = \
-  md4.pmc \
-  md5.pmc \
-  ripemd160.pmc \
-  sha.pmc \
-  sha1.pmc \
-  sha256.pmc \
-  sha512.pmc
-
-OBJS_DIGEST = \
-  md4$(O) \
-  md5$(O) \
-  ripemd160$(O) \
-  sha$(O) \
-  sha1$(O) \
-  sha256$(O) \
-  sha512$(O)
-
 PMCS_FOO = \
   foo.pmc \
   foo2.pmc
@@ -63,14 +43,6 @@
   foo$(O) \
   foo2$(O)
 
-#IF(win32 and cc==gcc):LIB_GDBM = -llibgdbm
-#ELSIF(win32):LIB_GDBM = libgdbm.lib
-#ELSE:LIB_GDBM = -lgdbm
-
-#IF(win32 and cc==gcc):LIB_CRYPTO = -lcrypto
-#ELSIF(win32):LIB_CRYPTO = libcrypto.lib
-#ELSE:LIB_CRYPTO = -lcrypto
-
 CLEANUPS = \
   "*.c" \
   "pmc_*.h" \
@@ -163,19 +135,6 @@
 rotest.dump: rotest.pmc
 	$(PMC2CD) rotest.pmc
 
-gdbmhash$(LOAD_EXT): gdbmhash$(O)
-	$(LD) @ld_out at gdbmhash$(LOAD_EXT) gdbmhash$(O) $(LINKARGS) $(LIB_GDBM)
-#IF(win32):	if exist $@.manifest mt.exe -nologo -manifest $@.manifest -outputresource:$@;2
-
-gdbmhash$(O): gdbmhash.c
-	$(CC) -c @cc_o_out at gdbmhash$(O) $(INCLUDES) $(CFLAGS) gdbmhash.c
-
-gdbmhash.c: gdbmhash.dump
-	$(PMC2CC) gdbmhash.pmc
-
-gdbmhash.dump: gdbmhash.pmc
-	$(PMC2CD) gdbmhash.pmc
-
 rational$(LOAD_EXT): rational$(O)
 	$(LD) @ld_out at rational$(LOAD_EXT) rational$(O) $(LINKARGS)
 #IF(win32):	if exist $@.manifest mt.exe -nologo -manifest $@.manifest -outputresource:$@;2
@@ -189,79 +148,6 @@
 rational.dump: rational.pmc
 	$(PMC2CD) rational.pmc
 
-digest_group$(LOAD_EXT): $(OBJS_DIGEST) lib-digest_group$(O)
-	$(LD) @ld_out at digest_group$(LOAD_EXT) lib-digest_group$(O) $(OBJS_DIGEST) $(LINKARGS) $(LIB_CRYPTO)
-#IF(win32):	if exist $@.manifest mt.exe -nologo -manifest $@.manifest -outputresource:$@;2
-
-lib-digest_group$(O): digest_group.c
-	$(CC) -c @cc_o_out at lib-digest_group$(O) $(INCLUDES) $(CFLAGS) digest_group.c
-
-digest_group.c: $(OBJS_DIGEST)
-	$(PMC2C) --library digest_group --c $(PMCS_DIGEST)
-
-md4$(O): md4.c
-	$(CC) -c @cc_o_out at md4$(O) $(INCLUDES) $(CFLAGS) md4.c
-
-md4.c: md4.dump
-	$(PMC2CC) md4.pmc
-
-md4.dump: md4.pmc
-	$(PMC2CD) md4.pmc
-
-md5$(O): md5.c
-	$(CC) -c @cc_o_out at md5$(O) $(INCLUDES) $(CFLAGS) md5.c
-
-md5.c: md5.dump
-	$(PMC2CC) md5.pmc
-
-md5.dump: md5.pmc
-	$(PMC2CD) md5.pmc
-
-ripemd160$(O): ripemd160.c
-	$(CC) -c @cc_o_out at ripemd160$(O) $(INCLUDES) $(CFLAGS) ripemd160.c
-
-ripemd160.c: ripemd160.dump
-	$(PMC2CC) ripemd160.pmc
-
-ripemd160.dump: ripemd160.pmc
-	$(PMC2CD) ripemd160.pmc
-
-sha$(O): sha.c
-	$(CC) -c @cc_o_out at sha$(O) $(INCLUDES) $(CFLAGS) sha.c
-
-sha.c: sha.dump
-	$(PMC2CC) sha.pmc
-
-sha.dump: sha.pmc
-	$(PMC2CD) sha.pmc
-
-sha1$(O): sha1.c
-	$(CC) -c @cc_o_out at sha1$(O) $(INCLUDES) $(CFLAGS) sha1.c
-
-sha1.c: sha1.dump
-	$(PMC2CC) sha1.pmc
-
-sha1.dump: sha1.pmc
-	$(PMC2CD) sha1.pmc
-
-sha256$(O): sha256.c
-	$(CC) -c @cc_o_out at sha256$(O) $(INCLUDES) $(CFLAGS) sha256.c
-
-sha256.c: sha256.dump
-	$(PMC2CC) sha256.pmc
-
-sha256.dump: sha256.pmc
-	$(PMC2CD) sha256.pmc
-
-sha512$(O): sha512.c
-	$(CC) -c @cc_o_out at sha512$(O) $(INCLUDES) $(CFLAGS) sha512.c
-
-sha512.c: sha512.dump
-	$(PMC2CC) sha512.pmc
-
-sha512.dump: sha512.pmc
-	$(PMC2CD) sha512.pmc
-
 subproxy$(LOAD_EXT): subproxy$(O)
 	$(LD) @ld_out at subproxy$(LOAD_EXT) subproxy$(O) $(LINKARGS)
 #IF(win32):	if exist $@.manifest mt.exe -nologo -manifest $@.manifest -outputresource:$@;2

Modified: trunk/config/gen/makefiles/root.in
==============================================================================
--- trunk/config/gen/makefiles/root.in	Tue Apr 20 18:09:53 2010	(r45825)
+++ trunk/config/gen/makefiles/root.in	Tue Apr 20 18:39:13 2010	(r45826)
@@ -166,22 +166,6 @@
 #IF(has_opengl):    src/glut_nci_thunks.nci \
 #IF(has_glut):    src/glut_callbacks.c \
     src/core_pmcs.c \
-#IF(has_crypto):    src/dynpmc/md2.pmc \
-#IF(has_crypto):    src/dynpmc/md4.pmc \
-#IF(has_crypto):    src/dynpmc/md5.pmc \
-#IF(has_crypto):    src/dynpmc/ripemd160.pmc \
-#IF(has_crypto):    src/dynpmc/sha.pmc \
-#IF(has_crypto):    src/dynpmc/sha1.pmc \
-#IF(has_crypto):    src/dynpmc/sha256.pmc \
-#IF(has_crypto):    src/dynpmc/sha512.pmc \
-#IF(has_crypto):    t/dynpmc/md2.t \
-#IF(has_crypto):    t/dynpmc/md4.t \
-#IF(has_crypto):    t/dynpmc/md5.t \
-#IF(has_crypto):    t/dynpmc/ripemd160.t \
-#IF(has_crypto):    t/dynpmc/sha.t \
-#IF(has_crypto):    t/dynpmc/sha1.t \
-#IF(has_crypto):    t/dynpmc/sha256.t \
-#IF(has_crypto):    t/dynpmc/sha512.t \
     config_lib.pir \
     parrot.pc \
     compilers/imcc/imcc.y.flag \

Modified: trunk/lib/Parrot/Configure/Options/Conf.pm
==============================================================================
--- trunk/lib/Parrot/Configure/Options/Conf.pm	Tue Apr 20 18:09:53 2010	(r45825)
+++ trunk/lib/Parrot/Configure/Options/Conf.pm	Tue Apr 20 18:39:13 2010	(r45826)
@@ -99,8 +99,6 @@
 
 External Library Options:
 
-   --without-crypto     Build parrot without crypto support (libssl)
-   --without-gdbm       Build parrot without GDBM support
    --without-gettext    Build parrot without gettext support
    --without-gmp        Build parrot without GMP support
    --without-opengl     Build parrot without OpenGL support (GL/GLU/GLUT)

Modified: trunk/lib/Parrot/Configure/Step/List.pm
==============================================================================
--- trunk/lib/Parrot/Configure/Step/List.pm	Tue Apr 20 18:09:53 2010	(r45825)
+++ trunk/lib/Parrot/Configure/Step/List.pm	Tue Apr 20 18:39:13 2010	(r45826)
@@ -52,10 +52,8 @@
     auto::thread
     auto::gmp
     auto::readline
-    auto::gdbm
     auto::pcre
     auto::opengl
-    auto::crypto
     auto::gettext
     auto::snprintf
     auto::perldoc
@@ -65,7 +63,6 @@
     auto::icu
     gen::config_h
     gen::core_pmcs
-    gen::crypto
     gen::opengl
     gen::makefiles
     gen::platform

Modified: trunk/ports/debian/control.in
==============================================================================
--- trunk/ports/debian/control.in	Tue Apr 20 18:09:53 2010	(r45825)
+++ trunk/ports/debian/control.in	Tue Apr 20 18:39:13 2010	(r45826)
@@ -3,7 +3,7 @@
 Priority: optional
 Maintainer: Debian Parrot Maintainers <pkg-parrot-devel at lists.alioth.debian.org>
 Uploaders: Allison Randal <allison at parrot.org>, Nuno Carvalho <mestre.smash at gmail.com>, Patrick Michaud <pmichaud at pobox.com>
-Build-Depends: debhelper (>= 5.0.0), perl, perl-doc, libgdbm-dev, libreadline-dev, quilt
+Build-Depends: debhelper (>= 5.0.0), perl, perl-doc, libreadline-dev, quilt
 Standards-Version: 3.8.4
 
 Package: parrot

Modified: trunk/ports/ubuntu/control.in
==============================================================================
--- trunk/ports/ubuntu/control.in	Tue Apr 20 18:09:53 2010	(r45825)
+++ trunk/ports/ubuntu/control.in	Tue Apr 20 18:39:13 2010	(r45826)
@@ -4,7 +4,7 @@
 Maintainer: Ubuntu Developers <ubuntu-devel-discuss at lists.ubuntu.com>
 XSBC-Original-Maintainer: Debian Parrot Maintainers <pkg-parrot-devel at lists.alioth.debian.org>
 Uploaders: Allison Randal <allison at parrot.org>, Nuno Carvalho <mestre.smash at gmail.com>, Patrick Michaud <pmichaud at pobox.com>
-Build-Depends: debhelper (>= 5.0.0), perl, perl-doc, libgdbm-dev, libreadline-dev
+Build-Depends: debhelper (>= 5.0.0), perl, perl-doc, libreadline-dev
 Standards-Version: 3.8.1
 
 Package: parrot

Deleted: trunk/src/dynpmc/gdbmhash.pmc
==============================================================================
--- trunk/src/dynpmc/gdbmhash.pmc	Tue Apr 20 18:39:13 2010	(r45825)
+++ /dev/null	00:00:00 1970	(deleted)
@@ -1,442 +0,0 @@
-/* gdbmhash.pmc
- *  Copyright (C) 2005-2010, Parrot Foundation.
- *  SVN Info
- *     $Id$
- *  Overview:
- *     These are the vtable functions for the GDBMHash PMC
- *  Data Structure and Algorithms:
- *  History:
- *  Notes:
- *     Please remove unneeded entries.
- *  References:
-
-=head1 NAME
-
-src/dynpmc/gdbmhash.pmc - GDBM PMC
-
-=head1 DESCRIPTION
-
-This is an interface to the GNU dbm library.
-
-=head1 keys
-
-On inserted and fetch, keys are converted to STRINGs.
-
-=head2 store
-
-PMC insert values are converted to STRINGs.
-
-=head2 fetch
-
-C<get_integer_keyed()> and C<get_number_keyed()> probably don't make
-any sense, as integers usually can't be converted.
-
-When a PMC is requested, a String PMC is returned.
-
-
-=head2 Functions
-
-=over 4
-
-=cut
-
- */
-
-#include <gdbm.h>
-#include "parrot/extend.h"
-
-typedef struct GDBM_FH {
-    GDBM_FILE f;
-} GDBM_FH;
-
-#define PMC_dbfh(x) ((Parrot_GDBMHash_attributes *)PMC_data(x))->db_handle->f
-
-
-/*
-
-=item C<static STRING* make_hash_key(PARROT_INTERP, PMC *key)>
-
-Returns a Parrot string for C<*key>.
-
-=cut
-
-*/
-
-static STRING* make_hash_key(PARROT_INTERP, ARGIN(PMC * key))
-{
-    if (key)
-        return VTABLE_get_string(interp, key);
-
-    Parrot_ex_throw_from_c_args(interp, NULL, EXCEPTION_OUT_OF_BOUNDS,
-        "Hash: Cannot use NULL key");
-}
-
-
-pmclass GDBMHash provides hash dynpmc lib gdbm auto_attrs {
-    ATTR struct GDBM_FH *db_handle;
-
-/*
-
-=item C<void class_init()>
-
-Class initialization. GDBMHash is a dynamic PMC, meaning that a dynamically
-loadable module is created. On Unix-like systems this is a shared library.
-When it is available, the shared library has linked in the library 'gdbm'.
-
-On WIN32 the relevant library seems to be called 'gdbm3'.
-So we do a bit of cheating here, and load it during class initialization.
-
-=cut
-
-*/
-
-    VTABLE void class_init() {
-#ifdef WIN32
-        /* TT #1252:  What if libgdbm.so cannot be loaded */
-        /* Parrot_load_lib(interp, slib, NULL); */
-        STRING *slib = CONST_STRING(interp, "gdbm3");
-#endif
-    }
-
-    VTABLE void init() {
-        Parrot_GDBMHash_attributes *attrs = PARROT_GDBMHASH(SELF);
-        attrs->db_handle = mem_gc_allocate_zeroed_typed(INTERP, GDBM_FH);
-        PObj_custom_destroy_SET(SELF);
-    }
-
-    VTABLE void destroy() {
-        Parrot_GDBMHash_attributes *attrs = PARROT_GDBMHASH(SELF);
-        mem_gc_free(INTERP, attrs->db_handle);
-        PMC_data(SELF) = NULL;
-    }
-
-    VTABLE void* get_pointer() {
-        return PMC_dbfh(SELF);
-    }
-
-    VTABLE void set_pointer(void* p) {
-        PMC_dbfh(SELF) = (GDBM_FILE)p;
-    }
-
-/*
-
-=item C<VOID set_string_native(STRING* value)>
-
-Open a or create a new dbm file.
-
-=cut
-
-*/
-
-    VTABLE void set_string_native(STRING* value) {
-        char * const c_db_name = Parrot_str_to_cstring(interp, value);
-        GDBM_FILE dbf          = gdbm_open(c_db_name, 0, GDBM_NEWDB, 0666, 0);
-
-        Parrot_str_free_cstring(c_db_name);
-
-        PMC_dbfh(SELF) = dbf;
-    }
-
-/*
-
-=item C<INTVAL get_integer()>
-
-Returns the number of pairs in the hash.
-A uninitialized GDBMHash returns 0.
-
-=cut
-
-*/
-
-    VTABLE INTVAL get_integer() {
-        GDBM_FILE dbf = PMC_dbfh(SELF);
-        if (! dbf) {
-            return 0;
-        }
-        else {
-            INTVAL cnt = 0;
-            datum key, nextkey;
-            for (key = gdbm_firstkey(dbf); key.dptr; key = nextkey) {
-                cnt++;
-                nextkey = gdbm_nextkey(dbf, key);
-                free(key.dptr);
-            }
-
-            return cnt;
-        }
-    }
-
-/*
-
-=item C<INTVAL get_bool()>
-
-Returns true if the hash size is not zero.
-
-=cut
-
-*/
-
-    VTABLE INTVAL get_bool() {
-        GDBM_FILE dbf = PMC_dbfh(SELF);
-        if (! dbf) {
-            return 0;
-        }
-        else {
-            datum key = gdbm_firstkey(dbf);
-            if (key.dptr) {
-                return 1;
-            }
-            else {
-                return 0;
-            }
-        }
-    }
-
-/*
-
-=item C<void set_string_keyed(PMC *key, STRING *value)>
-
-=cut
-
-*/
-
-    VTABLE void set_string_keyed(PMC* key, STRING* value) {
-        STRING* keystr;
-        GDBM_FILE dbf = PMC_dbfh(SELF);
-        datum key_gdbm, val_gdbm;
-
-        if (!key) return;
-        if (!dbf) return;
-        keystr = make_hash_key(interp, key);
-
-        key_gdbm.dptr  = Parrot_str_to_cstring(interp, keystr);
-        key_gdbm.dsize = strlen(key_gdbm.dptr);
-        val_gdbm.dptr  = Parrot_str_to_cstring(interp, value);
-        val_gdbm.dsize = strlen(val_gdbm.dptr);
-
-        gdbm_store(dbf, key_gdbm, val_gdbm, GDBM_REPLACE);
-
-        Parrot_str_free_cstring(key_gdbm.dptr);
-        Parrot_str_free_cstring(val_gdbm.dptr);
-
-        return;
-    }
-
-/*
-
-=item C<STRING *get_string_keyed(PMC *key)>
-
-Returns the string value for the element at C<*key>.
-
-=cut
-
-*/
-
-    VTABLE STRING* get_string_keyed(PMC *key) {
-        STRING *keystr, *val;
-        GDBM_FILE dbf = PMC_dbfh(SELF);
-        datum key_gdbm, val_gdbm;
-
-        if (!key)
-            return string_from_literal(INTERP, "");
-
-        if (!dbf)
-            return string_from_literal(INTERP, "");
-
-        keystr         = make_hash_key(interp, key);
-
-        key_gdbm.dptr  = Parrot_str_to_cstring(interp, keystr);
-        key_gdbm.dsize = strlen(key_gdbm.dptr);
-        val_gdbm       = gdbm_fetch(dbf, key_gdbm);
-
-        val = Parrot_str_new(interp, val_gdbm.dptr, val_gdbm.dsize);
-        Parrot_str_free_cstring(key_gdbm.dptr);
-        free(val_gdbm.dptr);
-
-        return val;
-    }
-
-
-/*
-
-=item C<void set_pmc_keyed(PMC* key, PMC *value)>
-
-Convert C<value> to a string and set the string for the C<key>.
-
-=cut
-
-*/
-
-    VTABLE void set_pmc_keyed(PMC* key, PMC* value) {
-        STRING * const temp = VTABLE_get_string(interp, value);
-
-        SELF.set_string_keyed(key, temp);
-    }
-
-/*
-
-=item C<PMC *get_pmc_keyed(PMC *key)>
-
-Returns the PMC value for the element at C<*key>.
-
-=cut
-
-*/
-
-    VTABLE PMC* get_pmc_keyed(PMC* key) {
-        STRING * const ret_string = SELF.get_string_keyed(key);
-        PMC    * const ret_pmc    = Parrot_pmc_new(interp, enum_class_String);
-
-        VTABLE_set_string_native(interp, ret_pmc, ret_string);
-
-        return ret_pmc;
-    }
-
-/*
-
-=item C<void set_integer_keyed(PMC* key, INTVAL value)>
-
-Convert C<value> to a string and set the string for the C<key>.
-
-=cut
-
-*/
-
-    VTABLE void set_integer_keyed(PMC* key, INTVAL value) {
-        PMC * const temp = Parrot_pmc_new(interp, enum_class_String);
-
-        VTABLE_set_integer_native(interp, temp, value);
-        SELF.set_pmc_keyed(key, temp);
-    }
-
-
-/*
-
-=item C<void set_number_keyed(PMC* key, FLOATVAL value)>
-
-Convert C<value> to a string and set the string for the C<key>.
-
-=cut
-
-*/
-
-    VTABLE void set_number_keyed(PMC* key, FLOATVAL value) {
-        PMC * const temp = Parrot_pmc_new(interp, enum_class_String);
-
-        VTABLE_set_number_native(interp, temp, value);
-        SELF.set_pmc_keyed(key, temp);
-    }
-
-/*
-
-=item C<INTVAL exists_keyed(PMC *key)>
-
-Returns whether a key C<*key> exists in the hash.
-
-=cut
-
-*/
-
-    VTABLE INTVAL exists_keyed(PMC* key) {
-        STRING* keystr;
-        GDBM_FILE dbf = PMC_dbfh(SELF);
-        datum key_gdbm;
-        INTVAL ret;
-
-        if (!key) return 0;
-        if (!dbf) return 0;
-        keystr = make_hash_key(interp, key);
-
-        key_gdbm.dptr  = Parrot_str_to_cstring(interp, keystr);
-        key_gdbm.dsize = strlen(key_gdbm.dptr);
-
-        ret = gdbm_exists(dbf, key_gdbm);
-        Parrot_str_free_cstring(key_gdbm.dptr);
-
-        return ret;
-    }
-
-/*
-
-=item C<void delete_keyed(PMC *key)>
-
-Deletes the element associated with C<*key>.
-
-=cut
-
-*/
-
-    VTABLE void delete_keyed(PMC* key) {
-        STRING* keystr;
-        GDBM_FILE dbf = PMC_dbfh(SELF);
-        datum key_gdbm;
-
-        if (!key) return;
-        if (!dbf) return;
-        keystr = make_hash_key(interp, key);
-
-        key_gdbm.dptr  = Parrot_str_to_cstring(interp, keystr);
-        key_gdbm.dsize = strlen(key_gdbm.dptr);
-
-        if (gdbm_exists(dbf, key_gdbm)) {
-           gdbm_delete(dbf, key_gdbm);
-        }
-
-        Parrot_str_free_cstring(key_gdbm.dptr);
-
-        return;
-    }
-
-/*
-
-=back
-
-=head2 Specific Methods
-
-=over 4
-
-=item C<void open(STRING* value)>
-
-Open a or create a new dbm file.
-
-=cut
-
-*/
-
-    METHOD void open(STRING* value) {
-        VTABLE_set_string_native(interp, SELF, value);
-    }
-
-/*
-
-=item C<void close()>
-
-Close current dbm file.
-
-=cut
-
-*/
-
-    METHOD void close() {
-        gdbm_close(PMC_dbfh(SELF));
-    }
-}
-
-/*
-
-=back
-
-=head1 SEE ALSO
-
-F<docs/pdds/pdd08_keys.pod>, L<http://gdbm.gnu.org>
-
-=cut
-
-*/
-
-/*
- * Local variables:
- *   c-file-style: "parrot"
- * End:
- * vim: expandtab shiftwidth=4:
- */

Deleted: trunk/t/dynpmc/gdbmhash.t
==============================================================================
--- trunk/t/dynpmc/gdbmhash.t	Tue Apr 20 18:39:13 2010	(r45825)
+++ /dev/null	00:00:00 1970	(deleted)
@@ -1,441 +0,0 @@
-#! parrot
-# Copyright (C) 2005-2010, Parrot Foundation.
-# $Id$
-
-=head1 NAME
-
-t/dynpmc/gdbmhash.t - test the GDBMHash PMC
-
-=head1 SYNOPSIS
-
-    % parrot t/dynpmc/gdbmhash.t
-
-=head1 DESCRIPTION
-
-Tests the C<GDBMHash> PMC.
-
-=cut
-
-.sub main
-    .include 'test_more.pir'
-    .include 'iglobals.pasm'
-    .local pmc config_hash, interp
-
-    plan(48)
-    interp = getinterp
-    config_hash = interp[.IGLOBALS_CONFIG_HASH]
-    $S0 = config_hash['has_gdbm']
-    unless $S0 goto no_gdbm
-
-    test_typeof()
-    test_interface()
-    test_get_integer()
-    test_get_bool()
-    test_modify_an_entry()
-    test_exists_keyed()
-    test_set_string_with_string_key()
-    test_set_string_with_pmc_key()
-    test_set_pmc_with_string_key()
-    test_set_pmc_with_pmc_key()
-    test_set_intval_with_string_key()
-    test_set_floatval_with_pmc_key()
-    test_delete_keyed()
-    .return()
-  no_gdbm:
-    skip(48, 'No gdbm library available')
-.end
-
-.sub unlink
-    .param string filename
-    new $P0, 'OS'
-    push_eh _handler
-    $P0.'rm'(filename)
-    .return ()
-  _handler:
-    .local pmc e
-    .get_results (e)
-    printerr "# Cannot unlink "
-    printerr filename
-    printerr " ("
-    printerr e
-    printerr ")\n"
-.end
-
-.sub test_typeof
-    .local pmc gdbmhash_lib
-    gdbmhash_lib = loadlib "gdbmhash"
-    .local pmc hash_1
-    hash_1 = new "GDBMHash"
-    .local string type
-    type = typeof hash_1
-    is(type, 'GDBMHash', 'typeof')
-.end
-
-.sub test_interface
-    .local pmc gdbmhash_lib
-    gdbmhash_lib = loadlib "gdbmhash"
-    .local pmc hash_1
-    hash_1 = new "GDBMHash"
-    .local int bool1
-    does bool1, hash_1, "scalar"
-    is(bool1, 0, 'check whether interface is done')
-    does bool1, hash_1, "hash"
-    is(bool1, 1, 'check whether interface is done')
-    does bool1, hash_1, "no_interface"
-    is(bool1, 0, 'check whether interface is done')
-.end
-
-.sub test_get_integer
-    .local pmc gdbmhash_lib
-    gdbmhash_lib = loadlib "gdbmhash"
-    .local pmc hash_1
-    hash_1 = new "GDBMHash"
-    .local int hash_size
-    hash_size = hash_1
-    is(hash_size, 0, 'An unitialized GDBMHash has size 0')
-
-    hash_1 = "gdbm_hash_1"
-    hash_size = hash_1
-    is(hash_size, 0, 'An GDBMHash for a new file has size 0')
-
-    hash_1["key1"] = "val1"
-    hash_size = hash_1
-    is(hash_size, 1, 'After one assignment GDBMHash has size 1')
-
-    hash_1["key2"] = "val2"
-    hash_size = hash_1
-    is(hash_size, 2, 'After two assignments GDBMHash has size 2')
-
-    hash_1["key3"] = "val3"
-    hash_1["key4"] = "val4"
-    hash_1["key5"] = "val5"
-    hash_1["key6"] = "val6"
-    hash_1["key7"] = "val7"
-    hash_1["key8"] = "val8"
-    hash_1["key9"] = "val9"
-    hash_1["key10"] = "val10"
-    hash_1["key11"] = "val11"
-    hash_1["key12"] = "val12"
-    hash_1["key13"] = "val13"
-    hash_1["key14"] = "val14"
-    hash_1["key15"] = "val15"
-    hash_size = hash_1
-    is(hash_size, 15, 'After 15 assignments GDBMHash has size 15')
-
-    delete hash_1["key7"]
-    delete hash_1["key9"]
-
-    hash_size = hash_1
-    is(hash_size, 13, 'After 15 assignments and 2 deletes GDBMHash has size 13')
-
-    hash_1."close"()
-    unlink('gdbm_hash_1')
-.end
-
-.sub test_get_bool
-    .local pmc gdbmhash_lib
-    gdbmhash_lib = loadlib "gdbmhash"
-    .local pmc hash_1
-    hash_1 = new "GDBMHash"
-    if hash_1 goto HASH1_IS_1
-    ok(1, 'An uninitialized GDBMHash is not')
-HASH1_IS_1:
-
-    hash_1 = "gdbm_hash_2"
-    if hash_1 goto HASH1_IS_2
-    ok(1, 'A GDBMHash for a new file is not')
-HASH1_IS_2:
-
-    hash_1["key1"] = "val1"
-    if hash_1 goto HASH1_IS_3
-    ok(0, 'After one insert the GDBMHash is not')
-HASH1_IS_3:
-    ok(1, 'After one insert the GDBMHash is')
-
-    hash_1."close"()
-    unlink('gdbm_hash_2')
-.end
-
-# The value is a STRING, with umlaut
-# The key used for insertion is a STRING.
-.sub test_modify_an_entry
-    .local pmc gdbmhash_lib
-    gdbmhash_lib = loadlib "gdbmhash"
-    .local pmc hash_1
-    hash_1 = new "GDBMHash"
-    hash_1 = "gdbm_hash_3"
-
-    .local pmc    val_pmc
-
-    hash_1["Schluessel"] = "Wert urspruenglich"
-    val_pmc = hash_1["Schluessel"]
-    is(val_pmc, 'Wert urspruenglich', 'modify an entry')
-    hash_1["Schluessel"] = "Wert geaendert"
-    val_pmc = hash_1["Schluessel"]
-    is(val_pmc, 'Wert geaendert', 'modify an entry')
-    hash_1["Schluessel"] = "Wert nocheinmal geaendert"
-    val_pmc = hash_1["Schluessel"]
-    is(val_pmc, 'Wert nocheinmal geaendert', 'modify an entry')
-    hash_1["Schluessel"] = "Wert urspruenglich"
-    val_pmc = hash_1["Schluessel"]
-    is(val_pmc, 'Wert urspruenglich', 'modify an entry')
-
-    hash_1."close"()
-    unlink('gdbm_hash_3')
-.end
-
-# The value is a STRING.
-# The key used for insertion is a STRING.
-.sub test_exists_keyed
-    .local pmc gdbmhash_lib
-    gdbmhash_lib = loadlib "gdbmhash"
-    .local pmc hash_1
-    hash_1 = new "GDBMHash"
-    hash_1 = "gdbm_hash_4"
-
-    hash_1["Schluessel"] = "Wert"
-
-    .local int exist_flag
-    exist_flag = exists hash_1["a"]
-    is(exist_flag, 0, 'exists keyed')
-    exist_flag = exists hash_1["Schluessel"]
-    is(exist_flag, 1, 'exists keyed')
-
-    .local pmc key_out
-    key_out = new 'String'
-    key_out = "b"
-    exist_flag = exists hash_1[key_out]
-    is(exist_flag, 0, 'exists keyed')
-    key_out = "Schluessel"
-    exist_flag = exists hash_1[key_out]
-    is(exist_flag, 1, 'exists keyed')
-
-    hash_1."close"()
-    unlink('gdbm_hash_4')
-.end
-
-# The value is a STRING.
-# The key used for insertion is a STRING.
-.sub test_set_string_with_string_key
-    .local pmc gdbmhash_lib
-    gdbmhash_lib = loadlib "gdbmhash"
-    .local pmc hash_1
-    hash_1 = new "GDBMHash"
-    hash_1 = "gdbm_hash_5"
-
-    hash_1["Schluessel"] = "Wert"
-
-    .local pmc    val_pmc
-    .local string val_string
-
-    val_string = hash_1["Schluessel"]
-    is(val_string, 'Wert', 'set string with string key')
-    val_pmc = hash_1["Schluessel"]
-    is(val_pmc, 'Wert', 'set string with string key')
-    .local pmc key_out
-    key_out = new 'String'
-    key_out = "Schluessel"
-    val_string = hash_1[key_out]
-    is(val_string, 'Wert', 'set string with string key')
-    val_pmc = hash_1[key_out]
-    is(val_pmc, 'Wert', 'set string with string key')
-
-    hash_1."close"()
-    unlink('gdbm_hash_5')
-.end
-
-# The value is a STRING.
-# The key used for insertion is a PMC.
-.sub test_set_string_with_pmc_key
-    .local pmc gdbmhash_lib
-    gdbmhash_lib = loadlib "gdbmhash"
-    .local pmc hash_1
-    hash_1 = new "GDBMHash"
-    hash_1 = "gdbm_hash_6"
-
-    .local pmc key_pmc
-    key_pmc = new 'String'
-    key_pmc = "Schluessel"
-    hash_1[key_pmc] = "Wert"
-
-    .local pmc    val_pmc
-    .local string val_string
-
-    val_string = hash_1["Schluessel"]
-    is(val_string, 'Wert', 'set string with pmc key')
-    val_pmc = hash_1["Schluessel"]
-    is(val_pmc, 'Wert', 'set string with pmc key')
-    .local pmc key2
-    key2 = new 'String'
-    key2 = "Schluessel"
-    val_string = hash_1[key2]
-    is(val_string, 'Wert', 'set string with pmc key')
-    val_pmc = hash_1[key2]
-    is(val_pmc, 'Wert', 'set string with pmc key')
-
-    hash_1."close"()
-    unlink('gdbm_hash_6')
-.end
-
-# The value is a PMC.
-# The key used for insertion is a STRING.
-.sub test_set_pmc_with_string_key
-    .local pmc gdbmhash_lib
-    gdbmhash_lib = loadlib "gdbmhash"
-    .local pmc hash_1
-    hash_1 = new "GDBMHash"
-    hash_1 = "gdbm_hash_7"
-
-    .local pmc val
-    val = new 'String'
-    val = "Wert"
-    hash_1["Schluessel"] = val
-
-    .local pmc    val_pmc
-    .local string val_string
-
-    val_string = hash_1["Schluessel"]
-    is(val_string, 'Wert', 'set pmc with string key')
-    val_pmc = hash_1["Schluessel"]
-    is(val_pmc, 'Wert', 'set pmc with string key')
-    .local pmc key_out
-    key_out = new 'String'
-    key_out = "Schluessel"
-    val_string = hash_1[key_out]
-    is(val_string, 'Wert', 'set pmc with string key')
-    val_pmc = hash_1[key_out]
-    is(val_pmc, 'Wert', 'set pmc with string key')
-
-    hash_1."close"()
-    unlink('gdbm_hash_7')
-.end
-
-# The value is a PMC.
-# The key used for insertion is a PMC.
-.sub test_set_pmc_with_pmc_key
-    .local pmc gdbmhash_lib
-    gdbmhash_lib = loadlib "gdbmhash"
-    .local pmc hash_1
-    hash_1 = new "GDBMHash"
-    hash_1 = "gdbm_hash_8"
-
-    .local pmc val
-    val = new 'String'
-    val = "Wert"
-    .local pmc key_pmc
-    key_pmc = new 'String'
-    key_pmc = "Schluessel"
-    hash_1[key_pmc] = val
-
-    .local pmc    val_pmc
-    .local string val_string
-
-    val_string = hash_1["Schluessel"]
-    is(val_string, 'Wert', 'set pmc with pmc key')
-    val_pmc = hash_1["Schluessel"]
-    is(val_pmc, 'Wert', 'set pmc with pmc key')
-    .local pmc key2
-    key2 = new 'String'
-    key2 = "Schluessel"
-    val_string = hash_1[key2]
-    is(val_string, 'Wert', 'set pmc with pmc key')
-    val_pmc = hash_1[key2]
-    is(val_pmc, 'Wert', 'set pmc with pmc key')
-
-    hash_1."close"()
-    unlink('gdbm_hash_8')
-.end
-
-# The value is an INTVAL
-# The key used for insertion is a STRING.
-.sub test_set_intval_with_string_key
-    .local pmc gdbmhash_lib
-    gdbmhash_lib = loadlib "gdbmhash"
-    .local pmc hash_1
-    hash_1 = new "GDBMHash"
-    hash_1 = "gdbm_hash_9"
-
-    hash_1["Schluessel"] = -11012005
-
-    .local pmc    val_pmc
-    .local string val_string
-
-    val_string = hash_1["Schluessel"]
-    is(val_string, -11012005, 'set intval with a string key')
-    val_pmc = hash_1["Schluessel"]
-    is(val_pmc, -11012005, 'set intval with a string key')
-    .local pmc key_out
-    key_out = new 'String'
-    key_out = "Schluessel"
-    val_string = hash_1[key_out]
-    is(val_string, -11012005, 'set intval with a string key')
-    val_pmc = hash_1[key_out]
-    is(val_pmc, -11012005, 'set intval with a string key')
-
-    hash_1."close"()
-    unlink('gdbm_hash_9')
-.end
-
-# The value is a FLOATVAL.
-# The key used for insertion is a PMC.
-.sub test_set_floatval_with_pmc_key
-    .local pmc gdbmhash_lib
-    gdbmhash_lib = loadlib "gdbmhash"
-    .local pmc hash_1
-    hash_1 = new "GDBMHash"
-    hash_1 = "gdbm_hash_10"
-
-    .local pmc key_pmc
-    key_pmc = new 'String'
-    key_pmc = "Schluessel"
-    hash_1[key_pmc] = -1101.2005
-
-    .local pmc    val_pmc
-    .local string val_string
-
-    val_string = hash_1["Schluessel"]
-    is(val_string, -1101.2005, 'set float with a pmc key')
-    val_pmc = hash_1["Schluessel"]
-    is(val_pmc, -1101.2005, 'set float with a pmc key')
-    .local pmc key2
-    key2 = new 'String'
-    key2 = "Schluessel"
-    val_string = hash_1[key2]
-    is(val_string, -1101.2005, 'set float with a pmc key')
-    val_pmc = hash_1[key2]
-    is(val_pmc, -1101.2005, 'set float with a pmc key')
-
-    hash_1."close"()
-    unlink('gdbm_hash_10')
-.end
-
-.sub test_delete_keyed
-    .local pmc gdbmhash_lib
-    gdbmhash_lib = loadlib "gdbmhash"
-    .local pmc hash_1
-    hash_1 = new "GDBMHash"
-    hash_1 = "gdbm_hash_11"
-
-    .local int exist_flag
-    .local int hash_size
-
-    exist_flag = exists hash_1["a"]
-    is(exist_flag, 0, 'delete keyed')
-
-    hash_1["a"] = "A"
-    exist_flag = exists hash_1["a"]
-    is(exist_flag, 1, 'delete keyed')
-
-    delete hash_1["a"]
-    exist_flag = exists hash_1["a"]
-    is(exist_flag, 0, 'delete keyed')
-
-    hash_1."close"()
-    unlink('gdbm_hash_11')
-.end
-
-# Local Variables:
-#   mode: pir
-#   fill-column: 100
-# End:
-# vim: expandtab shiftwidth=4 ft=pir:

Deleted: trunk/t/library/md5.t
==============================================================================
--- trunk/t/library/md5.t	Tue Apr 20 18:39:13 2010	(r45825)
+++ /dev/null	00:00:00 1970	(deleted)
@@ -1,688 +0,0 @@
-#!parrot
-# Copyright (C) 2001-2010, Parrot Foundation.
-# $Id$
-
-=head1 NAME
-
-t/library/md5.t - test MD5 library
-
-=head1 SYNOPSIS
-
-        % prove t/library/md5.t
-
-=head1 DESCRIPTION
-
-Tests the MD5 library. You can create the test results using
-the command-line md5sum like this:
-
- $ echo -n Hello World! | md5sum
- a0f32c7d31302c1427285b1a0fcbb015  -
-
-As well as testing the MD5 library itself, it is useful for spotting
-regressisions in the parrot VM, JIT and GC
-
-=cut
-
-##############################
-# Stress parrot using MD5 library
-
-.sub main :main
-    load_bytecode "Digest/MD5.pbc"
-
-    .include 'test_more.pir'
-    plan(517)
-
-    test_miscellaneous_words()
-    test_funny_chars()
-    test_string_lengths()
-    test_really_long_string()
-    test_recursive_md5_1()
-    test_recursive_md5_2()
-.end
-
-.sub test_miscellaneous_words
-    $P0 = _md5sum ("Hello")
-    $S0 = _md5_hex($P0)
-    is($S0, '8b1a9953c4611296a827abf8c47804d7', 'md5 Hello')
-
-    $P0 = _md5sum ("Goodbye")
-    $S0 = _md5_hex($P0)
-    is($S0, '6fc422233a40a75a1f028e11c3cd1140', 'md5 Goodbye')
-
-    $P0 = _md5sum ("Parrot")
-    $S0 = _md5_hex($P0)
-    is($S0, 'e7cb1e977e896954fec46d2ea7832072', 'md5 Parrot')
-
-    $P0 = _md5sum ("Hello World!")
-    $S0 = _md5_hex($P0)
-    is($S0, 'ed076287532e86365e841e92bfc50d8c', 'md5 Hello World')
-.end
-
-.sub test_funny_chars
-    $P0 = _md5sum ("\n\n\n\n\t")
-    $S0 = _md5_hex($P0)
-    is($S0, 'b66434493525523b4393ce0d1f2425d7', 'funny chars')
-.end
-
-.sub test_string_lengths
-    $I0 = 0
-
-    $S10 = <<'OUTPUT'
-cfcd208495d565ef66e7dff9f98764da
-96a3be3cf272e017046d1b2674a52bd3
-d2490f048dc3b77a457e3e450ab4eb38
-eb62f6b9306db575c2d596b1279627a4
-4100c4d44da9177247e44a5fc1546778
-d6a9a933c8aafc51e55ac0662b6e4d4a
-124bd1296bec0d9d93c7b52a71ad8d5b
-2e9ec317e197819358fbc43afca7d837
-22975d8a5ed1b91445f6c55ac121505b
-781e5e245d69b566979b86e28d23f2c7
-ebe596017db2f8c69136e5d6e594d365
-9a09ac0f4c8c2f92d77f2d77612b6f78
-28e23e897f070c849a86cd60b9a852c1
-ae248bb2a77e470cb92d8e69e5f5affc
-78f40ab0050544f9de011de7a4c6ecdb
-d927ad81199aa7dcadfdb4e47b6dc694
-6def23346f64e0163d9924f2f40c9cf2
-d02ebde979264c79e141559fc9f6b65c
-b61fd0bcc895bb16c784558934586d97
-be497c2168e374f414a351c49379c01a
-eaf9acee4b07a9986ce13edadd72ffcc
-8b50575826e6ab4102f1335396b29bba
-dbdf3116a6627638bff94877f31e56af
-607e25deb0f2d06cbbb4d774d60e9aeb
-845379ce1cb6ab954f40261250a7d9c8
-c548d9f9273d070ada6070611b609e29
-d0e16d114b9299f418e781feb7e189ca
-7ab3976c761a67b2a1e57bf9eade8576
-fecfbf31a749c7403612c47c3633ba6e
-4f7223ebadee9fb57b6796570d60638f
-274f173711cb1d36f5ce2d4d48ac2350
-298bf0197a05149e366b6bb61835a1c1
-cf09b5cb769d068e70d248ac7e013ac9
-c448e84be268303d169b20280f82bc8b
-541a6eada38facbba17bff5ed44512e5
-358ab3835dd5371cc890ebadba6c6d6d
-3887ce467d1e74ad307acb8896bffeea
-f8ea4cba02b3cb898dcb8cef543845b7
-8fbaa7868a809afb8a10f910dc6ce372
-9f0ae0380ed27dbf6b852843d2eece1f
-258b326512843f996b693fe0fc3ab34a
-486011c2adb42c5dba82bec5114dc1fc
-4870e0d70c0ef3f920286ccbd316a23d
-e8d950dec279b91a52d06283592ce27c
-604a4d755ea290e04ed2999243bf5b4a
-985170ea843a93803a560dc7f445e938
-a99cecea30006f01a7ca56b4845cfb7a
-a73df556df9e6ceca5d2d3903d639813
-fa7499e1c713703d7b28f99cd7f5c654
-baed005300234f3d1503c50a48ce8e6f
-8c3ef34e616209cb0efe0f6b735c110d
-240d6ec1fe28630a9cc9a4978e5524f1
-a3360e2d7e28ed4572c3dc16ef705372
-3dff83c8fadd26370d5b098409644457
-6e7a4fc92eb1c3f6e652425bcc8d44b5
-8af270b2847610e742b0791b53648c09
-c620bace4cde41bc45a14cfa62ee3487
-66f6bb54a54f967caa2607ad2990ecb4
-ad76b175d22a98a4e3bc2ad72affc53e
-1ced811af47ead374872fcca9d73dd71
-057a79e90fca0d805e0938d8e38a638b
-10f0b5ba92a04c7502dec778490a9acb
-c5e256437e758092dbfe06283e489019
-7f7bfd348709deeaace19e3f535f8c54
-beb9f48bc802ca5ca043bcc15e219a5a
-d6329b22b4b67da8120d0074eb28cb31
-061accc64d9dbd228685091cf76d6f58
-7ad76683ed7802615406f4efaa1b8d8b
-b5c71592955c35707a4ba4edf8dd66de
-109eb12c10c45d94ddac8eca7b818bed
-8ca2dc1109ec719046f23d92efe819f7
-4e4c090b615aa77e69eacc7b77b5cf95
-841dba25c1ecaffe412e2e748330a8ae
-deb3cb2636d15d6aeccc1951b9d5f183
-a6407577c4b42b2e738ad6d56ed1f486
-e441c22735877b6c3c9357ba1820d708
-778a111027ce535d272143817e6e9d8d
-bcb0b673b05701772b02d6b747622c62
-471814de0f707d1f04ba37a7d31aba36
-0faef1f4cb01d560d59016a2d5e91da6
-6e0c4c53a4178accb1c9b98556b8b945
-240b6fbc9d3be13b28e949fc5e94a92c
-004ef599b79db30564f653354fa2165a
-92d36974a72cdde56527eb7e26603075
-42b33f3421b374998baab3d0ce9915c7
-6cda32041571c398fad2b5979321949b
-dcf3495e733de25b7a0465159c48b098
-0c6b4c69e1380ecc74124be9a080a2bd
-321c5993da3dee64c550e87b81f9af73
-3b9739dbce23373276d22e2709e82f6e
-db52e041b6faca67496bae11d5177ce9
-6e9f209cf47edc69a21b6cc1f7f616f9
-95e99b94cdcec3b6f4a2820fb87cd9ed
-08eed5e9006f867fb5dedfc42b082df8
-7418f52788313c121eef974cd283e8a5
-b2b23cfd66f6bdd522c47315752d7731
-7c962704271a7a905cbec236de469626
-84e15104f912a6cb2768ebdde00e5b33
-dde798bd1d5336a07337aec45cb02576
-7a08b07e84641703e5f2c836aa59a170
-525cce3d8c3eaf36a756a91fcb996d59
-6fd9044eb098d000b86615ff9df50e11
-364603b2cf1662d139496c12f36f490a
-375e3afc44bf428c445bff4363f0dbe5
-477ac3a1c002d85755b40451c8db87d2
-3c6f3dfa17a3022cf18db24e42f54b96
-d2cfbebc441bea6a9c9c4a2faba865e2
-01fb84949f9192411682b39e2642b662
-2468a5c59cccb56bd51ed5ee766b2d2b
-09e32555adc12a6f2c8fed9a459935af
-6c27622d1d5365e4abfd02f2eccfd8f9
-OUTPUT
-    $P0 = split "\n", $S10
-  testing_loop:
-    $S1 = $I0
-    $S0 .= $S1
-    $S5 = shift $P0
-    $P1 = _md5sum ($S0)
-    $S6 = _md5_hex($P1)
-    inc $I0
-    mod $I0, $I0, 10
-    $I1 = length $S0
-    $S12 = $I1
-    $S11 = 'string length '
-    $S11 .= $S12
-    is($S6, $S5, $S11)
-    if $I1 <= 110 goto testing_loop
-.end
-
-.sub test_really_long_string
-    $S0 = "Hello Parrot World! "
-    repeat $S1, $S0, 50000
-    $P0 = _md5sum ($S1)
-    $S2 = _md5_hex($P0)
-    is($S2, '840e4dec51660b1f52473e0b0b9545f5', 'really long string')
-.end
-
-=begin bash
-
-test output created with:
-
-#!/bin/bash
-str=$1
-echo "$str"
-for i in $(seq 1 200); do
-    str=$(echo -n "$str" | md5sum | cut -d ' ' -f 1)
-    echo "$str"
-done
-
-=end bash
-
-=cut
-
-.sub test_recursive_md5_1
-    .local string output
-    $S0 = "Hello World!"
-    $I0 = 0
-
-    output = <<'OUTPUT'
-ed076287532e86365e841e92bfc50d8c
-153163e20c7dd03b131fe2bf21927e1e
-95b9b73c7a8abe6d5bf5ad8067a53cee
-d7b6778d149c5a085f2675b959503c2b
-4a3dd453c637dabbdce7433653e6d7cb
-88648d19a031133d87b093997813a740
-a07578c3f0bebca3f2cca2b1d0b8f9fe
-6134e6ee02e25ea0faf7a348ef599cdd
-188ee3fb92bb86c91a08198100fa167a
-dc06bc1fb41cae72a4b60e8480817085
-c492befd605b7b05007d91db742600d3
-2a07fa4fc4318d11908102c355ca81a8
-6270c9b254b7c7c245100afb0778189f
-31ca2cf9439c7f4f1da11a16a7bed6de
-19626ef62b26446d35860ff932863894
-3fe6e0f6adff71bc0a1a5b272527408d
-3ef498d8ff923f1f91c0be6606da6dc1
-34c5a11fc7d4a5ba70472f98e43c2f7b
-7f0e1ffc3c4e3aa21bce804fd15cca1c
-da76374e9095cdeb3bc95d3f9444f47e
-f0dee836be39db7440b3c6ca4671afba
-645a3f6129b1db41e986d94c7c6df03b
-09300ce54fbae580ca496975bc3746af
-65721cae6209d5ce50b17b06a9d693c8
-b0038c2e9e9e01bf6883aaffc7726dec
-18e9b196e808d2de844269b0608050d6
-e563825454806b0ef84cf92fc9f54bfe
-312f040493d0f7e4cc300bf70522e7bb
-f4b2951c999e85a0db42799cfac9cca9
-5dc63983b315585c8b68614c1837f358
-ab577e59aa6a91d46f3f0bbe4f8f52a0
-479b376dc5bc108efddb9139e3f48683
-5fac17e1a48c1e1b3b8a696cc9f8992d
-bef9fd06a052823abcfed2851cc2c505
-09682b791db555c9867dc750eee0dd92
-d9cb3599d16c4d197af9d1d54ad8fd0b
-d9f1f852cf0dc85f3f676a492bfa6165
-366d491706ad8ae5e726cedd3b08da77
-a2849d41666406842463e406210df7da
-63dc097352e3e637cc06b5682f781bd4
-bc8ac884c97864f3d00d51240eeb06e6
-7bc0f81018700689eecd45a4c70d4fae
-33a71e77fd62d81d0cf6bda304606919
-f32bd05330a93b0f95d88484908af7cd
-8c4d905dd7fc8e965713f04841654cf4
-33d7e3b19719f6b7386dae5bc2bfe881
-069e844b1ef6230502f21ab8305fce67
-801a4cfd4974f7267a8717faa7ec1dea
-69d1a0fc4115f3f2e1e7db00c9d9cc10
-79d62c23d99e920058aacfb3a71727c9
-4386f8f55928bf946715d475caee6329
-c2c9922ca2dae04985aa6488b87a7920
-c0362fd0f999083411a34554901f8bb2
-b6006163f03a93160879dcf4c930f769
-6bc51c74e5a48f55dfdd6ec832c729c4
-3f358f1893cfabdcd2020d8a1a2228d9
-0d58c1a1dc62d768bfce37629c0f13c1
-de66ee9f9d5373aa9ad259c8b3252909
-c4e752f1a4c371ed24c4432941a5c2ea
-778932a44e59ab759d8c5dc58f708242
-54ce309ae9d4180a5a0adfee5dbc9c09
-155a9f73f32ee6daf9c63e0051fdde6b
-4025eb29c97dff3a44272b80b59963f4
-7422ed91f76bf90e563c2002975632da
-2a852d35bd49b7615321116725a32d0a
-4b51d3d0f011b47d3f19e46dd1b525c6
-62b3f84c8ad8762800efd35e67b02870
-87483a3a842997956624542314accd89
-d16383146ca5f31899d0d67f70e0395f
-8beb021063ab267d37299fda68493ce7
-7c2861c7d3318a11232ce920b14b13ad
-1bf15129d5dfdf031921884175560813
-b122b76f62757700c94f364cffef4cb5
-89654021f6cec4d23a4c0f432d43eace
-3f8021e428a41481b6454621eefec06d
-44d7f6a4a01e1f06ae99751f9f82724f
-07e7463bc04afb99ca64f65065954c90
-c4c917cde83ed67e046cc3d88dbd662d
-50dd647fe2f8daac51b1e9fd82cd0c59
-6996c802026e01b31c2c5335ecbd189c
-facb55614a088253f7f523d6d866e0f3
-2be76a537c144f68b373a3994cd54c00
-1a1a5b5acf50e98b1b9e8b918842b06e
-0db736e817c45e4b653ed7f0c4e11962
-5bf01fad828b838eeb1ff1274d876ccf
-0fc2f4335bb190fa426abdb25de3da63
-76b18e07cfdc6b293d91bdddbb61ec44
-d0e138c4c80fa3915ba39b65512b799e
-2144a5cb38bfc3691e3f8320e206aa5a
-d11ec2aa70f7e58fc8f870d971352c79
-17997c047bf5a2f401df7b908e47d2d1
-85127ad7f64592b3e26cf0a1cdb2d890
-5caaff4022e4f11f7f3e90d9974e2532
-ab7193c2ed710ac8a0751b440e6448bc
-6f2f2a3608de8fb79dc3309bd175e8e4
-5a61579726264cc970497364cbbe191f
-013c4f7a6b922542ea633f095b62fa6d
-ce78937e0701406f642ebc3b9a29736b
-e982e60d843c27b4858de896fcd075f9
-8010f2cc72ba2554831348eebf6f8063
-898ca64355754b2739b197a12f81e72b
-b10bd7a27a36d90db7404079249a9f2a
-cc673e2f9e08dd4a5da13931fb12f256
-5a330e820ae46926566728f4abf6b87c
-cbd0dd745c96ded00ff4627ea09bf97e
-13a6d457cb091d0d9fe6deb410bc5d61
-d7fa1c426850c9fee843f26b8c77c2d3
-a604741ba924f4eafba8bd901b211f71
-9299b0abdee549d55201efb3cc2fedde
-f7a77b983776ec5eb3623476abffd222
-9b276abb98aab4679006837318f9c64f
-9c26edea8dc26d13e08a2cb4a4e4bd0f
-56509b48041cf2de19f95688c53411af
-bdf23fd1e120588501b012e7f58f2f4e
-c588a957d5c8aded27a80e61c10e6723
-88cd2ece9f5a8f40e20db49e2ee665cc
-81088b08083648a6389a885791999f80
-b45f5958a624def39c6bb1ac08c65605
-01bd47325d69032df808d77304ddb250
-3de24ffe65f69f32e2ffad7660f9da80
-894a41dc061257bff5d1dc01f0c53288
-52051634a70acb7576124d7a58a95109
-75972f135bc8352457e20a3a90a6a589
-c4a3008d30a7301cac9e9c62768fbed6
-a965aa510d98ccd2727739e7e0ad9baf
-fe789ea51ba9c2dfd89201957dbed4e8
-ac65a4908d1453f02099da5fe395b874
-dd97042c49e4d5e02543e6fec306dc1d
-fdf60f998f585cc0077642fce8d968d8
-686bc6f7a5ae6c0b24244514ba31bcb3
-82e8a11f78293cdef3aed1b409cc4341
-1cbb3fc50103062e3af258ca7fa76fef
-e79344cd8e4889cd96aae999ac7f1d92
-203e9fba5f417f6818ac5997dea57c36
-62d2dfb64abd0e990edacb7dd380789c
-b588fddddc8bdeacca65a3898ccc31c6
-0de848c93df70d3f8b4536daedb965e7
-cb672ab063522a764f14e9146d8b50f6
-c5e2f087d25d0a32f14e9e30cd42b3e5
-e81920116df890f329496f3374b2916a
-2a03fcb63f2fdac03e4efa49607d1204
-12fcc5b48205df7f6765200f134bed6b
-54be0d792fb11d71511a39b0981b8855
-f84aa178ad34aa06d9a1eb1560a51473
-7e754096ec34c6255fbadd10cc99271c
-d37e8a1c3ba5127e2f671f2af1b1c147
-6648d37231e0384b9e7673d05a71c805
-2d33995591700d28dab2a981d9aa1c1b
-938e810ff307c91e9c71db1951d626e2
-7197ab005cbf62eb87534e9565046c7e
-76c74a72f5c4423cdfe712b1e094c705
-6970e6209350fd4872f61232de6de4c4
-ff1e26affac06a63377cb299b139f051
-282c7b64cb49aa8d6d9b3902e858ee01
-364ded1ae5536a7de60c388631c62a7a
-33772fd38d48ab5e2af9da19ac0a57a2
-c3cd53f270b6f2c90cedef280393316a
-7fa3df3e898e84003370b7508fb1197f
-d482c8e2dbada445bc42b5acc7c19fb7
-2bb874c958b5920c5a30e64eb1f77977
-1e24628bf4267a0d4d70e90bc9cb8301
-c6ad085d3a908edfef296eff1d76d0f4
-a87ff6b28555da307ae1457566c7d54d
-2606de1537cc67239e7ea6e9c4f215ae
-1e78c6c735f345c69520f0ff2e041f2c
-07367b754860d1c176fd7b5cb7a530e0
-528567c7710daf2ff6129e64a8ebdb08
-a54f097f1361b635bde2320f39109fd9
-0944ed06737d5c875f60c54c4b232daa
-1878f76bfda90a8865095ea555b8dd45
-501e41071b2d775d2f5937e7eb6de26a
-0eb6cc9233a88feacb7ab28d21e87ae8
-7a39b11879c2cc4579e2a2c4ea67d122
-97f170e24df3a9fdd177843c3a02776c
-201e15125105249507addd3090967894
-c02dd79a529a7c6a1296309a47a2877a
-adc96507fd2c76221222b33b73dd9292
-46ffcbdae112435edb1e0b6f66859cbb
-696b64eca6825fd628f10a1263077bff
-813ef0bc04145562fb3d03a54b2f4b8e
-15605a3407c1551375476401e39e5342
-c8346e15ac6c745ca168f9223eff2439
-72209f28cedf359957667eb913f5c57d
-9d594e36709e5e9afca1eea8fbc26d50
-7e63eb5c61256ae7728685b7af74d9bc
-c683e12918f470c5778a69af6e9e55d6
-768cc7983d4944f46aa3541c7353c4d8
-a8c93832333f39e34b2e337e5e617953
-ca8258d669b07b992f04ac1d2e58db02
-c4a7d67e32d1a06621e19e721cfe972c
-54bacec5eae8c4a2bc1093794bce5e2c
-8a6d7f412dc7e53e3f0b025b7f073493
-8a9c2d66d8bb5e267fe5ad1e3ff83efa
-7be4b86f931da25073f5409b9885c376
-efe082b4afffc6e5ef3fdbfabcbe817f
-09c7aa151ecbb67865ecedbaf5c3f4ad
-d3ea9bd2f33e17e699517912322fe972
-b63d8a186e272754b70953ddd441e9fd
-84a112f819bf780dd268c68f21238374
-eab26f6455a08779bcb43bc48c02c717
-OUTPUT
-
-    $P1 = split "\n", output
-  loop:
-    if $I0 >= 200 goto end
-    $P0 = _md5sum($S0)
-    $S0 = _md5_hex($P0)
-    $S1 = shift $P1
-    is($S0, $S1, 'recursive md5 (1)')
-    inc $I0
-    branch loop
-  end:
-
-.end
-
-=begin bash
-
-test output created with:
-
-#!/bin/bash
-str=$1
-echo "$str"
-for i in $(seq 1 200); do
-    str=$(echo -n "$str$str" | md5sum | cut -d ' ' -f 1)
-    echo "$str"
-done
-
-=end bash
-
-=cut
-
-.sub test_recursive_md5_2
-    .local string output
-    .local pmc output_array
-    $S0 = "Hello World!"
-    $I0 = 0
-    output = <<'OUTPUT'
-ee41c968530f7715ab70805b341c3956
-9548194ce84b2f7953386080da112c3a
-9fb892cc0766429a1d8b0f752636c0fa
-2fe752de4df1987b5682806c3ef37c5a
-3030c16c1bac91e414f49394dbdd4f55
-49d17233607383b6a7de5596cbfa40eb
-1ef11b372f3d918c35901be67376207a
-37369890630daa6fa20bab9293b3349e
-1fe9a9f66fb556cccab339e684626a84
-5039c55c89342feda99186afbe03c33d
-52d20c3601d13cbb5caa9d26ab37723e
-daaf532ebbbb00724a6a79be0cab1bfe
-8c1e07121bd5e95013952fb5f55dd060
-fc4bc5ee4d3347de8b517c27c0a8eed1
-94d9d734e97421f64a71ec8d45781cdd
-4b6ecae770f66dbb02ff3a59d6eedeb3
-4ed31aa15d35ef52778508dc4cf7f84f
-e14fc1e6320fa34660b27ef86b15caac
-b79c5e129315c530b9b80a7c5a130c1b
-9c4db0bc1cba0bc7a31e59db901d1362
-75f5fcb94015872ca0c23bd5ed21c224
-d3cdb5b27a0185365b42fdebfc5a1e33
-98508cba7dfd5deeec4b8561c6bba42f
-c0b8211ff3cd39cbbd6436e02cfedbda
-783ed8f7d844efbc1c579b4b209360d9
-a2b5528f3e2c506632601ea51df56d4f
-2b46b6024f925419d79e6f86b33a3cf5
-0276b6ca7eef6549d42b476ac4d2b049
-e62ea2d5a6a7df48fe217909dc14a760
-b84fe25ba8510f8a20da5e073992f6f9
-0fb9bfff70bdd01b6e66f5864fb3c83f
-3b10269c809a34d5239a0387422f66bc
-3e0510deff0ef5e5b0dcbc0897d0622d
-4d7fb6d3a50095b746f293ebe55a0bcd
-cefd97e21fa803e960747a77e60fe39c
-d7aa1e54cd8f7305391a236d1e56db42
-3bbad66887cab24bb7e983bba3eac325
-046b89e3a25c8372973113ff82b21abe
-e4c174ab190ae7d59a2c9efa358ee60e
-965544e7ee1040a234423c7708c45fd4
-d92ed17d3817e51dac84e3bbd654f61c
-34d00ed230a1fe8ba612f134326f0032
-b8fe0ca50d70e605a0a65757affddf27
-8cb68a7e99ac140f570188e92d1d2e45
-6c45c11f3288af98126032b83454bdd7
-82a5e65630a6df3d3272c4d706642804
-17f51bff9ae985dee9547bbecef516a9
-ace5283938a1003cbe1a25e32cb10057
-364c61ec3fa510a2fdea988a04700ee2
-de47aab46499b65cb73137c5ef161b28
-877d37e40be25eff0e5a34f8701e9ff0
-b2ba5696640f6c9d49ace67dbf178003
-c38f63c86d919b38ceb8eb3bdae39f35
-2ec338a2045b0d7a90ad279afd45eaee
-05587d4ce4269f05c7e99e8bc790fed4
-79e8bb5b94e687127b53f70eee64f403
-1ff5dbd7c303f5ecb688cbc64e7a135f
-07cfb35560313b13c83b34fa57076f14
-5b562211545af5a95a873a5d8e3b9a6d
-b08cf4400af1f8f13864da377fa97bff
-bb706135638a8d77ea2c1ef5a5539bf7
-6e08ae82fc5fbf55855602751b2d2c42
-384b9112e19f5eaf187287e4dcee75e3
-599ce20a11961b6e322106fed1b1f2e0
-0e28143d15e6203ee316ed4c0558ff7a
-4687a81afe698c362b3b3bb14d6c8ba9
-419468fd66d946a0c892fa49106519ef
-bb1b91d55152ba71777846fc2d4ebdf1
-b405a24631d8fcd03eeed4249e9e1094
-7be108fc15f3520b4ac637bd35597c95
-8109f5a7ada16a51a9b6f1544ea85ea8
-977433a6b14e766c41fa394007022096
-124991f749a3f57bec7a72491349d2ab
-8c671f8ebd350e9f79f127dd1c2dd048
-f0ec2da36ad8cb2a0634fb2f70986c73
-84a19613368ed9db0f3a42306872e29b
-7b2f70096518e2d1d1a78e2c03065a69
-9d150b414105e1289819df8efa567020
-bb23274b2905ad3b623ccef55f75a468
-4a75965a2b7f36e835201f3bfea10275
-e22f29c343270f374c97687f3b7b0b66
-2c55a15b3b9f3a97e114788ab26ce25e
-a47134ba65aac9d0247b883e1ae387a2
-367996de14121db2b8acc08b4716d125
-ff7ff06cc7a6b12411d0f12dba779a13
-f02344372ed7545d6dece5235c67327d
-177a0082d277eb5efb6611a8fcaebf60
-c9cef0b43563e9e12db3fe7b8a963a83
-628867de0dcffae9f9435e0ea934769a
-2a5389f9e88440e2e10b1ee61c476c9a
-00ccb3071dc68daf6073d47453184ac7
-70c89453989edb537bead30e83315166
-2798118ce1c06a07989d89ab576a0b10
-405ecd4ba790ebf79c7ee0eac3302430
-ed76f9555303667976542e6481e6b6de
-1aaac64d40d418414d5cc45e179998d2
-725f3969179a13a88bd4710a68c7125a
-cfdb37edcb3dfb65833e024b5190ac3d
-bc33bcccad3bc958254cb5c9c24021e9
-332b640f26b61dd553eeec4368e66ec2
-d901771fd533f45aa9f8e6a89cdc50fd
-a8b7c7a75da36a48cb521ba6c47b3d5d
-0df89d833f2cfc704a54048a4fc25aa1
-d0fdba931c657ae40db6de92fd1ad46f
-3372e1f3859eb3133cbfb3ad4eb7ec87
-58c050421e7063a3f228d8469a593706
-e0efb8a7318d6aa3f4bb5504014169bd
-bb76e71f387e28233023f6fcb363e77d
-8708a28d0a12f36b8c814e1b23ae7d18
-e4a2db9c1eb240a29519d47231a281b2
-c1dccedeee5db48a8b850d4168f263b2
-8b6540063c1867930ad609f78550ab45
-61c8de37be3d7487e576a14ce519e402
-4c39d3f4b7c5261b8b69278cd01cf61e
-24b233c65768eafb144ffe4b237b2cda
-624a97bd2d8d7945f0c79f660db79a6f
-023eb3047f11a098e94c9b2f4dc395ad
-77c08226ccc5722b777d79a2dacad01b
-4ada0a4ed2a378da6ab3e36397ed933f
-8e55ecd7bea4c69dd5411bed4f6af7a0
-5890e55ed991429e062ed9bba2434fa2
-6f29cdee26d8f59e399c75adc3ca963e
-6f95058ad5897aac4c2c4e0a3447fddd
-76a4b0b68df0015d5032f710a89b1989
-553ea59edaec8245ca0b15f7f07d87c2
-0ac57da5cd62c875b635d67c518d6972
-a2216e7284bcf53f33da68b34170d869
-08e4982dc84b56ad28948f0dd901bc05
-d392a218b0f43a64489056256f969771
-cd5543ca0553ee65d8b6d3404bf8b4ff
-caeffa85a366f9bdd250cf1ecf3521ec
-9a31f0f5b2f3e7e923bcc963502faf77
-6ba7674cd36efbbbbcedab61d0cfdd95
-df70da7d729efa4bcf037e0c2ed5aa0a
-c69a07323e7105f3bbec3c287176c832
-718f43dc297883de170d6e202dde9304
-586ca71bfc8346b5d66613eb61a62392
-220be4284d452c8205cf7767b774391c
-54c9fc8f87b97a365834939ae4f047c6
-baa53a78af5b174a674d0aecebcaf61c
-897cdb62345099a3ce61c79148232d6b
-b27b90a56eb999ed1b4f8f1fe20a03b8
-bc37714ce2429460f363dfeb9e0fe130
-451ce3e7aeb0fe575fd81acb9310c075
-fc5223fd5a7457467413ef308484d3c7
-18e58dd646ded1f8d973c0622c291ea8
-1a34942df9b6b4c37d8694dd623cf4ed
-1e540d9eb73f6a77135965f7ac52705f
-01e6c944693e1ab23f176770948b63f3
-440ad0e977d7b29240fc25645d271679
-22c32fa8419ce0e9016e12f1cf9bd087
-2fe03c2d4eab897c3ee7bc1ba687c1ca
-9d7a2b063f7c375ea2528cd3c130a3c5
-30318b3885c6f8e529d47e855a147753
-09bbb9619dfd40414219a61fb5cb3f97
-49f70a0b8dc368699e5509acc86067e8
-1a3f2f5ac50b11d0f1441542f4103cdb
-f62c4148d6a1a0d8bfc0830d92ed6ff8
-c5868b2705f5a6c4e09b27e0c5e02fc4
-d7611c94b236170077a9ccc3aed12b68
-88fbb89660b33af29c0235c16e649d14
-060054d8da83373e890586474bb0b844
-ea0460399040570c24228aeba16ea548
-e012db2951dacbc563fd1009908e26f7
-9624f225fce79c7641f9fddedf1bb0e8
-a13457b3b70f0377f93293ed26686b48
-8c7f01c853c9f01248975e0c5838be36
-f214e4e994f5d43e6d0b66d7c83909f7
-31e1ef44d59205f8b70aa51247c4da5a
-ee2f5bbb91dcb60545ed43b27ecf69b4
-83f8f26970509c1f7958c42d3f4666c8
-beb27e4616ed743cbde0e90e8fcedd85
-64193d5ebb92c2a6e259818ee1a7b3cd
-f36944249177ec4130719fd368eaf134
-dfda44c7e068eb7d51f5925c4cbe4e3d
-4f84611f754fbe80ba73cb278e6878e0
-2bd7d30e73cb7a41842ca84782cfd3e6
-c5532ffacc9cb4118b9dfcb6df5c92f1
-d599e219cb43d15cd5a762052f71ab31
-39a83debb4728212bc99b52375b2e6fe
-773e28213d42e67a28d30509bb270741
-36622bbee96e8d25d0a99f3d8e123b56
-740495ae233ac2cc700183c550f871c3
-0b34a880f5b434f40b5c777286dd9846
-ae9773b3bc76125b06c0a6a441ec2ddc
-39eaf3f8c28604aa5003f525ac900aac
-c3c96034913b7b16451760c7cb707017
-e696e2429c1c0ad48d68d5f8ccbf1d82
-b45bc13eeb6ed7998fa94b676318fef1
-16d61b48946c94a1b9a1cb7261ab812d
-029bb7d6bf6b4c1eeb59c13543be7992
-1840f1eb4b6516c1eb302d1b175070c5
-a83c6cd9e67c60b5e745e40eb2d3b00f
-6a7b7139dacfba962b392dfa5a9169a6
-746d6f9a4c02bf3fcb1997a1d947a260
-f67fa138069da8fce68c131106492372
-614def545c4a4ecba07bf62966f0cc0b
-982d93d2437c46edbf99f542900231c0
-8408bf5f0144309374e66278bec290b2
-982e0fde28cd2f62ef8db2d8dfd0f0d7
-OUTPUT
-
-    output_array = split "\n", output
-  loop:
-    if $I0 >= 200 goto end
-    $S0 = clone $S0
-    $S0 = concat $S0, $S0
-    $P0 = _md5sum($S0)
-    $S0 = _md5_hex($P0)
-    $S1 = shift output_array
-    is($S0, $S1, 'recursive md5 (2)')
-    inc $I0
-    branch loop
-  end:
-
-.end
-
-# Local Variables:
-#   mode: pir
-#   fill-column: 100
-# End:
-# vim: expandtab shiftwidth=4 ft=pir:

Deleted: trunk/t/steps/auto/crypto-01.t
==============================================================================
--- trunk/t/steps/auto/crypto-01.t	Tue Apr 20 18:39:13 2010	(r45825)
+++ /dev/null	00:00:00 1970	(deleted)
@@ -1,176 +0,0 @@
-#! perl
-# Copyright (C) 2008, Parrot Foundation.
-# $Id$
-
-use strict;
-use warnings;
-use Test::More tests =>  24;
-use Carp;
-use lib qw( lib t/configure/testlib );
-use_ok('config::auto::crypto');
-use Parrot::Configure::Options qw( process_options );
-use Parrot::Configure::Step::Test;
-use Parrot::Configure::Test qw(
-    test_step_constructor_and_description
-);
-use IO::CaptureOutput qw( capture );
-
-########## --without-crypto ##########
-
-my ($args, $step_list_ref) = process_options(
-    {
-        argv => [ q{--without-crypto} ],
-        mode => q{configure},
-    }
-);
-
-my $conf = Parrot::Configure::Step::Test->new;
-$conf->include_config_results( $args );
-
-my $pkg = q{auto::crypto};
-
-$conf->add_steps($pkg);
-
-my $serialized = $conf->pcfreeze();
-
-$conf->options->set( %{$args} );
-my $step = test_step_constructor_and_description($conf);
-my $ret = $step->runstep($conf);
-ok( $ret, "runstep() returned true value" );
-is($conf->data->get('has_crypto'), 0,
-    "Got expected value for 'has_crypto'");
-is($step->result(), q{no}, "Expected result was set");
-
-$conf->replenish($serialized);
-
-########## _select_lib() ##########
-
-($args, $step_list_ref) = process_options( {
-    argv => [ ],
-    mode => q{configure},
-} );
-$conf->options->set( %{$args} );
-$step = test_step_constructor_and_description($conf);
-# Mock different OS/compiler combinations.
-my ($osname, $cc, $initial_libs);
-$initial_libs = $conf->data->get('libs');
-$osname = 'mswin32';
-$cc = 'gcc';
-is($step->_select_lib( {
-    conf            => $conf,
-    osname          => $osname,
-    cc              => $cc,
-    win32_nongcc    => 'libcrypto.lib',
-    default         => '-lcrypto',
-} ),
-   '-lcrypto',
-   "_select_lib() returned expected value");
-
-$osname = 'mswin32';
-$cc = 'cc';
-is($step->_select_lib( {
-    conf            => $conf,
-    osname          => $osname,
-    cc              => $cc,
-    win32_nongcc    => 'libcrypto.lib',
-    default         => '-lcrypto',
-} ),
-   'libcrypto.lib',
-   "_select_lib() returned expected value");
-
-$osname = 'foobar';
-$cc = 'cc';
-is($step->_select_lib( {
-    conf            => $conf,
-    osname          => $osname,
-    cc              => $cc,
-    win32_nongcc    => 'libcrypto.lib',
-    default         => '-lcrypto',
-} ),
-   '-lcrypto',
-   "_select_lib() returned expected value");
-
-my $verbose = undef;
-
-$conf->replenish($serialized);
-
-########## --without-crypto; _evaluate_cc_run() ##########
-
-($args, $step_list_ref) = process_options( {
-    argv => [ q{--without-crypto} ],
-    mode => q{configure},
-} );
-$conf->options->set( %{$args} );
-$step = test_step_constructor_and_description($conf);
-my ($test, $has_crypto);
-$test = qq{OpenSSL 0.9.9z\n};
-$has_crypto = 0;
-$verbose = undef;
-$has_crypto = $step->_evaluate_cc_run($conf, $test, $has_crypto, $verbose);
-is($has_crypto, 1, "'has_crypto' set as expected");
-is($step->result(), 'yes, 0.9.9z', "Expected result was set");
-# Prepare for next test
-$step->set_result(undef);
-
-$test = qq{foobar};
-$has_crypto = 0;
-$verbose = undef;
-$has_crypto = $step->_evaluate_cc_run($conf, $test, $has_crypto, $verbose);
-is($has_crypto, 0, "'has_crypto' set as expected");
-ok(! defined $step->result(), "Result is undefined, as expected");
-
-{
-    my $stdout;
-    $test = qq{OpenSSL 0.9.9z\n};
-    $has_crypto = 0;
-    $verbose = 1;
-    capture(
-        sub { $has_crypto =
-            $step->_evaluate_cc_run($conf, $test, $has_crypto, $verbose); },
-        \$stdout,
-    );
-    is($has_crypto, 1, "'has_crypto' set as expected");
-    is($step->result(), 'yes, 0.9.9z', "Expected result was set");
-    like($stdout, qr/\(yes\)/, "Got expected verbose output");
-    # Prepare for next test
-    $step->set_result(undef);
-}
-
-pass("Completed all tests in $0");
-
-################### DOCUMENTATION ###################
-
-=head1 NAME
-
-auto/crypto-01.t - test auto::crypto
-
-=head1 SYNOPSIS
-
-    % prove t/steps/auto/crypto-01.t
-
-=head1 DESCRIPTION
-
-The files in this directory test functionality used by F<Configure.pl>.
-
-The tests in this file test auto::crypto.
-
-=head1 HISTORY
-
-Mostly taken from F<t/steps/auto/gdbm-01.t>.
-
-=head1 AUTHOR
-
-Francois Perrad
-
-=head1 SEE ALSO
-
-config::auto::crypto, F<Configure.pl>.
-
-=cut
-
-# Local Variables:
-#   mode: cperl
-#   cperl-indent-level: 4
-#   fill-column: 100
-# End:
-# vim: expandtab shiftwidth=4:

Deleted: trunk/t/steps/auto/gdbm-01.t
==============================================================================
--- trunk/t/steps/auto/gdbm-01.t	Tue Apr 20 18:39:13 2010	(r45825)
+++ /dev/null	00:00:00 1970	(deleted)
@@ -1,175 +0,0 @@
-#! perl
-# Copyright (C) 2007, Parrot Foundation.
-# $Id$
-# auto/gdbm-01.t
-
-use strict;
-use warnings;
-use Test::More tests =>  29;
-use Carp;
-use Cwd;
-use File::Spec;
-use File::Temp qw( tempdir );
-use lib qw( lib t/configure/testlib );
-use_ok('config::auto::gdbm');
-use Parrot::Configure::Options qw( process_options );
-use Parrot::Configure::Step::Test;
-use Parrot::Configure::Test qw(
-    test_step_constructor_and_description
-);
-use IO::CaptureOutput qw| capture |;
-
-=for hints_for_testing The documentation for this package is skimpy;
-please try to improve it, e.g., by providing a short description of what
-the 'gdbm' is.  Some branches are compiler- or OS-specific.  As noted in
-a comment in the module, please consider the issues raised in
-http://rt.perl.org/rt3/Ticket/Display.html?id=43134.
-
-=cut
-
-########## --without-gdbm  ##########
-
-my ($args, $step_list_ref) = process_options( {
-    argv => [ q{--without-gdbm} ],
-    mode => q{configure},
-} );
-
-my $conf = Parrot::Configure::Step::Test->new;
-$conf->include_config_results( $args );
-
-my $serialized = $conf->pcfreeze();
-
-my $pkg = q{auto::gdbm};
-
-$conf->add_steps($pkg);
-$conf->options->set( %{$args} );
-my $step = test_step_constructor_and_description($conf);
-my $ret = $step->runstep($conf);
-ok( $ret, "runstep() returned true value" );
-is($conf->data->get('has_gdbm'), 0,
-    "Got expected value for 'has_gdbm'");
-is($step->result(), q{no}, "Expected result was set");
-
-$conf->replenish($serialized);
-
-########## --without-gdbm ##########
-
-($args, $step_list_ref) = process_options( {
-    argv => [ q{--without-gdbm} ],
-    mode => q{configure},
-} );
-$conf->add_steps($pkg);
-$conf->options->set( %{$args} );
-$step = test_step_constructor_and_description($conf);
-my $osname;
-my ($flagsbefore, $flagsafter);
-$osname = 'foobar';
-my $cwd = cwd();
-{
-    my $tdir = tempdir( CLEANUP => 1 );
-    ok(chdir $tdir, "Able to change to temporary directory");
-    ok( (mkdir 'lib'), "Able to make lib directory");
-    ok( (mkdir 'include'), "Able to make include directory");
-    my $libdir = File::Spec->catdir( $tdir, 'lib' );
-    my $includedir = File::Spec->catdir( $tdir, 'include' );
-    $conf->data->set('fink_lib_dir' => $libdir);
-    $conf->data->set('fink_include_dir' => $includedir);
-
-    ok(chdir $cwd, "Able to change back to original directory after testing");
-}
-{
-    my $tdir2 = tempdir( CLEANUP => 1 );
-    ok(chdir $tdir2, "Able to change to temporary directory");
-    ok( (mkdir 'lib'), "Able to make lib directory");
-    ok( (mkdir 'include'), "Able to make include directory");
-    my $libdir = File::Spec->catdir( $tdir2, 'lib' );
-    my $includedir = File::Spec->catdir( $tdir2, 'include' );
-    $conf->data->set('fink_lib_dir' => $libdir);
-    $conf->data->set('fink_include_dir' => $includedir);
-    my $foo = File::Spec->catfile( $includedir, 'gdbm.h' );
-    open my $FH, ">", $foo or croak "Could not open for writing";
-    print $FH "Hello world\n";
-    close $FH or croak "Could not close after writing";
-
-    ok(chdir $cwd, "Able to change back to original directory after testing");
-}
-
-$conf->replenish($serialized);
-
-########## --without-gdbm; _evaluate_cc_run() ##########
-
-($args, $step_list_ref) = process_options( {
-    argv => [ q{--without-gdbm} ],
-    mode => q{configure},
-} );
-$conf->add_steps($pkg);
-$conf->options->set( %{$args} );
-$step = test_step_constructor_and_description($conf);
-my ($test, $has_gdbm, $verbose);
-$test = qq{gdbm is working.\n};
-$has_gdbm = 0;
-$verbose = undef;
-$has_gdbm = $step->_evaluate_cc_run($test, $has_gdbm, $verbose);
-is($has_gdbm, 1, "'has_gdbm' set as expected");
-is($step->result(), 'yes', "Expected result was set");
-# Prepare for next test
-$step->set_result(undef);
-$test = qq{foobar};
-$has_gdbm = 0;
-$verbose = undef;
-$has_gdbm = $step->_evaluate_cc_run($test, $has_gdbm, $verbose);
-is($has_gdbm, 0, "'has_gdbm' set as expected");
-ok(! defined $step->result(), "Result is undefined, as expected");
-{
-    my $stdout;
-    $test = qq{gdbm is working.\n};
-    $has_gdbm = 0;
-    $verbose = 1;
-    capture(
-        sub { $has_gdbm =
-            $step->_evaluate_cc_run($test, $has_gdbm, $verbose); },
-        \$stdout,
-    );
-    is($has_gdbm, 1, "'has_gdbm' set as expected");
-    is($step->result(), 'yes', "Expected result was set");
-    like($stdout, qr/\(yes\)/, "Got expected verbose output");
-    # Prepare for next test
-    $step->set_result(undef);
-}
-
-$conf->replenish($serialized);
-
-pass("Completed all tests in $0");
-
-################### DOCUMENTATION ###################
-
-=head1 NAME
-
-auto/gdbm-01.t - test auto::gdbm
-
-=head1 SYNOPSIS
-
-    % prove t/steps/auto/gdbm-01.t
-
-=head1 DESCRIPTION
-
-The files in this directory test functionality used by F<Configure.pl>.
-
-The tests in this file test auto::gdbm.
-
-=head1 AUTHOR
-
-James E Keenan
-
-=head1 SEE ALSO
-
-config::auto::gdbm, F<Configure.pl>.
-
-=cut
-
-# Local Variables:
-#   mode: cperl
-#   cperl-indent-level: 4
-#   fill-column: 100
-# End:
-# vim: expandtab shiftwidth=4:

Modified: trunk/tools/dev/mk_inno.pl
==============================================================================
--- trunk/tools/dev/mk_inno.pl	Tue Apr 20 18:09:53 2010	(r45825)
+++ trunk/tools/dev/mk_inno.pl	Tue Apr 20 18:39:13 2010	(r45826)
@@ -34,7 +34,6 @@
 } if ($PConfig{has_icu});
 
 my %dll = (
-    has_gdbm     => [ 'gdbm3.dll' ],
     HAS_GETTEXT  => [ 'libintl3.dll', 'libiconv2.dll' ],
     HAS_PCRE     => [ 'pcre3.dll' ],
     HAS_READLINE => [ 'readline5.dll' ],


More information about the parrot-commits mailing list