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