summaryrefslogtreecommitdiff
path: root/devel/subversion/patches/patch-ah
blob: f7b2ca28042b4b6c5c456740624eb19e3a199db8 (plain)
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
$NetBSD: patch-ah,v 1.1 2004/11/27 02:35:53 epg Exp $

--- build/generator/gen_make.py.orig	2004-08-09 18:30:31.000000000 -0400
+++ build/generator/gen_make.py
@@ -5,6 +5,7 @@
 import os
 import sys
 import string
+import ConfigParser
 
 import gen_base
 
@@ -27,6 +28,13 @@ class Generator(gen_base.GeneratorBase):
     install_deps = self.graph.get_deps(gen_base.DT_INSTALL)
     install_sources = self.graph.get_all_sources(gen_base.DT_INSTALL)
 
+    cp = ConfigParser.ConfigParser()
+    cp.read('gen-make.opts')
+    if cp.has_option('options', '--installed-libs'):
+      self.installed_libs = cp.get('options', '--installed-libs').split(',')
+    else:
+      self.installed_libs = []
+
     # ensure consistency between runs
     install_deps.sort()
     install_sources.sort(lambda s1, s2: cmp(s1.name, s2.name))
@@ -68,6 +76,8 @@ class Generator(gen_base.GeneratorBase):
         elif isinstance(source, gen_base.TargetLinked):
           if source.external_lib:
             libs.append(source.external_lib)
+          elif source.name in self.installed_libs:
+            libs.append('-l%s-%s' % (source.name[3:], self.cfg.version))
           else:
             # append the output of the target to our stated dependencies
             deps.append(source.filename)
@@ -184,6 +194,8 @@ class Generator(gen_base.GeneratorBase):
       for target in inst_targets:
         for target_dep in self.graph.get_sources(gen_base.DT_LINK, target.name,
                                                  gen_base.TargetLib):
+          if target_dep.name in self.installed_libs:
+            continue
           if target_dep.install and target_dep.install != area:
             install_deps['install-%s' % target_dep.install] = None
       install_deps = install_deps.keys()
@@ -356,11 +368,18 @@ class Generator(gen_base.GeneratorBase):
 
         # construct a list of the other .la libs to link against
         retreat = build_path_retreat(target.path)
-        deps = [ target.filename ]
-        link = [ build_path_join(retreat, target.filename) ]
+        if target.name in self.installed_libs:
+          deps = []
+          link = [ '-l%s-%s' % (target.name[3:], self.cfg.version) ]
+        else:
+          deps = [ target.filename ]
+          link = [ build_path_join(retreat, target.filename) ]
         for source in self.graph.get_sources(gen_base.DT_LINK, target.name):
           if not isinstance(source, gen_base.TargetLib) or source.external_lib:
             continue
+          if source.name in self.installed_libs:
+            link.append('-l%s-%s' % (source.name[3:], self.cfg.version))
+            continue
           deps.append(source.filename)
           link.append(build_path_join(retreat, source.filename))