• Home
  • Raw
  • Download

Lines Matching +full:linux +full:- +full:32 +full:- +full:no +full:- +full:asm

49 valid_os = ('win', 'mac', 'solaris', 'freebsd', 'openbsd', 'linux',
54 valid_arm_fpu = ('vfp', 'vfpv3', 'vfpv3-d16', 'neon')
58 valid_intl_modes = ('none', 'small-icu', 'full-icu', 'system-icu')
59 icu_versions = json.loads((tools_path / 'icu' / 'icu_versions.json').read_text(encoding='utf-8'))
61 shareable_builtins = {'cjs_module_lexer/lexer': 'deps/cjs-module-lexer/lexer.js',
62 'cjs_module_lexer/dist/lexer': 'deps/cjs-module-lexer/dist/lexer.js',
69 "built-in dependencies or its shared representations. If necessary, "
83 # Options should be in alphabetical order but keep --prefix at the top,
85 parser.add_argument('--prefix',
91 parser.add_argument('--coverage',
97 parser.add_argument('--debug',
103 parser.add_argument('--debug-node',
109 parser.add_argument('--dest-cpu',
115 parser.add_argument('--cross-compiling',
120 parser.add_argument('--no-cross-compiling',
126 parser.add_argument('--dest-os',
132 parser.add_argument('--error-on-warn',
138 parser.add_argument('--gdb',
144 parser.add_argument('--no-ifaddrs',
150 parser.add_argument('--disable-single-executable-application',
156 parser.add_argument("--fully-static",
163 parser.add_argument("--partly-static",
170 parser.add_argument("--enable-vtune-profiling",
177 parser.add_argument("--enable-pgo-generate",
182 "on linux with gcc and g++ 5.4.1 or newer.")
184 parser.add_argument("--enable-pgo-use",
188 help="Enable use of the profile generated with --enable-pgo-generate. This "
189 "feature is only available on linux with gcc and g++ 5.4.1 or newer.")
191 parser.add_argument("--enable-lto",
198 parser.add_argument("--link-module",
206 parser.add_argument("--openssl-conf-name",
212 parser.add_argument('--openssl-default-cipher-list',
217 parser.add_argument("--openssl-no-asm",
223 parser.add_argument('--openssl-is-fips',
229 parser.add_argument('--openssl-use-def-ca-store',
233 help='Use OpenSSL supplied CA store instead of compiled-in Mozilla CA copy.')
235 parser.add_argument('--openssl-system-ca-path',
239 'the OpenSSL supplied CA store or compiled-in Mozilla CA copy.')
241 parser.add_argument('--experimental-http-parser',
245 help='(no-op)')
247 shared_optgroup.add_argument('--shared-http-parser',
253 shared_optgroup.add_argument('--shared-http-parser-includes',
258 shared_optgroup.add_argument('--shared-http-parser-libname',
264 shared_optgroup.add_argument('--shared-http-parser-libpath',
269 shared_optgroup.add_argument('--shared-libuv',
275 shared_optgroup.add_argument('--shared-libuv-includes',
280 shared_optgroup.add_argument('--shared-libuv-libname',
286 shared_optgroup.add_argument('--shared-libuv-libpath',
291 shared_optgroup.add_argument('--shared-nghttp2',
297 shared_optgroup.add_argument('--shared-nghttp2-includes',
302 shared_optgroup.add_argument('--shared-nghttp2-libname',
308 shared_optgroup.add_argument('--shared-nghttp2-libpath',
313 shared_optgroup.add_argument('--shared-nghttp3',
319 shared_optgroup.add_argument('--shared-nghttp3-includes',
324 shared_optgroup.add_argument('--shared-nghttp3-libname',
330 shared_optgroup.add_argument('--shared-nghttp3-libpath',
335 shared_optgroup.add_argument('--shared-ngtcp2',
341 shared_optgroup.add_argument('--shared-ngtcp2-includes',
346 shared_optgroup.add_argument('--shared-ngtcp2-libname',
352 shared_optgroup.add_argument('--shared-ngtcp2-libpath',
357 shared_optgroup.add_argument('--shared-openssl',
363 shared_optgroup.add_argument('--shared-openssl-includes',
368 shared_optgroup.add_argument('--shared-openssl-libname',
374 shared_optgroup.add_argument('--shared-openssl-libpath',
379 shared_optgroup.add_argument('--shared-zlib',
385 shared_optgroup.add_argument('--shared-zlib-includes',
390 shared_optgroup.add_argument('--shared-zlib-libname',
396 shared_optgroup.add_argument('--shared-zlib-libpath',
401 shared_optgroup.add_argument('--shared-brotli',
407 shared_optgroup.add_argument('--shared-brotli-includes',
412 shared_optgroup.add_argument('--shared-brotli-libname',
418 shared_optgroup.add_argument('--shared-brotli-libpath',
423 shared_optgroup.add_argument('--shared-cares',
429 shared_optgroup.add_argument('--shared-cares-includes',
434 shared_optgroup.add_argument('--shared-cares-libname',
440 shared_optgroup.add_argument('--shared-cares-libpath',
449 shared_builtin_optgroup.add_argument('--shared-builtin-' + builtin + '-path',
457 static_optgroup.add_argument('--static-zoslib-gyp',
464 parser.add_argument('--systemtap-includes',
469 parser.add_argument('--tag',
474 parser.add_argument('--release-urlbase',
481 parser.add_argument('--enable-d8',
487 parser.add_argument('--enable-trace-maps',
491 help='Enable the --trace-maps flag in V8 (use at your own risk)')
493 parser.add_argument('--experimental-enable-pointer-compression',
499 parser.add_argument('--disable-shared-readonly-heap',
503 help='Disable the shared read-only heap feature in V8')
505 parser.add_argument('--v8-options',
508 help='v8 options to pass, see `node --v8-options` for examples.')
510 parser.add_argument('--with-ossfuzz',
514 help='Enables building of fuzzers. This command should be run in an OSS-Fuzz Docker image.')
516 parser.add_argument('--with-arm-float-abi',
520 help=f"specifies which floating-point ABI to use ({', '.join(valid_arm_float_abi)}).")
522 parser.add_argument('--with-arm-fpu',
528 parser.add_argument('--with-mips-arch-variant',
535 parser.add_argument('--with-mips-fpu-mode',
542 parser.add_argument('--with-mips-float-abi',
547 help=f"MIPS floating-point ABI ({', '.join(valid_mips_float_abi)}) [default: %(default)s]")
549 parser.add_argument('--with-dtrace',
555 parser.add_argument('--with-etw',
561 parser.add_argument('--use-largepages',
565 help='This option has no effect. --use-largepages is now a runtime option.')
567 parser.add_argument('--use-largepages-script-lld',
571 help='This option has no effect. --use-largepages is now a runtime option.')
573 parser.add_argument('--use-section-ordering-file',
581 intl_optgroup.add_argument('--with-intl',
584 default='full-icu',
588 intl_optgroup.add_argument('--without-intl',
592 help='Disable Intl, same as --with-intl=none')
594 intl_optgroup.add_argument('--with-icu-path',
601 intl_optgroup.add_argument('--with-icu-locales',
605 help='Comma-separated list of locales for "small-icu". "root" is assumed. '
608 intl_optgroup.add_argument('--with-icu-source',
615 intl_optgroup.add_argument('--with-icu-default-data-dir',
620 '--icu-data-dir runtime argument is used. This option has effect '
621 'only when Node.js is built with --with-intl=small-icu.')
623 parser.add_argument('--with-ltcg',
629 parser.add_argument('--without-node-snapshot',
635 parser.add_argument('--without-node-code-cache',
641 intl_optgroup.add_argument('--download',
646 intl_optgroup.add_argument('--download-path',
654 parser.add_argument('--debug-lib',
660 http2_optgroup.add_argument('--debug-nghttp2',
668 parser.add_argument('--without-dtrace',
674 parser.add_argument('--without-etw',
680 parser.add_argument('--without-npm',
686 parser.add_argument('--without-corepack',
693 parser.add_argument('--without-report',
699 parser.add_argument('--with-snapshot',
705 parser.add_argument('--without-snapshot',
711 parser.add_argument('--without-siphash',
719 parser.add_argument('--without-ssl',
725 parser.add_argument('--without-node-options',
731 parser.add_argument('--ninja',
737 parser.add_argument('--enable-asan',
743 parser.add_argument('--enable-static',
749 parser.add_argument('--no-browser-globals',
757 parser.add_argument('--without-inspector',
763 parser.add_argument('--shared',
770 parser.add_argument('--libdir',
775 'prefix. This is a no-op if --shared is not specified. ' +
778 parser.add_argument('--without-v8-platform',
785 parser.add_argument('--without-bundled-v8',
792 parser.add_argument('--verbose',
798 parser.add_argument('--v8-non-optimized-debug',
804 parser.add_argument('--v8-with-dchecks',
810 parser.add_argument('--v8-lite-mode',
815 'memory footprint, but also implies no just-in-time compilation ' +
818 parser.add_argument('--v8-enable-object-print',
824 parser.add_argument('--v8-disable-object-print',
830 parser.add_argument('--v8-enable-hugepage',
835 'available on Linux platform.')
837 parser.add_argument('--v8-enable-short-builtin-calls',
844 parser.add_argument('--v8-enable-snapshot-compression',
848 help='Enable the built-in snapshot compression in V8.')
850 parser.add_argument('--node-builtin-modules-path',
856 parser.add_argument('--node-snapshot-main',
864 parser.add_argument('-C',
875 # set up auto-download list
893 prefix = '\033[1m\033[32mINFO\033[0m' if os.isatty(1) else 'INFO'
913 return s if isinstance(s, str) else s.decode("utf-8")
916 """Run pkg-config on the specified package
917 Returns ("-l flags", "-I flags", "-L flags", "version")
919 pkg_config = os.environ.get('PKG_CONFIG', 'pkg-config')
920 args = [] # Print pkg-config warnings on first round.
922 for flag in ['--libs-only-l', '--cflags-only-I',
923 '--libs-only-L', '--modversion']:
937 return (None, None, None, None) # No pkg-config/pkgconf installed.
939 args = ['--silence-errors']
945 proc = subprocess.Popen(shlex.split(cc) + ['-E', '-P', '-x', lang, '-'],
955 values = (to_utf8(proc.communicate()[0]).split('\n')[-2].split() + ['0'] * 7)[0:7]
967 # The version of asm compiler is needed for building openssl asm files.
970 … https://github.com/openssl/openssl/blob/OpenSSL_1_0_2-stable/crypto/sha/asm/sha512-x86_64.pl#L112
974 proc = subprocess.Popen(shlex.split(cc) + ['-v'], stdin=subprocess.PIPE,
977 error('''No acceptable C compiler found!
981 it in a non-standard prefix.''')
988 def get_nasm_version(asm): argument
990 proc = subprocess.Popen(shlex.split(asm) + ['-v'],
994 warn('''No acceptable ASM compiler found!
1000 match = re.match(r"NASM version ([2-9]\.[0-9][0-9]+)",
1007 cc, r"(^(?:.+ )?clang version|based on LLVM) ([0-9]+\.[0-9]+)")
1011 cc, r"(^Apple (?:clang|LLVM) version) ([0-9]+\.[0-9]+)")
1017 proc = subprocess.Popen(shlex.split(cc) + ['-Wa,-v', '-c', '-o',
1018 '/dev/null', '-x',
1023 error('''No acceptable C compiler found!
1027 it in a non-standard prefix.''')
1032 match = re.match(r"GNU assembler version ([2-9]\.[0-9]+)", gas_ret)
1040 # Note: Apple clang self-reports as clang 4.2.0 and gcc 4.2.1. It passes
1075 # Need xcode_version or gas_version when openssl asm files are compiled.
1090 p = subprocess.Popen(shlex.split(cc or CC) + ['-dM', '-E', '-'],
1095 error('''No acceptable C compiler found!
1099 it in a non-standard prefix.''')
1210 o['variables']['arm_thumb'] = 0 # -marm
1236 raise Exception('--static-zoslib-gyp=<path to zoslib.gyp file> is required.')
1288 warn('building --without-snapshot is no longer possible')
1294 o['cflags']+=['-msign-return-address=all']
1301 error('--node-snapshot-main is incompatible with --shared')
1303 error('--node-snapshot-main is incompatible with ' +
1304 '--without-node-snapshot')
1306 error('--node-snapshot-main is incompatible with cross compilation')
1318 # TODO(refack): fix this when implementing embedded code-cache when cross-compiling.
1341 if flavor != 'linux' and (options.enable_pgo_generate or options.enable_pgo_use):
1343 'The pgo option is supported only on linux.')
1345 if flavor == 'linux':
1351 'The options --enable-pgo-generate and --enable-pgo-use '
1356 'Only one of the --enable-pgo-generate or --enable-pgo-use options '
1358 '--enable-pgo-generate first, profile node, and then recompile '
1359 'with --enable-pgo-use')
1375 f'The option --enable-lto is supported for gcc {gcc_version_checked_str}+'
1380 if flavor in ('solaris', 'mac', 'linux', 'freebsd'):
1382 # Don't enable by default on linux and freebsd
1383 if flavor in ('linux', 'freebsd'):
1386 if flavor == 'linux':
1392 'DTrace is currently only supported on SunOS, MacOS or Linux systems.')
1397 warn('''The `--use-largepages` and `--use-largepages-script-lld` options
1398 have no effect during build time. Support for mapping to large pages is
1399 now a runtime option of Node.js. Run `node --use-largepages` or add
1400 `--use-largepages` to the `NODE_OPTIONS` environment variable once
1423 o['variables']['node_tag'] = '-' + options.tag
1501 stripped_flags = [flag.strip() for flag in pkg_cflags.split('-I')]
1513 f"-L{options.__dict__[shared_lib + '_libpath']}"]
1518 default_libs = [f'-l{l}' for l in default_libs.split(',')]
1549 raise Exception('--enable-d8 is incompatible with --without-bundled-v8.')
1552 if flavor != 'linux' and options.v8_enable_hugepage:
1553 raise Exception('--v8-enable-hugepage is supported only on linux.')
1561 'Only one of the --v8-enable-object-print or --v8-disable-object-print options '
1580 error(f'--without-ssl is incompatible with {option}')
1582 without_ssl_error('--shared-openssl')
1584 without_ssl_error('--openssl-no-asm')
1586 without_ssl_error('--openssl-is-fips')
1588 without_ssl_error('--openssl-default-cipher-list')
1605 # supported asm compiler for AVX2. See https://github.com/openssl/openssl/
1606 # blob/OpenSSL_1_1_0-stable/crypto/modes/asm/aesni-gcm-x86_64.pl#L52-L69
1615 --openssl-no-asm.
1619 warn('''--openssl-no-asm will result in binaries that do not take advantage
1624 error('--openssl-no-asm is incompatible with --shared-openssl')
1652 o['libraries'] += ['-static']
1654 o['libraries'] += ['-static-libgcc', '-static-libstdc++']
1656 o['libraries'] += ['-static-libasan']
1661 with Path(filename).open(mode='w+', encoding='utf-8') as f:
1688 icus = json.loads(depFile.read_text(encoding='utf-8'))
1702 local = url.split('/')[-1]
1708 print(f'Re-using existing {targetfile}')
1738 error('Cannot specify both --with-icu-path and --with-intl')
1740 # Chromium .gyp mode: --with-icu-path
1746 # --with-intl=<with_intl>
1750 return # no Intl
1752 if with_intl == 'small-icu':
1759 # We will check a bit later if we can use the canned deps/icu-small
1761 elif with_intl == 'full-icu':
1764 elif with_intl == 'system-icu':
1765 # ICU from pkg-config.
1767 pkgicu = pkg_config('icu-i18n')
1769 error('''Could not load pkg-config data for "icu-i18n".
1782 stripped_flags = [flag.strip() for flag in cflags.split('-I')]
1785 o['variables']['icu_gyp_path'] = 'tools/icu/icu-system.gyp'
1795 # icu-tmp is used to download and unpack the ICU tarball.
1796 icu_tmp_path = Path(icu_parent_path, 'icu-tmp')
1799 canned_icu_dir = 'deps/icu-small'
1803 canned_is_full = (canned_icu_path / 'README-FULL-ICU.txt').is_file()
1804 canned_is_small = (canned_icu_path / 'README-SMALL-ICU.txt').is_file()
1806 warn(f'Ignoring {canned_icu_dir} - in-repo small icu is no longer supported.')
1808 # We can use 'deps/icu-small' - pre-canned ICU *iff*
1809 # - canned_is_full AND
1810 # - with_icu_source is unset (i.e. no other ICU was specified)
1813 # $ configure --with-intl=full-icu --with-icu-source=deps/icu-small
1814 # .. Except that we avoid copying icu-small over to deps/icu.
1819 # OK- we can use the canned ICU.
1822 # --with-icu-source processing
1823 # now, check that they didn't pass --with-icu-source=deps/icu
1825 warn(f'Ignoring redundant --with-icu-source={with_icu_source}')
1835 print(f'{with_icu_source} -> {icu_full_path}')
1849 local = icu_tmp_path / with_icu_source.split('/')[-1] # local part
1860 error(f'--with-icu-source={with_icu_source} did not result in an "icu" dir.')
1862 # ICU mode. (icu-generic.gyp)
1863 o['variables']['icu_gyp_path'] = 'tools/icu/icu-generic.gyp'
1872 warn(f"* ECMA-402 (Intl) support didn't find ICU in {icu_full_path}..")
1875 Fix, or disable with "--with-intl=none"''')
1882 error(f'Could not load {uvernum_h} - is ICU installed?')
1928 # may be little-endian if from a icu-project.org tarball
1947 # calculate platform-specific genccode args
1957 icu_config['variables']['icu_asm_opts'] = [ '-o ' ]
1958 elif with_intl == 'small-icu' or options.cross_compiling:
1963 icu_config['variables']['icu_asm_opts'] = [ '-a', 'gcc-darwin' ]
1966 icu_config['variables']['icu_asm_opts'] = [ '-a', 'xlc' ]
1969 icu_config['variables']['icu_asm_opts'] = [ '-a', 'xlc' ]
1972 icu_config['variables']['icu_asm_opts'] = [ '-a', 'zos' ]
1974 # assume GCC-compatible asm is OK
1976 icu_config['variables']['icu_asm_opts'] = [ '-a', 'gcc' ]
1990 proc = subprocess.Popen(['ld.gold'] + ['-v'], stdin = subprocess.PIPE,
1994 warn('''No acceptable ld.gold linker found!''')
1998 match = re.match(r"^GNU gold.*([0-9]+)\.([0-9]+)$",
1999 proc.communicate()[0].decode("utf-8"))
2094 # Forward OSS-Fuzz settings
2122 write('config.status', '#!/bin/sh\nset -x\nexec ./configure ' +
2151 # On Windows there's no reason to search for a different python binary.
2160 gyp_args = ['--no-parallel', '-Dconfiguring_node=1']
2161 gyp_args += ['-Dbuild_type=' + config['BUILDTYPE']]
2164 gyp_args += ['-f', 'ninja-' + flavor]
2166 gyp_args += ['-f', 'msvs', '-G', 'msvs_version=auto']
2168 gyp_args += ['-f', 'make-' + flavor]
2171 gyp_args += ['-f', 'compile_commands_json']
2177 gyp_args += ['-Dpython=' + sys.executable]
2179 # pass the leftover non-whitespace positional arguments to GYP