host-nodejs is quite long to build (5 minutes on a very fast build machine), and will become a download dependency when we implement vendoring for NodeJS-based packages. In order to mitigate this build time, an idea is to use a pre-compiled host NodeJS. One option would be to use a pre-installed NodeJS, but we're concerned by version compatibility issues of the host NodeJS/NPM does not have the same version as the target NodeJS/NPM. So another option is to use a pre-compiled NodeJS provided by the NodeJS project itself. To achieve this, this commit turns the host-nodejs package into a virtual package. For the time being, this has just one provider: host-nodejs-src, which builds host-nodejs from source. This is the original host-nodejs package, renamed to host-nodejs-src. The target nodejs package is also renamed to nodejs-src in order to have a single package nodejs-src that has a host and target version, as usual. We do keep the nodejs target package itself, but it's an empty package - not even a virtual package. This means the following. - Its VERSION, SOURCE and SITE variables are left empty. The existing variables are renamed to NODEJS_COMMON_VERSION etc. to allow them to be reused by nodejs-src and the future nodejs-bin. - It's a generic package with a single dependency, nodejs-src. - The Config.in remains unchanged, except that it selects BR2_PACKAGE_NODEJS_SRC. - BR2_PACKAGE_NODEJS_SRC is a blind option. Co-authored-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com> Signed-off-by: Arnout Vandecappelle <arnout@mind.be> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com> |
||
---|---|---|
arch | ||
board | ||
boot | ||
configs | ||
docs | ||
fs | ||
linux | ||
package | ||
support | ||
system | ||
toolchain | ||
utils | ||
.checkpackageignore | ||
.clang-format | ||
.defconfig | ||
.flake8 | ||
.gitignore | ||
.gitlab-ci.yml | ||
.shellcheckrc | ||
CHANGES | ||
Config.in | ||
Config.in.legacy | ||
COPYING | ||
DEVELOPERS | ||
Makefile | ||
Makefile.legacy | ||
README |
Buildroot is a simple, efficient and easy-to-use tool to generate embedded Linux systems through cross-compilation. The documentation can be found in docs/manual. You can generate a text document with 'make manual-text' and read output/docs/manual/manual.text. Online documentation can be found at http://buildroot.org/docs.html To build and use the buildroot stuff, do the following: 1) run 'make menuconfig' 2) select the target architecture and the packages you wish to compile 3) run 'make' 4) wait while it compiles 5) find the kernel, bootloader, root filesystem, etc. in output/images You do not need to be root to build or run buildroot. Have fun! Buildroot comes with a basic configuration for a number of boards. Run 'make list-defconfigs' to view the list of provided configurations. Please feed suggestions, bug reports, insults, and bribes back to the buildroot mailing list: buildroot@buildroot.org You can also find us on #buildroot on OFTC IRC. If you would like to contribute patches, please read https://buildroot.org/manual.html#submitting-patches