Make pkg-config propagate linker flags other than -l and -L, needed

for dependency chains with -pthread in it.

From Marc Matteo <marcm@lectroid.net>.

Ok shell@
This commit is contained in:
nino 2002-08-31 12:32:21 +00:00
parent fa2341a33e
commit b359f8c671
3 changed files with 84 additions and 0 deletions

View File

@ -0,0 +1,24 @@
$OpenBSD: patch-parse_c,v 1.1 2002/08/31 12:32:21 nino Exp $
--- parse.c.orig Mon Aug 12 19:39:18 2002
+++ parse.c Mon Aug 12 19:43:30 2002
@@ -656,9 +656,8 @@ parse_libs (Package *pkg, const char *st
}
else
{
- g_string_append_c (other, ' ');
- g_string_append (other, arg);
- g_string_append_c (other, ' ');
+ pkg->other_libs = g_slist_prepend (pkg->other_libs,
+ g_strconcat (p, NULL));
}
g_free (arg);
@@ -669,8 +668,6 @@ parse_libs (Package *pkg, const char *st
g_free (argv);
g_free (trimmed);
- pkg->other_libs = other->str;
-
g_string_free (other, FALSE);
pkg->l_libs = g_slist_reverse (pkg->l_libs);

View File

@ -0,0 +1,48 @@
$OpenBSD: patch-pkg_c,v 1.1 2002/08/31 12:32:21 nino Exp $
--- pkg.c.orig Thu Feb 28 15:06:20 2002
+++ pkg.c Mon Aug 12 19:22:15 2002
@@ -419,6 +419,12 @@ get_L_libs (Package *pkg)
}
static GSList *
+get_other_libs (Package *pkg)
+{
+ return pkg->other_libs;
+}
+
+static GSList *
get_I_cflags (Package *pkg)
{
return pkg->I_cflags;
@@ -903,30 +909,7 @@ package_get_other_libs (Package *pkg)
char *
packages_get_other_libs (GSList *pkgs)
{
- GSList *tmp;
- GString *str;
- char *retval;
-
- str = g_string_new ("");
-
- tmp = pkgs;
- while (tmp != NULL)
- {
- Package *pkg = tmp->data;
-
- if (pkg->other_libs)
- {
- g_string_append (str, pkg->other_libs);
- g_string_append (str, " ");
- }
-
- tmp = g_slist_next (tmp);
- }
-
- retval = str->str;
- g_string_free (str, FALSE);
-
- return retval;
+ return get_multi_merged (pkgs, get_other_libs, FALSE);
}
char *

View File

@ -0,0 +1,12 @@
$OpenBSD: patch-pkg_h,v 1.1 2002/08/31 12:32:21 nino Exp $
--- pkg.h.orig Thu Aug 29 16:39:49 2002
+++ pkg.h Thu Aug 29 16:40:54 2002
@@ -41,7 +41,7 @@ struct _Package
char *l_libs_merged;
GSList *L_libs;
char *L_libs_merged;
- char *other_libs;
+ GSList *other_libs;
char *other_libs_merged;
GSList *I_cflags;
char *I_cflags_merged;