Author: jkeenan
Date: Mon Nov 19 19:49:25 2007
New Revision: 22902

Added:
   branches/nointer/lib/Parrot/Configure/Initialize/Miniparrot.pm   (contents, 
props changed)
   branches/nointer/t/configure/063-initialize.t   (contents, props changed)
   branches/nointer/t/configure/064-initialize.t   (contents, props changed)
Modified:
   branches/nointer/MANIFEST
   branches/nointer/lib/Parrot/Configure/Initialize.pm
   branches/nointer/lib/Parrot/Configure/Initialize/Install.pm
   branches/nointer/t/configure/062-initialize.t

Log:
First draft of Parrot::Configure::Initialize::Miniparrot, intended to replace
config::init::miniparrot.  Corresponding test files.


Modified: branches/nointer/MANIFEST
==============================================================================
--- branches/nointer/MANIFEST   (original)
+++ branches/nointer/MANIFEST   Mon Nov 19 19:49:25 2007
@@ -1,7 +1,7 @@
 # ex: set ro:
 # $Id$
 #
-# generated by tools/dev/mk_manifest_and_skip.pl Mon Nov 19 13:18:48 2007 UT
+# generated by tools/dev/mk_manifest_and_skip.pl Tue Nov 20 03:47:43 2007 UT
 #
 # See tools/dev/install_files.pl for documentation on the
 # format of this file.
@@ -2364,6 +2364,7 @@
 lib/Parrot/Configure/Initialize.pm                          [devel]
 lib/Parrot/Configure/Initialize/Defaults.pm                 [devel]
 lib/Parrot/Configure/Initialize/Install.pm                  [devel]
+lib/Parrot/Configure/Initialize/Miniparrot.pm               [devel]
 lib/Parrot/Configure/Interactive.pm                         [devel]
 lib/Parrot/Configure/Messages.pm                            [devel]
 lib/Parrot/Configure/Options.pm                             [devel]
@@ -3001,6 +3002,8 @@
 t/configure/060-initialize.t                                []
 t/configure/061-initialize.t                                []
 t/configure/062-initialize.t                                []
+t/configure/063-initialize.t                                []
+t/configure/064-initialize.t                                []
 t/configure/101-init_manifest-01.t                          []
 t/configure/101-init_manifest-02.t                          []
 t/configure/102-init_defaults-01.t                          []

Modified: branches/nointer/lib/Parrot/Configure/Initialize.pm
==============================================================================
--- branches/nointer/lib/Parrot/Configure/Initialize.pm (original)
+++ branches/nointer/lib/Parrot/Configure/Initialize.pm Mon Nov 19 19:49:25 2007
@@ -27,6 +27,7 @@
     my $self = shift;
     $self->init_defaults();
     $self->init_install();
+    $self->init_miniparrot();
 }
 
 1;

Modified: branches/nointer/lib/Parrot/Configure/Initialize/Install.pm
==============================================================================
--- branches/nointer/lib/Parrot/Configure/Initialize/Install.pm (original)
+++ branches/nointer/lib/Parrot/Configure/Initialize/Install.pm Mon Nov 19 
19:49:25 2007
@@ -11,7 +11,7 @@
     my $self = shift;
     my $prefix = $self->{options}->{prefix} || "/usr/local";
     $prefix =~ s{/\z}{};
-    my $ep = $self->{options}->{exec-prefix};
+    my $ep = $self->{options}->{'exec-prefix'};
     $ep =~ s{/\z}{} if defined $ep;
     my $eprefix = $ep ? $ep : $prefix;
 

Added: branches/nointer/lib/Parrot/Configure/Initialize/Miniparrot.pm
==============================================================================
--- (empty file)
+++ branches/nointer/lib/Parrot/Configure/Initialize/Miniparrot.pm      Mon Nov 
19 19:49:25 2007
@@ -0,0 +1,106 @@
+# Copyright (C) 2001-2006, The Perl Foundation.
+# $Id$
+package Parrot::Configure::Initialize::Miniparrot;
+use strict;
+use warnings;
+use lib ( "./lib" );
+
+################### SUBROUTINES ###################
+
+sub init_miniparrot {
+    my $self = shift;
+    unless ( $self->{options}->{miniparrot} ) {
+        return 1;
+    }
+
+    $self->{miniparrot}         = 1;
+    $self->{DEVEL}              = $self->{DEVEL} . '-miniparrot';
+    $self->{TEMP_cg_h}          = '';
+    $self->{TEMP_cg_c}          = '';
+    $self->{TEMP_cg_o}          = '';
+    $self->{TEMP_cg_r}          = '';
+    $self->{cg_flag}            = '';
+    $self->{archname}           = 'miniparrot';
+    $self->{cpuarch}            = 'unknown';
+    $self->{osname}             = 'ANSI';
+    $self->{jitarchname}        = 'nojit';
+    $self->{jitcpuarch}         = 'i386';
+    $self->{jitcpu}             = 'I386';
+    $self->{jitosname}          = 'nojit';
+    $self->{jitcapable}         = 0;
+    $self->{execcapable}        = 0;
+    $self->{cc_hasjit}          = '';
+    $self->{TEMP_jit_o}         = '';
+    $self->{TEMP_exec_h}        = '';
+    $self->{TEMP_exec_o}        = '';
+    $self->{TEMP_atomic_o}      = '';
+    $self->{asmfun_o}           = '';
+    $self->{has___sighandler_t} = undef;
+    $self->{has_sigatomic_t}    = undef;
+    $self->{has_sigaction}      = undef;
+    $self->{has_setitimer}      = undef;
+
+    # we can't guarantee anything about pointer alignment under ANSI C89.
+    # so we will have to check every byte.
+    $self->{ptr_alignment}      = 1;
+    #Allow ANSI headers only
+    foreach ( qw|
+        assert
+        complex
+        ctype
+        errno
+        locale
+        math
+        setjmp
+        signal
+        stdarg
+        stdio
+        stdlib
+        string
+        time
+    | )
+    {
+        $self->{"i_$_"} = 1;
+    }
+}
+
+1;
+
+#################### DOCUMENTATION ####################
+
+=head1 NAME
+
+Parrot::Configure::Initialize::Miniparrot - Miniparrot configuration
+
+=head1 SYNOPSIS
+
+    use Parrot::Configure::Initialize::Miniparrot;
+
+=head1 DESCRIPTION
+
+Modifies settings to match miniparrot (ANSI C Parrot)'s needs.  This step
+primarily overwrites a lot of settings in the Configure database to disable
+JIT and match ANSI characteristics.
+
+Centralizing these settings will (hopefully) allow for an eventual move away
+from using Configure at all for miniparrot builds.
+
+=head1 SUBROUTINES
+
+=head1 NOTES
+
+The functionality in this package was transferred from the former
+C<init::miniparrot> configuration steps by Jim Keenan.
+
+=head1 SEE ALSO
+
+F<Configure.pl>.  Parrot::Configure.  Parrot::Configure::Initialize.
+
+=cut
+
+# Local Variables:
+#   mode: cperl
+#   cperl-indent-level: 4
+#   fill-column: 100
+# End:
+# vim: expandtab shiftwidth=4:

Modified: branches/nointer/t/configure/062-initialize.t
==============================================================================
--- branches/nointer/t/configure/062-initialize.t       (original)
+++ branches/nointer/t/configure/062-initialize.t       Mon Nov 19 19:49:25 2007
@@ -6,7 +6,7 @@
 use strict;
 use warnings;
 
-use Test::More qw(no_plan); # tests => 12;
+use Test::More tests => 19;
 use Carp;
 use Cwd;
 use File::Temp qw(tempdir);
@@ -36,45 +36,32 @@
     ok(defined $init,
         "Parrot::Configure::Initialize returned defined value");
     isa_ok($init, "Parrot::Configure::Initialize");
+    ok($init->init_install(), 'init_install() completed okay');
+
+    is( $init->{prefix},         $tdir,  "--prefix option confirmed" );
+    is( $init->{exec_prefix},    $tdir,  "--exec-prefix option confirmed" );
+    is( $init->{bindir},         $tdir1, "--bindir option confirmed" );
+    is( $init->{sbindir},        $tdir1, "--sbindir option confirmed" );
+    is( $init->{libexecdir},     $tdir1, "--libexecdir option confirmed" );
+    is( $init->{datadir},        $tdir1, "--datadir option confirmed" );
+    is( $init->{doc_dir},        qq{$tdir1/doc/parrot}, "--datadir option 
confirmed" );
+    is( $init->{sysconfdir},     $tdir1, "--syscondir option confirmed" );
+    is( $init->{sharedstatedir}, $tdir1, "--sharedstatedir option confirmed" );
+    is( $init->{localstatedir},  $tdir1, "--localstatedir option confirmed" );
+    is( $init->{libdir},         $tdir1, "--libdir option confirmed" );
+    is( $init->{includedir},     $tdir1, "--includedir option confirmed" );
+    is( $init->{oldincludedir},  $tdir1, "--oldincludedir option confirmed" );
+    is( $init->{infodir},        $tdir1, "--infodir option confirmed" );
+    is( $init->{mandir},         $tdir1, "--mandir option confirmed" );
 }
 
-#my $args = process_options(
-#    {
-#        argv => [q{--debugging=0}, q{--profile}, q{--m=32}],
-#        mode => q{configure},
-#    }
-#);
-#ok($init->init_defaults(), 'init_defaults() completed okay');
-#
-## Next 3 tests cheat by breaking encapsulation.
-#is($init->{debugging}, 0, "Got expected value for 'debugging'");
-#is($init->{cc_debug}, q{ -pg }, "Got expected value for 'cc_debug'");
-#is($init->{options}->{m}, 32, "Got expected value for 'm'");
-#
-#    my $conf = Parrot::Configure->new;
-#    test_step_thru_runstep( $conf, q{init::install}, $args );
-#
-#    is( $conf->data->get('prefix'),         $tdir,  "--prefix option 
confirmed" );
-#    is( $conf->data->get('exec_prefix'),    $tdir,  "--exec-prefix option 
confirmed" );
-#    is( $conf->data->get('bindir'),         $tdir1, "--bindir option 
confirmed" );
-#    is( $conf->data->get('sbindir'),        $tdir1, "--sbindir option 
confirmed" );
-#    is( $conf->data->get('libexecdir'),     $tdir1, "--libexecdir option 
confirmed" );
-#    is( $conf->data->get('datadir'),        $tdir1, "--datadir option 
confirmed" );
-#    is( $conf->data->get('sharedstatedir'), $tdir1, "--sharedstatedir option 
confirmed" );
-#    is( $conf->data->get('localstatedir'),  $tdir1, "--localstatedir option 
confirmed" );
-#    is( $conf->data->get('libdir'),         $tdir1, "--libdir option 
confirmed" );
-#    is( $conf->data->get('includedir'),     $tdir1, "--includedir option 
confirmed" );
-#    is( $conf->data->get('oldincludedir'),  $tdir1, "--oldincludedir option 
confirmed" );
-#    is( $conf->data->get('infodir'),        $tdir1, "--infodir option 
confirmed" );
-#    is( $conf->data->get('mandir'),         $tdir1, "--mandir option 
confirmed" );
-#}
 pass("Completed all tests in $0");
 
 ################### DOCUMENTATION ###################
 
 =head1 NAME
 
-062-initialize.t - Test Parrot::Configure::Initialize.
+062-initialize.t - Test Parrot::Configure::Initialize
 
 =head1 SYNOPSIS
 
@@ -84,7 +71,7 @@
 
 The files in this directory test functionality used by F<Configure.pl>.
 
-The tests in this file test Parrot::Configure::Initialize::Defaults in the
+The tests in this file test Parrot::Configure::Initialize::Install in the
 case where command-line options have been provided.
 
 =head1 AUTHOR

Added: branches/nointer/t/configure/063-initialize.t
==============================================================================
--- (empty file)
+++ branches/nointer/t/configure/063-initialize.t       Mon Nov 19 19:49:25 2007
@@ -0,0 +1,99 @@
+#! perl
+# Copyright (C) 2007, The Perl Foundation.
+# $Id$
+# 063-initialize.t
+
+use strict;
+use warnings;
+
+use Test::More tests => 19;
+use Carp;
+use Cwd;
+use File::Temp qw(tempdir);
+use lib qw( lib t/configure/testlib );
+use Parrot::Configure::Options qw( process_options );
+use Parrot::Configure::Initialize;
+
+my $cwd = cwd();
+{
+    my $tdir      = tempdir();
+    my $tdir_orig = $tdir;
+    $tdir .= q{/};
+    my $tdir1 = tempdir();
+    my $args  = process_options(
+        {
+            argv => [
+                qq{--prefix=$tdir},         qq{--exec-prefix=$tdir},
+                qq{--bindir=$tdir1},        qq{--sbindir=$tdir1},
+                qq{--libexecdir=$tdir1},    qq{--datadir=$tdir1},
+                qq{--sysconfdir=$tdir1},    qq{--sharedstatedir=$tdir1},
+                qq{--localstatedir=$tdir1}, qq{--libdir=$tdir1},
+                qq{--includedir=$tdir1},    qq{--oldincludedir=$tdir1},
+                qq{--infodir=$tdir1},       qq{--mandir=$tdir1},
+            ],
+            mode => q{configure},
+        }
+    );
+    my $init = Parrot::Configure::Initialize->new($args);
+    ok(defined $init,
+        "Parrot::Configure::Initialize returned defined value");
+    isa_ok($init, "Parrot::Configure::Initialize");
+    ok($init->init_install(), 'init_install() completed okay');
+
+    is( $init->{prefix},
+        $tdir_orig, "--prefix option confirmed; trailing slash stripped" );
+    is( $init->{exec_prefix},
+        $tdir_orig, "--exec-prefix option confirmed; trailing slash stripped" 
);
+    is( $init->{bindir},         $tdir1, "--bindir option confirmed" );
+    is( $init->{sbindir},        $tdir1, "--sbindir option confirmed" );
+    is( $init->{libexecdir},     $tdir1, "--libexecdir option confirmed" );
+    is( $init->{datadir},        $tdir1, "--datadir option confirmed" );
+    is( $init->{doc_dir},        qq{$tdir1/doc/parrot}, "--datadir option 
confirmed" );
+    is( $init->{sysconfdir},     $tdir1, "--syscondir option confirmed" );
+    is( $init->{sharedstatedir}, $tdir1, "--sharedstatedir option confirmed" );
+    is( $init->{localstatedir},  $tdir1, "--localstatedir option confirmed" );
+    is( $init->{libdir},         $tdir1, "--libdir option confirmed" );
+    is( $init->{includedir},     $tdir1, "--includedir option confirmed" );
+    is( $init->{oldincludedir},  $tdir1, "--oldincludedir option confirmed" );
+    is( $init->{infodir},        $tdir1, "--infodir option confirmed" );
+    is( $init->{mandir},         $tdir1, "--mandir option confirmed" );
+}
+
+pass("Completed all tests in $0");
+
+################### DOCUMENTATION ###################
+
+=head1 NAME
+
+063-initialize.t - Test Parrot::Configure::Initialize
+
+=head1 SYNOPSIS
+
+    % prove t/configure/063-initialize.t
+
+=head1 DESCRIPTION
+
+The files in this directory test functionality used by F<Configure.pl>.
+
+The tests in this file test Parrot::Configure::Initialize::Install and
+demonstrates the stripping of the trailing slash in two attributes.
+
+=head1 AUTHOR
+
+James E Keenan
+
+=head1 SEE ALSO
+
+Parrot::Configure, Parrot::Configure::Initialize,
+Parrot::Configure::Initialize::Defaults, F<Configure.pl>.
+
+=cut
+
+# Local Variables:
+#   mode: cperl
+#   cperl-indent-level: 4
+#   fill-column: 100
+# End:
+# vim: expandtab shiftwidth=4:
+
+

Added: branches/nointer/t/configure/064-initialize.t
==============================================================================
--- (empty file)
+++ branches/nointer/t/configure/064-initialize.t       Mon Nov 19 19:49:25 2007
@@ -0,0 +1,98 @@
+#! perl
+# Copyright (C) 2007, The Perl Foundation.
+# $Id$
+# 064-initialize.t
+
+use strict;
+use warnings;
+
+use Test::More tests => 19;
+use Carp;
+use Cwd;
+use File::Temp qw(tempdir);
+use lib qw( lib t/configure/testlib );
+use Parrot::Configure::Options qw( process_options );
+use Parrot::Configure::Initialize;
+
+my $cwd = cwd();
+my $args  = process_options(
+    {
+        argv =>[],
+        mode => q{configure},
+    }
+);
+my $init = Parrot::Configure::Initialize->new($args);
+ok(defined $init,
+    "Parrot::Configure::Initialize returned defined value");
+isa_ok($init, "Parrot::Configure::Initialize");
+ok($init->init_install(), 'init_install() completed okay');
+
+is( $init->{prefix},         qq{/usr/local},
+    "--prefix option confirmed" );
+is( $init->{exec_prefix},    qq{/usr/local},
+    "--exec-prefix option confirmed" );
+is( $init->{bindir},         qq{/usr/local/bin},
+    "--bindir option confirmed" );
+is( $init->{sbindir},        qq{/usr/local/sbin},
+    "--sbindir option confirmed" );
+is( $init->{libexecdir},     qq{/usr/local/libexec},
+    "--libexecdir option confirmed" );
+is( $init->{datadir},        qq{/usr/local/share},
+    "--datadir option confirmed" );
+is( $init->{doc_dir},        qq{/usr/local/share/doc/parrot},
+    "--doc_dir option confirmed" );
+is( $init->{sysconfdir},     qq{/usr/local/etc},
+    "--sysconfdir option confirmed" );
+is( $init->{sharedstatedir}, qq{/usr/local/com},
+    "--sharedstatedir option confirmed" );
+is( $init->{localstatedir},  qq{/usr/local/var},
+    "--localstatedir option confirmed" );
+is( $init->{libdir},         qq{/usr/local/lib},
+    "--libdir option confirmed" );
+is( $init->{includedir},     qq{/usr/local/include},
+    "--includedir option confirmed" );
+is( $init->{oldincludedir},  qq{/usr/include},
+    "--oldincludedir option confirmed" );
+is( $init->{infodir},        qq{/usr/local/info},
+    "--infodir option confirmed" );
+is( $init->{mandir},         qq{/usr/local/man},
+    "--mandir option confirmed" );
+
+pass("Completed all tests in $0");
+
+################### DOCUMENTATION ###################
+
+=head1 NAME
+
+064-initialize.t - Test Parrot::Configure::Initialize
+
+=head1 SYNOPSIS
+
+    % prove t/configure/064-initialize.t
+
+=head1 DESCRIPTION
+
+The files in this directory test functionality used by F<Configure.pl>.
+
+The tests in this file test Parrot::Configure::Initialize::Install in the
+case where no command-line options have been provided.
+
+=head1 AUTHOR
+
+James E Keenan
+
+=head1 SEE ALSO
+
+Parrot::Configure, Parrot::Configure::Initialize,
+Parrot::Configure::Initialize::Defaults, F<Configure.pl>.
+
+=cut
+
+# Local Variables:
+#   mode: cperl
+#   cperl-indent-level: 4
+#   fill-column: 100
+# End:
+# vim: expandtab shiftwidth=4:
+
+

Reply via email to