@@ -153,8 +153,7 @@ def v(*args):
153
153
"experimental LLVM targets to build" )
154
154
v ("release-channel" , "rust.channel" , "the name of the release channel to build" )
155
155
v ("release-description" , "rust.description" , "optional descriptive string for version output" )
156
- v ("dist-compression-formats" , None ,
157
- "comma-separated list of compression formats to use" )
156
+ v ("dist-compression-formats" , None , "List of compression formats to use" )
158
157
159
158
# Used on systems where "cc" is unavailable
160
159
v ("default-linker" , "rust.default-linker" , "the default linker" )
@@ -168,8 +167,8 @@ def v(*args):
168
167
v ("tools" , None , "List of extended tools will be installed" )
169
168
v ("codegen-backends" , None , "List of codegen backends to build" )
170
169
v ("build" , "build.build" , "GNUs ./configure syntax LLVM build triple" )
171
- v ("host" , None , "GNUs ./configure syntax LLVM host triples" )
172
- v ("target" , None , "GNUs ./configure syntax LLVM target triples" )
170
+ v ("host" , None , "List of GNUs ./configure syntax LLVM host triples" )
171
+ v ("target" , None , "List of GNUs ./configure syntax LLVM target triples" )
173
172
174
173
v ("set" , None , "set arbitrary key/value pairs in TOML configuration" )
175
174
@@ -182,6 +181,11 @@ def err(msg):
182
181
print ("configure: error: " + msg )
183
182
sys .exit (1 )
184
183
184
+ def is_value_list (key ):
185
+ for option in options :
186
+ if option .name == key and option .desc .startswith ('List of' ):
187
+ return True
188
+ return False
185
189
186
190
if '--help' in sys .argv or '-h' in sys .argv :
187
191
print ('Usage: ./configure [options]' )
@@ -295,6 +299,8 @@ def set(key, value, config):
295
299
parts = key .split ('.' )
296
300
for i , part in enumerate (parts ):
297
301
if i == len (parts ) - 1 :
302
+ if is_value_list (part ) and isinstance (value , str ):
303
+ value = value .split (',' )
298
304
arr [part ] = value
299
305
else :
300
306
if part not in arr :
0 commit comments