bin/meson-cmd-extract: Also handle cross and native files
authorDylan Baker <dylan@pnwbakers.com>
Wed, 16 Jan 2019 22:51:38 +0000 (14:51 -0800)
committerDylan Baker <dylan@pnwbakers.com>
Fri, 18 Jan 2019 17:37:01 +0000 (09:37 -0800)
Native file support in command line serialization isn't present in meson
0.49, but will be for 0.49.1 and 0.50

Reviewed-by: Eric Engestrom <eric.engestrom@intel.com>
bin/meson-cmd-extract.py

index 61d6b406fbb743e06d3cba39761627a144bdfd2d..b630885ed79cd0fc4eebd0183f2d9b89c0a87494 100755 (executable)
@@ -26,6 +26,7 @@ This only works for meson 0.49.0 and newer.
 """
 
 import argparse
+import ast
 import configparser
 import pathlib
 import sys
@@ -57,6 +58,16 @@ def build_cmd(conf: configparser.ConfigParser) -> str:
             args.append(f'-D{k}="{v}"')
         else:
             args.append(f'-D{k}={v}')
+
+    cf = conf['properties'].get('cross_file')
+    if cf:
+        args.append('--cross-file={}'.format(cf))
+    nf = conf['properties'].get('native_file')
+    if nf:
+        # this will be in the form "['str', 'str']", so use ast.literal_eval to
+        # convert it to a list of strings.
+        nf = ast.literal_eval(nf)
+        args.extend(['--native-file={}'.format(f) for f in nf])
     return ' '.join(args)