@@ -937,6 +937,23 @@ def __init__(self, compiler, env, subproject):
937
937
'symbols_have_underscore_prefix' : self .symbols_have_underscore_prefix_method ,
938
938
})
939
939
940
+ def _dep_msg (self , deps , endl ):
941
+ msg_single = 'with dependency {}'
942
+ msg_many = 'with dependencies {}'
943
+ if not deps :
944
+ return endl
945
+ if endl is None :
946
+ endl = ''
947
+ tpl = msg_many if len (deps ) > 1 else msg_single
948
+ names = []
949
+ for d in deps :
950
+ if isinstance (d , dependencies .ExternalLibrary ):
951
+ name = '-l' + d .name
952
+ else :
953
+ name = d .name
954
+ names .append (name )
955
+ return tpl .format (', ' .join (names )) + endl
956
+
940
957
@noPosargs
941
958
@permittedKwargs ({})
942
959
def version_method (self , args , kwargs ):
@@ -967,7 +984,7 @@ def determine_args(self, kwargs):
967
984
args += mesonlib .stringlistify (kwargs .get ('args' , []))
968
985
return args
969
986
970
- def determine_dependencies (self , kwargs ):
987
+ def determine_dependencies (self , kwargs , endl = ':' ):
971
988
deps = kwargs .get ('dependencies' , None )
972
989
if deps is not None :
973
990
deps = listify (deps )
@@ -981,7 +998,7 @@ def determine_dependencies(self, kwargs):
981
998
raise InterpreterException ('Dependencies must be external dependencies' )
982
999
final_deps .append (d )
983
1000
deps = final_deps
984
- return deps
1001
+ return deps , self . _dep_msg ( deps , endl )
985
1002
986
1003
@permittedKwargs ({
987
1004
'prefix' ,
@@ -997,9 +1014,9 @@ def alignment_method(self, args, kwargs):
997
1014
if not isinstance (prefix , str ):
998
1015
raise InterpreterException ('Prefix argument of sizeof must be a string.' )
999
1016
extra_args = mesonlib .stringlistify (kwargs .get ('args' , []))
1000
- deps = self .determine_dependencies (kwargs )
1017
+ deps , msg = self .determine_dependencies (kwargs )
1001
1018
result = self .compiler .alignment (typename , prefix , self .environment , extra_args , deps )
1002
- mlog .log ('Checking for alignment of' , mlog .bold (typename , True ), ':' , result )
1019
+ mlog .log ('Checking for alignment of' , mlog .bold (typename , True ), msg , result )
1003
1020
return result
1004
1021
1005
1022
@permittedKwargs ({
@@ -1022,7 +1039,7 @@ def run_method(self, args, kwargs):
1022
1039
if not isinstance (testname , str ):
1023
1040
raise InterpreterException ('Testname argument must be a string.' )
1024
1041
extra_args = self .determine_args (kwargs )
1025
- deps = self .determine_dependencies (kwargs )
1042
+ deps , msg = self .determine_dependencies (kwargs , endl = None )
1026
1043
result = self .compiler .run (code , self .environment , extra_args , deps )
1027
1044
if len (testname ) > 0 :
1028
1045
if not result .compiled :
@@ -1031,7 +1048,7 @@ def run_method(self, args, kwargs):
1031
1048
h = mlog .green ('YES' )
1032
1049
else :
1033
1050
h = mlog .red ('NO (%d)' % result .returncode )
1034
- mlog .log ('Checking if' , mlog .bold (testname , True ), 'runs:' , h )
1051
+ mlog .log ('Checking if' , mlog .bold (testname , True ), msg , 'runs:' , h )
1035
1052
return TryRunResultHolder (result )
1036
1053
1037
1054
@noPosargs
@@ -1077,15 +1094,15 @@ def has_member_method(self, args, kwargs):
1077
1094
if not isinstance (prefix , str ):
1078
1095
raise InterpreterException ('Prefix argument of has_member must be a string.' )
1079
1096
extra_args = self .determine_args (kwargs )
1080
- deps = self .determine_dependencies (kwargs )
1097
+ deps , msg = self .determine_dependencies (kwargs )
1081
1098
had = self .compiler .has_members (typename , [membername ], prefix ,
1082
1099
self .environment , extra_args , deps )
1083
1100
if had :
1084
1101
hadtxt = mlog .green ('YES' )
1085
1102
else :
1086
1103
hadtxt = mlog .red ('NO' )
1087
1104
mlog .log ('Checking whether type' , mlog .bold (typename , True ),
1088
- 'has member' , mlog .bold (membername , True ), ':' , hadtxt )
1105
+ 'has member' , mlog .bold (membername , True ), msg , hadtxt )
1089
1106
return had
1090
1107
1091
1108
@permittedKwargs ({
@@ -1105,7 +1122,7 @@ def has_members_method(self, args, kwargs):
1105
1122
if not isinstance (prefix , str ):
1106
1123
raise InterpreterException ('Prefix argument of has_members must be a string.' )
1107
1124
extra_args = self .determine_args (kwargs )
1108
- deps = self .determine_dependencies (kwargs )
1125
+ deps , msg = self .determine_dependencies (kwargs )
1109
1126
had = self .compiler .has_members (typename , membernames , prefix ,
1110
1127
self .environment , extra_args , deps )
1111
1128
if had :
@@ -1114,7 +1131,7 @@ def has_members_method(self, args, kwargs):
1114
1131
hadtxt = mlog .red ('NO' )
1115
1132
members = mlog .bold (', ' .join (['"{}"' .format (m ) for m in membernames ]))
1116
1133
mlog .log ('Checking whether type' , mlog .bold (typename , True ),
1117
- 'has members' , members , ':' , hadtxt )
1134
+ 'has members' , members , msg , hadtxt )
1118
1135
return had
1119
1136
1120
1137
@permittedKwargs ({
@@ -1133,13 +1150,13 @@ def has_function_method(self, args, kwargs):
1133
1150
if not isinstance (prefix , str ):
1134
1151
raise InterpreterException ('Prefix argument of has_function must be a string.' )
1135
1152
extra_args = self .determine_args (kwargs )
1136
- deps = self .determine_dependencies (kwargs )
1153
+ deps , msg = self .determine_dependencies (kwargs )
1137
1154
had = self .compiler .has_function (funcname , prefix , self .environment , extra_args , deps )
1138
1155
if had :
1139
1156
hadtxt = mlog .green ('YES' )
1140
1157
else :
1141
1158
hadtxt = mlog .red ('NO' )
1142
- mlog .log ('Checking for function' , mlog .bold (funcname , True ), ':' , hadtxt )
1159
+ mlog .log ('Checking for function' , mlog .bold (funcname , True ), msg , hadtxt )
1143
1160
return had
1144
1161
1145
1162
@permittedKwargs ({
@@ -1158,13 +1175,13 @@ def has_type_method(self, args, kwargs):
1158
1175
if not isinstance (prefix , str ):
1159
1176
raise InterpreterException ('Prefix argument of has_type must be a string.' )
1160
1177
extra_args = self .determine_args (kwargs )
1161
- deps = self .determine_dependencies (kwargs )
1178
+ deps , msg = self .determine_dependencies (kwargs )
1162
1179
had = self .compiler .has_type (typename , prefix , self .environment , extra_args , deps )
1163
1180
if had :
1164
1181
hadtxt = mlog .green ('YES' )
1165
1182
else :
1166
1183
hadtxt = mlog .red ('NO' )
1167
- mlog .log ('Checking for type' , mlog .bold (typename , True ), ':' , hadtxt )
1184
+ mlog .log ('Checking for type' , mlog .bold (typename , True ), msg , hadtxt )
1168
1185
return had
1169
1186
1170
1187
@FeatureNew ('compiler.compute_int' , '0.40.0' )
@@ -1196,9 +1213,9 @@ def compute_int_method(self, args, kwargs):
1196
1213
if guess is not None and not isinstance (guess , int ):
1197
1214
raise InterpreterException ('Guess argument of compute_int must be an int.' )
1198
1215
extra_args = self .determine_args (kwargs )
1199
- deps = self .determine_dependencies (kwargs )
1216
+ deps , msg = self .determine_dependencies (kwargs )
1200
1217
res = self .compiler .compute_int (expression , low , high , guess , prefix , self .environment , extra_args , deps )
1201
- mlog .log ('Computing int of "%s": %d' % (expression , res ) )
1218
+ mlog .log ('Computing int of' , mlog . bold (expression , True ), msg , res )
1202
1219
return res
1203
1220
1204
1221
@permittedKwargs ({
@@ -1217,9 +1234,9 @@ def sizeof_method(self, args, kwargs):
1217
1234
if not isinstance (prefix , str ):
1218
1235
raise InterpreterException ('Prefix argument of sizeof must be a string.' )
1219
1236
extra_args = self .determine_args (kwargs )
1220
- deps = self .determine_dependencies (kwargs )
1237
+ deps , msg = self .determine_dependencies (kwargs )
1221
1238
esize = self .compiler .sizeof (element , prefix , self .environment , extra_args , deps )
1222
- mlog .log ('Checking for size of "%s": %d' % (element , esize ) )
1239
+ mlog .log ('Checking for size of' , mlog . bold (element , True ), msg , esize )
1223
1240
return esize
1224
1241
1225
1242
@FeatureNew ('compiler.get_define' , '0.40.0' )
@@ -1239,9 +1256,9 @@ def get_define_method(self, args, kwargs):
1239
1256
if not isinstance (prefix , str ):
1240
1257
raise InterpreterException ('Prefix argument of get_define() must be a string.' )
1241
1258
extra_args = self .determine_args (kwargs )
1242
- deps = self .determine_dependencies (kwargs )
1259
+ deps , msg = self .determine_dependencies (kwargs )
1243
1260
value = self .compiler .get_define (element , prefix , self .environment , extra_args , deps )
1244
- mlog .log ('Fetching value of define "%s": %s' % (element , value ) )
1261
+ mlog .log ('Fetching value of define' , mlog . bold (element , True ), msg , value )
1245
1262
return value
1246
1263
1247
1264
@permittedKwargs ({
@@ -1264,14 +1281,14 @@ def compiles_method(self, args, kwargs):
1264
1281
if not isinstance (testname , str ):
1265
1282
raise InterpreterException ('Testname argument must be a string.' )
1266
1283
extra_args = self .determine_args (kwargs )
1267
- deps = self .determine_dependencies (kwargs )
1284
+ deps , msg = self .determine_dependencies (kwargs , endl = None )
1268
1285
result = self .compiler .compiles (code , self .environment , extra_args , deps )
1269
1286
if len (testname ) > 0 :
1270
1287
if result :
1271
1288
h = mlog .green ('YES' )
1272
1289
else :
1273
1290
h = mlog .red ('NO' )
1274
- mlog .log ('Checking if' , mlog .bold (testname , True ), 'compiles:' , h )
1291
+ mlog .log ('Checking if' , mlog .bold (testname , True ), msg , 'compiles:' , h )
1275
1292
return result
1276
1293
1277
1294
@permittedKwargs ({
@@ -1294,14 +1311,14 @@ def links_method(self, args, kwargs):
1294
1311
if not isinstance (testname , str ):
1295
1312
raise InterpreterException ('Testname argument must be a string.' )
1296
1313
extra_args = self .determine_args (kwargs )
1297
- deps = self .determine_dependencies (kwargs )
1314
+ deps , msg = self .determine_dependencies (kwargs , endl = None )
1298
1315
result = self .compiler .links (code , self .environment , extra_args , deps )
1299
1316
if len (testname ) > 0 :
1300
1317
if result :
1301
1318
h = mlog .green ('YES' )
1302
1319
else :
1303
1320
h = mlog .red ('NO' )
1304
- mlog .log ('Checking if' , mlog .bold (testname , True ), 'links:' , h )
1321
+ mlog .log ('Checking if' , mlog .bold (testname , True ), msg , 'links:' , h )
1305
1322
return result
1306
1323
1307
1324
@FeatureNew ('compiler.check_header' , '0.47.0' )
@@ -1321,13 +1338,13 @@ def check_header_method(self, args, kwargs):
1321
1338
if not isinstance (prefix , str ):
1322
1339
raise InterpreterException ('Prefix argument of has_header must be a string.' )
1323
1340
extra_args = self .determine_args (kwargs )
1324
- deps = self .determine_dependencies (kwargs )
1341
+ deps , msg = self .determine_dependencies (kwargs )
1325
1342
haz = self .compiler .check_header (hname , prefix , self .environment , extra_args , deps )
1326
1343
if haz :
1327
1344
h = mlog .green ('YES' )
1328
1345
else :
1329
1346
h = mlog .red ('NO' )
1330
- mlog .log ('Check usable header "%s":' % hname , h )
1347
+ mlog .log ('Check usable header' , mlog . bold ( hname , True ), msg , h )
1331
1348
return haz
1332
1349
1333
1350
@permittedKwargs ({
@@ -1346,13 +1363,13 @@ def has_header_method(self, args, kwargs):
1346
1363
if not isinstance (prefix , str ):
1347
1364
raise InterpreterException ('Prefix argument of has_header must be a string.' )
1348
1365
extra_args = self .determine_args (kwargs )
1349
- deps = self .determine_dependencies (kwargs )
1366
+ deps , msg = self .determine_dependencies (kwargs )
1350
1367
haz = self .compiler .has_header (hname , prefix , self .environment , extra_args , deps )
1351
1368
if haz :
1352
1369
h = mlog .green ('YES' )
1353
1370
else :
1354
1371
h = mlog .red ('NO' )
1355
- mlog .log ('Has header "%s":' % hname , h )
1372
+ mlog .log ('Has header' , mlog . bold ( hname , True ), msg , h )
1356
1373
return haz
1357
1374
1358
1375
@permittedKwargs ({
@@ -1372,13 +1389,13 @@ def has_header_symbol_method(self, args, kwargs):
1372
1389
if not isinstance (prefix , str ):
1373
1390
raise InterpreterException ('Prefix argument of has_header_symbol must be a string.' )
1374
1391
extra_args = self .determine_args (kwargs )
1375
- deps = self .determine_dependencies (kwargs )
1392
+ deps , msg = self .determine_dependencies (kwargs )
1376
1393
haz = self .compiler .has_header_symbol (hname , symbol , prefix , self .environment , extra_args , deps )
1377
1394
if haz :
1378
1395
h = mlog .green ('YES' )
1379
1396
else :
1380
1397
h = mlog .red ('NO' )
1381
- mlog .log ('Header <{0}> has symbol "{1}": ' .format (hname , symbol ) , h )
1398
+ mlog .log ('Header <{0}> has symbol' .format (hname ), mlog . bold ( symbol , True ), msg , h )
1382
1399
return haz
1383
1400
1384
1401
@FeatureNewKwargs ('compiler.find_library' , '0.49.0' , ['disabler' ])
0 commit comments