summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/arbits/output/slbt_au_output_arname.c2
-rw-r--r--src/arbits/output/slbt_au_output_dlsyms.c2
-rw-r--r--src/arbits/output/slbt_au_output_mapfile.c2
-rw-r--r--src/arbits/output/slbt_au_output_members.c2
-rw-r--r--src/arbits/output/slbt_au_output_symbols.c2
-rw-r--r--src/arbits/slbt_archive_ctx.c2
-rw-r--r--src/arbits/slbt_archive_dlsyms.c2
-rw-r--r--src/arbits/slbt_archive_mapfile.c2
-rw-r--r--src/arbits/slbt_archive_mapstrv.c2
-rw-r--r--src/arbits/slbt_archive_merge.c2
-rw-r--r--src/arbits/slbt_archive_meta.c2
-rw-r--r--src/arbits/slbt_archive_store.c2
-rw-r--r--src/arbits/slbt_archive_symfile.c2
-rw-r--r--src/arbits/slbt_archive_syminfo.c2
-rw-r--r--src/arbits/slbt_armap_bsd_32.c2
-rw-r--r--src/arbits/slbt_armap_bsd_64.c2
-rw-r--r--src/arbits/slbt_armap_sysv_32.c2
-rw-r--r--src/arbits/slbt_armap_sysv_64.c2
-rw-r--r--src/driver/slbt_amain.c9
-rw-r--r--src/driver/slbt_driver_ctx.c6
-rw-r--r--src/driver/slbt_link_params.c2
-rw-r--r--src/driver/slbt_split_argv.c2
-rw-r--r--src/driver/slbt_symlist_ctx.c2
-rw-r--r--src/driver/slbt_txtfile_ctx.c2
-rw-r--r--src/driver/slbt_version_info.c2
-rw-r--r--src/fallback/slbt_archive_import_mri.c2
-rw-r--r--src/host/slbt_host_flavor.c2
-rw-r--r--src/host/slbt_host_params.c2
-rw-r--r--src/internal/argv/argv.h2
-rw-r--r--src/internal/slibtool_ar_impl.h2
-rw-r--r--src/internal/slibtool_coff_impl.c2
-rw-r--r--src/internal/slibtool_dprintf_impl.c2
-rw-r--r--src/internal/slibtool_driver_impl.h5
-rw-r--r--src/internal/slibtool_errinfo_impl.c2
-rw-r--r--src/internal/slibtool_errinfo_impl.h2
-rw-r--r--src/internal/slibtool_lconf_impl.c2
-rw-r--r--src/internal/slibtool_libmeta_impl.c2
-rw-r--r--src/internal/slibtool_m4fake_impl.c2
-rw-r--r--src/internal/slibtool_mapfile_impl.c2
-rw-r--r--src/internal/slibtool_mkdir_impl.h2
-rw-r--r--src/internal/slibtool_mkvars_impl.c2
-rw-r--r--src/internal/slibtool_objlist_impl.c2
-rw-r--r--src/internal/slibtool_objmeta_impl.c2
-rw-r--r--src/internal/slibtool_pecoff_impl.c2
-rw-r--r--src/internal/slibtool_readlink_impl.h2
-rw-r--r--src/internal/slibtool_realpath_impl.c2
-rw-r--r--src/internal/slibtool_snprintf_impl.c2
-rw-r--r--src/internal/slibtool_spawn_impl.h2
-rw-r--r--src/internal/slibtool_stoolie_impl.h2
-rw-r--r--src/internal/slibtool_symlink_impl.c2
-rw-r--r--src/internal/slibtool_tmpfile_impl.c2
-rw-r--r--src/internal/slibtool_txtline_impl.c2
-rw-r--r--src/logic/linkcmd/slbt_linkcmd_archive.c2
-rw-r--r--src/logic/linkcmd/slbt_linkcmd_argv.c18
-rw-r--r--src/logic/linkcmd/slbt_linkcmd_deps.c2
-rw-r--r--src/logic/linkcmd/slbt_linkcmd_dsolib.c2
-rw-r--r--src/logic/linkcmd/slbt_linkcmd_executable.c2
-rw-r--r--src/logic/linkcmd/slbt_linkcmd_host.c2
-rw-r--r--src/logic/linkcmd/slbt_linkcmd_implib.c2
-rw-r--r--src/logic/slbt_exec_ar.c2
-rw-r--r--src/logic/slbt_exec_compile.c2
-rw-r--r--src/logic/slbt_exec_ctx.c10
-rw-r--r--src/logic/slbt_exec_execute.c2
-rw-r--r--src/logic/slbt_exec_install.c2
-rw-r--r--src/logic/slbt_exec_link.c2
-rw-r--r--src/logic/slbt_exec_stoolie.c40
-rw-r--r--src/logic/slbt_exec_uninstall.c2
-rw-r--r--src/output/slbt_output_config.c2
-rw-r--r--src/output/slbt_output_error.c2
-rw-r--r--src/output/slbt_output_exec.c2
-rw-r--r--src/output/slbt_output_fdcwd.c2
-rw-r--r--src/output/slbt_output_features.c2
-rw-r--r--src/output/slbt_output_info.c2
-rw-r--r--src/output/slbt_output_machine.c2
-rw-r--r--src/output/slbt_output_mapfile.c2
-rw-r--r--src/skin/slbt_skin_default.c6
-rw-r--r--src/skin/slbt_skin_stoolie.c7
-rw-r--r--src/slibtool.c2
-rw-r--r--src/stoolie/slbt_stoolie_ctx.c2
-rw-r--r--src/util/slbt_archive_import.c2
-rw-r--r--src/util/slbt_copy_file.c2
-rw-r--r--src/util/slbt_create_mapfile.c2
-rw-r--r--src/util/slbt_create_symfile.c2
-rw-r--r--src/util/slbt_dump_machine.c2
-rw-r--r--src/util/slbt_map_input.c2
-rw-r--r--src/util/slbt_realpath.c2
86 files changed, 169 insertions, 88 deletions
diff --git a/src/arbits/output/slbt_au_output_arname.c b/src/arbits/output/slbt_au_output_arname.c
index 28e081d..6d345d2 100644
--- a/src/arbits/output/slbt_au_output_arname.c
+++ b/src/arbits/output/slbt_au_output_arname.c
@@ -1,6 +1,6 @@
/*******************************************************************/
/* slibtool: a strong libtool implementation, written in C */
-/* Copyright (C) 2016--2024 SysDeer Technologies, LLC */
+/* Copyright (C) 2016--2025 SysDeer Technologies, LLC */
/* Released under the Standard MIT License; see COPYING.SLIBTOOL. */
/*******************************************************************/
diff --git a/src/arbits/output/slbt_au_output_dlsyms.c b/src/arbits/output/slbt_au_output_dlsyms.c
index 512f60f..93a71af 100644
--- a/src/arbits/output/slbt_au_output_dlsyms.c
+++ b/src/arbits/output/slbt_au_output_dlsyms.c
@@ -1,6 +1,6 @@
/*******************************************************************/
/* slibtool: a strong libtool implementation, written in C */
-/* Copyright (C) 2016--2024 SysDeer Technologies, LLC */
+/* Copyright (C) 2016--2025 SysDeer Technologies, LLC */
/* Released under the Standard MIT License; see COPYING.SLIBTOOL. */
/*******************************************************************/
diff --git a/src/arbits/output/slbt_au_output_mapfile.c b/src/arbits/output/slbt_au_output_mapfile.c
index fb470df..5171a7b 100644
--- a/src/arbits/output/slbt_au_output_mapfile.c
+++ b/src/arbits/output/slbt_au_output_mapfile.c
@@ -1,6 +1,6 @@
/*******************************************************************/
/* slibtool: a strong libtool implementation, written in C */
-/* Copyright (C) 2016--2024 SysDeer Technologies, LLC */
+/* Copyright (C) 2016--2025 SysDeer Technologies, LLC */
/* Released under the Standard MIT License; see COPYING.SLIBTOOL. */
/*******************************************************************/
diff --git a/src/arbits/output/slbt_au_output_members.c b/src/arbits/output/slbt_au_output_members.c
index 88937b0..d1c1351 100644
--- a/src/arbits/output/slbt_au_output_members.c
+++ b/src/arbits/output/slbt_au_output_members.c
@@ -1,6 +1,6 @@
/*******************************************************************/
/* slibtool: a strong libtool implementation, written in C */
-/* Copyright (C) 2016--2024 SysDeer Technologies, LLC */
+/* Copyright (C) 2016--2025 SysDeer Technologies, LLC */
/* Released under the Standard MIT License; see COPYING.SLIBTOOL. */
/*******************************************************************/
diff --git a/src/arbits/output/slbt_au_output_symbols.c b/src/arbits/output/slbt_au_output_symbols.c
index 950cde8..b2d6280 100644
--- a/src/arbits/output/slbt_au_output_symbols.c
+++ b/src/arbits/output/slbt_au_output_symbols.c
@@ -1,6 +1,6 @@
/*******************************************************************/
/* slibtool: a strong libtool implementation, written in C */
-/* Copyright (C) 2016--2024 SysDeer Technologies, LLC */
+/* Copyright (C) 2016--2025 SysDeer Technologies, LLC */
/* Released under the Standard MIT License; see COPYING.SLIBTOOL. */
/*******************************************************************/
diff --git a/src/arbits/slbt_archive_ctx.c b/src/arbits/slbt_archive_ctx.c
index 575374c..d1ea8f5 100644
--- a/src/arbits/slbt_archive_ctx.c
+++ b/src/arbits/slbt_archive_ctx.c
@@ -1,6 +1,6 @@
/*******************************************************************/
/* slibtool: a strong libtool implementation, written in C */
-/* Copyright (C) 2016--2024 SysDeer Technologies, LLC */
+/* Copyright (C) 2016--2025 SysDeer Technologies, LLC */
/* Released under the Standard MIT License; see COPYING.SLIBTOOL. */
/*******************************************************************/
diff --git a/src/arbits/slbt_archive_dlsyms.c b/src/arbits/slbt_archive_dlsyms.c
index ed07602..400f3a2 100644
--- a/src/arbits/slbt_archive_dlsyms.c
+++ b/src/arbits/slbt_archive_dlsyms.c
@@ -1,6 +1,6 @@
/*******************************************************************/
/* slibtool: a strong libtool implementation, written in C */
-/* Copyright (C) 2016--2024 SysDeer Technologies, LLC */
+/* Copyright (C) 2016--2025 SysDeer Technologies, LLC */
/* Released under the Standard MIT License; see COPYING.SLIBTOOL. */
/*******************************************************************/
diff --git a/src/arbits/slbt_archive_mapfile.c b/src/arbits/slbt_archive_mapfile.c
index 18f94dc..f9ec15a 100644
--- a/src/arbits/slbt_archive_mapfile.c
+++ b/src/arbits/slbt_archive_mapfile.c
@@ -1,6 +1,6 @@
/*******************************************************************/
/* slibtool: a strong libtool implementation, written in C */
-/* Copyright (C) 2016--2024 SysDeer Technologies, LLC */
+/* Copyright (C) 2016--2025 SysDeer Technologies, LLC */
/* Released under the Standard MIT License; see COPYING.SLIBTOOL. */
/*******************************************************************/
diff --git a/src/arbits/slbt_archive_mapstrv.c b/src/arbits/slbt_archive_mapstrv.c
index e97db76..f8075ef 100644
--- a/src/arbits/slbt_archive_mapstrv.c
+++ b/src/arbits/slbt_archive_mapstrv.c
@@ -1,6 +1,6 @@
/*******************************************************************/
/* slibtool: a strong libtool implementation, written in C */
-/* Copyright (C) 2016--2024 SysDeer Technologies, LLC */
+/* Copyright (C) 2016--2025 SysDeer Technologies, LLC */
/* Released under the Standard MIT License; see COPYING.SLIBTOOL. */
/*******************************************************************/
diff --git a/src/arbits/slbt_archive_merge.c b/src/arbits/slbt_archive_merge.c
index 5ace063..e62ba12 100644
--- a/src/arbits/slbt_archive_merge.c
+++ b/src/arbits/slbt_archive_merge.c
@@ -1,6 +1,6 @@
/*******************************************************************/
/* slibtool: a strong libtool implementation, written in C */
-/* Copyright (C) 2016--2024 SysDeer Technologies, LLC */
+/* Copyright (C) 2016--2025 SysDeer Technologies, LLC */
/* Released under the Standard MIT License; see COPYING.SLIBTOOL. */
/*******************************************************************/
diff --git a/src/arbits/slbt_archive_meta.c b/src/arbits/slbt_archive_meta.c
index 8ef816c..499bfaf 100644
--- a/src/arbits/slbt_archive_meta.c
+++ b/src/arbits/slbt_archive_meta.c
@@ -1,6 +1,6 @@
/*******************************************************************/
/* slibtool: a strong libtool implementation, written in C */
-/* Copyright (C) 2016--2024 SysDeer Technologies, LLC */
+/* Copyright (C) 2016--2025 SysDeer Technologies, LLC */
/* Released under the Standard MIT License; see COPYING.SLIBTOOL. */
/*******************************************************************/
diff --git a/src/arbits/slbt_archive_store.c b/src/arbits/slbt_archive_store.c
index e303cb7..31bbbe0 100644
--- a/src/arbits/slbt_archive_store.c
+++ b/src/arbits/slbt_archive_store.c
@@ -1,6 +1,6 @@
/*******************************************************************/
/* slibtool: a strong libtool implementation, written in C */
-/* Copyright (C) 2016--2024 SysDeer Technologies, LLC */
+/* Copyright (C) 2016--2025 SysDeer Technologies, LLC */
/* Released under the Standard MIT License; see COPYING.SLIBTOOL. */
/*******************************************************************/
diff --git a/src/arbits/slbt_archive_symfile.c b/src/arbits/slbt_archive_symfile.c
index 49d2ff0..59961ec 100644
--- a/src/arbits/slbt_archive_symfile.c
+++ b/src/arbits/slbt_archive_symfile.c
@@ -1,6 +1,6 @@
/*******************************************************************/
/* slibtool: a strong libtool implementation, written in C */
-/* Copyright (C) 2016--2024 SysDeer Technologies, LLC */
+/* Copyright (C) 2016--2025 SysDeer Technologies, LLC */
/* Released under the Standard MIT License; see COPYING.SLIBTOOL. */
/*******************************************************************/
diff --git a/src/arbits/slbt_archive_syminfo.c b/src/arbits/slbt_archive_syminfo.c
index 09c90a8..27f94bb 100644
--- a/src/arbits/slbt_archive_syminfo.c
+++ b/src/arbits/slbt_archive_syminfo.c
@@ -1,6 +1,6 @@
/*******************************************************************/
/* slibtool: a strong libtool implementation, written in C */
-/* Copyright (C) 2016--2024 SysDeer Technologies, LLC */
+/* Copyright (C) 2016--2025 SysDeer Technologies, LLC */
/* Released under the Standard MIT License; see COPYING.SLIBTOOL. */
/*******************************************************************/
diff --git a/src/arbits/slbt_armap_bsd_32.c b/src/arbits/slbt_armap_bsd_32.c
index ee94b70..2f63e56 100644
--- a/src/arbits/slbt_armap_bsd_32.c
+++ b/src/arbits/slbt_armap_bsd_32.c
@@ -1,6 +1,6 @@
/*******************************************************************/
/* slibtool: a strong libtool implementation, written in C */
-/* Copyright (C) 2016--2024 SysDeer Technologies, LLC */
+/* Copyright (C) 2016--2025 SysDeer Technologies, LLC */
/* Released under the Standard MIT License; see COPYING.SLIBTOOL. */
/*******************************************************************/
diff --git a/src/arbits/slbt_armap_bsd_64.c b/src/arbits/slbt_armap_bsd_64.c
index 8f214b9..1590a0e 100644
--- a/src/arbits/slbt_armap_bsd_64.c
+++ b/src/arbits/slbt_armap_bsd_64.c
@@ -1,6 +1,6 @@
/*******************************************************************/
/* slibtool: a strong libtool implementation, written in C */
-/* Copyright (C) 2016--2024 SysDeer Technologies, LLC */
+/* Copyright (C) 2016--2025 SysDeer Technologies, LLC */
/* Released under the Standard MIT License; see COPYING.SLIBTOOL. */
/*******************************************************************/
diff --git a/src/arbits/slbt_armap_sysv_32.c b/src/arbits/slbt_armap_sysv_32.c
index bc5a0d5..52ac7c7 100644
--- a/src/arbits/slbt_armap_sysv_32.c
+++ b/src/arbits/slbt_armap_sysv_32.c
@@ -1,6 +1,6 @@
/*******************************************************************/
/* slibtool: a strong libtool implementation, written in C */
-/* Copyright (C) 2016--2024 SysDeer Technologies, LLC */
+/* Copyright (C) 2016--2025 SysDeer Technologies, LLC */
/* Released under the Standard MIT License; see COPYING.SLIBTOOL. */
/*******************************************************************/
diff --git a/src/arbits/slbt_armap_sysv_64.c b/src/arbits/slbt_armap_sysv_64.c
index 961ee20..c92c4a7 100644
--- a/src/arbits/slbt_armap_sysv_64.c
+++ b/src/arbits/slbt_armap_sysv_64.c
@@ -1,6 +1,6 @@
/*******************************************************************/
/* slibtool: a strong libtool implementation, written in C */
-/* Copyright (C) 2016--2024 SysDeer Technologies, LLC */
+/* Copyright (C) 2016--2025 SysDeer Technologies, LLC */
/* Released under the Standard MIT License; see COPYING.SLIBTOOL. */
/*******************************************************************/
diff --git a/src/driver/slbt_amain.c b/src/driver/slbt_amain.c
index a9cc118..cf86ad0 100644
--- a/src/driver/slbt_amain.c
+++ b/src/driver/slbt_amain.c
@@ -1,6 +1,6 @@
/*******************************************************************/
/* slibtool: a strong libtool implementation, written in C */
-/* Copyright (C) 2016--2024 SysDeer Technologies, LLC */
+/* Copyright (C) 2016--2025 SysDeer Technologies, LLC */
/* Released under the Standard MIT License; see COPYING.SLIBTOOL. */
/*******************************************************************/
@@ -157,10 +157,13 @@ int slbt_main(char ** argv, char ** envp, const struct slbt_fd_ctx * fdctx)
/* slibtoolize (stoolie) mode */
if (!(strcmp(program,"stoolie")))
- flags |= SLBT_DRIVER_MODE_STOOLIE;
+ flags |= SLBT_DRIVER_MODE_STOOLIE | SLBT_DRIVER_PREFER_SLTDL;
else if (!(strcmp(program,"slibtoolize")))
- flags |= SLBT_DRIVER_MODE_STOOLIE;
+ flags |= SLBT_DRIVER_MODE_STOOLIE | SLBT_DRIVER_PREFER_SLTDL;
+
+ else if (!(strcmp(program,"libtoolize")))
+ flags |= SLBT_DRIVER_MODE_STOOLIE | SLBT_DRIVER_PREFER_SLTDL;
/* debug */
if (!(strcmp(program,"dlibtool")))
diff --git a/src/driver/slbt_driver_ctx.c b/src/driver/slbt_driver_ctx.c
index 09adb68..5bde077 100644
--- a/src/driver/slbt_driver_ctx.c
+++ b/src/driver/slbt_driver_ctx.c
@@ -1,6 +1,6 @@
/*******************************************************************/
/* slibtool: a strong libtool implementation, written in C */
-/* Copyright (C) 2016--2024 SysDeer Technologies, LLC */
+/* Copyright (C) 2016--2025 SysDeer Technologies, LLC */
/* Released under the Standard MIT License; see COPYING.SLIBTOOL. */
/*******************************************************************/
@@ -810,6 +810,10 @@ int slbt_lib_get_driver_ctx(
cctx.drvflags |= SLBT_DRIVER_NO_UNDEFINED;
break;
+ case TAG_PREFER_SLTDL:
+ cctx.drvflags |= SLBT_DRIVER_PREFER_SLTDL;
+ break;
+
case TAG_MODULE:
cctx.drvflags |= SLBT_DRIVER_MODULE;
break;
diff --git a/src/driver/slbt_link_params.c b/src/driver/slbt_link_params.c
index f76a225..d4cf728 100644
--- a/src/driver/slbt_link_params.c
+++ b/src/driver/slbt_link_params.c
@@ -1,6 +1,6 @@
/*******************************************************************/
/* slibtool: a strong libtool implementation, written in C */
-/* Copyright (C) 2016--2024 SysDeer Technologies, LLC */
+/* Copyright (C) 2016--2025 SysDeer Technologies, LLC */
/* Released under the Standard MIT License; see COPYING.SLIBTOOL. */
/*******************************************************************/
diff --git a/src/driver/slbt_split_argv.c b/src/driver/slbt_split_argv.c
index f9828f1..acf8da9 100644
--- a/src/driver/slbt_split_argv.c
+++ b/src/driver/slbt_split_argv.c
@@ -1,6 +1,6 @@
/*******************************************************************/
/* slibtool: a strong libtool implementation, written in C */
-/* Copyright (C) 2016--2024 SysDeer Technologies, LLC */
+/* Copyright (C) 2016--2025 SysDeer Technologies, LLC */
/* Released under the Standard MIT License; see COPYING.SLIBTOOL. */
/*******************************************************************/
diff --git a/src/driver/slbt_symlist_ctx.c b/src/driver/slbt_symlist_ctx.c
index 7c8171c..b509a62 100644
--- a/src/driver/slbt_symlist_ctx.c
+++ b/src/driver/slbt_symlist_ctx.c
@@ -1,6 +1,6 @@
/*******************************************************************/
/* slibtool: a strong libtool implementation, written in C */
-/* Copyright (C) 2016--2024 SysDeer Technologies, LLC */
+/* Copyright (C) 2016--2025 SysDeer Technologies, LLC */
/* Released under the Standard MIT License; see COPYING.SLIBTOOL. */
/*******************************************************************/
diff --git a/src/driver/slbt_txtfile_ctx.c b/src/driver/slbt_txtfile_ctx.c
index 53cce0f..e3154c9 100644
--- a/src/driver/slbt_txtfile_ctx.c
+++ b/src/driver/slbt_txtfile_ctx.c
@@ -1,6 +1,6 @@
/*******************************************************************/
/* slibtool: a strong libtool implementation, written in C */
-/* Copyright (C) 2016--2024 SysDeer Technologies, LLC */
+/* Copyright (C) 2016--2025 SysDeer Technologies, LLC */
/* Released under the Standard MIT License; see COPYING.SLIBTOOL. */
/*******************************************************************/
diff --git a/src/driver/slbt_version_info.c b/src/driver/slbt_version_info.c
index c21863e..72ce911 100644
--- a/src/driver/slbt_version_info.c
+++ b/src/driver/slbt_version_info.c
@@ -1,6 +1,6 @@
/*******************************************************************/
/* slibtool: a strong libtool implementation, written in C */
-/* Copyright (C) 2016--2024 SysDeer Technologies, LLC */
+/* Copyright (C) 2016--2025 SysDeer Technologies, LLC */
/* Released under the Standard MIT License; see COPYING.SLIBTOOL. */
/*******************************************************************/
diff --git a/src/fallback/slbt_archive_import_mri.c b/src/fallback/slbt_archive_import_mri.c
index 320d6d1..de31ef4 100644
--- a/src/fallback/slbt_archive_import_mri.c
+++ b/src/fallback/slbt_archive_import_mri.c
@@ -1,6 +1,6 @@
/*******************************************************************/
/* slibtool: a strong libtool implementation, written in C */
-/* Copyright (C) 2016--2024 SysDeer Technologies, LLC */
+/* Copyright (C) 2016--2025 SysDeer Technologies, LLC */
/* Released under the Standard MIT License; see COPYING.SLIBTOOL. */
/*******************************************************************/
diff --git a/src/host/slbt_host_flavor.c b/src/host/slbt_host_flavor.c
index ab7040e..b972f5a 100644
--- a/src/host/slbt_host_flavor.c
+++ b/src/host/slbt_host_flavor.c
@@ -1,6 +1,6 @@
/*******************************************************************/
/* slibtool: a strong libtool implementation, written in C */
-/* Copyright (C) 2016--2024 SysDeer Technologies, LLC */
+/* Copyright (C) 2016--2025 SysDeer Technologies, LLC */
/* Released under the Standard MIT License; see COPYING.SLIBTOOL. */
/*******************************************************************/
diff --git a/src/host/slbt_host_params.c b/src/host/slbt_host_params.c
index 6191ea5..16ef7c7 100644
--- a/src/host/slbt_host_params.c
+++ b/src/host/slbt_host_params.c
@@ -1,6 +1,6 @@
/*******************************************************************/
/* slibtool: a strong libtool implementation, written in C */
-/* Copyright (C) 2016--2024 SysDeer Technologies, LLC */
+/* Copyright (C) 2016--2025 SysDeer Technologies, LLC */
/* Released under the Standard MIT License; see COPYING.SLIBTOOL. */
/*******************************************************************/
diff --git a/src/internal/argv/argv.h b/src/internal/argv/argv.h
index 0b9def7..7fdb64a 100644
--- a/src/internal/argv/argv.h
+++ b/src/internal/argv/argv.h
@@ -1,6 +1,6 @@
/****************************************************************************/
/* argv.h: a thread-safe argument vector parser and usage screen generator */
-/* Copyright (C) 2015--2024 SysDeer Technologies, LLC */
+/* Copyright (C) 2015--2025 SysDeer Technologies, LLC */
/* Released under the Standard MIT License; see COPYING.SLIBTOOL. */
/****************************************************************************/
diff --git a/src/internal/slibtool_ar_impl.h b/src/internal/slibtool_ar_impl.h
index 57ff1cc..d665bf1 100644
--- a/src/internal/slibtool_ar_impl.h
+++ b/src/internal/slibtool_ar_impl.h
@@ -1,6 +1,6 @@
/*******************************************************************/
/* slibtool: a strong libtool implementation, written in C */
-/* Copyright (C) 2016--2024 SysDeer Technologies, LLC */
+/* Copyright (C) 2016--2025 SysDeer Technologies, LLC */
/* Released under the Standard MIT License; see COPYING.SLIBTOOL. */
/*******************************************************************/
diff --git a/src/internal/slibtool_coff_impl.c b/src/internal/slibtool_coff_impl.c
index ac6a2fd..df0b062 100644
--- a/src/internal/slibtool_coff_impl.c
+++ b/src/internal/slibtool_coff_impl.c
@@ -1,6 +1,6 @@
/*******************************************************************/
/* slibtool: a strong libtool implementation, written in C */
-/* Copyright (C) 2016--2024 SysDeer Technologies, LLC */
+/* Copyright (C) 2016--2025 SysDeer Technologies, LLC */
/* Released under the Standard MIT License; see COPYING.SLIBTOOL. */
/*******************************************************************/
diff --git a/src/internal/slibtool_dprintf_impl.c b/src/internal/slibtool_dprintf_impl.c
index 58c7eed..cc9c29b 100644
--- a/src/internal/slibtool_dprintf_impl.c
+++ b/src/internal/slibtool_dprintf_impl.c
@@ -1,6 +1,6 @@
/*******************************************************************/
/* slibtool: a strong libtool implementation, written in C */
-/* Copyright (C) 2016--2024 SysDeer Technologies, LLC */
+/* Copyright (C) 2016--2025 SysDeer Technologies, LLC */
/* Released under the Standard MIT License; see COPYING.SLIBTOOL. */
/*******************************************************************/
diff --git a/src/internal/slibtool_driver_impl.h b/src/internal/slibtool_driver_impl.h
index 7b6114d..26a9095 100644
--- a/src/internal/slibtool_driver_impl.h
+++ b/src/internal/slibtool_driver_impl.h
@@ -1,6 +1,6 @@
/*******************************************************************/
/* slibtool: a strong libtool implementation, written in C */
-/* Copyright (C) 2016--2024 SysDeer Technologies, LLC */
+/* Copyright (C) 2016--2025 SysDeer Technologies, LLC */
/* Released under the Standard MIT License; see COPYING.SLIBTOOL. */
/*******************************************************************/
@@ -90,6 +90,7 @@ enum app_tags {
TAG_DISABLE_STATIC,
TAG_DISABLE_SHARED,
TAG_NO_UNDEFINED,
+ TAG_PREFER_SLTDL,
TAG_MODULE,
TAG_AVOID_VERSION,
TAG_COMPILER_FLAG,
@@ -125,6 +126,7 @@ enum app_tags {
TAG_STLE_WARNINGS,
TAG_STLE_NO_WARNINGS,
TAG_STLE_LTDL,
+ TAG_STLE_SYSTEM_LTDL,
};
struct slbt_split_vector {
@@ -209,6 +211,7 @@ struct slbt_exec_ctx_impl {
char * args;
char * shadow;
char * dsoprefix;
+ char * lsltdl;
size_t size;
size_t exts;
int fdwrapper;
diff --git a/src/internal/slibtool_errinfo_impl.c b/src/internal/slibtool_errinfo_impl.c
index 6501d84..843cf97 100644
--- a/src/internal/slibtool_errinfo_impl.c
+++ b/src/internal/slibtool_errinfo_impl.c
@@ -1,6 +1,6 @@
/*******************************************************************/
/* slibtool: a strong libtool implementation, written in C */
-/* Copyright (C) 2016--2024 SysDeer Technologies, LLC */
+/* Copyright (C) 2016--2025 SysDeer Technologies, LLC */
/* Released under the Standard MIT License; see COPYING.SLIBTOOL. */
/*******************************************************************/
diff --git a/src/internal/slibtool_errinfo_impl.h b/src/internal/slibtool_errinfo_impl.h
index fa185c8..11c1d59 100644
--- a/src/internal/slibtool_errinfo_impl.h
+++ b/src/internal/slibtool_errinfo_impl.h
@@ -1,6 +1,6 @@
/*******************************************************************/
/* slibtool: a strong libtool implementation, written in C */
-/* Copyright (C) 2016--2024 SysDeer Technologies, LLC */
+/* Copyright (C) 2016--2025 SysDeer Technologies, LLC */
/* Released under the Standard MIT License; see COPYING.SLIBTOOL. */
/*******************************************************************/
diff --git a/src/internal/slibtool_lconf_impl.c b/src/internal/slibtool_lconf_impl.c
index 7f43034..1b48c76 100644
--- a/src/internal/slibtool_lconf_impl.c
+++ b/src/internal/slibtool_lconf_impl.c
@@ -1,6 +1,6 @@
/*******************************************************************/
/* slibtool: a strong libtool implementation, written in C */
-/* Copyright (C) 2016--2024 SysDeer Technologies, LLC */
+/* Copyright (C) 2016--2025 SysDeer Technologies, LLC */
/* Released under the Standard MIT License; see COPYING.SLIBTOOL. */
/*******************************************************************/
diff --git a/src/internal/slibtool_libmeta_impl.c b/src/internal/slibtool_libmeta_impl.c
index 17e090c..7b6fadc 100644
--- a/src/internal/slibtool_libmeta_impl.c
+++ b/src/internal/slibtool_libmeta_impl.c
@@ -1,6 +1,6 @@
/*******************************************************************/
/* slibtool: a strong libtool implementation, written in C */
-/* Copyright (C) 2016--2024 SysDeer Technologies, LLC */
+/* Copyright (C) 2016--2025 SysDeer Technologies, LLC */
/* Released under the Standard MIT License; see COPYING.SLIBTOOL. */
/*******************************************************************/
diff --git a/src/internal/slibtool_m4fake_impl.c b/src/internal/slibtool_m4fake_impl.c
index 3bab8c8..b70a92f 100644
--- a/src/internal/slibtool_m4fake_impl.c
+++ b/src/internal/slibtool_m4fake_impl.c
@@ -1,6 +1,6 @@
/*******************************************************************/
/* slibtool: a strong libtool implementation, written in C */
-/* Copyright (C) 2016--2024 SysDeer Technologies, LLC */
+/* Copyright (C) 2016--2025 SysDeer Technologies, LLC */
/* Released under the Standard MIT License; see COPYING.SLIBTOOL. */
/*******************************************************************/
diff --git a/src/internal/slibtool_mapfile_impl.c b/src/internal/slibtool_mapfile_impl.c
index 5a4fcff..6d5bd6a 100644
--- a/src/internal/slibtool_mapfile_impl.c
+++ b/src/internal/slibtool_mapfile_impl.c
@@ -1,6 +1,6 @@
/*******************************************************************/
/* slibtool: a strong libtool implementation, written in C */
-/* Copyright (C) 2016--2024 SysDeer Technologies, LLC */
+/* Copyright (C) 2016--2025 SysDeer Technologies, LLC */
/* Released under the Standard MIT License; see COPYING.SLIBTOOL. */
/*******************************************************************/
diff --git a/src/internal/slibtool_mkdir_impl.h b/src/internal/slibtool_mkdir_impl.h
index 41943f1..056060d 100644
--- a/src/internal/slibtool_mkdir_impl.h
+++ b/src/internal/slibtool_mkdir_impl.h
@@ -1,6 +1,6 @@
/*******************************************************************/
/* slibtool: a strong libtool implementation, written in C */
-/* Copyright (C) 2016--2024 SysDeer Technologies, LLC */
+/* Copyright (C) 2016--2025 SysDeer Technologies, LLC */
/* Released under the Standard MIT License; see COPYING.SLIBTOOL. */
/*******************************************************************/
diff --git a/src/internal/slibtool_mkvars_impl.c b/src/internal/slibtool_mkvars_impl.c
index 5245034..2de2c76 100644
--- a/src/internal/slibtool_mkvars_impl.c
+++ b/src/internal/slibtool_mkvars_impl.c
@@ -1,6 +1,6 @@
/*******************************************************************/
/* slibtool: a strong libtool implementation, written in C */
-/* Copyright (C) 2016--2024 SysDeer Technologies, LLC */
+/* Copyright (C) 2016--2025 SysDeer Technologies, LLC */
/* Released under the Standard MIT License; see COPYING.SLIBTOOL. */
/*******************************************************************/
diff --git a/src/internal/slibtool_objlist_impl.c b/src/internal/slibtool_objlist_impl.c
index 9f25529..6012d6d 100644
--- a/src/internal/slibtool_objlist_impl.c
+++ b/src/internal/slibtool_objlist_impl.c
@@ -1,6 +1,6 @@
/*******************************************************************/
/* slibtool: a strong libtool implementation, written in C */
-/* Copyright (C) 2016--2024 SysDeer Technologies, LLC */
+/* Copyright (C) 2016--2025 SysDeer Technologies, LLC */
/* Released under the Standard MIT License; see COPYING.SLIBTOOL. */
/*******************************************************************/
diff --git a/src/internal/slibtool_objmeta_impl.c b/src/internal/slibtool_objmeta_impl.c
index 768cc96..1350f06 100644
--- a/src/internal/slibtool_objmeta_impl.c
+++ b/src/internal/slibtool_objmeta_impl.c
@@ -1,6 +1,6 @@
/*******************************************************************/
/* slibtool: a strong libtool implementation, written in C */
-/* Copyright (C) 2016--2024 SysDeer Technologies, LLC */
+/* Copyright (C) 2016--2025 SysDeer Technologies, LLC */
/* Released under the Standard MIT License; see COPYING.SLIBTOOL. */
/*******************************************************************/
diff --git a/src/internal/slibtool_pecoff_impl.c b/src/internal/slibtool_pecoff_impl.c
index 590fafc..2848075 100644
--- a/src/internal/slibtool_pecoff_impl.c
+++ b/src/internal/slibtool_pecoff_impl.c
@@ -1,6 +1,6 @@
/*******************************************************************/
/* slibtool: a strong libtool implementation, written in C */
-/* Copyright (C) 2016--2024 SysDeer Technologies, LLC */
+/* Copyright (C) 2016--2025 SysDeer Technologies, LLC */
/* Released under the Standard MIT License; see COPYING.SLIBTOOL. */
/*******************************************************************/
diff --git a/src/internal/slibtool_readlink_impl.h b/src/internal/slibtool_readlink_impl.h
index 378ed5c..9ebd7cd 100644
--- a/src/internal/slibtool_readlink_impl.h
+++ b/src/internal/slibtool_readlink_impl.h
@@ -1,6 +1,6 @@
/*******************************************************************/
/* slibtool: a strong libtool implementation, written in C */
-/* Copyright (C) 2016--2024 SysDeer Technologies, LLC */
+/* Copyright (C) 2016--2025 SysDeer Technologies, LLC */
/* Released under the Standard MIT License; see COPYING.SLIBTOOL. */
/*******************************************************************/
diff --git a/src/internal/slibtool_realpath_impl.c b/src/internal/slibtool_realpath_impl.c
index 63fc3c4..f40d289 100644
--- a/src/internal/slibtool_realpath_impl.c
+++ b/src/internal/slibtool_realpath_impl.c
@@ -1,6 +1,6 @@
/*******************************************************************/
/* slibtool: a strong libtool implementation, written in C */
-/* Copyright (C) 2016--2024 SysDeer Technologies, LLC */
+/* Copyright (C) 2016--2025 SysDeer Technologies, LLC */
/* Released under the Standard MIT License; see COPYING.SLIBTOOL. */
/*******************************************************************/
diff --git a/src/internal/slibtool_snprintf_impl.c b/src/internal/slibtool_snprintf_impl.c
index 84e01f0..ef5e6de 100644
--- a/src/internal/slibtool_snprintf_impl.c
+++ b/src/internal/slibtool_snprintf_impl.c
@@ -1,6 +1,6 @@
/*******************************************************************/
/* slibtool: a strong libtool implementation, written in C */
-/* Copyright (C) 2016--2024 SysDeer Technologies, LLC */
+/* Copyright (C) 2016--2025 SysDeer Technologies, LLC */
/* Released under the Standard MIT License; see COPYING.SLIBTOOL. */
/*******************************************************************/
diff --git a/src/internal/slibtool_spawn_impl.h b/src/internal/slibtool_spawn_impl.h
index aa4ea35..bdcc7c9 100644
--- a/src/internal/slibtool_spawn_impl.h
+++ b/src/internal/slibtool_spawn_impl.h
@@ -1,6 +1,6 @@
/*******************************************************************/
/* slibtool: a strong libtool implementation, written in C */
-/* Copyright (C) 2016--2024 SysDeer Technologies, LLC */
+/* Copyright (C) 2016--2025 SysDeer Technologies, LLC */
/* Released under the Standard MIT License; see COPYING.SLIBTOOL. */
/*******************************************************************/
diff --git a/src/internal/slibtool_stoolie_impl.h b/src/internal/slibtool_stoolie_impl.h
index 43d70a5..ac6ac12 100644
--- a/src/internal/slibtool_stoolie_impl.h
+++ b/src/internal/slibtool_stoolie_impl.h
@@ -1,6 +1,6 @@
/*******************************************************************/
/* slibtool: a strong libtool implementation, written in C */
-/* Copyright (C) 2016--2024 SysDeer Technologies, LLC */
+/* Copyright (C) 2016--2025 SysDeer Technologies, LLC */
/* Released under the Standard MIT License; see COPYING.SLIBTOOL. */
/*******************************************************************/
diff --git a/src/internal/slibtool_symlink_impl.c b/src/internal/slibtool_symlink_impl.c
index bb117e2..addead7 100644
--- a/src/internal/slibtool_symlink_impl.c
+++ b/src/internal/slibtool_symlink_impl.c
@@ -1,6 +1,6 @@
/*******************************************************************/
/* slibtool: a strong libtool implementation, written in C */
-/* Copyright (C) 2016--2024 SysDeer Technologies, LLC */
+/* Copyright (C) 2016--2025 SysDeer Technologies, LLC */
/* Released under the Standard MIT License; see COPYING.SLIBTOOL. */
/*******************************************************************/
diff --git a/src/internal/slibtool_tmpfile_impl.c b/src/internal/slibtool_tmpfile_impl.c
index 3ed7d3a..0f5c9de 100644
--- a/src/internal/slibtool_tmpfile_impl.c
+++ b/src/internal/slibtool_tmpfile_impl.c
@@ -1,6 +1,6 @@
/*******************************************************************/
/* slibtool: a strong libtool implementation, written in C */
-/* Copyright (C) 2016--2024 SysDeer Technologies, LLC */
+/* Copyright (C) 2016--2025 SysDeer Technologies, LLC */
/* Released under the Standard MIT License; see COPYING.SLIBTOOL. */
/*******************************************************************/
diff --git a/src/internal/slibtool_txtline_impl.c b/src/internal/slibtool_txtline_impl.c
index 4c8f2ad..f42c89d 100644
--- a/src/internal/slibtool_txtline_impl.c
+++ b/src/internal/slibtool_txtline_impl.c
@@ -1,6 +1,6 @@
/*******************************************************************/
/* slibtool: a strong libtool implementation, written in C */
-/* Copyright (C) 2016--2024 SysDeer Technologies, LLC */
+/* Copyright (C) 2016--2025 SysDeer Technologies, LLC */
/* Released under the Standard MIT License; see COPYING.SLIBTOOL. */
/*******************************************************************/
diff --git a/src/logic/linkcmd/slbt_linkcmd_archive.c b/src/logic/linkcmd/slbt_linkcmd_archive.c
index b7c090b..55e9ba7 100644
--- a/src/logic/linkcmd/slbt_linkcmd_archive.c
+++ b/src/logic/linkcmd/slbt_linkcmd_archive.c
@@ -1,6 +1,6 @@
/*******************************************************************/
/* slibtool: a strong libtool implementation, written in C */
-/* Copyright (C) 2016--2024 SysDeer Technologies, LLC */
+/* Copyright (C) 2016--2025 SysDeer Technologies, LLC */
/* Released under the Standard MIT License; see COPYING.SLIBTOOL. */
/*******************************************************************/
diff --git a/src/logic/linkcmd/slbt_linkcmd_argv.c b/src/logic/linkcmd/slbt_linkcmd_argv.c
index 013317f..b5865da 100644
--- a/src/logic/linkcmd/slbt_linkcmd_argv.c
+++ b/src/logic/linkcmd/slbt_linkcmd_argv.c
@@ -1,6 +1,6 @@
/*******************************************************************/
/* slibtool: a strong libtool implementation, written in C */
-/* Copyright (C) 2016--2024 SysDeer Technologies, LLC */
+/* Copyright (C) 2016--2025 SysDeer Technologies, LLC */
/* Released under the Standard MIT License; see COPYING.SLIBTOOL. */
/*******************************************************************/
@@ -1027,6 +1027,22 @@ slbt_hidden int slbt_exec_link_finalize_argument_vector(
}
}
+ /* replace -lltdl with -lsltdl as needed */
+ if (dctx->cctx->drvflags & SLBT_DRIVER_PREFER_SLTDL) {
+ struct slbt_exec_ctx_impl * ictx;
+
+ ictx = slbt_get_exec_ictx(ectx);
+
+ for (src=ectx->argv; *src; src++)
+ if ((src[0][0] == '-') && (src[0][1] == 'l'))
+ if ((src[0][2] == 'l')
+ && (src[0][3] == 't')
+ && (src[0][4] == 'd')
+ && (src[0][5] == 'l'))
+ if (!src[0][6])
+ *src = ictx->lsltdl;
+ }
+
/* properly null-terminate argv, accounting for redundant -l arguments */
*dst = 0;
diff --git a/src/logic/linkcmd/slbt_linkcmd_deps.c b/src/logic/linkcmd/slbt_linkcmd_deps.c
index 19ed716..30dd040 100644
--- a/src/logic/linkcmd/slbt_linkcmd_deps.c
+++ b/src/logic/linkcmd/slbt_linkcmd_deps.c
@@ -1,6 +1,6 @@
/*******************************************************************/
/* slibtool: a strong libtool implementation, written in C */
-/* Copyright (C) 2016--2024 SysDeer Technologies, LLC */
+/* Copyright (C) 2016--2025 SysDeer Technologies, LLC */
/* Released under the Standard MIT License; see COPYING.SLIBTOOL. */
/*******************************************************************/
diff --git a/src/logic/linkcmd/slbt_linkcmd_dsolib.c b/src/logic/linkcmd/slbt_linkcmd_dsolib.c
index cca6aac..2386bad 100644
--- a/src/logic/linkcmd/slbt_linkcmd_dsolib.c
+++ b/src/logic/linkcmd/slbt_linkcmd_dsolib.c
@@ -1,6 +1,6 @@
/*******************************************************************/
/* slibtool: a strong libtool implementation, written in C */
-/* Copyright (C) 2016--2024 SysDeer Technologies, LLC */
+/* Copyright (C) 2016--2025 SysDeer Technologies, LLC */
/* Released under the Standard MIT License; see COPYING.SLIBTOOL. */
/*******************************************************************/
diff --git a/src/logic/linkcmd/slbt_linkcmd_executable.c b/src/logic/linkcmd/slbt_linkcmd_executable.c
index 936bc02..ee66061 100644
--- a/src/logic/linkcmd/slbt_linkcmd_executable.c
+++ b/src/logic/linkcmd/slbt_linkcmd_executable.c
@@ -1,6 +1,6 @@
/*******************************************************************/
/* slibtool: a strong libtool implementation, written in C */
-/* Copyright (C) 2016--2024 SysDeer Technologies, LLC */
+/* Copyright (C) 2016--2025 SysDeer Technologies, LLC */
/* Released under the Standard MIT License; see COPYING.SLIBTOOL. */
/*******************************************************************/
diff --git a/src/logic/linkcmd/slbt_linkcmd_host.c b/src/logic/linkcmd/slbt_linkcmd_host.c
index c3d51f8..304ad5d 100644
--- a/src/logic/linkcmd/slbt_linkcmd_host.c
+++ b/src/logic/linkcmd/slbt_linkcmd_host.c
@@ -1,6 +1,6 @@
/*******************************************************************/
/* slibtool: a strong libtool implementation, written in C */
-/* Copyright (C) 2016--2024 SysDeer Technologies, LLC */
+/* Copyright (C) 2016--2025 SysDeer Technologies, LLC */
/* Released under the Standard MIT License; see COPYING.SLIBTOOL. */
/*******************************************************************/
diff --git a/src/logic/linkcmd/slbt_linkcmd_implib.c b/src/logic/linkcmd/slbt_linkcmd_implib.c
index b2c0375..b7403a8 100644
--- a/src/logic/linkcmd/slbt_linkcmd_implib.c
+++ b/src/logic/linkcmd/slbt_linkcmd_implib.c
@@ -1,6 +1,6 @@
/*******************************************************************/
/* slibtool: a strong libtool implementation, written in C */
-/* Copyright (C) 2016--2024 SysDeer Technologies, LLC */
+/* Copyright (C) 2016--2025 SysDeer Technologies, LLC */
/* Released under the Standard MIT License; see COPYING.SLIBTOOL. */
/*******************************************************************/
diff --git a/src/logic/slbt_exec_ar.c b/src/logic/slbt_exec_ar.c
index ba56f5b..50ff864 100644
--- a/src/logic/slbt_exec_ar.c
+++ b/src/logic/slbt_exec_ar.c
@@ -1,6 +1,6 @@
/*******************************************************************/
/* slibtool: a strong libtool implementation, written in C */
-/* Copyright (C) 2016--2024 SysDeer Technologies, LLC */
+/* Copyright (C) 2016--2025 SysDeer Technologies, LLC */
/* Released under the Standard MIT License; see COPYING.SLIBTOOL. */
/*******************************************************************/
diff --git a/src/logic/slbt_exec_compile.c b/src/logic/slbt_exec_compile.c
index 47d8e72..930876d 100644
--- a/src/logic/slbt_exec_compile.c
+++ b/src/logic/slbt_exec_compile.c
@@ -1,6 +1,6 @@
/*******************************************************************/
/* slibtool: a strong libtool implementation, written in C */
-/* Copyright (C) 2016--2024 SysDeer Technologies, LLC */
+/* Copyright (C) 2016--2025 SysDeer Technologies, LLC */
/* Released under the Standard MIT License; see COPYING.SLIBTOOL. */
/*******************************************************************/
diff --git a/src/logic/slbt_exec_ctx.c b/src/logic/slbt_exec_ctx.c
index 223be17..9d39144 100644
--- a/src/logic/slbt_exec_ctx.c
+++ b/src/logic/slbt_exec_ctx.c
@@ -1,6 +1,6 @@
/*******************************************************************/
/* slibtool: a strong libtool implementation, written in C */
-/* Copyright (C) 2016--2024 SysDeer Technologies, LLC */
+/* Copyright (C) 2016--2025 SysDeer Technologies, LLC */
/* Released under the Standard MIT License; see COPYING.SLIBTOOL. */
/*******************************************************************/
@@ -131,6 +131,9 @@ static struct slbt_exec_ctx_impl * slbt_exec_ctx_alloc(
size += exts * SLBT_ECTX_LIB_EXTRAS;
}
+ /* -lsltdl (--prefer-sltdl impl.) */
+ size += 8;
+
/* string buffers: args, shadow */
if (!(args = malloc(size)))
return 0;
@@ -629,6 +632,11 @@ int slbt_ectx_get_exec_ctx(
}
+ /* -lsltdl (--prefer-sltdl impl.) */
+ ictx->lsltdl = ch;
+ strcpy(ch,"-lsltdl");
+ ch += 8;
+
/* dlopen, dlpreopen */
if ((dlopenv = idctx->dlopenv), (dlactxv = ictx->dlactxv)) {
if (slbt_ar_get_varchive_ctx(dctx,dlactxv) < 0)
diff --git a/src/logic/slbt_exec_execute.c b/src/logic/slbt_exec_execute.c
index 7f9389b..6892af6 100644
--- a/src/logic/slbt_exec_execute.c
+++ b/src/logic/slbt_exec_execute.c
@@ -1,6 +1,6 @@
/*******************************************************************/
/* slibtool: a strong libtool implementation, written in C */
-/* Copyright (C) 2016--2024 SysDeer Technologies, LLC */
+/* Copyright (C) 2016--2025 SysDeer Technologies, LLC */
/* Released under the Standard MIT License; see COPYING.SLIBTOOL. */
/*******************************************************************/
diff --git a/src/logic/slbt_exec_install.c b/src/logic/slbt_exec_install.c
index 228d2ff..bd85465 100644
--- a/src/logic/slbt_exec_install.c
+++ b/src/logic/slbt_exec_install.c
@@ -1,6 +1,6 @@
/*******************************************************************/
/* slibtool: a strong libtool implementation, written in C */
-/* Copyright (C) 2016--2024 SysDeer Technologies, LLC */
+/* Copyright (C) 2016--2025 SysDeer Technologies, LLC */
/* Released under the Standard MIT License; see COPYING.SLIBTOOL. */
/*******************************************************************/
diff --git a/src/logic/slbt_exec_link.c b/src/logic/slbt_exec_link.c
index 50709d3..f6a0bc1 100644
--- a/src/logic/slbt_exec_link.c
+++ b/src/logic/slbt_exec_link.c
@@ -1,6 +1,6 @@
/*******************************************************************/
/* slibtool: a strong libtool implementation, written in C */
-/* Copyright (C) 2016--2024 SysDeer Technologies, LLC */
+/* Copyright (C) 2016--2025 SysDeer Technologies, LLC */
/* Released under the Standard MIT License; see COPYING.SLIBTOOL. */
/*******************************************************************/
diff --git a/src/logic/slbt_exec_stoolie.c b/src/logic/slbt_exec_stoolie.c
index 779146a..84d8b23 100644
--- a/src/logic/slbt_exec_stoolie.c
+++ b/src/logic/slbt_exec_stoolie.c
@@ -1,6 +1,6 @@
/*******************************************************************/
/* slibtool: a strong libtool implementation, written in C */
-/* Copyright (C) 2016--2024 SysDeer Technologies, LLC */
+/* Copyright (C) 2016--2025 SysDeer Technologies, LLC */
/* Released under the Standard MIT License; see COPYING.SLIBTOOL. */
/*******************************************************************/
@@ -87,13 +87,18 @@ static int slbt_exec_stoolie_perform_actions(
char m4dir [PATH_MAX];
char auxdir[PATH_MAX];
char slibm4[PATH_MAX];
+ char sltdl [PATH_MAX];
+ char m4ltdl[PATH_MAX];
char ltmain[PATH_MAX];
char arlib [PATH_MAX];
bool fslibm4;
+ bool fsltdl;
bool fltmain;
ictx = slbt_get_stoolie_ictx(stctx);
+ fsltdl = (dctx->cctx->drvflags & SLBT_DRIVER_PREFER_SLTDL);
+
/* source files */
if (slbt_snprintf(
slibm4,sizeof(slibm4),"%s/%s",
@@ -102,6 +107,12 @@ static int slbt_exec_stoolie_perform_actions(
return SLBT_BUFFER_ERROR(dctx);
if (slbt_snprintf(
+ sltdl,sizeof(sltdl),"%s/%s",
+ SLBT_PACKAGE_DATADIR,
+ fsltdl ? "sltdl.m4" : "sysltdl.m4") < 0)
+ return SLBT_BUFFER_ERROR(dctx);
+
+ if (slbt_snprintf(
ltmain,sizeof(ltmain),"%s/%s",
SLBT_PACKAGE_DATADIR,
"ltmain.sh") < 0)
@@ -119,6 +130,10 @@ static int slbt_exec_stoolie_perform_actions(
if (slbt_exec_stoolie_remove_file(dctx,ictx->fdm4,"slibtool.m4") < 0)
return SLBT_NESTED_ERROR(dctx);
+ if (ictx->fdm4 >= 0)
+ if (slbt_exec_stoolie_remove_file(dctx,ictx->fdm4,"sltdl.m4") < 0)
+ return SLBT_NESTED_ERROR(dctx);
+
if (slbt_exec_stoolie_remove_file(dctx,ictx->fdaux,"ltmain.sh") < 0)
return SLBT_NESTED_ERROR(dctx);
@@ -158,8 +173,16 @@ static int slbt_exec_stoolie_perform_actions(
if (slbt_realpath(ictx->fdm4,".",0,m4dir,sizeof(m4dir)) < 0)
return SLBT_SYSTEM_ERROR(dctx,0);
+ if (slbt_snprintf(
+ m4ltdl,sizeof(m4ltdl),"%s/%s",
+ m4dir,"sltdl.m4") < 0)
+ return SLBT_BUFFER_ERROR(dctx);
+
if (slbt_util_copy_file(ectx,slibm4,m4dir) < 0)
return SLBT_NESTED_ERROR(dctx);
+
+ if (slbt_util_copy_file(ectx,sltdl,m4ltdl) < 0)
+ return SLBT_NESTED_ERROR(dctx);
}
if (fltmain) {
@@ -174,7 +197,7 @@ static int slbt_exec_stoolie_perform_actions(
}
} else {
/* default to symlinks */
- if (fslibm4)
+ if (fslibm4) {
if (slbt_create_symlink_ex(
dctx,ectx,
ictx->fdm4,
@@ -183,6 +206,15 @@ static int slbt_exec_stoolie_perform_actions(
SLBT_SYMLINK_LITERAL) < 0)
return SLBT_NESTED_ERROR(dctx);
+ if (slbt_create_symlink_ex(
+ dctx,ectx,
+ ictx->fdm4,
+ sltdl,
+ "sltdl.m4",
+ SLBT_SYMLINK_LITERAL) < 0)
+ return SLBT_NESTED_ERROR(dctx);
+ }
+
if (fltmain) {
if (slbt_create_symlink_ex(
dctx,ectx,
@@ -311,6 +343,10 @@ int slbt_exec_stoolie(const struct slbt_driver_ctx * dctx)
ictx->cctx.drvflags &= ~(uint64_t)SLBT_DRIVER_SILENT;
ictx->cctx.drvflags |= SLBT_DRIVER_VERBOSE;
break;
+
+ case TAG_STLE_SYSTEM_LTDL:
+ ictx->cctx.drvflags &= ~(uint64_t)SLBT_DRIVER_PREFER_SLTDL;
+ break;
}
if (entry->fval) {
diff --git a/src/logic/slbt_exec_uninstall.c b/src/logic/slbt_exec_uninstall.c
index 98bd85b..04ae645 100644
--- a/src/logic/slbt_exec_uninstall.c
+++ b/src/logic/slbt_exec_uninstall.c
@@ -1,6 +1,6 @@
/*******************************************************************/
/* slibtool: a strong libtool implementation, written in C */
-/* Copyright (C) 2016--2024 SysDeer Technologies, LLC */
+/* Copyright (C) 2016--2025 SysDeer Technologies, LLC */
/* Released under the Standard MIT License; see COPYING.SLIBTOOL. */
/*******************************************************************/
diff --git a/src/output/slbt_output_config.c b/src/output/slbt_output_config.c
index 0442884..4c502d8 100644
--- a/src/output/slbt_output_config.c
+++ b/src/output/slbt_output_config.c
@@ -1,6 +1,6 @@
/*******************************************************************/
/* slibtool: a strong libtool implementation, written in C */
-/* Copyright (C) 2016--2024 SysDeer Technologies, LLC */
+/* Copyright (C) 2016--2025 SysDeer Technologies, LLC */
/* Released under the Standard MIT License; see COPYING.SLIBTOOL. */
/*******************************************************************/
diff --git a/src/output/slbt_output_error.c b/src/output/slbt_output_error.c
index 4077497..940af3f 100644
--- a/src/output/slbt_output_error.c
+++ b/src/output/slbt_output_error.c
@@ -1,6 +1,6 @@
/*******************************************************************/
/* slibtool: a strong libtool implementation, written in C */
-/* Copyright (C) 2016--2024 SysDeer Technologies, LLC */
+/* Copyright (C) 2016--2025 SysDeer Technologies, LLC */
/* Released under the Standard MIT License; see COPYING.SLIBTOOL. */
/*******************************************************************/
diff --git a/src/output/slbt_output_exec.c b/src/output/slbt_output_exec.c
index 9c88bac..cd2ed25 100644
--- a/src/output/slbt_output_exec.c
+++ b/src/output/slbt_output_exec.c
@@ -1,6 +1,6 @@
/*******************************************************************/
/* slibtool: a strong libtool implementation, written in C */
-/* Copyright (C) 2016--2024 SysDeer Technologies, LLC */
+/* Copyright (C) 2016--2025 SysDeer Technologies, LLC */
/* Released under the Standard MIT License; see COPYING.SLIBTOOL. */
/*******************************************************************/
diff --git a/src/output/slbt_output_fdcwd.c b/src/output/slbt_output_fdcwd.c
index 4b5c54d..e40df9b 100644
--- a/src/output/slbt_output_fdcwd.c
+++ b/src/output/slbt_output_fdcwd.c
@@ -1,6 +1,6 @@
/*******************************************************************/
/* slibtool: a strong libtool implementation, written in C */
-/* Copyright (C) 2016--2024 SysDeer Technologies, LLC */
+/* Copyright (C) 2016--2025 SysDeer Technologies, LLC */
/* Released under the Standard MIT License; see COPYING.SLIBTOOL. */
/*******************************************************************/
diff --git a/src/output/slbt_output_features.c b/src/output/slbt_output_features.c
index a6a5a20..0052531 100644
--- a/src/output/slbt_output_features.c
+++ b/src/output/slbt_output_features.c
@@ -1,6 +1,6 @@
/*******************************************************************/
/* slibtool: a strong libtool implementation, written in C */
-/* Copyright (C) 2016--2024 SysDeer Technologies, LLC */
+/* Copyright (C) 2016--2025 SysDeer Technologies, LLC */
/* Released under the Standard MIT License; see COPYING.SLIBTOOL. */
/*******************************************************************/
diff --git a/src/output/slbt_output_info.c b/src/output/slbt_output_info.c
index 583906f..b0367e1 100644
--- a/src/output/slbt_output_info.c
+++ b/src/output/slbt_output_info.c
@@ -1,6 +1,6 @@
/*******************************************************************/
/* slibtool: a strong libtool implementation, written in C */
-/* Copyright (C) 2016--2024 SysDeer Technologies, LLC */
+/* Copyright (C) 2016--2025 SysDeer Technologies, LLC */
/* Released under the Standard MIT License; see COPYING.SLIBTOOL. */
/*******************************************************************/
diff --git a/src/output/slbt_output_machine.c b/src/output/slbt_output_machine.c
index ad98066..e8ca346 100644
--- a/src/output/slbt_output_machine.c
+++ b/src/output/slbt_output_machine.c
@@ -1,6 +1,6 @@
/*******************************************************************/
/* slibtool: a strong libtool implementation, written in C */
-/* Copyright (C) 2016--2024 SysDeer Technologies, LLC */
+/* Copyright (C) 2016--2025 SysDeer Technologies, LLC */
/* Released under the Standard MIT License; see COPYING.SLIBTOOL. */
/*******************************************************************/
diff --git a/src/output/slbt_output_mapfile.c b/src/output/slbt_output_mapfile.c
index 166b1f4..106b34e 100644
--- a/src/output/slbt_output_mapfile.c
+++ b/src/output/slbt_output_mapfile.c
@@ -1,6 +1,6 @@
/*******************************************************************/
/* slibtool: a strong libtool implementation, written in C */
-/* Copyright (C) 2016--2024 SysDeer Technologies, LLC */
+/* Copyright (C) 2016--2025 SysDeer Technologies, LLC */
/* Released under the Standard MIT License; see COPYING.SLIBTOOL. */
/*******************************************************************/
diff --git a/src/skin/slbt_skin_default.c b/src/skin/slbt_skin_default.c
index 8ae0833..6a2ab6a 100644
--- a/src/skin/slbt_skin_default.c
+++ b/src/skin/slbt_skin_default.c
@@ -333,6 +333,12 @@ const slbt_hidden struct argv_option slbt_default_options[] = {
"statically link libtool libraries "
"[currently a no-op]"},
+ {"prefer-sltdl", 0,TAG_PREFER_SLTDL,ARGV_OPTARG_NONE,
+ 0,0,0,
+ "prefer the use of libsltdl over the system's "
+ "ltdl library, specifically by substituting "
+ "-lltdl linker arguments with -lsltdl ones."},
+
{"Wc", 0,TAG_COMPILER_FLAG,ARGV_OPTARG_REQUIRED,
ARGV_OPTION_HYBRID_ONLY|ARGV_OPTION_HYBRID_COMMA,
0,"<flag>[,<flag]...",
diff --git a/src/skin/slbt_skin_stoolie.c b/src/skin/slbt_skin_stoolie.c
index e058fed..3140d22 100644
--- a/src/skin/slbt_skin_stoolie.c
+++ b/src/skin/slbt_skin_stoolie.c
@@ -52,7 +52,12 @@ const slbt_hidden struct argv_option slbt_stoolie_options[] = {
"install [s]ltdl sources to %s; this option "
"provided is provided for the purpose of backward "
"compatibility, and is currently a no-op, thereby "
- "deferring -lltdl to the system install library."},
+ "deferring -lltdl to the system installed library."},
+
+ {"system-ltdl",0,TAG_STLE_SYSTEM_LTDL,ARGV_OPTARG_NONE,0,0,0,
+ "Do not enforce the use of libsltdl. "
+ "Without this option, --prefer-sltdl will be added to "
+ "slibtool's configured arguments."},
{0,0,0,0,0,0,0,0}
};
diff --git a/src/slibtool.c b/src/slibtool.c
index 33904d1..6ef0945 100644
--- a/src/slibtool.c
+++ b/src/slibtool.c
@@ -1,6 +1,6 @@
/*******************************************************************/
/* slibtool: a strong libtool implementation, written in C */
-/* Copyright (C) 2016--2024 SysDeer Technologies, LLC */
+/* Copyright (C) 2016--2025 SysDeer Technologies, LLC */
/* Released under the Standard MIT License; see COPYING.SLIBTOOL. */
/*******************************************************************/
diff --git a/src/stoolie/slbt_stoolie_ctx.c b/src/stoolie/slbt_stoolie_ctx.c
index 3457fbe..7899b3c 100644
--- a/src/stoolie/slbt_stoolie_ctx.c
+++ b/src/stoolie/slbt_stoolie_ctx.c
@@ -1,6 +1,6 @@
/*******************************************************************/
/* slibtool: a strong libtool implementation, written in C */
-/* Copyright (C) 2016--2024 SysDeer Technologies, LLC */
+/* Copyright (C) 2016--2025 SysDeer Technologies, LLC */
/* Released under the Standard MIT License; see COPYING.SLIBTOOL. */
/*******************************************************************/
diff --git a/src/util/slbt_archive_import.c b/src/util/slbt_archive_import.c
index 11b68de..e683148 100644
--- a/src/util/slbt_archive_import.c
+++ b/src/util/slbt_archive_import.c
@@ -1,6 +1,6 @@
/*******************************************************************/
/* slibtool: a strong libtool implementation, written in C */
-/* Copyright (C) 2016--2024 SysDeer Technologies, LLC */
+/* Copyright (C) 2016--2025 SysDeer Technologies, LLC */
/* Released under the Standard MIT License; see COPYING.SLIBTOOL. */
/*******************************************************************/
diff --git a/src/util/slbt_copy_file.c b/src/util/slbt_copy_file.c
index 23d8cc3..0e64ad7 100644
--- a/src/util/slbt_copy_file.c
+++ b/src/util/slbt_copy_file.c
@@ -1,6 +1,6 @@
/*******************************************************************/
/* slibtool: a strong libtool implementation, written in C */
-/* Copyright (C) 2016--2024 SysDeer Technologies, LLC */
+/* Copyright (C) 2016--2025 SysDeer Technologies, LLC */
/* Released under the Standard MIT License; see COPYING.SLIBTOOL. */
/*******************************************************************/
diff --git a/src/util/slbt_create_mapfile.c b/src/util/slbt_create_mapfile.c
index 8c03920..9a8dfc4 100644
--- a/src/util/slbt_create_mapfile.c
+++ b/src/util/slbt_create_mapfile.c
@@ -1,6 +1,6 @@
/*******************************************************************/
/* slibtool: a strong libtool implementation, written in C */
-/* Copyright (C) 2016--2024 SysDeer Technologies, LLC */
+/* Copyright (C) 2016--2025 SysDeer Technologies, LLC */
/* Released under the Standard MIT License; see COPYING.SLIBTOOL. */
/*******************************************************************/
diff --git a/src/util/slbt_create_symfile.c b/src/util/slbt_create_symfile.c
index 8c9b4be..4dd1a90 100644
--- a/src/util/slbt_create_symfile.c
+++ b/src/util/slbt_create_symfile.c
@@ -1,6 +1,6 @@
/*******************************************************************/
/* slibtool: a strong libtool implementation, written in C */
-/* Copyright (C) 2016--2024 SysDeer Technologies, LLC */
+/* Copyright (C) 2016--2025 SysDeer Technologies, LLC */
/* Released under the Standard MIT License; see COPYING.SLIBTOOL. */
/*******************************************************************/
diff --git a/src/util/slbt_dump_machine.c b/src/util/slbt_dump_machine.c
index 1b42211..beffb47 100644
--- a/src/util/slbt_dump_machine.c
+++ b/src/util/slbt_dump_machine.c
@@ -1,6 +1,6 @@
/*******************************************************************/
/* slibtool: a strong libtool implementation, written in C */
-/* Copyright (C) 2016--2024 SysDeer Technologies, LLC */
+/* Copyright (C) 2016--2025 SysDeer Technologies, LLC */
/* Released under the Standard MIT License; see COPYING.SLIBTOOL. */
/*******************************************************************/
diff --git a/src/util/slbt_map_input.c b/src/util/slbt_map_input.c
index d99b4ba..5b681c9 100644
--- a/src/util/slbt_map_input.c
+++ b/src/util/slbt_map_input.c
@@ -1,6 +1,6 @@
/*******************************************************************/
/* slibtool: a strong libtool implementation, written in C */
-/* Copyright (C) 2015--2024 SysDeer Technologies, LLC */
+/* Copyright (C) 2015--2025 SysDeer Technologies, LLC */
/* Released under the Standard MIT License; see COPYING.SLIBTOOL. */
/*******************************************************************/
diff --git a/src/util/slbt_realpath.c b/src/util/slbt_realpath.c
index 823f3a0..cba5ac4 100644
--- a/src/util/slbt_realpath.c
+++ b/src/util/slbt_realpath.c
@@ -1,6 +1,6 @@
/*******************************************************************/
/* slibtool: a strong libtool implementation, written in C */
-/* Copyright (C) 2016--2024 SysDeer Technologies, LLC */
+/* Copyright (C) 2016--2025 SysDeer Technologies, LLC */
/* Released under the Standard MIT License; see COPYING.SLIBTOOL. */
/*******************************************************************/