File tree Expand file tree Collapse file tree 1 file changed +13
-2
lines changed Expand file tree Collapse file tree 1 file changed +13
-2
lines changed Original file line number Diff line number Diff line change @@ -419,7 +419,13 @@ fn main(vec[str] args) {
419
419
}
420
420
}
421
421
422
- gcc_args += sess. get_used_crate_files ( ) ;
422
+ for ( str cratepath in sess. get_used_crate_files( ) ) {
423
+ auto dir = fs:: dirname( cratepath) ;
424
+ if ( dir != "" ) {
425
+ gcc_args += [ "-L" + dir] ;
426
+ }
427
+ gcc_args += [ fs:: basename( cratepath) ] ;
428
+ }
423
429
424
430
auto used_libs = sess. get_used_libraries( ) ;
425
431
for ( str l in used_libs) {
@@ -435,7 +441,12 @@ fn main(vec[str] args) {
435
441
}
436
442
// We run 'gcc' here
437
443
438
- run:: run_program ( prog, gcc_args) ;
444
+ auto err_code = run:: run_program( prog, gcc_args) ;
445
+ if ( 0 != err_code) {
446
+ sess. err( #fmt( "linking with gcc failed with code %d" , err_code) ) ;
447
+ sess. note( #fmt( "gcc arguments: %s" , str:: connect( gcc_args, " " ) ) ) ;
448
+ sess. abort_if_errors( ) ;
449
+ }
439
450
// Clean up on Darwin
440
451
441
452
if ( sess. get_targ_cfg( ) . os == session:: os_macos) {
You can’t perform that action at this time.
0 commit comments