config.gypi (22552B)
1 # This Source Code Form is subject to the terms of the Mozilla Public 2 # License, v. 2.0. If a copy of the MPL was not distributed with this 3 # file, You can obtain one at http://mozilla.org/MPL/2.0/. 4 { 5 'variables': { 6 'module%': '', 7 'variables': { 8 'variables': { 9 'variables': { 10 'python%': 'python3', 11 }, 12 # chromium uses pymod_do_main, but gyp doesn't set a sensible 13 # Python sys.path (gyp_chromium does). 14 'python%': '<(python)', 15 'host_arch%': '<!("<(python)" <(DEPTH)/coreconf/detect_host_arch.py)', 16 }, 17 'python%': '<(python)', 18 'host_arch%': '<(host_arch)', 19 'conditions': [ 20 ['OS=="android"', { 21 'target_arch%': 'arm', 22 }, 'OS=="ios"', { 23 'target_arch%': 'arm64', 24 }, { 25 # Default architecture we're building for is the architecture we're 26 # building on. 27 'target_arch%': '<(host_arch)', 28 }], 29 ['OS=="linux"', { 30 # FIPS-140 LOWHASH 31 'freebl_name': 'freeblpriv3', 32 }, { 33 'freebl_name': 'freebl3', 34 }], 35 ['OS=="mac"', { 36 'use_system_sqlite%': 1, 37 },{ 38 'use_system_sqlite%': 0, 39 }], 40 ['OS=="mac" or OS=="ios" or OS=="solaris" or OS=="win"', { 41 'cc_use_gnu_ld%': 0, 42 }, { 43 'cc_use_gnu_ld%': 1, 44 }], 45 ['OS=="win"', { 46 'use_system_zlib%': 0, 47 'nspr_libs%': ['libnspr4.lib', 'libplc4.lib', 'libplds4.lib'], 48 'zlib_libs%': [], 49 #TODO 50 'moz_debug_flags%': '', 51 'dll_prefix': '', 52 'dll_suffix': 'dll', 53 }, { 54 'use_system_zlib%': 1, 55 'nspr_libs%': ['-lplds4', '-lplc4', '-lnspr4'], 56 'zlib_libs%': ['-lz'], 57 'dll_prefix': 'lib', 58 'conditions': [ 59 ['OS=="mac" or OS=="ios"', { 60 'moz_debug_flags%': '-gdwarf-2 -gfull', 61 'dll_suffix': 'dylib', 62 }, { 63 'moz_debug_flags%': '-gdwarf-2', 64 'dll_suffix': 'so', 65 }], 66 ], 67 }], 68 ['"<(GENERATOR)"=="ninja"', { 69 'cc_is_clang%': '<!("<(python)" <(DEPTH)/coreconf/check_cc.py clang)', 70 }, { 71 'cc_is_clang%': '0', 72 }], 73 ['"<(GENERATOR)"=="ninja"', { 74 'cc_is_gcc%': '<!("<(python)" <(DEPTH)/coreconf/check_cc.py gcc)', 75 }, { 76 'cc_is_gcc%': '0', 77 }], 78 ['"<(GENERATOR)"=="ninja"', { 79 'cc_is_cc%': '<!("<(python)" <(DEPTH)/coreconf/check_cc.py cc)', 80 }, { 81 'cc_is_cc%': '0', 82 }], 83 ], 84 }, 85 # Copy conditionally-set variables out one scope. 86 'python%': '<(python)', 87 'host_arch%': '<(host_arch)', 88 'target_arch%': '<(target_arch)', 89 'use_system_zlib%': '<(use_system_zlib)', 90 'zlib_libs%': ['<@(zlib_libs)'], 91 'moz_debug_flags%': '<(moz_debug_flags)', 92 'nspr_libs%': ['<@(nspr_libs)'], 93 'nspr_lib_dir%': '<(nspr_lib_dir)', 94 'nspr_include_dir%': '<(nspr_include_dir)', 95 'use_system_sqlite%': '<(use_system_sqlite)', 96 'sqlite_libs%': ['-lsqlite3'], 97 'dll_prefix': '<(dll_prefix)', 98 'dll_suffix': '<(dll_suffix)', 99 'freebl_name': '<(freebl_name)', 100 'cc_is_clang%': '<(cc_is_clang)', 101 'cc_is_gcc%': '<(cc_is_gcc)', 102 'cc_use_gnu_ld%': '<(cc_use_gnu_ld)', 103 # Some defaults 104 'disable_arm_hw_aes%': 0, 105 'disable_arm_hw_sha1%': 0, 106 'disable_arm_hw_sha2%': 0, 107 'disable_intel_hw_sha%': 0, 108 'disable_tests%': 0, 109 'disable_chachapoly%': 0, 110 'disable_dsa%': 0, 111 'disable_deprecated_seed%': 0, 112 'disable_deprecated_rc2%': 0, 113 'disable_dbm%': 1, 114 'disable_libpkix%': 1, 115 'disable_kyber%' : 0, 116 'disable_werror%': 0, 117 'disable_altivec%': 0, 118 'disable_crypto_vsx%': 0, 119 'disable_arm32_neon%': 0, 120 'mozilla_client%': 0, 121 'comm_client%': 0, 122 'moz_fold_libs%': 0, 123 'moz_folded_library_name%': '', 124 'sanitizer_flags%': 0, 125 'static_libs%': 0, 126 'no_zdefs%': 0, 127 'fuzz%': 0, 128 'fuzz_tls%': 0, 129 'fuzz_oss%': 0, 130 'sign_libs%': 1, 131 'use_pprof%': 0, 132 'ct_verif%': 0, 133 'emit_llvm%': 0, 134 'nss_public_dist_dir%': '<(nss_dist_dir)/public', 135 'nss_private_dist_dir%': '<(nss_dist_dir)/private', 136 # This is only needed when building with --mozpkix-only and might not work 137 # on all machines. 138 'nss_include_dir%': '/usr/include/nss', 139 'only_dev_random%': 1, 140 'disable_fips%': 1, 141 'fips_module_id%': '', 142 'mozpkix_only%': 0, 143 'mozilla_central%': 0, 144 'coverage%': 0, 145 'softfp_cflags%': '', 146 'enable_draft_hpke%': 0, 147 'disable_ckbi%': 0, 148 'ppc_abi%': 0, 149 'use_pkcs5_pbkd2_params2_only%': 0, 150 'nss_use_pkcs5_pbkd2_params2_only%': 0, 151 'softoken_use_pkcs5_pbkd2_params2_only%': 0, 152 }, 153 'target_defaults': { 154 # Settings specific to targets should go here. 155 # This is mostly for linking to libraries. 156 'variables': { 157 'mapfile%': '', 158 'static_libs%': 0, 159 'debug_optimization_level%': '0', 160 'release_optimization_level%': '2', 161 }, 162 'standalone_static_library': 0, 163 'include_dirs': [ 164 '<(nspr_include_dir)', 165 '<(nss_dist_dir)/private/<(module)', 166 ], 167 'conditions': [ 168 [ 'mozpkix_only==1 and OS=="linux"', { 169 'include_dirs': [ 170 '<(nss_include_dir)', 171 ], 172 }], 173 [ 'disable_fips==0', { 174 'defines': [ 175 'NSS_ENABLE_FIPS_INDICATORS', 176 ], 177 }], 178 [ 'disable_fips==1', { 179 'defines': [ 180 'NSS_FIPS_DISABLED', 181 'NSS_NO_INIT_SUPPORT', 182 ], 183 }], 184 [ 'fips_module_id!=""', { 185 'defines': [ 186 'NSS_FIPS_MODULE_ID="<(fips_module_id)"' 187 ], 188 }], 189 [ 'OS!="android" and OS!="mac" and OS!="ios" and OS!="win"', { 190 'libraries': [ 191 '-lpthread', 192 ], 193 }], 194 [ 'OS=="linux"', { 195 'libraries': [ 196 '-ldl', 197 '-lc', 198 ], 199 }], 200 [ 'OS=="android"', { 201 'libraries': [ 202 '-llog', 203 ], 204 }], 205 [ 'fuzz==1', { 206 'variables': { 207 'debug_optimization_level%': '3', 208 }, 209 }], 210 [ 'target_arch=="ia32" or target_arch=="x64"', { 211 'defines': [ 212 'NSS_X86_OR_X64', 213 ], 214 # For Windows. 215 'msvs_settings': { 216 'VCCLCompilerTool': { 217 'PreprocessorDefinitions': [ 218 'NSS_X86_OR_X64', 219 ], 220 }, 221 }, 222 }], 223 [ 'target_arch=="ia32"', { 224 'defines': [ 225 'NSS_X86', 226 ], 227 # For Windows. 228 'msvs_settings': { 229 'VCCLCompilerTool': { 230 'PreprocessorDefinitions': [ 231 'NSS_X86', 232 ], 233 }, 234 }, 235 }], 236 [ 'target_arch=="arm64" or target_arch=="aarch64" or target_arch=="sparc64" or target_arch=="ppc64" or target_arch=="ppc64le" or target_arch=="s390x" or target_arch=="mips64" or target_arch=="e2k" or target_arch=="riscv64" or target_arch=="loongarch64"', { 237 'defines': [ 238 'NSS_USE_64', 239 ], 240 }], 241 [ 'target_arch=="x64"', { 242 'defines': [ 243 'NSS_X64', 244 'NSS_USE_64', 245 ], 246 # For Windows. 247 'msvs_settings': { 248 'VCCLCompilerTool': { 249 'PreprocessorDefinitions': [ 250 'NSS_X64', 251 'NSS_USE_64', 252 ], 253 }, 254 }, 255 }], 256 ], 257 'target_conditions': [ 258 # If we want to properly export a static library, and copy it to lib, 259 # we need to mark it as a 'standalone_static_library'. Otherwise, 260 # the relative paths in the thin archive will break linking. 261 [ '_type=="shared_library"', { 262 'product_dir': '<(nss_dist_obj_dir)/lib' 263 }, '_type=="executable"', { 264 'product_dir': '<(nss_dist_obj_dir)/bin' 265 }, 'static_libs==1 or _standalone_static_library==1', { 266 'product_dir': '<(nss_dist_obj_dir)/lib' 267 }], 268 # mapfile handling 269 [ 'mapfile!=""', { 270 # Work around a gyp bug. Fixed upstream but not in Ubuntu packages: 271 # https://chromium.googlesource.com/external/gyp/+/b85ad3e578da830377dbc1843aa4fbc5af17a192%5E%21/ 272 'sources': [ 273 '<(DEPTH)/coreconf/empty.c', 274 ], 275 'xcode_settings': { 276 'OTHER_LDFLAGS': [ 277 '-exported_symbols_list', 278 '<(INTERMEDIATE_DIR)/out.>(mapfile)', 279 ], 280 }, 281 'conditions': [ 282 [ 'cc_use_gnu_ld==1', { 283 'ldflags': [ 284 '-Wl,--version-script,<(INTERMEDIATE_DIR)/out.>(mapfile)', 285 ], 286 }], 287 [ 'cc_use_gnu_ld!=1 and OS=="win"', { 288 # On Windows, .def files are used directly as sources. 289 'sources': [ 290 '>(mapfile)', 291 ], 292 }, { 293 # On other platforms, .def files need processing. 294 'sources': [ 295 '<(INTERMEDIATE_DIR)/out.>(mapfile)', 296 ], 297 'actions': [{ 298 'action_name': 'generate_mapfile', 299 'inputs': [ 300 '>(mapfile)', 301 ], 302 'outputs': [ 303 '<(INTERMEDIATE_DIR)/out.>(mapfile)', 304 ], 305 'action': ['<@(process_map_file)'], 306 }], 307 }] 308 ], 309 }, 'static_libs==1 and _type=="shared_library"', { 310 # When linking a shared lib against a static one, XCode doesn't 311 # export the latter's symbols by default. -all_load fixes that. 312 'xcode_settings': { 313 'OTHER_LDFLAGS': [ 314 '-all_load', 315 ], 316 }, 317 }], 318 [ '_type=="shared_library" or _type=="executable"', { 319 'libraries': [ 320 '<@(nspr_libs)', 321 ], 322 'library_dirs': [ 323 '<(nspr_lib_dir)', 324 ], 325 }], 326 # Shared library specific settings. 327 [ '_type=="shared_library"', { 328 'conditions': [ 329 [ 'cc_use_gnu_ld==1', { 330 'ldflags': [ 331 '-Wl,--gc-sections', 332 ], 333 'conditions': [ 334 ['no_zdefs==0', { 335 'ldflags': [ 336 '-Wl,-z,defs', 337 ], 338 }], 339 ], 340 }], 341 ], 342 'xcode_settings': { 343 'DYLIB_INSTALL_NAME_BASE': '@executable_path', 344 'DYLIB_COMPATIBILITY_VERSION': '1', 345 'DYLIB_CURRENT_VERSION': '1', 346 'OTHER_LDFLAGS': [ 347 '-headerpad_max_install_names', 348 ], 349 }, 350 'msvs_settings': { 351 'VCLinkerTool': { 352 'SubSystem': '2', 353 }, 354 }, 355 }], 356 [ '_type=="static_library" and static_libs==1', { 357 'standalone_static_library': 1, 358 }], 359 ], 360 'default_configuration': 'Debug', 361 'configurations': { 362 # Common settings for Debug+Release should go here. 363 'Common': { 364 'abstract': 1, 365 'defines': [ 366 'USE_UTIL_DIRECTLY', 367 'NO_NSPR_10_SUPPORT', 368 'SSL_DISABLE_DEPRECATED_CIPHER_SUITE_NAMES', 369 ], 370 'msvs_configuration_attributes': { 371 'OutputDirectory': '$(SolutionDir)$(ConfigurationName)', 372 'IntermediateDirectory': '$(OutDir)\\obj\\$(ProjectName)', 373 }, 374 'msvs_settings': { 375 'VCCLCompilerTool': { 376 'AdditionalIncludeDirectories': ['<(nspr_include_dir)'], 377 }, 378 }, 379 'xcode_settings': { 380 'CLANG_CXX_LANGUAGE_STANDARD': 'c++0x', 381 'OTHER_CFLAGS': [ 382 '-fPIC', 383 '-fno-common', 384 '-pipe', 385 ], 386 }, 387 'conditions': [ 388 [ 'OS=="linux" or OS=="android"', { 389 'defines': [ 390 'LINUX2_1', 391 'LINUX', 392 'linux', 393 '_DEFAULT_SOURCE', # for <endian.h> functions, strdup, realpath, and getentropy 394 '_BSD_SOURCE', # for the above in glibc <= 2.19 395 '_POSIX_SOURCE', # for <signal.h> 396 'SDB_MEASURE_USE_TEMP_DIR', # use tmpdir for the access calls 397 ], 398 }], 399 [ 'OS=="dragonfly" or OS=="freebsd"', { 400 'defines': [ 401 'FREEBSD', 402 ], 403 }], 404 [ 'OS=="netbsd"', { 405 'defines': [ 406 'NETBSD', 407 ], 408 }], 409 [ 'OS=="openbsd"', { 410 'defines': [ 411 'OPENBSD', 412 ], 413 }], 414 ['OS=="mac" or OS=="ios" or OS=="dragonfly" or OS=="freebsd" or OS=="netbsd" or OS=="openbsd"', { 415 'defines': [ 416 'HAVE_BSD_FLOCK', 417 ], 418 }], 419 [ 'OS!="win"', { 420 'defines': [ 421 'HAVE_STRERROR', 422 'XP_UNIX', 423 '_REENTRANT', 424 ], 425 }], 426 [ 'OS!="mac" and OS!="ios" and OS!="solaris" and OS!="win"', { 427 'ldflags': [ 428 '-z', 'noexecstack', 429 ], 430 }], 431 [ 'OS!="mac" and OS!="ios" and OS!="win"', { 432 'cflags': [ 433 '-fPIC', 434 '-pipe', 435 '-ffunction-sections', 436 '-fdata-sections', 437 ], 438 'cflags_c': [ 439 '-std=c99', 440 ], 441 'cflags_cc': [ 442 '-std=c++11', 443 ], 444 'conditions': [ 445 [ 'target_arch=="ia32"', { 446 'cflags': ['-m32'], 447 'ldflags': ['-m32'], 448 }], 449 [ 'target_arch=="x64"', { 450 'cflags': ['-m64'], 451 'ldflags': ['-m64'], 452 }], 453 ], 454 }], 455 [ 'use_pprof==1 and OS!="android" and OS!="win"', { 456 'conditions': [ 457 [ 'OS=="mac" or OS=="ios"', { 458 'xcode_settings': { 459 'OTHER_LDFLAGS': [ '-lprofiler' ], 460 }, 461 }, { 462 'ldflags': [ '-lprofiler' ], 463 }], 464 [ 'OS!="linux"', { 465 'library_dirs': [ 466 '/usr/local/lib/', 467 ], 468 }], 469 ], 470 }], 471 [ 'disable_werror==0 and OS!="android" and OS!="win"', { 472 'cflags': [ 473 '<!@("<(python)" <(DEPTH)/coreconf/werror.py)', 474 ], 475 'xcode_settings': { 476 'OTHER_CFLAGS': [ 477 '<!@("<(python)" <(DEPTH)/coreconf/werror.py)', 478 ], 479 }, 480 }], 481 [ 'fuzz_tls==1', { 482 'cflags': [ 483 '-Wno-unused-function', 484 '-Wno-unused-variable', 485 ], 486 'xcode_settings': { 487 'OTHER_CFLAGS': [ 488 '-Wno-unused-function', 489 '-Wno-unused-variable', 490 ], 491 }, 492 }], 493 [ 'sanitizer_flags!=0', { 494 'cflags': ['<@(sanitizer_flags)'], 495 'ldflags': ['<@(sanitizer_flags)'], 496 'xcode_settings': { 497 'OTHER_CFLAGS': ['<@(sanitizer_flags)'], 498 # We want to pass -fsanitize=... to our final link call, 499 # but not to libtool. OTHER_LDFLAGS is passed to both. 500 # To trick GYP into doing what we want, we'll piggyback on 501 # LIBRARY_SEARCH_PATHS, producing "-L/usr/lib -fsanitize=...". 502 # The -L/usr/lib is redundant but innocuous: it's a default path. 503 'LIBRARY_SEARCH_PATHS': ['/usr/lib <(sanitizer_flags)'], 504 }, 505 }], 506 [ 'emit_llvm==1', { 507 'cflags': ['-flto'], 508 'ldflags': ['-flto', '-fuse-ld=gold', '-Wl,-plugin-opt=save-temps'], 509 }], 510 [ 'OS=="android" and mozilla_client==0', { 511 'defines': [ 512 'NO_SYSINFO', 513 'NO_FORK_CHECK', 514 'ANDROID', 515 ], 516 }], 517 [ 'OS=="mac" or OS=="ios"', { 518 'defines': [ 519 'DARWIN', 520 ], 521 'conditions': [ 522 [ 'target_arch=="ia32"', { 523 'xcode_settings': { 524 'ARCHS': ['i386'], 525 }, 526 }], 527 [ 'target_arch=="x64"', { 528 'xcode_settings': { 529 'ARCHS': ['x86_64'], 530 }, 531 }], 532 [ 'target_arch=="arm64"', { 533 'xcode_settings': { 534 'ARCHS': ['arm64'], 535 }, 536 }], 537 ], 538 }], 539 [ 'OS=="ios"', { 540 'xcode_settings': { 541 'IPHONEOS_DEPLOYMENT_TARGET': '<(iphone_deployment_target)', 542 }, 543 }], 544 [ 'OS=="win"', { 545 'defines': [ 546 '_WINDOWS', 547 '_CRT_SECURE_NO_WARNINGS', 548 '_CRT_NONSTDC_NO_WARNINGS', 549 ], 550 'cflags': [ 551 '-W3', 552 '-w44267', # Disable C4267: conversion from 'size_t' to 'type', possible loss of data 553 '-w44244', # Disable C4244: conversion from 'type1' to 'type2', possible loss of data 554 '-w44018', # Disable C4018: 'expression' : signed/unsigned mismatch 555 '-w44312', # Disable C4312: 'type cast': conversion from 'type1' to 'type2' of greater size 556 ], 557 'conditions': [ 558 [ 'disable_werror==0', { 559 'cflags': ['-WX'] 560 }], 561 [ 'target_arch=="ia32"', { 562 'msvs_configuration_platform': 'Win32', 563 'msvs_settings': { 564 'VCLinkerTool': { 565 'MinimumRequiredVersion': '5.01', # XP. 566 'TargetMachine': '1', 567 'ImageHasSafeExceptionHandlers': 'false', 568 }, 569 'VCCLCompilerTool': { 570 'PreprocessorDefinitions': [ 571 'WIN32', 572 ], 573 'AdditionalOptions': [ '/EHsc' ], 574 }, 575 }, 576 }], 577 [ 'target_arch=="x64"', { 578 'msvs_configuration_platform': 'x64', 579 'msvs_settings': { 580 'VCLinkerTool': { 581 'TargetMachine': '17', # x86-64 582 }, 583 'VCCLCompilerTool': { 584 'PreprocessorDefinitions': [ 585 'WIN64', 586 '_AMD64_', 587 ], 588 'AdditionalOptions': [ '/EHsc' ], 589 }, 590 }, 591 }], 592 ], 593 }], 594 [ 'disable_dbm==1', { 595 'defines': [ 596 'NSS_DISABLE_DBM', 597 ], 598 }], 599 [ 'disable_libpkix==1', { 600 'defines': [ 601 'NSS_DISABLE_LIBPKIX', 602 ], 603 }], 604 [ 'disable_dsa==1', { 605 'defines': [ 606 'NSS_DISABLE_DSA', 607 ], 608 }], 609 [ 'disable_deprecated_seed==1', { 610 'defines': [ 611 'NSS_DISABLE_DEPRECATED_SEED', 612 ], 613 }], 614 [ 'disable_deprecated_rc2==1', { 615 'defines': [ 616 'NSS_DISABLE_DEPRECATED_RC2', 617 ], 618 }], 619 [ 'disable_kyber==1', { 620 'defines': [ 621 'NSS_DISABLE_KYBER', 622 ], 623 }], 624 625 [ 'use_pkcs5_pbkd2_params2_only==1', { 626 'defines': [ 627 'NSS_USE_PKCS5_PBKD2_PARAMS2_ONLY', 628 'SOFTOKEN_USE_PKCS5_PBKD2_PARAMS2_ONLY', 629 ], 630 }], 631 [ 'nss_use_pkcs5_pbkd2_params2_only==1', { 632 'defines': [ 633 'NSS_USE_PKCS5_PBKD2_PARAMS2_ONLY', 634 ], 635 }], 636 [ 'softoken_use_pkcs5_pbkd2_params2_only==1', { 637 'defines': [ 638 'SOFTOKEN_USE_PKCS5_PBKD2_PARAMS2_ONLY', 639 ], 640 }], 641 ], 642 }, 643 # Common settings for debug should go here. 644 'Debug': { 645 'inherit_from': ['Common'], 646 'conditions': [ 647 [ 'OS!="mac" and OS!="ios" and OS!="win"', { 648 'cflags': [ 649 '-g', 650 '<(moz_debug_flags)', 651 ], 652 }] 653 ], 654 #TODO: DEBUG_$USER 655 'defines': ['DEBUG'], 656 'cflags': [ '-O<(debug_optimization_level)' ], 657 'xcode_settings': { 658 'COPY_PHASE_STRIP': 'NO', 659 'GCC_OPTIMIZATION_LEVEL': '<(debug_optimization_level)', 660 'GCC_GENERATE_DEBUGGING_SYMBOLS': 'YES', 661 }, 662 'msvs_settings': { 663 'VCCLCompilerTool': { 664 'Optimization': '<(debug_optimization_level)', 665 'BasicRuntimeChecks': '3', 666 'RuntimeLibrary': '2', # /MD 667 'DebugInformationFormat': '3', 668 }, 669 'VCLinkerTool': { 670 'LinkIncremental': '1', 671 'GenerateDebugInformation' : 'true', 672 }, 673 'VCResourceCompilerTool': { 674 'PreprocessorDefinitions': ['DEBUG'], 675 }, 676 }, 677 }, 678 # Common settings for release should go here. 679 'Release': { 680 'inherit_from': ['Common'], 681 'defines': ['NDEBUG'], 682 'cflags': [ '-O<(release_optimization_level)' ], 683 'xcode_settings': { 684 'DEAD_CODE_STRIPPING': 'YES', # -Wl,-dead_strip 685 'GCC_OPTIMIZATION_LEVEL': '<(release_optimization_level)', 686 }, 687 'msvs_settings': { 688 'VCCLCompilerTool': { 689 'Optimization': '<(release_optimization_level)', 690 'RuntimeLibrary': '2', # /MD 691 }, 692 'VCLinkerTool': { 693 'LinkIncremental': '1', 694 }, 695 }, 696 }, 697 'conditions': [ 698 [ 'OS=="win"', { 699 # The gyp ninja backend requires these. 700 # TODO: either we should support building both 32/64-bit as 701 # configurations from the same gyp build, or we should fix 702 # upstream gyp to not require these. 703 'Debug_x64': { 704 'inherit_from': ['Debug'], 705 }, 706 'Release_x64': { 707 'inherit_from': ['Release'], 708 }, 709 }], 710 ], 711 }, 712 }, 713 'conditions': [ 714 [ 'cc_use_gnu_ld==1 or OS=="solaris"', { 715 'variables': { 716 'process_map_file': ['/bin/sh', '-c', '/usr/bin/env grep -v ";-" >(mapfile) | sed -e "s,;+,," -e "s; DATA ;;" -e "s,;;,," -e "s,;.*,;," > >@(_outputs)'], 717 }, 718 }], 719 [ 'OS=="mac" or OS=="ios"', { 720 'variables': { 721 'process_map_file': ['/bin/sh', '-c', '/usr/bin/grep -v ";+" >(mapfile) | grep -v ";-" | sed -e "s; DATA ;;" -e "s,;;,," -e "s,;.*,," -e "s,^,_," > >@(_outputs)'], 722 }, 723 }], 724 ], 725 }