be084204eb
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>
85 lines
2.7 KiB
Plaintext
85 lines
2.7 KiB
Plaintext
config BR2_PACKAGE_NODEJS
|
|
bool "nodejs"
|
|
depends on BR2_INET_IPV6
|
|
depends on BR2_LARGEFILE
|
|
depends on BR2_TOOLCHAIN_HAS_THREADS
|
|
depends on BR2_INSTALL_LIBSTDCPP
|
|
depends on BR2_arm || BR2_i386 || BR2_x86_64
|
|
# ARM needs BLX, so v5t+
|
|
depends on !(BR2_arm7tdmi || BR2_arm720t || BR2_arm920t || BR2_arm922t || BR2_fa526)
|
|
# uses fork()
|
|
depends on BR2_USE_MMU
|
|
help
|
|
Event-driven I/O server-side JavaScript environment based on V8.
|
|
|
|
http://nodejs.org/
|
|
|
|
comment "nodejs needs a toolchain w/ C++, IPv6, largefile, threads"
|
|
depends on BR2_USE_MMU
|
|
depends on BR2_arm || BR2_i386 || BR2_x86_64
|
|
depends on !(BR2_arm7tdmi || BR2_arm720t || BR2_arm920t || BR2_arm922t || BR2_fa526)
|
|
depends on !BR2_INSTALL_LIBSTDCPP || !BR2_LARGEFILE || \
|
|
!BR2_TOOLCHAIN_HAS_THREADS || !BR2_INET_IPV6
|
|
|
|
if BR2_PACKAGE_NODEJS
|
|
|
|
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
|