@@ -549,7 +549,9 @@ pub struct Dependency {
549549 name : String ,
550550 vers : String ,
551551 kind : String ,
552- artifact : Option < ( String , Option < String > ) > ,
552+ artifact : Option < String > ,
553+ bindep_target : Option < String > ,
554+ lib : bool ,
553555 target : Option < String > ,
554556 features : Vec < String > ,
555557 registry : Option < String > ,
@@ -1415,7 +1417,9 @@ impl Package {
14151417 "features" : dep. features,
14161418 "default_features" : true ,
14171419 "target" : dep. target,
1418- "artifact" : dep. artifact,
1420+ "artifact" : [ dep. artifact] ,
1421+ "bindep_target" : dep. bindep_target,
1422+ "lib" : dep. lib,
14191423 "optional" : dep. optional,
14201424 "kind" : dep. kind,
14211425 "registry" : registry_url,
@@ -1536,11 +1540,14 @@ impl Package {
15361540 "# ,
15371541 target, kind, dep. name, dep. vers
15381542 ) ) ;
1539- if let Some ( ( artifact, target ) ) = & dep. artifact {
1543+ if let Some ( artifact) = & dep. artifact {
15401544 manifest. push_str ( & format ! ( "artifact = \" {}\" \n " , artifact) ) ;
1541- if let Some ( target) = & target {
1542- manifest. push_str ( & format ! ( "target = \" {}\" \n " , target) )
1543- }
1545+ }
1546+ if let Some ( target) = & dep. bindep_target {
1547+ manifest. push_str ( & format ! ( "target = \" {}\" \n " , target) ) ;
1548+ }
1549+ if dep. lib {
1550+ manifest. push_str ( "lib = true\n " ) ;
15441551 }
15451552 if let Some ( registry) = & dep. registry {
15461553 assert_eq ! ( registry, "alternative" ) ;
@@ -1617,6 +1624,8 @@ impl Dependency {
16171624 vers : vers. to_string ( ) ,
16181625 kind : "normal" . to_string ( ) ,
16191626 artifact : None ,
1627+ bindep_target : None ,
1628+ lib : false ,
16201629 target : None ,
16211630 features : Vec :: new ( ) ,
16221631 package : None ,
@@ -1646,7 +1655,8 @@ impl Dependency {
16461655 /// Change the artifact to be of the given kind, like "bin", or "staticlib",
16471656 /// along with a specific target triple if provided.
16481657 pub fn artifact ( & mut self , kind : & str , target : Option < String > ) -> & mut Self {
1649- self . artifact = Some ( ( kind. to_string ( ) , target) ) ;
1658+ self . artifact = Some ( kind. to_string ( ) ) ;
1659+ self . bindep_target = target;
16501660 self
16511661 }
16521662
0 commit comments