@@ -302,6 +302,9 @@ pub struct TargetOptions {
302302pub  staticlib_suffix :  String , 
303303    /// OS family to use for conditional compilation. Valid options: "unix", "windows". 
304304pub  target_family :  Option < String > , 
305+     /// Whether the target toolchain is like OpenBSD's. 
306+ /// Only useful for compiling against OpenBSD, for configuring abi when returning a struct. 
307+ pub  is_like_openbsd :  bool , 
305308    /// Whether the target toolchain is like OSX's. Only useful for compiling against iOS/OS X, in 
306309/// particular running dsymutil and some other stuff like `-dead_strip`. Defaults to false. 
307310pub  is_like_osx :  bool , 
@@ -406,6 +409,7 @@ impl Default for TargetOptions {
406409            staticlib_prefix :  "lib" . to_string ( ) , 
407410            staticlib_suffix :  ".a" . to_string ( ) , 
408411            target_family :  None , 
412+             is_like_openbsd :  false , 
409413            is_like_osx :  false , 
410414            is_like_solaris :  false , 
411415            is_like_windows :  false , 
@@ -572,6 +576,7 @@ impl Target {
572576        key ! ( staticlib_prefix) ; 
573577        key ! ( staticlib_suffix) ; 
574578        key ! ( target_family,  optional) ; 
579+         key ! ( is_like_openbsd,  bool ) ; 
575580        key ! ( is_like_osx,  bool ) ; 
576581        key ! ( is_like_solaris,  bool ) ; 
577582        key ! ( is_like_windows,  bool ) ; 
@@ -733,6 +738,7 @@ impl ToJson for Target {
733738        target_option_val ! ( staticlib_prefix) ; 
734739        target_option_val ! ( staticlib_suffix) ; 
735740        target_option_val ! ( target_family) ; 
741+         target_option_val ! ( is_like_openbsd) ; 
736742        target_option_val ! ( is_like_osx) ; 
737743        target_option_val ! ( is_like_solaris) ; 
738744        target_option_val ! ( is_like_windows) ; 
0 commit comments