@@ -72,6 +72,12 @@ public string Configuration
7272 [ Required ]
7373 public ITaskItem [ ] LibraryReferences { get ; set ; } = null ! ;
7474
75+ [ Required ]
76+ public ITaskItem [ ] LinkerDirectories { get ; set ; } = null ! ;
77+
78+ [ Required ]
79+ public ITaskItem [ ] LinkerReferences { get ; set ; } = null ! ;
80+
7581 [ Required ]
7682 public bool LinkTimeOptimization { get ; set ; }
7783
@@ -545,15 +551,15 @@ void TryAppendWarningSwitch(string name)
545551 builder . AppendSwitchIfNotNull ( "-I " , GetWorkingDirectory ( ) ?? "." ) ;
546552 builder . AppendSwitchIfNotNull ( "-I " , PublicIncludeDirectory ) ;
547553
548- foreach ( var include in LibraryIncludeDirectories )
549- builder . AppendSwitchIfNotNull ( "-isystem " , include ) ;
554+ foreach ( var directory in LibraryIncludeDirectories )
555+ builder . AppendSwitchIfNotNull ( "-isystem " , directory ) ;
550556
551- foreach ( var include in IncludeDirectories )
552- builder . AppendSwitchIfNotNull ( "-I " , include ) ;
557+ foreach ( var directory in IncludeDirectories )
558+ builder . AppendSwitchIfNotNull ( "-I " , directory ) ;
553559
554560 if ( ! isZig )
555- foreach ( var prelude in PreludeHeaders )
556- builder . AppendSwitchIfNotNull ( "-include " , prelude ) ;
561+ foreach ( var header in PreludeHeaders )
562+ builder . AppendSwitchIfNotNull ( "-include " , header ) ;
557563
558564 if ( EagerBinding )
559565 builder . AppendSwitch ( isZig ? "-z now" : "-Wl,-z,now" ) ;
@@ -568,6 +574,13 @@ void TryAppendWarningSwitch(string name)
568574
569575 builder . AppendFileNamesIfNotNull ( Sources , " " ) ;
570576 builder . AppendFileNamesIfNotNull ( LibraryReferences , " " ) ;
577+
578+ foreach ( var directory in LinkerDirectories )
579+ builder . AppendSwitchIfNotNull ( "-L " , directory ) ;
580+
581+ foreach ( var library in LinkerReferences )
582+ builder . AppendSwitchIfNotNull ( "-l " , library ) ;
583+
571584 builder . AppendSwitchIfNotNull ( isZig ? "-femit-bin=" : "-o " , OutputBinary ) ;
572585
573586 if ( ! isZig )
0 commit comments