xref: /OK3568_Linux_fs/buildroot/package/nodejs/Config.in (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyunconfig BR2_PACKAGE_NODEJS_ARCH_SUPPORTS
2*4882a593Smuzhiyun	bool
3*4882a593Smuzhiyun	# On ARM, at least ARMv6+ with VFPv2+ is needed
4*4882a593Smuzhiyun	default y if BR2_arm && !BR2_ARM_CPU_ARMV4 && !BR2_ARM_CPU_ARMV5 && BR2_ARM_CPU_HAS_VFPV2
5*4882a593Smuzhiyun	default y if BR2_mipsel && !BR2_MIPS_SOFT_FLOAT
6*4882a593Smuzhiyun	default y if BR2_aarch64 || BR2_i386 || BR2_x86_64
7*4882a593Smuzhiyun	# libuv
8*4882a593Smuzhiyun	depends on BR2_TOOLCHAIN_HAS_SYNC_4
9*4882a593Smuzhiyun	depends on BR2_PACKAGE_QEMU_ARCH_SUPPORTS_TARGET
10*4882a593Smuzhiyun
11*4882a593Smuzhiyuncomment "nodejs needs a toolchain w/ C++, dynamic library, NPTL, gcc >= 7, wchar, host gcc >= 8"
12*4882a593Smuzhiyun	depends on BR2_USE_MMU
13*4882a593Smuzhiyun	depends on BR2_PACKAGE_NODEJS_ARCH_SUPPORTS
14*4882a593Smuzhiyun	depends on !BR2_INSTALL_LIBSTDCPP || BR2_STATIC_LIBS || !BR2_TOOLCHAIN_HAS_THREADS_NPTL || \
15*4882a593Smuzhiyun		!BR2_HOST_GCC_AT_LEAST_8 || !BR2_TOOLCHAIN_GCC_AT_LEAST_7 || !BR2_USE_WCHAR
16*4882a593Smuzhiyun
17*4882a593Smuzhiyunconfig BR2_PACKAGE_NODEJS
18*4882a593Smuzhiyun	bool "nodejs"
19*4882a593Smuzhiyun	depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL # libuv
20*4882a593Smuzhiyun	depends on BR2_INSTALL_LIBSTDCPP
21*4882a593Smuzhiyun	depends on BR2_PACKAGE_NODEJS_ARCH_SUPPORTS
22*4882a593Smuzhiyun	depends on BR2_HOST_GCC_AT_LEAST_8 # qemu
23*4882a593Smuzhiyun	depends on BR2_TOOLCHAIN_GCC_AT_LEAST_7
24*4882a593Smuzhiyun	depends on BR2_USE_WCHAR
25*4882a593Smuzhiyun	# uses fork()
26*4882a593Smuzhiyun	depends on BR2_USE_MMU
27*4882a593Smuzhiyun	# uses dlopen(). On ARMv5, we could technically support static
28*4882a593Smuzhiyun	# linking, but that's too much of a corner case to support it.
29*4882a593Smuzhiyun	depends on !BR2_STATIC_LIBS
30*4882a593Smuzhiyun	select BR2_PACKAGE_HOST_NODEJS
31*4882a593Smuzhiyun	select BR2_PACKAGE_C_ARES
32*4882a593Smuzhiyun	select BR2_PACKAGE_LIBUV
33*4882a593Smuzhiyun	select BR2_PACKAGE_ZLIB
34*4882a593Smuzhiyun	select BR2_PACKAGE_NGHTTP2
35*4882a593Smuzhiyun	help
36*4882a593Smuzhiyun	  Event-driven I/O server-side JavaScript environment based on
37*4882a593Smuzhiyun	  V8.
38*4882a593Smuzhiyun
39*4882a593Smuzhiyun	  http://nodejs.org/
40*4882a593Smuzhiyun
41*4882a593Smuzhiyunif BR2_PACKAGE_NODEJS
42*4882a593Smuzhiyun
43*4882a593Smuzhiyunconfig BR2_PACKAGE_NODEJS_NPM
44*4882a593Smuzhiyun	bool "NPM for the target"
45*4882a593Smuzhiyun	select BR2_PACKAGE_OPENSSL
46*4882a593Smuzhiyun	help
47*4882a593Smuzhiyun	  NPM is the package manager for the Node JavaScript platform.
48*4882a593Smuzhiyun	  Note that enabling NPM on the target also selects OpenSSL
49*4882a593Smuzhiyun	  for the target.
50*4882a593Smuzhiyun
51*4882a593Smuzhiyun	  http://www.npmjs.org
52*4882a593Smuzhiyun
53*4882a593Smuzhiyun	  Note that NPM is always built for the buildroot host.
54*4882a593Smuzhiyun
55*4882a593Smuzhiyunconfig BR2_PACKAGE_NODEJS_MODULES_ADDITIONAL
56*4882a593Smuzhiyun	string "Additional modules"
57*4882a593Smuzhiyun	help
58*4882a593Smuzhiyun	  List of space-separated nodejs modules to install via npm.
59*4882a593Smuzhiyun	  See https://npmjs.org/ to find modules and 'npm help install'
60*4882a593Smuzhiyun	  for available installation methods. For repeatable builds,
61*4882a593Smuzhiyun	  download and save tgz files or clone git repos for the
62*4882a593Smuzhiyun	  components you care about.
63*4882a593Smuzhiyun
64*4882a593Smuzhiyun	  Example:
65*4882a593Smuzhiyun	  serialport uglify-js@1.3.4 /my/module/mymodule.tgz \
66*4882a593Smuzhiyun	    git://github.com/someuser/somemodule.git#v1.2
67*4882a593Smuzhiyun
68*4882a593Smuzhiyun	  This would install the serialport module (at the newest
69*4882a593Smuzhiyun	  version), the uglify-js module at 1.3.4, a module from a
70*4882a593Smuzhiyun	  filesystem path, and a module from a git repository.
71*4882a593Smuzhiyun
72*4882a593Smuzhiyunconfig BR2_PACKAGE_NODEJS_MODULES_ADDITIONAL_DEPS
73*4882a593Smuzhiyun	string "Additional module dependencies"
74*4882a593Smuzhiyun	help
75*4882a593Smuzhiyun	  List of space-separated buildroot recipes which must be
76*4882a593Smuzhiyun	  built before your npms can be installed. For example, if in
77*4882a593Smuzhiyun	  'Additional modules' you specified 'node-curl' (see:
78*4882a593Smuzhiyun	  https://github.com/jiangmiao/node-curl), you could then
79*4882a593Smuzhiyun	  specify 'libcurl' here, to ensure that buildroot builds the
80*4882a593Smuzhiyun	  libcurl package, and does so before building your node
81*4882a593Smuzhiyun	  modules.
82*4882a593Smuzhiyun
83*4882a593Smuzhiyunendif
84