[svn:parrot] r49433 - in trunk: . config/gen/makefiles config/init config/init/hints config/inter lib/Parrot/Configure/Options lib/Parrot/Configure/Options/Conf

plobsing at svn.parrot.org plobsing at svn.parrot.org
Mon Oct 4 03:19:12 UTC 2010


Author: plobsing
Date: Mon Oct  4 03:19:11 2010
New Revision: 49433
URL: https://trac.parrot.org/parrot/changeset/49433

Log:
add --ar and --arflags options to Configure.pl

Modified:
   trunk/Configure.pl
   trunk/config/gen/makefiles/root.in
   trunk/config/init/defaults.pm
   trunk/config/init/hints/mswin32.pm
   trunk/config/inter/progs.pm
   trunk/lib/Parrot/Configure/Options/Conf.pm
   trunk/lib/Parrot/Configure/Options/Conf/Shared.pm

Modified: trunk/Configure.pl
==============================================================================
--- trunk/Configure.pl	Sun Oct  3 19:08:09 2010	(r49432)
+++ trunk/Configure.pl	Mon Oct  4 03:19:11 2010	(r49433)
@@ -285,6 +285,14 @@
 
 Use the given linker flags
 
+=item C<--ar=(archiver)>
+
+Specify which librarian to use for static libraries
+
+=item C<--arflags=(flags)>
+
+Use the given librarian flags for static libraris
+
 =item C<--ld=(linker)>
 
 Specify which loader to use for shared libraries.

Modified: trunk/config/gen/makefiles/root.in
==============================================================================
--- trunk/config/gen/makefiles/root.in	Sun Oct  3 19:08:09 2010	(r49432)
+++ trunk/config/gen/makefiles/root.in	Mon Oct  4 03:19:11 2010	(r49433)
@@ -79,7 +79,7 @@
 RM_F             = @rm_f@
 RM_RF            = @rm_rf@
 TOUCH            = @touch@
-AR_CR            = @ar@ @ar_flags@
+AR_CR            = @ar@ @arflags@
 RANLIB           = @ranlib@
 YACC             = @yacc@
 LEX              = @lex@

Modified: trunk/config/init/defaults.pm
==============================================================================
--- trunk/config/init/defaults.pm	Sun Oct  3 19:08:09 2010	(r49432)
+++ trunk/config/init/defaults.pm	Mon Oct  4 03:19:11 2010	(r49433)
@@ -197,7 +197,7 @@
         touch     => '$(PERL) -MExtUtils::Command -e touch',
 
         ar        => $Config{ar},
-        ar_flags  => 'cr',
+        arflags   => 'cr',
 
         # for Win32
         ar_out => '',

Modified: trunk/config/init/hints/mswin32.pm
==============================================================================
--- trunk/config/init/hints/mswin32.pm	Sun Oct  3 19:08:09 2010	(r49432)
+++ trunk/config/init/hints/mswin32.pm	Mon Oct  4 03:19:11 2010	(r49433)
@@ -99,7 +99,7 @@
             libparrot_static    => 'libparrot' . $conf->data->get('a'),
             libparrot_shared    => "libparrot$share_ext",
             ar                  => 'lib',
-            ar_flags            => '',
+            arflags             => '',
             ar_out              => '-out:',
             slash               => '\\',
             ccflags             => $ccflags,
@@ -150,7 +150,7 @@
             ld_out              => '-out:',
             ldflags             => '-nologo -nodefaultlib',
             ar                  => 'xilib',
-            ar_flags            => '',
+            arflags             => '',
             ar_out              => '-out:',
             slash               => '\\',
             ccflags             => $ccflags,
@@ -195,7 +195,7 @@
             linkflags => '',
 
             ar       => 'tlib /a /P128',
-            ar_flags => '',
+            arflags  => '',
             ar_out   => '',
             ar_extra => '',
             slash    => '\\',

Modified: trunk/config/inter/progs.pm
==============================================================================
--- trunk/config/inter/progs.pm	Sun Oct  3 19:08:09 2010	(r49432)
+++ trunk/config/inter/progs.pm	Mon Oct  4 03:19:11 2010	(r49433)
@@ -75,7 +75,7 @@
     my ($conf, $ask) = @_;
     # Set each variable individually so that hints files can use them as
     # triggers to help pick the correct defaults for later answers.
-    my ( $cc, $link, $ld, $ccflags, $linkflags, $ldflags, $libs, $lex, $yacc );
+    my ( $cc, $link, $ld, $ccflags, $linkflags, $ar, $arflags, $ldflags, $libs, $lex, $yacc );
     $cc = integrate( $conf->data->get('cc'), $conf->options->get('cc') );
     $cc = prompt( "What C compiler do you want to use?", $cc )
         if $ask;
@@ -102,6 +102,16 @@
 
     $conf->debug("\nccflags: $ccflags\n");
 
+    $ar = integrate( $conf->data->get('ar'), $conf->options->get('ar') );
+    $ar = promt( "What archiver do you want to use to build static libraries?", $ar ) if $ask;
+    $conf->data->set( ar => $ar );
+
+    $arflags = integrate( $conf->data->get('arflags'), $conf->options->get('arflags') );
+    $arflags = prompt( "What flags should your archiver receive to create static libraries?",
+                $arflags) if $ask;
+    $conf->data->set( arflags => $arflags );
+
+
     $linkflags = $conf->data->get('linkflags');
     # Remove the path to the Perl library (from Win32 config).
     # See TT #854.

Modified: trunk/lib/Parrot/Configure/Options/Conf.pm
==============================================================================
--- trunk/lib/Parrot/Configure/Options/Conf.pm	Sun Oct  3 19:08:09 2010	(r49432)
+++ trunk/lib/Parrot/Configure/Options/Conf.pm	Mon Oct  4 03:19:11 2010	(r49433)
@@ -72,6 +72,8 @@
    --libs=(libs)        Use the given libraries
    --link=(linker)      Use the given linker
    --linkflags=(flags)  Use the given linker flags
+   --ar=(archiver)      Use the given librarian for static libraries
+   --arflags=(flags)    Use the given flags for static libraries
    --ld=(linker)        Use the given loader for shared libraries
    --ldflags=(flags)    Use the given loader flags for shared libraries
    --lex=(lexer)        Use the given lexical analyzer generator

Modified: trunk/lib/Parrot/Configure/Options/Conf/Shared.pm
==============================================================================
--- trunk/lib/Parrot/Configure/Options/Conf/Shared.pm	Sun Oct  3 19:08:09 2010	(r49432)
+++ trunk/lib/Parrot/Configure/Options/Conf/Shared.pm	Mon Oct  4 03:19:11 2010	(r49433)
@@ -10,6 +10,8 @@
 );
 
 our @shared_valid_options = qw{
+    ar
+    arflags
     bindir
     cage
     cc


More information about the parrot-commits mailing list