From fcddf51b7c9a09d0504021476dc68a786ef5344b Mon Sep 17 00:00:00 2001 From: Ross Burton Date: Mon, 20 Feb 2023 15:46:12 +0000 Subject: [PATCH] nodejs: don't force cross-compilation in native builds By not forcing the cross-compile build logic in native builds the build is a _lot_ faster. Walltime in buildstats-diff on my machine: nodejs-native do_compile -475.6s -41.2% 1153.4s -> 677.7s Signed-off-by: Ross Burton Signed-off-by: Khem Raj --- meta-oe/recipes-devtools/nodejs/nodejs_18.12.1.bb | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/meta-oe/recipes-devtools/nodejs/nodejs_18.12.1.bb b/meta-oe/recipes-devtools/nodejs/nodejs_18.12.1.bb index 1811e975cd..f8b7f76f61 100644 --- a/meta-oe/recipes-devtools/nodejs/nodejs_18.12.1.bb +++ b/meta-oe/recipes-devtools/nodejs/nodejs_18.12.1.bb @@ -137,18 +137,22 @@ addtask create_v8_qemu_wrapper after do_configure before do_compile LDFLAGS:append:x86 = " -latomic" +CROSS_FLAGS = "--cross-compiling" +CROSS_FLAGS:class-native = "--no-cross-compiling" + # Node is way too cool to use proper autotools, so we install two wrappers to forcefully inject proper arch cflags to workaround gypi do_configure () { export LD="${CXX}" GYP_DEFINES="${GYP_DEFINES}" export GYP_DEFINES # $TARGET_ARCH settings don't match --dest-cpu settings - python3 configure.py --verbose --prefix=${prefix} --cross-compiling \ + python3 configure.py --verbose --prefix=${prefix} \ --shared-openssl \ --without-dtrace \ --without-etw \ --dest-cpu="${@map_nodejs_arch(d.getVar('TARGET_ARCH'), d)}" \ --dest-os=linux \ --libdir=${baselib} \ + ${CROSS_FLAGS} \ ${ARCHFLAGS} \ ${PACKAGECONFIG_CONFARGS} }