kumquat-buildroot/package/nodejs/Config.in
Linus Kaschulla 78d7c5f803 package/nodejs: add visible option to build host-nodejs
To use nodejs on the host (independant of the actual system) to create
some static files to place onto the target rootfs nodejs can be very
helpful.

The provided nodejs package didn't expose the possibility to create a
host package, which this commit adds.

This patch contains fixes based on feedback from:
- Peter Seiderer <ps.report@gmx.net>
- Yann E. MORIN <yann.morin.1998@free.fr>

Signed-off-by: Linus Kaschulla <linus@cosmos-ink.net>
Signed-off-by: James Hilliard <james.hilliard1@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2021-12-28 23:05:25 +01:00

84 lines
2.8 KiB
Plaintext

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