diff --git a/lib/curl_builder.rb b/lib/curl_builder.rb index 3b98375..ab44f49 100644 --- a/lib/curl_builder.rb +++ b/lib/curl_builder.rb @@ -90,7 +90,7 @@ def build_protocols(protocols) end def build_flags(flags) - flags.collect { |flag, enabled| enabled ? "--with-#{flag}" : "--without-#{flag}" } + flags.collect { |flag, enabled| enabled ? "--with-#{flag}#{"="+enabled if enabled!=true}" : "--without-#{flag}" } end def filter_valid_archs(archs) diff --git a/lib/curl_builder/parser.rb b/lib/curl_builder/parser.rb index 137dc1a..e526c33 100644 --- a/lib/curl_builder/parser.rb +++ b/lib/curl_builder/parser.rb @@ -85,6 +85,22 @@ def parse(args) end end + + flags_defalt = "" + flags.select { |k, value| value }.each do |flag| + flags_defalt += flag[0] + (flag[1].is_a?(String)? ("=" + flag[1].to_s): "") + "," + end + parser.on("--enable-flags A,B=string,C", + Array, + "Enables a list of flags with values", + " Defaults to " + flags_defalt) do |enabled| + enabled.each do |k| + flag = k.split("=") + flags[flag[0]] = flag[1]? flag[1] :true + end + end + + parser.on("--sdk-version SDK", "Use specific SDK version", " Defaults to #{param(setup[:sdk_version])}") do |sdk|