summaryrefslogtreecommitdiffstats
path: root/configure
diff options
context:
space:
mode:
Diffstat (limited to 'configure')
-rwxr-xr-xconfigure168
1 files changed, 162 insertions, 6 deletions
diff --git a/configure b/configure
index 784f8d3..2d03c4f 100755
--- a/configure
+++ b/configure
@@ -888,6 +888,7 @@ AR
LINK_PYTHON_OBJS
LINK_PYTHON_DEPS
LIBRARY_DEPS
+NODE
HOSTRUNNER
STATIC_LIBPYTHON
GNULD
@@ -4038,6 +4039,16 @@ if test -z "$CFLAGS"; then
CFLAGS=
fi
+case $host in #(
+ wasm64-*-emscripten) :
+
+ as_fn_append CFLAGS " -sMEMORY64=1"
+ as_fn_append LDFLAGS " -sMEMORY64=1"
+ ;; #(
+ *) :
+ ;;
+esac
+
if test "$ac_sys_system" = "Darwin"
then
# Compiler selection on MacOSX is more complicated than
@@ -6158,7 +6169,7 @@ cat > conftest.c <<EOF
# error unknown wasm32 platform
# endif
#elif defined(__wasm64__)
-# if defined(__EMSCRIPTEN)
+# if defined(__EMSCRIPTEN__)
wasm64-emscripten
# elif defined(__wasi__)
wasm64-wasi
@@ -6778,20 +6789,163 @@ if test "$cross_compiling" = yes; then
fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking HOSTRUNNER" >&5
-$as_echo_n "checking HOSTRUNNER... " >&6; }
if test -z "$HOSTRUNNER"
then
case $ac_sys_system/$ac_sys_emscripten_target in #(
Emscripten/node*) :
+ if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}node", so it can be a program name with args.
+set dummy ${ac_tool_prefix}node; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_path_NODE+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ case $NODE in
+ [\\/]* | ?:[\\/]*)
+ ac_cv_path_NODE="$NODE" # Let the user override the test with a path.
+ ;;
+ *)
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_path_NODE="$as_dir/$ac_word$ac_exec_ext"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+ ;;
+esac
+fi
+NODE=$ac_cv_path_NODE
+if test -n "$NODE"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $NODE" >&5
+$as_echo "$NODE" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_path_NODE"; then
+ ac_pt_NODE=$NODE
+ # Extract the first word of "node", so it can be a program name with args.
+set dummy node; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_path_ac_pt_NODE+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ case $ac_pt_NODE in
+ [\\/]* | ?:[\\/]*)
+ ac_cv_path_ac_pt_NODE="$ac_pt_NODE" # Let the user override the test with a path.
+ ;;
+ *)
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_path_ac_pt_NODE="$as_dir/$ac_word$ac_exec_ext"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+ ;;
+esac
+fi
+ac_pt_NODE=$ac_cv_path_ac_pt_NODE
+if test -n "$ac_pt_NODE"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_pt_NODE" >&5
+$as_echo "$ac_pt_NODE" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+ if test "x$ac_pt_NODE" = x; then
+ NODE="node"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ NODE=$ac_pt_NODE
+ fi
+else
+ NODE="$ac_cv_path_NODE"
+fi
+
+ HOSTRUNNER="$NODE"
# bigint for ctypes c_longlong, c_longdouble
- HOSTRUNNER="node --experimental-wasm-bigint"
+ # no longer available in Node 16
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for node --experimental-wasm-bigint" >&5
+$as_echo_n "checking for node --experimental-wasm-bigint... " >&6; }
+if ${ac_cv_tool_node_wasm_bigint+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+
+ if $NODE -v --experimental-wasm-bigint > /dev/null 2>&1; then
+ ac_cv_tool_node_wasm_bigint=yes
+ else
+ ac_cv_tool_node_wasm_bigint=no
+ fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_tool_node_wasm_bigint" >&5
+$as_echo "$ac_cv_tool_node_wasm_bigint" >&6; }
+ if test "x$ac_cv_tool_node_wasm_bigint" = xyes; then :
+
+ as_fn_append HOSTRUNNER " --experimental-wasm-bigint"
+
+fi
+
if test "x$enable_wasm_pthreads" = xyes; then :
- HOSTRUNNER="$HOSTRUNNER --experimental-wasm-threads --experimental-wasm-bulk-memory"
+ as_fn_append HOSTRUNNER " --experimental-wasm-threads"
+ # no longer available in Node 16
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for node --experimental-wasm-bulk-memory" >&5
+$as_echo_n "checking for node --experimental-wasm-bulk-memory... " >&6; }
+if ${ac_cv_tool_node_wasm_bulk_memory+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+
+ if $NODE -v --experimental-wasm-bulk-memory > /dev/null 2>&1; then
+ ac_cv_tool_node_wasm_bulk_memory=yes
+ else
+ ac_cv_tool_node_wasm_bulk_memory=no
+ fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_tool_node_wasm_bulk_memory" >&5
+$as_echo "$ac_cv_tool_node_wasm_bulk_memory" >&6; }
+ if test "x$ac_cv_tool_node_wasm_bulk_memory" = xyes; then :
+
+ as_fn_append HOSTRUNNER " --experimental-wasm-bulk-memory"
fi
+
+fi
+
+ if test "x$host_cpu" = xwasm64; then :
+ as_fn_append HOSTRUNNER " --experimental-wasm-memory64"
+fi
;; #(
WASI/*) :
HOSTRUNNER='wasmtime run --env PYTHONPATH=/$(shell realpath --relative-to $(abs_srcdir) $(abs_builddir))/$(shell cat pybuilddir.txt) --mapdir /::$(srcdir) --' ;; #(
@@ -6801,6 +6955,8 @@ fi
esac
fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking HOSTRUNNER" >&5
+$as_echo_n "checking HOSTRUNNER... " >&6; }
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $HOSTRUNNER" >&5
$as_echo "$HOSTRUNNER" >&6; }
@@ -6814,7 +6970,7 @@ $as_echo "$LDLIBRARY" >&6; }
# LIBRARY_DEPS, LINK_PYTHON_OBJS and LINK_PYTHON_DEPS variable
case $ac_sys_system/$ac_sys_emscripten_target in #(
Emscripten/browser*) :
- LIBRARY_DEPS='$(PY3LIBRARY) $(WASM_STDLIB)' ;; #(
+ LIBRARY_DEPS='$(PY3LIBRARY) $(WASM_STDLIB) python.html python.worker.js' ;; #(
*) :
LIBRARY_DEPS='$(PY3LIBRARY) $(EXPORTSYMS)'
;;