nodejs-lts: Update from 10.16.3 to 12.13.0

This commit is contained in:
Fredrik Fornwall 2019-10-23 17:20:41 +02:00
parent 38a7e61f37
commit b3800afaff
16 changed files with 171 additions and 213 deletions

View File

@ -1,19 +1,47 @@
TERMUX_PKG_HOMEPAGE=https://nodejs.org/
TERMUX_PKG_DESCRIPTION="Platform built on Chrome's JavaScript runtime for easily building fast, scalable network applications"
TERMUX_PKG_LICENSE="MIT"
TERMUX_PKG_VERSION=10.16.3
TERMUX_PKG_REVISION=2
TERMUX_PKG_VERSION=12.13.0
TERMUX_PKG_SRCURL=https://nodejs.org/dist/v${TERMUX_PKG_VERSION}/node-v${TERMUX_PKG_VERSION}.tar.xz
TERMUX_PKG_SHA256=7bf1123d7415964775b8f81fe6ec6dd5c3c08abb42bb71dfe4409dbeeba26bbd
TERMUX_PKG_SHA256=a82b1541cf670318a0102c32e06f296662b5ccccae764c1f32be4a3cf038bef6
# Note that we do not use a shared libuv to avoid an issue with the Android
# linker, which does not use symbols of linked shared libraries when resolving
# symbols on dlopen(). See https://github.com/termux/termux-packages/issues/462.
TERMUX_PKG_DEPENDS="libc++, openssl, c-ares, libicu, zlib"
TERMUX_PKG_RM_AFTER_INSTALL="lib/node_modules/npm/html lib/node_modules/npm/make.bat share/systemtap lib/dtrace"
TERMUX_PKG_BUILD_IN_SRC=true
TERMUX_PKG_CONFLICTS="nodejs"
TERMUX_PKG_BREAKS="nodejs-lts-dev"
TERMUX_PKG_REPLACES="nodejs-lts-dev"
TERMUX_PKG_CONFLICTS="nodejs-lts, nodejs-current"
TERMUX_PKG_BREAKS="nodejs-dev"
TERMUX_PKG_REPLACES="nodejs-current, nodejs-dev"
TERMUX_PKG_HOSTBUILD=true
termux_step_post_extract_package() {
# Prevent caching of host build:
rm -Rf $TERMUX_PKG_HOSTBUILD_DIR
}
termux_step_host_build() {
local ICU_VERSION=65.1
local ICU_TAR=icu4c-${ICU_VERSION//./_}-src.tar.xz
local ICU_DOWNLOAD=https://fossies.org/linux/misc/$ICU_TAR
termux_download \
$ICU_DOWNLOAD\
$TERMUX_PKG_CACHEDIR/$ICU_TAR \
bd002bdeb2e854a224c2617ba1d0e9ccea7fde3065682333902e234dce4dd380
tar xf $TERMUX_PKG_CACHEDIR/$ICU_TAR
cd icu/source
if [ "$TERMUX_ARCH_BITS" = 32 ]; then
./configure --prefix $TERMUX_PKG_HOSTBUILD_DIR/icu-installed \
--disable-samples \
--disable-tests \
--build=i686-pc-linux-gnu "CFLAGS=-m32" "CXXFLAGS=-m32" "LDFLAGS=-m32"
else
./configure --prefix $TERMUX_PKG_HOSTBUILD_DIR/icu-installed \
--disable-samples \
--disable-tests
fi
make -j $TERMUX_MAKE_PROCESSES install
}
termux_step_configure() {
local DEST_CPU
@ -44,8 +72,13 @@ termux_step_configure() {
--shared-zlib \
--with-intl=system-icu \
--without-snapshot \
--without-node-snapshot \
--cross-compiling
perl -p -i -e 's/LIBS := \$\(LIBS\)/LIBS := -lpthread/' \
$TERMUX_PKG_SRCDIR/out/deps/v8/gypfiles/torque.host.mk
export LD_LIBRARY_PATH=$TERMUX_PKG_HOSTBUILD_DIR/icu-installed/lib
perl -p -i -e "s@LIBS := \\$\\(LIBS\\)@LIBS := -L$TERMUX_PKG_HOSTBUILD_DIR/icu-installed/lib -lpthread -licui18n -licuuc -licudata@" \
$TERMUX_PKG_SRCDIR/out/tools/v8_gypfiles/torque.host.mk \
$TERMUX_PKG_SRCDIR/out/tools/v8_gypfiles/bytecode_builtins_list_generator.host.mk \
$TERMUX_PKG_SRCDIR/out/tools/v8_gypfiles/v8_libbase.host.mk \
$TERMUX_PKG_SRCDIR/out/tools/v8_gypfiles/gen-regexp-special-case.host.mk
}

View File

@ -0,0 +1,12 @@
diff -u -r ../node-v12.1.0/configure.py ./configure.py
--- ../node-v12.1.0/configure.py 2019-04-29 12:57:51.000000000 +0000
+++ ./configure.py 2019-05-05 21:21:04.289245037 +0000
@@ -931,7 +931,7 @@
else target_arch != host_arch)
want_snapshots = not options.without_snapshot
o['variables']['want_separate_host_toolset'] = int(
- cross_compiling and want_snapshots)
+ cross_compiling)
if options.with_node_snapshot:
o['variables']['node_use_node_snapshot'] = 'true'

View File

@ -0,0 +1,14 @@
diff -uNr node-v8.4.0/deps/uv/src/unix/core.c node-v8.4.0.mod/deps/uv/src/unix/core.c
--- node-v8.4.0/deps/uv/src/unix/core.c 2017-08-15 19:42:28.000000000 +0300
+++ node-v8.4.0.mod/deps/uv/src/unix/core.c 2017-09-14 16:13:27.292856099 +0300
@@ -1112,7 +1112,9 @@
/* No temp environment variables defined */
#if defined(__ANDROID__)
- buf = "/data/local/tmp";
+ // Don't use '/data/local/tmp' in Termux
+ //buf = "/data/local/tmp";
+ buf = "@TERMUX_PREFIX@/tmp";
#else
buf = "/tmp";
#endif

View File

@ -1,20 +0,0 @@
--- ../linux-syscalls.c.orig 2019-04-01 12:59:57.770124746 +0000
+++ ./deps/uv/src/unix/linux-syscalls.c 2019-04-01 13:00:38.703457159 +0000
@@ -187,7 +187,7 @@
# endif
#endif /* __NR_pwritev */
-#ifndef __NR_statx
+#if !defined(__NR_statx) && !defined(__ANDROID__)
# if defined(__x86_64__)
# define __NR_statx 332
# elif defined(__i386__)
@@ -358,7 +358,7 @@
int flags,
unsigned int mask,
struct uv__statx* statxbuf) {
-#if defined(__NR_statx)
+#if defined(__NR_statx) && !defined(__ANDROID__)
return syscall(__NR_statx, dirfd, path, flags, mask, statxbuf);
#else
return errno = ENOSYS, -1;

View File

@ -1,31 +0,0 @@
diff -uNr node-v12.10.0/deps/uv/src/unix/process.c node-v12.10.0.mod/deps/uv/src/unix/process.c
--- node-v12.10.0/deps/uv/src/unix/process.c 2019-09-04 18:36:23.000000000 +0300
+++ node-v12.10.0.mod/deps/uv/src/unix/process.c 2019-09-23 01:39:39.069030779 +0300
@@ -351,27 +351,6 @@
_exit(127);
}
- if (options->flags & (UV_PROCESS_SETUID | UV_PROCESS_SETGID)) {
- /* When dropping privileges from root, the `setgroups` call will
- * remove any extraneous groups. If we don't call this, then
- * even though our uid has dropped, we may still have groups
- * that enable us to do super-user things. This will fail if we
- * aren't root, so don't bother checking the return value, this
- * is just done as an optimistic privilege dropping function.
- */
- SAVE_ERRNO(setgroups(0, NULL));
- }
-
- if ((options->flags & UV_PROCESS_SETGID) && setgid(options->gid)) {
- uv__write_int(error_fd, UV__ERR(errno));
- _exit(127);
- }
-
- if ((options->flags & UV_PROCESS_SETUID) && setuid(options->uid)) {
- uv__write_int(error_fd, UV__ERR(errno));
- _exit(127);
- }
-
if (options->env != NULL) {
environ = options->env;
}

View File

@ -1,6 +1,6 @@
diff -u -r ../node-v8.12.0/deps/uv/uv.gyp ./deps/uv/uv.gyp
--- ../node-v8.12.0/deps/uv/uv.gyp 2018-09-10 18:46:54.000000000 +0000
+++ ./deps/uv/uv.gyp 2018-09-11 20:52:40.320690510 +0000
diff -u -r ../node-v9.7.1/deps/uv/uv.gyp ./deps/uv/uv.gyp
--- ../node-v9.7.1/deps/uv/uv.gyp 2018-03-02 01:58:02.000000000 +0000
+++ ./deps/uv/uv.gyp 2018-03-05 10:51:15.530165566 +0000
@@ -39,7 +39,7 @@
{
'target_name': 'libuv',

View File

@ -1,13 +0,0 @@
diff -u -r ../node-v10.9.0/deps/v8/gypfiles/v8.gyp ./deps/v8/gypfiles/v8.gyp
--- ../node-v10.9.0/deps/v8/gypfiles/v8.gyp 2018-08-15 13:53:24.000000000 +0000
+++ ./deps/v8/gypfiles/v8.gyp 2018-08-23 21:43:30.588264328 +0000
@@ -2053,8 +2053,7 @@
# library order and break (see crbug.com/469973).
# These libraries do not exist on Mac hosted builds.
'libraries': [
- '-ldl',
- '-lrt'
+ '-ldl'
]
}]
]

View File

@ -0,0 +1,12 @@
diff -u -r ../node-v12.9.0/deps/v8/src/flags/flag-definitions.h ./deps/v8/src/flags/flag-definitions.h
--- ../node-v12.9.0/deps/v8/src/flags/flag-definitions.h 2019-08-20 17:14:50.000000000 +0000
+++ ./deps/v8/src/flags/flag-definitions.h 2019-08-24 22:38:43.754905700 +0000
@@ -1373,7 +1373,7 @@
DEFINE_BOOL(perf_prof_unwinding_info, false,
"Enable unwinding info for perf linux profiler (experimental).")
DEFINE_IMPLICATION(perf_prof, perf_prof_unwinding_info)
-DEFINE_STRING(gc_fake_mmap, "/tmp/__v8_gc__",
+DEFINE_STRING(gc_fake_mmap, "/@TERMUX_PREFIX@/tmp/__v8_gc__",
"Specify the name of the file for fake gc mmap used in ll_prof")
DEFINE_BOOL(log_internal_timer_events, false, "Time internal events.")
DEFINE_IMPLICATION(log_internal_timer_events, prof)

View File

@ -0,0 +1,12 @@
diff -u -r ../node-v12.9.0/deps/v8/src/logging/log.cc ./deps/v8/src/logging/log.cc
--- ../node-v12.9.0/deps/v8/src/logging/log.cc 2019-08-20 17:14:50.000000000 +0000
+++ ./deps/v8/src/logging/log.cc 2019-08-24 22:39:52.426124955 +0000
@@ -280,7 +280,7 @@
FILE* perf_output_handle_;
};
-const char PerfBasicLogger::kFilenameFormatString[] = "/tmp/perf-%d.map";
+const char PerfBasicLogger::kFilenameFormatString[] = "@TERMUX_PREFIX@/tmp/perf-%d.map";
// Extra space for the PID in the filename
const int PerfBasicLogger::kFilenameBufferPadding = 16;

View File

@ -1,38 +0,0 @@
diff -uNr node-v8.4.0/deps/uv/src/unix/core.c node-v8.4.0.mod/deps/uv/src/unix/core.c
--- node-v8.4.0/deps/uv/src/unix/core.c 2017-08-15 19:42:28.000000000 +0300
+++ node-v8.4.0.mod/deps/uv/src/unix/core.c 2017-09-14 16:13:27.292856099 +0300
@@ -1112,7 +1112,9 @@
/* No temp environment variables defined */
#if defined(__ANDROID__)
- buf = "/data/local/tmp";
+ // Don't use '/data/local/tmp' in Termux
+ //buf = "/data/local/tmp";
+ buf = "@TERMUX_PREFIX@/tmp";
#else
buf = "/tmp";
#endif
diff -uNr node-v8.4.0/deps/v8/src/flag-definitions.h node-v8.4.0.mod/deps/v8/src/flag-definitions.h
--- node-v8.4.0/deps/v8/src/flag-definitions.h 2017-08-15 19:42:30.000000000 +0300
+++ node-v8.4.0.mod/deps/v8/src/flag-definitions.h 2017-09-14 16:12:34.462856137 +0300
@@ -1203,7 +1203,7 @@
DEFINE_BOOL(perf_prof_unwinding_info, false,
"Enable unwinding info for perf linux profiler (experimental).")
DEFINE_IMPLICATION(perf_prof, perf_prof_unwinding_info)
-DEFINE_STRING(gc_fake_mmap, "/tmp/__v8_gc__",
+DEFINE_STRING(gc_fake_mmap, "@TERMUX_PREFIX@/tmp/__v8_gc__",
"Specify the name of the file for fake gc mmap used in ll_prof")
DEFINE_BOOL(log_internal_timer_events, false, "Time internal events.")
DEFINE_BOOL(log_timer_events, false,
diff -uNr node-v8.4.0/deps/v8/src/log.cc node-v8.4.0.mod/deps/v8/src/log.cc
--- node-v8.4.0/deps/v8/src/log.cc 2017-08-15 19:42:31.000000000 +0300
+++ node-v8.4.0.mod/deps/v8/src/log.cc 2017-09-14 16:11:05.192856201 +0300
@@ -233,7 +233,7 @@
FILE* perf_output_handle_;
};
-const char PerfBasicLogger::kFilenameFormatString[] = "/tmp/perf-%d.map";
+const char PerfBasicLogger::kFilenameFormatString[] = "@TERMUX_PREFIX@/tmp/perf-%d.map";
// Extra space for the PID in the filename
const int PerfBasicLogger::kFilenameBufferPadding = 16;

View File

@ -0,0 +1,16 @@
diff -uNr node-v12.3.1/deps/uv/src/unix/sysinfo-memory.c node-v12.3.1.mod/deps/uv/src/unix/sysinfo-memory.c
--- node-v12.3.1/deps/uv/src/unix/sysinfo-memory.c 2019-05-22 15:21:52.000000000 +0300
+++ node-v12.3.1.mod/deps/uv/src/unix/sysinfo-memory.c 2019-05-28 15:37:28.698418026 +0300
@@ -25,6 +25,7 @@
#include <stdint.h>
#include <sys/sysinfo.h>
+#ifndef __ANDROID__
uint64_t uv_get_free_memory(void) {
struct sysinfo info;
@@ -40,3 +41,4 @@
return (uint64_t) info.totalram * info.mem_unit;
return 0;
}
+#endif

View File

@ -1,19 +1,17 @@
diff -u -r ../node-v10.15.0/node.gyp ./node.gyp
--- ../node-v10.15.0/node.gyp 2018-12-26 05:26:18.000000000 +0000
+++ ./node.gyp 2018-12-28 08:57:34.888459250 +0000
@@ -902,81 +902,7 @@
],
diff -u -r ../node-v12.9.0/node.gyp ./node.gyp
--- ../node-v12.9.0/node.gyp 2019-08-20 17:14:52.000000000 +0000
+++ ./node.gyp 2019-08-24 20:21:21.471982543 +0000
@@ -1062,107 +1062,6 @@
} ],
]
- }, # rename_node_bin_win
}, # specialize_node_d
- {
- 'target_name': 'cctest',
- 'type': 'executable',
-
- 'dependencies': [
- '<(node_lib_target_name)',
- 'rename_node_bin_win',
- 'deps/gtest/gtest.gyp:gtest',
- 'deps/histogram/histogram.gyp:histogram',
- 'node_dtrace_header',
- 'node_dtrace_ustack',
- 'node_dtrace_provider',
@ -29,21 +27,28 @@ diff -u -r ../node-v10.15.0/node.gyp ./node.gyp
- 'deps/v8/include',
- 'deps/cares/include',
- 'deps/uv/include',
- '<(SHARED_INTERMEDIATE_DIR)', # for node_natives.h
- 'test/cctest',
- ],
-
- 'defines': [ 'NODE_WANT_INTERNALS=1' ],
-
- 'sources': [
- 'src/node_snapshot_stub.cc',
- 'src/node_code_cache_stub.cc',
- 'test/cctest/gtest/gtest-all.cc',
- 'test/cctest/gtest/gtest_main.cc',
- 'test/cctest/node_test_fixture.cc',
- 'test/cctest/node_test_fixture.h',
- 'test/cctest/test_aliased_buffer.cc',
- 'test/cctest/test_base64.cc',
- 'test/cctest/test_node_postmortem_metadata.cc',
- 'test/cctest/test_environment.cc',
- 'test/cctest/test_linked_binding.cc',
- 'test/cctest/test_per_process.cc',
- 'test/cctest/test_platform.cc',
- 'test/cctest/test_traced_value.cc',
- 'test/cctest/test_util.cc',
- 'test/cctest/test_url.cc'
- 'test/cctest/test_url.cc',
- ],
-
- 'conditions': [
@ -52,9 +57,6 @@ diff -u -r ../node-v10.15.0/node.gyp ./node.gyp
- 'HAVE_OPENSSL=1',
- ],
- }],
- [ 'node_use_perfctr=="true"', {
- 'defines': [ 'HAVE_PERFCTR=1' ],
- }],
- ['v8_enable_inspector==1', {
- 'sources': [
- 'test/cctest/test_inspector_socket.cc',
@ -64,7 +66,9 @@ diff -u -r ../node-v10.15.0/node.gyp ./node.gyp
- 'HAVE_INSPECTOR=1',
- ],
- }, {
- 'defines': [ 'HAVE_INSPECTOR=0' ]
- 'defines': [
- 'HAVE_INSPECTOR=0',
- ]
- }],
- ['OS=="solaris"', {
- 'ldflags': [ '-I<(SHARED_INTERMEDIATE_DIR)' ]
@ -78,9 +82,30 @@ diff -u -r ../node-v10.15.0/node.gyp ./node.gyp
- 'OTHER_LDFLAGS': [ '-Wl,-rpath,@loader_path', ],
- },
- }],
- [ 'node_report=="true"', {
- 'sources': [
- 'test/cctest/test_report_util.cc',
- ],
- 'defines': [
- 'NODE_REPORT',
- 'NODE_ARCH="<(target_arch)"',
- 'NODE_PLATFORM="<(OS)"',
- ],
- 'conditions': [
- ['OS=="win"', {
- 'libraries': [ 'Ws2_32' ],
- }],
- ],
- }],
- ['OS=="win"', {
- 'libraries': [
- 'Dbghelp.lib',
- 'winmm.lib',
- 'Ws2_32.lib',
- ],
- }],
- ],
- }, # cctest
+ }
], # end targets
'conditions': [
# TODO(joyeecheung): do not depend on node_lib,
# instead create a smaller static library node_lib_base that does

View File

@ -1,37 +0,0 @@
diff -u -r ../node-v10.9.0/src/node.cc ./src/node.cc
--- ../node-v10.9.0/src/node.cc 2018-08-15 13:53:34.000000000 +0000
+++ ./src/node.cc 2018-08-23 20:49:59.353995878 +0000
@@ -106,7 +106,7 @@
#include <unistd.h> // setuid, getuid
#endif
-#if defined(__POSIX__) && !defined(__ANDROID__) && !defined(__CloudABI__)
+#if defined(__POSIX__) && !defined(__CloudABI__)
#include <pwd.h> // getpwnam()
#include <grp.h> // getgrnam()
#endif
@@ -690,7 +690,7 @@
// Look up environment variable unless running as setuid root.
bool SafeGetenv(const char* key, std::string* text) {
-#if !defined(__CloudABI__) && !defined(_WIN32)
+#if !defined(__CloudABI__) && !defined(_WIN32) && !defined(__ANDROID__)
if (linux_at_secure || getuid() != geteuid() || getgid() != getegid())
goto fail;
#endif
@@ -2402,13 +2402,13 @@
env->SetMethod(process, "reallyExit", Exit);
env->SetMethodNoSideEffect(process, "uptime", Uptime);
-#if defined(__POSIX__) && !defined(__ANDROID__) && !defined(__CloudABI__)
+#if defined(__POSIX__) && !defined(__CloudABI__)
env->SetMethodNoSideEffect(process, "getuid", GetUid);
env->SetMethodNoSideEffect(process, "geteuid", GetEUid);
env->SetMethodNoSideEffect(process, "getgid", GetGid);
env->SetMethodNoSideEffect(process, "getegid", GetEGid);
env->SetMethodNoSideEffect(process, "getgroups", GetGroups);
-#endif // __POSIX__ && !defined(__ANDROID__) && !defined(__CloudABI__)
+#endif // __POSIX__ && !defined(__CloudABI__)
}

View File

@ -1,21 +1,12 @@
diff -u -r ../node-v8.12.0/src/node_internals.h ./src/node_internals.h
--- ../node-v8.12.0/src/node_internals.h 2018-09-10 18:47:03.000000000 +0000
+++ ./src/node_internals.h 2018-09-18 03:11:24.361303054 +0000
@@ -433,7 +433,7 @@
void Umask(const v8::FunctionCallbackInfo<v8::Value>& args);
void Uptime(const v8::FunctionCallbackInfo<v8::Value>& args);
diff -u -r ../node-v11.7.0/src/node_internals.h ./src/node_internals.h
--- ../node-v11.7.0/src/node_internals.h 2019-01-17 21:27:16.000000000 +0000
+++ ./src/node_internals.h 2019-01-18 22:44:06.207542176 +0000
@@ -358,7 +358,7 @@
// Functions defined in node.cc that are exposed via the bootstrapper object
-#if defined(__POSIX__) && !defined(__ANDROID__) && !defined(__CloudABI__)
+#if defined(__POSIX__) && !defined(__CloudABI__)
void SetGid(const v8::FunctionCallbackInfo<v8::Value>& args);
void SetEGid(const v8::FunctionCallbackInfo<v8::Value>& args);
void SetUid(const v8::FunctionCallbackInfo<v8::Value>& args);
@@ -445,7 +445,7 @@
void GetEUid(const v8::FunctionCallbackInfo<v8::Value>& args);
void GetEGid(const v8::FunctionCallbackInfo<v8::Value>& args);
void GetGroups(const v8::FunctionCallbackInfo<v8::Value>& args);
-#endif // __POSIX__ && !defined(__ANDROID__) && !defined(__CloudABI__)
+#endif // __POSIX__ && !defined(__CloudABI__)
} // namespace node
#define NODE_IMPLEMENTS_POSIX_CREDENTIALS 1
#endif // __POSIX__ && !defined(__ANDROID__) && !defined(__CloudABI__)

View File

@ -1,29 +0,0 @@
diff -u -r ../node-v10.9.0/src/node_process.cc ./src/node_process.cc
--- ../node-v10.9.0/src/node_process.cc 2018-08-15 13:53:35.000000000 +0000
+++ ./src/node_process.cc 2018-08-23 23:40:53.046488108 +0000
@@ -20,7 +20,7 @@
#include <unistd.h> // setuid, getuid
#endif
-#if defined(__POSIX__) && !defined(__ANDROID__) && !defined(__CloudABI__)
+#if defined(__POSIX__) && !defined(__CloudABI__)
#include <pwd.h> // getpwnam()
#include <grp.h> // getgrnam()
#endif
@@ -247,7 +247,7 @@
}
-#if defined(__POSIX__) && !defined(__ANDROID__) && !defined(__CloudABI__)
+#if defined(__POSIX__) && !defined(__CloudABI__)
static const uid_t uid_not_found = static_cast<uid_t>(-1);
static const gid_t gid_not_found = static_cast<gid_t>(-1);
@@ -546,6 +546,6 @@
return env->ThrowErrnoException(errno, "initgroups");
}
-#endif // __POSIX__ && !defined(__ANDROID__) && !defined(__CloudABI__)
+#endif // __POSIX__ && !defined(__CloudABI__)
} // namespace node

View File

@ -0,0 +1,11 @@
diff -u -r ../node-v12.9.0/tools/v8_gypfiles/v8.gyp ./tools/v8_gypfiles/v8.gyp
--- ../node-v12.9.0/tools/v8_gypfiles/v8.gyp 2019-08-20 17:14:53.000000000 +0000
+++ ./tools/v8_gypfiles/v8.gyp 2019-08-24 22:02:57.943558855 +0000
@@ -1010,6 +1010,7 @@
'<(V8_ROOT)/src/base/platform/platform-posix.h',
'<(V8_ROOT)/src/base/platform/platform-posix-time.cc',
'<(V8_ROOT)/src/base/platform/platform-posix-time.h',
+ '<(V8_ROOT)/src/base/platform/platform-linux.cc',
],
'conditions': [
['_toolset=="host"', {