kumquat-buildroot/package/nodejs/Config.in

127 lines
3.9 KiB
Plaintext
Raw Normal View History

config BR2_PACKAGE_NODEJS
bool "nodejs"
depends on BR2_TOOLCHAIN_HAS_THREADS
depends on BR2_INSTALL_LIBSTDCPP
depends on BR2_arm || BR2_i386 || BR2_x86_64 || BR2_mipsel
depends on !BR2_MIPS_SOFT_FLOAT
# ARM needs BLX, so v5t+
depends on !BR2_ARM_CPU_ARMV4
# 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_ZLIB
help
Event-driven I/O server-side JavaScript environment based on V8.
http://nodejs.org/
comment "nodejs needs a toolchain w/ C++, dynamic library, threads"
Config.in files: add missing dependencies to toolchain option comments When a package A depends on config option B and toolchain option C, then the comment that is given when C is not fulfilled should also depend on B. For example: config BR2_PACKAGE_A depends on BR2_B depends on BR2_LARGEFILE depends on BR2_WCHAR comment "A needs a toolchain w/ largefile, wchar" depends on !BR2_LARGEFILE || !BR2_WCHAR This comment should actually be: comment "A needs a toolchain w/ largefile, wchar" depends on BR2_B depends on !BR2_LARGEFILE || !BR2_WCHAR or if possible (typically when B is a package config option declared in that same Config.in file): if BR2_B comment "A needs a toolchain w/ largefile, wchar" depends on !BR2_LARGEFILE || !BR2_WCHAR [other config options depending on B] endif Otherwise, the comment would be visible even though the other dependencies are not met. This patch adds such missing dependencies, and changes existing such dependencies from depends on BR2_BASE_DEP && !BR2_TOOLCHAIN_USES_GLIBC to depends on BR2_BASE_DEP depends on !BR2_TOOLCHAIN_USES_GLIBC so that (positive) base dependencies are separate from the (negative) toolchain dependencies. This strategy makes it easier to write such comments (because one can simply copy the base dependency from the actual package config option), but also avoids complex and long boolean expressions. Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com> Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> (untested) Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2013-11-07 09:24:37 +01:00
depends on BR2_USE_MMU
depends on BR2_arm || BR2_i386 || BR2_x86_64 || BR2_mipsel
depends on !BR2_ARM_CPU_ARMV4
depends on !BR2_INSTALL_LIBSTDCPP || BR2_STATIC_LIBS || !BR2_TOOLCHAIN_HAS_THREADS
if BR2_PACKAGE_NODEJS
# Starting with 0.12.x, on ARM, V8 (the JS engine)
# now requires an armv6+ and a VFPv2+.
config BR2_PACKAGE_NODEJS_V8_ARCH_SUPPORTS
bool
# On supported architectures other than ARM, no special requirement
default y if !BR2_arm
# On ARM, at least ARMv6+ with VFPv2+ is needed
default y if !BR2_ARM_CPU_ARMV5 && BR2_ARM_CPU_HAS_VFPV2
choice
prompt "Node.js version"
default BR2_BR2_PACKAGE_NODEJS_0_10_X if BR2_ARM_CPU_ARMV5
default BR2_BR2_PACKAGE_NODEJS_4_X
help
Select the version of Node.js you wish to use.
config BR2_BR2_PACKAGE_NODEJS_0_10_X
bool "v0.10.41"
config BR2_BR2_PACKAGE_NODEJS_0_12_X
bool "v0.12.9"
depends on BR2_PACKAGE_NODEJS_V8_ARCH_SUPPORTS
config BR2_BR2_PACKAGE_NODEJS_4_X
bool "v4.2.3"
depends on BR2_PACKAGE_NODEJS_V8_ARCH_SUPPORTS
depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8
comment "v4.2.3 needs a toolchain w/ gcc >= 4.8"
depends on BR2_PACKAGE_NODEJS_V8_ARCH_SUPPORTS
depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8
endchoice
config BR2_PACKAGE_NODEJS_VERSION_STRING
string
default "0.10.41" if BR2_BR2_PACKAGE_NODEJS_0_10_X
default "0.12.9" if BR2_BR2_PACKAGE_NODEJS_0_12_X
default "4.2.3" if BR2_BR2_PACKAGE_NODEJS_4_X
menu "Module Selection"
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_EXPRESS
bool "Express web application framework"
help
Express is a minimal and flexible node.js web application
framework, providing a robust set of features for building
single and multi-page, and hybrid web applications.
http://www.expressjs.com
https://github.com/visionmedia/express
config BR2_PACKAGE_NODEJS_MODULES_COFFEESCRIPT
bool "CoffeeScript"
help
CoffeeScript is a little language that compiles into JavaScript.
http://www.coffeescript.org
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.
endmenu
endif