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 @@ -5,7 +5,7 @@ refs/heads/snap-stage3: 78a7676898d9f80ab540c6df5d4c9ce35bb50463
5
5
refs/heads/try: 519addf6277dbafccbb4159db4b710c37eaa2ec5
6
6
refs/tags/release-0.1: 1f5c5126e96c79d22cb7862f75304136e204f105
7
7
refs/heads/ndm: f3868061cd7988080c30d6d5bf352a5a5fe2460b
8
- refs/heads/try2: 043c9721791731bbf7b9d8be354a65ed25b9a6d9
8
+ refs/heads/try2: 8922fa01228f5161aa0ebd714f86f2712a3c7ea8
9
9
refs/heads/dist-snap: ba4081a5a8573875fed17545846f6f6902c8ba8d
10
10
refs/tags/release-0.2: c870d2dffb391e14efb05aa27898f1f6333a9596
11
11
refs/tags/release-0.3: b5f0d0f648d9a6153664837026ba1be43d3e2503
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