aboutsummaryrefslogtreecommitdiffstats
path: root/devel/pkg-config/files/patch-pkg.c
blob: 1284af1949e2c3ee464c49dbd21703cad981c06e (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
--- pkg.c.orig  Thu Feb  7 14:32:13 2002
+++ pkg.c   Tue Mar 12 16:54:50 2002
@@ -93,7 +93,7 @@
  * locations, ignoring duplicates
  */
 static void
-scan_dir (const char *dirname)
+scan_dir (const char *dirname, void *quiet)
 {
   DIR *dir;
   struct dirent *dent;
@@ -113,7 +113,8 @@
   free (dirname_copy);
   if (!dir)
     {
-      debug_spew ("Cannot open directory '%s' in package search path: %s\n",
+      if (!quiet)
+          debug_spew ("Cannot open directory '%s' in package search path: %s\n",
                   dirname, g_strerror (errno));
       return;
     }
@@ -177,7 +178,9 @@
       path_positions = g_hash_table_new (g_str_hash, g_str_equal);
       
       g_slist_foreach (search_dirs, (GFunc)scan_dir, NULL);
-      scan_dir (PKGLIBDIR);
+      scan_dir (PKGLIBDIR, (void *)0);
+      scan_dir (XPKGLIBDIR, (void *)1);
+      scan_dir (LPKGLIBDIR, (void *)1);
     }
 }
 
@@ -901,6 +904,13 @@
   while (tmp != NULL)
     {
       Package *pkg = tmp->data;
+     GSList *reqs = pkg->requires;
+
+     if (reqs)
+       {
+         g_string_append (str, packages_get_other_libs(reqs));
+         g_string_append (str, " ");
+       }
 
       if (pkg->other_libs)
         {
@@ -924,10 +934,13 @@
   char *L_libs;
   char *other_libs;
   GString *str;
+  GSList *tmp;
   char *retval;
   
   str = g_string_new ("");  
 
+  tmp = pkgs;
+
   other_libs = packages_get_other_libs (pkgs);
   L_libs = packages_get_L_libs (pkgs);
   l_libs = packages_get_l_libs (pkgs);
@@ -986,6 +999,13 @@
   while (tmp != NULL)
     {
       Package *pkg = tmp->data;
+     GSList *reqs = pkg->requires;
+
+     if (reqs)
+       {
+          g_string_append (str, packages_get_other_cflags(reqs));         
+         g_string_append (str, " ");
+       }
 
       if (pkg->other_cflags)
         {