summaryrefslogtreecommitdiff
path: root/instruby.rb
diff options
context:
space:
mode:
authorknu <knu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2003-01-27 19:48:02 +0000
committerknu <knu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2003-01-27 19:48:02 +0000
commit79862de36334225179ee4e462ccb982ea5250800 (patch)
tree9854926ca85dc7f9da2c468f6937713aa34474f3 /instruby.rb
parentf24b4d0532c94ded83219d03ab991267b4c81bab (diff)
* instruby.rb (parse_args), ext/extmk.rb (parse_args): Prepend a
hyphen to the first argument of MAKEFLAGS only if appropriate. Remove wrong comments. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3419 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'instruby.rb')
-rw-r--r--instruby.rb26
1 files changed, 9 insertions, 17 deletions
diff --git a/instruby.rb b/instruby.rb
index fc8639f..8311f9d 100644
--- a/instruby.rb
+++ b/instruby.rb
@@ -19,29 +19,21 @@ def parse_args()
$dryrun = $OPT['n']
$destdir = $OPT['dest-dir'] || ''
$make = $OPT['make'] || $make || 'make'
- make_flags = ($OPT['make-flags'] || '').strip
- mflags = ($OPT['mflags'] || '').strip
- $mantype = $OPT["mantype"]
-
- # BSD make defines both MFLAGS and MAKEFLAGS, and MAKEFLAGS it
- # defines includes a preceding '-' unlike other implementations.
- # So we use MFLAGS if defined, otherwise use ('-' + MAKEFLAGS).
- if mflags.empty?
- mflags = "-#{make_flags}" unless make_flags.empty?
- end
+ $mantype = $OPT['mantype']
+ mflags = ($OPT['make-flags'] || '').strip
+ mflags = ($OPT['mflags'] || '').strip if mflags.empty?
$mflags = Shellwords.shellwords(mflags)
+ if arg = $mflags.first
+ arg.insert(0, '-') if /\A[^-][^=]*\Z/ =~ arg
+ end
+
$make, *rest = Shellwords.shellwords($make)
$mflags.unshift(*rest) unless rest.empty?
def $mflags.set?(flag)
- # Only nmake puts flags together
- if /nmake/ =~ $make
- grep(/^-(?!-).*#{'%c' % flag}/i) { return true }
- false
- else
- include?('-%c' % flag)
- end
+ grep(/\A-(?!-).*#{'%c' % flag}/i) { return true }
+ false
end
if $mflags.set?(?n)