libtool: add support for wasm32-emscripten

This patch adds support for emscripten compiler for shared compilation.

* build-aux/ltmain.in: clone link-mode handling for emscripten from
unixware7.
* m4/libtool.m4: translate emscripten specific flags for shared module
building.
This commit is contained in:
Khalid Masum 2024-05-15 17:03:30 +06:00 committed by Ileana Dumitrescu
parent 23519121db
commit d8a934458b
No known key found for this signature in database
GPG Key ID: 6570EA01146F7354
2 changed files with 16 additions and 0 deletions

View File

@ -6571,6 +6571,7 @@ func_mode_link ()
case $host in case $host in
*-*-sco3.2v5.0.[024]*) add_dir=-L$dir ;; *-*-sco3.2v5.0.[024]*) add_dir=-L$dir ;;
*-*-sysv4*uw2*) add_dir=-L$dir ;; *-*-sysv4*uw2*) add_dir=-L$dir ;;
*-*-emscripten*) add_dir=-L$dir ;;
*-*-sysv5OpenUNIX* | *-*-sysv5UnixWare7.[01].[10]* | \ *-*-sysv5OpenUNIX* | *-*-sysv5UnixWare7.[01].[10]* | \
*-*-unixware7*) add_dir=-L$dir ;; *-*-unixware7*) add_dir=-L$dir ;;
*-*-darwin* ) *-*-darwin* )

15
m4/libtool.m4 vendored
View File

@ -3195,6 +3195,21 @@ uts4*)
shlibpath_var=LD_LIBRARY_PATH shlibpath_var=LD_LIBRARY_PATH
;; ;;
emscripten*)
version_type=none
need_lib_prefix=no
need_version=no
library_names_spec='$libname$release$shared_ext'
soname_spec='$libname$release$shared_ext'
finish_cmds=
dynamic_linker="Emscripten linker"
_LT_COMPILER_PIC($1)='-fPIC'
_LT_TAGVAR(archive_cmds, $1)='$CC -sSIDE_MODULE=2 -shared $libobjs $deplibs $compiler_flags -o $lib'
_LT_TAGVAR(archive_expsym_cmds, $1)='$SED "s|^|_|" $export_symbols >$output_objdir/$soname.expsym~$CC -sSIDE_MODULE=2 -shared $libobjs $deplibs $compiler_flags -o $lib -s EXPORTED_FUNCTIONS=@$output_objdir/$soname.expsym'
_LT_TAGVAR(archive_cmds_need_lc, $1)=no
_LT_TAGVAR(no_undefined_flag, $1)=
;;
*) *)
dynamic_linker=no dynamic_linker=no
;; ;;