[Buildroot] [PATCH] package/quickjs: new package

Thomas Petazzoni thomas.petazzoni at bootlin.com
Sun Oct 25 10:01:40 UTC 2020


Hello François,

Thanks for this contribution!

On Sun, 18 Oct 2020 13:11:25 +0200
Francois Perrad <fperrad at gmail.com> wrote:

> +config BR2_PACKAGE_QUICKJS
> +	bool "quickjs"

It really has no dependencies at all on toolchain features ?

For example, here it fails to build with:

quickjs.c:33:18: fatal error: fenv.h: No such file or directory

with the following defconfig:

BR2_arm=y
BR2_TOOLCHAIN_EXTERNAL=y
BR2_TOOLCHAIN_EXTERNAL_CUSTOM=y
BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y
BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/br-arm-full-2020.02.tar.bz2"
BR2_TOOLCHAIN_EXTERNAL_GCC_5=y
BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_14=y
BR2_TOOLCHAIN_EXTERNAL_LOCALE=y
# BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS_DEBUG is not set
BR2_TOOLCHAIN_EXTERNAL_CXX=y
BR2_INIT_NONE=y
BR2_SYSTEM_BIN_SH_NONE=y
# BR2_PACKAGE_BUSYBOX is not set
BR2_PACKAGE_QUICKJS=y
# BR2_TARGET_ROOTFS_TAR is not set

I also see it is using fork(), which probably indicates it needs a
BR2_USE_MMU dependency.

> +define QUICKJS_BUILD_CMDS
> +	$(TARGET_MAKE_ENV) $(MAKE) -C $(@D) \
> +		CROSS_PREFIX="$(TARGET_CROSS)" \
> +		all
> +endef
> +
> +define QUICKJS_INSTALL_STAGING_CMDS
> +	$(TARGET_MAKE_ENV) $(MAKE) -C $(@D) \
> +		CROSS_PREFIX="$(TARGET_CROSS)" \
> +		DESTDIR=$(STAGING_DIR) \
> +		STRIP=true \

Please disable stripping here.

> +		prefix=/usr \
> +		install
> +endef
> +
> +define QUICKJS_INSTALL_TARGET_CMDS
> +	$(TARGET_MAKE_ENV) $(MAKE) -C $(@D) \
> +		CROSS_PREFIX="$(TARGET_CROSS)" \
> +		DESTDIR=$(TARGET_DIR) \
> +		STRIP=true \

... and here.

Indeed, we want stripping to be done by Buildroot.

Thanks!

Thomas
-- 
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com



More information about the buildroot mailing list