Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(214)

Side by Side Diff: build/untrusted.gypi

Issue 684033002: Nest the pnacl section of untrusted.gypi to the same level. (Closed) Base URL: svn://svn.chromium.org/native_client/trunk/src/native_client
Patch Set: fix Created 6 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 # Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 # Copyright (c) 2011 The Chromium Authors. 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 { 5 {
6 'variables': { 6 'variables': {
7 'variables': { 7 'variables': {
8 # Enable -Werror by default, but put it in a variable so it can 8 # Enable -Werror by default, but put it in a variable so it can
9 # be optionally disabled. 9 # be optionally disabled.
10 'werror%': '-Werror', 10 'werror%': '-Werror',
(...skipping 1318 matching lines...) Expand 10 before | Expand all | Expand 10 after
1329 '--defines=^(defines) >(_defines)', 1329 '--defines=^(defines) >(_defines)',
1330 '--link_flags=-m32 -B>(tc_lib_dir_glibc32) ^(link_flags) >(_l ink_flags)', 1330 '--link_flags=-m32 -B>(tc_lib_dir_glibc32) ^(link_flags) >(_l ink_flags)',
1331 '--source-list=^(source_list_glibc32)', 1331 '--source-list=^(source_list_glibc32)',
1332 ], 1332 ],
1333 }, 1333 },
1334 ], 1334 ],
1335 }], 1335 }],
1336 ], # end target_conditions for glibc (nexe/nlib/nso, x86-32/64) 1336 ], # end target_conditions for glibc (nexe/nlib/nso, x86-32/64)
1337 }, 1337 },
1338 }], # end target_arch == ia32 or x64 1338 }], # end target_arch == ia32 or x64
1339 ], 1339 # Using an always true condition to match the evaluation order of the
1340 'target_defaults': { 1340 # non-pnacl stanzas.
1341 'gcc_compile_flags': [], 1341 # Gyp's evaluation order is deterministic, but undocumented.
1342 'pnacl_compile_flags': [], 1342 # Matching the level of nesting reduces the differences in how
1343 'variables': { 1343 # these stanzas get expanded.
1344 'disable_pnacl%': 0, 1344 # See: https://code.google.com/p/chromium/issues/detail?id=427427
1345 'build_pnacl_newlib': 0, 1345 # 1==1 is used, as gyp's conditions do not have a boolean true value.
1346 # Flag to translate pexes into nexes at build time (vs in the browser). 1346 ['1==1', {
1347 'translate_pexe_with_build': 0, 1347 'target_defaults': {
1348 # Flag to indicate that PNaCl should compile with the native ABI 1348 'gcc_compile_flags': [],
1349 # instead of the le32 ABI. 1349 'pnacl_compile_flags': [],
1350 'pnacl_native_biased': 0, 1350 'variables': {
1351 'nexe_target': '', 1351 'disable_pnacl%': 0,
1352 'nlib_target': '', 1352 'build_pnacl_newlib': 0,
1353 'extra_deps_pnacl_newlib': [], 1353 # Flag to translate pexes into nexes at build time (vs in the
1354 'tc_lib_dir_pnacl_newlib': '<(SHARED_INTERMEDIATE_DIR)/tc_pnacl_newlib/lib ', 1354 # browser).
1355 'tc_lib_dir_pnacl_translate' :'<(SHARED_INTERMEDIATE_DIR)/tc_pnacl_transla te', 1355 'translate_pexe_with_build': 0,
1356 'tc_include_dir_pnacl_newlib': '<(SHARED_INTERMEDIATE_DIR)/tc_pnacl_newlib /include', 1356 # Flag to indicate that PNaCl should compile with the native ABI
1357 'compile_flags': [ 1357 # instead of the le32 ABI.
1358 '<@(nacl_default_compile_flags)', 1358 'pnacl_native_biased': 0,
1359 ], 1359 'nexe_target': '',
1360 'gcc_compile_flags': [ 1360 'nlib_target': '',
1361 '-fomit-frame-pointer', 1361 'extra_deps_pnacl_newlib': [],
1362 # A debugger should be able to unwind IRT call frames. As the IRT is 1362 'tc_lib_dir_pnacl_newlib': '<(SHARED_INTERMEDIATE_DIR)/tc_pnacl_newlib /lib',
1363 # compiled with high level of optimizations and without debug info, 1363 'tc_lib_dir_pnacl_translate' :'<(SHARED_INTERMEDIATE_DIR)/tc_pnacl_tra nslate',
1364 # compiler is requested to generate unwind tables explicitly. This 1364 'tc_include_dir_pnacl_newlib': '<(SHARED_INTERMEDIATE_DIR)/tc_pnacl_ne wlib/include',
1365 # is the default behavior on x86-64 and when compiling C++ with 1365 'compile_flags': [
1366 # exceptions enabled, the change is for the benefit of x86-32 C. 1366 '<@(nacl_default_compile_flags)',
1367 # These are only required for the IRT but are here for all 1367 ],
1368 # nacl-gcc-compiled binaries because the IRT depends on other libs 1368 'gcc_compile_flags': [
1369 '-fasynchronous-unwind-tables', 1369 '-fomit-frame-pointer',
1370 ], 1370 # A debugger should be able to unwind IRT call frames. As the IRT is
1371 'pnacl_compile_flags': [ 1371 # compiled with high level of optimizations and without debug info,
1372 '-Wno-extra-semi', 1372 # compiler is requested to generate unwind tables explicitly. This
1373 '-Wno-unused-private-field', 1373 # is the default behavior on x86-64 and when compiling C++ with
1374 '-Wno-char-subscripts', 1374 # exceptions enabled, the change is for the benefit of x86-32 C.
1375 '-Wno-unused-function', 1375 # These are only required for the IRT but are here for all
1376 ], 1376 # nacl-gcc-compiled binaries because the IRT depends on other libs
1377 # IRT compile/link flags to make the binary smaller. 1377 '-fasynchronous-unwind-tables',
1378 # Omitted from non-IRT libraries to keep the libraries themselves small. 1378 ],
1379 'gcc_irt_compile_flags': [ 1379 'pnacl_compile_flags': [
1380 '-ffunction-sections', 1380 '-Wno-extra-semi',
1381 '-fdata-sections', 1381 '-Wno-unused-private-field',
1382 ], 1382 '-Wno-char-subscripts',
1383 'gcc_irt_link_flags': [ 1383 '-Wno-unused-function',
1384 '-Wl,--gc-sections', 1384 ],
1385 ], 1385 # IRT compile/link flags to make the binary smaller.
1386 'pnacl_irt_link_flags': [ 1386 # Omitted from non-IRT libraries to keep the libraries themselves
1387 '-Wt,-ffunction-sections', 1387 # small.
1388 '-Wt,-fdata-sections', 1388 'gcc_irt_compile_flags': [
1389 '-Wn,--gc-sections', 1389 '-ffunction-sections',
1390 ], 1390 '-fdata-sections',
1391 }, 1391 ],
1392 'target_conditions': [ 1392 'gcc_irt_link_flags': [
1393 # pnacl actions for building pexes and translating them 1393 '-Wl,--gc-sections',
1394 ['nexe_target!="" and disable_pnacl==0 and build_pnacl_newlib!=0 ' 1394 ],
1395 'and pnacl_native_biased==0', { 1395 'pnacl_irt_link_flags': [
1396 'variables': { 1396 '-Wt,-ffunction-sections',
1397 'out_pnacl_newlib_x86_32_nexe%': '<(PRODUCT_DIR)/>(nexe_target)_pnacl _newlib_x32.nexe', 1397 '-Wt,-fdata-sections',
1398 'out_pnacl_newlib_x86_64_nexe%': '<(PRODUCT_DIR)/>(nexe_target)_pnacl _newlib_x64.nexe', 1398 '-Wn,--gc-sections',
1399 'out_pnacl_newlib_arm_nexe%': '<(PRODUCT_DIR)/>(nexe_target)_pnacl_ne wlib_arm.nexe', 1399 ],
1400 'out_pnacl_newlib_mips_nexe%': '<(PRODUCT_DIR)/>(nexe_target)_pnacl_n ewlib_mips32.nexe', 1400 },
1401 'out_pnacl_newlib_x86_32_nonsfi_nexe%': '<(PRODUCT_DIR)/>(nexe_target )_pnacl_newlib_x32_nonsfi.nexe', 1401 'target_conditions': [
1402 'out_pnacl_newlib_arm_nonsfi_nexe%': '<(PRODUCT_DIR)/>(nexe_target)_p nacl_newlib_arm_nonsfi.nexe', 1402 # pnacl actions for building pexes and translating them
1403 'tool_name': 'pnacl_newlib', 1403 ['nexe_target!="" and disable_pnacl==0 and build_pnacl_newlib!=0 '
1404 'inst_dir': '<(SHARED_INTERMEDIATE_DIR)/tc_pnacl_newlib', 1404 'and pnacl_native_biased==0', {
1405 'out_pnacl_newlib%': '<(PRODUCT_DIR)/>(nexe_target)_newlib.pexe',
1406 'objdir_pnacl_newlib%': '>(INTERMEDIATE_DIR)/<(tool_name)/>(_target_n ame)',
1407 'link_flags': [
1408 '-O3',
1409 ],
1410 'translate_flags': [],
1411 },
1412 'actions': [
1413 {
1414 'action_name': 'build newlib pexe',
1415 'variables': { 1405 'variables': {
1416 'source_list_pnacl_newlib%': '^|(<(tool_name).>(_target_name).sou rce_list.gypcmd ^(_sources) ^(sources))', 1406 'out_pnacl_newlib_x86_32_nexe%': '<(PRODUCT_DIR)/>(nexe_target)_p nacl_newlib_x32.nexe',
1417 }, 1407 'out_pnacl_newlib_x86_64_nexe%': '<(PRODUCT_DIR)/>(nexe_target)_p nacl_newlib_x64.nexe',
1418 'msvs_cygwin_shell': 0, 1408 'out_pnacl_newlib_arm_nexe%': '<(PRODUCT_DIR)/>(nexe_target)_pnac l_newlib_arm.nexe',
1419 'description': 'building >(out_pnacl_newlib)', 1409 'out_pnacl_newlib_mips_nexe%': '<(PRODUCT_DIR)/>(nexe_target)_pna cl_newlib_mips32.nexe',
1420 'inputs': [ 1410 'out_pnacl_newlib_x86_32_nonsfi_nexe%': '<(PRODUCT_DIR)/>(nexe_ta rget)_pnacl_newlib_x32_nonsfi.nexe',
1421 '<@(common_inputs)', 1411 'out_pnacl_newlib_arm_nonsfi_nexe%': '<(PRODUCT_DIR)/>(nexe_targe t)_pnacl_newlib_arm_nonsfi.nexe',
1422 '>!@pymod_do_main(scan_sources -I . >(include_dirs) >(_include_di rs) -S >(sources) >(_sources))', 1412 'tool_name': 'pnacl_newlib',
1423 '>@(extra_deps)', 1413 'inst_dir': '<(SHARED_INTERMEDIATE_DIR)/tc_pnacl_newlib',
1424 '>@(extra_deps_pnacl_newlib)', 1414 'out_pnacl_newlib%': '<(PRODUCT_DIR)/>(nexe_target)_newlib.pexe',
1425 '^(source_list_pnacl_newlib)', 1415 'objdir_pnacl_newlib%': '>(INTERMEDIATE_DIR)/<(tool_name)/>(_targ et_name)',
1426 '<(SHARED_INTERMEDIATE_DIR)/sdk/<(TOOLCHAIN_OS)_x86/pnacl_newlib/ stamp.prep', 1416 'link_flags': [
1427 ], 1417 '-O3',
1428 'outputs': ['>(out_pnacl_newlib)'],
1429 'action': [
1430 '<@(common_args)',
1431 '>@(extra_args)',
1432 '--arch', 'pnacl',
1433 '--build', 'newlib_pexe',
1434 '--name', '>(out_pnacl_newlib)',
1435 '--objdir', '>(objdir_pnacl_newlib)',
1436 '--include-dirs=>(tc_include_dir_pnacl_newlib) ^(include_dirs) >( _include_dirs)',
1437 # TODO(dschuff): try removing gline-tables-only after 3.5 merge
1438 # when debug metadata is less memory-intensive
1439 '--compile_flags=^(compile_flags) >(_compile_flags) -gline-tables -only ^(pnacl_compile_flags) >(_pnacl_compile_flags)',
1440 '--gomadir', '<(gomadir)',
1441 '--defines=^(defines) >(_defines)',
1442 '--link_flags=-B<(SHARED_INTERMEDIATE_DIR)/tc_pnacl_newlib/lib ^( link_flags) >(_link_flags)',
1443 '--source-list=^(source_list_pnacl_newlib)',
1444 ],
1445 }],
1446 'target_conditions': [
1447 [ 'enable_x86_32!=0 and translate_pexe_with_build!=0', {
1448 'actions': [{
1449 'action_name': 'translate newlib pexe to x86-32 nexe',
1450 'msvs_cygwin_shell': 0,
1451 'description': 'translating >(out_pnacl_newlib_x86_32_nexe)',
1452 'inputs': [
1453 # Depending on out_pnacl_newlib helps depend on common_inputs.
1454 '>(out_pnacl_newlib)',
1455 ], 1418 ],
1456 'outputs': [ '>(out_pnacl_newlib_x86_32_nexe)' ], 1419 'translate_flags': [],
1457 'action' : [
1458 '<@(common_args)',
1459 '--arch', 'x86-32',
1460 '--build', 'newlib_translate',
1461 '--name', '>(out_pnacl_newlib_x86_32_nexe)',
1462 '--link_flags=^(translate_flags) >(translate_flags) -Wl,-L>(tc_ lib_dir_pnacl_translate)/lib-x86-32',
1463 '>(out_pnacl_newlib)',
1464 ],
1465 }],
1466 }],
1467 [ 'enable_x86_32_nonsfi!=0 and translate_pexe_with_build!=0', {
1468 'actions': [{
1469 'action_name': 'translate newlib pexe to x86-32-nonsfi nexe',
1470 'msvs_cygwin_shell': 0,
1471 'description': 'translating >(out_pnacl_newlib_x86_32_nonsfi_nexe )',
1472 'inputs': [
1473 # Depending on out_pnacl_newlib helps depend on common_inputs.
1474 '>(out_pnacl_newlib)',
1475 ],
1476 'outputs': [ '>(out_pnacl_newlib_x86_32_nonsfi_nexe)' ],
1477 'action' : [
1478 '<@(common_args)',
1479 '--arch', 'x86-32-nonsfi',
1480 '--build', 'newlib_translate',
1481 '--name', '>(out_pnacl_newlib_x86_32_nonsfi_nexe)',
1482 '--link_flags=^(translate_flags) >(translate_flags) -Wl,-L>(tc_ lib_dir_pnacl_translate)/lib-x86-32-nonsfi',
1483 '>(out_pnacl_newlib)',
1484 ],
1485 }],
1486 }],
1487 [ 'enable_x86_64!=0 and translate_pexe_with_build!=0', {
1488 'actions': [{
1489 'action_name': 'translate newlib pexe to x86-64 nexe',
1490 'msvs_cygwin_shell': 0,
1491 'description': 'translating >(out_pnacl_newlib_x86_64_nexe)',
1492 'inputs': [
1493 # Depending on out_pnacl_newlib helps depend on common_inputs.
1494 '>(out_pnacl_newlib)',
1495 ],
1496 'outputs': [ '>(out_pnacl_newlib_x86_64_nexe)' ],
1497 'action' : [
1498 '<@(common_args)',
1499 '--arch', 'x86-64',
1500 '--build', 'newlib_translate',
1501 '--name', '>(out_pnacl_newlib_x86_64_nexe)',
1502 '--link_flags=^(translate_flags) >(translate_flags) -Wl,-L>(tc_ lib_dir_pnacl_translate)/lib-x86-64',
1503 '>(out_pnacl_newlib)',
1504 ],
1505 }],
1506 }],
1507 [ 'enable_arm!=0 and translate_pexe_with_build!=0', {
1508 'actions': [{
1509 'action_name': 'translate newlib pexe to ARM nexe',
1510 'msvs_cygwin_shell': 0,
1511 'description': 'translating >(out_pnacl_newlib_arm_nexe)',
1512 'inputs': [
1513 # Depending on out_pnacl_newlib helps depend on common_inputs.
1514 '>(out_pnacl_newlib)',
1515 ],
1516 'outputs': [ '>(out_pnacl_newlib_arm_nexe)' ],
1517 'action' : [
1518 '<@(common_args)',
1519 '--arch', 'arm',
1520 '--build', 'newlib_translate',
1521 '--name', '>(out_pnacl_newlib_arm_nexe)',
1522 '--link_flags=^(translate_flags) >(translate_flags) -Wl,-L>(tc_ lib_dir_pnacl_translate)/lib-arm',
1523 '>(out_pnacl_newlib)',
1524 ],
1525 }],
1526 }],
1527 [ 'enable_arm_nonsfi!=0 and translate_pexe_with_build!=0', {
1528 'actions': [{
1529 'action_name': 'translate newlib pexe to ARM-nonsfi nexe',
1530 'msvs_cygwin_shell': 0,
1531 'description': 'translating >(out_pnacl_newlib_arm_nonsfi_nexe)',
1532 'inputs': [
1533 # Depending on out_pnacl_newlib helps depend on common_inputs.
1534 '>(out_pnacl_newlib)',
1535 ],
1536 'outputs': [ '>(out_pnacl_newlib_arm_nonsfi_nexe)' ],
1537 'action' : [
1538 '<@(common_args)',
1539 '--arch', 'arm-nonsfi',
1540 '--build', 'newlib_translate',
1541 '--name', '>(out_pnacl_newlib_arm_nonsfi_nexe)',
1542 '--link_flags=^(translate_flags) >(translate_flags) -Wl,-L>(tc_ lib_dir_pnacl_translate)/lib-arm-nonsfi',
1543 '>(out_pnacl_newlib)',
1544 ],
1545 }],
1546 }],
1547 [ 'enable_mips!=0 and translate_pexe_with_build!=0', {
1548 'actions': [{
1549 'action_name': 'translate newlib pexe to MIPS nexe',
1550 'msvs_cygwin_shell': 0,
1551 'description': 'translating >(out_pnacl_newlib_mips_nexe)',
1552 'inputs': [
1553 # Depending on out_pnacl_newlib helps depend on common_inputs.
1554 '>(out_pnacl_newlib)',
1555 ],
1556 'outputs': [ '>(out_pnacl_newlib_mips_nexe)' ],
1557 'action' : [
1558 '<@(common_args)',
1559 '--arch', 'mips',
1560 '--build', 'newlib_translate',
1561 '--name', '>(out_pnacl_newlib_mips_nexe)',
1562 '--link_flags=^(translate_flags) >(translate_flags) -Wl,-L>(tc_ lib_dir_pnacl_translate)/lib-mips32',
1563 '>(out_pnacl_newlib)',
1564 ],
1565 }],
1566 }],
1567 ],
1568 }], # end pnacl actions for building pexes and translating to nexes
1569 # pnacl action for building portable bitcode libraries
1570 ['nlib_target!="" and disable_pnacl==0 and build_pnacl_newlib!=0'
1571 'and pnacl_native_biased==0', {
1572 'variables': {
1573 'tool_name': 'pnacl_newlib',
1574 'objdir_pnacl_newlib%': '>(INTERMEDIATE_DIR)/<(tool_name)-pnacl/>(_ta rget_name)',
1575 'out_pnacl_newlib%': '<(SHARED_INTERMEDIATE_DIR)/tc_<(tool_name)/lib/ >(nlib_target)',
1576 },
1577 'actions': [
1578 {
1579 'action_name': 'build newlib plib',
1580 'variables': {
1581 'source_list_pnacl_newlib%': '^|(<(tool_name).>(_target_name).sou rce_list.gypcmd ^(_sources) ^(sources))',
1582 },
1583 'msvs_cygwin_shell': 0,
1584 'description': 'building >(out_pnacl_newlib)',
1585 'inputs': [
1586 '<@(common_inputs)',
1587 '>!@pymod_do_main(scan_sources -I . >(include_dirs) >(_include_di rs) -S >(sources) >(_sources))',
1588 '>@(extra_deps)',
1589 '>@(extra_deps_pnacl_newlib)',
1590 '^(source_list_pnacl_newlib)',
1591 '<(SHARED_INTERMEDIATE_DIR)/sdk/<(TOOLCHAIN_OS)_x86/pnacl_newlib/ stamp.prep',
1592 ],
1593 'outputs': ['>(out_pnacl_newlib)'],
1594 'action': [
1595 '<@(common_args)',
1596 '>@(extra_args)',
1597 '--arch', 'pnacl',
1598 '--build', 'newlib_plib',
1599 '--name', '>(out_pnacl_newlib)',
1600 '--objdir', '>(objdir_pnacl_newlib)',
1601 '--include-dirs=>(tc_include_dir_pnacl_newlib) ^(include_dirs) >( _include_dirs)',
1602 # TODO(dschuff): try removing gline-tables-only after 3.5 merge
1603 # when debug metadata is less memory-intensive
1604 '--compile_flags=^(compile_flags) >(_compile_flags) -gline-tables -only ^(pnacl_compile_flags) >(_pnacl_compile_flags)',
1605 '--gomadir', '<(gomadir)',
1606 '--defines=^(defines) >(_defines)',
1607 '--link_flags=-B>(tc_lib_dir_pnacl_newlib) ^(link_flags) >(_link_ flags)',
1608 '--source-list=^(source_list_pnacl_newlib)',
1609 ],
1610 },
1611 ],
1612 }], # end pnacl actions for bitcode libraries
1613 ], # end target conditions for pnacl pexe/plib
1614 # pnacl actions for building ABI-biased native libraries
1615 'conditions': [
1616 # ARM
1617 ['target_arch=="arm"', {
1618 'target_conditions': [
1619 ['disable_pnacl==0 and pnacl_native_biased==1 and nlib_target!="" and build_pnacl_newlib!=0', {
1620 'variables': {
1621 'tool_name': 'pnacl_newlib_arm',
1622 'out_pnacl_newlib_arm%': '<(SHARED_INTERMEDIATE_DIR)/tc_<(tool_na me)/libarm/>(nlib_target)',
1623 'objdir_pnacl_newlib_arm%': '>(INTERMEDIATE_DIR)/<(tool_name)/>(_ target_name)',
1624 },
1625 'actions': [
1626 {
1627 'action_name': 'build newlib arm nlib (via pnacl)',
1628 'variables': {
1629 'source_list_pnacl_newlib_arm%': '^|(<(tool_name).>(_target_na me).source_list.gypcmd ^(_sources) ^(sources))',
1630 },
1631 'msvs_cygwin_shell': 0,
1632 'description': 'building >(out_pnacl_newlib_arm)',
1633 'inputs': [
1634 '<@(common_inputs)',
1635 '>!@pymod_do_main(scan_sources -I . >(include_dirs) >(_include _dirs) -S >(sources) >(_sources))',
1636 '>@(extra_deps)',
1637 '>@(extra_deps_pnacl_newlib)',
1638 '^(source_list_pnacl_newlib_arm)',
1639 '<(SHARED_INTERMEDIATE_DIR)/sdk/<(TOOLCHAIN_OS)_x86/pnacl_newl ib/stamp.prep'
1640 ],
1641 'outputs': ['>(out_pnacl_newlib_arm)'],
1642 'action': [
1643 '<@(common_args)',
1644 '>@(extra_args)',
1645 '--arch', 'arm',
1646 '--build', 'newlib_nlib_pnacl',
1647 '--name', '>(out_pnacl_newlib_arm)',
1648 '--objdir', '>(objdir_pnacl_newlib_arm)',
1649 '--include-dirs=>(tc_include_dir_pnacl_newlib) ^(include_dirs) >(_include_dirs)',
1650 '--compile_flags=--target=armv7-unknown-nacl-gnueabi -mfloat-a bi=hard --pnacl-allow-translate -arch arm ^(compile_flags) >(_compile_flags) ^(p nacl_compile_flags) >(_pnacl_compile_flags)',
1651 '--gomadir', '<(gomadir)',
1652 '--defines=^(defines) >(_defines)',
1653 '--link_flags=-B>(tc_lib_dir_pnacl_newlib) ^(link_flags) >(_li nk_flags)',
1654 '--source-list=^(source_list_pnacl_newlib_arm)',
1655 ],
1656 },
1657 ],
1658 }],
1659 ],
1660 }], # end ARM
1661 # ia32 or x64 (want to build both for Windows)
1662 ['target_arch=="ia32" or target_arch=="x64"', {
1663 'target_conditions': [
1664 # x64
1665 ['enable_x86_64!=0 and disable_pnacl==0 and pnacl_native_biased==1 '
1666 'and nlib_target!="" and build_pnacl_newlib!=0', {
1667 'variables': {
1668 'tool_name': 'pnacl_newlib_x86_64',
1669 'out_pnacl_newlib_x86_64%': '<(SHARED_INTERMEDIATE_DIR)/tc_<(tool _name)/lib-x86-64/>(nlib_target)',
1670 'objdir_pnacl_newlib_x86_64%': '>(INTERMEDIATE_DIR)/<(tool_name)/ >(_target_name)',
1671 }, 1420 },
1672 'actions': [ 1421 'actions': [
1673 { 1422 {
1674 'action_name': 'build newlib x86-64 nlib (via pnacl)', 1423 'action_name': 'build newlib pexe',
1675 'variables': { 1424 'variables': {
1676 'source_list_pnacl_newlib_x86_64%': '^|(<(tool_name).>(_targe t_name).source_list.gypcmd ^(_sources) ^(sources))', 1425 'source_list_pnacl_newlib%': '^|(<(tool_name).>(_target_name) .source_list.gypcmd ^(_sources) ^(sources))',
1677 }, 1426 },
1678 'msvs_cygwin_shell': 0, 1427 'msvs_cygwin_shell': 0,
1679 'description': 'building >(out_pnacl_newlib_x86_64)', 1428 'description': 'building >(out_pnacl_newlib)',
1680 'inputs': [ 1429 'inputs': [
1681 '<@(common_inputs)', 1430 '<@(common_inputs)',
1682 '>!@pymod_do_main(scan_sources -I . >(include_dirs) >(_includ e_dirs) -S >(sources) >(_sources))', 1431 '>!@pymod_do_main(scan_sources -I . >(include_dirs) >(_includ e_dirs) -S >(sources) >(_sources))',
1683 '>@(extra_deps)', 1432 '>@(extra_deps)',
1684 '>@(extra_deps_pnacl_newlib)', 1433 '>@(extra_deps_pnacl_newlib)',
1685 '^(source_list_pnacl_newlib_x86_64)', 1434 '^(source_list_pnacl_newlib)',
1686 '<(SHARED_INTERMEDIATE_DIR)/sdk/<(TOOLCHAIN_OS)_x86/pnacl_new lib/stamp.prep' 1435 '<(SHARED_INTERMEDIATE_DIR)/sdk/<(TOOLCHAIN_OS)_x86/pnacl_new lib/stamp.prep',
1687 ], 1436 ],
1688 'outputs': ['>(out_pnacl_newlib_x86_64)'], 1437 'outputs': ['>(out_pnacl_newlib)'],
1689 'action': [ 1438 'action': [
1690 '<@(common_args)', 1439 '<@(common_args)',
1691 '>@(extra_args)', 1440 '>@(extra_args)',
1692 '--arch', 'x86-64', 1441 '--arch', 'pnacl',
1693 '--build', 'newlib_nlib_pnacl', 1442 '--build', 'newlib_pexe',
1694 '--name', '>(out_pnacl_newlib_x86_64)', 1443 '--name', '>(out_pnacl_newlib)',
1695 '--objdir', '>(objdir_pnacl_newlib_x86_64)', 1444 '--objdir', '>(objdir_pnacl_newlib)',
1696 '--include-dirs=>(tc_include_dir_pnacl_newlib) ^(include_dirs ) >(_include_dirs)', 1445 '--include-dirs=>(tc_include_dir_pnacl_newlib) ^(include_dirs ) >(_include_dirs)',
1697 '--compile_flags=--target=x86_64-unknown-nacl --pnacl-allow-t ranslate -arch x86-64 ^(compile_flags) >(_compile_flags) ^(pnacl_compile_flags) >(_pnacl_compile_flags)', 1446 # TODO(dschuff): try removing gline-tables-only after 3.5
1447 # merge when debug metadata is less memory-intensive
1448 '--compile_flags=^(compile_flags) >(_compile_flags) -gline-ta bles-only ^(pnacl_compile_flags) >(_pnacl_compile_flags)',
1698 '--gomadir', '<(gomadir)', 1449 '--gomadir', '<(gomadir)',
1699 '--defines=^(defines) >(_defines)', 1450 '--defines=^(defines) >(_defines)',
1700 '--link_flags=-B>(tc_lib_dir_pnacl_newlib) ^(link_flags) >(_l ink_flags)', 1451 '--link_flags=-B<(SHARED_INTERMEDIATE_DIR)/tc_pnacl_newlib/li b ^(link_flags) >(_link_flags)',
1701 '--source-list=^(source_list_pnacl_newlib_x86_64)', 1452 '--source-list=^(source_list_pnacl_newlib)',
1702 ], 1453 ],
1703 }, 1454 }],
1455 'target_conditions': [
1456 [ 'enable_x86_32!=0 and translate_pexe_with_build!=0', {
1457 'actions': [{
1458 'action_name': 'translate newlib pexe to x86-32 nexe',
1459 'msvs_cygwin_shell': 0,
1460 'description': 'translating >(out_pnacl_newlib_x86_32_nexe)',
1461 'inputs': [
1462 # Depending on out_pnacl_newlib helps depend on
1463 # common_inputs.
1464 '>(out_pnacl_newlib)',
1465 ],
1466 'outputs': [ '>(out_pnacl_newlib_x86_32_nexe)' ],
1467 'action' : [
1468 '<@(common_args)',
1469 '--arch', 'x86-32',
1470 '--build', 'newlib_translate',
1471 '--name', '>(out_pnacl_newlib_x86_32_nexe)',
1472 '--link_flags=^(translate_flags) >(translate_flags) -Wl,-L> (tc_lib_dir_pnacl_translate)/lib-x86-32',
1473 '>(out_pnacl_newlib)',
1474 ],
1475 }],
1476 }],
1477 [ 'enable_x86_32_nonsfi!=0 and translate_pexe_with_build!=0', {
1478 'actions': [{
1479 'action_name': 'translate newlib pexe to x86-32-nonsfi nexe',
1480 'msvs_cygwin_shell': 0,
1481 'description': 'translating >(out_pnacl_newlib_x86_32_nonsfi_ nexe)',
1482 'inputs': [
1483 # Depending on out_pnacl_newlib helps depend on
1484 # common_inputs.
1485 '>(out_pnacl_newlib)',
1486 ],
1487 'outputs': [ '>(out_pnacl_newlib_x86_32_nonsfi_nexe)' ],
1488 'action' : [
1489 '<@(common_args)',
1490 '--arch', 'x86-32-nonsfi',
1491 '--build', 'newlib_translate',
1492 '--name', '>(out_pnacl_newlib_x86_32_nonsfi_nexe)',
1493 '--link_flags=^(translate_flags) >(translate_flags) -Wl,-L> (tc_lib_dir_pnacl_translate)/lib-x86-32-nonsfi',
1494 '>(out_pnacl_newlib)',
1495 ],
1496 }],
1497 }],
1498 [ 'enable_x86_64!=0 and translate_pexe_with_build!=0', {
1499 'actions': [{
1500 'action_name': 'translate newlib pexe to x86-64 nexe',
1501 'msvs_cygwin_shell': 0,
1502 'description': 'translating >(out_pnacl_newlib_x86_64_nexe)',
1503 'inputs': [
1504 # Depending on out_pnacl_newlib helps depend on
1505 # common_inputs.
1506 '>(out_pnacl_newlib)',
1507 ],
1508 'outputs': [ '>(out_pnacl_newlib_x86_64_nexe)' ],
1509 'action' : [
1510 '<@(common_args)',
1511 '--arch', 'x86-64',
1512 '--build', 'newlib_translate',
1513 '--name', '>(out_pnacl_newlib_x86_64_nexe)',
1514 '--link_flags=^(translate_flags) >(translate_flags) -Wl,-L> (tc_lib_dir_pnacl_translate)/lib-x86-64',
1515 '>(out_pnacl_newlib)',
1516 ],
1517 }],
1518 }],
1519 [ 'enable_arm!=0 and translate_pexe_with_build!=0', {
1520 'actions': [{
1521 'action_name': 'translate newlib pexe to ARM nexe',
1522 'msvs_cygwin_shell': 0,
1523 'description': 'translating >(out_pnacl_newlib_arm_nexe)',
1524 'inputs': [
1525 # Depending on out_pnacl_newlib helps depend on
1526 # common_inputs.
1527 '>(out_pnacl_newlib)',
1528 ],
1529 'outputs': [ '>(out_pnacl_newlib_arm_nexe)' ],
1530 'action' : [
1531 '<@(common_args)',
1532 '--arch', 'arm',
1533 '--build', 'newlib_translate',
1534 '--name', '>(out_pnacl_newlib_arm_nexe)',
1535 '--link_flags=^(translate_flags) >(translate_flags) -Wl,-L> (tc_lib_dir_pnacl_translate)/lib-arm',
1536 '>(out_pnacl_newlib)',
1537 ],
1538 }],
1539 }],
1540 [ 'enable_arm_nonsfi!=0 and translate_pexe_with_build!=0', {
1541 'actions': [{
1542 'action_name': 'translate newlib pexe to ARM-nonsfi nexe',
1543 'msvs_cygwin_shell': 0,
1544 'description': 'translating >(out_pnacl_newlib_arm_nonsfi_nex e)',
1545 'inputs': [
1546 # Depending on out_pnacl_newlib helps depend on
1547 # common_inputs.
1548 '>(out_pnacl_newlib)',
1549 ],
1550 'outputs': [ '>(out_pnacl_newlib_arm_nonsfi_nexe)' ],
1551 'action' : [
1552 '<@(common_args)',
1553 '--arch', 'arm-nonsfi',
1554 '--build', 'newlib_translate',
1555 '--name', '>(out_pnacl_newlib_arm_nonsfi_nexe)',
1556 '--link_flags=^(translate_flags) >(translate_flags) -Wl,-L> (tc_lib_dir_pnacl_translate)/lib-arm-nonsfi',
1557 '>(out_pnacl_newlib)',
1558 ],
1559 }],
1560 }],
1561 [ 'enable_mips!=0 and translate_pexe_with_build!=0', {
1562 'actions': [{
1563 'action_name': 'translate newlib pexe to MIPS nexe',
1564 'msvs_cygwin_shell': 0,
1565 'description': 'translating >(out_pnacl_newlib_mips_nexe)',
1566 'inputs': [
1567 # Depending on out_pnacl_newlib helps depend on
1568 # common_inputs.
1569 '>(out_pnacl_newlib)',
1570 ],
1571 'outputs': [ '>(out_pnacl_newlib_mips_nexe)' ],
1572 'action' : [
1573 '<@(common_args)',
1574 '--arch', 'mips',
1575 '--build', 'newlib_translate',
1576 '--name', '>(out_pnacl_newlib_mips_nexe)',
1577 '--link_flags=^(translate_flags) >(translate_flags) -Wl,-L> (tc_lib_dir_pnacl_translate)/lib-mips32',
1578 '>(out_pnacl_newlib)',
1579 ],
1580 }],
1581 }],
1704 ], 1582 ],
1705 }], # end x64 1583 }], # end pnacl actions for building pexes and translating to nexes
1706 # ia32 1584 # pnacl action for building portable bitcode libraries
1707 ['enable_x86_32!=0 and disable_pnacl==0 and pnacl_native_biased==1 ' 1585 ['nlib_target!="" and disable_pnacl==0 and build_pnacl_newlib!=0'
1708 'and nlib_target!="" and build_pnacl_newlib!=0', { 1586 'and pnacl_native_biased==0', {
1709 'variables': { 1587 'variables': {
1710 'tool_name': 'pnacl_newlib_x86_32', 1588 'tool_name': 'pnacl_newlib',
1711 'out_pnacl_newlib_x86_32%': '<(SHARED_INTERMEDIATE_DIR)/tc_<(tool _name)/lib-x86-32/>(nlib_target)', 1589 'objdir_pnacl_newlib%': '>(INTERMEDIATE_DIR)/<(tool_name)-pnacl/> (_target_name)',
1712 'objdir_pnacl_newlib_x86_32%': '>(INTERMEDIATE_DIR)/<(tool_name)/ >(_target_name)', 1590 'out_pnacl_newlib%': '<(SHARED_INTERMEDIATE_DIR)/tc_<(tool_name)/ lib/>(nlib_target)',
1713 }, 1591 },
1714 'actions': [ 1592 'actions': [
1715 { 1593 {
1716 'action_name': 'build newlib x86-32 nlib (via pnacl)', 1594 'action_name': 'build newlib plib',
1717 'variables': { 1595 'variables': {
1718 'source_list_pnacl_newlib_x86_32%': '^|(<(tool_name).>(_targe t_name).source_list.gypcmd ^(_sources) ^(sources))', 1596 'source_list_pnacl_newlib%': '^|(<(tool_name).>(_target_name) .source_list.gypcmd ^(_sources) ^(sources))',
1719 }, 1597 },
1720 'msvs_cygwin_shell': 0, 1598 'msvs_cygwin_shell': 0,
1721 'description': 'building >(out_pnacl_newlib_x86_32)', 1599 'description': 'building >(out_pnacl_newlib)',
1722 'inputs': [ 1600 'inputs': [
1723 '<@(common_inputs)', 1601 '<@(common_inputs)',
1724 '>!@pymod_do_main(scan_sources -I . >(include_dirs) >(_includ e_dirs) -S >(sources) >(_sources))', 1602 '>!@pymod_do_main(scan_sources -I . >(include_dirs) >(_includ e_dirs) -S >(sources) >(_sources))',
1725 '>@(extra_deps)', 1603 '>@(extra_deps)',
1726 '>@(extra_deps_pnacl_newlib)', 1604 '>@(extra_deps_pnacl_newlib)',
1727 '^(source_list_pnacl_newlib_x86_32)', 1605 '^(source_list_pnacl_newlib)',
1728 '<(SHARED_INTERMEDIATE_DIR)/sdk/<(TOOLCHAIN_OS)_x86/pnacl_new lib/stamp.prep' 1606 '<(SHARED_INTERMEDIATE_DIR)/sdk/<(TOOLCHAIN_OS)_x86/pnacl_new lib/stamp.prep',
1729 ], 1607 ],
1730 'outputs': ['>(out_pnacl_newlib_x86_32)'], 1608 'outputs': ['>(out_pnacl_newlib)'],
1731 'action': [ 1609 'action': [
1732 '<@(common_args)', 1610 '<@(common_args)',
1733 '>@(extra_args)', 1611 '>@(extra_args)',
1734 '--arch', 'x86-32', 1612 '--arch', 'pnacl',
1735 '--build', 'newlib_nlib_pnacl', 1613 '--build', 'newlib_plib',
1736 '--name', '>(out_pnacl_newlib_x86_32)', 1614 '--name', '>(out_pnacl_newlib)',
1737 '--objdir', '>(objdir_pnacl_newlib_x86_32)', 1615 '--objdir', '>(objdir_pnacl_newlib)',
1738 '--include-dirs=>(tc_include_dir_pnacl_newlib) ^(include_dirs ) >(_include_dirs)', 1616 '--include-dirs=>(tc_include_dir_pnacl_newlib) ^(include_dirs ) >(_include_dirs)',
1739 '--compile_flags=--target=i686-unknown-nacl --pnacl-allow-tra nslate -arch x86-32 ^(compile_flags) >(_compile_flags) ^(pnacl_compile_flags) >( _pnacl_compile_flags)', 1617 # TODO(dschuff): try removing gline-tables-only after 3.5
1618 # merge when debug metadata is less memory-intensive
1619 '--compile_flags=^(compile_flags) >(_compile_flags) -gline-ta bles-only ^(pnacl_compile_flags) >(_pnacl_compile_flags)',
1740 '--gomadir', '<(gomadir)', 1620 '--gomadir', '<(gomadir)',
1741 '--defines=^(defines) >(_defines)', 1621 '--defines=^(defines) >(_defines)',
1742 '--link_flags=-B>(tc_lib_dir_pnacl_newlib) ^(link_flags) >(_l ink_flags)', 1622 '--link_flags=-B>(tc_lib_dir_pnacl_newlib) ^(link_flags) >(_l ink_flags)',
1743 '--source-list=^(source_list_pnacl_newlib_x86_32)', 1623 '--source-list=^(source_list_pnacl_newlib)',
1744 ], 1624 ],
1745 }, 1625 },
1746 ], 1626 ],
1747 }], # end ia32 1627 }], # end pnacl actions for bitcode libraries
1748 ], # end ia32 or x64 1628 ], # end target conditions for pnacl pexe/plib
1749 }], 1629 # pnacl actions for building ABI-biased native libraries
1750 # MIPS 1630 'conditions': [
1751 # The shim is not biased since the IRT itself is not biased. 1631 # ARM
1752 ['target_arch=="mipsel"', { 1632 ['target_arch=="arm"', {
1753 'target_conditions': [ 1633 'target_conditions': [
1754 ['disable_pnacl==0 and pnacl_native_biased==1 and nlib_target!="" and build_pnacl_newlib!=0', { 1634 ['disable_pnacl==0 and pnacl_native_biased==1 and nlib_target!="" and build_pnacl_newlib!=0', {
1755 'variables': {
1756 'tool_name': 'pnacl_newlib_mips',
1757 'out_pnacl_newlib_mips%': '<(SHARED_INTERMEDIATE_DIR)/tc_<(tool_n ame)/libmips/>(nlib_target)',
1758 'objdir_pnacl_newlib_mips%': '>(INTERMEDIATE_DIR)/<(tool_name)/>( _target_name)',
1759 },
1760 'actions': [
1761 {
1762 'action_name': 'build newlib mips nlib (via pnacl)',
1763 'variables': { 1635 'variables': {
1764 'source_list_pnacl_newlib_mips%': '^|(<(tool_name).>(_target_n ame).source_list.gypcmd ^(_sources) ^(sources))', 1636 'tool_name': 'pnacl_newlib_arm',
1765 }, 1637 'out_pnacl_newlib_arm%': '<(SHARED_INTERMEDIATE_DIR)/tc_<(too l_name)/libarm/>(nlib_target)',
1766 'msvs_cygwin_shell': 0, 1638 'objdir_pnacl_newlib_arm%': '>(INTERMEDIATE_DIR)/<(tool_name) />(_target_name)',
1767 'description': 'building >(out_pnacl_newlib_mips)', 1639 },
1768 'inputs': [ 1640 'actions': [
1769 '<@(common_inputs)', 1641 {
1770 '>!@pymod_do_main(scan_sources -I . >(include_dirs) >(_include _dirs) -S >(sources) >(_sources))', 1642 'action_name': 'build newlib arm nlib (via pnacl)',
1771 '>@(extra_deps)', 1643 'variables': {
1772 '>@(extra_deps_pnacl_newlib)', 1644 'source_list_pnacl_newlib_arm%': '^|(<(tool_name).>(_targe t_name).source_list.gypcmd ^(_sources) ^(sources))',
1773 '^(source_list_pnacl_newlib_mips)', 1645 },
1774 '<(SHARED_INTERMEDIATE_DIR)/sdk/<(TOOLCHAIN_OS)_x86/pnacl_newl ib/stamp.prep' 1646 'msvs_cygwin_shell': 0,
1647 'description': 'building >(out_pnacl_newlib_arm)',
1648 'inputs': [
1649 '<@(common_inputs)',
1650 '>!@pymod_do_main(scan_sources -I . >(include_dirs) >(_inc lude_dirs) -S >(sources) >(_sources))',
1651 '>@(extra_deps)',
1652 '>@(extra_deps_pnacl_newlib)',
1653 '^(source_list_pnacl_newlib_arm)',
1654 '<(SHARED_INTERMEDIATE_DIR)/sdk/<(TOOLCHAIN_OS)_x86/pnacl_ newlib/stamp.prep'
1655 ],
1656 'outputs': ['>(out_pnacl_newlib_arm)'],
1657 'action': [
1658 '<@(common_args)',
1659 '>@(extra_args)',
1660 '--arch', 'arm',
1661 '--build', 'newlib_nlib_pnacl',
1662 '--name', '>(out_pnacl_newlib_arm)',
1663 '--objdir', '>(objdir_pnacl_newlib_arm)',
1664 '--include-dirs=>(tc_include_dir_pnacl_newlib) ^(include_d irs) >(_include_dirs)',
1665 '--compile_flags=--target=armv7-unknown-nacl-gnueabi -mflo at-abi=hard --pnacl-allow-translate -arch arm ^(compile_flags) >(_compile_flags) ^(pnacl_compile_flags) >(_pnacl_compile_flags)',
1666 '--gomadir', '<(gomadir)',
1667 '--defines=^(defines) >(_defines)',
1668 '--link_flags=-B>(tc_lib_dir_pnacl_newlib) ^(link_flags) > (_link_flags)',
1669 '--source-list=^(source_list_pnacl_newlib_arm)',
1670 ],
1671 },
1775 ], 1672 ],
1776 'outputs': ['>(out_pnacl_newlib_mips)'], 1673 }],
1777 'action': [ 1674 ],
1778 '<@(common_args)', 1675 }], # end ARM
1779 '>@(extra_args)', 1676 # ia32 or x64 (want to build both for Windows)
1780 '--arch', 'mips', 1677 ['target_arch=="ia32" or target_arch=="x64"', {
1781 '--build', 'newlib_nlib_pnacl', 1678 'target_conditions': [
1782 '--name', '>(out_pnacl_newlib_mips)', 1679 # x64
1783 '--objdir', '>(objdir_pnacl_newlib_mips)', 1680 ['enable_x86_64!=0 and disable_pnacl==0 and pnacl_native_biased==1 '
1784 '--include-dirs=>(tc_include_dir_pnacl_newlib) ^(include_dirs) >(_include_dirs)', 1681 'and nlib_target!="" and build_pnacl_newlib!=0', {
1785 '--compile_flags=--pnacl-allow-translate -arch mips ^(compile_ flags) >(_compile_flags) ^(pnacl_compile_flags) >(_pnacl_compile_flags)', 1682 'variables': {
1786 '--gomadir', '<(gomadir)', 1683 'tool_name': 'pnacl_newlib_x86_64',
1787 '--defines=^(defines) >(_defines)', 1684 'out_pnacl_newlib_x86_64%': '<(SHARED_INTERMEDIATE_DIR)/tc_<( tool_name)/lib-x86-64/>(nlib_target)',
1788 '--link_flags=-B>(tc_lib_dir_pnacl_newlib) ^(link_flags) >(_li nk_flags)', 1685 'objdir_pnacl_newlib_x86_64%': '>(INTERMEDIATE_DIR)/<(tool_na me)/>(_target_name)',
1789 '--source-list=^(source_list_pnacl_newlib_mips)', 1686 },
1687 'actions': [
1688 {
1689 'action_name': 'build newlib x86-64 nlib (via pnacl)',
1690 'variables': {
1691 'source_list_pnacl_newlib_x86_64%': '^|(<(tool_name).>(_t arget_name).source_list.gypcmd ^(_sources) ^(sources))',
1692 },
1693 'msvs_cygwin_shell': 0,
1694 'description': 'building >(out_pnacl_newlib_x86_64)',
1695 'inputs': [
1696 '<@(common_inputs)',
1697 '>!@pymod_do_main(scan_sources -I . >(include_dirs) >(_in clude_dirs) -S >(sources) >(_sources))',
1698 '>@(extra_deps)',
1699 '>@(extra_deps_pnacl_newlib)',
1700 '^(source_list_pnacl_newlib_x86_64)',
1701 '<(SHARED_INTERMEDIATE_DIR)/sdk/<(TOOLCHAIN_OS)_x86/pnacl _newlib/stamp.prep'
1702 ],
1703 'outputs': ['>(out_pnacl_newlib_x86_64)'],
1704 'action': [
1705 '<@(common_args)',
1706 '>@(extra_args)',
1707 '--arch', 'x86-64',
1708 '--build', 'newlib_nlib_pnacl',
1709 '--name', '>(out_pnacl_newlib_x86_64)',
1710 '--objdir', '>(objdir_pnacl_newlib_x86_64)',
1711 '--include-dirs=>(tc_include_dir_pnacl_newlib) ^(include_ dirs) >(_include_dirs)',
1712 '--compile_flags=--target=x86_64-unknown-nacl --pnacl-all ow-translate -arch x86-64 ^(compile_flags) >(_compile_flags) ^(pnacl_compile_fla gs) >(_pnacl_compile_flags)',
1713 '--gomadir', '<(gomadir)',
1714 '--defines=^(defines) >(_defines)',
1715 '--link_flags=-B>(tc_lib_dir_pnacl_newlib) ^(link_flags) >(_link_flags)',
1716 '--source-list=^(source_list_pnacl_newlib_x86_64)',
1717 ],
1718 },
1719 ],
1720 }], # end x64
1721 # ia32
1722 ['enable_x86_32!=0 and disable_pnacl==0 and pnacl_native_biased==1 '
1723 'and nlib_target!="" and build_pnacl_newlib!=0', {
1724 'variables': {
1725 'tool_name': 'pnacl_newlib_x86_32',
1726 'out_pnacl_newlib_x86_32%': '<(SHARED_INTERMEDIATE_DIR)/tc_<( tool_name)/lib-x86-32/>(nlib_target)',
1727 'objdir_pnacl_newlib_x86_32%': '>(INTERMEDIATE_DIR)/<(tool_na me)/>(_target_name)',
1728 },
1729 'actions': [
1730 {
1731 'action_name': 'build newlib x86-32 nlib (via pnacl)',
1732 'variables': {
1733 'source_list_pnacl_newlib_x86_32%': '^|(<(tool_name).>(_t arget_name).source_list.gypcmd ^(_sources) ^(sources))',
1734 },
1735 'msvs_cygwin_shell': 0,
1736 'description': 'building >(out_pnacl_newlib_x86_32)',
1737 'inputs': [
1738 '<@(common_inputs)',
1739 '>!@pymod_do_main(scan_sources -I . >(include_dirs) >(_in clude_dirs) -S >(sources) >(_sources))',
1740 '>@(extra_deps)',
1741 '>@(extra_deps_pnacl_newlib)',
1742 '^(source_list_pnacl_newlib_x86_32)',
1743 '<(SHARED_INTERMEDIATE_DIR)/sdk/<(TOOLCHAIN_OS)_x86/pnacl _newlib/stamp.prep'
1744 ],
1745 'outputs': ['>(out_pnacl_newlib_x86_32)'],
1746 'action': [
1747 '<@(common_args)',
1748 '>@(extra_args)',
1749 '--arch', 'x86-32',
1750 '--build', 'newlib_nlib_pnacl',
1751 '--name', '>(out_pnacl_newlib_x86_32)',
1752 '--objdir', '>(objdir_pnacl_newlib_x86_32)',
1753 '--include-dirs=>(tc_include_dir_pnacl_newlib) ^(include_ dirs) >(_include_dirs)',
1754 '--compile_flags=--target=i686-unknown-nacl --pnacl-allow -translate -arch x86-32 ^(compile_flags) >(_compile_flags) ^(pnacl_compile_flags ) >(_pnacl_compile_flags)',
1755 '--gomadir', '<(gomadir)',
1756 '--defines=^(defines) >(_defines)',
1757 '--link_flags=-B>(tc_lib_dir_pnacl_newlib) ^(link_flags) >(_link_flags)',
1758 '--source-list=^(source_list_pnacl_newlib_x86_32)',
1759 ],
1760 },
1761 ],
1762 }], # end ia32
1763 ], # end ia32 or x64
1764 }],
1765 # MIPS
1766 # The shim is not biased since the IRT itself is not biased.
1767 ['target_arch=="mipsel"', {
1768 'target_conditions': [
1769 ['disable_pnacl==0 and pnacl_native_biased==1 and nlib_target!="" and build_pnacl_newlib!=0', {
1770 'variables': {
1771 'tool_name': 'pnacl_newlib_mips',
1772 'out_pnacl_newlib_mips%': '<(SHARED_INTERMEDIATE_DIR)/tc_<(to ol_name)/libmips/>(nlib_target)',
1773 'objdir_pnacl_newlib_mips%': '>(INTERMEDIATE_DIR)/<(tool_name )/>(_target_name)',
1774 },
1775 'actions': [
1776 {
1777 'action_name': 'build newlib mips nlib (via pnacl)',
1778 'variables': {
1779 'source_list_pnacl_newlib_mips%': '^|(<(tool_name).>(_targ et_name).source_list.gypcmd ^(_sources) ^(sources))',
1780 },
1781 'msvs_cygwin_shell': 0,
1782 'description': 'building >(out_pnacl_newlib_mips)',
1783 'inputs': [
1784 '<@(common_inputs)',
1785 '>!@pymod_do_main(scan_sources -I . >(include_dirs) >(_inc lude_dirs) -S >(sources) >(_sources))',
1786 '>@(extra_deps)',
1787 '>@(extra_deps_pnacl_newlib)',
1788 '^(source_list_pnacl_newlib_mips)',
1789 '<(SHARED_INTERMEDIATE_DIR)/sdk/<(TOOLCHAIN_OS)_x86/pnacl_ newlib/stamp.prep'
1790 ],
1791 'outputs': ['>(out_pnacl_newlib_mips)'],
1792 'action': [
1793 '<@(common_args)',
1794 '>@(extra_args)',
1795 '--arch', 'mips',
1796 '--build', 'newlib_nlib_pnacl',
1797 '--name', '>(out_pnacl_newlib_mips)',
1798 '--objdir', '>(objdir_pnacl_newlib_mips)',
1799 '--include-dirs=>(tc_include_dir_pnacl_newlib) ^(include_d irs) >(_include_dirs)',
1800 '--compile_flags=--pnacl-allow-translate -arch mips ^(comp ile_flags) >(_compile_flags) ^(pnacl_compile_flags) >(_pnacl_compile_flags)',
1801 '--gomadir', '<(gomadir)',
1802 '--defines=^(defines) >(_defines)',
1803 '--link_flags=-B>(tc_lib_dir_pnacl_newlib) ^(link_flags) > (_link_flags)',
1804 '--source-list=^(source_list_pnacl_newlib_mips)',
1805 ],
1806 },
1790 ], 1807 ],
1791 }, 1808 }],
1792 ], 1809 ],
1793 }], 1810 }], # end MIPS
1794 ], 1811 # end pnacl actions for building ABI-biased native libraries
1795 }], # end MIPS 1812 ], # end conditions for pnacl biased nlib
1796 # end pnacl actions for building ABI-biased native libraries 1813 },
1797 ], # end conditions for pnacl biased nlib 1814 }],
1798 }, 1815 ],
1799 } 1816 }
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698