[svn:parrot] r42824 - trunk/runtime/parrot/library
fperrad at svn.parrot.org
fperrad at svn.parrot.org
Mon Nov 30 12:50:32 UTC 2009
Author: fperrad
Date: Mon Nov 30 12:50:26 2009
New Revision: 42824
URL: https://trac.parrot.org/parrot/changeset/42824
Log:
[distutils] handles options from command line
Modified:
trunk/runtime/parrot/library/distutils.pir
Modified: trunk/runtime/parrot/library/distutils.pir
==============================================================================
--- trunk/runtime/parrot/library/distutils.pir Mon Nov 30 11:01:14 2009 (r42823)
+++ trunk/runtime/parrot/library/distutils.pir Mon Nov 30 12:50:26 2009 (r42824)
@@ -21,7 +21,7 @@
=begin perl
pir::load_bytecode('distutils.pir');
- setup(
+ setup( @ARGS,
... many key/values here ...
);
@@ -238,23 +238,40 @@
.sub 'setup'
.param pmc args :slurpy
.param pmc kv :slurpy :named
+ .local pmc steps
+ steps = new 'ResizableStringArray'
$P0 = iter args
- if $P0 goto L1
- # default step
- run_step('build', kv :flat :named)
- goto L2
L1:
- $P0 = iter args
- L3:
unless $P0 goto L2
- .local string cmd
- cmd = shift $P0
- $I0 = run_step(cmd, kv :flat :named)
- if $I0 goto L3
+ $S0 = shift $P0
+ $S1 = substr $S0, 0, 2
+ unless $S1 == '--' goto L3
+ $S1 = substr $S0, 2
+ $S2 = shift $P0
+ print $S1
+ print "="
+ say $S2
+ kv[$S1] = $S2
+ goto L1
+ L3:
+ push steps, $S0
+ goto L1
+ L2:
+
+ $P0 = iter steps
+ if $P0 goto L11
+ # default step
+ run_step('build', kv :flat :named)
+ goto L12
+ L11:
+ unless $P0 goto L12
+ $S0 = shift $P0
+ $I0 = run_step($S0, kv :flat :named)
+ if $I0 goto L11
print "unknown target : "
- say cmd
+ say $S0
run_step('usage')
- L2:
+ L12:
.end
=item run_step
@@ -345,7 +362,7 @@
.param pmc kv :slurpy :named
.local string msg
msg = <<'USAGE'
-usage: parrot setup.pir [target]*
+usage: parrot setup.pir [target|--key value]*
Default targets are :
@@ -2409,17 +2426,7 @@
L1:
.local string version
- $I0 = time
- $P1 = decodetime $I0
- $P2 = new 'FixedIntegerArray'
- set $P2, 3
- $I0 = $P1[.TM_YEAR]
- $P2[0] = $I0
- $I0 = $P1[.TM_MON]
- $P2[1] = $I0
- $I0 = $P1[.TM_MDAY]
- $P2[2] = $I0
- version = sprintf "%04d%02d%02d", $P2
+ version = 'HEAD'
$I0 = exists kv['version']
unless $I0 goto L2
version = kv['version']
More information about the parrot-commits
mailing list