Take codegen options by reference
diff --git a/gen/build/src/lib.rs b/gen/build/src/lib.rs
index 14683b6..a4fcc1d 100644
--- a/gen/build/src/lib.rs
+++ b/gen/build/src/lib.rs
@@ -102,13 +102,14 @@
 }
 
 fn try_generate_bridge(build: &mut cc::Build, rust_source_file: &Path) -> Result<()> {
-    let header = gen::do_generate_header(rust_source_file, Opt::default());
+    let opt = Opt::default();
+    let header = gen::do_generate_header(rust_source_file, &opt);
     let header_path = paths::out_with_extension(rust_source_file, ".h")?;
     fs::create_dir_all(header_path.parent().unwrap())?;
     fs::write(&header_path, header)?;
     paths::symlink_header(&header_path, rust_source_file);
 
-    let bridge = gen::do_generate_bridge(rust_source_file, Opt::default());
+    let bridge = gen::do_generate_bridge(rust_source_file, &opt);
     let bridge_path = paths::out_with_extension(rust_source_file, ".cc")?;
     fs::write(&bridge_path, bridge)?;
     build.file(&bridge_path);