Author: jhoblitt
Date: Sun Nov 13 20:34:37 2005
New Revision: 9964

Modified:
   trunk/config/init/data.pm
Log:
don't bypass Parrot::Configure::Data's interface
style cleanup


Modified: trunk/config/init/data.pm
==============================================================================
--- trunk/config/init/data.pm   (original)
+++ trunk/config/init/data.pm   Sun Nov 13 20:34:37 2005
@@ -14,166 +14,177 @@ Sets up the configuration system's defau
 package Configure::Step;
 
 use strict;
-use vars qw($description @args %c);
+use vars qw($description @args);
 
 use Parrot::Configure::Data;
 use Parrot::Configure::Step;
 
-$description="Setting up Configure's data structures...";
+$description="Setting up Configure's default values...";
 
 @args=('debugging', 'optimize', 'profile', 'verbose', 'prefix');
 
 sub runstep {
-  my ($debugging, $optimize, $profile,  $verbose, $prefix) = @_;
+    my ($debugging, $optimize, $profile,  $verbose, $prefix) = @_;
 
-  use Config;
-  use FindBin; # see build_dir
+    use Config;
+    use FindBin; # see build_dir
 
-  # We need a Glossary somewhere!
+    # We need a Glossary somewhere!
 
-  *c = \%Parrot::Configure::Data::c;
-
-  (%c)=(
-    debugging     => $debugging ? 1 : 0,
-    # A plain --optimize means use perl5's $Config{optimize}.  If an argument 
is
-    # given, however, use that instead.  This logic really belongs in the 
optimize
-    # unit.
-    optimize      => $optimize ? ($optimize eq "1" ? ($Config{optimize} || 
"1") : $optimize) : '',
-    verbose       => $verbose,
-
-    build_dir     => $FindBin::Bin,
-
-    # Compiler -- used to turn .c files into object files.
-    # (Usually cc or cl, or something like that.)
-    cc            => $Config{cc},
-    ccflags       => $Config{ccflags},
-    ccwarn        => exists($Config{ccwarn}) ? $Config{ccwarn} : '',
-    # Flags used to indicate this object file is to be compiled
-    # with position-independent code suitable for dynamic loading.
-    cc_shared => $Config{cccdlflags}, # e.g. -fpic for GNU cc.
-
-    # C++ compiler -- used to compile parts of ICU.  ICU's configure
-    # will try to find a suitable compiler, but it prefers GNU c++ over
-    # a system c++, which might not be appropriate.  This setting
-    # allows you to override ICU's guess, but is otherwise currently
-    # unset.  Ultimately, it should be set to whatever ICU figures
-    # out, or parrot should look for it and always tell ICU what to
-    # use.
-    cxx            => '',
-
-    # Linker, used to link object files (plus libraries) into
-    # an executable.  It is usually $cc on Unix-ish systems.
-    # VMS and Win32 might use "Link".
-    # Perl5's Configure doesn't distinguish linking from loading, so
-    # make a reasonable guess at defaults.
-    link          => $Config{cc},
-    linkflags     => $Config{ldflags},
-    # Linker Flags to have this binary work with the shared and dynamically 
-    # loadable libraries we're building.  On HP-UX, for example, we need to
-    # allow dynamic libraries to access the binary's symbols
-    link_dynamic  => $Config{ccdlflags}, # e.g. -Wl,-E on HP-UX
-
-    # ld: Tool used to build shared libraries and dynamically loadable
-    # modules. Often $cc on Unix-ish systems, but apparently sometimes
-    # it's ld.
-    ld            => $Config{ld},
-    ldflags       => $Config{ldflags},
-
-    # Some operating systems (e.g. Darwin) distinguish between shared 
libraries and
-    # modules that can be dynamically loaded.
-    # Flags to tell ld to build a shared library, e.g.  -shared for GNU ld.
-    ld_share_flags => $Config{lddlflags},
+    Parrot::Configure::Data->set(
+        debugging     => $debugging ? 1 : 0,
+        # A plain --optimize means use perl5's $Config{optimize}.  If an
+        # argument is given, however, use that instead.  This logic really
+        # belongs in the optimize unit.
+        optimize      => $optimize ? ($optimize eq "1" ? ($Config{optimize} || 
"1") : $optimize) : '',
+        verbose       => $verbose,
+
+        build_dir     => $FindBin::Bin,
+
+        # Compiler -- used to turn .c files into object files.
+        # (Usually cc or cl, or something like that.)
+        cc            => $Config{cc},
+        ccflags       => $Config{ccflags},
+        ccwarn        => exists($Config{ccwarn}) ? $Config{ccwarn} : '',
+        # Flags used to indicate this object file is to be compiled
+        # with position-independent code suitable for dynamic loading.
+        cc_shared => $Config{cccdlflags}, # e.g. -fpic for GNU cc.
+
+        # C++ compiler -- used to compile parts of ICU.  ICU's configure
+        # will try to find a suitable compiler, but it prefers GNU c++ over
+        # a system c++, which might not be appropriate.  This setting
+        # allows you to override ICU's guess, but is otherwise currently
+        # unset.  Ultimately, it should be set to whatever ICU figures
+        # out, or parrot should look for it and always tell ICU what to
+        # use.
+        cxx            => '',
+
+        # Linker, used to link object files (plus libraries) into
+        # an executable.  It is usually $cc on Unix-ish systems.
+        # VMS and Win32 might use "Link".
+        # Perl5's Configure doesn't distinguish linking from loading, so
+        # make a reasonable guess at defaults.
+        link          => $Config{cc},
+        linkflags     => $Config{ldflags},
+        # Linker Flags to have this binary work with the shared and 
dynamically 
+        # loadable libraries we're building.  On HP-UX, for example, we need to
+        # allow dynamic libraries to access the binary's symbols
+        link_dynamic  => $Config{ccdlflags}, # e.g. -Wl,-E on HP-UX
+
+        # ld: Tool used to build shared libraries and dynamically loadable
+        # modules. Often $cc on Unix-ish systems, but apparently sometimes
+        # it's ld.
+        ld            => $Config{ld},
+        ldflags       => $Config{ldflags},
+
+        # Some operating systems (e.g. Darwin) distinguish between shared
+        # libraries and modules that can be dynamically loaded.  Flags to tell
+        # ld to build a shared library, e.g.  -shared for GNU ld.
+        ld_share_flags => $Config{lddlflags},
     
-    # These relate to building of dynclasses.
-    cc_building_dynclass_flag => '',
+        # These relate to building of dynclasses.
+        cc_building_dynclass_flag => '',
     
-    # Flags to tell ld to build a dynamically loadable module, e.g.  -shared 
for GNU ld.
-    # Also some platforms (Win32) need to generate and pass the linker an 
export list.
-    # Dynamically loadable modules
-    ld_load_flags       => $Config{lddlflags},
-    parrot_exe_def      => '',
-    ld_parrot_exe_def   => '',
-
-    libs          => $Config{libs},
-
-    cc_inc       => "-I./include",
-    cc_debug      => '-g',
-    link_debug    => '',
-
-    o             => $Config{_o},         # object files extension
-    share_ext     => ".$Config{so}",      # shared library extension
-    load_ext      => ".$Config{so}",      # dynamically loadable module 
extension
-    a             => $Config{_a},         # library or archive extension
-    exe           => $Config{_exe},       # executable files extension
-    cc_o_out      => '-o ',               # cc object output file
-    cc_exe_out    => '-o ',               # cc executable output file 
(different on Win32)
-
-    cc_ldflags    => '',                  # prefix for ldflags (necessary for 
Win32)
-
-    ld_out        => '-o ',               # ld output file.  Keep the trailing 
space.
-    ld_debug      => '',                  # include debug info in executable
-
-    # should we have a dependancy upon arc to generate .a's?
-    blib_lib_libparrot_a => 'blib/lib/libparrot$(A)',
-
-    perl          => $^X,
-    test_prog     => 'parrot',
-    rm_f          => '$(PERL) -MExtUtils::Command -e rm_f',
-    rm_rf         => '$(PERL) -MExtUtils::Command -e rm_rf',
-    ar            => $Config{ar},
-    ar_flags      => 'cr',
-    ar_out        => '',                  # for Win32
-    ar_extra      => '',                  # for Borland C
-    ranlib        => $Config{ranlib},
-    rpath         => '-Wl,-rpath=',
-    make          => $Config{make},
-    make_set_make => $Config{make_set_make},
-    make_and      => '&&',
-    # make_c: Command to emulate GNU make's C<-C directory> option:  chdir
-    # to C<directory> before executing $(MAKE)
-    make_c        => '$(PERL) -e \'chdir shift @ARGV; system q{$(MAKE)}, 
@ARGV; exit $$? >> 8;\'',
-
-    platform_asm  => 0,                   # if platform has a .s file that 
needs to be assembled
-    as            => 'as',                # assembler
-
-    cp            => '$(PERL) -MExtUtils::Command -e cp',
-    lns           => $Config{lns},        # soft link
-    slash         => '/',
-
-    VERSION       => $main::parrot_version,
-    MAJOR         => $main::parrot_version[0],
-    MINOR         => $main::parrot_version[1],
-    PATCH         => $main::parrot_version[2],
-    DEVEL         => (-e 'DEVELOPING' ? '-devel' : ''),
-
-    configdate    => scalar localtime,
-    PQ            => "'",
-    dquote        => "\\\"",
-
-    # yacc = Automatic parser generator
-    # lex  = Automatic lexer  generator
-    # Some systems may lack these
-    yacc          => 'bison -v -y',
-    lex           => 'flex',
-
-    icu_make      => '# Building of ICU disabled',
-    buildicu      => 0,
-
-    # Extra flags needed for libnci_test.so
-    ncilib_link_extra => '',           
-
-  );
-
-  $prefix = "/usr/local/parrot-$c{VERSION}$c{DEVEL}" unless defined $prefix;
-  $c{prefix} = $prefix;
-
-  # add profiling if needed
-  # FIXME gcc syntax
-  # we should have this in the hints files e.g. cc_profile
-  if ($profile) {
-    $c{cc_debug} .= " -pg ";
-    $c{ld_debug} .= " -pg ";
-  }
+        # Flags to tell ld to build a dynamically loadable module, e.g.
+        # -shared for GNU ld.  Also some platforms (Win32) need to generate and
+        # pass the linker an export list.  Dynamically loadable modules
+        ld_load_flags       => $Config{lddlflags},
+        parrot_exe_def      => '',
+        ld_parrot_exe_def   => '',
+
+        libs          => $Config{libs},
+
+        cc_inc   => "-I./include",
+        cc_debug      => '-g',
+        link_debug    => '',
+
+        o             => $Config{_o},         # object files extension
+        share_ext     => ".$Config{so}",      # shared library extension
+        # dynamically loadable module extension
+        load_ext      => ".$Config{so}",
+        a             => $Config{_a},         # library or archive extension
+        exe           => $Config{_exe},       # executable files extension
+        cc_o_out      => '-o ',               # cc object output file
+        # cc executable output file (different on Win32)
+        cc_exe_out    => '-o ',
+
+        # prefix for ldflags (necessary for Win32)
+        cc_ldflags    => '', 
+
+        # ld output file.  Keep the trailing space.
+        ld_out        => '-o ',
+        # include debug info in executable
+        ld_debug      => '',
+
+        # should we have a dependancy upon arc to generate .a's?
+        blib_lib_libparrot_a => 'blib/lib/libparrot$(A)',
+
+        perl          => $^X,
+        test_prog     => 'parrot',
+        rm_f          => '$(PERL) -MExtUtils::Command -e rm_f',
+        rm_rf         => '$(PERL) -MExtUtils::Command -e rm_rf',
+        ar            => $Config{ar},
+        ar_flags      => 'cr',
+        ar_out        => '',                  # for Win32
+        ar_extra      => '',                  # for Borland C
+        ranlib        => $Config{ranlib},
+        rpath         => '-Wl,-rpath=',
+        make          => $Config{make},
+        make_set_make => $Config{make_set_make},
+        make_and      => '&&',
+        # make_c: Command to emulate GNU make's C<-C directory> option:  chdir
+        # to C<directory> before executing $(MAKE)
+        make_c        => '$(PERL) -e \'chdir shift @ARGV; system q{$(MAKE)}, 
@ARGV; exit $$? >> 8;\'',
+
+        # if platform has a .s file that needs to be assembled
+        platform_asm  => 0, 
+        as            => 'as',                # assembler
+
+        cp            => '$(PERL) -MExtUtils::Command -e cp',
+        lns           => $Config{lns},        # soft link
+        slash         => '/',
+
+        VERSION       => $main::parrot_version,
+        MAJOR         => $main::parrot_version[0],
+        MINOR         => $main::parrot_version[1],
+        PATCH         => $main::parrot_version[2],
+        DEVEL         => (-e 'DEVELOPING' ? '-devel' : ''),
+
+        configdate    => scalar localtime,
+        PQ            => "'",
+        dquote        => "\\\"",
+
+        # yacc = Automatic parser generator
+        # lex  = Automatic lexer  generator
+        # Some systems may lack these
+        yacc          => 'bison -v -y',
+        lex           => 'flex',
+
+        icu_make      => '# Building of ICU disabled',
+        buildicu      => 0,
+
+        # Extra flags needed for libnci_test.so
+        ncilib_link_extra => '',           
+
+    );
+
+    unless (defined $prefix) {
+        my $VERSION   = Parrot::Configure::Data->get('VERSION'); 
+        my $DEVEL     = Parrot::Configure::Data->get('DEVEL');
+        $prefix = "/usr/local/parrot-${VERSION}${DEVEL}";
+    }
+    Parrot::Configure::Data->set(prefix => $prefix);
+
+    # add profiling if needed
+    # FIXME gcc syntax
+    # we should have this in the hints files e.g. cc_profile
+    # FIXME move profiling to it's own step 
+    if ($profile) {
+        Parrot::Configure::Data->set(
+            cc_debug => " -pg ",
+            ld_debug => " -pg ",
+        );
+    }
 }
 
 1;

Reply via email to