]> git.ipfire.org Git - thirdparty/libtool.git/commitdiff
libtool: add support for wasm32-emscripten
authorKhalid Masum <khalid.masum.92@gmail.com>
Wed, 15 May 2024 11:03:30 +0000 (17:03 +0600)
committerIleana Dumitrescu <ileanadumitrescu95@gmail.com>
Wed, 20 Nov 2024 15:36:31 +0000 (17:36 +0200)
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.

build-aux/ltmain.in
m4/libtool.m4

index a4fa6280349756a0f42cda364cf07fe542b9c1f1..fa157775d13b53d6fe3b305aee6f0ddb99fa1492 100644 (file)
@@ -6571,6 +6571,7 @@ func_mode_link ()
                case $host in
                  *-*-sco3.2v5.0.[024]*) add_dir=-L$dir ;;
                  *-*-sysv4*uw2*) add_dir=-L$dir ;;
+                 *-*-emscripten*) add_dir=-L$dir ;;
                  *-*-sysv5OpenUNIX* | *-*-sysv5UnixWare7.[01].[10]* | \
                    *-*-unixware7*) add_dir=-L$dir ;;
                  *-*-darwin* )
index 1a9bedc8c6b6e7ae60b8de5852f2c425c36e23e9..628cdc9bd7e22a129c8cad1abbf55bad20a2347e 100644 (file)
@@ -3195,6 +3195,21 @@ uts4*)
   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
   ;;