@@ -167,7 +167,13 @@ pub fn get_linker<'a>(
167
167
pub trait Linker {
168
168
fn cmd ( & mut self ) -> & mut Command ;
169
169
fn set_output_kind ( & mut self , output_kind : LinkOutputKind , out_filename : & Path ) ;
170
- fn link_dylib_by_name ( & mut self , name : & str , verbatim : bool , as_needed : bool ) ;
170
+ fn link_dylib_by_name (
171
+ & mut self ,
172
+ name : & str ,
173
+ verbatim : bool ,
174
+ search_paths : & SearchPaths ,
175
+ as_needed : bool ,
176
+ ) ;
171
177
fn link_framework_by_name ( & mut self , _name : & str , _verbatim : bool , _as_needed : bool ) {
172
178
bug ! ( "framework linked with unsupported linker" )
173
179
}
@@ -432,7 +438,13 @@ impl<'a> Linker for GccLinker<'a> {
432
438
}
433
439
}
434
440
435
- fn link_dylib_by_name ( & mut self , name : & str , verbatim : bool , as_needed : bool ) {
441
+ fn link_dylib_by_name (
442
+ & mut self ,
443
+ name : & str ,
444
+ verbatim : bool ,
445
+ _search_paths : & SearchPaths ,
446
+ as_needed : bool ,
447
+ ) {
436
448
if self . sess . target . os == "illumos" && name == "c" {
437
449
// libc will be added via late_link_args on illumos so that it will
438
450
// appear last in the library search order.
@@ -807,7 +819,7 @@ impl<'a> Linker for MsvcLinker<'a> {
807
819
}
808
820
}
809
821
810
- fn link_dylib_by_name ( & mut self , name : & str , verbatim : bool , _as_needed : bool ) {
822
+ fn link_dylib_by_name ( & mut self , name : & str , verbatim : bool , _search_paths : & SearchPaths , _as_needed : bool ) {
811
823
self . cmd . arg ( format ! ( "{}{}" , name, if verbatim { "" } else { ".lib" } ) ) ;
812
824
}
813
825
@@ -1051,7 +1063,13 @@ impl<'a> Linker for EmLinker<'a> {
1051
1063
1052
1064
fn set_output_kind ( & mut self , _output_kind : LinkOutputKind , _out_filename : & Path ) { }
1053
1065
1054
- fn link_dylib_by_name ( & mut self , name : & str , _verbatim : bool , _as_needed : bool ) {
1066
+ fn link_dylib_by_name (
1067
+ & mut self ,
1068
+ name : & str ,
1069
+ _verbatim : bool ,
1070
+ _search_paths : & SearchPaths ,
1071
+ _as_needed : bool ,
1072
+ ) {
1055
1073
// Emscripten always links statically
1056
1074
self . cmd . arg ( "-l" ) . arg ( name) ;
1057
1075
}
@@ -1225,7 +1243,13 @@ impl<'a> Linker for WasmLd<'a> {
1225
1243
}
1226
1244
}
1227
1245
1228
- fn link_dylib_by_name ( & mut self , name : & str , _verbatim : bool , _as_needed : bool ) {
1246
+ fn link_dylib_by_name (
1247
+ & mut self ,
1248
+ name : & str ,
1249
+ _verbatim : bool ,
1250
+ _search_paths : & SearchPaths ,
1251
+ _as_needed : bool ,
1252
+ ) {
1229
1253
self . cmd . arg ( "-l" ) . arg ( name) ;
1230
1254
}
1231
1255
@@ -1372,7 +1396,13 @@ impl<'a> Linker for L4Bender<'a> {
1372
1396
1373
1397
fn set_output_kind ( & mut self , _output_kind : LinkOutputKind , _out_filename : & Path ) { }
1374
1398
1375
- fn link_dylib_by_name ( & mut self , _name : & str , _verbatim : bool , _as_needed : bool ) {
1399
+ fn link_dylib_by_name (
1400
+ & mut self ,
1401
+ _name : & str ,
1402
+ _verbatim : bool ,
1403
+ _search_paths : & SearchPaths ,
1404
+ _as_needed : bool ,
1405
+ ) {
1376
1406
bug ! ( "dylibs are not supported on L4Re" ) ;
1377
1407
}
1378
1408
@@ -1549,7 +1579,13 @@ impl<'a> Linker for AixLinker<'a> {
1549
1579
}
1550
1580
}
1551
1581
1552
- fn link_dylib_by_name ( & mut self , name : & str , _verbatim : bool , _as_needed : bool ) {
1582
+ fn link_dylib_by_name (
1583
+ & mut self ,
1584
+ name : & str ,
1585
+ _verbatim : bool ,
1586
+ _search_paths : & SearchPaths ,
1587
+ _as_needed : bool ,
1588
+ ) {
1553
1589
self . hint_dynamic ( ) ;
1554
1590
self . cmd . arg ( format ! ( "-l{name}" ) ) ;
1555
1591
}
@@ -1755,7 +1791,13 @@ impl<'a> Linker for PtxLinker<'a> {
1755
1791
1756
1792
fn set_output_kind ( & mut self , _output_kind : LinkOutputKind , _out_filename : & Path ) { }
1757
1793
1758
- fn link_dylib_by_name ( & mut self , _name : & str , _verbatim : bool , _as_needed : bool ) {
1794
+ fn link_dylib_by_name (
1795
+ & mut self ,
1796
+ _name : & str ,
1797
+ _verbatim : bool ,
1798
+ _search_paths : & SearchPaths ,
1799
+ _as_needed : bool ,
1800
+ ) {
1759
1801
panic ! ( "external dylibs not supported" )
1760
1802
}
1761
1803
@@ -1837,7 +1879,13 @@ impl<'a> Linker for LlbcLinker<'a> {
1837
1879
1838
1880
fn set_output_kind ( & mut self , _output_kind : LinkOutputKind , _out_filename : & Path ) { }
1839
1881
1840
- fn link_dylib_by_name ( & mut self , _name : & str , _verbatim : bool , _as_needed : bool ) {
1882
+ fn link_dylib_by_name (
1883
+ & mut self ,
1884
+ _name : & str ,
1885
+ _verbatim : bool ,
1886
+ _search_paths : & SearchPaths ,
1887
+ _as_needed : bool ,
1888
+ ) {
1841
1889
panic ! ( "external dylibs not supported" )
1842
1890
}
1843
1891
@@ -1928,7 +1976,13 @@ impl<'a> Linker for BpfLinker<'a> {
1928
1976
1929
1977
fn set_output_kind ( & mut self , _output_kind : LinkOutputKind , _out_filename : & Path ) { }
1930
1978
1931
- fn link_dylib_by_name ( & mut self , _name : & str , _verbatim : bool , _as_needed : bool ) {
1979
+ fn link_dylib_by_name (
1980
+ & mut self ,
1981
+ _name : & str ,
1982
+ _verbatim : bool ,
1983
+ _search_paths : & SearchPaths ,
1984
+ _as_needed : bool ,
1985
+ ) {
1932
1986
panic ! ( "external dylibs not supported" )
1933
1987
}
1934
1988
0 commit comments