OLD | NEW |
1 # Copyright (c) 2012 Google Inc. All rights reserved. | 1 # Copyright (c) 2012 Google Inc. All rights reserved. |
2 # Use of this source code is governed by a BSD-style license that can be | 2 # Use of this source code is governed by a BSD-style license that can be |
3 # found in the LICENSE file. | 3 # found in the LICENSE file. |
4 | 4 |
5 import copy | 5 import copy |
6 import gyp | 6 import gyp |
7 import gyp.common | 7 import gyp.common |
8 import gyp.msvs_emulation | 8 import gyp.msvs_emulation |
9 import gyp.MSVSVersion | 9 import gyp.MSVSVersion |
10 import gyp.system_test | 10 import gyp.system_test |
(...skipping 1322 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1333 '-Wl,--start-group $in -Wl,--end-group $libs')) | 1333 '-Wl,--start-group $in -Wl,--end-group $libs')) |
1334 master_ninja.rule( | 1334 master_ninja.rule( |
1335 'link', | 1335 'link', |
1336 description='LINK $out', | 1336 description='LINK $out', |
1337 command=('$ld $ldflags -o $out -Wl,-rpath=\$$ORIGIN/lib ' | 1337 command=('$ld $ldflags -o $out -Wl,-rpath=\$$ORIGIN/lib ' |
1338 '-Wl,--start-group $in -Wl,--end-group $libs')) | 1338 '-Wl,--start-group $in -Wl,--end-group $libs')) |
1339 elif flavor == 'win': | 1339 elif flavor == 'win': |
1340 master_ninja.rule( | 1340 master_ninja.rule( |
1341 'alink', | 1341 'alink', |
1342 description='LIB $out', | 1342 description='LIB $out', |
1343 command='$ar /nologo /ignore:4221 /OUT:$out @$out.rsp $libflags', | 1343 command='$ar /nologo /ignore:4221 /OUT:$out @$out.rsp', |
1344 rspfile='$out.rsp', | 1344 rspfile='$out.rsp', |
1345 rspfile_content='$in') | 1345 rspfile_content='$in $libflags') |
1346 dlldesc = 'LINK(DLL) $dll' | 1346 dlldesc = 'LINK(DLL) $dll' |
1347 dllcmd = ('python gyp-win-tool link-wrapper ' | 1347 dllcmd = ('python gyp-win-tool link-wrapper ' |
1348 '$ld /nologo /IMPLIB:$implib /DLL /OUT:$dll ' | 1348 '$ld /nologo /IMPLIB:$implib /DLL /OUT:$dll ' |
1349 '/PDB:$dll.pdb $libs @$dll.rsp $ldflags') | 1349 '/PDB:$dll.pdb @$dll.rsp') |
1350 master_ninja.rule('solink', description=dlldesc, command=dllcmd, | 1350 master_ninja.rule('solink', description=dlldesc, command=dllcmd, |
1351 rspfile='$dll.rsp', rspfile_content='$in', | 1351 rspfile='$dll.rsp', |
| 1352 rspfile_content='$libs $in $ldflags', |
1352 restat=True) | 1353 restat=True) |
1353 master_ninja.rule('solink_module', description=dlldesc, command=dllcmd, | 1354 master_ninja.rule('solink_module', description=dlldesc, command=dllcmd, |
1354 rspfile='$dll.rsp', rspfile_content='$in', | 1355 rspfile='$dll.rsp', |
| 1356 rspfile_content='$libs $in $ldflags', |
1355 restat=True) | 1357 restat=True) |
1356 # Note that ldflags goes at the end so that it has the option of | 1358 # Note that ldflags goes at the end so that it has the option of |
1357 # overriding default settings earlier in the command line. | 1359 # overriding default settings earlier in the command line. |
1358 master_ninja.rule( | 1360 master_ninja.rule( |
1359 'link', | 1361 'link', |
1360 description='LINK $out', | 1362 description='LINK $out', |
1361 command=('python gyp-win-tool link-wrapper ' | 1363 command=('python gyp-win-tool link-wrapper ' |
1362 '$ld /nologo /OUT:$out /PDB:$out.pdb $in $libs $ldflags')) | 1364 '$ld /nologo /OUT:$out /PDB:$out.pdb @$out.rsp'), |
| 1365 rspfile='$out.rsp', |
| 1366 rspfile_content='$in $libs $ldflags') |
1363 else: | 1367 else: |
1364 master_ninja.rule( | 1368 master_ninja.rule( |
1365 'objc', | 1369 'objc', |
1366 description='OBJC $out', | 1370 description='OBJC $out', |
1367 command=('$cc -MMD -MF $out.d $defines $includes $cflags $cflags_objc ' | 1371 command=('$cc -MMD -MF $out.d $defines $includes $cflags $cflags_objc ' |
1368 '$cflags_pch_objc -c $in -o $out'), | 1372 '$cflags_pch_objc -c $in -o $out'), |
1369 depfile='$out.d') | 1373 depfile='$out.d') |
1370 master_ninja.rule( | 1374 master_ninja.rule( |
1371 'objcxx', | 1375 'objcxx', |
1372 description='OBJCXX $out', | 1376 description='OBJCXX $out', |
(...skipping 110 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1483 | 1487 |
1484 user_config = params.get('generator_flags', {}).get('config', None) | 1488 user_config = params.get('generator_flags', {}).get('config', None) |
1485 if user_config: | 1489 if user_config: |
1486 GenerateOutputForConfig(target_list, target_dicts, data, params, | 1490 GenerateOutputForConfig(target_list, target_dicts, data, params, |
1487 user_config) | 1491 user_config) |
1488 else: | 1492 else: |
1489 config_names = target_dicts[target_list[0]]['configurations'].keys() | 1493 config_names = target_dicts[target_list[0]]['configurations'].keys() |
1490 for config_name in config_names: | 1494 for config_name in config_names: |
1491 GenerateOutputForConfig(target_list, target_dicts, data, params, | 1495 GenerateOutputForConfig(target_list, target_dicts, data, params, |
1492 config_name) | 1496 config_name) |
OLD | NEW |