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