summaryrefslogtreecommitdiffstats
path: root/third_party/rust/encoding_c/build-disabled.rs
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 09:22:09 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 09:22:09 +0000
commit43a97878ce14b72f0981164f87f2e35e14151312 (patch)
tree620249daf56c0258faa40cbdcf9cfba06de2a846 /third_party/rust/encoding_c/build-disabled.rs
parentInitial commit. (diff)
downloadfirefox-upstream.tar.xz
firefox-upstream.zip
Adding upstream version 110.0.1.upstream/110.0.1upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to '')
-rw-r--r--third_party/rust/encoding_c/build-disabled.rs60
1 files changed, 60 insertions, 0 deletions
diff --git a/third_party/rust/encoding_c/build-disabled.rs b/third_party/rust/encoding_c/build-disabled.rs
new file mode 100644
index 0000000000..ebd7493626
--- /dev/null
+++ b/third_party/rust/encoding_c/build-disabled.rs
@@ -0,0 +1,60 @@
+// Copyright Mozilla Foundation. See the COPYRIGHT
+// file at the top-level directory of this distribution.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// https://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or https://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+extern crate cheddar;
+
+use std::io::prelude::*;
+use std::fs::File;
+
+fn replace(path: &str) -> std::io::Result<()> {
+ let mut f = try!(File::open(path));
+ let mut s = String::new();
+ try!(f.read_to_string(&mut s));
+ s = s.replace("#ifndef cheddar_generated_encoding_rs_h", "// Copyright Mozilla Foundation. See the COPYRIGHT
+// file at the top-level directory of this distribution.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// https://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or https://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+// THIS IS A GENERATED FILE. PLEASE DO NOT EDIT.
+// Instead, please regenerate using encoding_c/build.rs.
+
+#ifndef cheddar_generated_encoding_rs_h");
+ s = s.replace("uint16_t", "char16_t");
+ s = s.replace("uintptr_t", "size_t");
+ s = s.replace("Encoding", "ENCODING_RS_ENCODING");
+ s = s.replace("Encoder", "ENCODING_RS_ENCODER");
+ s = s.replace("Decoder", "ENCODING_RS_DECODER");
+ s = s.replace("ENCODING_RS_ENCODING.html", "Encoding.html");
+ s = s.replace("ENCODING_RS_ENCODER.html", "Encoder.html");
+ s = s.replace("ENCODING_RS_DECODER.html", "Decoder.html");
+ s = s.replace("#include <stdbool.h>",
+ "#include <stdbool.h>\n#include \"encoding_rs_statics.h\"");
+ let mut f = try!(File::create(path));
+ try!(f.write_all(s.as_bytes()));
+ Ok(())
+}
+
+fn main() {
+ println!("cargo:rerun-if-changed=src/lib.rs");
+
+ let path = "include/encoding_rs.h";
+
+ cheddar::Cheddar::new()
+ .expect("could not read manifest")
+ .run_build(path);
+
+ match replace(path) {
+ Ok(_) => {}
+ Err(e) => println!("Performing replacements failed {}.", e),
+ }
+}