aboutsummaryrefslogtreecommitdiffstats
path: root/editors/openoffice-4/files/patch-set_soenv.in
blob: e03a7829946dfd3e2af715643b9967164e6c243e (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
75
76
77
78
79
--- set_soenv.in.orig   2015-01-17 23:35:07.000000000 -0800
+++ set_soenv.in    2015-02-23 16:02:44.000000000 -0800
@@ -359,7 +359,7 @@
 elsif ( $platform =~ m/freebsd/ ) 
 {     $BIG_SVX        = "TRUE";
       $COM            = "GCC";
-      $COMPATH        = '@COMPATH@'; 
+      $COMPATH        = '@COMPATH@' . '/bin'; 
       $CVER           = "C300";
       $GUI            = "UNX";
       $GUIBASE        = "unx";
@@ -2617,26 +2617,37 @@
    my @originalPairs = @_;
    my @pairs = @originalPairs;
    my @Path = split /$ps/, $oldPath;
+   my @buildPath;
+   my @sysPath;
+   my $elem;
+
+   for $elem (@Path) {
+       if ($elem eq '.' || $elem =~ m'^$SOLARENV/' ||
+       $elem =~ m'/solenv/') {
+           push @buildPath, $elem;
+       } else {
+           push @sysPath, $elem;
+       }
+   }
 
    while (@pairs) {
        my $path = shift @pairs;
        my $cmd = shift @pairs;
        my $to_append = 1;
-       my $elem;
 
        if (! -x "$path/$cmd") {
        AddWarning ("Missing executable $path/$cmd\n");
        }
 
-       for $elem (@Path) {
+       for $elem (@sysPath) {
        if ($elem eq $path) {
 #          print "Hit duplicate path in path; break\n";
            $to_append = 0;
            last;
        }
-       if (-f "$elem/$cmd") {
+       if (-f "$elem/$cmd" && ! -l "$elem/$cmd") {
 #          print "Element already in path ...\n";
-           unshift @Path, $path;
+           unshift @sysPath, $path;
            $to_append = 0;
            last;
        } else {
@@ -2644,7 +2655,7 @@
        }
        }
        if ($to_append) {
-       push @Path, $path;
+       push @sysPath, $path;
        }
    }
 
@@ -2654,14 +2665,14 @@
        my $cmd = shift @pairs;
        my $realpath;
 
-       $realpath = PathLookup ($cmd, @Path);
+       $realpath = PathLookup ($cmd, @sysPath);
        if (!($realpath eq $path)) {
        AddWarning ("Path conflict for executables " .
                             "$path/$cmd against $realpath");
        }
    }
 
-   return join $ps, CleanupPath (@Path);
+   return join $ps, @buildPath, CleanupPath (@sysPath);
 }
 
 #------------------------------------------------------------