From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Tim Schumacher Date: Sun, 29 May 2022 15:01:28 +0200 Subject: [PATCH] libtool: Enable shared library support for SerenityOS For some odd reason, libtool handles the configuration for shared libraries entirely statically and in its configure script. If no shared library support is "present", building shared libraries is disabled entirely. Fix that by just adding the appropriate configuration options for `serenity`. This allows us to finally create dynamic libraries automatically using libtool, without having to manually link the static library into a shared library. --- configure | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/configure b/configure index 24fc237044ce02f765d767e0c4adab034c35be06..12bef8fb9b17be5be2930d918d3df83afd69fe17 100755 --- a/configure +++ b/configure @@ -10253,6 +10253,10 @@ tpf*) os2*) lt_cv_deplibs_check_method=pass_all ;; + +serenity*) + lt_cv_deplibs_check_method=pass_all + ;; esac fi @@ -13277,6 +13281,10 @@ lt_prog_compiler_static= lt_prog_compiler_static='-Bstatic' ;; + serenity*) + lt_prog_compiler_can_build_shared=yes + ;; + *) lt_prog_compiler_can_build_shared=no ;; @@ -14795,6 +14803,10 @@ $as_echo "$lt_cv_irix_exported_symbol" >&6; } hardcode_shlibpath_var=no ;; + serenity*) + ld_shlibs=yes + ;; + *) ld_shlibs=no ;; @@ -15866,6 +15878,17 @@ uts4*) shlibpath_var=LD_LIBRARY_PATH ;; +serenity*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}${versuffix} ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}${major}' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + dynamic_linker='SerenityOS LibELF' + ;; + *) dynamic_linker=no ;; @@ -19831,6 +19854,17 @@ uts4*) shlibpath_var=LD_LIBRARY_PATH ;; +serenity*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}${versuffix} ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}${major}' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + dynamic_linker='SerenityOS LibELF' + ;; + *) dynamic_linker=no ;;