From efc2ea54fadb8efb67bbd9e3807ca8ae236a80fb Mon Sep 17 00:00:00 2001 From: Nicolas Caramelli Date: Sun, 30 Oct 2022 11:18:13 +0100 Subject: [PATCH] Use the -l:lib syntax when pkg-config is called with --static Signed-off-by: Nicolas Caramelli --- main.c | 2 +- parse.c | 8 +++++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/main.c b/main.c index cfebdba..cd132eb 100644 --- a/main.c +++ b/main.c @@ -43,7 +43,7 @@ static gboolean want_my_version = FALSE; static gboolean want_version = FALSE; static FlagType pkg_flags = 0; static gboolean want_list = FALSE; -static gboolean want_static_lib_list = ENABLE_INDIRECT_DEPS; +gboolean want_static_lib_list = ENABLE_INDIRECT_DEPS; static gboolean want_short_errors = FALSE; static gboolean want_uninstalled = FALSE; static char *variable_name = NULL; diff --git a/parse.c b/parse.c index 6e9907c..68647a9 100644 --- a/parse.c +++ b/parse.c @@ -38,6 +38,8 @@ gboolean parse_strict = TRUE; gboolean define_prefix = ENABLE_DEFINE_PREFIX; char *prefix_variable = "prefix"; +extern gboolean want_static_lib_list; + #ifdef G_OS_WIN32 gboolean msvc_syntax = FALSE; #endif @@ -651,7 +653,11 @@ static void _do_parse_libs (Package *pkg, int argc, char **argv) ++p; flag->type = LIBS_l; - flag->arg = g_strconcat (l_flag, p, lib_suffix, NULL); + if (want_static_lib_list && *p != ':') + flag->arg = g_strconcat (l_flag, ":lib", p, lib_suffix, ".a", NULL); + else + flag->arg = g_strconcat (l_flag, p, lib_suffix, NULL); + pkg->libs = g_list_prepend (pkg->libs, flag); } else if (p[0] == '-' &&