File tree Expand file tree Collapse file tree 5 files changed +50
-3
lines changed
test/run-make/symlinked-libraries Expand file tree Collapse file tree 5 files changed +50
-3
lines changed Original file line number Diff line number Diff line change 1
1
---
2
- refs/heads/master: 043c9721791731bbf7b9d8be354a65ed25b9a6d9
2
+ refs/heads/master: 8922fa01228f5161aa0ebd714f86f2712a3c7ea8
3
3
refs/heads/snap-stage1: e33de59e47c5076a89eadeb38f4934f58a3618a6
4
4
refs/heads/snap-stage3: 6e7f170fedd3c526a643c0b2d13863acd982be02
5
5
refs/heads/try: a97642026c18a624ff6ea01075dd9550f8ed07ff
Original file line number Diff line number Diff line change @@ -67,6 +67,18 @@ pub struct ArchiveMetadata {
67
67
priv data : & ' static [ u8 ] ,
68
68
}
69
69
70
+ // FIXME(#11857) this should be a "real" realpath
71
+ fn realpath ( p : & Path ) -> Path {
72
+ use std:: os;
73
+ use std:: io:: fs;
74
+
75
+ let path = os:: make_absolute ( p) ;
76
+ match fs:: readlink ( & path) {
77
+ Ok ( p) => p,
78
+ Err ( ..) => path
79
+ }
80
+ }
81
+
70
82
impl Context {
71
83
pub fn load_library_crate ( & self , root_ident : Option < ~str > ) -> Library {
72
84
match self . find_library_crate ( ) {
@@ -121,7 +133,7 @@ impl Context {
121
133
( HashSet :: new ( ) , HashSet :: new ( ) )
122
134
} ) ;
123
135
let ( ref mut rlibs, _) = * slot;
124
- rlibs. insert ( path . clone ( ) ) ;
136
+ rlibs. insert ( realpath ( path ) ) ;
125
137
FileMatches
126
138
}
127
139
None => {
@@ -138,7 +150,7 @@ impl Context {
138
150
( HashSet :: new ( ) , HashSet :: new ( ) )
139
151
} ) ;
140
152
let ( _, ref mut dylibs) = * slot;
141
- dylibs. insert ( path . clone ( ) ) ;
153
+ dylibs. insert ( realpath ( path ) ) ;
142
154
FileMatches
143
155
}
144
156
None => {
Original file line number Diff line number Diff line change
1
+ -include ../tools.mk
2
+
3
+ all :
4
+ $(RUSTC ) foo.rs
5
+ mkdir -p $(TMPDIR ) /other
6
+ ln -nsf $(TMPDIR ) /$(call DYLIB_GLOB,foo) $(TMPDIR ) /other
7
+ $(RUSTC ) bar.rs -L $(TMPDIR ) /other
Original file line number Diff line number Diff line change
1
+ // Copyright 2012-2014 The Rust Project Developers. See the COPYRIGHT
2
+ // file at the top-level directory of this distribution and at
3
+ // http://rust-lang.org/COPYRIGHT.
4
+ //
5
+ // Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
6
+ // http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
7
+ // <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
8
+ // option. This file may not be copied, modified, or distributed
9
+ // except according to those terms.
10
+
11
+ extern crate foo;
12
+
13
+ fn main ( ) {
14
+ foo:: bar ( ) ;
15
+ }
Original file line number Diff line number Diff line change
1
+ // Copyright 2012-2014 The Rust Project Developers. See the COPYRIGHT
2
+ // file at the top-level directory of this distribution and at
3
+ // http://rust-lang.org/COPYRIGHT.
4
+ //
5
+ // Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
6
+ // http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
7
+ // <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
8
+ // option. This file may not be copied, modified, or distributed
9
+ // except according to those terms.
10
+
11
+ #[ crate_type = "dylib" ] ;
12
+
13
+ pub fn bar ( ) { }
You can’t perform that action at this time.
0 commit comments