[librsvg/meson-2022-oct] build.rs: Use a Version type instead of loose strings



commit aa5379a2ffd8d6287aa2bf95539cd7a8b32e93e5
Author: Federico Mena Quintero <federico gnome org>
Date:   Wed Oct 12 12:36:00 2022 -0500

    build.rs: Use a Version type instead of loose strings

 build.rs | 18 +++++++++++++++---
 1 file changed, 15 insertions(+), 3 deletions(-)
---
diff --git a/build.rs b/build.rs
index ac08a9bb7..a57eeb410 100644
--- a/build.rs
+++ b/build.rs
@@ -64,6 +64,12 @@ fn generate_srgb_tables() {
     print_table(&mut file, "UNLINEARIZE", unlinearize, 256);
 }
 
+struct Version {
+    major: String,
+    minor: String,
+    micro: String,
+}
+
 fn write_version() {
     let mut major = None;
     let mut minor = None;
@@ -100,6 +106,12 @@ fn write_version() {
         }
     }
 
+    let version = if let (Some(major), Some(minor), Some(micro)) = (major, minor, micro) {
+        Version { major, minor, micro }
+    } else {
+        panic!("Could not find version in configure.ac");
+    };
+
     let output = Path::new(&env::var("OUT_DIR").unwrap()).join("version.rs");
     let mut file = File::create(output).expect("open version.rs for writing");
     file.write_all(
@@ -116,9 +128,9 @@ pub static rsvg_minor_version: c_uint = {};
 #[no_mangle]
 pub static rsvg_micro_version: c_uint = {};
 "#,
-            major.expect("major version is set"),
-            minor.expect("minor version is set"),
-            micro.expect("micro version is set")
+            version.major,
+            version.minor,
+            version.micro,
         )
         .as_bytes(),
     )


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]